Wave B build-process standardisation closed at commit 5c5372b on docs-strategy/origin/main (2026-05-26T~00:50 BST). Sister-repo HEADs confirmed at the Stage 3.6 no-op commits per execution record §2.4. Coordinator session (this one) updated master plan v1.9 → v1.10 (§1 diagram CLOSED status + actuals; §3 row CLOSED + execution-record link + frozen-by-design + 7 caveats summary; §8 effort table actual ~3-4h).

Deliverables LIVE:

  • §1.5 Wave A caveat #3 + #4 closures (3 commits across code-inherit-website + docs-strategy)
  • §1 U2 @inherit/tsconfig + @inherit/prettier-config (5 commits across all 5 v2 build repos)
  • §2 U3 reusable license-audit workflow (6 commits; 878 → 369 LoC = 58% reduction across 5 repos)
  • §3 Path E Stage 3.6 cross-refs — DONE-by-default (Stage 3.5 Mode B Hybrid already T-NNN-migrated); 5 no-op cross-ref-map.md authored

Velocity calibration: Wave A=10× under, Wave B=2-3× under. Convergence pattern — subsequent waves close the velocity gap as compound-easy wins are exhausted. Wave C ~5-9h core paper likely lands ~3-5h actual. Wave D ~1-2h core paper likely lands ~1-3h actual.

3 substrate-correcting findings (per execution record §3) — load-bearing for Wave C/D LP scans:

  1. §3.6 U2 host-repo miscitation — Wave B LP §1 step 1’s N1 fork DEFAULT cited “SDK-as-host” but U2 T-file §7 actually recommends code-inherit-standard. Executing session followed empirical T-file source. Host = code-inherit-standard. The LP miscitation would have produced a worse-architected solution (SDK as host couples one consumer to package-host status). Lesson: pre-dispatch, scan each Wave’s LP for T-file claims and verify against the actual T-files. See feedback-lp-t-file-substrate-audit-pre-dispatch.

  2. §3.3 additional_dependencies insufficient on its own — Wave B LP §1.5 step 1 prescribed adding additional_dependencies: [prettier-plugin-astro@0.14.0] to the prettier hook config. Empirically this does NOT work: prettier resolves plugins via noop.js virtual entry from the target file’s CWD, not from pre-commit’s env node_modules. Effective fix is committing local node_modules content via pnpm-lock.yaml for deterministic CI installs. Lesson: pre-commit-config-only solutions for plugin loading need empirical validation; the standard CI pattern assumes a tool resolves plugins from process-env, but prettier breaks that assumption.

  3. §3.1/§3.2 LoC reduction claims under-met on conservative counting — U2 claim 44% achieved ~30% aggregate (~50-58% pure-config when README.md excluded). U3 claim 78% achieved 58% aggregate (tier-extras kept inline rather than parameterised into reusable workflow). Lesson: LoC reduction claims in spec-kit T-files are upper bounds achievable under aggressive parameterisation; treat conservative-counting actuals as the honest figure.

Other caveats logged (§3.4, §3.5, §3.7) — ruff E402 baseline was 3 not 5 (sibling-session partial fix; LP §1.5 sub-fork “<5 errors” applied correctly); Wave A caveat #5 CI changelog regen compounded ~6-8 rebase cycles during Wave B pushes (still pending Wave A.1 catch-up); wall-clock ~3-4h vs ~1-3h LP estimate (within §5 5h ceiling).

Wave C readiness (per execution record §4):

  • Pre-commit pin-drift hook strict-clean across 7 repos (§1.5 closures verified)
  • Spec-kit tasks.md already at T-NNN convention (Stage 3.6 verified empty-set) — EARS notation can layer atop
  • Reusable workflow pattern proven (U3) — can replicate for additional cross-cutting CI gates (memorylint + Conftest+Rego per Wave C §1.5 + §2.5)
  • MADR-5 vocab promotion DEFERRED — Q-NNN files already use MADR shape; promotion is separate scope

Wave B LP frozen at v1.4 + execution record frozen at v1.0 per Wave A F-15 precedent. Substrate-correcting findings live in record §3 (forward-traceable per frontmatter-conventions.md §3.6). See project-wave-a-execution-record for Wave A precedent + feedback-lp-t-file-substrate-audit-pre-dispatch for the audit-before-dispatch lesson.