Skip to content

v1.108.162 — canonical handoff contract: finalize_handoff + munch://handoff/<id> (#374)

Choose a tag to compare

@jgravelle jgravelle released this 23 Jul 17:13

Server-owned canonical final handoff (jcodemunch.handoff/v1, requested by @mightydanp in #374). A multi-step repository audit can now end with one authoritative Markdown result and no client-specific Stop hook.

The assistant authors the analysis; finalize_handoff deterministically assembles the caller's sections plus optional named appendices (each exactly once), validates every evidence_refs entry against the session's actual retrieval record (served-symbol ids from search_symbols / get_ranked_context; unknown refs fail closed with isError and an unknown_refs list), persists the result session-scoped, and returns a compact receipt: {handoff_id, resource_uri, sha256, length, canonical: true}. The immutable body is served by the munch://handoff/<id> resource with byte-identical repeated reads. canonical: true is advisory metadata for clients that can render an authoritative MCP resource directly.

No character limit; never writes to the repository; Counter menu/route/order coverage (state-changing, opt-in). Standard tier, resident core schema budget unchanged; tool count 90 -> 91. Tests: tests/test_v1_108_162.py (22); full suite 5528 green with Tests + Replay CI passing before publish.