Skip to content

Generate and reauthorize composite-key and read-only Changed subscriptions #191

Open

Description

@first-assist

Generated subscription qualification currently has an implementation prerequisite. Source inspection at workspace-2026.10.20.4, workspace-2026.10.22.1 and main a90b5bd finds __gom_composite_key_subscriptions_unavailable: composite-key entities receive only a hidden empty stream. The catalogue does not describe a Changed field. The same stub branch omits real subscriptions for external_read_only entities on SQLite/PostgreSQL. No local compiler/runtime reproduction is claimed; native grants are held.

Composite-key reproducer: derive GraphQLEntity/GraphQLOperations for a two-primary-key SQLite entity and compose it with schema_roots. A real Changed field is absent, so per-event revocation cannot yet be qualified. MSSQL source/SDL differences need their own explicit backend tests; existing issue #118 alone does not establish subscription support.

Required work:

  • Emit typed complete composite target identity, trusted after-commit witness and source identity without conflating rows sharing the first key component.
  • Generate the same request/entity/row/selected-field/assurance/provenance revalidation for every release. Key filters must compare complete keys. Denied or missing current rows and failed checks suppress the whole event.
  • Keep generated mutations/schema ownership independent. Read-only projection subscriptions must accept only trusted ORM propagation events, never raw/deserialized observer events or an external write capability.
  • Prove direct and child→parent events, colliding composite keys, source/target revocation after registration, rollback, deleted preimage rules, cycles/hop budgets and catalogue/SDL parity on each supported backend using disposable fixtures.

The read-only part blocks safe AI-owned metadata projections in #184 / draft #189: private-source→projection notifications plus message→session/run propagation are still missing. Do not treat a native stream, raw persistence re-export, shadow table or tests-only PR as a completion. Existing downstream roots remain ledgered until a qualified approved release.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions