gabriel / musehub public
feat BREAKING task/server-defaults-booleans-enums #1 / 1
AI Agent gabriel · 133 days ago · May 4, 2026 · Diff

feat: add server_default to all boolean and string-enum columns

Every non-nullable column with a Python-side default now also has a server_default so raw SQL inserts (Alembic data migrations, scripts, bulk loads) produce a valid row without specifying the value.

Booleans (14): training_opt_out, is_verified (identity + domain), is_deleted, is_draft, active (webhook), success, is_active, is_stale, structurally_linked, since_start, return_is_any, auto_export, is_deprecated.

String enums (17): visibility (repo/mist/api_surface), identity_type, state (issue/proposal/review), channel, schema_version, status (job/task), severity, git_branch, permission, queue, version, viewer_type.

Alembic 0025 applies SET DEFAULT for each column.

TDD: 31 tests in test_server_defaults.py (all green).

sha256:c49918db02d13161fb5d8c8efb7bd91e5e56e470617cb278cd8af19a70c73458 sha
+45 ~22 symbols
sha256:401df6ad1efb1a363b0ca9f7a602edd88ef0c62e8b7d5a181baf450a930c7cd6 snapshot
+45
symbols added
~22
symbols modified
0
dead code introduced
Semantic Changes 67 symbols
+ _BOOL_FALSE variable variable _BOOL_FALSE L25–39
+ _BOOL_TRUE variable variable _BOOL_TRUE L41–43
+ _STR_DEFAULTS variable variable _STR_DEFAULTS L45–63
+ branch_labels variable variable branch_labels L21–21
+ depends_on variable variable depends_on L22–22
+ down_revision variable variable down_revision L20–20
+ downgrade function function downgrade L76–81
+ annotations import import annotations L14–14
+ op import import op L16–16
+ sa import import sa L17–17
+ revision variable variable revision L19–19
+ upgrade function function upgrade L66–73
~ tests/test_server_defaults.py .py 32 symbols added
+ BOOL_COLS variable variable BOOL_COLS L57–72
+ STR_ENUM_COLS variable variable STR_ENUM_COLS L84–102
+ _assert_has_server_default function function _assert_has_server_default L45–50
+ _server_default function function _server_default L41–42
+ MusehubBackgroundJob import import MusehubBackgroundJob L16–16
+ MusehubBridgeMirror import import MusehubBridgeMirror L16–16
+ MusehubCollaborator import import MusehubCollaborator L14–14
+ MusehubCoordTask import import MusehubCoordTask L13–13
+ MusehubDomain import import MusehubDomain L15–15
+ MusehubIdentity import import MusehubIdentity L16–16
+ MusehubIntelApiSurface import import MusehubIntelApiSurface L16–16
+ MusehubIntelBreakageIssue import import MusehubIntelBreakageIssue L16–16
+ MusehubIntelClones import import MusehubIntelClones L16–16
+ MusehubIntelEntangle import import MusehubIntelEntangle L16–16
+ MusehubIntelResult import import MusehubIntelResult L16–16
+ MusehubIntelStable import import MusehubIntelStable L16–16
+ MusehubIntelType import import MusehubIntelType L16–16
+ MusehubIssue import import MusehubIssue L16–16
+ MusehubIssueComment import import MusehubIssueComment L16–16
+ MusehubMist import import MusehubMist L16–16
+ MusehubProfileSnapshot import import MusehubProfileSnapshot L16–16
+ MusehubProposal import import MusehubProposal L16–16
+ MusehubProposalReview import import MusehubProposalReview L16–16
+ MusehubRelease import import MusehubRelease L16–16
+ MusehubRepo import import MusehubRepo L16–16
+ MusehubSession import import MusehubSession L16–16
+ MusehubWebhook import import MusehubWebhook L16–16
+ MusehubWebhookDelivery import import MusehubWebhookDelivery L16–16
+ annotations import import annotations L9–9
+ pytest import import pytest L11–11
+ test_bool_has_server_default function function test_bool_has_server_default L76–77
+ test_str_enum_has_server_default function function test_str_enum_has_server_default L106–107
~ musehub/db/coord_models.py .py 1 symbol modified
~ musehub/db/musehub_domain_models.py .py 1 symbol added, 1 symbol modified
+ sa import import sa L22–22
← Older Oldest on task/server-defaults-booleans-enums
All commits
Newer → Latest on task/server-defaults-booleans-enums

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:c49918db02d13161fb5d8c8efb7bd91e5e56e470617cb278cd8af19a70c73458 --body "your comment"