Repository navigation
build(deps): relock Jedit to new Echo and Edict commits in one command - #376
Conversation
scripts/deps/echo-edict-relock.mjs takes clean Echo and Edict checkouts and regenerates every derived artifact: host and conformance-runtime Echo pins, Wesley host bindings, the ReplaceRange oracle, the lawpack's oracle digests, the republished jedit.text vendor and import digest, the toolchain lock (provider pins and validation-file hashes), and the build and executable-subject locks, then runs the package-chain proof. A host that no longer compiles stops the run before generated artifacts change. Pure helpers are pinned by spec/echo-edict-relock.spec.mjs. Run against Echo 0faaf58 and Edict 2ddc069 on the #374 tree, the tool reproduces the hand relock byte for byte and the chain verifies.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 40 minutes. View limit details
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. Comment |
|
@codex review please, focus on scripts/deps/echo-edict-relock.mjs: step order, that a failed host compile stops before generated artifacts change, provider-pin derivation, and whether any derived artifact the package chain checks is missed. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e2ec6a7a64
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Review findings on the relock tool: - A failure after regeneration began (for example the host no longer compiling against the new Echo) left the Cargo pins and contract.rs rewritten. The run now refuses to start unless its managed paths are clean, and on any failure restores them and removes files it created. Verified against Echo 90f63ae: the host fails to compile and the tree is left unchanged. - The lawpack's targetAdapters kept acceptedTargetProfile and acceptedTargetIr from the previous provider. They are now derived from the selected provider's target profile before the lawpack is republished. Specs cover both. Against Echo 0faaf58 and Edict 2ddc069 the tool still reproduces main byte for byte.
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Brings in #376. CHANGELOG keeps both entries.
Moving Jedit to new Echo and Edict commits took an hour of hand work in #374, and nothing re-tested Jim against Echo or Edict, so the pins sat three months stale. This makes the move one command, so a scheduled or upstream job can run it.
Given clean Echo and Edict checkouts, it regenerates everything derived from them, in dependency order:
native/jedit-echo-hostandedict/replace-range/tests/runtimeCargo manifests and lockfilessrc/generated/contract.rsfrom that Echo'secho-wesley-gen --contract-host, then the host must compile (otherwise the run stops: that is source work)npm run lawpack:replace-range:updateedict.lawpack.jsoncompatibility and corpus digests from the oraclevendor/jedit-textrepublished by that Edict, andReplaceRange.edict's import digestassert-build-output.mjs --write-lockstests/build.sh(both runtime witnesses)spec/echo-edict-relock.spec.mjspins the pure helpers (Cargo rev rewrite, oracle digests, import digest, manifest digest, provider pins, and refusal of components that disagree with the provider manifest). End to end: run against Echo0faaf58and Edict2ddc069on #374's tree, it reproduces #374's hand relock byte for byte and the chain verifies.This is the tool the warpspace
proveworkflow (flyingrobots/jim) will run to prove a selected Echo/Edict pair against Jedit and to try Echo and Edict main nightly.