|
| 1 | +# P7.5/P7.6 Execution Checklist |
| 2 | + |
| 3 | +This checklist turns roadmap items P7.5 and P7.6 into concrete implementation slices. |
| 4 | + |
| 5 | +Related docs: |
| 6 | + |
| 7 | +- [Pipeline roadmap](../pipeline-refactor-roadmap.md) |
| 8 | +- [Worker pool design](worker-pool-design.md) |
| 9 | + |
| 10 | +## P7.5 Cleanup Old Stage Scripts |
| 11 | + |
| 12 | +- [x] C1: Inventory and dependency map |
| 13 | + - Completed on 2026-03-19. |
| 14 | + - npm scripts still exposing legacy flow: |
| 15 | + - `all`, `getModules`, `expandModuleList`, `checkModules`, `ownList` in [package.json](../../package.json). |
| 16 | + - Legacy stage numbering/descriptions in `ntl.descriptions` in [package.json](../../package.json). |
| 17 | + - Status: canonical script usage completed in C2; retire old aliases in C3. |
| 18 | + - Stage graph still contains both legacy and parallel paths: |
| 19 | + - Legacy pipeline `full-refresh` plus stages `get-modules`, `expand-module-list`, `check-modules` in [pipeline/stage-graph.json](../../pipeline/stage-graph.json). |
| 20 | + - Parallel pipeline `full-refresh-parallel` and stage `parallel-processing` in [pipeline/stage-graph.json](../../pipeline/stage-graph.json). |
| 21 | + - Status: `full-refresh-parallel` set as canonical in C2; remove/legacy-gate old stage chain in C3. |
| 22 | + - Docs with legacy/default references identified: |
| 23 | + - Contributor stage table and examples in [docs/CONTRIBUTING.md](../CONTRIBUTING.md). |
| 24 | + - Sequential five-stage architecture narrative in [docs/architecture.md](../architecture.md). |
| 25 | + - CLI default examples around `full-refresh` in [docs/pipeline/orchestrator-cli-reference.md](orchestrator-cli-reference.md). |
| 26 | + - Full-refresh command example in [docs/pipeline/worker-pool-design.md](worker-pool-design.md). |
| 27 | + - Fixture regeneration guidance using `node --run all` in [fixtures/README.md](../../fixtures/README.md). |
| 28 | + - Stage-5 reference content in [docs/pipeline/check-modules-reference.md](check-modules-reference.md). |
| 29 | + - Follow-up: normalize docs/commands in C5 to reflect the new canonical default. |
| 30 | + - Tests and harness references: |
| 31 | + - Check-group config unit test points to `scripts/check-modules` in [scripts/check-modules/**tests**/check-group-config.test.js](../../scripts/check-modules/__tests__/check-group-config.test.js). |
| 32 | + - Compare harness workflow uses `checkModules:compare` in [.github/workflows/check-modules-compare.yaml](../../.github/workflows/check-modules-compare.yaml). |
| 33 | + - Follow-up: keep harness/tests for parity validation during P7.6; reassess after worker analysis parity is complete. |
| 34 | + - CI hooks snapshot: |
| 35 | + - No workflow currently invokes legacy stage chain (`full-refresh` or `--only=get-modules|expand-module-list|check-modules`). |
| 36 | + - Git hook only runs lint-staged in [.husky/\_/pre-commit](../../.husky/_/pre-commit). |
| 37 | +- [x] C2: Canonical pipeline switch |
| 38 | + - Completed on 2026-03-19. |
| 39 | + - `npm run all` now targets `full-refresh-parallel` in [package.json](../../package.json). |
| 40 | + - `pipeline run` without explicit pipeline id now defaults to `full-refresh-parallel` in [scripts/orchestrator/index.js](../../scripts/orchestrator/index.js). |
| 41 | + - Legacy stage-specific shortcuts (`collectMetadata`, `getModules`, `expandModuleList`, `checkModules`) are pinned to `full-refresh` as a temporary compatibility path in [package.json](../../package.json). |
| 42 | + - Legacy `full-refresh` pipeline remains available as compatibility path in [pipeline/stage-graph.json](../../pipeline/stage-graph.json). |
| 43 | +- [ ] C3: Legacy script retirement |
| 44 | + - Remove or clearly deprecate obsolete wrappers and code paths that are no longer part of canonical flow. |
| 45 | + - Ensure no dead stage artifact dependencies remain in orchestrator execution path. |
| 46 | +- [ ] C4: Artifact contract cleanup |
| 47 | + - Confirm expected outputs for parallel path and remove stale assumptions about intermediate stage files. |
| 48 | + - Validate schema references for the artifacts that remain part of supported flows. |
| 49 | +- [ ] C5: Docs and command surface cleanup |
| 50 | + - Update README/docs/npm script descriptions to match canonical flow. |
| 51 | + - Ensure contributor instructions do not point to retired stage sequence. |
| 52 | +- [ ] C6: Validation pass |
| 53 | + - Run: `npm run lint` |
| 54 | + - Run: `npm run test:fixtures` |
| 55 | + - Run: `npm run golden:check` |
| 56 | + - Run: `npm run schemas:check` |
| 57 | + - Run one full `full-refresh-parallel` execution and archive summary logs. |
| 58 | + |
| 59 | +## P7.6 Incremental Mode Integration |
| 60 | + |
| 61 | +- [ ] I1: Cache key contract |
| 62 | + - Define worker-compatible cache key (module identity + repo freshness signal + analysis config). |
| 63 | + - Include a cache schema/version field for safe future migrations. |
| 64 | +- [ ] I2: Read path integration |
| 65 | + - Load cache at orchestrator start and provide cache context to workers. |
| 66 | + - Preserve current behavior for cache miss and partial cache entries. |
| 67 | +- [ ] I3: Write path integration |
| 68 | + - Aggregate worker cache updates in orchestrator and write once, deterministically. |
| 69 | + - Prevent write races from child processes. |
| 70 | +- [ ] I4: Skip semantics and reporting |
| 71 | + - Standardize `status=skipped` and `skippedReason=cached` handling. |
| 72 | + - Ensure progress output and final summary report skipped/cached totals clearly. |
| 73 | +- [ ] I5: Invalidation and pruning |
| 74 | + - Prune cache entries for removed modules. |
| 75 | + - Invalidate entries when key inputs change (checks config/schema version). |
| 76 | +- [ ] I6: Test coverage |
| 77 | + - Add unit tests for cache hit/miss/invalidation paths. |
| 78 | + - Add integration test showing improved second-run skip rate. |
| 79 | +- [ ] I7: Runtime controls |
| 80 | + - Support toggles for cache enable/disable in parallel mode (`--no-cache` and/or env var). |
| 81 | + - Document default behavior for full vs incremental runs. |
| 82 | +- [ ] I8: Evidence and acceptance |
| 83 | + - Record before/after performance and cache-hit metrics. |
| 84 | + - Confirm output parity for representative module subsets. |
| 85 | + |
| 86 | +## Definition of Done |
| 87 | + |
| 88 | +- [ ] P7.5 done: Legacy stage flow is removed or explicitly legacy-only, and all docs/scripts reference the canonical flow. |
| 89 | +- [ ] P7.6 done: Incremental cache behavior is integrated into worker architecture with tests and measurable skip-rate benefit. |
| 90 | +- [ ] Ready for P8: No open P7 blockers remain in roadmap or worker design decision list. |
0 commit comments