This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Summary
AI summaryTool-result extraction now automatically writes durable facts into attend flows and forces write nudges when needed.
Full changelog
Bundle 1: "Make extraction actually work end-to-end"
M2 — Tool-result extraction
iranti_attend now accepts a toolResult payload. When a host passes the content of a just-completed read-only tool call (Read, Grep, Bash, WebSearch, WebFetch), Iranti automatically extracts durable facts from it and writes them before the attend flow continues. Extracted content feeds straight into the write-nudge threshold this turn, so the agent sees its own new drafts immediately.
- Plumbed through the SDK (
ToolResultPayload), the MCP server (toolResultzod schema oniranti_attend), the REST API validation middleware, and the/attendroute. - Gated on
phase !== 'post-response'— the closeout path has its own capture.
M3 — Centralized write nudges with forced injection
maybeBuildWriteNudge now runs exactly once per attend (right after the autowrite pass). When a nudge is present but decideMemoryNeed returned needed:false, the decision is force-upgraded to needed:true with explanation write_nudge_forced. shouldInject was expanded to cover writeNudge and matchedUserRules so nudge-only and rule-only injections surface instead of falling into memory_checked_no_match. A new reason='forced' value fires on the nudge-only path.
Fixes a real bug where the success-path attendResult builder was recomputing shouldInject inline and dropping the writeNudge from final responses.
A2 — Autowrite rollback CLI
New iranti revert-autowrite --since <duration> command. Every attendant autowrite is stamped source='attendant_autowrite' so rollback by time window is safe and precise.
- Defaults to dry-run preview; pass
--committo actually delete. - Flags:
--since,--until,--commit,--json,--instance,--project-env. - Duration parser supports
ms|s|m|h|dsuffixes. - New query helpers:
findEntriesBySourceAndWindow,deleteEntriesBySourceAndWindow.
Tests
28 new unit + stubbed-integration tests in tests/attendant/run_m2_tool_result_autowrite_tests.ts (run with npm run test:m2-tool-result-autowrite).
Backward-compat verified locally against: test:mock-provider, test:mock-failure-modes, test:mid-turn-attend, test:tool-call-retrieval, test:file-change-recall, test:user-operating-rules, test:router, test:compliance-task-relevance.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About nfemmanuel/iranti
Persistent shared memory for AI coding agents. Stores facts as `entity/key/value` triples with hybrid semantic search, task checkpoints, and conflict resolution — shared across Claude Code, Codex CLI, and GitHub Copilot.
Related context
Related tools
Beta — feedback welcome: [email protected]