Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ docs/backlog/ work cards docs/requirements/
| PR | **Draft** PR against `main`, title = issue title, body: what changed · gate output · `Fixes #<n>`. One issue per PR. |
| Release notes | **None per PR.** `CHANGELOG.md` is written at release time by the maintainer. |
| Files a code PR never touches | `LICENSE` · `CHANGELOG.md` · `DESIGN.md` §01–§04 without a `needs-user-decision` first |
| Gates | `pnpm validate && pnpm lint && pnpm typecheck && pnpm lint:i18n-gate`. |
| Gates | `pnpm verify`. |
| Merge policy | **The loop merges its own green work** (maintainer, 2026-09-07, verbatim: 「你自己派发自己合并」 and 「改策略,让循环真的无人值守」). The PM seat squash-merges a PR when **all** of: CI green on the head · an ACCEPT review recorded on the issue · the diff touches no governed surface · it is not a second REWORK round. Anything else still goes to the maintainer. |
| Governed surface (maintainer merges) | `DESIGN.md` §01–§04 · `AGENTS.md` · `CLAUDE.md` · `LICENSE` · `CHANGELOG.md` · `docs/design/**`. A PR touching any of these is ACCEPTed and left open with a `## 维护者速读` comment. |
| Decisions stay with the maintainer | The merge authorization covers **merging**, not deciding. Product semantics, `DESIGN.md` §01–§04 wording, and anything on the escalation ladder still becomes a `needs-user-decision` card. |
Expand Down
5 changes: 2 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@ Three rules there must never be missed:

## ⛔ Gate every metadata change

`pnpm validate && pnpm lint && pnpm typecheck && pnpm lint:i18n-gate` must all pass before a change
is reported as done. Metadata mistakes fail silently at runtime; the gates are the only place they
surface early.
`pnpm verify` must pass before a change is reported as done. Metadata mistakes fail silently at
runtime; the gates are the only place they surface early.

## ⛔ Worktree-first, never `git stash`

Expand Down
8 changes: 4 additions & 4 deletions docs/backlog/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ dispatch is worth anything.
| [13](./13-ai-skills.md) | AI participation: S1–S6 skills, the pre-review memo, MCP tool surface, honest degradation | M4 | 05 |
| [14](./14-release.md) | Release: docs site, screenshots, feature inventory, marketplace publish | M4 | 10, 11, 12, 13 |

Every card inherits the same acceptance floor: `pnpm validate && pnpm lint && pnpm typecheck &&
pnpm lint:i18n-gate` green, gate output pasted in the PR, one draft PR per card, no rider changes.
Field lists, enum values and transitions are pinned in [`DESIGN.md`](../../DESIGN.md) §03–§06 — a
card that needs a value not pinned there stops with `needs_decision` instead of inventing one.
Every card inherits the same acceptance floor: `pnpm verify` green, gate output pasted in the PR,
one draft PR per card, no rider changes. Field lists, enum values and transitions are pinned in
[`DESIGN.md`](../../DESIGN.md) §03–§06 — a card that needs a value not pinned there stops with
`needs_decision` instead of inventing one.