sweep stale DQR anchor slugs to canonical (em-dash → double-hyphen, retitled records)
Fixes 11 distinct inline anchor slugs that drifted from the generated canonical form: em-dash titles render `--` (single-hyphen links were stale), plus several truncated/old slugs (D-5, D-10, D-21, D-39, D-40, D-43, D-68, Q-1, Q-32, Q-33). pql resolves cross-refs by ID so these were never "broken" to the tooling, but they'd fail GitHub markdown anchor navigation. Verified: every inline anchor now matches the README index; pql decisions sync reports 0 broken refs. Does NOT touch the separate stale-path class (flat `questions-*.md` / `rejected.md` naming from before the DQR subdir split) — surfaced for a follow-up. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -12,17 +12,17 @@ future reference.
|
||||
|
||||
### R-9: Port planning tooling into clide
|
||||
- **Rejected:** 2026-04-21
|
||||
- **Reason:** Earlier in the planning session the assumption was "clide owns Dart subcommands for decisions + tickets." That breaks the day a contributor works in a terminal or in VS Code / JetBrains — they have no `clide` binary to run. Reversing: pql owns planning long-term (see [D-39](../decisions/process.md#d-39-planning-tooling-lives-in-pql)); clide consumes via shell-out.
|
||||
- **Cross-reference:** [D-39](../decisions/process.md#d-39-planning-tooling-lives-in-pql)
|
||||
- **Reason:** Earlier in the planning session the assumption was "clide owns Dart subcommands for decisions + tickets." That breaks the day a contributor works in a terminal or in VS Code / JetBrains — they have no `clide` binary to run. Reversing: pql owns planning long-term (see [D-39](../decisions/process.md#d-39-planning-tooling-lives-in-pql-not-clide)); clide consumes via shell-out.
|
||||
- **Cross-reference:** [D-39](../decisions/process.md#d-39-planning-tooling-lives-in-pql-not-clide)
|
||||
|
||||
### R-10: Python-script stopgap under `tooling/db/`
|
||||
- **Rejected:** 2026-04-21
|
||||
- **Reason:** Location, not language. Settled-reach puts scripts at `tooling/db/` — copying that path here creates a script-pollution problem: every project using the pattern commits its own copy. The accepted Python port ([D-40](../decisions/process.md#d-40-python-stopgap-under-toolsscriptsplan)) lives at `tools/scripts/plan`, clearly signalled as dev-tooling and time-limited.
|
||||
- **Cross-reference:** [D-40](../decisions/process.md#d-40-python-stopgap-under-toolsscriptsplan)
|
||||
- **Reason:** Location, not language. Settled-reach puts scripts at `tooling/db/` — copying that path here creates a script-pollution problem: every project using the pattern commits its own copy. The accepted Python port ([D-40](../decisions/process.md#d-40-superseded-python-stopgap-under-toolsscriptsplan)) lives at `tools/scripts/plan`, clearly signalled as dev-tooling and time-limited.
|
||||
- **Cross-reference:** [D-40](../decisions/process.md#d-40-superseded-python-stopgap-under-toolsscriptsplan)
|
||||
|
||||
### R-11: Permanent stopgap
|
||||
- **Rejected:** 2026-04-21
|
||||
- **Reason:** If the Python port under `tools/scripts/plan` outlasts pql's feature parity, delete it. The deletion commit should be one changeset: remove `tools/scripts/plan`, remove its Makefile target (`decisions-validate` rewires to `pql decisions validate`), add a `CHANGELOG.md` entry under Removed, and verify `.pql/pql.db` still opens under the new `pql` binary.
|
||||
- **Cross-reference:** [D-40](../decisions/process.md#d-40-python-stopgap-under-toolsscriptsplan)
|
||||
- **Cross-reference:** [D-40](../decisions/process.md#d-40-superseded-python-stopgap-under-toolsscriptsplan)
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user