Deploy Poimen Memory K8s cluster with ArgoCD tracking (M2.2, M3.5-M3.7)
ci / markdown (push) Waiting to run

This commit is contained in:
Story Crater Bot
2026-08-22 23:13:42 -07:00
parent 9c723fe66f
commit d3be7f6fd4
105 changed files with 10973 additions and 113 deletions
+29 -2
View File
@@ -4,7 +4,7 @@
|---|---|
| Phase | M1 — Gated loop at L1 |
| Size | M — 13 days |
| Status | ⬜ Not started |
| Status | ✅ Done |
| Flags | — |
| Spec | inlined below |
| Blocks | M0.2 |
@@ -14,6 +14,33 @@
Load the standing questions that give the update gate its referent, and fail at
load rather than mid-run when one is wrong.
## Files
| Action | Path |
|---|---|
| Create | `crates/mem-core/src/query.rs``QuerySet`, `Query`, `SynthesisQuery`, `QueryLoadError` |
| Modify | `crates/mem-core/src/lib.rs` — add `pub mod query;` and re-exports |
| Create | `queries/poimen.yaml` — first real standing query file |
| Create | `tests/it_query_loader.rs` — integration tests (workspace root) |
| Create | `fixtures/query-valid.yaml` — test fixture (valid) |
| Create | `fixtures/query-empty-question.yaml` — test fixture (empty question) |
| Create | `fixtures/query-duplicate-id.yaml` — test fixture (duplicate id) |
| Create | `fixtures/query-bad-charset.yaml` — test fixture (invalid id chars) |
## Dependencies
| Crate | Where | Already present? |
|---|---|---|
| `serde_yaml` | workspace deps | ✅ yes (in workspace `[workspace.dependencies]`) |
| `serde` | `crates/mem-core/Cargo.toml` | ✅ yes |
| `regex` | `crates/mem-core/Cargo.toml` | ❌ add (for `[a-z0-9-]+` validation) or hand-roll |
## Existing code to reuse
- `ProjectId`, `QueryId` from `crates/mem-core/src/domain.rs`**use these newtypes**, don't create new ones
- `serde_yaml` already used by `mem-ingest` — same pattern
- Validation pattern: `QueryId::new()` already rejects empty strings; extend with charset validation
## Facts (inlined — no spec read needed)
```yaml
@@ -83,7 +110,7 @@ the log directory; renaming it orphans all three.
`true` truncates every extraction and looks like a model quality problem.
7. `a7_missing_question_field` — absent key behaves as empty, same error.
**Command:** `cargo test -p mem-core query_loader`
**Command:** `cargo test --test it_query_loader`
**False pass:**
- Testing only the happy path. Every assertion except 1 and 5 is a rejection