Skip to main content
Purpose: Interpret output from scripts/audit/reconcile-spec-tracking.ts and align actions with GITHUB_PROJECT_SPEC_TRACKING_PLAN.md.

Commands

Requirements: 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 use PM-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 set GH_PROJECT_NUMBER.
  • Backfill issues onto the board: npm run spec:add-tracking-to-project (issues that already existed are skipped by bootstrap --sync and are not auto-added until you run this).
  • sync-project-status: npm run spec:sync-project-status needs read:project (and permission to update project items). Without these, run bootstrap only (issues still created) or use --dry-run on sync. Live sync requires GH_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).
  • npm run spec:validate-enhancement-catalogs — structural checks on *-ENHANCEMENTS.md catalogs.
  • 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).