Skip to content

Declare typed external-action request values #172

Description

@flyingrobots

Outcome

Edict can deterministically construct a typed external-action request whose operation family is declared in the package closure, without performing the operation or importing host capabilities into the provider seam.

Acceptance

  • syntax and Core represent external operation identity, input schema, settlement schema, authority scope, basis, and budget;
  • request construction is deterministic over admitted history;
  • package closure binds every requestable operation family;
  • an undeclared operation family fails compilation or package verification;
  • request values survive target lowering without becoming callable provider imports;
  • dynamic path, ref, basis, budget, and adapter constraints remain Echo admission checks;
  • program waiting is explicit state keyed by request identity, not a serialized stack or async host frame;
  • settlement facts resume deterministic transitions only after schema admission;
  • tests reject ambient filesystem, process, network, Git, GitHub, and model authority.

First consumer

A bounded read-only workspace observation request. Basis-bound patch application follows later.

Non-goals

  • general-purpose algebraic effects;
  • direct I/O from Edict;
  • generic shell or network operations;
  • writable model capability;
  • the autonomous delivery loop.

Activity

  1. added
    documentationImprovements or additions to documentation
    roadmap-a1Roadmap A.1: typed external request construction
    on Jul 28, 2026
  2. coderabbitai commented on Jul 28, 2026

    @coderabbitai
    🔗 Related PRs

    #2 - docs: apply Phase 0 design review + nail five yellow-light joints [merged]
    #41 - Add Gate C admission boundary checks [merged]
    #128 - Parse obstruction strand continuations [merged]
    #167 - Add Edict executable-operation prerequisites [merged]
    #170 - Build verified external applications through provider components [open]


    📝 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
    release:lawpacksLawpack contract and authority source release work
    release:target-profilesTarget-profile contract and authority source release work
    domain: backendCompiler/backend implementation work
    on Jul 28, 2026
  4. added
    blockedBlocked by an explicit dependency
    and removed
    blockedBlocked by an explicit dependency
    on Jul 28, 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

    documentationImprovements or additions to documentationdomain: backendCompiler/backend implementation workrelease:lawpacksLawpack contract and authority source release workrelease:target-profilesTarget-profile contract and authority source release workroadmap-a1Roadmap A.1: typed external request construction

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions