Repository navigation
v0.5.0
Major architectural simplification and feature expansion for doit's MCP server.
Added
- Work sessions —
doit_session_start/_end/_statuslet an agent declare the scope of a chunk of work. L3 evaluations inside the session reuse the scope for faster, more contextual decisions. Sessions auto-expire. - Two-tier L3 cascade — fast triage on sonnet with fall-through to opus for genuinely ambiguous cases. Most commands resolve at the fast tier; opus is reserved for the hard ones. Configured via
policy.level3_fast_modelandpolicy.level3_model. - L2 policy management —
doit_policy_list,doit_policy_delete,doit_policy_reviewfor inspecting and curating learned policy entries. doit_self_audit— detects L1/L2 contradictions, stale entries (90+ days), orphaned Starlark rule IDs, and duplicate L2 coverage.doit_repo_read— allowlisted read-only access to project metadata files (go.mod,Makefile,CLAUDE.md, etc.) for L3 claim verification.doit_check_config— verifies the MCP-first deployment (Bash denied, doit registered) so misconfigurations surface immediately.- L3 enabled by default — new installs get the live LLM policy tier out of the box.
Changed
- Pipeline parser removed — doit no longer tokenises commands into segments at the engine level. The shell handles all composition (
&&,|,;, redirects); commands pass throughsh -cunchanged. Segment analysis, where it still happens, is an internal detail of individual policy layers. EvalResult—SegmentsandTiersfields removed. The dry-run output no longer displays them.Engine.RecordDecision— signature simplified to(command, decision); cap/subcmd match criteria are derived from the command string directly.- L3 rebuilt on
claude -p— the persistent claudia Session integration is gone. Every L3 call is now a stateless one-shotclaude -pinvocation, fixing a hang caused by Claude Code's/clearrolling the session ID. - Stderr logging suppressed — doit discards its own log output so MCP clients don't interpret informational messages as errors.
Fixed
- L3 init race: the engine now constructs L3 synchronously in
New, sodoit_session_startcan no longer fire before L3 is ready. claude -pno longer leaves PTY wrappers or JSONL tailers lying around after a broken session.
Docs
STABILITY.mdrefreshed to a v0.5.0 snapshot covering all 16 MCP tools, session APIs, and the L3 cascade.CLAUDE.mdarchitecture map updated (removedinternal/pipeline/, addedinternal/context/).- README and
agents-guide.mdtool tables completed.