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 | 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
|
||||
|
||||
Reference in New Issue
Block a user