claude-skills/engineering/memory-engineering/commands/cs-memory-engineering.md
Claude e716c6ada0
fix(memory-engineering): use plugin-root-relative paths in command files
CI gate G1 (scripts/check_paths.py) failed with 8 unresolvable references.

Both command files referenced `scripts/<tool>.py` and `assets/<file>` as if
they were relative to the command file, but commands/ sits at the plugin root
while the scripts live under skills/memory-engineering/. SKILL.md was correct
already — it sits inside the skill directory, so its bare `scripts/...` paths
resolve — which is why this only showed up in the two command files.

Rewritten to the plugin-root-relative form
(`skills/memory-engineering/scripts/...`), matching how agent-harness writes
its command paths.

check_paths.py --all now reports 0 findings across 586 files. Also re-ran the
other five blocking gates locally: check_plugin_json, check_dual_publish,
smoke_scripts, smoke_json_output, derive_counters --check — all pass, plus
compileall on the plugin.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jt1sqt5kQmopyfXu2Hhjnv
2026-08-09 04:31:15 +00:00

77 lines
2.9 KiB
Markdown

---
description: Price, choose, audit and gate an agent memory system — the full four-lens memory-engineering pass.
argument-hint: "[memory dir, design spec JSON, or a question about a memory system]"
---
# /cs:memory-engineering
Run the memory-engineering pass on `$ARGUMENTS`.
Load `engineering/memory-engineering/skills/memory-engineering/SKILL.md` and
follow it. Report every script's exit code as a finding — a non-zero exit is a
result to surface, never an error to swallow.
## Pre-flight
Establish these before running anything. If the user cannot answer 1 or 2,
that gap **is** the first finding — say so rather than guessing:
1. **Does a memory system exist yet, or is this a design?** Design → steps 1, 2, 4. Existing store → steps 1, 3, 4.
2. **What leaves the store today?** If the answer is "nothing", skip to step 4; the gate result is the headline.
3. **Is this actually a memory question?** Maintaining one markdown vault → `llm-wiki`. Nightly consolidation loop → `skillopt-sleep`. Bounding a task loop → `agent-harness`.
## Pass
**1. Price the write path**
```bash
python skills/memory-engineering/scripts/memory_cost_profiler.py --spec <workload.json>
```
Lead the report with the construction/query split and **cost per correct
answer**. Never present accuracy on its own.
**2. Choose which cost to pay**
```bash
python skills/memory-engineering/scripts/memory_architecture_picker.py --constraints <workload.json>
```
If it exits 2 (`AMBIGUOUS`), **stop and put the printed tie-breaking question to
the user.** Do not pick for them — the tie is real, not a tooling limitation.
**3. Audit the real store** (skip if this is a greenfield design)
```bash
python skills/memory-engineering/scripts/memory_density_auditor.py --dir <path>
```
Report the FACT/SKILL/LOG/PROSE split. Users are routinely wrong about how much
of their store is transcripts.
**4. Gate on forgetting** — blocking
```bash
python skills/memory-engineering/scripts/forgetting_policy_linter.py --policy <design.json>
```
Exit 4 is a **stop**. Name the failing check (F1 or F4) and its fix. Do not
present a FAIL alongside a recommendation to proceed.
## Output
Report in this order — cost before quality, always:
1. **Verdict** — one line, leading with the blocking result if there is one
2. **Cost** — construction/query split, cost per correct answer, amortization
3. **Architecture** — the family, and the cost it makes them pay
4. **What the store holds** — the FACT/SKILL/LOG/PROSE split, duplicates, staleness
5. **Forgetting gate** — PASS / CONDITIONAL / FAIL with the named failing checks
6. **Next step** — exactly one, sequenced per the ship order
Attribute every number to its source with a confidence level. Vendor customer
figures are testimonials, not benchmarks — label them as such.
For a structured walkthrough, hand the user
`skills/memory-engineering/assets/memory_engineer_worksheet.md` (the seven forcing questions) and walk
them **one at a time**.