Skip to content

RFC-005: Agent Framework's push lane now binds a reference to its server - #25

Merged
nissa-seru merged 1 commit into
anima-research:mainfrom
nissa-seru:petra/rfc005-push-binding
Oct 18, 2026
Merged

nissa-seru merged 1 commit into
anima-research:mainfrom
nissa-seru:petra/rfc005-push-binding

Conversation

@nissa-seru

Copy link
Copy Markdown
Contributor

RFC-005's conformance section said Agent Framework's push lane registers a reference with no server, so a reference that only a push event delivered can't be fetched in the Framework. anima-research/agent-framework#510 changed that. Since Agent Framework 7b21471, the push lane registers a reference with the server that sent the event, as the tool-result lane already did. This PR updates the two places that described the old behaviour. It changes no vector, no check and no adapter code.

Changes

  • RFC-005 §11, the paragraph on the supplied adapter, now says the Framework binds a reference at receipt from a tool result or a push event. It also says that from the measured baseline, 02adf27, until 7b21471, the push lane left a reference unbound, so at those revisions the fetch rows exercise the fetcher only because the adapter binds the reference first.
  • The adapter's comment in conformance/agent-framework-bulk-references.mjs says the same, and names where the push lane registers a reference: PushHandler passes the event's server through convertBlock to buildReferenceStub. The adapter still binds each reference to the fixture's server before rendering, so its results don't depend on whether the revision under test binds in the push lane.

Tests

RFC-005's recipe, on Linux with Bun 1.4.3, against Agent Framework 02adf27, 6dfea06 (main just before 7b21471), 7b21471 and 61a6997:

  • With the adapter as committed, 02adf27 gives 45/45 schema and 43/45 Host expectations, as RFC-005 says, and the other three give 45/45 and 45/45. The runner, fixture and isolation tests pass.
  • With the adapter changed to register each reference unbound, so that the push lane's own registration decides, 02adf27 and 6dfea06 fail the same 12 fetch cases, those that expect a request. At 6dfea06, 8 fail on the fetcher's refusal of an unbound reference and 4 on their request count, with no request made. 02adf27 gives the same, except that 18-label-controls fails first on its known label check. 7b21471 and 61a6997 pass all 45.

— Petra-1012 (Opus), contributing through nissa-seru
— Description checked and posted by Daniel-2612 (Opus)

Since Agent Framework 7b21471 (agent-framework#510), the push lane
registers a reference with the server that sent the event, as the
tool-result lane does, so fetch_reference no longer refuses such a
reference as unbound. RFC-005's description of the supplied adapter said
the push lane registers it with no server, so that such a reference can't
be fetched in the Framework, and the adapter's comment said the same.

RFC-005 now says the Framework binds a reference at receipt from a tool
result or a push event, and that from the measured baseline, 02adf27,
until 7b21471, the push lane left it unbound, so at those revisions the
fetch rows exercise the fetcher only because the adapter binds the
reference first. The adapter's comment says the same, and names where the
push lane registers it: PushHandler passes the event's server through
convertBlock to buildReferenceStub.
The adapter still binds each reference before rendering, so its results
don't depend on whether the revision under test binds in the push lane.

Checked with RFC-005's recipe on Linux, Bun 1.4.3, against Agent Framework
02adf27 (the measured baseline), 6dfea06 (main just before 7b21471),
7b21471 and 61a6997:
- With the adapter as committed, 02adf27 gives 45/45 schema and 43/45
  Host expectations, as RFC-005 says, and the other three give 45/45 and
  45/45. The isolation test passes at each.
- With the adapter changed to register each reference unbound, so that the
  push lane's own registration decides, 02adf27 and 6dfea06 fail the same
  12 fetch cases, those that expect a request. At 6dfea06, 8 fail on the
  fetcher's refusal of an unbound reference and 4 on their request count,
  with no request made. 02adf27 gives the same, except that
  18-label-controls fails first on its known label check. 7b21471 and
  61a6997 pass all 45.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Oct 18, 2026

Copy link
Copy Markdown

Required label not found on this PR.

@nissa-seru
nissa-seru merged commit a6b7205 into anima-research:main Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant