From 92ad3516ea23c7cb64e65614f28547e30b623fa6 Mon Sep 17 00:00:00 2001 From: Mikhail Date: Sat, 29 Aug 2026 19:35:23 +0300 Subject: [PATCH] fix: advance cognitive discovery binding heads --- adapters/postgres/capability_repository.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/adapters/postgres/capability_repository.go b/adapters/postgres/capability_repository.go index aa0b5c5..b1e8cb7 100644 --- a/adapters/postgres/capability_repository.go +++ b/adapters/postgres/capability_repository.go @@ -181,10 +181,6 @@ func (r *CapabilityRepository) SaveBinding(ctx context.Context, binding capabili if err != nil { return err } - _, err = tx.Exec(ctx, `INSERT INTO capability.cognitive_binding_revision_heads (binding_id,revision) VALUES ($1,$2) ON CONFLICT DO NOTHING`, binding.ID, binding.Revision) - if err != nil { - return err - } } return tx.Commit(ctx) } @@ -564,7 +560,11 @@ func (r *CapabilityRepository) SaveCognitiveDiscovery(ctx context.Context, value if err != nil { return err } - _, err = tx.Exec(ctx, `INSERT INTO capability.cognitive_binding_revision_heads (binding_id,revision) VALUES ($1,$2) ON CONFLICT DO NOTHING`, binding.ID, binding.Revision) + // Discovery creates immutable binding revisions. The durable head must + // follow the revision accepted by this transaction; leaving the + // existing head untouched strands refreshed providers behind an older + // inactive snapshot. + _, err = tx.Exec(ctx, `INSERT INTO capability.cognitive_binding_revision_heads (binding_id,revision) VALUES ($1,$2) ON CONFLICT (binding_id) DO UPDATE SET revision=EXCLUDED.revision,updated_at=CURRENT_TIMESTAMP`, binding.ID, binding.Revision) if err != nil { return err }