docs lockstep phase 2: drift ticket, author dispatch, channels, promotion gate (R12–R16) #12
Loading…
Reference in a new issue
No description provided.
Delete branch "lockstep-phase-2"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes the docs-lockstep program (spec: symbio docs/proposals/2026-09-12-author-agent/program/docs-lockstep-spec.md, phase 1 = #1).
tools/file-drift-ticket.py+ nightlytools/lockstep-drift.sh(.forgejo/workflows/lockstep-drift.yml): onedocs-drift: <tool>@<version>ticket per release, deduped by exact title against open issues (AC1); an unreachable tracker is UNKNOWN, never clear (FAILURE-039), and files nothing. Previous-release surfaces synthesize from git history via the newcheck-lockstep --emit-surface-manifest.tools/dispatch-author.py: one edit-pass contract per affected page (reader contract from frontmatter + the About page, change list from the report, acceptance: gates green / term ledger clean /verifiedadvanced), dispatched setsid-detached viaopencode run --agent author; dispatcher verifies gates, commits with the author trailer; PR waits for the realm agent. Scheduled dispatch runs from the agent runtime (staged opencode-cron job, approval-gated).site.yaml channels:+tools/publish-channel.py+lockstep-publish.yml: testing re-captures the surfaces from the tool's testing binary (dit-releases) and builds into the testing apps' repos; stable inherits the existing pair. Tool release workflows dispatchdocs-publish.tools/check-promotion-gate.py, run by dit-operator/dit-client release workflows against the stable-channel docs-manifest; fail-closed under enforce.manuals.<m>.lockstep_gate); ditc flips to enforce — the 8 covers-pages that never carried averified:stamp are stamped 2.4.4 in the same commit so the flip lands green.Tests: 5 new fixtures (
freshness-enforce,promotion-gate,drift-ticket,author-contract,emissions) —run-all.sh17/17; full battery green (coverage, prose, fleet prose, link check, lockstep per manual). The real promotion gate was exercised: ditc@3.2.0 (installed) FAILs on uncoveredsession/mcpgroups — the gate's first true catch; dito advisory warns and passes.Note: after this lands, a ditc stable cut blocks until pages cover
session/mcp(the R13 pipeline resolves it). dit-operator/dit-client wiring rides companion PRs in those repos.