- 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>
16 lines
3 KiB
Markdown
16 lines
3 KiB
Markdown
[PERSPECTIVE P01: The prerequisite inversion changes the conclusion, not just the sequencing]
|
|
The Judge's open question 4 asks whether GALETTE R1-T01 changes the conclusion or just the sequencing. It changes the conclusion. Building the trait boundary (RFC 0053 Phase 1-2) will force concrete answers to CROISSANT R1-T01 (trait governance), STRUDEL R1-T01 (domain-shaped vs backend-shaped), and ECLAIR R1-T01 (denormalization leakage) -- because you cannot define `SqliteDialogueStore` for 32 `&Connection` functions without deciding whether methods like `get_cross_dialogue_stats` or `find_similar_dialogues` belong in the trait at all. The trait extraction is not preparatory infrastructure; it is the design decision itself, made concrete by code rather than by RFC prose. Shipping the trait-extraction first means the panel's seven open tensions collapse into implementation choices with testable answers, not architectural speculation.
|
|
|
|
[PERSPECTIVE P02: A concrete three-phase gate resolves the open sequencing question]
|
|
Phase A: Extract `DialogueStore` trait from the 32 existing `&Connection` functions, implement `SqliteDialogueStore`, convert `dialogue.rs` handler call sites. This phase forces CROISSANT R1-T01 (which methods survive?) and STRUDEL R1-T01 (domain-shaped trait) into concrete decisions. Phase B: Define encryption envelope format with backend-portable AAD binding (resolves TARTLET R1-T01) before any DynamoDB write path exists. Phase C: Implement `DynamoDialogueStore` behind the now-stable trait. Each phase has a clear deliverable and a clear gate: Phase A ships when `alignment_db.rs` exports zero bare `pub fn ...(conn: &Connection)` signatures; Phase B ships when the envelope spec passes a round-trip test across both backends; Phase C ships when DynamoDB Local integration tests pass the same generic test suite as SQLite.
|
|
|
|
[REFINEMENT: Croissant's governance gate is answered by Phase A, not by process]
|
|
Croissant R1-T01 asks for a review gate on trait method additions. The strongest gate is not an RFC or ADR checklist -- it is the requirement that every `DialogueStore` method must have a passing implementation in both `SqliteDialogueStore` and `DynamoDialogueStore` before merge. Dual-implementation is the gate; CI enforces it.
|
|
|
|
[CONCESSION: Cannoli's in-memory assembly pattern makes denormalization cluster less urgent]
|
|
Cannoli correctly showed that at actual volumes (~100 items per dialogue), full-partition load plus client-side graph assembly is cheap. This means MUFFIN R1-T01 and MACARON R1-T01 (denormalization consistency and cost) are real but not blocking -- they can be deferred to Phase C without architectural risk.
|
|
|
|
[RESOLVED GALETTE R1-T01: Prerequisite inversion]
|
|
The emerging consensus sequence (Judge's synthesis steps 1-7) adopts the trait-first ordering, which resolves the inversion. The tension transforms from "premature debate" into "Phase A deliverable" with a concrete exit criterion: zero bare `conn: &Connection` public functions in `alignment_db.rs`.
|
|
|
|
---
|