Skip to content

Specify durable external-action request and settlement protocol #694

Description

@flyingrobots

Claim

Echo can coordinate a typed external operation without granting ambient authority to Edict or the compiler/provider seam.

Responsibility boundary

  • Edict constructs a deterministic request value whose operation identity is declared in the package closure.
  • Echo admits REQUESTED before an adapter acts, records bounded CLAIMED attempts, and admits a settlement before program resumption.
  • Operation-specific adapters alone possess filesystem, process, network, Git, GitHub, timer, or model authority.
  • Settlements are witnessed ingress bound to the exact request, attempt, adapter, basis, and schema.

Acceptance

  • canonical request identity, operation identity, authority scope, basis, budget, and input digest;
  • request commit before adapter execution;
  • attempt identity, lease evidence, idempotency key, and reconciliation law;
  • typed succeeded, rejected, failed, and outcome_unknown settlements;
  • settlement commit before deterministic resumption;
  • duplicate, conflicting, stale-basis, unauthorized-adapter, and malformed settlements fail closed;
  • recovery covers unclaimed, claimed, settled, and ambiguous requests;
  • replay consumes admitted settlements and never reissues settled effects;
  • a deliberate current-world consultation creates a new worldline and request;
  • an ADR records the durable authority boundary.

First proof

The first adapter profile is bounded read-only workspace observation. Basis-bound patch application follows only after that proof.

Non-goals

  • callable provider imports;
  • language-level stack suspension or native callbacks;
  • generic shell, process, filesystem, or network capabilities;
  • Git or GitHub adapters;
  • model invocation;
  • the autonomous delivery loop;
  • Graft migration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestfeatureFeature umbrella (epic)legend:testMethod legend test.priority:highMethod priority high.roadmap-a1Roadmap A.1: bounded Hello external effectsruntimeRuntime corespecSpec/Design documenttoolingTooling/CI/CLItype:enhancementMethod work type enhancement.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions