Skip to content

Demo/db mv - #292

Closed
AlexAxthelm wants to merge 5 commits into
refactor/db-mvfrom
demo/db-mv
Closed

AlexAxthelm wants to merge 5 commits into
refactor/db-mvfrom
demo/db-mv

Conversation

@AlexAxthelm

Copy link
Copy Markdown
Collaborator

Demo for #291

@AlexAxthelm
AlexAxthelm changed the base branch from main to refactor/db-mv September 28, 2026 15:41
@github-actions

Copy link
Copy Markdown

CD summary 0ac5d5a

Database (1)
db_name postgres_host postgres_port postgres_db
pr_0292_demo_db_mv_cb01 stitch-staging.postgres.database.azure.com 5432 pr_0292_demo_db_mv_cb01
Images (3)
build_time commit_time git_sha image image_digest
2026-09-28T15:40:37Z 2026-09-28T15:40:17Z 421f416 ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01@sha256:54bf532ac4dfaa43ba0bff31d8c3a5a6801cbce4f2f0590bb367c593930f7ffc
2026-09-28T15:40:39Z 2026-09-28T15:40:17Z 421f416 ghcr.io/rmi/stitch-entity-linkage:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-entity-linkage:pr-0292-demo-db-mv-cb01@sha256:dbacedb6c9680e5dfcbc746b83cac9ed8b5bcdbc39f6f6df0181712f4231f923
2026-09-28T15:40:35Z 2026-09-28T15:40:17Z 421f416 ghcr.io/rmi/stitch-stitch-llm:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-stitch-llm:pr-0292-demo-db-mv-cb01@sha256:03d728d7b91f9a2a565b46654df9f6b1815b324b3a68bba7465e9b6fa87a306c

@github-actions

Copy link
Copy Markdown

CD summary d4e7006

Frontend: https://brave-cliff-09493391e-292.westus2.7.azurestaticapps.net

Deployments (5)
service url fqdn
api open pr-0292-demo-db-mv-cb01-api.salmonsea-0e166cd2.westus2.azurecontainerapps.io
entity-linkage open pr-0292-demo-db-mv-cb01-el.salmonsea-0e166cd2.westus2.azurecontainerapps.io
etl open pr-0292-demo-db-mv-cb01-etl.salmonsea-0e166cd2.westus2.azurecontainerapps.io
frontend https://brave-cliff-09493391e-292.westus2.7.azurestaticapps.net
stitch-llm open pr-0292-demo-db-mv-cb01-llm.salmonsea-0e166cd2.westus2.azurecontainerapps.io
Database (1)
db_name postgres_host postgres_port postgres_db
pr_0292_demo_db_mv_cb01 stitch-staging.postgres.database.azure.com 5432 pr_0292_demo_db_mv_cb01
Jobs (1)
job image postgres_db
db-migrations ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01@sha256:270bf3c14ad65eafddb470b27797e742d399ed61c94a112d097e2fd72eb6b434 pr_0292_demo_db_mv_cb01
Images (3)
build_time commit_time git_sha image image_digest
2026-09-28T15:42:10Z 2026-09-28T15:41:09Z 6863f8f ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01@sha256:270bf3c14ad65eafddb470b27797e742d399ed61c94a112d097e2fd72eb6b434
2026-09-28T15:42:12Z 2026-09-28T15:41:09Z 6863f8f ghcr.io/rmi/stitch-entity-linkage:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-entity-linkage:pr-0292-demo-db-mv-cb01@sha256:b2497389fd3648386523216ddec1ee3d1bb324e2d2778110d6365f982d8cd6c2
2026-09-28T15:42:13Z 2026-09-28T15:41:09Z 6863f8f ghcr.io/rmi/stitch-stitch-llm:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-stitch-llm:pr-0292-demo-db-mv-cb01@sha256:86c84d70102f462cb27165c644aefd746911f45f796e9b01ce9fd4de2b88d6b5

@github-actions

Copy link
Copy Markdown

CD summary afff975

Frontend: https://brave-cliff-09493391e-292.westus2.7.azurestaticapps.net

Deployments (5)
service url fqdn
api open pr-0292-demo-db-mv-cb01-api.salmonsea-0e166cd2.westus2.azurecontainerapps.io
entity-linkage open pr-0292-demo-db-mv-cb01-el.salmonsea-0e166cd2.westus2.azurecontainerapps.io
etl open pr-0292-demo-db-mv-cb01-etl.salmonsea-0e166cd2.westus2.azurecontainerapps.io
frontend https://brave-cliff-09493391e-292.westus2.7.azurestaticapps.net
stitch-llm open pr-0292-demo-db-mv-cb01-llm.salmonsea-0e166cd2.westus2.azurecontainerapps.io
Database (1)
db_name postgres_host postgres_port postgres_db
pr_0292_demo_db_mv_cb01 stitch-staging.postgres.database.azure.com 5432 pr_0292_demo_db_mv_cb01
Jobs (1)
job image postgres_db
db-migrations ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01@sha256:0867a251a2ff7cd346b5afa2c6a21f6bfa8c9e64d75c34742f39b4ac76b5283c pr_0292_demo_db_mv_cb01
Images (3)
build_time commit_time git_sha image image_digest
2026-09-30T09:50:30Z 2026-09-30T09:50:07Z e9211b2 ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01@sha256:0867a251a2ff7cd346b5afa2c6a21f6bfa8c9e64d75c34742f39b4ac76b5283c
2026-09-30T09:50:29Z 2026-09-30T09:50:07Z e9211b2 ghcr.io/rmi/stitch-entity-linkage:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-entity-linkage:pr-0292-demo-db-mv-cb01@sha256:490c3d9b1db1cd8b27324b8562c3c66736dc2377b2192b569fcde156e70adff9
2026-09-30T09:50:28Z 2026-09-30T09:50:07Z e9211b2 ghcr.io/rmi/stitch-stitch-llm:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-stitch-llm:pr-0292-demo-db-mv-cb01@sha256:795632361210eb72f97d2b77ef6b1ec830da8fce7c7bf4e4357b50c41197ec8c

AlexAxthelm and others added 2 commits September 30, 2026 12:21
Membership grain (Copilot: "Enforce resource membership in priority foreign keys"):
- Add UNIQUE (resource_id, source_pk) on og_field_memberships.
- Dedup the write paths so it holds: attach skips already-attached sources (and
  repeats within a batch); merge collapses to one membership per source across the
  merged parents (ACTIVE if any parent's was).
- Add composite FK og_field_resource_attribute_priority (resource_id, source_pk)
  -> og_field_memberships (resource_id, source_pk), so a priority row can only
  reference a source that is a real member of its resource.
- Migration dedups existing memberships (keep ACTIVE, else lowest id) before
  adding the constraint and FK.

Priority-seeding completeness (review: LEFT join could mask a missing priority row):
- Add TestSeedingCompleteness asserting every active value of a non-repointed
  resource has a priority row after seed / reprioritize / create paths, so
  coalescing's NULLS LAST can never hide a real winner. Comment at the join points
  to the guarding test. (INNER join rejected: it trades one silent failure for
  another.)

Tests: duplicate membership rejected; merge dedups a shared source; seeding
completeness across write paths.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Membership grain (Copilot: enforce membership in priority FKs):
- UNIQUE (resource_id, source_pk) on og_field_memberships; dedup on attach and
  merge to uphold it; composite FK og_field_resource_attribute_priority
  (resource_id, source_pk) -> og_field_memberships so a priority row can only
  reference a real member. Migration dedups existing memberships first.

Priority-seeding robustness (review follow-ups):
- Guard the LEFT-join completeness invariant with a test (every active value has a
  priority row across seed/reprioritize/create), so NULLS LAST can't hide a winner.
- set_curated validates each requested source carries a value for the field and
  raises InvalidActionError instead of KeyError.
- seed_or_refresh_defaults accepts an optional source_pks scope; attach passes the
  just-attached sources so only their fields' default rows are rebuilt.

Tests: membership uniqueness + merge dedup; seeding completeness; set_curated
rejects a valueless source; scoped seed leaves other fields untouched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

CD summary fc9d8ef

Database (1)
db_name postgres_host postgres_port postgres_db
pr_0292_demo_db_mv_cb01 stitch-staging.postgres.database.azure.com 5432 pr_0292_demo_db_mv_cb01
Images (3)
build_time commit_time git_sha image image_digest
2026-09-30T10:22:45Z 2026-09-30T10:22:30Z a188fad ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01@sha256:a4141a4d24590ef478d2f03cf5fe19aaf642b71c91b23cf0cbbd9850e362a57f
2026-09-30T10:22:46Z 2026-09-30T10:22:30Z a188fad ghcr.io/rmi/stitch-entity-linkage:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-entity-linkage:pr-0292-demo-db-mv-cb01@sha256:28262d3b469c0bcc5dbad056d83ee1f81a606f83b729cb7fe8adcf17645509d8
2026-09-30T10:22:46Z 2026-09-30T10:22:30Z a188fad ghcr.io/rmi/stitch-stitch-llm:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-stitch-llm:pr-0292-demo-db-mv-cb01@sha256:6d8eb7a1fba1f30b857be96f1e6bc90fb97cb8a179ee5a0d8b9f5af68d6d4ab9

@github-actions

Copy link
Copy Markdown

CD summary 31f06a4

Frontend: https://brave-cliff-09493391e-292.westus2.7.azurestaticapps.net

Deployments (5)
service url fqdn
api open pr-0292-demo-db-mv-cb01-api.salmonsea-0e166cd2.westus2.azurecontainerapps.io
entity-linkage open pr-0292-demo-db-mv-cb01-el.salmonsea-0e166cd2.westus2.azurecontainerapps.io
etl open pr-0292-demo-db-mv-cb01-etl.salmonsea-0e166cd2.westus2.azurecontainerapps.io
frontend https://brave-cliff-09493391e-292.westus2.7.azurestaticapps.net
stitch-llm open pr-0292-demo-db-mv-cb01-llm.salmonsea-0e166cd2.westus2.azurecontainerapps.io
Database (1)
db_name postgres_host postgres_port postgres_db
pr_0292_demo_db_mv_cb01 stitch-staging.postgres.database.azure.com 5432 pr_0292_demo_db_mv_cb01
Jobs (1)
job image postgres_db
db-migrations ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01@sha256:4c647ebd82db4e014cb412b9b695fa91f70af25633e819ce64d04ad67120d5bb pr_0292_demo_db_mv_cb01
Images (3)
build_time commit_time git_sha image image_digest
2026-09-30T10:23:47Z 2026-09-30T10:22:44Z a7b8fed ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-api:pr-0292-demo-db-mv-cb01@sha256:4c647ebd82db4e014cb412b9b695fa91f70af25633e819ce64d04ad67120d5bb
2026-09-30T10:23:47Z 2026-09-30T10:22:44Z a7b8fed ghcr.io/rmi/stitch-entity-linkage:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-entity-linkage:pr-0292-demo-db-mv-cb01@sha256:2e27857c95d598023cd39e50f6a1a1e3cacab3f1d245aef74bd1d8667d7617f0
2026-09-30T10:23:50Z 2026-09-30T10:22:44Z a7b8fed ghcr.io/rmi/stitch-stitch-llm:pr-0292-demo-db-mv-cb01 ghcr.io/rmi/stitch-stitch-llm:pr-0292-demo-db-mv-cb01@sha256:81e1f851a7eafffa725e29ac981ec09d22d0544175da26f033148cb1f8359ef9

@AlexAxthelm AlexAxthelm self-assigned this Oct 12, 2026
@AlexAxthelm

Copy link
Copy Markdown
Collaborator Author

closing, since #290 and #291 are closed, so demo not needed

This branch was successfully deployed

1 active deployment
staging — 31f06a48 Deployed Oct 16, 2026 by AlexAxthelm via drop-db #352
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants