Skip to content

A2A / Intercom — one outbound task & Graph resume #19

Description

@zenithruneblade

Outcome

One bounded outbound task reaches an enrolled peer and produces one authenticated local continuation.

Next planning checkpoint: Init. This is the earliest scope/review conversation, not an assignment or a promise to finish the whole outcome in that week. Selected work starts at #52.

Remaining acceptance

  • Pin one interoperable adapter/version and public task schema, including canonical envelope, identities, expiry and idempotency rules.
  • Establish explicit peer enrollment, authentication, task authorization and secret custody; discovery alone cannot establish trust.
  • Require a fresh exact egress decision for the peer/task/payload on each transmission.
  • Persist request identity and outbound intent before submission; after an uncertain submit, retain the original identity and reconcile a known foreign task without resubmission; changed-content reuse fails.
  • Park the Graph only after durable commit, release local leases and retain the peer-task id plus local continuation.
  • Poll one peer for authenticated terminal state; resume once and distinguish success, refusal, failure, expiry, revocation, cancellation and unknown outcome.
  • Verify restart recovery, duplicate delivery/result, invalid or expired envelopes, revoked access and timeout without blindly repeating remote effects.
  • Record one independent-peer interoperability run and its limitations.

The existing outbound public peer lab does not supply an incoming/private PC receiver or normal-boot activation. The shared Enter design must identify that missing passage and choose sovereign-peer delegation versus same-Lich compute.

Evidence and handoff

Start from current State of Work and its linked source/tests and owning ADRs. The linked original acceptance remains binding unless a named replacement outcome records its disposition. Detailed scope, negative cases and dated campaign evidence are preserved in preserved scope and evidence; historical evidence does not establish current qualification on its own. Any accepted requirement not selected for this profile needs an explicit route in #62 before this issue closes.

Choose one small implementation or verification slice when this outcome is admitted. Record the responsible contributor, exact profile/revision, observed result, failure/unknown boundary and next checkpoint. The founder reviews and approves all code for this campaign; merge and promotion follow CONTRIBUTING.

Activity

  1. added
    area:runtimeAgents, Graph, dispatch, orchestration, capabilities and workers.
    needs-designAn issue-specific implementation choice remains open; see Open decision.
    on Sep 18, 2026
  2. changed the title [-]A2A / Intercom — Basic: one outbound task & Graph resume[/-] [+]A2A / Intercom — one outbound task & Graph resume[/+] on Sep 18, 2026
  3. added
    help wantedActive contribution call for the named scope or host evidence; may require deep experience.
    area:networkExplicit remote transport, provider calls and admitted ingress.
    and removed
    help wantedActive contribution call for the named scope or host evidence; may require deep experience.
    on Sep 18, 2026
  4. zenithruneblade commented on Nov 6, 2026

    @zenithruneblade
    ContributorAuthor

    Planning reset — 6 November 2026. The original acceptance below remains binding unless a named replacement outcome records its disposition. This is a preserved historical body, not a fresh capability/qualification claim.

    Original issue scope and dated evidence before the planning reset

    Let one Graph station delegate a bounded task to one enrolled peer, wait durably and adopt its authenticated result.

    Current source boundary — 3 November 2026: A2A / Intercom is Partial. The explicit outbound-public-text@1 service and operator session provide authenticated submission, polling and public inline-result consumption with seven PostgreSQL custody tables. The opt-in native-public-peer@1 lab joins the shared RunEngine, serial Graph and durable peer wait/adoption path. Its pinned protocol is A2A 1.0.1 JSON-RPC with the required RFC 9421 Ed25519 profile; the dated interoperability observations used official SDK 1.2.3 with test-only signing middleware. These are bounded source and dated evidence, not normal-boot activation. The merged 0022/0023 migration closure and current combined source still need their own qualification; incoming/private roads and a live SAQ broker remain outside this issue. The original checklist below remains the closure target, with its unchecked items requiring explicit current acceptance rather than an inference from implementation.

    Checklist

    • Pin one interoperable adapter/version and public task schema, including canonical envelope, identities, expiry and idempotency rules.
    • Establish explicit peer enrollment, authentication, task authorization and secret custody; discovery alone cannot establish trust.
    • Require a fresh exact egress decision for the peer/task/payload on each transmission.
    • Persist request identity and outbound intent before submission; same-content retries retain identity, changed-content reuse fails.
    • Park the Graph only after durable commit, release local leases and retain the peer-task id plus local continuation.
    • Poll one peer for authenticated terminal state; resume once and distinguish success, refusal, failure, expiry, revocation, cancellation and unknown outcome.
    • Verify restart recovery, duplicate delivery/result, invalid or expired envelopes, revoked access and timeout without blindly repeating remote effects.
    • Record one independent-peer interoperability run and its limitations.

    Done when: one bounded outbound task survives the tested wait/restart path and produces one authorized local continuation.

    Completion prerequisite: #8 Graph; the peer/authentication/egress and durable-adoption contracts above are part of this work, not supplied merely by the local Graph slice.
    Related: #7 dispatch boundaries; #20 VPN/Tether supplies an optional private route, not task authority.

    Later: incoming tasks/server profile, public discovery, callbacks/streams, artifacts, multiple peers, teaching and federation. No new issues until the first receipt informs their scope.

    References: A2A (ADR 26) · Graph (ADR 24) · Workers (ADR 14) · Security (ADR 09).

    Shared foundations: #24 peer/application identity, #25 byte-time egress policy and #37 security evidence. #32 is optional payment preparation; payment never grants peer authority.

    Network map: #57 owns admitted ingress; #52 keeps Gateway/Legion as later directions rather than expanding this first slice.

    Advanced integration review: #62 composes this sovereign A2A road with Spellweaver admission, durable worker waits, consumer-specific disclosure and optional Tether reachability. It does not turn A2A into a provider bucket or add completion prerequisites to this first interoperable slice.

    Contribution entry: Start from the existing outbound service, pinned envelope and native peer lab; requalify the current combined source and migration closure before extending transport.
    Open decision: Choose whether this first slice closes at the explicit lab boundary or requires a separately admitted normal-boot composition; retain the pinned adapter/signing/polling profile unless an explicit compatibility change is accepted.
    Verification: Protocol/replay tests; independent peer and restart receipt for closure. Shared contribution and touched-docs rules: #52.

  5. removed
    needs-designAn issue-specific implementation choice remains open; see Open decision.
    on Nov 6, 2026
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

    area:networkExplicit remote transport, provider calls and admitted ingress.area:runtimeAgents, Graph, dispatch, orchestration, capabilities and workers.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions