This target repository follows wellmanifest/new-project policy-as-code.
Before any multi-step implementation, an agent must:
- Read
.governance/manifest.json,TODO.md,project/TICKETS.mdand the active ticket. - Reuse an unfinished ticket whose workstream and scope match. A second active
ticket is allowed only in a distinct workstream with no write-scope overlap.
Otherwise run
./project/new-ticket.sh --title "..." --agent "..." --workstream "...". - Complete the ticket
README.md, ownedai-*.md,intent.jsonandTODO.md. - Stop in
WAIT_FOR_APPROVAL; do not change implementation files yet. - After explicit approval, move to
EDITand stay insideintent.jsonallowedPaths. - Never create or edit
project/ticket-*/user-*.md; only its human owner or a trusted intake boundary may do so. - Keep executable source/tests/scripts outside ticket directories.
- Run
./project/governance-check.shplus the stack and Docker checks before reporting completion. - Serialize ticket-ID allocation before branching, then use a separate
branch/worktree per implementation ticket. Each diff must resolve to exactly
one active ticket. Shared contract paths are edited only by the declared
integration workstream;
integrationTicketcoordinates work but does not transfer path ownership. - Only
IN_PROGRESSreserves a workstream and write scope.BACKLOG,PLANandBLOCKEDretain evidence without blocking another implementation; transition back toIN_PROGRESSbefore changing source or tests. - Treat GitHub review as trusted only when it targets the current HEAD and
either a
Userlogin is in protectedtrusted-reviewersor aBotlogin is in the separate protectedtrusted-validator-appsinput. Never trust an arbitrary Bot review. - Require merge approval evidence to bind repository, PR, current HEAD, active ticket and actor. The protected resolver creates that evidence outside the PR checkout; repository-authored evidence is untrusted.
- A signed attestation is trusted only after a protected verifier validates its signature, issuer, predicate type and subject bindings.
- Validator-agent examples use
LLM_MODEL_VALIDATOR=openrouter/z-ai/glm-5.2; model findings stay advisory.
Markdown approval is an audit note, not trusted merge authorization. Required merge approval comes from the repository's protected review, attestation and ruleset boundary.