Claude Code's auto mode delegates tool-call approval to a model-based safety
classifier. Before every Bash command (and other tool calls), Claude Code fires
a separate HTTP request to a small model — by default a hard-coded name like
claude-haiku-4-5-20251001 — that sees only the user messages and the proposed
tool call, then returns an allow/deny judgement. When you route Claude Code
through a proxy instead of Anthropic's API, that classifier traffic is easy to
lose: it either fails silently (the proxy has no model alias for the classifier
name) or gets remapped at the client into the same model as the main session
Evaluation of the changes required to kenn-io/msgvault#299 ("feat: add --http flag to mcp command for StreamableHTTP transport") once kenn-io/msgvault#304 (identities-collections-dedup) is merged into upstream main.
Zero file overlap. Zero textual conflicts. Truly orthogonal.
| File | PR299 | #304 | Overlap? |
|---|
Evaluation of the changes required to kenn-io/msgvault#298 ("Pr2 branch postgresql dialect") once kenn-io/msgvault#304 (identities-collections-dedup) is merged into upstream main.
Zero textual conflicts on shared files. Only one file is touched by both PRs:
| File | PR298 hunks | #304 hunks | Conflict? |
|---|
Evaluation of the changes required to kenn-io/msgvault#301 ("feat: expose HTML email content and inline MIME parts via API") once kenn-io/msgvault#304 (identities-collections-dedup) is merged into upstream main.
Zero textual conflicts. Every overlapping file edits a different function or different line range:
| File | PR301 hunks | #304 hunks | Conflict? |
|---|
Evaluation of the changes required to kenn-io/msgvault#292 ("feat: add search_by_domains MCP tool for multi-domain participant search") once kenn-io/msgvault#304 (identities-collections-dedup) is merged into upstream main.
Zero textual conflicts. Every overlapping file edits a different function or different line range:
| File | PR292 hunks | #304 hunks | Conflict? |
|---|
Evaluation of the changes required to kenn-io/msgvault#281 ("Add Facebook Messenger DYI import") once kenn-io/msgvault#304 (identities-collections-dedup) is merged into upstream main.
Two real merge conflicts in the query layer; everything else is disjoint or additive.
| File | PR281 hunks | #304 hunks | Mechanical conflict? |
|---|
Evaluation of the changes required to kenn-io/msgvault#284 ("feat: import-pst — import Microsoft Outlook PST archives") once kenn-io/msgvault#304 (identities-collections-dedup) is merged into upstream main.
Zero textual conflicts. PR284 only adds new files plus go.mod/go.sum entries:
| File | PR284 | #304 | Conflict? |
|---|
Evaluation of the changes required to kenn-io/msgvault#297 ("feat: add Google service account support for domain-wide delegation") once kenn-io/msgvault#304 (identities-collections-dedup) is merged into upstream main.
No textual conflicts expected. Every overlapping file lands in disjoint hunks:
| File | #297 hunks | #304 hunks | Mechanical conflict? |
|---|
Evaluation of the changes required to kenn-io/msgvault#303 ("imessage: backfill display names from vCard contacts") once kenn-io/msgvault#304 (identities-collections-dedup) is merged into upstream main.
One real merge conflict, three trivial:
cmd/msgvault/cmd/import_imessage.go— both branches modify the same hunks:
- Imports: #304 adds
"net/url"; #303 adds"github.com/wesm/msgvault/internal/vcard". → trivial union.
A status line + hooks combo that shows how long since your last API call, so you know when your prompt cache has expired (5-minute TTL). Works per-workspace so multiple sessions don't interfere.
Colors:
- Green: cache warm (< 3 min)
- Yellow: getting stale (3-4 min)
- Red: about to expire (4-5 min)
- Red + "expired": cache is gone, consider starting fresh