Skip to content

Delivery loop ​

Non-trivial work in this repo follows a committed loop. Chat is not the source of truth. The playbook lives in sdlc/README.md (Chinese; that is the human copy). Product behavior still lives in AGENTS.md.

text
intent (accepted) -> spec (approved) -> plan (engineer accepts)
  -> code + tests -> main (maintainer) or PR (external) -> tag / zip (human)
  -> band breach / incident -> new intent

Typos, comment-only, and CI yaml nits may skip the artifacts. External PRs say chore / no plan. A single maintainer pushes main for ordinary work and for the changelog bump. The v* tag still waits until that heading is on main.

Gates ​

Humans flip status: accepted on intent, spec, and plan. That is the gate. A draft is not permission to edit Sources/. A human still pushes v*. An agent session cannot pass the tag gate without RELEASE_APPROVAL.

Artifact paths ​

StageWrites
Plansdlc/intent/NNNN-slug.md
Designsdlc/spec/NNNN-slug.md
Buildsdlc/plan/NNNN-slug.md, then the diff
Testsdlc/evals/
Shippush main; GitHub Release zip
Maintainsdlc/incidents/

Numbered files share a slug. Copy sdlc/templates/. Rollback is install the previous zip (sdlc/runbooks/rollback-release.md).

Skills vs hooks ​

Skills under .agents/skills/ are advisory (ai-native-sdlc, capture-intent, requirements-design, plan-mode, depersonalize). Hooks in .claude/settings.json are deterministic: no v* push without approval, no real home in Edit/Write, no silent edit of Herdr.js.

Evals and bands ​

scripts/run-evals.sh always checks that each case still finds its must_hold phrase. Live claude -p is a next play; the workflow prints skip live evals even when a key exists.

scripts/detect-bands.py reads bands.yaml. Detection has no model. The weekly job runs the detector on synthetic fixtures and prints the tier. It does not open GitHub issues. 1σ log, 2σ diagnose, 3σ propose remain the contract for a later play. Triage is human.

Not in this repo ​

Hosted security scans and Slack on-call are enterprise products. Vulnerabilities still go through SECURITY.md. Incidents that arrive as GitHub issues follow the same intent path.

Copyright © 2026 openalon. MIT License.