Update schema.allium: mcp_proposals, chat surface state, publish_jobs #94
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Source: Audit section 4 (spec behind code/bDS2).
Gaps in
specs/schema.allium:mcp_proposals— exists in RuDS (crates/bds-core/migrations/2026-07-19-123029-0000_add_mcp_proposals/up.sql: kinds draft_post/propose_script/propose_template/propose_media_translation/propose_media_metadata/propose_post_metadata; statuses pending/executing/accepted/rejected/expired; data/result/expires_at/resolved_at) and in bDS2 (migration 20260424100817). Spec has proposal RULES in mcp.allium but no persistence entity.20260719163000_add_chat_surface_state, bDS220260527175452_add_chat_conversation_surface_state); ChatConversation entity in schema.allium doesn't mention it.publish_jobs— bDS2-only table (migration 20260424100817); schema.allium omits it. Coordinate with the "Persist publish jobs" issue: document it as either planned or an intentional divergence.Task: Add/extend the entities + record surfaces in
specs/schema.alliumto match the real DDL (sqlite semantics), including the mcp_proposals unique-index invariant (see companion index issue). Keep the MigrationVersion comment current. Validate with the installedalliumCLI (allium check). Ensure invariants gained here are covered by unit tests per AGENTS.md (e.g. proposal status CHECK constraints round-trip).Acceptance:
allium checkpasses; schema.allium matches both codebases' DDL; divergences explicitly annotated.Implemented in
fc039d8. Updated schema.allium from the current RuDS Diesel and bDS2 Ecto migrations: added all MCP proposal kinds/statuses and the complete RuDS persistence record, chat conversation surface_state, both record-surface exposures, the kind/entity/status SQLite uniqueness invariant, and the current migration version. Documented bDS2's smaller MCP row shape and the maintainer-approved #86 decision that publish_jobs remain an intentional bDS2-only persistence divergence. Added migration coverage proving every persisted proposal enum value round-trips and SQLite rejects invalid kinds/statuses; existing tests cover chat-state migration preservation and proposal uniqueness. Neutral Allium/code/bDS2 review found no remaining issue-scope drift. Verified with allium check/analyse, cargo test --workspace, cargo build --workspace, strict Clippy, cargo fmt --check, and cargo machete.