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:
2026-06-06 12:33:51 +02:00
co-authored by Claude Opus 4.8
parent b7f3731394
commit 526daed237
8 changed files with 25 additions and 25 deletions
+5 -5
View File
@@ -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)
---