Skip to content

Replace ScopeBindingCommandApplicationService readmodel visibility polling with explicit binding readiness observation #616

@louis4li

Description

@louis4li

Follow-up from PR #548. The StudioMember async binding flow is functional and now completes through the binding-run actor continuation, but the legacy ScopeBindingCommandApplicationService still waits for service catalog and serving-set readmodels after issuing service lifecycle commands, using bounded polling before returning from UpsertAsync. That makes bind ACK semantics imply "readmodel observed / immediate invoke is safe", while coupling the command path to readmodel freshness and keeping Task.Delay polling in application logic.\n\nThis should stay out of PR #548 unless it becomes required for correctness, because replacing the legacy bind readiness contract touches broader GAgent service command/query semantics.\n\nTarget design:\n- Make UpsertAsync ACK semantics explicit and honest.\n- Move readmodel readiness to an explicit observe/readiness contract, command observation, or binding-run readmodel.\n- Update legacy bind + immediate invoke callers to wait on that readiness signal instead of relying on command-path polling.\n- Preserve existing user-facing behavior: bind followed by invoke should not race serving-set materialization.\n\nScope guard:\n- Do not require changes in external repositories.\n- Do not broaden StudioMember async binding beyond the existing PR surface.\n- Keep current PR #548 complete without solving this derivative cleanup.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions