Commit Graph

4 Commits

Author SHA1 Message Date
jared cc450c385b os-vault: add SessionStart git pull for multi-machine vault/memsearch freshness
Sync was push-only via SessionEnd (vault_sync.py/memsearch_sync.py); a second
machine's copies could go stale. session_start.py now runs a fast-forward-only,
10s-timeout git pull for both repos before the staleness check — silent on
success, quiet one-line stderr note on failure, never blocking session start.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018Mb3V8NNzAuns7vgX9A2jU
2026-07-10 10:06:55 -04:00
jared 42860d06d1 os-vault: WS2 wording loop — destination ladder shipped, reserve grid measured
4 iterations (destination ladder -> mechanical vault-root -> CLAUDE.md
cross-project-memory section -> ADR-vs-vault disambiguation) + candidates 2-4
unscored + post-reserve YAML-colon quoting rule. Confirm 18/18 sonnet, 16/18
haiku; held-out reserve trigger-axis 13/18, negatives 17/18 (baseline 1/19,
18/18). Checker breach-regex false positive fixed + rescored, 2 self-test
guards added. Run-set and reserve both contaminated now.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 14:01:15 -04:00
jared 638c6d03ed os-vault: WS2 write-behavior eval harness + untuned baseline grid
plugins/os-vault/eval/ — held-out unprompted vault-write discrimination eval:
ambiguity ladder L1 explicit -> L3 conceptual, paired positives/negatives,
6 run-set scenarios on a new reportgen Ruby fixture + 6 frozen reserve twins,
isolated sandbox vault, headless-only runner, deterministic-first Ruby checker
(narrow judge fallback stubbable via OS_VAULT_EVAL_JUDGE_CMD), model-free
self-test 21/21. Scenario Task blocks are held-out; reserve never read.

Isolation seam: OS_VAULT_PATH overrides vault_path via config.load_config();
OS_VAULT_SKIP_REBUILD suppresses the SessionStart graphify rebuild. Write
SKILL.md contract fix (defers to vault-conventions.md) + Vault location section.

Baseline grid (run-set x sonnet/haiku x 3 reps + 1 counted canary, 37 reps):
positives 1/19, negatives 18/18. L1 persists every rep but routes to built-in
auto-memory instead of the vault; L2/L3 mostly don't persist; zero
over-triggering. Wording loop (step 4, not started) targets: trigger at
L2/L3, route to vault at L1. Loop-input candidates: vault note
os-vault-write-eval-baseline-grid-results. CLAUDE.md pointers updated for
this and os-status.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 12:46:22 -04:00
jared f138c8d98b Rename memory plugin to os-vault; fix marketplace registration
The plugin directory, symlink, and settings.json were already renamed to
os-vault, but the local-plugins marketplace manifest still declared the old
memory/./memory entry, so skills/slash-commands silently stopped registering
while hooks (wired by absolute path) kept working. Re-registered the plugin
under its new name via the marketplace manifest + claude plugin install/
uninstall, and documented the fix and standing rename procedure (ADR-018,
CLAUDE.md) so this doesn't recur.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-03 09:43:18 -04:00
Renamed from plugins/memory/hooks/session_start.py (Browse further)