M1
- Minimal-client proof retained as completed checklist history
- Ready-to-build gate remains all green
- Active work moved into
M2/M3/M4
Mycel is still on the narrow first-client path. M2 replay/storage/rebuild is
now closed at the current narrow scope after the richer mixed content/metadata
competing-branch classification, the multi-document rebuild-after-index-loss proof, and
the richer metadata multi-variant rebuild/reporting proof all landed, so the active lane
now centers on M3 / M4. M3 has now moved past
the landed final independent dual-role closure into broader governance persistence,
richer governance tooling, and reader-facing profile ergonomics beyond the current
inspect/list/publish plus per-document current-governance-summary and store-index
governance source/context summary baseline, plus
the remaining M4 session/capability/error-path interop proof now that
broader pre-HELLO / pre-root / pre-MANIFEST gating,
HEADS-before-MANIFEST sync-root setup, stale
root/dependency plus stale snapshot and stale object WANT rejection after
HEADS replace=true, unadvertised WANT, unrequested
OBJECT, unknown-sender and HELLO sender-identity mismatch rejection,
ERROR-before-HELLO acceptance, explicit ERROR-only
and unreachable WANT proof, and permanent messages-after-BYE
plus missing-BYE warning handling are also covered.
M2 closed at the current narrow replay/storage/rebuild scope now that the richer mixed content/metadata competing-branch rebuild/reporting proof is landed.M3 reader-plus-governance workflows carefully on top of accepted-head inspection, render, clearer available-profile and profile-error feedback, editor-admission-aware profile base, bounded viewer score surfaces, initial governance inspect/list/publish/current surfaces, persisted governance relationship summaries, per-document current-governance summaries, and store-index governance source/context summaries, now that the final independent dual-role closure is landed, while keeping broader governance persistence, richer governance tooling, and profile ergonomics beyond this initial polish explicit.M4 narrow while peer-store sync proof grows toward the remaining session/capability/error-path interop closure now that broader pre-HELLO / pre-root / pre-MANIFEST gating, HEADS-before-MANIFEST setup, stale root/dependency plus stale snapshot and stale object WANT rejection after HEADS replace=true, unadvertised WANT, unrequested OBJECT, unknown-sender and HELLO sender-identity mismatch rejection, ERROR-before-HELLO acceptance, explicit ERROR-only, unreachable WANT, and messages-after-BYE / missing-BYE coverage are also covered.
The roadmap is sequential: each later phase assumes the earlier one is already stable.
Right now, the center of gravity is keeping M2 closed at its current narrow
scope, the careful expansion of M3, and the remaining M4
interop proof.
M2 / M3 / M4state_hashview inspect / view listview currentstore indexOBJECT body checksSNAPSHOT_OFFER / VIEW_ANNOUNCEHELLO / pre-root / pre-MANIFEST gatingHEADS-before-MANIFEST sync-root setup plus stale root/dependency, stale snapshot, and stale object WANT rejection after HEADS replace=trueWANT and unrequested OBJECT rejectionERROR-before-HELLO acceptance plus explicit ERROR-only and unreachable WANT rejection proofBYE rejection plus missing-BYE warning proofThis matrix compresses the checklist into section-level status so we can see what is substantively done, what is only partial, and what still belongs to later phases.
| Area | Status | Milestone | Current read |
|---|---|---|---|
| 1. Repo and Build Setup | Done | M1 | This is now part of the closed minimal-client gate; no active follow-up remains here. |
| 2. Object Types and IDs | Done | M1 | The required v0.1 families and minimal-client role modeling are now retained as closed gate proof, not active checklist debt. |
| 3. Canonical Serialization and Hashing | Done | M1 | Canonical rules and shared helper reuse needed for the minimal gate are closed; post-M1 wire follow-up now belongs to the broader M4 lane rather than this gate. |
| 4. Signature Verification | Done | M1 / M4 | Minimal object and wire signature verification are closed for the gate; broader interop/error-path follow-up remains in M4. |
| 5. Patch and Revision Engine | Mostly done | M2 | Replay and state_hash are in place; dependency verification, wrong-type and multi-hop ancestry proofs, sibling declared-ID determinism, and render-path ancestry context are stronger. |
| 6. Local State and Storage | Mostly done | M2 | Store ingest, rebuild, indexes, and explicit CLI proof that multi-document indexes recover after index loss from stored canonical objects all exist; local transport/safety policy now persists in a separate local policy file while rebuild smoke preserves both replicated indexes and local policy state. |
| 7. Wire Protocol | Partial | M4 | Canonical wire-envelope parsing, field validation, RFC 3339 checks, minimal-message payload validation, sender checks, session sequencing/head tracking, reachability gating, store-backed bootstrap, OBJECT body verification, capability-gated optional-message handling, broader pre-HELLO, pre-root, and pre-MANIFEST gating, HEADS-before-MANIFEST sync-root setup, stale root/dependency plus stale snapshot and stale object WANT rejection after HEADS replace=true, unadvertised WANT and unrequested OBJECT rejection, unknown-sender and HELLO sender-identity mismatch rejection, ERROR-before-HELLO acceptance, explicit ERROR-only and unreachable WANT rejection proof, messages-after-BYE plus missing-BYE warning proof, and a minimal peer-store sync driver now exist in mycel-core; the main remaining interop work is broader session/capability/error-path proof. |
| 8. Sync Workflow | Partial | M4 | Peer-store-driven first-time and incremental sync now prove shared verify/store flows through mycel-core, the CLI, and simulator positive-path coverage, including snapshot-assisted catch-up, announced-view fetching, localhost multi-process proof, re-sync idempotency, depth-N incremental catchup, partial-doc selective sync, broader pre-HELLO / pre-root / pre-MANIFEST gating, HEADS-before-MANIFEST sync-root setup, stale root/dependency plus stale snapshot and stale object WANT rejection after HEADS replace=true, unadvertised WANT and unrequested OBJECT rejection, unknown-sender and HELLO sender-identity mismatch rejection, ERROR-before-HELLO acceptance, explicit ERROR-only and unreachable WANT rejection, and messages-after-BYE plus missing-BYE warning handling; remaining work is broader session/capability/error-path proof. |
| 9. Views and Head Selection | Mostly done | M3 | Deterministic selector core, named fixed-profile selection with clearer available-profile summaries and profile-error feedback, separate editor/view admission-aware inspect/render flows, bounded viewer score channels in head inspection, persisted governance relationship summaries in view inspect / view list, per-document current-governance summaries in view current, store-index governance source/context summaries, and direct core-level selector regressions for shared-key and mixed-role dual-role admission/weight/support behavior all exist; broader governance persistence, richer governance tooling, and profile ergonomics beyond this initial polish are now the remaining M3 gaps. |
| 10. Merge Generation | Partial | M2 | Replay verification and a conservative local merge-authoring profile exist, including structural move/reorder, new-parent reparenting, simple composed parent-chain coverage, a broader nested structural matrix, richer direct/anchor-based placement reasons, clearer metadata competing-branch boundaries, and richer mixed content/metadata competing-branch detail; the current narrow M2 closure is now landed, so future follow-up can stay outside active M2 debt. |
| 11. CLI or API Surface | Partial | M2 / M3 / M4 | Verification, authoring, conservative merge authoring, editor-admission-aware reader inspection/render, governance inspect/list/publish/current, persisted governance index query surfaces, persisted governance relationship summaries in view inspect / view list, store-index governance source/context summaries, transcript-backed sync pull, and internal sync peer-store all exist, including optional snapshot/view flows, localhost multi-process proof, re-sync idempotency, depth-N catchup, partial-doc selective sync, broader pre-HELLO / pre-root / pre-MANIFEST gating, HEADS-before-MANIFEST sync-root setup, stale root/dependency plus stale snapshot and stale object WANT rejection after HEADS replace=true, unadvertised WANT and unrequested OBJECT rejection, unknown-sender and HELLO sender-identity mismatch rejection, ERROR-before-HELLO acceptance, explicit ERROR-only and unreachable WANT rejection, and messages-after-BYE plus missing-BYE warning handling; the remaining M4 gap is broader session/capability/error-path interop proof. |
| 12. Interop Test Minimum | Partial | M1 / M2 / M4 | Fixture isolation, reproducibility, stricter parser/replay smoke coverage, direct wire-envelope/signature/session tests, peer-store first-time / incremental sync proofs, optional-message coverage, localhost multi-process proof, re-sync idempotency coverage, depth-N incremental catchup coverage, partial-doc selective sync coverage, broader pre-HELLO / pre-root / pre-MANIFEST gating coverage, HEADS-before-MANIFEST setup coverage, stale root/dependency plus stale snapshot and stale object WANT rejection after HEADS replace=true coverage, unadvertised WANT and unrequested OBJECT coverage, unknown-sender and HELLO sender-identity mismatch coverage, ERROR-before-HELLO acceptance coverage, explicit ERROR-only and unreachable WANT coverage, and messages-after-BYE plus missing-BYE warning coverage exist, but broader session/capability/error-path cases are still open. |
| 13. Ready-to-Build Gate | Done | M1 | The minimal-client gate is closed; remaining work now lives in the post-M1 follow-up checklist instead of this gate. |
This page is intentionally a summary. The authoritative wording still lives in the repo-level planning documents below.
The repo-level build order, milestones, and phase transitions.
The detailed v0.1 capability checklist for the minimal interoperable client.
The Markdown summary that this visual page is based on.
The repo workflow and security-adoption plan, including the enabled CodeQL default setup and the already-fixed first workflow-permissions findings.
The shortest path from a fresh checkout to a usable Mycel development environment.