docs: mark P2/P3 done, and P4 with its measured per-repo state - #9
Merged
Conversation
P2 and P3 landed (doppler-dsp/doppler#558 plus four follow-ups; the convention doc alongside it) but the checklist still read as untouched, so the plan understated progress while overstating what remained. P4 stays open, now with numbers rather than a guess: doppler is at 29 make / 6 unclassified across all workflows (3 CI-native, 3 release-path deferred on purpose), just-makeit at 5 make / 42 unclassified, most of which drive the jm CLI rather than its own build. Each entry carries what the phase actually taught, in the style P0/P1 set: the two config-surface gaps doppler could not express, the adoption-by-copy trap that left it unguarded for a day, and the two inline duplications P4 surfaced that a target-count audit misses.
The table still showed only the 2026-07-30 baseline and the target, so it could not answer "where are we?" — which is the question it exists for. Eight of ten are met. The two that are not are recorded with their reason rather than as bare misses: * Criterion 1 (26 vs <=18) is a stale TARGET, not a failed port. The estimate predates migration step 6, which required seven of doppler's 26 local targets; hitting <=18 now would mean pushing gates back into inline CI. Proposes replacing the number with the invariant that actually holds and is gate-enforced: LOCAL_TARGETS declares exactly what the Makefile defines. * Criterion 4 is P4, measured per repo for the first time: doppler 6/74 unclassified, just-makeit 42/71. Criterion 9 is upgraded from "behaves identically" to byte-identical, since both repos now vendor the same file verified against canonical.
hunterdsp
force-pushed
the
docs/mark-p2-p3-done
branch
from
July 31, 2026 12:24
605b3a7 to
8838ce1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The phase checklist still showed P2–P4 unticked, so the plan understated progress while overstating what is left.
help30-of-50 (advertising two that did not work) → 67-of-67 generated. Entry records the two config-surface gaps doppler could not express (docs-checkcannot accumulate; the build step has no flag surface, so an adopting C repo silently drops to one job) and the adoption-by-copy trap that left doppler unguarded for a day.skills://makefile-conventionrewritten alongside #558, plus four sibling skills that named the renamed targets.run:stepsmakedoppler's remaining 6 are 3 CI-native and 3 release-path (deliberately deferred — those steps only run during a release, so an error is invisible until it is expensive). just-makeit's 42 are mostly
artifact.ymlscaffold-smoke steps driving the jm CLI, which is the per-repo judgement P4 asks for rather than an omission.Also recorded: two inline duplications P4 surfaced that a target-count audit misses —
docs.ymlreimplementingmake gen-c-apiand already diverging from it (uv run mkdocsvsuv run --group docs mkdocs; acpthat merged where the target replaces, so a deleted C symbol's page survived forever in the deployed site), andmake test-pythonselecting a different test set from CI's pytest — the RFC's own complaint surviving the port meant to end it.