Skip to content

feat(EthVmInstructions): add indexed step results and Handler - #413

Open
alexanderlhicks wants to merge 1 commit into
feat/vm-call-request-checkedfrom
feat/vm-step-results
Open

alexanderlhicks wants to merge 1 commit into
feat/vm-call-request-checkedfrom
feat/vm-step-results

Conversation

@alexanderlhicks

Copy link
Copy Markdown
Owner

VM control now has the specified six-case StepResult ctx and class-free Handler alias. Each result retains its complete frame and payload at the original context index. Only call/create suspension requires the existing strict depth and parent-stack bounds, against Core's literal limit. The independently supplied configuration limit adds no constraint.

These are the Lean interfaces specified in EthVmInstructions §5. EELS represents control through Evm (vm/__init__.py:147–185), the interpreter loop/error handlers (interpreter.py:438–465) and synchronous child dispatch (instructions/system.py:133–185,395–462). This change supplies the control types; opcode producers, child execution and source-control refinement remain open. No new decision or disposition, admission/staticness/gas policy or F11 proof-production route is chosen.

Private facade clients check exact types, complete arbitrary payloads, all case distinctions, dependent elimination/reconstruction, class-free alias/run types and both local proof boundaries. Public Stack laws construct full and one-slot-free stacks. Terminal results remain available at the depth and stack limits.

All148 current required commands passed in author, ROOT and both independent CODE lanes on exact tree b0ca85f470a8afdd1529a97be3025e5c7c6c1f29. ROOT core audit: 31,740 declarations, zero findings; ordinary kernel replay543 modules. Complete private clients also elaborate warning-fatally with both implicit-variable options disabled; independent positive and interpreted negative controls passed. No guest/EEST execution or performance benchmark is claimed.

Both independent adversarial reviews are CLEAN with no unresolved material finding. ROOT independently evaluated the exact source and original retained evidence before commit.

EthVmInstructions §3 owns the source-to-Lean/test rows; its contracts and gaps, Core's context documentation, COMPOSITION, REVIEW and generated GAPS are updated together. Citation changes preserve semantic records and move only locations. Provider declarations, registry, pin, dependencies and layer readiness are unchanged. Actual dispatch/step, child settlement/resume, F8 transport, F11 and fuel/resource/guest obligations remain open.

Depends on #411. New branch feat/vm-step-results, based on feat/vm-call-request-checked. The state-lift PR is an independent sibling.

Generated with Codex.

Supply the six-case context-indexed control result and class-free Handler
alias. Preserve complete frames and payloads; only child cases carry the
existing strict depth and parent-stack proofs. Add complete private facade
clients and update owning contracts, source/test rows and open obligations.

All148 required commands pass in four isolated lanes. Both independent
reviews CLEAN; ROOT exact-tree evaluation precedes commit. Opcode effects,
source-control refinement and child execution/settlement remain open.

Co-Authored-By: Codex <noreply@openai.com>

@alexanderlhicks alexanderlhicks left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fresh review of 1c5bd6a88c24c7a115dc69f89cf1556679d68a99 (tree b0ca85f470a8afdd1529a97be3025e5c7c6c1f29): CLEAN_SCOPED_WORK_ITEM for the new work described below. This is not a whole-head clean verdict.

The exact six-constructor StepResult retains complete frame and output, halt or request payloads at the original context index. Only child suspension requires strict context-depth and suspended-parent stack-space proofs against Core literal 1024, independently of raw configured limits. Handler forms and exposes its run type without a Monad or hash instance. The twenty-five private clients cover complete payloads, all fifteen constructor distinctions, dependent elimination/reconstruction, both strict boundaries and public Stack-law witnesses at 1023/1024. The Handler run type keeps StepResult values separate from VmFault; no handler effects are established by the alias. Actual handlers, dispatch, child execution and settlement/resume remain open. Seven citation-record changes relocate document line numbers only.

All 148 literal CONTRIBUTING §6.3 commands passed in each of three fresh, isolated checkouts. Each lane reports 31,740 declarations with zero findings and kernel replay of all 543 modules. Both independent final reports, original command streams, all 22 checklist producer outputs per lane and byte-compared own-cache archives were authenticated. Auxiliary setup or inspection corrections receive no candidate-validation credit; no historical process or foreign build cache was reused as a current pass.

The material documentation finding inherited unchanged from main in #408 remains open. The oversized single-node raw-decoder probes bypass the guest SSZ admission bound and do not establish the claimed guest-level divergence. This scoped verdict neither waives that finding nor downgrades it to a nit.

The independent source audits retain their original chronology and are bound again to these unchanged source bytes. All current validation completed in fresh campaigns on this exact head.

Local validation records uv 0.8.17 while CI pins 0.13.6; literal uv/Python 3.12 commands were retained, without a claim of CI-environment equivalence. No material effect from this driver difference was identified.

This review establishes no new EELS runtime agreement, guest/EEST, resource, security, cost or readiness result. Current-main integration remains separate. This review made no tracked edits, fixes, commits, pushes or merges.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant