Repository navigation
v33.3.0
Release Notes — v33.3.0 (Deterministic Proof-of-Breath Step Alignment)
Release type: Precision / Determinism Patch
Scope: Proof-of-Breath rendering + explorer metadata correctness
Theme: “No drift. No side effects. Same pulse → same truth.”
Overview
v33.3.0 is a surgical determinism fix that restores Proof-of-Breath beat/step correctness directly from pulse, while preserving every other invariant in the system:
- ✅ Sigil color + chakra rendering remains stable
- ✅ Proof-of-Memory calculations remain unchanged
- ✅ Existing UI/feeds/explorer behavior remains deterministic
- ✅ No “hooks order” regressions, no conditional memo pitfalls
- ✅ No Chronos creep, no rounding side effects
This update exists for one reason: the Proof-of-Breath step must be derived from the pulse correctly, every time, everywhere.
What Shipped
1) Restored Beat/Step Derivation Flow (No Destructuring Drift)
Proof-of-Breath now computes beatZ and stepZ using the canonical, stable pattern that avoids scope mistakes and preserves the exact semantics used elsewhere:
- Keeps the “compute object → floor fields” approach
- Prevents accidental variable shadowing
- Eliminates the
Cannot find name 'm'class of failures without altering behavior
Result: Proof-of-Breath step index is now computed consistently and predictably from the input pulse.
2) μpulse-Exact Beat/Step Engine Usage (Deterministic, No Roundtrip)
Beat/step computation is now anchored strictly in the μpulse engine, avoiding any “ms → pulse → ms” conversion paths that can introduce rounding divergence in edge cases.
- Beat index is derived via exact integer ratio math
- Step index is computed using integer partitions of the beat span
- Bounds are clamped safely (0–35 for beats, 0–(STEPS_BEAT-1) for steps)
Result: The step calculation no longer “wanders” even when everything else appears correct.
3) Chakra Type Safety: Prevented Invalid Chakra Mapping Paths
We explicitly avoided forcing arc labels (Ignition, Integration, etc.) into ChakraDay types.
This matters because “fixing” that TS error the wrong way can cascade into:
- Sigil color changes
- Chakra palette mismatches
- Proof-of-Memory signature drift
- UI badge inconsistencies
Result: Chakra display + sigil rendering remain untouched and correct.
4) UI Stability Patch: Hook Order Integrity (No Conditional Hooks)
We addressed the root shape of the hook warning:
“React Hook
useMemois called conditionally…”
v33.3.0 ensures hook usage remains top-level and unconditional, preventing runtime instability and future regressions.
Result: No more hook order violations, no render-path variability.
Why This Matters
The system you’re building is not “an app.”
It’s a root protocol where the UI is a verifier, not a storyteller.
If pulse is truth, then:
- beat/step must be derived with no ambiguity
- proof layers must not mutate each other
- rendering must not introduce hidden drift
- type errors must never be “patched” in ways that alter meaning
v33.3.0 reinforces that contract.
Technical Notes
Determinism Guarantees Maintained
- No changes to Proof-of-Memory computation
- No changes to sigil generation logic
- No changes to palette selection rules
- No changes to pulse source / anchor logic
- No changes to canonical time math
Safety Guarantees
- All indices remain clamped
- All conversions remain integer-safe
- No new dependencies
- No behavioral change outside Proof-of-Breath beat/step derivation
Upgrade Impact
✅ Safe to upgrade (patch-level behavior, deterministic)
✅ Works offline
✅ No data migration
✅ No breaking changes
Summary
v33.3.0 is the “precision strike” release:
- Fixes Proof-of-Breath step derivation from pulse
- Preserves all other proof layers and visuals
- Eliminates hook order instability
- Hardens correctness without changing system meaning
Same pulse. Same beat. Same step. Same truth.
What's Changed
- v33.3.0 by @Phinetwork in #18
Full Changelog: v33.2.2...v33.3.0