scripts/audit/reconcile-spec-tracking.ts and align actions with GITHUB_PROJECT_SPEC_TRACKING_PLAN.md.
Commands
gh CLI authenticated with repo scope. Listing open spec-tracking issues uses gh issue list.
Buckets (what they mean)
Operational runbook (mismatch -> action)
PM enhancement IDs (Bucket E)
Many PM deferred rows usePM-EN-* codes with per-enhancement lite files (e.g. PM-08-EN-12-...md), not a single PM-##-ENHANCEMENTS.md. If Bucket E lists a PM-EN-* row, confirm whether the ID is still valid in specs/DEFERRED_DASHBOARD.md / parent spec text; add or rename a lite spec so reconcile-spec-tracking’s filename heuristics match, or adjust dashboard wording.
GitHub Projects prerequisites
- Bootstrap + project add: refresh token with project scope, e.g.
gh auth refresh -s project, and setGH_PROJECT_NUMBER. - Backfill issues onto the board:
npm run spec:add-tracking-to-project(issues that already existed are skipped by bootstrap--syncand are not auto-added until you run this). - sync-project-status:
npm run spec:sync-project-statusneedsread:project(and permission to update project items). Without these, run bootstrap only (issues still created) or use--dry-runon sync. Live sync requiresGH_PROJECT_NUMBER.
Bootstrap reliability
bootstrap-github-spec-issues.ts creates issues sequentially. A transient GitHub error (e.g. HTTP 502) can stop the run partway through; re-run with --sync to continue (existing titles are skipped).
Related
npm run spec:validate-enhancement-catalogs— structural checks on*-ENHANCEMENTS.mdcatalogs.specs/FEATURE_CATALOGUE.md— per-spec rollup with enhancement catalog links.npm run spec-tracking:verify -- --scope active— strict coverage gate (no missing canonical active issues).