Skip to content

Admit generic Edict pure-program contracts - #724

Draft
flyingrobots wants to merge 8 commits into
mainfrom
feature/edict-pure-program-provider
Draft

Admit generic Edict pure-program contracts#724
flyingrobots wants to merge 8 commits into
mainfrom
feature/edict-pure-program-provider

Conversation

@flyingrobots

@flyingrobots flyingrobots commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Goal

Admit compiler-produced generic pure Edict programs without adding application
ontology to Echo.

Progresses #684.

Plan

  • Vendor and admit the exact Edict docs: dependency DAG automation + workflows (#200) #201 contract publication.
  • Regenerate and identity-bind the provider package closure.
  • Rebuild provider components twice in the designated Linux/amd64 builder and promote only byte-identical output.
  • Prove the checked components through the native Edict provider host witness.
  • Admit the exact Echo-owned compiler-produced-bounded-pure/v1 target configuration.
  • Package and independently verify compiler-produced generic pure Target IR.
  • Preserve generic nominal Core contracts without application vocabulary.
  • Bind accepted and rejected reports to retained canonical executable-subject bytes.
  • Evaluate the generic pure program under its declared budgets.
  • Add runtime settlement evidence without consumer-specific branches.

Current status

The package-and-verification slice is published at Echo head
49e9efb68001dfd78563d18bac9359a87671e431, consuming Edict
39a796de04b3400f569880da06878da50d8ed0ee. Jedit PR #302 pins this
exact provider at a6673521699259abdd27be10f7c885b5c634a867.

The real Jedit ReplaceRange.edict application reaches the checked Echo
lowerer, which emits a compiler-produced package retaining the exact Core,
lawpack exports, Target IR, and result projection. Echo's structurally separate
verifier reconstructs that relation without calling the lowerer. Generic
nominal Core entries carry only contract coordinates and storage
representations; no Jim/Jedit branch was added.

The checked provider identities are:

  • lowerer: e842063bd8d8ec12fff5b392a9d6bc646e2e3025c7a0c93726f53eed3cb5a0bf
  • verifier: 174cf8758815bf2b9f2ef575517aa6d144ed3f2d1995fc65d25a211b9dea82d9
  • provider package: sha256:b065242a81179df02cd450763c8266e866bbca959308f5198b791a919050e0c2

The changed lowerer was built twice in independently provisioned pinned
Linux/amd64 builders. Both candidates were byte-identical before promotion.
The native provider-host witness and focused package/corpus tests pass. The
latest full CI run is green at 49e9efb68001dfd78563d18bac9359a87671e431.

Each Echo report retains canonical echo.executable-subject/v1 bytes and
names their domain-framed identity. The subject binds the exact package, Target
IR, and application result projection. This is verifier output about an
executable subject; it is not admission or execution authority. Jedit #302
separately wraps that raw report in verifier-specific transitional evidence.

This Draft does not claim generic program evaluation, graph mutation, runtime
settlement, rope mutation, or end-to-end Jim behavior. Echo production code and
ABI surfaces remain free of Jim, Jedit, rope, buffer, range, and editor
semantics.

@flyingrobots flyingrobots added the work-in-progress Someone is actively working this issue. label Aug 23, 2026
@flyingrobots flyingrobots self-assigned this Aug 23, 2026
@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

work-in-progress Someone is actively working this issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant