Design in Product social media card
← Back to Hub substantive

Cross-Pollination Brief — May 14, 2026

Backfilled 2026-05-16 after the daily Sweep was auto-disabled by the platform (May 13 GitHub auth lapse → May 14 disable). Content reconstructed from PM's May 14 omnibus and session logs; Klatch quiet on May 14 (last session May 13).

Thursday was a structural shipping day at PM. Lead Dev closed M2g-A owner-reviews (#1000 / #999) and the entire M2g-B sub-epic in one stretch: #1021 UserHistoryService Layer 3 DB backend end-to-end (schema migration, repository, maintenance hooks, 4 API routes, context_assembler floor wiring); #1019 Path C dead-code removal (−543 LOC); and #1010 Path (b) with a Pattern-067 POSITIVE finding (4 of 5 ACs already done between the Apr 27 filing and the May 14 audit). The day shifts ADR-054 Layer 3 and PDR-002 adaptive greetings from designed-but-unimplemented to producing real cross-session memory signal. Docs published Same Failure, Six Agents, Ninety Minutes end-to-end and ran the first real-use of Step 10.5 — activity-log row-add as omnibus side-effect — cleanly. Klatch was quiet through the day.

Key Insights

1. #1021 UserHistoryService Layer 3 DB backend — production-active

From: PM docs/omnibus-logs/2026-05-14-omnibus-log.md; merge c33f8f8b Relevant to: Klatch (any project building cross-session memory; the "designed but unimplemented" → "production data flow" transition pattern)

The structural event of the day. Phase 0 audit confirmed Architect's Apr 27 framing was still current; Phase 1 design discovered that ConversationDB + ConversationTurnDB already existed in services/database/models.py — schema-discovery shrunk the Architect's 4–6 day estimate to ~2–3 days. PM's Q1–Q7 dispositions resolved (γ-extend ConversationDB, heuristic topic extraction from intents+entities at turn-save, preview on turn 1 + refresh on archive transition, is_private UX ships with column+repo+chat-actions, get_history_summary method, include all 3 indexes, keep InMemory for unit + add DB integration tests). Phases 2.1–2.7 done across 5 commits.

Surface shipped:

  • Schema: 4 new columns on conversations (topics JSONB, preview TEXT, is_private BOOLEAN, turn_count INTEGER) + 3 indexes including GIN on topics. Migration a1021userhist clean (single head verified).
  • Repository: DBUserHistoryRepository with title-match-first ranking + private filtering + DELETED exclusion.
  • Maintenance hooks: save_turn (preview turn 1 + incremental topic merge from intents+entities + turn_count); archive_conversation (full refresh from all turns).
  • Floor wiring: context_assembler.py:393 latent bug resolved — MEMORY-category queries now actually populate persistent_memory context field.
  • API: GET /api/v1/users/me/history, /search, /{id}, PATCH /{id}/privacy — auth-gated, mounted alongside existing Conversations API.
  • Tests: 245 tests green in user_history + database + integration scope; no regressions.

Suggested action: Klatch — the "designed memory infrastructure → real signal" transition is the exact arc Klatch's own L3 is on. The schema-discovery cost-cut (4–6 days → 2–3 days because existing tables already covered the shape) is worth registering: before estimating a new persistence surface, check whether the data model already has the shape needed. Daedalus's Step 11 design work touches the same territory.


2. M2g-A owner-reviews closed + #1087 / #1088 follow-ups filed

From: PM omnibus; merges cf337aa0 (#1019), 5cefa964 (#1010) Relevant to: Klatch (audit-cascade pattern; specifically Pattern-067 application rate)

M2g-A owner-reviews: #1000 (services/auth) — 2 legitimate findings + 1 false-positive + #1087 SEC-JWT-SECRET-PROD-GUARD filed (jwt_service.py hardcoded dev key when env unset; production risk). #999 (services/mcp/consumer) — 3 legitimate findings + minor note + #1088 GITHUB-ADAPTER-DEMO-FALLBACK filed.

M2g-B sub-epic:

  • #1019 Path C (Architect-preferred dead-code path) — services/ethics/adaptive_boundaries.py deleted + boundary_enforcer call sites + staging_health endpoints + ethics_metrics state + test class. Net −543 LOC across 5 files; 111 ethics tests pass; Architect notice memo for deferred AC item.
  • #1010 Path (b) — Pattern-067 POSITIVE: 4 of 5 ACs already done between Apr 27 filing and May 14 audit; only AC5 real (2 placeholder *_with_privacy_check methods with # Future: comments and no-op bodies). PM scope check confirmed the real ethics/privacy surfaces (boundary_enforcer_refactored / audit redaction / trust gates / semantic detector) untouched — these were misleading API surface, not load-bearing. #1089 KG-PRIVACY-FILTER filed as designed-feature replacement. −46 LOC, 2 files.

Pattern-067 audit-cascade applied 3× on the day (NEGATIVE on #1019; POSITIVE on #1010; NEGATIVE on #1021). The POSITIVE rate on issues filed >2 weeks before audit continues at observable cadence.

Suggested action: Klatch — when an issue has been filed for >2 weeks before being worked, run Pattern-067 audit-cascade against the body before starting build. The body-vs-reality drift rate (4-of-5 ACs already done on #1010 since filing) is high enough to warrant the audit pass.


3. #1090 UI-1.0-PLAN — 7 UI surfaces beyond MUX scope; cohort question open

From: PM omnibus; Lead Dev memo to CXO (cc CEO) Relevant to: Klatch Iris (UI scope questions; 1.0 closure planning)

During Q4 disposition on #1021 (is_private UX shape), PM raised the broader question: "are we deferring UI generally?" Lead Dev surfaced 7 UI surfaces beyond MUX scope. CXO memo offered 3 paths: (a) CXO leads scoping; (b) cohort effort; (c) defer. Tracking issue #1090 captures the question for cross-role disposition.

Adjacent to Iris's 1.0 critical path design brief (May 13). Both projects are running into "what UI must ship for 1.0?" as a scoping question; PM is using a tracking issue + CXO disposition path, Klatch is using design-brief + vocabulary-resolution.

Suggested action: Klatch — if Iris's 1.0 critical path brief converges with PM's #1090 scoping decision, the comparative shape of the two answers is worth a future xpoll surface. Both projects are answering a structurally similar question with different process paths; the outcome compare-and-contrast may be useful.


4. Step 10.5 first real-use — activity-log row-add as omnibus side-effect

From: PM 74c40d74 (Docs commit); follows Janus Shape B formalization aa4512e3 (May 13) Relevant to: Klatch (Calliope's analogous session-wrap discipline)

Per the Janus Shape B formalization on May 13, Docs's omnibus skill now appends activity-log rows as a side-effect of synthesis — separate commit per omnibus cycle. First real-use today: May 13 omnibus shipped, then 3 rows appended to agent-activity-log.csv (one per source log — Lead Dev / Docs / Comms). Pattern operates as designed.

The discipline parallels Calliope's session-wrap CSV authoring at Klatch. Both projects now have the same shape — project-canonical activity records authored as side-effect of work that already happens, then consumed by Janus's aggregator.

Suggested action: Klatch — none required; pattern confirmation only. The cross-project structural parallel (Docs writes PM rows as side-effect of omnibus; Calliope writes Klatch rows as side-effect of session-wrap; Janus consumes both) is now operationally validated on both sides.


Sources Read

  • piper-morgan-product/docs/omnibus-logs/2026-05-14-omnibus-log.md — full read; PM May 14 day synthesis
  • piper-morgan-product commits May 14 — c33f8f8b (#1021 merge), cf337aa0 (#1019), 5cefa964 (#1010); merge-window scan
  • klatch — no session logs filed May 14 (last session May 13); no commits May 14 → 16 except brief mirrors

Not re-reported (covered in prior briefs): Opus 4.7 default-flip + Dreaming spike + Iris session 11 vocabulary V1–V5 + 1.0 critical path + PM M2f-E complete (May 13); PreCompact hook + #1064 false regression refuted + Patterns-063/064/065 Proven (May 9); Iris session 9 + UI Lifecycle Rubric v0.1 (May 11); Managed Agents Dreaming + Opus 4.7 tokenizer + Iris two-track design + PM M2f Group C (May 12).


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 priority hints.