From 99c8782c646195379a506cd1becdb0a7fbdd22ee Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Wed, 7 Oct 2026 18:01:55 +0000 Subject: [PATCH] class v5 under sub-version 3: the acceptance rules' class key sets the state flag aside as the draw's does (a v5 candidate was judged under the pre-amendment rule and another attempt accepted, so the v5 draw diverged from the amended v4's at instruction 0) Co-Authored-By: Claude Fable 5.1 --- igneum-pow/src/accept.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/igneum-pow/src/accept.rs b/igneum-pow/src/accept.rs index 5777be4b6..709d6f432 100644 --- a/igneum-pow/src/accept.rs +++ b/igneum-pow/src/accept.rs @@ -249,7 +249,8 @@ pub fn distinct_indices_v4(p: &Program, units: usize) -> Result, Reject /// the era set aside): the shape the sub-version 2 rules (a') and (c') apply to, on every draw path. pub fn is_class_v4_shape(class: &LoadClass) -> bool { matches!(class.shadow, Some(ShadowClass { instrs: V4_SHADOW_INSTRS, .. })) - && LoadClass { era: None, shadow: None, ..*class } == LoadClass { shadow: None, ..V4_CLASS } + // class v5 (docs/design/class-v5-stored-state.md) is judged under the same rules: its state flag is set aside + && LoadClass { era: None, shadow: None, state: false, ..*class } == LoadClass { shadow: None, ..V4_CLASS } } /// One pass of the dataflow freshness over the base program then the shadow block (the order of one iteration),