Repository navigation
feat(agentcore): define executor backend and worker contracts - #92
Merged
Fodesu merged 3 commits intoOct 3, 2026
Conversation
Fodesu
force-pushed
the
feat/agent-runtime-core-19-executor-contracts
branch
from
October 3, 2026 14:43
c980609 to
51830e2
Compare
Fodesu
marked this pull request as ready for review
October 3, 2026 15:50
Fodesu
force-pushed
the
feat/agent-runtime-core-19-executor-contracts
branch
from
October 3, 2026 17:04
5a9297a to
e3e4852
Compare
Fodesu
force-pushed
the
feat/agent-runtime-core-19-executor-contracts
branch
from
October 3, 2026 17:11
e3e4852 to
f1d01ae
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Defines the executor-side contracts and persistence boundary for external effects. The package supplies the backend port, stable progress and settlement interfaces, execution records, and store conformance helpers without selecting a transport or concrete worker implementation.
Design
The executor store is keyed by
effect.AssignmentKey, so model and tool attempts are isolated by session, Run, and effect identity. Records retain the accepted Assignment, lifecycle status, generation, and terminal Outcome separately. A repeated dispatch of the same key can therefore be recognized as the same logical effect rather than becoming a second attempt.seedsupport makes the initial durable record explicit for adapters that create state during acceptance.The backend interface separates pre-start validation, dispatch, outcome reads, attachment inspection, cancellation, and abort. This keeps the Run Loop’s start-barrier invariant independent of whether the backend is local, remote, or restarted. Attachment states distinguish active, terminal, orphaned, missing, and aborted observations; callers must not treat an unreachable executor as proof that an effect is absent.
Progress is a bounded, per-key stream of provisional frames. Generation and sequence identify resets and gaps, while terminal outcomes remain readable through the store. Settlement notices are deliberately notification-only: subscribers receive a key and reread the outcome. The notice contract includes an epoch and sequence window so reconnects can detect restart or eviction.
The store conformance package exercises the required idempotency, lifecycle, outcome, attachment, cancellation, and notice semantics against an in-memory map implementation. This branch adds contracts and conformance infrastructure; concrete adapters and workers follow in later PRs.