Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,23 @@

## Unreleased

- Jim now runs on current Echo and Edict. The native host had been pinned to
Echo `90f63ae` (2026-07-17), 1054 commits behind main, so Jim never exercised
the Echo being built. It now builds against Echo main `0faaf58`, with contract
bindings regenerated by that Echo's `echo-wesley-gen`. Executors read the
graph through Echo's recording `ExecutionGraphView`, so every fact a plan
reads is part of the execution's observed footprint, and receipts carry
`InstalledInvocationEvidence`, of which the host accepts only the generated
contract variant. The ReplaceRange schema, codec vectors, and oracle cases are
byte-identical; only the oracle's source-set digest and its sidecar changed.
That digest covers every path the oracle's `sourceSet` declares, including the
host's `Cargo.toml` and `Cargo.lock`. The Edict package chain moves from
Edict `2b4832e` and Echo `b314f7f` to Edict main `2ddc069` and Echo main: the
`jedit.text` lawpack is republished for the new oracle digests, and the
toolchain, build, and executable-subject locks are regenerated from a real
build. The conformance runtime and every proof-harness regression pass on
the new pins.

- Folded `VISION.md` and `docs/BEARING.md` into `README.md`. *Current posture*
now holds current truth, the authority and artifact boundaries, the roadmap
toward `Jim.edict`, and the hard gates; *Where Jim is going* holds the product
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"native/jedit-echo-host/tests/support/replace_range_oracle_tests.rs",
"native/jedit-echo-host/tests/support/replace_range_source_set.rs"
],
"digestHex": "2adf83f798205f52636ad64ca45178f33a8e1cc663874f8a6113484c945e3052"
"digestHex": "1628a34afa7f709e159b373198fc3e632f7ea2c1fb694b63a1f4fde1c6c1509e"
},
"evidenceGrade": "deterministic-self-validation",
"independenceLimit": "independent finite-corpus evidence begins only when a separately implemented Echo evaluator agrees",
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
b9b4707dd5e07897cbe7af36d88928401887e6af5d167d1a88a8d6181b4dbb0e
7c38a873435d7dd8d785a121ed64ff17fbbdc6875ec20b49c460f538843548dc
14 changes: 4 additions & 10 deletions docs/design/0158-replace-range-canonical-fact-law.md
Original file line number Diff line number Diff line change
Expand Up @@ -533,16 +533,10 @@ What changed from the design:
[`native/jedit-echo-host/tests/support/replace_range_contract.rs#L20@9ffc0e4aa9313eba3774be970adbc1b976e5888a`](https://github.com/flyingrobots/jedit/blob/9ffc0e4aa9313eba3774be970adbc1b976e5888a/native/jedit-echo-host/tests/support/replace_range_contract.rs#L20)
[`native/jedit-echo-host/tests/replace_range_schema_conformance.rs#L336@9ffc0e4aa9313eba3774be970adbc1b976e5888a`](https://github.com/flyingrobots/jedit/blob/9ffc0e4aa9313eba3774be970adbc1b976e5888a/native/jedit-echo-host/tests/replace_range_schema_conformance.rs#L336)
[`native/jedit-echo-host/tests/replace_range_schema_conformance.rs#L362@9ffc0e4aa9313eba3774be970adbc1b976e5888a`](https://github.com/flyingrobots/jedit/blob/9ffc0e4aa9313eba3774be970adbc1b976e5888a/native/jedit-echo-host/tests/replace_range_schema_conformance.rs#L362)
- **Artifact digest ledger.** The published SHA-256 digests are
`f49b0ff6c9c7010d3a72b46734d47832853f496739a083edc41dddec3431bac7`
for the schema,
`1ac26477e1d6c08df49446627ad002e40bd214235ce93b563d62bb50e40dc14c`
for codec vectors, and
`b9b4707dd5e07897cbe7af36d88928401887e6af5d167d1a88a8d6181b4dbb0e`
for the oracle. The oracle source-set digest is
`2adf83f798205f52636ad64ca45178f33a8e1cc663874f8a6113484c945e3052`.
The ledger derives all four values from the committed artifacts.
[`tests/replace-range-law-cycle.spec.mjs#L76@95f63d2c31847c3a4cc4bbea9152900470843d3a`](https://github.com/flyingrobots/jedit/blob/95f63d2c31847c3a4cc4bbea9152900470843d3a/tests/replace-range-law-cycle.spec.mjs#L76)
- **Artifact digest ledger.** Each published artifact's SHA-256 digest is
its `.sha256` sidecar in `contracts/jedit/lawpacks/replace-range-v1/`, and the
oracle records its own source-set digest. `tests/replace-range-law-cycle.spec.mjs`
checks every sidecar against its artifact bytes.
- **Serialized resource updates.** The deliberate resource-update command runs
each exact writer serially
before the complete locked reader and conformance pass.
Expand Down
6 changes: 3 additions & 3 deletions edict/replace-range/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ and five host-resource refusals. It performs no native replacement and links
no native rope planner. The package-chain harness runs both the boundary and
flat-text targets, and the build closure includes both test sources.

The toolchain pins Edict main `2b4832efe62de75e1f204cec72f9fe7d00ef9551`
and Echo main `b314f7fd071985edad1f9876df383a85fb491205`. The generated
The toolchain pins Edict main `2ddc0692ae894c786e8f37b497719191ad7d4d69`
and Echo main `0faaf58a15a4b03036cf36b465d79af76c952193`. The generated
build and executable-subject locks bind the changed source, vendor publication,
provider and test closure. Public macOS and Linux builds emit identical package
and verifier-report bytes. The package identity is
`sha256:4c2b7859f291e97b6b38fb265086e6cb0581ed030d54d38152b0585152120397`.
`sha256:37b51045160d164b520b3c36af7521659fd199f08e09314bd52c312dd825c47d`.
The Docker package-chain gate checks the exact clean Git toolchains, rebuilds
through the public CLI, verifies the locks, runs both runtime targets and
refuses mutation of authoritative inputs.
Expand Down
42 changes: 21 additions & 21 deletions edict/replace-range/edict.build-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,26 @@
"schema": "jedit.edict-build-lock/v1",
"applicationCoordinate": "jedit.text.replace_range@1",
"operationCoordinate": "jedit.text.replace_range@1.replaceRange",
"toolchainLockSha256": "db54615c1294bd128401715630421e49b2633776ace7ede1bfb0c3c198a11d2a",
"toolchainLockSha256": "e4a4433bf7d3e794aea6b76f2a337fc10d19b5ca1247f9750ec915464c891b17",
"sourceClosure": {
"schema": "jedit.edict-source-closure/v1",
"digest": "sha256:c692181d166000e86e2bc2564e60814435f7ae7202b057fc9e7fb62974fee12b",
"digest": "sha256:b6d49fa83402a2423ff94a7b987536564311d437657a57311904638bdc560d63",
"files": [
{
"path": "application/edict.application.json",
"sha256": "3182577627cd1f88bf590f3a8481ef53476c83d783aa142182e7c65eb1f72f8b"
},
{
"path": "application/edict.lawpack.json",
"sha256": "ce13d5993e9b80517538e85bad39ed825ecaf466692063ffd99d17248a68cc66"
"sha256": "849792dee00318bad0d824d131fb07d1d62fcbcaa432763d38d0aea050e02cd1"
},
{
"path": "application/edict.toolchain-lock.json",
"sha256": "db54615c1294bd128401715630421e49b2633776ace7ede1bfb0c3c198a11d2a"
"sha256": "e4a4433bf7d3e794aea6b76f2a337fc10d19b5ca1247f9750ec915464c891b17"
},
{
"path": "application/src/ReplaceRange.edict",
"sha256": "61978fd2b7463da772c52a121891523b1669816440a25111af5834d121b86b60"
"sha256": "d8facf1cc053bf3d6211fc221e81373aee612e170f355d1e87dd26245a84fcb4"
},
{
"path": "application/tests/assert-build-output.mjs",
Expand All @@ -41,11 +41,11 @@
},
{
"path": "application/tests/runtime/Cargo.toml",
"sha256": "17b7943ca35ed8485ce8b6d3660b79486a655604b5098a7c5ee8a98f230f8790"
"sha256": "e2629430b688e86d5cf8c144a330448be404e6d9bafd4a80dd3151c8593ba8dd"
},
{
"path": "application/tests/runtime/Cargo.lock",
"sha256": "597f102c65285960e80d22277adfa903f67e84fb54ae33ccb2578981e4f7cfb2"
"sha256": "fb1799281b6c2364fdbd11e4a619f9ed732196c4d545cf80f7f43175d3224d66"
},
{
"path": "application/tests/runtime/compiled_boundary.rs",
Expand All @@ -61,7 +61,7 @@
},
{
"path": "application/vendor/jedit-text/edict.lawpack-output.json",
"sha256": "81a65d2569a3d8513fcefb2de87c816c7364c280205aec42c83f64377f9755f4"
"sha256": "ff7d3a8445db5e6274b384e89c80fd21aa7b4be123f5f4372669a488434579be"
},
{
"path": "application/vendor/jedit-text/exports.cbor",
Expand All @@ -73,11 +73,11 @@
},
{
"path": "application/vendor/jedit-text/manifest.cbor",
"sha256": "4f05a239948e6e7a7efd08f6b20a9249319769eaeac1e67bd8902206299d71bc"
"sha256": "69e32a6681da65021cff02f62a7f9ba27e065cdb698638dc1dda60796166d1ef"
},
{
"path": "application/vendor/jedit-text/manifest.sha256",
"sha256": "e0cacb05c16d70f33f2381c5785e906f1763aa555b667b6e52b84f43b709a842"
"sha256": "888c9e652200ebd6c131e55c7aea97cf2e9d0c6dcd96d5dc5021dfd98a3b00bb"
},
{
"path": "project/.github/workflows/ci.yml",
Expand All @@ -95,22 +95,22 @@
},
"lawpackRelease": {
"coordinate": "jedit.text@1",
"digest": "sha256:f385072314ea57af5b66cad9eb4119b51e456df2050ea0c9a6302c7693212dc1"
"digest": "sha256:c3db3ca3741d1719cb276ca3d16105fc7a22b5bb8bbcbab5e00b580b20da4788"
},
"provider": {
"coordinate": "echo.edict-provider@1",
"digest": "sha256:cba96816605f54dc5e675ab6f473adf858bdaebdceae985f955e930711c8a4f9"
"digest": "sha256:36ce20c612c8c46bbe450c93e6fb2235f38e4ec2b14f04f128eee91805cdb26a"
},
"artifacts": {
"core": {
"coordinate": "jedit.text.replace_range@1",
"domain": "edict.core.module/v1",
"digest": "sha256:f878c563d3e22720366faba02c1c964ecf2fb8250acf346e6454d7cd340068ef"
"digest": "sha256:0ecfafc97a781847089f29aaeef78d2ba9e69c479a450fd3eb2f5712a3757684"
},
"targetIr": {
"coordinate": "echo.span-ir/v1",
"domain": "edict.target-ir.artifact/v1",
"digest": "sha256:4b4049ae9730091d9450a489a22c88519fd8f84c5b74895f07cf86a250afcf86"
"digest": "sha256:bb55f38e2484267c897568ba1bf71b845262d288a00dd1fc50080b07262e967b"
},
"resultProjection": {
"coordinate": "jedit.text.replace_range@1.replaceRange",
Expand All @@ -120,25 +120,25 @@
"executablePackage": {
"coordinate": "executable-operation-package.echo",
"domain": "echo.operation-package/v1",
"digest": "sha256:4c2b7859f291e97b6b38fb265086e6cb0581ed030d54d38152b0585152120397",
"rawSha256": "31ed2bf3121d8ada879e2f1dee15e793a0106cd8c034beaad4dd3c4995e9629a"
"digest": "sha256:37b51045160d164b520b3c36af7521659fd199f08e09314bd52c312dd825c47d",
"rawSha256": "897ecb5fca894e70a633fec95686b2a27d8ceb5760bf61b8634625199374f93d"
},
"verificationReportArtifact": {
"coordinate": "verifier-report.echo-operation",
"domain": "echo.operation-package-verifier-report/v1",
"digest": "sha256:fc4452e6aa91f541641cf4c070317ec7f24b05b48aeb1c6d8911a7f20a547c04",
"rawSha256": "3dab6a7de887acb0422a881c58130932819d16ecf8577a503d33031036732c86"
"digest": "sha256:891914e52c17dfab9120ba8c4ee794ba776cd6e0380cdde35aa1f7d42d0598ec",
"rawSha256": "83add48f7dda80985b72845055099f529e440fd536695c3be5cbc74d275fbe77"
},
"verificationReport": {
"coordinate": "jedit.edict-verification-evidence/v1",
"domain": "jedit.edict-verification-evidence/v1",
"digest": "sha256:4005c65e03fdc960883fff68b2eea292cb1a50bd78d95eb4ced41b0d03bf471d",
"rawSha256": "70e100bfd97fc2c09ac45582b01297dddace8cf07b67c79ae5a205d7b3f0b906"
"digest": "sha256:10ea17f73a0c4c58074a88973598d581fdd4c3e3bf70c6d5ed582de528ceff3c",
"rawSha256": "e46c2125acf0383f59c3d0914efe8ac99b715c7abbd2c20281c86d118bbb956e"
},
"executableSubject": {
"coordinate": "echo.executable-subject/v1",
"domain": "echo.executable-subject/v1",
"digest": "sha256:ea65a7bfa2055644c99783ef5097bdaa84c03245866f20126816b4c33f75d8cf"
"digest": "sha256:31b437e8e2504bd38c42354be26fe3f10092acb6d3053eb00aead2c1bba8531e"
}
}
}
8 changes: 4 additions & 4 deletions edict/replace-range/edict.executable-subject-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
"schema": "jedit.edict-executable-subject-lock/v1",
"reference": {
"coordinate": "echo.executable-subject/v1",
"digest": "sha256:ea65a7bfa2055644c99783ef5097bdaa84c03245866f20126816b4c33f75d8cf"
"digest": "sha256:31b437e8e2504bd38c42354be26fe3f10092acb6d3053eb00aead2c1bba8531e"
},
"rawSha256": "7d08ef912c7f294c949abddf255423b3f7145d2accf64794dec5acf225e85cf7",
"rawSha256": "35ba08f56b4efa8ac03ee292a2cdfbc604b024c9d3805c839d4190f8c9e628ae",
"package": {
"coordinate": "executable-operation-package.echo",
"digest": "sha256:4c2b7859f291e97b6b38fb265086e6cb0581ed030d54d38152b0585152120397"
"digest": "sha256:37b51045160d164b520b3c36af7521659fd199f08e09314bd52c312dd825c47d"
},
"targetIr": {
"coordinate": "echo.span-ir/v1",
"digest": "sha256:4b4049ae9730091d9450a489a22c88519fd8f84c5b74895f07cf86a250afcf86"
"digest": "sha256:bb55f38e2484267c897568ba1bf71b845262d288a00dd1fc50080b07262e967b"
},
"resultProjection": {
"coordinate": "jedit.text.replace_range@1.replaceRange",
Expand Down
4 changes: 2 additions & 2 deletions edict/replace-range/edict.lawpack.json
Original file line number Diff line number Diff line change
Expand Up @@ -186,11 +186,11 @@
},
"compatibility": {
"id": "jedit.text.compatibility/v1",
"digest": "sha256:2adf83f798205f52636ad64ca45178f33a8e1cc663874f8a6113484c945e3052"
"digest": "sha256:1628a34afa7f709e159b373198fc3e632f7ea2c1fb694b63a1f4fde1c6c1509e"
},
"conformanceFixtureCorpus": {
"id": "jedit.text.ReplaceRange.oracle@1",
"digest": "sha256:b9b4707dd5e07897cbe7af36d88928401887e6af5d167d1a88a8d6181b4dbb0e"
"digest": "sha256:7c38a873435d7dd8d785a121ed64ff17fbbdc6875ec20b49c460f538843548dc"
},
"localResources": [
{
Expand Down
12 changes: 6 additions & 6 deletions edict/replace-range/edict.toolchain-lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,26 +29,26 @@
]
},
"edict": {
"commit": "2b4832efe62de75e1f204cec72f9fe7d00ef9551",
"commit": "2ddc0692ae894c786e8f37b497719191ad7d4d69",
"cliVersion": "0.11.0-alpha.1"
},
"echo": {
"commit": "b314f7fd071985edad1f9876df383a85fb491205",
"commit": "0faaf58a15a4b03036cf36b465d79af76c952193",
"provider": {
"coordinate": "echo.edict-provider@1",
"digest": "sha256:cba96816605f54dc5e675ab6f473adf858bdaebdceae985f955e930711c8a4f9",
"manifestSha256": "d9ec3c528d0b27434606ecef27a552eb466034866cbb3cb04d169241f772a6df",
"digest": "sha256:36ce20c612c8c46bbe450c93e6fb2235f38e4ec2b14f04f128eee91805cdb26a",
"manifestSha256": "8bb6c675598fc457513a953c2aee65316f80315583df418a5ef96788321cd649",
"targetProfile": {
"coordinate": "echo.dpo@1",
"digest": "sha256:2e2494121aecf5e6a2d920f5fb85408825d394765fad41484c416397c920fb04"
},
"lowerer": {
"coordinate": "echo.dpo.lowerer/component@1",
"sha256": "79066cfc740da4463fd20baec36fe18c6cfb346917fed475b4ef7119fda9408a"
"sha256": "cd81874f971f290f74987b39479ef89ddb5060e56df54044d2359e6e89b2430c"
},
"verifier": {
"coordinate": "echo.dpo.verifier/component@1",
"sha256": "577c69937594c0aff2461dd60d43507e1f6ce0903ca2b17ff02919d73efd9b28",
"sha256": "3451e95a7d084d4874c30833f90f5c21012e8341f35ed0f0888d4d268a768b11",
"contract": {
"coordinate": "echo.dpo.verifier/v1",
"digest": "sha256:ca96b190728de3d668072ec1bd37d24e5197e7bd9bd54f70966d8c566b9b67f2"
Expand Down
2 changes: 1 addition & 1 deletion edict/replace-range/src/ReplaceRange.edict
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package jedit.text.replace_range@1;

use lawpack jedit.text@1 digest "sha256:f385072314ea57af5b66cad9eb4119b51e456df2050ea0c9a6302c7693212dc1" as text;
use lawpack jedit.text@1 digest "sha256:c3db3ca3741d1719cb276ca3d16105fc7a22b5bb8bbcbab5e00b580b20da4788" as text;

type ReplaceRangeInput = {
bufferId: text.BufferId,
Expand Down
12 changes: 6 additions & 6 deletions edict/replace-range/tests/runtime/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions edict/replace-range/tests/runtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ publish = false
[workspace]

[dev-dependencies]
echo-edict-canonical = { git = "https://github.com/flyingrobots/echo", rev = "b314f7fd071985edad1f9876df383a85fb491205" }
warp-core = { git = "https://github.com/flyingrobots/echo", rev = "b314f7fd071985edad1f9876df383a85fb491205", features = ["trusted_runtime"] }
echo-edict-canonical = { git = "https://github.com/flyingrobots/echo", rev = "0faaf58a15a4b03036cf36b465d79af76c952193" }
warp-core = { git = "https://github.com/flyingrobots/echo", rev = "0faaf58a15a4b03036cf36b465d79af76c952193", features = ["trusted_runtime"] }

[[test]]
name = "compiled_boundary"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
"path": "manifest.cbor",
"kind": "manifest",
"coordinate": "edict.lawpack/v1",
"digest": "sha256:f385072314ea57af5b66cad9eb4119b51e456df2050ea0c9a6302c7693212dc1"
"digest": "sha256:c3db3ca3741d1719cb276ca3d16105fc7a22b5bb8bbcbab5e00b580b20da4788"
},
{
"path": "manifest.sha256",
"kind": "manifestDigest",
"coordinate": "edict.lawpack/v1",
"digest": "sha256:f385072314ea57af5b66cad9eb4119b51e456df2050ea0c9a6302c7693212dc1"
"digest": "sha256:c3db3ca3741d1719cb276ca3d16105fc7a22b5bb8bbcbab5e00b580b20da4788"
},
{
"path": "exports.cbor",
Expand Down
Binary file modified edict/replace-range/vendor/jedit-text/manifest.cbor
Binary file not shown.
2 changes: 1 addition & 1 deletion edict/replace-range/vendor/jedit-text/manifest.sha256
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sha256:f385072314ea57af5b66cad9eb4119b51e456df2050ea0c9a6302c7693212dc1
sha256:c3db3ca3741d1719cb276ca3d16105fc7a22b5bb8bbcbab5e00b580b20da4788
Loading
Loading