Deploy Poimen Memory K8s cluster with ArgoCD tracking (M2.2, M3.5-M3.7)
ci / markdown (push) Waiting to run
ci / markdown (push) Waiting to run
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|---|---|
|
||||
| Phase | M1 — Gated loop at L1 |
|
||||
| Size | M — 1–3 days |
|
||||
| Status | ⬜ Not started |
|
||||
| Status | ✅ Done |
|
||||
| Flags | — |
|
||||
| Spec | inlined below |
|
||||
| Blocks | M1.5 |
|
||||
@@ -14,6 +14,43 @@
|
||||
Write the authoritative record — the one artifact everything else is derived
|
||||
from, and the one that must survive a crash mid-run.
|
||||
|
||||
## Files
|
||||
|
||||
| Action | Path |
|
||||
|---|---|
|
||||
| Create | `crates/mem-store/src/event_log.rs` — `LogWriter`, `LogReader`, `RunStatus` |
|
||||
| Replace | `crates/mem-store/src/lib.rs` — replace `pub mod placeholder {}` with `pub mod event_log;` + re-exports |
|
||||
| Create | `tests/it_event_log.rs` — integration tests (workspace root, 8 assertions) |
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Crate | Where | Already present? |
|
||||
|---|---|---|
|
||||
| `ulid` or `rusty_ulid` | `crates/mem-store/Cargo.toml` | ❌ add — for sortable run IDs |
|
||||
| `tokio` (fs feature) | `crates/mem-store/Cargo.toml` | ✅ yes |
|
||||
| `serde`, `serde_json` | `crates/mem-store/Cargo.toml` | ✅ yes |
|
||||
|
||||
## Existing code to reuse
|
||||
|
||||
- `LoopEvent` from `gated_loop.rs` (M1.5) — the events to serialize
|
||||
- `Level` from `domain.rs` — carried in every record
|
||||
- Pattern reference: `lessons_cmd.rs` has a JSONL writer for `Event` types (`events.jsonl`).
|
||||
Same concept but **different event schema** and **different storage location**:
|
||||
- `lessons_cmd.rs` writes `~/.mem/events.jsonl` (command execution events)
|
||||
- M1.6 writes `log/<project>/<query>/<run-id>.jsonl` (gate decision events)
|
||||
- Do not unify them. They serve different purposes.
|
||||
|
||||
## Output path convention
|
||||
|
||||
```
|
||||
log/
|
||||
poimen/
|
||||
tool-failures/
|
||||
01HXYZ....jsonl ← ULID, lexicographically sortable by time
|
||||
architecture-decisions/
|
||||
01HXYZ....jsonl
|
||||
```
|
||||
|
||||
## Facts (inlined — no spec read needed)
|
||||
|
||||
Path: `log/<project>/<query-id>/<run-id>.jsonl`. Append-only, one object per line.
|
||||
@@ -80,7 +117,7 @@ fixture.
|
||||
8. `a8_run_id_sorts_by_time` — three runs, assert lexicographic order equals
|
||||
chronological order.
|
||||
|
||||
**Command:** `cargo test -p mem-store event_log`
|
||||
**Command:** `cargo test --test it_event_log`
|
||||
|
||||
**False pass:**
|
||||
- Asserting the file parses. A writer that omits `evidence` events entirely
|
||||
|
||||
Reference in New Issue
Block a user