blue/.blue/dialogues/2026-02-06T1839Z-rfc-0058-supersession-hybrid-relational-dynamodb-architecture/round-2/cannoli.md
Eric Garcia 6e8f0db6c0 chore: add dialogues, RFCs, docs and minor improvements
- Add dialogue prompt file writing for audit/debugging
- Update README install instructions
- Add new RFCs (0053, 0055-0059, 0062)
- Add recorded dialogues and expert pools
- Add ADR 0018 dynamodb-portable-schema
- Update TODO with hook configuration notes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-26 08:51:56 -05:00

2 KiB

[PERSPECTIVE P01: In-memory assembly eliminates verdict denormalization entirely, resolving all three Cluster E tensions at once] The verdict's denormalized arrays (tensions_resolved, key_evidence, key_claims, recommendations_adopted) exist solely because RFC 0058 assumes read-time graph traversal is expensive in DynamoDB. It is not -- at actual volumes (~100 items per dialogue), a single Query(PK=dialogue#{id}) returns every entity and every ref in one round-trip, under 10KB. Build the adjacency map in memory, traverse it in microseconds, and the verdict entity stores only its own semantic content -- no pre-computed arrays, no write-amplification, no staleness risk. This dissolves MUFFIN R1-T01 (consistency) because there is nothing to go stale, MACARON R1-T01 (unmeasured cost) because there is no denormalization to measure, and ECLAIR R1-T01 (domain model leakage) because the denormalized fields never enter the domain model in the first place.

[PERSPECTIVE P02: Refs stay in the table as structural metadata; Strudel's per-entity adjacency lists are unnecessary] Strudel's R1 proposal to replace the refs table with per-entity JSON adjacency lists trades one denormalization problem for another -- now every ref mutation requires updating two entities (source and target) inside the encrypted payload, which is worse write-amplification than the verdict arrays. The refs as they exist in RFC 0058 (SK: ref#{source}#{type}#{target}, cleartext, no encryption) are already the cheapest possible representation: one item per edge, no encrypted payload to re-seal on update, and they arrive for free in the full-partition load that powers in-memory assembly.

[RESOLVED MUFFIN R1-T01, MACARON R1-T01, ECLAIR R1-T01] If the trait contract specifies that verdict assembly is computed at read time via full-partition load plus in-memory traversal -- not stored as denormalized arrays -- all three denormalization tensions become moot because the denormalization itself is eliminated.