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.
Chat surface state — both apps added it (RuDS migration 20260719163000_add_chat_surface_state, bDS2 20260527175452_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.allium to 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 installed allium CLI (allium check). Ensure invariants gained here are covered by unit tests per AGENTS.md (e.g. proposal status CHECK constraints round-trip).
**Source:** Audit section 4 (spec behind code/bDS2).
**Gaps in `specs/schema.allium`:**
1. `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.
2. Chat surface state — both apps added it (RuDS migration `20260719163000_add_chat_surface_state`, bDS2 `20260527175452_add_chat_conversation_surface_state`); ChatConversation entity in schema.allium doesn't mention it.
3. `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.allium` to 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 installed `allium` CLI (`allium check`). Ensure invariants gained here are covered by unit tests per AGENTS.md (e.g. proposal status CHECK constraints round-trip).
**Acceptance:** `allium check` passes; 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.
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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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.