diff --git a/vault b/vault index 6880a79..29ea5a8 100755 --- a/vault +++ b/vault @@ -15,11 +15,11 @@ Subcommands: vault sync-data reconcile /data skeleton to match manifest (create missing dirs) vault manifest regenerate the topology manifest note vault report [--pretty] deterministic Librarian report (delegates to vault-librarian.py) - vault analyze [--sonnet|--opus] [-m MODEL] [--provider PROVIDER] - spawn a Hermes Librarian pass. DEFAULT: Haiku/Bedrock - (cheap+fast — the nightly/weekly tier). --sonnet / --opus - step up intelligence & cost for harder judgment calls. - -m/--provider override entirely (future/non-Bedrock models). + vault analyze [--haiku|--sonnet|--opus] [-m MODEL] [--provider PROVIDER] + spawn a Hermes Librarian pass. DEFAULT: Opus (smart — + draws the auto-fix/flag line correctly, ~$0.14/run so cheap + enough for nightly). --sonnet / --haiku step DOWN for + cheaper/faster passes; -m/--provider override entirely. """ import os, re, sys, subprocess @@ -32,9 +32,9 @@ HERMES = "/run/current-system/sw/bin/hermes" LIBRARIAN = os.path.join(_SELF_DIR, "vault-librarian.py") PROMPT = os.path.join(_SELF_DIR, "vault-librarian-prompt.md") -# `vault analyze` model tiers. Default is Haiku — cheap+fast for the nightly/weekly -# pass. --sonnet / --opus step up intelligence & cost inline. IDs verified against -# this host's Hermes config + the active Bedrock provisioning. +# `vault analyze` model tiers. Default is Opus — smart enough to draw the auto-fix/ +# flag line correctly, and ~$0.14/run so cheap enough for a nightly pass. --sonnet / +# --haiku step DOWN. IDs verified against this host's Hermes config + Bedrock provisioning. ANALYZE_TIERS = { "haiku": "us.anthropic.claude-haiku-4-5-20251001-v1:0", "sonnet": "global.anthropic.claude-sonnet-5", @@ -148,12 +148,15 @@ def main(): sys.exit(subprocess.run([sys.executable, LIBRARIAN] + argv).returncode) elif cmd == "analyze": prompt = open(PROMPT, encoding="utf-8").read() - # Model tier: default Haiku (cheap nightly). --sonnet/--opus step up. + # Model tier: default Opus (smart — draws the auto-fix/flag line correctly, + # ~$0.14/run so cheap enough to run nightly). --haiku/--sonnet step DOWN. # Raw -m/--provider override the tier entirely (escape hatch for future models # or non-Bedrock providers). Tier flags are last-wins if combined. - tier = "haiku" + tier = "opus" if "--sonnet" in argv: tier = "sonnet" + if "--haiku" in argv: + tier = "haiku" if "--opus" in argv: tier = "opus" model = ANALYZE_TIERS[tier] @@ -179,8 +182,8 @@ def main(): print(f" model: {model}", file=sys.stderr) print(" output is buffered; a full pass can take 1–3 min before you see anything.", file=sys.stderr) - if tier == "haiku": - print(" step up: vault analyze --sonnet (or --opus) for harder judgment calls", + if tier == "opus": + print(" step DOWN: vault analyze --sonnet (or --haiku) for cheaper/faster passes", file=sys.stderr) sys.stderr.flush() subprocess.run(hcmd)