@@ -71,7 +71,7 @@ flowchart TB
7171 end
7272
7373 SKILLS["Eleven explicit Ultra Skills<br/>init / research / think / change / plan / dev<br/>test / review / deliver / status / doctor"]
74- MCP["Ultra MCP<br/>60 typed tools across nine families "]
74+ MCP["Ultra MCP safety kernel <br/>7 public tools; 60 hidden compatibility operations "]
7575 DB[(".ultra/.runtime/state.db<br/>SQLite lifecycle and index authority")]
7676 LEDGER[".ultra/tasks/tasks.json<br/>Git team checkpoint for portable baseline, Change, and task state"]
7777 VIEWS[".ultra/.runtime/projections<br/>checkout-local generated views"]
@@ -103,13 +103,42 @@ The responsibility split is deliberate:
103103| ---| ---|
104104| ** User** | Product intent, semantic route selection, material scope and trade-offs, risk acceptance, destructive actions, publishing and deployment authorization |
105105| ** Host model** | Fact-finding, synthesis, research-coverage and route recommendations, reversible implementation decisions |
106- | ** Ultra MCP** | Checkout-local state , evidence references, digests, freshness, locks, valid transitions, hard recovery , and Git checkpoint publish/import |
106+ | ** Ultra MCP** | Durable checkpoints , evidence references, digests, team sync, leases, archive transactions , and mechanical recovery |
107107| ** Host adapter** | Native Skill discovery, user questions, tool invocation, installation, and runtime wiring |
108108| ** Hooks** | Fast lifecycle observation, current breadcrumb injection, and protection of MCP-owned checkpoint and generated projection paths |
109109
110- The MCP does not replace the model's judgment. A hook does not decide product
111- strategy. A prompt does not become durable authority merely because it appeared
112- in a conversation.
110+ The MCP does not replace the model's judgment or pre-authorize a semantic route. It
111+ reports draft diagnostics and commits accepted checkpoints. A hook does not decide
112+ product strategy. A prompt does not become durable authority merely because it
113+ appeared in a conversation.
114+
115+ ### The seven-tool MCP kernel
116+
117+ The public model-facing surface is intentionally small:
118+
119+ | Tool | Responsibility |
120+ | ---| ---|
121+ | ` ultra.context ` | Read the complete current spine without side effects |
122+ | ` ultra.record ` | Batch typed draft facts and events with idempotency |
123+ | ` ultra.checkpoint ` | Attempt one semantic stage checkpoint; rejection leaves the draft editable |
124+ | ` ultra.sync ` | Inspect, import, or publish the Git team checkpoint |
125+ | ` ultra.session ` | Own the transactional execution lease |
126+ | ` ultra.archive ` | Converge and archive through the recoverable filesystem/DB boundary |
127+ | ` ultra.doctor ` | Inspect or repair mechanical health, backup first |
128+
129+ The 0.22 fine-grained tools remain callable but undiscoverable for one compatibility
130+ release. Skills and new sessions use only the seven tools above. Workflow prose stays
131+ in Skills, model judgment stays with the host, and SQLite records what happened rather
132+ than deciding what the model is allowed to think next.
133+
134+ The enforcement gradient is:
135+
136+ ``` text
137+ exploration and iteration: advisory
138+ durable semantic checkpoint: validated and recoverable
139+ corruption / unsafe path / real concurrency / permission: fail closed
140+ irreversible external effect: explicit owner authority plus fail closed
141+ ```
113142
114143### How owner intent becomes durable authority
115144
@@ -121,9 +150,9 @@ flowchart TD
121150 CLEAR -->|"Yes"| NORMALIZE["Normalize the accepted intent"]
122151 CLEAR -->|"No: a material choice remains"| ASK["Ask one dependent question through the host-native question tool"]
123152 ASK --> NORMALIZE
124- NORMALIZE --> DECISION["Persist the normalized result through decision.* "]
125- DECISION --> APPLY["Apply it through the owning MCP operation or digest-bound artifact "]
126- APPLY --> AUTHORITY["Bind state, artifact digest, provenance, and downstream effects"]
153+ NORMALIZE --> RECORD["Batch the normalized result through ultra.record "]
154+ RECORD --> CHECKPOINT["Attempt the owning ultra.checkpoint when authority is ready "]
155+ CHECKPOINT --> AUTHORITY["Bind state, artifact digest, provenance, and downstream effects"]
127156 AUTHORITY --> READBACK["Read back the authoritative result"]
128157 READBACK --> RESUME["Resume the exact workflow step and recommend the next explicit capability"]
129158```
@@ -299,9 +328,9 @@ already resolves the route. The normalized accepted coverage is then stored in
299328- ` deferred ` — record the consequence and accepted owner.
300329
301330The catalog is not a mandatory document set or questionnaire. Omitted areas
302- create no workflow rows; an explicit exclusion is recorded only when retaining
303- that rationale is useful. MCP validates state, evidence, and transitions; it
304- does not store or prove the preceding UI interaction.
331+ create no workflow rows; an explicit exclusion is recorded only when retaining
332+ that rationale is useful. MCP validates accepted checkpoints and mechanical
333+ integrity; it does not store or prove the preceding UI interaction.
305334
306335Older projection-only Ultra projects are preserved and routed through a
307336backup-first migration or rebaseline. The first supported checkpoint publication
@@ -358,19 +387,19 @@ The next piece of daily work starts with a new `ultra-change`.
358387| ` ultra-test ` | Run the risk-selected verification profile and persist the gate result |
359388| ` ultra-review ` | Coordinate independent specification-fidelity and engineering review |
360389| ` ultra-deliver ` | Reconcile specifications, close local authority, and archive the change |
361- | ` ultra-status ` | Read the current breadcrumb, blockers, evidence , and allowed transitions |
390+ | ` ultra-status ` | Read the current context, warnings, blockers , and evidence |
362391| ` ultra-doctor ` | Diagnose installation or project-state faults and expose safe recovery |
363392
364- These eleven capabilities are the complete public Ultra command graph. Each capability
365- returns current ` allowed_transitions ` ; the host may recommend one, but another public
366- capability starts only after an explicit user command or skill invocation.
393+ These eleven capabilities are the complete public Ultra command graph. The host model
394+ recommends the next capability from current context and owner intent; SQLite does not
395+ encode the semantic route. Another public capability starts only after an explicit
396+ user command or skill invocation.
367397
368398### Command interaction graph
369399
370- Every solid handoff below means: the current capability returns
371- ` allowed_transitions ` , the model recommends a route, and the owner explicitly
372- invokes the next public capability. It does not mean that one public command
373- silently launches another.
400+ Every solid handoff below means: the current capability returns context and checkpoint
401+ diagnostics, the model recommends a route, and the owner explicitly invokes the next
402+ public capability. It does not mean that one public command silently launches another.
374403
375404``` mermaid
376405flowchart TD
@@ -459,8 +488,8 @@ health without selecting product intent.
459488
460489Together, ` .ultra/ ` is Ultra's project-local cross-session workflow memory. The
461490host model writes semantic specifications and evidence through the active
462- workflow . MCP records lifecycle state, references, digests, provenance, and
463- accepted intent, then rejects stale or illegal transitions . The DB is the
491+ capability . MCP records lifecycle state, references, digests, provenance, and
492+ accepted intent, then validates durable checkpoints and mechanical integrity . The DB is the
464493lifecycle and index authority for one checkout; registered digest-bound files carry
465494the semantic or evidence bodies that the DB references. The Git checkpoint is a
466495portable, digest-chained handoff of baseline, Change, and durable task records. It is
@@ -551,12 +580,13 @@ host's existing model session.
551580- ** Project state is unhealthy:** invoke ` ultra-doctor ` or run
552581 ` ultra-tools system doctor ` . Repairs and schema migrations are backup-first.
553582- ** The team checkpoint disagrees with local state:** run ` ultra-status ` , inspect the
554- typed ledger condition, then use the recommended ` task.ledger_import ` or
555- ` task.ledger_publish ` path . Never edit ` .ultra/tasks/tasks.json ` by hand.
583+ typed ledger condition, then use ` ultra.sync ` to import or publish after reviewing
584+ any real conflict . Never edit ` .ultra/tasks/tasks.json ` by hand.
556585- ** A generated view disagrees with MCP:** trust ` .ultra/.runtime/state.db ` ; never edit
557586 ` .ultra/.runtime/projections/ ` by hand.
558- - ** A workflow appears blocked:** use ` ultra-status ` to read the exact current
559- workflow, blocker, owner decision, and mechanically valid transitions.
587+ - ** A draft checkpoint is rejected:** use ` ultra-status ` to read the exact warnings
588+ and blockers, fix the same mutable draft, and retry. Use ` workflow.abandon ` through
589+ ` ultra.record ` only when intentionally cancelling the attempt.
560590- ** Kimi reports a native-module ABI error:** ensure an external Node.js 22+
561591 executable is available on ` PATH ` ; the generated Kimi MCP launcher uses
562592 ` env node ` .
0 commit comments