@@ -43,9 +43,11 @@ Ultra Builder Pro addresses those gaps with four ideas:
43432 . ** Low-load user alignment.** The agent investigates observable facts itself
4444 and asks the user only for material intent, scope, risk, or authorization
4545 decisions—normally one dependent decision at a time.
46- 3 . ** Durable project authority.** ` .ultra/.runtime/state.db ` records baselines, changes,
47- decisions, workflows, tasks, evidence digests, sessions, incidents, and
48- recovery state across hosts and sessions.
46+ 3 . ** Durable project authority.** ` .ultra/.runtime/state.db ` records checkout-local
47+ lifecycle, decisions, workflows, evidence digests, sessions, incidents, and
48+ recovery state across host sessions. Tracked semantic artifacts plus the
49+ MCP-published ` .ultra/tasks/tasks.json ` checkpoint carry reviewed project intent
50+ across Git checkouts without committing SQLite, leases, or telemetry.
49514 . ** Convergent delivery.** Research, plans, implementation, tests, review, and
5052 specification updates must agree before a change is archived.
5153
@@ -69,10 +71,12 @@ flowchart TB
6971 end
7072
7173 SKILLS["Eleven explicit Ultra Skills<br/>init / research / think / change / plan / dev<br/>test / review / deliver / status / doctor"]
72- MCP["Ultra MCP<br/>57 typed tools across nine families"]
74+ MCP["Ultra MCP<br/>60 typed tools across nine families"]
7375 DB[(".ultra/.runtime/state.db<br/>SQLite lifecycle and index authority")]
76+ LEDGER[".ultra/tasks/tasks.json<br/>Git team checkpoint for portable baseline, Change, and task state"]
77+ VIEWS[".ultra/.runtime/projections<br/>checkout-local generated views"]
7478 FILES["Digest-bound .ultra artifacts<br/>specification / research / change / plan / context<br/>test / review / delivery"]
75- HOOKS["Lifecycle hooks<br/>health, breadcrumbs, recovery hints, and projection protection"]
79+ HOOKS["Lifecycle hooks<br/>health, breadcrumbs, recovery hints, and managed-file protection"]
7680 OPS["Operational tools<br/>ubp / ultra-tools / optional orchestrator"]
7781 EXTERNAL["External memory and graph providers"]
7882
@@ -83,6 +87,8 @@ flowchart TB
8387 MODEL -->|"explicit invocation"| SKILLS
8488 SKILLS -->|"typed operations"| MCP
8589 MCP <--> DB
90+ MCP -->|"publish / validate / import"| LEDGER
91+ MCP -->|"regenerate"| VIEWS
8692 MODEL -->|"writes semantic and evidence bodies"| FILES
8793 MCP <-->|"registers owner, digest, provenance, and freshness"| FILES
8894 HOOKS -->|"observes and records lifecycle events"| MCP
@@ -97,9 +103,9 @@ The responsibility split is deliberate:
97103| ---| ---|
98104| ** User** | Product intent, semantic route selection, material scope and trade-offs, risk acceptance, destructive actions, publishing and deployment authorization |
99105| ** Host model** | Fact-finding, synthesis, research-coverage and route recommendations, reversible implementation decisions |
100- | ** Ultra MCP** | Durable state, evidence references, digests, freshness, locks, valid transitions and hard recovery |
106+ | ** Ultra MCP** | Checkout-local state, evidence references, digests, freshness, locks, valid transitions, hard recovery, and Git checkpoint publish/import |
101107| ** Host adapter** | Native Skill discovery, user questions, tool invocation, installation, and runtime wiring |
102- | ** Hooks** | Fast lifecycle observation, current breadcrumb injection, and protection of generated projections |
108+ | ** Hooks** | Fast lifecycle observation, current breadcrumb injection, and protection of MCP-owned checkpoint and generated projection paths |
103109
104110The MCP does not replace the model's judgment. A hook does not decide product
105111strategy. A prompt does not become durable authority merely because it appeared
@@ -298,8 +304,11 @@ that rationale is useful. MCP validates state, evidence, and transitions; it
298304does not store or prove the preceding UI interaction.
299305
300306Older projection-only Ultra projects are preserved and routed through a
301- backup-first migration or rebaseline. Use ` ultra-doctor ` when initialization
302- reports migration or authority damage; do not overwrite old state manually.
307+ backup-first migration or rebaseline. The first supported checkpoint publication
308+ replaces a v4.4/v4.5 task projection only when its ids and durable fields match
309+ SQLite, after copying its exact bytes to ` .ultra/.runtime/backups/task-ledger/ ` .
310+ Use ` ultra-doctor ` when initialization reports migration, mismatch, or authority
311+ damage; do not overwrite old state manually.
303312
304313### 3. Make daily changes
305314
@@ -418,6 +427,7 @@ health without selecting product intent.
418427 .runtime/ # local mutable state; ignored by Git
419428 state.db # lifecycle, index, transition, and freshness authority
420429 checkpoint.json # advisory recovery projection
430+ projections/ # generated local task and task-context views
421431 backups/ # verified migration and recovery snapshots
422432 collab/ # local collaboration scratch
423433 sessions/ # local leases and session runtime
@@ -442,17 +452,20 @@ health without selecting product intent.
442452 docs/research/ # baseline-only research evidence
443453 reports/templates/ # blank report schemas; never delivery evidence
444454 tasks/
445- tasks.json # generated projection, never the authority
446- contexts/ # bounded role/task context artifacts
455+ tasks.json # MCP-published Git team checkpoint; never hand-edited
456+ templates/
457+ task-context.md # authored template, not a generated task context
447458```
448459
449460Together, ` .ultra/ ` is Ultra's project-local cross-session workflow memory. The
450461host model writes semantic specifications and evidence through the active
451462workflow. MCP records lifecycle state, references, digests, provenance, and
452463accepted intent, then rejects stale or illegal transitions. The DB is the
453- lifecycle and index authority; registered digest-bound files carry the semantic
454- or evidence bodies that the DB references. Generated projections and working
455- scratch are not authority.
464+ lifecycle and index authority for one checkout; registered digest-bound files carry
465+ the semantic or evidence bodies that the DB references. The Git checkpoint is a
466+ portable, digest-chained handoff of baseline, Change, and durable task records. It is
467+ not a second live session authority. Generated projections and working scratch are
468+ not authority.
456469
457470Ultra does not store chain-of-thought, raw prompts, transcripts, general
458471conversational or episodic memory, or code-graph payloads. External memory and
@@ -461,6 +474,29 @@ references to them as workflow context. Only `.ultra/.runtime/` is ignored by
461474Git: semantic and evidence artifacts can travel with the repository, while
462475SQLite, leases, telemetry, and recovery scratch remain checkout-local.
463476
477+ ### Team checkpoint protocol
478+
479+ MCP publishes ` .ultra/tasks/tasks.json ` at durable boundaries: baseline convergence,
480+ Change creation or revision, accepted plan export, durable task-contract or status
481+ changes, task expansion or deletion, and Change convergence or archive. The file
482+ contains per-record revisions and digests plus checkpoint ancestry. It excludes
483+ ` in_progress ` ownership, session ids, leases, worktrees, telemetry, and
484+ ` completion_commit ` .
485+
486+ After a pull or on a fresh checkout, MCP validates and imports the checkpoint. Clean
487+ records fast-forward independently. A baseline imported as ` ready ` is downgraded to
488+ checkout-local revalidation until its scope, files, verification, and HEAD are proven
489+ again. Concurrent edits to the same baseline, Change, or task, a non-descendant
490+ checkpoint, or remote modification of an active local task fail with a typed conflict;
491+ Ultra never silently picks a side. Re-importing the same checkpoint is read-only, and
492+ an imported ready baseline cannot publish another checkpoint until local revalidation
493+ converges.
494+
495+ Baseline freshness does not use the checkpoint commit as a self-referential marker.
496+ It combines Git ancestry with a scoped content digest that excludes ` .ultra/ ` .
497+ Consequently, a commit containing only Ultra metadata does not make the baseline stale,
498+ while a descendant commit that changes scoped application content does.
499+
464500See [ Artifact authority] ( ./docs/ARTIFACT-AUTHORITY.md ) for the promotion and
465501evidence rules.
466502
@@ -514,8 +550,11 @@ host's existing model session.
514550 reinstall only the degraded host.
515551- ** Project state is unhealthy:** invoke ` ultra-doctor ` or run
516552 ` ultra-tools system doctor ` . Repairs and schema migrations are backup-first.
517- - ** A projection disagrees with MCP:** trust ` .ultra/.runtime/state.db ` ; do not repair
518- ` tasks.json ` or generated context Markdown by hand.
553+ - ** 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.
556+ - ** A generated view disagrees with MCP:** trust ` .ultra/.runtime/state.db ` ; never edit
557+ ` .ultra/.runtime/projections/ ` by hand.
519558- ** A workflow appears blocked:** use ` ultra-status ` to read the exact current
520559 workflow, blocker, owner decision, and mechanically valid transitions.
521560- ** Kimi reports a native-module ABI error:** ensure an external Node.js 22+
0 commit comments