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.

Activity

  1. added
    documentationImprovements or additions to documentation
    roadmap-a1Roadmap A.1: bounded Hello external effects
    on Jul 28, 2026
  2. coderabbitai commented on Jul 28, 2026

    @coderabbitai
    Contributor
    🔗 Related PRs

    #670 - Add trusted causal anchor admission [merged]
    #673 - Implement the Echo Target IR semantic verifier [merged]
    #683 - Execute admitted data-only operations in Echo [merged]
    #686 - feat(warp-core): add anchored-node create-if-absent program [merged]
    #688 - Route executable-operation Actions through scheduler-owned Ticks [merged]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

  3. added
    enhancementNew feature or request
    featureFeature umbrella (epic)
    roadmap-aRoadmap A: standalone Hello Echo delivery
    specSpec/Design document
    toolingTooling/CI/CLI
    on Jul 28, 2026
  4. added
    blockedBlocked; cannot proceed without external input or dependency.
    and removed
    roadmap-aRoadmap A: standalone Hello Echo delivery
    blockedBlocked; cannot proceed without external input or dependency.
    on Jul 28, 2026
  5. flyingrobots commented on Jul 29, 2026

    @flyingrobots
    OwnerAuthor

    Self Review pass 3: no P0–P4 findings at c4ee2d9b6.

    P5 — deferred scaling boundary: high-level admission reconstructs the external-action lifecycle index from committed WAL history before each transition. Sparse-Merkle frontier updates are bounded to one 256-bit path, but checkpoint/cache-backed index hydration is not part of this first protocol witness. No correctness or current acceptance criterion depends on that optimization; retain it as follow-up when external-action history scale becomes a roadmap requirement.

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

    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