gabriel / musehub public
fix BREAKING task/fix-push-created-at-parity #1 / 1
AI Agent gabriel · 128 days ago · May 7, 2026 · Diff

fix: squash created_at parity class of bug with TDD gates

- wire_push_stream: add explicit 'created_at': _utc_now() to new_commit_rows dict so SQLAlchemy never binds NULL for the NOT NULL column, even on DBs that have DEFAULT now() via migration (explicit NULL overrides a DEFAULT) - tests/test_push_commit_created_at.py: T1/T2/T3 regression + fix guards - alembic/versions/0039: widen muse_tags.tag_id, fix stale/missing indexes (schema drift caught by S2 gate) - tests/test_schema_parity.py: S1 chain + S2 compare_metadata parity gates - deploy/deploy.sh: alembic check after upgrade head; fails deploy if ORM models have columns not captured in migrations - tests/conftest.py: spy_enqueue accepts branch kwarg matching production sig

sha256:df744b0ace2bb487f1c9d4cced8747b2f149983c3674deade49b72e07c612203 sha
+58 ~2 symbols
sha256:271573246beb145c4a14058339908d25465f71e90b5db5496f1e1a8ffd572cda snapshot
+58
symbols added
~2
symbols modified
0
dead code introduced
Semantic Changes 60 symbols
+ branch_labels variable variable branch_labels L25–25
+ depends_on variable variable depends_on L26–26
+ down_revision variable variable down_revision L24–24
+ downgrade function function downgrade L61–92
+ annotations import import annotations L18–18
+ op import import op L20–20
+ sa import import sa L21–21
+ revision variable variable revision L23–23
+ upgrade function function upgrade L29–58
~ tests/test_push_commit_created_at.py .py 33 symbols added
+ _build_push_stream function function _build_push_stream L123–130
+ _commit_pack_frame function function _commit_pack_frame L90–95
+ _end_frame function function _end_frame L98–99
+ _fw variable variable _fw L58–58
+ _header_frame function function _header_frame L78–87
+ _make_snapshot function function _make_snapshot L119–120
+ _make_wire_commit function function _make_wire_commit L102–116
+ _oid function function _oid L70–71
+ _utc_now function function _utc_now L66–67
+ _wrap function function _wrap L74–75
+ AsyncClient import import AsyncClient L41–41
+ AsyncSession import import AsyncSession L45–45
+ IntegrityError import import IntegrityError L44–44
+ MuseWireFrameWriter import import MuseWireFrameWriter L47–47
+ SFRAME_COMMIT_PACK import import SFRAME_COMMIT_PACK L50–50
+ SFRAME_END import import SFRAME_END L50–50
+ SFRAME_HEADER import import SFRAME_HEADER L50–50
+ SFRAME_OBJECT import import SFRAME_OBJECT L50–50
+ annotations import import annotations L34–34
+ blob_id import import blob_id L48–48
+ create_repo import import create_repo L56–56
+ datetime import import datetime L37–37
+ db import import db L49–49
+ msgpack import import msgpack L39–39
+ pg_insert import import pg_insert L43–43
+ pytest import import pytest L40–40
+ select import import select L42–42
+ text import import text L42–42
+ timezone import import timezone L37–37
+ zlib import import zlib L36–36
+ test_t1_explicit_null_created_at_raises_integrity_error function async_function test_t1_explicit_null_created_at_raises_integrity_error L138–156
+ test_t2_push_commit_has_non_null_created_at function async_function test_t2_push_commit_has_non_null_created_at L164–206
+ test_t3_upsert_preserves_original_created_at function async_function test_t3_upsert_preserves_original_created_at L214–274
~ tests/test_schema_parity.py .py 16 symbols added
+ _ADMIN_URL variable variable _ADMIN_URL L66–66
+ _BASE_URL variable variable _BASE_URL L65–65
+ _PARITY_DBNAME variable variable _PARITY_DBNAME L62–62
+ _PARITY_URL_ASYNC variable variable _PARITY_URL_ASYNC L68–68
+ _PARITY_URL_SYNC variable variable _PARITY_URL_SYNC L67–67
+ _REPO_ROOT variable variable _REPO_ROOT L57–57
+ _TEST_DB_URL variable variable _TEST_DB_URL L58–61
+ _is_benign_diff function function _is_benign_diff L71–95
+ Any import import Any L48–48
+ Path import import Path L47–47
+ annotations import import annotations L44–44
+ os import import os L46–46
+ pytest import import pytest L50–50
+ parity_db_url function function parity_db_url L134–189
+ test_s1_migration_chain_is_unbroken function function test_s1_migration_chain_is_unbroken L102–126
+ test_s2_orm_models_match_migrations function function test_s2_orm_models_match_migrations L192–228
← Older Oldest on task/fix-push-created-at-parity
All commits
Newer → Latest on task/fix-push-created-at-parity

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:df744b0ace2bb487f1c9d4cced8747b2f149983c3674deade49b72e07c612203 --body "your comment"