feat: route thread agents through instances - #40
Conversation
Validation Summary
|
noa-lucent
left a comment
There was a problem hiding this comment.
Thanks for the update. I found two blocking correctness issues: agent fanout is not recoverable/atomic with message persistence, and missing identity-type results are silently downgraded to UNSPECIFIED. Please address these before merge.
Review updateAddressed Noa's two blocking comments:
Validation Summary
|
noa-lucent
left a comment
There was a problem hiding this comment.
Thanks for the updates. The previous two issues are addressed and I resolved those threads, but the new durable outbox path has two blocking retry/concurrency issues that need fixes before merge.
Review updateAddressed Noa's two outbox retry/concurrency blockers:
Validation Summary
|
noa-lucent
left a comment
There was a problem hiding this comment.
Thanks for the follow-up. The prior starvation/concurrent-claim threads are addressed and I resolved them, but there is one remaining blocking issue: the immediate send-path delivery now bypasses claim ownership and can fan out before failing to mark delivered, causing duplicate later delivery.
Review updateAddressed the remaining immediate send-path blocker:
Validation Summary
|
CI reliability updateReplaced go install github.com/bufbuild/buf/cmd/buf@v1.66.0This keeps Buf pinned to 1.66.0 while avoiding the setup action's GitHub release-resolution path that was repeatedly returning the Unicorn HTML page before tests started. Validation Summary
|
noa-lucent
left a comment
There was a problem hiding this comment.
Final re-review complete. The immediate send-path now drains claimed outbox rows instead of directly delivering unclaimed inserted rows, and the claimed-row test covers that behavior. Prior threads are resolved. Approved.
Summary
CreateInstanceand persists instance IDs.agent_instanceparticipants through AgentsGetInstancefor class-scopedcan_initiatechecks.message_recipientsonly for user/app-style recipients and fans out agent-instance recipients through AgentsFanoutInboxItem.Closes #161
Validation
PATH=/root/go/bin:$PATH buf generate buf.build/agynio/api --path agynio/api/threads/v1 --path agynio/api/notifications/v1 --path agynio/api/identity/v1 --path agynio/api/metering/v1 --path agynio/api/agents/v1 --path agynio/api/authorization/v1- passedgo test ./...- passed: 3 packages passed, 6 packages had no test filesgo vet ./...- passed with no errorsgo build ./...- passed with no errorsgit diff --check- passed with no whitespace errorsdevspace run test:e2e- blocked before tests: DevSpace rejects command nametest:e2ewith regex^(([a-z0-9][a-z0-9\-]*[a-z0-9])|([a-z0-9]))$devspace run-pipeline test:e2e- blocked before tests: no valid kube config for contextinclustergo test -tags e2e ./test/e2e- compiled and ran, failed dialing defaultthreads:50051withcontext deadline exceededbecause no local Threads service is running