Skip to content

docs(roadmap): index the P0-P7 parity campaign onto the M/G vocabulary - #87

Merged
ShixiangWang merged 1 commit into
mainfrom
docs/parity-milestone-map
Nov 7, 2026
Merged

ShixiangWang merged 1 commit into
mainfrom
docs/parity-milestone-map

Conversation

@ShixiangWang

Copy link
Copy Markdown
Contributor

Closes the governance half of #74 (repair-order step 5: ROADMAP sync + the P8-vs-deferred ruling).

Why

The parity campaign's phases are named P0-P7 only in vignettes/articles/research-09-sigminer-v3-parity-plan.qmd section 5. The roadmap tracks M/G milestones. A reader who lands on the roadmap cannot locate a phase in the version plan without re-reading the plan — #74's first charter line: "The P-series parity campaign (P0–P7), including all current-branch work, lives outside the ROADMAP M/G vocabulary."

#74's second charter line: "P8 treatment-forensics collides with the deferred list ("therapy forensics" is a hard v1.x non-goal) yet ms_treatment_report() shipped (PR #56) with no PI adjudication and no ROADMAP revision."

What

vignettes/articles/roadmap.qmd gains one additive section after the dependency graph (line 270 onward; nothing above it moves, so every repo-wide roadmap.qmd:NNN pin still resolves):

  • a P0-P7 index table: phase -> landing repo -> this roadmap's milestone -> acceptance gate. Rows are transcribed from the parity plan section 5 (landing repo, gate) and section 4 (the milestone each phase actually advances). P7 is marked "campaign, not a PR", operator-gated.
  • the plan's own sequencing sentence.
  • the P8-vs-deferred adjudication: the shipped ms_treatment_report() is the Pillar-3 case-study MVP surface (a report over already-extracted exposures with committed synthetic fixtures); the v1.x non-goal continues to cover the full therapy-forensics program. The deferral line stands as written and is read through the new paragraph. Moving that boundary either way is a PI call, and the collision is now recorded rather than silently absorbed.

vignettes/articles/performance.qmd re-pins the roadmap digest in the integrity seal (5147c7da... -> 51ce5888...) and names the superseded digest in the census-exempt waiver with its reason, per the pinned-byte source-audit law.

No code, no workflow, no gate changes. Documentation only.

Constraint checks (all run in the lane, all green)

  • Rscript tools/docs-sync.R -> rc 0. Half one (L-H API-surface drift): every ms_* token named in the new section (ms_select_k, ms_qc_report, ms_update_refdb, ms_treatment_report) is already a row of the CAPABILITY-MATRIX L-H table. Half two (checkbox truth): the new heading contains none of M6s, M7\b, G-gates, so the section is out of in_scope and its unchecked boxes are not policed — the 4 in-scope checked boxes from before are unchanged. Half three (pkgdown index): 84 exports, 96 entries, OK.
  • Rscript tools/cjk-census.R -> rc 0; 577 files, 0 normative CJK lines outside quote/code context. The roadmap is classed normative, so the new text is English-only.
  • testthat::test_file("tests/testthat/test-docs-sync.R") -> [ FAIL 0 | WARN 0 | SKIP 0 | PASS 15 ]. The red half asserts expect_length(grep("ms_hrd_report", lines), 1L); the new text does not spell that token, so the census stays at one line.
  • python3 tools/ci-selfcheck.py -> PASS (all CI wiring assertions hold).
  • Seal round-trip: shasum -a 256 vignettes/articles/roadmap.qmd equals the digest now pinned in the performance.qmd fenced block (51ce5888...), and the superseded 5147c7da... is still named exactly once in the waiver.

Test plan

The parity campaign's phases (P0-P7) are named only in
vignettes/articles/research-09-sigminer-v3-parity-plan.qmd section 5; the
roadmap tracks M/G milestones, so a reader cannot locate a phase in the
version plan without re-reading the plan. Add one index section after the
dependency graph: phase -> landing repo -> this roadmap's milestone ->
acceptance gate, plus the plan's sequencing.

Also record the P8-vs-deferred adjudication that issue #74 raised: the
deferred list names "therapy forensics" a hard v1.x non-goal while
ms_treatment_report() shipped (PR #56). The shipped artifact is the
Pillar-3 case-study MVP surface over already-extracted exposures with
synthetic fixtures; the full therapy-forensics program stays deferred.

The roadmap blob moved, so re-pin its digest in the performance.qmd
integrity seal and name the superseded digest in the census-exempt waiver,
per the pinned-byte source-audit law.

Refs #74
@ShixiangWang
ShixiangWang merged commit 6674c92 into main Nov 7, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[audit] 2026-11-04 full-codebase audit — consolidated fix backlog (1×P0, 7×P1)

1 participant