Phase 2 — Activate the contract across every membership consumer
State: blocked on Phase 1's resolver contract and V1 product coverage. The readiness consumer inventory is complete as a baseline and must be refreshed at execution.
Outcome
Activate the accepted semantic contract once. Add live participation declarations, enforce the transitional head registry, and remove independently reimplemented tag-membership sets. Validator, generated augmentation, connect, navigation recipes, impact expansion, and every mark skip rule consume the same projection-relative resolver result.
This is the phase that closes the original behavioral contradiction. It does not relocate heads.
Consumer inventory
Refresh the role-based readiness ledger before editing:
- tag-readme mark validation and invalidation/impact expansion;
- ProperDocs tag-page augmentation and footer routing;
cp-skill-connectcandidate discovery;- AGENTS and navigation by-tag recipes;
- any writer, reviewer, or full-pass rule that skips work because
completeorcovered_byis present; - installed copies and generated templates of those consumers.
The refreshed inventory is complete only when code search and manifest projection agree; one named consumer is not evidence that all consumer classes were covered.
Work
- Promote the workshop ADR draft as accepted and add the exact participation
clauses to every live source and scaffolded collection contract. Update root
and schema authoring guidance, register
commonplace-tag-members, and add its command reference in the same activation packet. - Re-derive participating tags. For each tag with no transitional head, create
a minimal current-location head, reuse a better stable tag, or remove the bad
assignment. Retain
trace-learningand give it a head. Enforce exactly one head per participating tag without moving heads yet. - Replace mark validation and impact selection with the resolver.
- Replace ProperDocs membership enumeration with the resolver while retaining authored head content and build-time generated tails.
- Put connect's deterministic tag/path collection behind the package resolver rather than shell pipelines or runtime-specific Grep/Read choreography.
- Rewrite recipes and skip rules to call or describe the resolver. State next to every mark shortcut that task-level discovery remains open.
- Instantiate the readiness pass's multi-root cross-consumer fixture and make each consumer assert the same ordered result.
- Repair or explicitly disposition the
learning-theoryandartifact-analysisstarting witnesses. - Use V1 to run all source and installed scopes without fail-fast behavior.
Acceptance
- Every inventoried consumer returns or consumes the same membership set.
- The
learning-theoryandartifact-analysisstarting witnesses either satisfy the adopted contract or fail visibly until repaired. - A mark can suppress a redundant exact membership query but never broader task search.
- A zero-member query returns an empty bounded result and cannot widen into a repository search.
- Source, fresh-install host/projected-library, and explicitly selected reader fixtures agree on root isolation.
- Every participating tag resolves to exactly one current-location head, while headless tags remain possible only outside participating content.
- The accepted ADR, binding prose, live declarations, validator, build, skills, and recipes become operative in the same activation packet.