Tiers and phases
Model tiers, run profiles, the human gates, the phases only a human calls, and CI tiers.
Read from the repositories at commit: hatsu 3c582c18a4 (v0.159.0) · nen d7a720ddcd (v0.29.0) · handbooks 39b8e06d3c (v0.13) · 2026-11-04
Model tiers
A tier is named, never a model version. nen/workflow.json → models maps four tiers to one alias per surface, and a role to a tier; the live id is read from the surface when a skill runs, never remembered. A subagent never runs on the frontier tier, which is where your own conversation lives.
| Tier | Role | Claude Code | Codex | Cursor | Antigravity |
|---|---|---|---|---|---|
frontier | orchestrator: your own session | fable | astra | grok | ultra |
deep | reviewer | opus | sol | grok | pro |
fast | worker, measurer | sonnet | terra | composer | flash |
economy | watcher, formatter | haiku | luna | composer | flash |
Run profiles
The run profile the loop reads: fast, standard, thorough. A landing always runs thorough, whatever the turns before it named.
| Profile | Per turn | Deferred to mukai | Report |
|---|---|---|---|
fast | steps 1 to 3 as ren § 2 states them; step 4 skipped, launch line deferred by profile fast; isolation still requires an explicit maintainer core-launch call | coverage and the full page; launch skipped, not moved | turn-fast |
standard | today's turn: every step of ren § 2 | nothing | turn |
thorough | standard plus the impacted suites (kotoamatsukami) after step 3 | nothing | turn |
The gates
| Gate | Clause | What it is | Delegable? |
|---|---|---|---|
| G1 | CON-4 | epic approval: you apply one delivery-mode label | never |
| G1-M | CON-25 | release into build: the building stage label | the one delegated crossing, under four named carve-outs inside a logged run |
| G2 | CON-5 | merge to main | never, save one PR: every PR ends at en's merge prompt; getsuga merges its own release proposal inside § 3a |
| G3 | CON-6 | release go/no-go: publishing | never on an agent's word: only your typed go, by name, as a mugetsu step of your own futon chain, or as your own answer to kazaana's one question after the tag it cut |
| G4 | CON-7 | policy or spec change: a PR into a canon repository, whose product is the process | the same as G2 |
| G5 | CON-47 | anything else human-only: a semantic conflict, a new business rule, signing material, a supply-chain failure | never; its definition is "the decision is yours" |
The phases only a human calls
| Phase | What it does | Why it is the human's |
|---|---|---|
aka· push | lint → squash the unpushed commits → ao → re-lint if catch-up moved the tree → push | publishing work is a decision, and a squash is destructive |
mukai· open the PR | murasaki → hanten review → kokusen checkpoint → kotoamatsukami impacted tests → byakugan coverage → publish proven updates → evidence → shibari opens the PR → landing report → ring, offer en through the picker and end Mukai. § 5 is the full shape | En runs on the maintainer's answer (or at once under mukai.autoEn); pending is En's in-progress state |
| merge | G2 (merge) and G4 (canon-merge) | every PR into main is the maintainer's — en § 5 ends it at the merge prompt, its link and an inline gh pr merge line, at either row (ROSTER.md § Rulings of 2026-09-30 — En never merges); getsuga § 3a merges its own release-proposal PR through nen pr merge --release-unit; futon § 5 merges effort branches locally (git merge --no-ff) into its own integration branch — no sub-PR, no gh pr merge |
kagutsuchi· send a build | a non-production upload, per target: nen shu deploy --target <name> prints the plan always; § 3a's freshness gate reads the archive's build SHA against HEAD and origin/<branch.base>'s tip on a clean tree, and only when it is not the tip's build § 3b runs susanoo first in one idempotent clean worktree under core's .nen/ (the maintainer's gitignored files copied from core, project.fromCore, § 3) and sends from there; --run acts only on a call — the target typed, or the declared deploy.defaultTarget (§ 2) | the blast radius leaves this machine |
mugetsu· publish | publication, per target, G3: only on the maintainer's own go (mugetsu § 0), with the preflight green and the tag already cut — one target per call; with no target typed, the single declared destination and the latest cut tag with no published release (ruling of 2026-09-28) | the blast radius is other people's users |
CI tiers
An adopted repository can also carry CI reviewer lanes, installed by kuchiyose (install a CI tier) as one version-controlled PR: it reads the tier catalogue at the pinned provider tag, asks the per-repository rulings, writes the caller workflow and the gate entries, and prints the day-one ceremony that stays yours (the Apps, the secrets, the required-checks ruleset). It never creates an App, sets a secret, applies a ruleset or merges. Hosted, autonomous runs of the whole loop are the future Cloud tier, coming later.