Phase 0 progress
Bootstrap. Get to "clone and build" with the process scaffolding in place.
Done
- Repo renamed from
YC27tomnemosyne. - Rust workspace:
mnem-core(library, one placeholder function and a test) andmnem-cli(themnembinary,--versionand a declared command tree with every subcommand stubbed out). Rust CI (fmt,clippy -D warnings,test,build --release) green onmain. - Python SDK skeleton:
mnemexposes its version and raises a clear error on any API that is not built yet. A smoke test covers both. Python CI (ruff,pytest) green onmain. - CI: a
rustjob and apythonjob on every pull request and on push tomain. - Docs:
README.md,CONTEXT.md(seed glossary),ROADMAP.md,AGENTS.md(one-maintainer and offline-core invariants),CONTRIBUTING.md,docs/adr/0000-template.md, ADR-0001, the ADR index, the agent workflow docs, and thedocs/format,docs/research,examplesplaceholders. - Issue and pull request templates, including the Wayfinder ticket template.
- Licence: Apache 2.0.
- Labels:
phase-0tophase-7, thewayfinder:*set,ready-for-agent,track-a/track-b,adr,format,benchmark,spike. - Milestones: one per roadmap phase (renumbered to
v0.0.2tov0.0.7in ADR-0010). - The Phase 0 Wayfinder map (#1), now with ten child tickets: #2 to #7 plus #15 to #18 (commit hashing research and ADR-0005, ADR-0007 versioning, repo hygiene).
- Maps for Phases 1 to 6 (#9 to #14), each a kept-open epic with a checklist comment linking its children.
- The full backlog: 68 issues in total. 57 granular one-PR-sized child tickets
across the six phase maps, sub-issue linked, with 48
blocked_bydependency edges. Every task ticket is scoped to something a single pull request could close. - The scaffold (#2) built on
chore/phase-0-scaffold, merged via PR #8 with green CI. - Tag
v0.0.1pushed. - The GitHub project (Mnemosyne roadmap), linked to the repo, with all open issues added.
- Decision tickets closed: #3 and #15 (research), #4, #5, #6, #7, #16 (research and grilling). ADR-0002 (object format), ADR-0003 (memory node model), ADR-0004 (core and SDK boundary) and ADR-0005 (commit identity) all Accepted.
- Repo hygiene (#18):
SECURITY.md,CODE_OF_CONDUCT.md,.github/dependabot.yml(cargo, pip, github-actions),rust-toolchain.toml, and anmsrvCI job at Rust 1.85 (the floor set byclap'sedition2024transitive requirement). - ADR-0007, versioning and release policy: Accepted (#17). SemVer 2.0.0;
format_versionon its own integer track; additive format changes are a MINOR software release, breaking ones a MAJOR withmnem migrate; hand-writtenCHANGELOG.md; a gated release workflow (built in Phase 6).
Phase 0 is complete. Definition of done met: cargo build and cargo test
green in CI, import mnem works, mnem --version runs, v0.0.1 tagged.
ADR-0001 to ADR-0005 and ADR-0007 Accepted.
Pending, not blocking
- The
v0.0.1GitHub release. The tag is pushed; the release page was blocked by a session safety check. Cut it from the tag in the web UI, or add a Bash permission rule forgh release. - Project board views. The project has all items; add a "group by Milestone" view and a "group by Status" board in the UI.
Next
Phase 1 (v0.0.2, "it commits"), map #9. First: research #19 (object encoding and
the store engine), then ADR-0008 (#20) and ADR-0009 (#21), then the build tickets
starting at #22 (object types).
Notes
- The pyo3 and maturin binding was moved from Phase 0 to Phase 1, where the core first has something to bind. Phase 0 ships a pure-Python placeholder. ROADMAP updated to match.
- Two CI fixes were needed for the Python job: the runner's system interpreter is
externally managed, so
uv pip install --systemfails, andsetup-uvwithpython-versionalready creates the.venv, so a seconduv venvclashes. Settled on:setup-uvwithpython-version, thenuv pip installanduv runstraight into that venv. - The initial commit on
mainshows a red CI run: it predates the Cargo and pyproject files.mainhas been green since PR #8 merged.