From a544c451914aef034289b163ed4bb5fc8c4a7bad Mon Sep 17 00:00:00 2001 From: Kyle Isom Date: Sat, 3 Oct 2026 02:21:52 -0700 Subject: [PATCH] docs: M5d-2 task 10 updates the cli_memory_sync USAGE pin sync_parses requires the M5c memory USAGE line. U1 inserts "| tiers", so the task now edits that substring. Co-Authored-By: Grok 4.6 --- docs/plans/M5d2/10-memoryd-tiers.md | 31 ++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/docs/plans/M5d2/10-memoryd-tiers.md b/docs/plans/M5d2/10-memoryd-tiers.md index 5af8542..e82be82 100644 --- a/docs/plans/M5d2/10-memoryd-tiers.md +++ b/docs/plans/M5d2/10-memoryd-tiers.md @@ -23,6 +23,7 @@ listing. The starter `config/jobs/tier.toml.example` documents a weekly job; not | `crates/memoryd/src/serve/admin.rs` | `Tiers` arm | | `crates/bxctl/src/memory.rs` | `["tiers"]` | | `crates/bxctl/src/cli.rs` | `USAGE` names `tiers` | +| `crates/bxctl/tests/cli_memory_sync.rs` | USAGE pin matches U1 (edit S1) | | `config/jobs/tier.toml.example` | new, given starter | | `crates/memoryd/tests/tiers.rs` | new, given | | `crates/bxctl/tests/cli_memory_tiers.rs` | new, given | @@ -36,7 +37,8 @@ listing. The starter `config/jobs/tier.toml.example` documents a weekly job; not - Create: `crates/memoryd/src/tiers.rs` (function below). - Modify: `crates/bxcore/src/memory.rs`, `crates/memoryd/src/lib.rs`, `crates/memoryd/src/serve/admin.rs`, `crates/bxctl/src/memory.rs`, - `crates/bxctl/src/cli.rs`, `docs/implementer-log.md`. + `crates/bxctl/src/cli.rs`, `crates/bxctl/tests/cli_memory_sync.rs`, + `docs/implementer-log.md`. - Do not touch: any other file. Do not edit `crates/bxctl/tests/cli_memory.rs`. ## Facts you need @@ -178,6 +180,24 @@ becomes bxctl memory log [N] | undo | pending | accept | reject | sync | tiers [--memory-socket PATH] ``` +### `crates/bxctl/tests/cli_memory_sync.rs` + +**S1.** `sync_parses` pins the USAGE line from M5c. U1 changes it. The lines + +```rust + USAGE.contains("| reject | sync [--memory-socket PATH]\n"), + "{USAGE}" +``` + +become + +```rust + USAGE.contains("| reject | sync | tiers [--memory-socket PATH]\n"), + "{USAGE}" +``` + +Do not edit `cli_memory.rs`. This file is the M5c pin of the same USAGE string. + ## Steps - [ ] **1. Copy the given files.** @@ -194,7 +214,7 @@ becomes `cli_memory_tiers` does not compile (`E0599` no variant `Tiers`). After M1 alone, `admin.rs` fails (`non-exhaustive patterns`). Do M1, A1, `tiers.rs`, B1, U1 together in step 3. This step is the first build against the given tests. -- [ ] **3. The edits.** M1, `tiers.rs` with a real `list`, `pub mod tiers;`, A1, B1, U1. +- [ ] **3. The edits.** M1, `tiers.rs` with a real `list`, `pub mod tiers;`, A1, B1, U1, S1. `cargo check -p bxcore -p memoryd -p bxctl` prints no error and no warning. `wc -l crates/memoryd/src/tiers.rs` prints a number ≤ 500. - [ ] **4. The tests.** `cargo test -p memoryd --test tiers` (4) and @@ -216,9 +236,10 @@ becomes ## Stop and report if - The branch check fails; a "before" block is not found exactly once; step 2 differs; `cargo - check` warns; a test fails; the gate count is not 1574; you edit `cli_memory.rs`; identity - entries show a non-zero hit count; untrusted notes are omitted; you add a cron crate; you - special-case the name `tier` in `loopd`. + check` warns; a test fails; the gate count is not 1574; you edit `cli_memory.rs`; you leave + the `cli_memory_sync` USAGE pin on the old string; identity entries show a non-zero hit + count; untrusted notes are omitted; you add a cron crate; you special-case the name `tier` + in `loopd`. ## What the given tests pin