Seams-first (sequential blocker). Give hooks a machine-readable path to the resolved commit/PR pattern WITHOUT changing the consumer-facing markdown surface (per #660 ).
Define a parse contract over the existing .claude/source-control*.md H2 surface: value = first non-empty line of the section body; POSIX-ERE dialect with PCRE-ism normalization (audit: guardrails + source-control hardening — bypass gaps, convention-enforcement SSOT, decoupling #912 contract chore: initialize marketplace scaffold #1 ); the two special values (Conventional Commits keyword, Same as subject_pattern deferral marker).
Ship a shared lib/ resolver (synced like lib/hook-utils.sh) resolving effective subject_pattern/pr_title_pattern across the 3 layers with policy-floor semantics (audit: guardrails + source-control hardening — bypass gaps, convention-enforcement SSOT, decoupling #912 contract feat: markdown-formatter plugin (pilot migration) #3 ) and unresolved=no-enforcement (audit: guardrails + source-control hardening — bypass gaps, convention-enforcement SSOT, decoupling #912 contract fix: correct plugin-system inaccuracies and harden references #2 ).
Extract convention ownership to a concern owner-doc under docs/conventions/<concern>/; guardrails cites it, never source-control/reference/.
Fold f6 (self-describing header) + f7 (config cross-ref); fix the stale source-control: tracked config is single-layer — no ~/.claude user-global or *.local.* overlay, diverging from seam 2 #647 -vs-feat(source-control): layer convention config across three layers #660 conformance row.
Codify the swim-lane/worktree/drive-to-merge operating instructions .
No YAML, no path rename, no consumer format change. Blocks C2, A1.
Part of #912 . Contract + design in #912 — do not diverge.
Seams-first (sequential blocker). Give hooks a machine-readable path to the resolved commit/PR pattern WITHOUT changing the consumer-facing markdown surface (per #660).
.claude/source-control*.mdH2 surface: value = first non-empty line of the section body; POSIX-ERE dialect with PCRE-ism normalization (audit: guardrails + source-control hardening — bypass gaps, convention-enforcement SSOT, decoupling #912 contract chore: initialize marketplace scaffold #1); the two special values (Conventional Commitskeyword,Same as subject_patterndeferral marker).lib/resolver (synced likelib/hook-utils.sh) resolving effectivesubject_pattern/pr_title_patternacross the 3 layers with policy-floor semantics (audit: guardrails + source-control hardening — bypass gaps, convention-enforcement SSOT, decoupling #912 contract feat: markdown-formatter plugin (pilot migration) #3) and unresolved=no-enforcement (audit: guardrails + source-control hardening — bypass gaps, convention-enforcement SSOT, decoupling #912 contract fix: correct plugin-system inaccuracies and harden references #2).docs/conventions/<concern>/; guardrails cites it, neversource-control/reference/.Part of #912. Contract + design in #912 — do not diverge.