Cross-Pollination Brief — April 29, 2026
Klatch's Tuesday session closed the loop on the round-trip story: /import/klatch is now live (Round 31 + 31b, 45 new tests, 1203 total, zero failures), making the canonical format bidirectional for the first time — "both interchange spec AND portable archive" per the updated format spec. PM's Tuesday session shipped two operational tools (deliver-mail b1, merge-keeper-sweep) that together eliminate MANIFEST append races and automate Docs's daily merge protocol, all in a single calibration-window session. ADR-061 v0.1 review surfaced two completeness gaps before ratification; Phase F pre-stage is held and ready, awaiting ~7–14 days of real-input observation under the new calibration-window posture.
Key Insights
1. Klatch /import/klatch ships: canonical format is bidirectional; round-trip claim honest without hedging
From: Klatch docs/logs/2026-04-28-0726-daedalus-opus-log.md (Round 31); docs/logs/2026-04-28-0848-argus-opus-log.md (Round 31b); commits 287f532, d2a4c1c, fb857e2
Relevant to: PM (round-trip architecture patterns; idempotency design; any future export/import surface)
Round 31 (Daedalus): packages/server/src/import/klatch-import.ts (320 lines) + POST /api/import/klatch route. Design decisions: idempotent by canonical UUID across project, channel, entities, files; 409 + forceImport=true semantics (fork under fresh UUID, original preserved); source preservation (claude-code / claude-ai / klatch stamped correctly); reflections recovered via field_notes entries marked source: 'micro-reflection'. POST /api/projects now accepts memory field (aligned with PATCH). Format spec updated: format is both interchange spec and portable archive. +15 tests; 1013 server total.
Round 31b (Argus): 30 extended tests across six scope categories. Key design clarification surfaced: re-exporting an imported channel advances the provenance chain by one hop (by design; layer_fidelity.L1 flips from 'absent' on native to 'full' on imported channels because channel.source !== 'native'). Not a regression — pinned explicitly. MCP × import parity verified: assembleChannelManifest output re-imports identically to the HTTP-export path, confirming a future MCP-package round-trip would work without adaptation. Final count: 1203 total (1043 server + 160 client), zero failures.
Cosmetic fix (fb857e2): klatch-to-klatch provenance summary was falling through the ternary and reading "Original claude.ai session" — one-liner fix added the 'klatch' branch.
Two open spec questions for xian (non-blocking):
format_versiongating on import path: permissive today (accepts any version); Daedalus leans gate it (silent field-drop is worst-case fidelity loss).- Empty
entities: []import: creates un-exportable channel; Daedalus leans auto-attach default entity (matchescreateChannelseed behavior).
Still pending: Iris UX input on Finding 1 (UUID-matching for claude.ai/claude-code re-imports — four UX shapes floated: silent attach, toast, confirm dialog, mixed). Theseus live MAXT queued after 31b sign-off.
Suggested action: PM — the /import/klatch idempotent-by-canonical-UUID pattern is the design answer to two of yesterday's round-trip gaps (project UUID-matching, no re-import path). If PM ever builds an export/import surface, these are the three properties to design in from day one: (1) idempotency keyed on canonical IDs, not re-derived match keys; (2) explicit 409 + force semantics so users can choose attach vs fork; (3) provenance chain advances by design on re-export — document it rather than hide it.
2. PM operational automation: deliver-mail (b1) + merge-keeper-sweep ship in one session
From: PM dev/2026/04/28/2026-04-28-0715-lead-code-opus-log.md; commits 4df5130 (deliver-mail), f63c2ac (merge-keeper-sweep)
Relevant to: Klatch (session coordination patterns; manifest management; branch hygiene automation)
deliver-mail (b1) (scripts/regenerate-mailbox-manifests.py, 319 lines): walks mailboxes/{role}/{inbox,read}/, parses YAML frontmatter, regenerates MANIFEST.md per directory atomically (temp+rename). SessionStart hook integration: every session-start refreshes all role manifests automatically. Bulk baseline: 24 manifests across 16 roles regenerated. Eliminates the append-race failure mode where simultaneous skill calls hit the same MANIFEST and produce duplicates or missed entries. CLI: --role, --dry-run, --quiet.
merge-keeper-sweep (scripts/merge-keeper-sweep.py, 454 lines): automates Docs's daily merge-keeper protocol. Heuristic: "wrapped" = last commit >24h; "clean" = no sensitive patterns (.env, .pem, .key, credentials.json), no >1MB blobs, no conflicts. Auto-merges wrapped + clean; escalates everything else (conflict via git merge-tree read-only check, pattern match, large blob, unparseable state). Default is dry-run; --apply to execute. Dry-run against current state found 1 auto-mergeable, 2 escalations (.DS_Store contamination; merge conflict), 1 active-session skip.
Also shipped in the same session: Excellence Flywheel retired (CIO A3 disposition; 6 files deleted; discovered work #1026 filed for pre-existing test_decompose_moderate_task failure). #1012 dead-code sweep (4/5 items; Item 4 CLAUDE_OPUS rename deferred pending PM call). #1013 /auth + /setup → /api/v1/ prefixes (17 files). All closed per close-issue-properly skill.
Suggested action: Klatch — Klatch has fewer roles than PM but similar session-coordination patterns. The regenerate-from-filesystem approach (walk the directory, recompute, atomic write) is strictly more robust than append-on-action for any manifest-style artifact. The merge-keeper's "escalate-by-default, auto-merge only clean-and-old" heuristic is sound enough to adopt as a standing cadence — the key insight is that the branch age threshold (>24h) plus safety pattern checks together make auto-merge safe without per-branch human review.
3. ADR-061 completeness gaps + Phase F calibration-window posture + SessionStop hook scoped
From: PM dev/2026/04/28/2026-04-28-0715-lead-code-opus-log.md; commits 7385f45 (ADR-061 review), cbbaf3b (SessionStop scoping)
Relevant to: Klatch Daedalus (safety layer audit telemetry; trust architecture design)
ADR-061 v0.1 review found two substantive completeness gaps before ratification:
detectorfield in audit envelope has three values ("literal-trigger" | "semantic" | "none") per shipped code (Step 5, commit8792b1d4); ADR §Audit Envelope shows only two. The"none"value is what makesFLOOR_IMPLICIT_ETHICSdetectable — the floor fires but no detector layer triggered it. Missing from the ADR.- Shipped audit envelope includes
fast_path_hit(bool) +cache_hit(bool) — both operator-relevant for calibration-window analysis; neither in the ADR. - Latency claim "~150-300ms p99" reads low vs measured probe-set data (p_avg ~3.2s, p_max ~4.9s uncached on run-2). Calibration data should replace the estimate.
Ratification path: fold all three into v1.0; Architect targeting mid-week.
Phase F posture (PM/PA decision from April 28): AUTHORIZE-WHEN-OBSERVED. Branch claude/phase-f-flag-flip is staged and ready (verified live: h-1 anchor classifies as harassment / semantic / block / 0.9). Hold until calibration window (~7–14 days) produces real-input observation data before flipping ENABLE_ETHICS_ENFORCEMENT=true. Reframes the hold from "wait for ADR-061" (which landed) to "wait for calibration data."
SessionStop hook scoping (Lead Dev reply to Docs): both SessionEnd and PreCompact are feasible hook points (~30–60 min to wire); warn-only (hooks cannot block session end). Recommendation: PreCompact-only first — it's the highest-risk close path (compaction can lose uncommitted work if not signed off), and adding SessionEnd later is incremental.
Suggested action: Klatch Daedalus — the "none" detector value (FLOOR_IMPLICIT_ETHICS fires, no literal or semantic detector triggered) is the audit state that proves the floor itself is load-bearing independent of the detector layers. If Klatch ever adds a safety/trust layer, plan audit telemetry to distinguish: explicit boundary trigger, floor-routed-to-guidance, and floor-fires-but-no-detector — three distinct operational states with different implications for calibration.
Sources Read
klatch/docs/logs/2026-04-28-0726-daedalus-opus-log.md— full read; Round 31 impl, Round 31b sign-off, open spec questions, session wrapklatch/docs/logs/2026-04-28-0848-argus-opus-log.md— full read; Round 31b extended coverage, fidelity matrix, MCP × import parity, idempotency invariants, negative cases- Klatch commits
287f532(Round 31),d2a4c1c(Round 31b),fb857e2(provenance fix) — stat and message read piper-morgan-product/dev/2026/04/28/2026-04-28-0715-lead-code-opus-log.md— full read; ADR-061 review, deliver-mail (b1), merge-keeper-sweep, Excellence Flywheel, #1012/#1013, Phase F pre-stage, SessionStop scoping- PM commits
4df5130,f63c2ac,adfd453,36d3be8,469bd7c,7385f45,cbbaf3b— stat and message read atlas,globe,cuneo,weather,one-job,optilisten,nyt-crossword— 48h logs non-empty (brief delivery and automated status commits only); no narrated insights.
Not re-reported (covered in prior briefs): #1004 ships 112/112 PASS + Phase F open to PM/PA (Apr 28); first live MCP stdio integration 27/27 + export round-trip 3 gaps (Apr 28); CoS PO advice source-check (Apr 28); Methodology-24/25 + CT v2.3 (Apr 28); Klatch MCP 1.0 feature-complete Phase 5c-i (Apr 27); first live AAXT behavioral run CH1-CH3 + code-fence fix (Apr 27); Phase E S1 r2 harassment → GUIDANCE + #1003 (Apr 27); Pattern-063 Parallel-Authoring Drift (Apr 27).
Canonical archive: designinproduct.com/internal — if your local copy is missing or stale, fetch the latest from the hub.
Agents with questions for xian — about methodology, working patterns, or observations that don't fit elsewhere — can submit via question-{from}-{date}-{topic}.md to dispatch mail or project mail. See PROTOCOLS.md in the dispatch repo for format and routing hints.