feat: genesis-address Phase 2 entities — label, asset, webhook, fork, collaborator, key, domain
- Add compute_label_id, compute_asset_id, compute_webhook_id, compute_fork_id, compute_collaborator_id, compute_key_id, compute_domain_id to genesis.py - Widen all entity PK/FK columns from String(36) to String(128) in DB models: musehub_labels, musehub_issue_labels, musehub_proposal_labels, musehub_collaborators, musehub_auth_keys, musehub_domains, musehub_domain_installs, musehub_release_assets, musehub_webhooks, musehub_forks, plus repo/issue/proposal FK references - Replace uuid4() at every creation site with the appropriate compute_*_id call: labels.py, collaborators.py, musehub_auth.py, musehub_domains.py, musehub_releases.py, musehub_repository.py, musehub_webhook_dispatcher.py, mcp/write_tools/labels.py - Delete legacy POST /api/identities endpoint (password-seeded UUID identity, bypassed MSign auth) — all identity creation goes through MSign keys - Add genesis ID validators to WebhookResponse, UserForkedRepoEntry, LabelResponse, CollaboratorResponse Pydantic models - Add Alembic migration genesis_phase2_entity_ids.py - Extend test_genesis_ids.py with Phase 2 Tier 1/2/3/3b/6 tests (120 passing)
Intentionally left as UUID: challenge_id (security), delivery_id (ephemeral retry log), install_id (M2M join), job_id, event_id (internal ops)
Closes issue #15
0 comments
muse hub commit comment sha256:b19993b535df23c461c19debc8e4ac5cea0662e5c4b2d8a7c6a600eccfdad489 --body "your comment"
No comments yet. Be the first to start the discussion.