diff --git a/FUTURE.md b/FUTURE.md index fca031e..782059a 100644 --- a/FUTURE.md +++ b/FUTURE.md @@ -4,6 +4,15 @@ Backlog of improvement ideas not on the active roadmap. --- +## Extend /explore-minimax to more modes and parallel sweeps + +- **Problem:** MiniMax-backed exploration (2026-09-11) is only wired into deep, deep-fable, and orch mode guidance, and runs one synchronous sweep at a time; quick/hybrid modes still use Anthropic subagents for all searches. +- **Idea:** After a few weeks of real use, extend the preference to `quick.md`/`hybrid.md` if answer quality holds, and add a parallel pattern (multiple `explore-minimax-run` invocations via background Bash with distinct roots/questions) for dataset-wide audits. +- **Open questions:** What's the observed false-citation rate in practice? Is 540s enough for very-thorough sweeps on large repos? Should the citation spot-check be automated (script greps each cited line)? +- **Depends on:** Usage data from deep/deep-fable sessions + +--- + ## Standing Deployment Authorization in CLAUDE.md - **Problem:** Claude has all the tooling needed to run deployment steps (sops, ansible-playbook, kubectl, docker, git push) but must ask for confirmation every time because these are irreversible, shared-infrastructure operations. This makes multi-step milestone deployments slow and interactive. diff --git a/memory/log/2026-09-11.113748.md b/memory/log/2026-09-11.113748.md new file mode 100644 index 0000000..22e6fcf --- /dev/null +++ b/memory/log/2026-09-11.113748.md @@ -0,0 +1,23 @@ +# Session Log -- 2026-09-11 + +## Summary +Built the MiniMax-backed exploration pipeline: `explore-minimax-run` wrapper (small-scripts `abed9e7`), `/explore-minimax` skill (custom-claude-skills `d0bf995`), mode-file guidance (deep/deep-fable/orch prefer it for broad read-only sweeps), and memory/docs (claude-foundations `468d75b`). Smoke-tested end-to-end against small-scripts with verified citations. Cleared stale "unpushed insights commits" block from CONTEXT.md after confirming all six repos in sync. + +## Decisions +- Decision: Route broad read-only exploration to a MiniMax M3 sub-session via a hardened wrapper + thin skill, keeping the Anthropic Explore agent as fallback -- Rationale: the Explore agent already keeps context small, so the win is Anthropic token/rate-limit cost; MiniMax reliability risks are mitigated by a `file:line` citation gate, spot-check rule, and fallback exit codes (2 = failed, 3 = uncited). +- Decision: Put all sharp edges in the `explore-minimax-run` script (small-scripts) rather than the SKILL.md -- Rationale: avoids `$()` permission prompts, three drifting near-identical skills, and unverifiable in-skill hardening; the skill stays thin and permission-clean. +- Decision: Enforce read-only with `--disallowedTools "Write,Edit,MultiEdit,NotebookEdit,Bash,WebFetch,WebSearch"` -- Rationale: the minimax profile's settings.json defaults to `acceptEdits` and allows `Edit(/tmp/**)`/WebFetch, so dropping `--permission-mode acceptEdits` alone enforces nothing; deny beats allow. +- Decision: Hard-refuse any `--root` under `secrets/`/`local_secrets/` in the wrapper, plus a credential skip-list in the prompt preamble -- Rationale: a third-party model doing an unbounded Grep must never see secret-adjacent paths; defence in depth. + +## Gotchas Discovered +- **[skills]** Symptom: validate-skill ERROR on a bang-command with a hardcoded `/home/paul/...` path -- Fix: use `~/` (leaves an acceptable WARN about sandbox rejection of `~` in bang-commands). +- **[skills]** Symptom: expected new skills to be invisible mid-session, but /explore-minimax registered in the same session right after `install.sh` -- Fix: the "skills only discovered at session start" limitation in gotchas-skills.md appears outdated for this harness version; still verify by direct script invocation when unsure. + +## Key Context +- Opus plan review (deep-fable named workflow) was decisive: caught 6 blocking issues in the naive design (workspace scoping, secrets, unenforced read-only, stdout-noise failure mode, Bash timeout, `$()` prompts) before implementation. Verdict approve-with-changes; all incorporated. +- Smoke test: "where do claude-profile modes live / what loads them" answered in ~3 min with exact citations (spot-checked `claude-profile:24`, `:297-298`). +- `~/dev/claude/claude` is a symlink into claude-foundations/claude; `~/dev/claude` itself is not a git repo — guidance edits there commit in claude-foundations. +- CONTEXT.md's 2026-06-12 "unpushed commits pending approval" block was stale: all six named repos were in sync with origin; block removed. + +## Process Notes +- The deep-fable plan-review workflow (Opus critique of the plan file before ExitPlanMode) paid for itself this session; keep invoking it for design work.