Brief
TLDR
Three small items that make the drift-detection lanes findable and schedulable, and close a silent second way in how a delta baseline is persisted. Router text in the codebase-health audit Boundary, a routine fan-out on the ci-cron surface, and moving the instruction-placement delta baseline onto the artifact protocol.
Goal
An operator who reaches one drift lane can find the others, a scheduled surface sweeps the delta lanes without a human remembering to, and both delta skills persist their baseline the same way.
Constraints
- Every cross-skill reference is presence-gated.
- The listing-entry cap for a skill description is respected; router text does not inflate the description past it.
- Routine instruction content lives in the tracked leaf per the routine catalog's instruction-provenance rule.
- The scheduling surface is ci-cron. No cloud schedule surface.
- Reuse-or-replace: the artifact-protocol baselines slot is the established way, so the ephemeral state-key becomes a replacement, not a parallel second way.
Acceptance criteria
Amended 2026-09-06 (planning slice #3809). Criterion 2 is satisfied by a sibling v1 catalog row drift-delta-sweep with its own leaf, not by extending the doc-freshness-sweep leaf (extending would change what the ratified identity doc-freshness-sweep/advisory authorizes without an org re-reviewing it). "On the ci-cron surface" is satisfied in the shipped contract this way: the leaf states the fan-out's run predicate as a fact (the delta lanes compare only with a resolvable branch identity and a memory-tier home persisted across runs) and gives one illustrative binding, a scheduled job on the CI-orchestration home whose runner restores that home, which guided setup records as the ci-cron scheduler class; the catalog's hosting stance keeps the actual surface binding org-owned, the leaf excludes no surface, and nothing in this container registers one, so the "no cloud schedule surface" constraint is met by registering nothing. The reuse-or-replace constraint also covers the overengineering plugin's recurring-wiring contract, which the leaf reconciles with rather than diverging from (a routine's tracker-held queue item has that contract's preferred recurring-work-item durability, minted by a scheduled tick that is itself an enforcement-surface item the report must justify). A reviewer ruling is open: v1 rests on the class-level pattern (report-only drift-watch rows already recur in this repository's schedule) with no run record for these three lanes together; a join: ruling would ship no leaf and leave this criterion unsatisfiable as written. Criteria 1, 3, and 4 (#3810 shipped via PR #3828, #3811 via PR #3831) are unchanged by this note. Deferred questions raised by the planning slice: a generator need for sibling-plugin presence and a persisted home; an unattended token for the codebase-health audit; a consumer-side binding of the class for this repository; and the v1 ruling above.
Captured assumptions
- The seven sibling drift lanes named in the router are the complete current set; new lanes are added as they land.
- The ci-cron surface is where a fleet-wide drift sweep belongs; nobody needs a cloud-scheduled equivalent.
Out-of-scope
- A cloud schedule routine for drift sweeping.
- Phase-end nudges about concepts that were skipped: nothing was built, so there is nothing to suggest.
- Changing what any delta skill detects. This lane is discoverability and persistence only.
Deferred questions
Execution shape: per-item PRs
Brief
TLDR
Three small items that make the drift-detection lanes findable and schedulable, and close a silent second way in how a delta baseline is persisted. Router text in the codebase-health audit Boundary, a routine fan-out on the ci-cron surface, and moving the instruction-placement delta baseline onto the artifact protocol.
Goal
An operator who reaches one drift lane can find the others, a scheduled surface sweeps the delta lanes without a human remembering to, and both delta skills persist their baseline the same way.
Constraints
Acceptance criteria
Captured assumptions
Out-of-scope
Deferred questions
generate-identity-prerequisites.mjsgain needs for "sibling plugin installed" and "memory-tier home persisted across runs", so the resolver stops over-reportingsupportedfordrift-delta-sweep? (raised by autonomy: plan drift-delta routine extension of doc-freshness-sweep on ci-cron #3809)/codebase-health:auditgain anunattendedtoken, as/overengineering:deltahas, so a scheduled run never hits its target-ask and twenty-file confirm stops? Outside this container's scope. (raised by autonomy: plan drift-delta routine extension of doc-freshness-sweep on ci-cron #3809).github/recurring-schedule.jsonrow per the overengineering recurring-wiring Shape 4, or an autonomy binding once the runner ships)? (raised by autonomy: plan drift-delta routine extension of doc-freshness-sweep on ci-cron #3809)v1versusjoin: proven recurring manual patternfordrift-delta-sweep: the row ships asv1because this Brief requires a leaf; a PR-review ruling the other way re-slices autonomy/routines: add the drift-delta-sweep v1 class whose leaf fans to instruction-placement:delta, overengineering:delta, codebase-health:audit #3819. (raised by autonomy: plan drift-delta routine extension of doc-freshness-sweep on ci-cron #3809)Execution shape: per-item PRs