gabriel / musehub public
0048_proposal_proposer_signature.py python
34 lines 886 B
Raw
sha256:1ccb8409daa5aabe577bd26d11b56ed12f3376d64011d0e75a247e81211a66ee docs(mwp4/phase5): tick Phase 5 checkboxes, close musehub#109 Sonnet 4.6 20 days ago
1 """Add proposer_signature and proposer_public_key to musehub_proposals.
2
3 Every proposal carries an Ed25519 signature by the proposer over the
4 canonical PROPOSE message — binding their cryptographic identity to the
5 specific act of opening this proposal.
6
7 Revision ID: 0048
8 Revises: 0047
9 """
10 from __future__ import annotations
11
12 import sqlalchemy as sa
13 from alembic import op
14
15 revision: str = "0048"
16 down_revision: str = "0047"
17 branch_labels = None
18 depends_on = None
19
20
21 def upgrade() -> None:
22 op.add_column(
23 "musehub_proposals",
24 sa.Column("proposer_signature", sa.Text(), nullable=True),
25 )
26 op.add_column(
27 "musehub_proposals",
28 sa.Column("proposer_public_key", sa.Text(), nullable=True),
29 )
30
31
32 def downgrade() -> None:
33 op.drop_column("musehub_proposals", "proposer_public_key")
34 op.drop_column("musehub_proposals", "proposer_signature")
File History 2 commits
sha256:1ccb8409daa5aabe577bd26d11b56ed12f3376d64011d0e75a247e81211a66ee docs(mwp4/phase5): tick Phase 5 checkboxes, close musehub#109 Sonnet 4.6 20 days ago
sha256:2c523da45351334b5c4dbefed4dc3dd553b3faa8737a4e6caf301e5dc82141be test(mwp4): Phase 0 RED reproduction tests for RC-4 ordering race Sonnet 4.6 20 days ago