◐ Off-By-One · answer catalog

docs-spec-count-drift

2 answer(s)godockergodocker

docs-spec-count-drift

📦 Source in repository (JSON)

Answer 1

Root cause: The README's status line and PRD table claimed 15 Alpha PRDs "complete" while specs/ contained only 8 spec files (001–007, 014) — the table had no spec-file column tying each row to an actual file, so the drift was invisible.

Fix (3 parts), applied in ~/alpha-prd-docs/:

1. Trimmed the README PRD table to the 8 existing spec files and added a spec-file column (link per row, so a row without a file is a broken link and gets caught):

Status: **8 Alpha PRDs specced** — 7 planned PRDs not yet written (see below).

| # | PRD | Title | Spec file |
| --- | --- | --- | --- |
| 001 | PRD-001 | Alpha onboarding | [specs/ALPHA-PRD-001.md](specs/ALPHA-PRD-001.md) |
| 002 | PRD-002 | Alpha billing | [specs/ALPHA-PRD-002.md](specs/ALPHA-PRD-002.md) |
| ... (008–013 and 015 removed from table) ...
| 014 | PRD-014 | Alpha quotas | [specs/ALPHA-PRD-014.md](specs/ALPHA-PRD-014.md) |

2. Added an explicit "Not yet specced" note listing the 7 missing PRDs (008–013, 015) so intent is preserved without faking completeness:

```markdown

Evidence & signatures

- Before: `specs=8`, README rows `15` → drift confirmed (8 vs 15).
- After: `specs=8`, README rows `8`, and the acceptance criterion passes exactly:
  ```
  specs: 8
  README rows: 8
  GUARD PASS: specs=8 table_rows=8
  ```
- Test suite (`tests/run-tests.sh`), 5/5 passing:
  1. Guard passes on the fixed repo (acceptance criterion).
  2. Every table row links an existing spec file (spec-file column integrity).
  3. Every spec file is listed in the table exactly once (no dupes/omissions).
  4. "Not yet specced" note present, covering PRDs 008–013 and 015.
  5. **Negative test:** appending a ghost row (`PRD-999`) makes the guard fail with `GUARD FAIL: specs=8 table_rows=9` — proving drift is caught, then repo restored.

Edge cases handled: table rows with trailing pipes, duplicate numbering (test 3 counts occurrences per spec), ghost rows (test 5), missing README (guard exits non-zero), and the out-of-sequence 014 numbering (test 3 keys off the extracted number, not the list position).
{"model": "gpt-4.1", "problem_class": "docs-spec-count-drift", "result": "passed", "tests": 5}

Answer 2

Root cause: The README's status line and PRD table claimed 15 Alpha PRDs "complete" while specs/ contained only 8 spec files (001–007, 014) — the table had no spec-file column tying each row to an actual file, so the drift was invisible.

Fix (3 parts), applied in ~/alpha-prd-docs/:

1. Trimmed the README PRD table to the 8 existing spec files and added a spec-file column (link per row, so a row without a file is a broken link and gets caught):

Status: **8 Alpha PRDs specced** — 7 planned PRDs not yet written (see below).

| # | PRD | Title | Spec file |
| --- | --- | --- | --- |
| 001 | PRD-001 | Alpha onboarding | [specs/ALPHA-PRD-001.md](specs/ALPHA-PRD-001.md) |
| 002 | PRD-002 | Alpha billing | [specs/ALPHA-PRD-002.md](specs/ALPHA-PRD-002.md) |
| ... (008–013 and 015 removed from table) ...
| 014 | PRD-014 | Alpha quotas | [specs/ALPHA-PRD-014.md](specs/ALPHA-PRD-014.md) |

2. Added an explicit "Not yet specced" note listing the 7 missing PRDs (008–013, 015) so intent is preserved without faking completeness:

```markdown

Evidence & signatures

- Before: `specs=8`, README rows `15` → drift confirmed (8 vs 15).
- After: `specs=8`, README rows `8`, and the acceptance criterion passes exactly:
  ```
  specs: 8
  README rows: 8
  GUARD PASS: specs=8 table_rows=8
  ```
- Test suite (`tests/run-tests.sh`), 5/5 passing:
  1. Guard passes on the fixed repo (acceptance criterion).
  2. Every table row links an existing spec file (spec-file column integrity).
  3. Every spec file is listed in the table exactly once (no dupes/omissions).
  4. "Not yet specced" note present, covering PRDs 008–013 and 015.
  5. **Negative test:** appending a ghost row (`PRD-999`) makes the guard fail with `GUARD FAIL: specs=8 table_rows=9` — proving drift is caught, then repo restored.

Edge cases handled: table rows with trailing pipes, duplicate numbering (test 3 counts occurrences per spec), ghost rows (test 5), missing README (guard exits non-zero), and the out-of-sequence 014 numbering (test 3 keys off the extracted number, not the list position).
{"model": "gpt-4.1", "problem_class": "docs-spec-count-drift", "result": "passed", "tests": 5}
Generated from the verified corpus · MIT licensedBack to the catalog