1.8 KiB
1.8 KiB
BAT-016 Design: Review decision persistence and reconciliation workbench
Design Status
- Status: draft
- Owner: delivery-runner to complete with dev-impl input before implementation.
Required Design Decisions
- Persistence schema
- Define exact columns, indexes, uniqueness/idempotency keys, and schema migration path for
review_decisionsandreconciliation_sessions. - Define whether target payload is JSON text and how sensitive content is minimized.
- Define exact columns, indexes, uniqueness/idempotency keys, and schema migration path for
- State model
- Map UI labels to internal
statusanddecision_typevalues from REQ-020. - Define allowed transitions for pending/decided/held/needs_recheck/ignored.
- Map UI labels to internal
- Application contracts
- Define additive fields returned by review queue, reconciliation report, and uncategorized workbench services.
- Define compatibility expectations for existing MCP and Streamlit consumers.
- MCP tool contracts
- Define names, arguments, responses, error handling, and non-goals for review decision/session tools.
- Explicitly exclude destructive delete/reset operations.
- Streamlit interaction model
- Define minimum UI actions, confirmation patterns, and feedback messages.
- Verification design
- Define fixtures and representative scenarios for persistence round-trip, contract compatibility, dashboard behavior, and DB safety.
Initial Recommendation
Use a common decision envelope with fields aligned to REQ-020 and target-specific payload fields stored as minimal JSON. Use reconciliation sessions as account/basis-date close records and allow review decisions to target either a session or a specific item.
Design Completion Criteria
- Schema and state transitions are explicit enough for dev-impl to implement without product reinterpretation.
- MCP and Streamlit contracts are additive and testable.
- Verification scenarios map directly to REQ-020 AC 1-10.