@@ -410,12 +410,13 @@ Canonical operator events are represented as zero-duration hybrid jumps. A
410410finite schedule with ` m ` events therefore declares exactly ` m + 1 ` nodal-flow
411411intervals: before, between and after the jumps. Materialized binary64 durations
412412have authoritative exact-rational values and offsets; absolute float timestamps
413- are display values and are never subtracted to recover duration or inserted as
414- finite secants into ` epi_time_history ` . Coincident events retain their explicit
415- event-index order in ` hybrid_event_log ` . For fixed connected symmetric
416- positive-capacity pure-EPI diffusion, the exact quotient-rate certificate and
417- rational log/exp enclosures provide a sufficient duration for a requested
418- disagreement-energy fraction. These schedule and duration objects are read-only
413+ are display values, schedule logic never subtracts them to recover duration,
414+ and the builder does not insert them into ` epi_time_history ` . Coincident events
415+ retain their explicit event-index order in ` hybrid_event_log ` . For fixed
416+ connected symmetric positive-capacity pure-EPI diffusion, the exact
417+ quotient-rate certificate and rational log/exp enclosures provide a sufficient
418+ duration for a requested disagreement-energy fraction. These schedule and
419+ duration objects are read-only
419420and do not turn U2/U4 into an adaptive policy.
420421
421422` execute_operator_event_schedule ` binds a valid finite schedule to the
@@ -424,19 +425,47 @@ the initial targets, requires the live binary64 clock at every boundary, rejects
424425collapsed or nonadditive positive intervals, and commits graph-owned flow, jump,
425426history, cache and event-log state in one transaction. Flow boundaries supply
426427timestamped EPI evidence; a same-time EPI jump restarts that history and remains
427- a zero-duration event. ZHIR therefore requires a positive representable
428- immediately preceding flow. With ` include_flow_certificates=True ` , detached
428+ a zero-duration event. ZHIR therefore requires a positive immediately preceding
429+ flow whose displayed endpoint subtraction equals its authoritative declared
430+ duration. With ` include_flow_certificates=True ` , detached
429431snapshots around each actual positive flow produce an
430432` ExecutedNodalFlowInterval ` . Its evidence keeps the exact rational
431433held-pressure nodal identity and pure-EPI quotient theorem separate from the
432- binary64 Euler replay. Trusted binary64 held-pressure identification requires
433- the exact built-in ` DefaultIntegrator ` , Euler with one substep, live Gamma type
434- ` none ` , inactive clipping, disabled extended dynamics, stable support,
435- unchanged capacity and pressure, and a matching replay. Exact rational pure-EPI
436- affine promotion additionally requires fixed symmetric nonnegative conductance,
437- positive row strengths and capacity, the stored pressure ` -L_rw EPI ` and the
438- exact nodal identity. Stale pressure can pass the trusted binary64 runtime level
439- while the pure-EPI affine map and quotient theorem abstain.
434+ binary64 replays. Trusted sequential held-pressure identification requires the
435+ exact built-in ` DefaultIntegrator ` , Euler with at least one substep, live Gamma
436+ type ` none ` , inactive clipping, disabled extended dynamics, stable support,
437+ unchanged capacity and pressure, an exact represented substep-duration sum equal
438+ to the declared interval, and a matching replay. The older binary64 interval
439+ property and exact rational pure-EPI affine promotion still require one substep;
440+ the latter also requires fixed symmetric nonnegative conductance, positive row
441+ strengths and capacity, stored pressure ` -L_rw EPI ` and the exact nodal identity.
442+ Internal substeps keep pressure fixed, so they establish neither a physical mesh
443+ refinement nor a modal diffusion decision. Runtime flow wrappers are value-sealed;
444+ direct construction or later replacement cannot assert executor provenance.
445+
446+ ` observe_event_local_zhir_prejump ` pairs one such sealed nonempty flow offline
447+ with a scheduled ZHIR boundary at the same exact and represented coordinate. It
448+ keeps the rational endpoint secant separate from the actual binary64
449+ subtraction/division used by Mutation; only the latter decides ` rate > xi ` , and
450+ both passing and failing thresholds are observations. The pairing does not prove
451+ a common schedule execution. For two observations with identical initial state,
452+ capacity, pressure, conductance, support, duration, event coordinate and ` xi `
453+ but different positive substep counts,
454+ ` compare_event_local_zhir_held_pressure_subdivision ` certifies the represented
455+ gate outcome only when decisions agree and every exact rate difference is
456+ strictly below the baseline threshold distance. It does not certify physical
457+ pressure-reevaluated refinement, modal equivalence, solver accuracy/order, U4
458+ readiness, adaptive grammar or future behavior.
459+
460+ Every accepted two-phase ZHIR stage seals one ordered
461+ ` MutationStageDecisionObservation ` per target from its immutable proposal. It
462+ retains the complete threshold certificate, capacity gate, phase/regime decision,
463+ acceleration/bifurcation read-out and U4 context independently of EPI-map
464+ certification. Opt-in event-stage evidence carries these observations forward.
465+ The complete ` ExecutedGlyphStage ` is value-sealed; its execution result requires
466+ one intact stage per committed event and binds ordered ZHIR observations to the
467+ ordered target support. An adjacent flow abstention remains observable but
468+ cannot enter a represented schedule product.
440469
441470With ` include_stage_certificates=True ` , interval capture is implied and every
442471accepted event returns an ` ExecutedGlyphStage ` . The event runtime binds the
@@ -501,8 +530,9 @@ fixed-history result has zero current-state coefficient. See
501530[ src/tnfr/operators/event_timing.py] ( src/tnfr/operators/event_timing.py ) ,
502531[ src/tnfr/operators/event_runtime.py] ( src/tnfr/operators/event_runtime.py ) ,
503532[ src/tnfr/operators/event_remesh_runtime.py] ( src/tnfr/operators/event_remesh_runtime.py ) ,
504- [ src/tnfr/operators/event_remesh_sequence.py] ( src/tnfr/operators/event_remesh_sequence.py )
505- and [ src/tnfr/physics/event_duration.py] ( src/tnfr/physics/event_duration.py ) .
533+ [ src/tnfr/operators/event_remesh_sequence.py] ( src/tnfr/operators/event_remesh_sequence.py ) ,
534+ [ src/tnfr/physics/event_duration.py] ( src/tnfr/physics/event_duration.py ) and
535+ [ src/tnfr/physics/event_refinement.py] ( src/tnfr/physics/event_refinement.py ) .
506536
507537### Composition
508538
0 commit comments