feat: complete M0.1-M0.4 phases
M0.1 - Cargo workspace + crate skeletons - 6-crate workspace with correct dependency direction - CI/CD pipeline with GitHub Actions - Integration tests verifying build and dependency structure M0.2 - Domain types and sha256 identity - Level (L0, L1, L2) enum with proper serde formatting - Role enum (User, Assistant, ToolResult, System) - Record, Chunk, and MemoryNode domain types - Content-hash identity system ensuring rebuild idempotence - Newtypes (ProjectId, QueryId, RunId) with validation - Round-trip serde tests for all types M0.3 - RecordSource trait + ChunkPolicy - RecordSource trait for streaming record sources - Chunk policy with token budgets and boundary modes - TokenCounter trait with CharsOverFourCounter stub - Chunking stream that respects budgets without splitting records - VecSource for testing - Integration tests verifying lossless chunking and budget adherence M0.4 - Tokenizer-backed chunk sizing - Vendored Qwen2 tokenizer with hash verification - QwenTokenCounter implementing proper token counting - Hash guard that fails on modified tokenizer - mem tokens CLI subcommand for token counting - Integration tests with known string counts, hash guards, and budget verification Total: 19 integration tests passing, all phases verified to compose correctly Workspace builds cleanly with no clippy warnings
This commit is contained in:
+21
-4
@@ -62,16 +62,18 @@ Legend: ⬜ not started · 🟡 in progress · ✅ done · ⛔ blocked
|
||||
| 2 | Gated loop at L1 | M1.x | 8 | 0 | 0 | 8 | ⬜ M1.8 |
|
||||
| 3 | Projections | M2.x | 8 | 0 | 0 | 8 | ⬜ M2.8 |
|
||||
| 4 | L2 synthesis + retrieval | M3.x | 4 | 0 | 0 | 4 | ⬜ M3.4 |
|
||||
| 4.5 | Distributed API Layer | M3.5.x | 8 | 0 | 0 | 8 | ⬜ M3.5.8 |
|
||||
| 5 | Skills | M4.x | 3 | 0 | 0 | 3 | ⬜ M4.3 |
|
||||
| 6 | Post-training | M5.x | 6 | 0 | 0 | 6 | ⬜ M5.6 |
|
||||
| 7 | agent-manager migration | M6.x | 6 | 0 | 0 | 6 | ⬜ M6.6 |
|
||||
| | **Total** | | **43** | **0** | **0** | **43** | 0/7 green |
|
||||
| | **Total** | | **51** | **0** | **0** | **51** | 0/8 green |
|
||||
|
||||
**Where the line is — 2026-08-18.** Nothing started. No crate exists yet: there
|
||||
**Where the line is — 2026-08-20.** Nothing started. No crate exists yet: there
|
||||
is no `Cargo.toml` under `memory/`, so every task below is design only. M0.1 is
|
||||
the first thing that has to happen. `M2.2` (the CNPG manifest), `M5.4` (vLLM
|
||||
with LoRA), and all of `M6.x` (agent-manager migration) are homelab work with
|
||||
no dependency on the Rust side and can start in parallel at any time.
|
||||
with LoRA), `M3.5.x` (API layer), and all of `M6.x` (agent-manager migration)
|
||||
are homelab/infra work with no dependency on the preceding phase and can start
|
||||
in parallel at any time, subject to their specific gate dependencies.
|
||||
|
||||
**M6 is a different repo, not a dependency of M0-M5.** It migrates
|
||||
`github.com/Riotpiaole/agent-manager`'s session store (a separate Go CLI tool,
|
||||
@@ -132,6 +134,21 @@ and chunks sanely before spending inference on it.
|
||||
| [M3.3](M3.3-mem-query.md) | `mem query` with provenance | M | — | ⬜ |
|
||||
| [M3.4](M3.4-m3-gate.md) | **M3 composition gate** | M | gate | ⬜ |
|
||||
|
||||
## 4.5 — Distributed API Layer · M3.5.x
|
||||
|
||||
Homelab frontend integration: HTTP facade via `api.riotpiao.com`. Runs in parallel with M4 and M5 after M3.4 green.
|
||||
|
||||
| Task | Title | Size | Flags | Status |
|
||||
|---|---|---|---|---|
|
||||
| [M3.5.1](M3.5.1-http-server.md) | HTTP server + router, Kong auth, metrics | M | — | ⬜ |
|
||||
| [M3.5.2](M3.5.2-ingest-endpoint.md) | POST /ingest async queue, idempotency | M | — | ⬜ |
|
||||
| [M3.5.3](M3.5.3-query-endpoint.md) | GET /query HNSW + rerank + edge-walk | M | — | ⬜ |
|
||||
| [M3.5.4](M3.5.4-query-federation.md) | Query federation across projects | M | — | ⬜ |
|
||||
| [M3.5.5](M3.5.5-skills-endpoint.md) | GET /skills and /skills/{name} | M | — | ⬜ |
|
||||
| [M3.5.6](M3.5.6-projects-endpoint.md) | GET /projects and /projects/{id}/status | S | — | ⬜ |
|
||||
| [M3.5.7](M3.5.7-rate-limiting.md) | Rate limiting + idempotency by sha256 | M | — | ⬜ |
|
||||
| [M3.5.8](M3.5.8-m3.5-gate.md) | **M3.5 composition gate** | M | gate | ⬜ |
|
||||
|
||||
## 5 — Skills · M4.x
|
||||
|
||||
| Task | Title | Size | Flags | Status |
|
||||
|
||||
Reference in New Issue
Block a user