Skip to content

Releases: Phinetwork/PHI_NETWORK

v42.2.0

26 Jan 21:08
74d61f1

Choose a tag to compare

What's Changed

Full Changelog: v42.0.0...v42.2.0

v42.0.0

26 Jan 01:21
ed0bde9

Choose a tag to compare

Φ Network (PHI_NETWORK) — v42.0.0

Release date: 2026-01-25 (America/New_York)
Baseline: v41.2.0 (tag: 41.2.0, commit: f955135) → HEAD :contentReference[oaicite:1]{index=1}

Executive summary

v42.0.0 is a major capability release for the ΦNet Sovereign Gate focused on shareable verification, receive-ownership, and offline-first integrity. This release introduces a deterministic VERIFIED OpenGraph (OG) card pipeline (server-rendered + client fallback), adds a receive ownership layer (receive signature + owner ΦKey derivation + provenance handling), and hardens the verification bundle schema/hashing so offline verification remains final and spoof-resistant. :contentReference[oaicite:2]{index=2}


Highlights

1) Deterministic VERIFIED OG cards + /og route (shareable verification)

  • Added deterministic VERIFIED OG card renderer, /og route, SSR metadata, and a client download fallback. :contentReference[oaicite:3]{index=3}
  • Hardened OG not-found handling + share text, and tightened OG metadata ordering for receive signatures. :contentReference[oaicite:4]{index=4}
  • Added verifiedAtPulse to verified OG cards and added verification pulse into proof bundles so each verification is uniquely stamped. :contentReference[oaicite:5]{index=5}

2) Receive ownership layer (receiveSig + owner ΦKey derivation + provenance)

  • Implemented a receive ownership layer including receiveSig, owner ΦKey derivation, and provenance handling. :contentReference[oaicite:6]{index=6}
  • Fixed receive signature lookup issues and improved verification snapshot/KAS fallback behavior around receive flows. :contentReference[oaicite:7]{index=7}
  • Allowed chained receives and surfaced owner ΦKey display. :contentReference[oaicite:8]{index=8}

3) Verifier artifact packaging (ZIP bundles) + segmented verification robustness

  • Added bundle ZIP downloads for VerifierStamper receive + segment flows. :contentReference[oaicite:9]{index=9}
  • Fixed segmented glyph verification and ensured archive-on-seal correctness; fixed sendLock typing when sealing segments. :contentReference[oaicite:10]{index=10}

4) Valuation integrity (minted snapshot + receipt binding) + receive USD chart correctness

  • Minted valuation snapshot + bound it to receipts; fixed receive-signature bundle hash, and corrected USD chart behavior for receive glyphs. :contentReference[oaicite:11]{index=11}

5) SSR + offline-first performance (snapshot seeding/caching, preload/header, lazy-loading)

  • SSR/offline: use / as shell, add SSR preloads/header, and lazy-load heavy browser libs. :contentReference[oaicite:12]{index=12}
  • Added SSR snapshot seeding + caching and short-circuited SSR loaders when cached. :contentReference[oaicite:13]{index=13}
  • Multiple Vercel SSR hardening iterations (render invocation, render fn signature, HTML fallback). :contentReference[oaicite:14]{index=14}

Breaking changes / upgrade notes

  • Verification bundle schema has been expanded/clarified with explicit binding fields (origin/receive mode, bundle hashes, receiveSig, receivePulse, ownerPhiKey, derivation, etc.). Consumers should treat the bundle as forward-compatible and prefer the explicit fields when present. :contentReference[oaicite:15]{index=15}
  • Tooling note: repository package manager metadata was updated (pnpm@10.28.1) alongside related build metadata changes. :contentReference[oaicite:16]{index=16}

Security & Integrity

  • Hardened verification cache + receipts; tightened proof bundle contracts and normalized ZK curve metadata for consistency. :contentReference[oaicite:17]{index=17}
  • Fixed verify bundle hash parity (including legacy proofs) and aligned ZK hash with payload hash. :contentReference[oaicite:18]{index=18}
  • Persisted KAS author signatures in the sigil registry + hardened WebAuthn signing flows (PWA stability + cross-session recall). :contentReference[oaicite:19]{index=19}

Performance & Reliability

  • Improved SSR/offline shell behavior and lazy loading for heavier client libraries to reduce initial load and improve time-to-interactive without sacrificing offline operation. :contentReference[oaicite:20]{index=20}
  • Fixed app loading issues on Vercel by correcting SSR invocation/signatures and HTML fallbacks. :contentReference[oaicite:21]{index=21}
  • Mobile export hardening: fixed PNG export fidelity, ensured img onload is registered before src assignment, and clamped PNG export sizes for mobile constraints. :contentReference[oaicite:22]{index=22}

Full “Today / last 24h” commit list (GitHub date buckets)

Note: GitHub groups these as Jan 25–26, 2026 (often UTC-skewed vs local time). :contentReference[oaicite:23]{index=23}

Jan 26, 2026

  • Merge PR kojibai#256 — Add deterministic VERIFIED OG card renderer, /og route, SSR meta, and client download fallback (d646d44) :contentReference[oaicite:24]{index=24}
  • Merge PR kojibai#279 — Add bundle ZIP downloads for VerifierStamper receive and segment flows (4cdfc14) :contentReference[oaicite:25]{index=25}
  • Add bundle zip downloads for verifier actions (44b819e) :contentReference[oaicite:26]{index=26}
  • Merge PR kojibai#278 — Fix segmented glyph verification and archive on seal (ba519b5) :contentReference[oaicite:27]{index=27}
  • update (146ac52) :contentReference[oaicite:28]{index=28}
  • Fix sendLock type when sealing segments (0027102) :contentReference[oaicite:29]{index=29}
  • Fix segmented glyph verification and archive on seal (68edd9f) :contentReference[oaicite:30]{index=30}
  • Merge PR kojibai#273 — Mint valuation snapshot + bind to receipt; fix receive-signature bundle hash; USD chart for receive glyphs (f7d225a) :contentReference[oaicite:31]{index=31}
  • Merge PR kojibai#276 — fix infinite receives and verification display (2c73fde) :contentReference[oaicite:32]{index=32}
  • Merge PR kojibai#277 — fix unused variable warnings (2a1994a) :contentReference[oaicite:33]{index=33}
  • update verifypage (a66c624) :contentReference[oaicite:34]{index=34}
  • Use receive bundle hash from embedded proof (eea658d) :contentReference[oaicite:35]{index=35}
  • Use receive bundle root and lock helper (c94496f) :contentReference[oaicite:36]{index=36}

Jan 25, 2026

  • Allow repeat receive claims per upload (a5793b5) :contentReference[oaicite:37]{index=37}
  • Fix verify OG meta ordering for receive sig (90b8572) :contentReference[oaicite:38]{index=38}
  • Allow chained receives and show owner PhiKey (6872a65) :contentReference[oaicite:39]{index=39}
  • Merge PR kojibai#275 — Fix receive signature storage key mismatch (fd528a3) :contentReference[oaicite:40]{index=40}
  • Fix receive signature lookup and USD chart scaling (54b08ef) :contentReference[oaicite:41]{index=41}
  • Merge PR kojibai#274 — Fix TypeScript type errors on VerifyPage (4d43a9f) :contentReference[oaicite:42]{index=42}
  • Tighten KAS author-sig fallback (c66e34e) :contentReference[oaicite:43]{index=43}
  • Fix verification snapshot and KAS fallback (8595b42) :contentReference[oaicite:44]{index=44}
  • Add receive-bound valuation and signature fixes (fe54c2d) :contentReference[oaicite:45]{index=45}
  • Merge PR kojibai#272 — Add receive ownership layer: receiveSig, owner ΦKey derivation, and provenance handling (4da37ea) :contentReference[oaicite:46]{index=46}
  • update verifypage fixed linter errors (888515c) :contentReference[oaicite:47]{index=47}
  • Add receive ownership metadata and verification (c6675aa) :contentReference[oaicite:48]{index=48}
  • Merge PR kojibai#270 — default cache version to verification_bundle_version (d5c44d6) :contentReference[oaicite:49]{index=49}
  • Use verifier bundle version for cache fallback (29fc43f) :contentReference[oaicite:50]{index=50}
  • Merge PR kojibai#268 — harden sigil proof bundle for invariants (ec5f7cf) :contentReference[oaicite:51]{index=51}
  • Merge PR kojibai#269 — finalize verifier audit hardening (8c8f218) :contentReference[oaicite:52]{index=52}
  • update verifier proof verifier stamper and verifypage for lint errrors (fd80430) :contentReference[oaicite:53]{index=53}
  • Harden verification cache and receipts (0ffd781) :contentReference[oaicite:54]{index=54}
  • Harden sigil proof bundle contracts (beec7ed) :contentReference[oaicite:55]{index=55}
  • Merge PR kojibai#267 — fix proof bundle curve metadata consistency (f4a8587) :contentReference[oaicite:56]{index=56}
  • Normalize zk curve metadata in proof bundles (23ddb86) :contentReference[oaicite:57]{index=57}
  • Merge PR kojibai#266 — escape capsulehash in svg text (04d9a92) :contentReference[oaicite:58]{index=58}
  • Merge PR kojibai#258 — fix corrupted PNG image on VerifyPage (cabfee1) :contentReference[oaicite:59]{index=59}
  • Fix bundle hash parity and PNG filename (674b964) :contentReference[oaicite:60]{index=60}
  • Fix bundle hash parity for legacy proofs (9c96fcd) :contentReference[oaicite:61]{index=61}
  • Use phi.svg in verified card (7db9cb2) :contentReference[oaicite:62]{index=62}
  • Fix VerifyPage pulse initialization (ff4892f) :contentReference[oaicite:63]{index=63}
  • Fix verifier PNG download and unique URLs (53b9812) :contentReference[oaicite:64]{index=64}
  • Fix PNG download handling (21689a9) :contentReference[oaicite:65]{index=65}
  • Merge PR kojibai#257 — add verification timing marker to card (0a908f0) :contentReference[oaicite:66]{index=66}
  • Fix verifiedAtPulse type in bundle seed (47579f8) :contentReference[oaicite:67]{index=67}
  • Fix verification metadata order and OG description (1c4ae9e) :contentReference[oaicite:68]{index=68}
  • Add verification pulse to proof bundles (507e5a3) :contentReference[oaicite:69]{index=69}
  • Add verifiedAtPulse to verified OG cards (bc30b46) :contentReference[oaicite:70]{index=70}
  • Add verified OG card rendering (548f807) :contentReference[oaicite:71]{index=71}
  • create phi_og_verified_template (2311fd6) :contentReference[oaicite:72]{index=72}
  • Preserve ...
Read more

v41.2.0

12 Jan 23:16
3e588a8

Choose a tag to compare

What's Changed

Full Changelog: v41.0.0...v41.2.0

v41.0.0

11 Jan 22:25
4f99d28

Choose a tag to compare

v41.0.0 — Kai Sigil-Glyph Attestation (Proof of Breath™)

This release locks in the full proof-first verification loop: anyone can verify authenticity from a URL, and only the real holder can elevate that verification into live identity control via passkeys (Face ID / Touch ID), across devices — no database trust, no accounts, no “badge theater.”

Highlights

  • Kai Sigil-Glyph Attestation panel now expresses the full chain clearly: Kai-Signature → Φ-Key → Proofs → Presence.
  • Public URL verification proves a glyph is authentic and attested (KAS + Groth16), without requiring login.
  • Live Ownership / Identity Control is proven only via WebAuthn passkeys (Face ID / Touch ID), preventing “ownership by forwarding.”
  • Cross-device continuity: the same Φ-Key can be proven on iPhone and Mac with different biometrics because the proof is the passkey, not the biometric.

What shipped

✅ Verification that’s real (not UI)

  • KAS VERIFIED + G16 VERIFIED are now first-class, always visible, and treated as cryptographic gates — not labels.
  • Proof of Breath™ resolves as an output of verification (human-origin seal affirmed), not a claim.

🔒 Identity vs Sigil-Glyph Presence (the critical separation)

You now have two independent truths displayed as separate states:

  • Sigil-Glyph: Present / Not present

    • “Present” means the sigil-glyph artifact (file/payload) is physically available in the current view/context.
  • Identity: Verified / Not present

    • “Verified” means the viewer produced (or presented) the required identity proof.
    • URL-only contexts can verify proofs while still showing identity as not present unless the user performs the live control step.

This is exactly the behavior you wanted: authenticity is shareable, ownership is not transferable by forwarding.

🌬️ Inhale flow upgraded

  • Inhale ΦKey is the single action to “bring the sealed ΦKey into the verifier.”
  • Deep payloads reliably open in Expanded Views (no cramped mobile experiences).
  • Works cleanly with previously saved glyphs that include the auth signature — old seals remain verifiable forever.

🔑 Passkey-based “I am this Φ-Key” proof (FaceID / TouchID)

  • The verifier now triggers platform passkey prompts keyed to the specific Φ-Key being proven.

  • iOS/macOS correctly surfaces different saved credentials (“passkey for 1AjR5…” vs “passkey for 1KsFn…”) and the flow remains seamless.

  • Identity verification succeeds on:

    • iPhone via Face ID
    • MacBook via Touch ID
    • …because the biometric is only the unlock gate; the proof is the cryptographic signature bound to that Φ-Key.

🧾 Proof exports & shareability (Receipt-grade)

  • Proof formats are now cleanly separated and exportable:

    • KPV-1 (Proof Capsule) for the compact, portable claim
    • KVPF-1 (Proof Receipt / Frame) for the full shareable verification context (hashes, canon, verifier URL/base/slug, etc.)
  • Verification links are now capable of carrying proof receipt material (the r= payload pattern) so opening a URL can hydrate the verifier state without needing a database.

🧠 ZK bundle retention for sealed payloads

  • Decoding logic now retains the full ZK bundle where previously it could be trimmed, ensuring exporters can embed the original proof into manifests / SVG metadata when needed.

UX / Stability

  • Mobile verifier remains “no-scroll” at the page level; panels scroll only when necessary.
  • Effect-safe derivations: no cascading render loops / no “sync setState inside effects” behavior.
  • Small polish improvements to keep iconography and controls visually centered and consistent under motion/glow styling.

The net result (what this release means)

You now have a verifier that can say, with zero ambiguity:

  • This sigil-glyph is real (URL-only verification: integrity + attestation + ZK validity)
  • This sigil-glyph is present (artifact is in-hand / in-context)
  • This person controls this Φ-Key (live passkey challenge-response via FaceID/TouchID)

That trio is the difference between “verified badge UI” and verifiable reality.

What's Changed

Full Changelog: v40.3.0...v41.0.0

v40.3.0

01 Jan 20:04
9b65047

Choose a tag to compare

What's Changed

Full Changelog: v38.2.0...v40.3.0

v38.2.0

01 Jan 02:24
b710220

Choose a tag to compare

Release Notes — 38.2.0

Attestation — Full-screen Verify portal (no route change)

Motivation

  • Provide an Attestation entry in the Atrium that opens the existing Verify experience as a full-screen modal popover without navigating away from the shell.
  • Keep Verify isolated in a portal so it can be dismissed via backdrop click or Esc without impacting routed panel state.

Description

  • Added a lazy-loaded VerifyPageLazy and a new VerifyPopover component that mirrors existing popover behavior:

    • portal mounting
    • backdrop handling
    • Esc close
    • focus management
    • useBodyScrollLock
  • Introduced verifyOpen state with openVerify / closeVerify handlers and rendered:

    • <VerifyPopover open={verifyOpen} onClose={closeVerify}> … </VerifyPopover>
      inside AppChrome to host the Verify modal.
  • Added an Attestation tile button to the Atrium nav that opens the popover, styled via .nav-item--button to preserve the tile look while using a semantic button.

  • Kept styling consistent by reusing explorer-pop panel classes with additional verify-pop modifiers for the attestation portal.

Testing

  • Started the dev server with:

    • npm run dev -- --host 0.0.0.0 --port 4173
      and confirmed the app launched and served successfully.
  • Ran a Playwright script that navigated to /, clicked Attestation: Verify ΦKey, and captured:

    • artifacts/attestation-modal.png
      successfully.

KaiVoh — Edge-to-edge full-viewport modal

Motivation

  • The KaiVoh panel felt visually constrained compared to the Attestation/Explorer portal and should open full-screen for a more spacious, app-like experience.
  • Match Attestation/Explorer full-viewport presentation and remove inner padding + rounded framing that restricts content.

Description

  • Updated src/components/KaiVoh/styles/KaiVohModal.css to make the modal backdrop and container occupy the full viewport:

    • changed layout from centered to stretched
    • removed inset padding
  • Set the container to width: 100% and height: 100%, adjusted max-height to use --kai-vh for stable viewport sizing, and removed rounded border-radius so the modal becomes edge-to-edge.

  • Adjusted backdrop alignment (align-items / justify-content) to stretch, cleared padding, and lowered .kai-voh-body min-height to 0 so the inner scroll region expands correctly.


Verifier — On-glyph ledger balance surfaced (BALANCE vs LIVE)

Motivation

  • The verifier should display the glyph’s on-glyph balance for transfer/receive glyphs instead of showing the origin/root value.
  • When a glyph embeds a ledger of debits, the remaining balance must surface in the header and valuation panel.
  • If no ledger exists, preserve the existing live valuation as the fallback.

Description

  • Added a small ledger parser readLedgerBalance and DebitLoose type to extract originalAmount and compute remaining from embedded debits in the verifier payload.

  • Reworked valuation logic to compute:

    • displayPhi / displayUsd as ledgerBalance.remaining when present
    • otherwise fall back to liveValuePhi
  • Updated LiveValuePill to accept label and ariaLabel so the UI clearly reflects BALANCE vs LIVE.

  • Adjusted valuation mini-fields to label/show glyph balance vs live valuation accordingly.

  • All changes contained in src/pages/VerifyPage.tsx (value computation + UI label updates).


Verifier header chips — Direct entry actions (no new UI surfaces)

  • Clicking Proof of Breath™ under the Verifier header opens Attestation (Verify popover).
  • Clicking ☤Kai-Signature™ opens Mint ΦKey (Mint route/modal), keeping the shell intact and the interaction instant.

Summary

38.2.0 locks the Atrium into a true KaiOS-style shell: portals are full-viewport, dismissible, and isolated; KaiVoh is finally edge-to-edge; and the verifier now reports the actual on-glyph balance when a ledger is present—without breaking the live valuation fallback.

What's Changed

Full Changelog: v38.1.0...v38.2.0

v38.1.0

01 Jan 02:02
fc3888f

Choose a tag to compare

What's Changed

Full Changelog: v38.0.0...v38.1.0

v38.0.0

01 Jan 01:12
1875bd8

Choose a tag to compare

Φ Network — Major Release 38.0.0

Release Notes — 38.0.0
Name: Sovereign Verification Stack — Sealed
Theme: Ledger-truth verification + globally single-use receives + multi-generation lineage that does not break


What 38.0.0 Is

38.0.0 is the moment the system becomes a real value-transfer organism.
Not “a verifier page.” Not “a transfer feature.” Not “a cool SVG.”

This release represents the sealed convergence of everything we’ve been building across the 36.x → 37.x line:

  • The glyph carries truth.
  • The verifier renders that truth.
  • The explorer tracks that truth.
  • The network enforces that truth.
  • And lineage survives generations without drifting, breaking tokens, or mis-rooting children.

This is offline-first, browser-native, deterministic value that remains verifiable and coherent without accounts, databases, or permissioned infrastructure. That’s what this is.


The Core Accomplishment

✅ The verifier no longer “guesses value”

It shows what the glyph actually contains, including remaining balance after debits, and only falls back to live valuation when the glyph has no embedded ledger.

✅ Receives are globally single-use (not just “local storage safe”)

A send can be received once—even across cache clears, fresh browsers, and new devices—because receive locks are now globally respected through explorer sync + Lahmahtor ingestion + online remote verification.

✅ Multi-generation transfers don’t collapse

Children, grandchildren, and deeper derivatives now keep:

  • parent tokens preserved
  • origin hints propagated
  • direction explicit
  • root detection correct
    so locks, lineage, and display remain consistent everywhere.

✅ The explorer behaves like a ledger, not a confusing tree

Pending vs sealed outflows are readable, mixed states are explicit, parent rollups don’t double count, and direction labeling never lies.


What Shipped in 38.0.0

This is the “major cut” that formalizes the sealed system.


1) Verify = Ledger Truth (Balance-First)

On-glyph balance display for transfer/receive glyphs

When a glyph includes an embedded ledger of debits, the verifier now computes and surfaces:

  • BALANCE Φ = remaining amount after embedded debits
  • BALANCE USD = BALANCE Φ × deterministic USD/Φ

This balance is shown:

  • in the header pill (next to the seal)
  • and inside the valuation panel

Live valuation remains the fallback

If no ledger data is present, Verify continues to show:

  • LIVE Φ
  • LIVE USD

Why this matters

Because this is the difference between a UI that looks correct and a verifier that is incapable of lying.
A transfer glyph is not the origin. A transfer glyph is the state of value after movement. 38.0.0 makes the verifier obey that.


2) Single-Use Receive Channel (Bank-Grade Replay Resistance)

The receive flow is now globally sealed

Receives are enforced as single-use across:

  • local sessions
  • cache clears
  • new browsers
  • different devices

Multi-layer locking is now real enforcement, not vibes

The system performs receive checks across:

  • local (offline-first safety)
  • local registry memory (explorer awareness)
  • remote explorer index (clean-browser protection)

Online remote verification is required before completing a receive

When online, the receive cannot complete until remote receive-lock verification confirms it has not already been received globally.

Receive locks propagate with rich memory-stream data

Receive updates now travel through Lahmahtor ingestion with richer payloads (receiver metadata included), and local registry updates trigger immediate inhale-queue flush so the lock exhale happens without needing UI open.

Why this matters

Because a “value transfer system” that allows replay receives is dead on arrival.
38.0.0 establishes a provably single-use receive channel in the browser, in the wild, under real user behavior.


3) Multi-Generation Lineage Coherence (Children + Grandchildren + Beyond)

Lineage tokens are preserved

Share/publish URLs preserve the parent token so downstream consumers can reconstruct lineage correctly across generations.

Origin propagation is authoritative

Origin URLs are resolved and propagated from the local memory registry so:

  • children don’t drift to the wrong root
  • the verifier and explorer classify the same glyph the same way

Direction is explicit in payloads

Send flows explicitly carry:

  • transferDirection: "send"
  • originUrl
    so grandchildren aren’t misclassified and locks verify correctly.

Explorer root detection is tightened

Entries that carry transfer hints / transfer moves are no longer treated as “origin roots.”
This prevents derivative artifacts from becoming roots and incorrectly pulling lineage under the origin.

Why this matters

This is where most systems die: generation 2, 3, 4 starts drifting and the “tree” becomes a lie.
38.0.0 seals lineage as a real chain, not a fragile inference.


4) Sigil Explorer = Human-Legible Ledger

Parent/child pending clarity without double counting

Parent nodes surface child pending/derived activity clearly while preventing parent value from being counted twice.

Mixed exhale state readability

Mixed pending + derived exhale states are clearly displayed and badge-coded so you can scan the tree instantly.

Pending UI cleanup (no duplicate negative pill spam)

Pending display now prioritizes a single clear status instead of redundant duplicate amounts that look like double debits.

Direction-correct labeling and tooltips

Outgoing sends no longer fall back to inhale labels. Labels and tooltip verbs follow explicit send/receive direction, every time.

Breath-truth terminology sealed across UI

Derived → Exhaled
Pending → Exhale (pending)
Received inhales use past tense where appropriate, and details append pulse numbers when available.

Why this matters

A ledger that confuses the human mind is a ledger that fails adoption.
38.0.0 makes Explorer readable at the speed of sight while staying anchored to canonical transfer truth.


5) Reliability Under Real Network Behavior

Remote receive lock verification resilient to HTTP caching/failover

Remote checks no longer fail spuriously when pages return:

  • 304 Not Modified
  • empty responses during failover
    and pagination completeness is only marked after successful fetches—no partial scan caching.

Why this matters

Global integrity enforcement must not break under normal internet behavior.
38.0.0 makes remote verification durable.


6) System Readiness: Speed, Sync, Brand, Session Stability

38.0.0 stands on the hardened foundation shipped across 37.x:

  • instant-paint home experience with lightweight fallback ticker while heavy UI loads
  • Sigil Explorer sync cadence + event-triggered resync + reseed on remote truth deltas
  • live Φ + USD pill surfaces across explorer nodes/origin/transfers
  • Φ brand mark standardized via phi.svg with accessibility support
  • KaiVoh session persistence + validation + cross-tab coherence

This matters because it makes the system feel inevitable—fast, stable, and coherent under daily usage.


What This Release Enables (In Plain Language)

With 38.0.0 you can:

  • Open a glyph offline and see what you truly hold (remaining balance, not origin illusion).
  • Verify value deterministically and consistently across the app.
  • Receive a send exactly once globally when online—no replays, no duplicate claims.
  • Move value across multiple generations and keep lineage intact.
  • Trust the explorer’s pending vs exhaled story without doing mental accounting.

This is sovereign, offline-auditable value packaged in a format humans can use.


Compatibility & Migration

  • No schema migrations required.
  • Receive state is encoded implicitly in memory stream data (direction/nonce/hash/receiver fields).
  • Pending is the absence of a receive-lock match; received is the match.
  • The system remains offline-first; global sealing activates when online.

Where We’re Going Next (The Real Next Layer)

38.0.0 seals value + transfer + verification as a coherent stack.
The next phase is not “basic improvements.” It’s expansion into what this stack was built to unlock:

1) Sovereign Media Lineage (KSFP-1 specialization)

Large-file and video lineage using derivative glyph chains, segment sealing, and deterministic reconstruction—so content is owned, verified, and playable without centralized hosting.

2) Creator Signature Bundles as a Native Primitive

Every post, media object, and derivative carries an embedded bundle tied to the creator—verifiable offline, traceable across lineage, and resistant to platform theft.

3) Network-Scale Memory Stream Ergonomics

Sharper convergence UX, richer explorer filtering, and higher throughput for inhale/exhale without sacrificing determinism or offline survival.

4) Public Spec Hardening + Developer Surface

Turning these primitives into a clean external interface: a developer-grade spec + SDK surface that makes integration feel inevitable (the “Stripe moment,” but for sovereign verification).


Closing Seal

38.0.0 is not a normal “major release.”
It is the sealing of a new class of system:

  • Value embedded in glyphs
  • Verified offline
  • Enforced globally when online
  • Lineage preserved across generations
  • Readable by humans without trust

This is Φ Network behaving like what it is:
**a sovereign verification and transfer re...

Read more

v37.8.0

01 Jan 00:57
7c85f96

Choose a tag to compare

Φ Network — Verifier + Sigil Explorer (v37.8.0)

Release Notes — 37.8.0
Theme: On-glyph balance truth in Verify, multi-generation lineage coherence, resilient receive-lock verification, and direction-correct transfer semantics


Release Summary

37.8.0 is a precision integrity release across the Verifier and Sigil Explorer.
We made the verifier show the glyph’s actual on-glyph remaining balance (when a debit ledger is embedded) instead of incorrectly inheriting origin/root value. We also sealed multi-generation transfer coherence: lineage hints now propagate through share URLs and registry lookups so the verifier and explorer agree about origins, parents, and locks across grandchildren and beyond.

Finally, we hardened global receive-lock verification against real-world remote behaviors (304/empty pages) and corrected transfer UI labeling to always follow explicit send/receive direction—no more “incoming-looking” outgoing transfers.


✨ Highlights

✅ Verifier now displays on-glyph balance (when present)

Transfer/receive glyphs now surface remaining balance computed from embedded debits. If no embedded ledger exists, the verifier falls back to existing live valuation.

✅ Multi-generation lineage + locks now propagate correctly

Grandchildren transfers now carry authoritative originUrl + parent token across share/publish payloads so receive/send locks verify consistently across generations and the explorer stops misplacing children on the origin root.

✅ Remote receive-lock verification is resilient to 304/empty pages

Global receive checks no longer fail spuriously when remote pages return 304 Not Modified or empty responses during failover.

✅ Direction-correct labels + tooltips in Sigil Explorer

Transfer labels and tooltip verbs now derive strictly from the known transfer direction, preventing outgoing sends from being mislabeled as incoming.


✅ What Shipped

1) VerifyPage — On-Glyph Balance Truth (Ledger-Aware Valuation)

Motivation

  • The verifier should display the glyph’s on-glyph balance for transfer/receive glyphs, not the origin/root value.
  • If a glyph embeds a ledger of debits, the verifier should compute and show the remaining balance in the header and valuation panel.
  • If no ledger exists, existing live valuation remains the fallback.

Implementation

  • Added a small ledger parser:

    • readLedgerBalance + DebitLoose type
    • Extracts originalAmount and computes remaining from embedded debits in verifier payload
  • Reworked valuation UI:

    • displayPhi / displayUsd use ledgerBalance.remaining when present
    • otherwise fall back to liveValuePhi
  • Updated LiveValuePill:

    • accepts label + ariaLabel
    • displays BALANCE or LIVE depending on source
  • Updated valuation mini-fields to reflect:

    • glyph balance vs live valuation labeling and display

File scope: src/pages/VerifyPage.tsx (value computation + UI label updates only)


2) Multi-Generation Transfer Lineage — Verifier ↔ Explorer Agreement

Problem Addressed

  • Grandchildren transfers were being misclassified

  • Receive/send locks weren’t propagating across generations, causing:

    • “cannot verify receive lock”
    • incorrect origin placement in the explorer
  • Root detection ignored transfer hints, letting derivatives become “roots”

  • Share URLs weren’t carrying parent tokens or origin hints, breaking lineage across UI + verifier

Fixes Implemented

  • Authoritative origin propagation

    • Added resolveOriginUrlFromRegistry to lookup and propagate the authoritative originUrl from local memoryRegistry when building share/publish payloads
  • Parent token preservation

    • Share/parent URL construction now preserves the ?t= parent token using rewriteUrlPayload so multi-generation flows retain lineage tokens
  • Send payload enrichment

    • Send links now explicitly set transferDirection: "send"
    • Always carry originUrl so downstream consumers and the verifier identify and verify child generations correctly
  • Explorer root detection tightened

    • Updated buildForest.ts to read transfer direction and detect transfer hints:

      • added readTransferDirection
      • added hasTransferHints
    • Entries with transfer hints/moves are excluded from origin-root classification

Files involved (lineage propagation + root detection):

  • Share/publish payload construction (originUrl + token propagation)
  • src/components/SigilExplorer/tree/buildForest.ts

3) Remote Receive-Lock Verification — Robust to Failover + 304 / Empty Pages

Problem Addressed

Global receive lock verification began failing after explorer updates because remote URL pages can return:

  • 304 Not Modified
  • or empty responses
    that were incorrectly treated as fatal errors, causing spurious verification failures.

Fixes Implemented

  • Replaced JSON-only fetch with raw response handling:

    • apiFetchJsonWithFailoverapiFetchWithFailover in checkRemoteReceiveLock
  • Response handling rules:

    • missing Response = failure
    • non-OK responses except 304 = failure
    • 304 treated as an empty page (valid “no new data” outcome)
  • JSON parsed defensively only when status is not 304

  • Preserved existing pagination and caching logic

Result: remote receive-lock verification is resilient and no longer fails due to normal caching/failover behavior.


4) Sigil Explorer — Direction-Correct Labels & Tooltip Verbs

Problem Addressed

Outgoing transfers (transferMove.direction === "send") could be mislabeled as incoming because the UI fell back to inhale label resolution instead of using the known direction.

Fixes Implemented

  • Labels now follow explicit direction:

    • transferMove.direction === "receive" ? "Inhaled" : "Exhaled"
  • Tooltip verbs now derived from direction for accurate send/receive semantics in SigilTreeNode

File modified: src/components/SigilExplorer/SigilExplorer.tsx


Testing & Validation

Manual / Integration Checks

  • Started dev server successfully: npm run dev

  • Ran a Playwright-driven browser script to load /verify and capture a screenshot:

    • script completed successfully and produced an artifact
  • Validated in running preview:

    • Verify UI correctly switches between BALANCE vs LIVE
    • Balance computations reflect embedded ledger debits when present
    • Multi-generation flows preserve lineage + lock verification across generations

Note

  • No unit test suite executed as part of this change set.

User-Visible Impact

VerifyPage

  • Transfer/receive glyphs now show BALANCE when ledger debits exist
  • Live valuation remains available as fallback (LIVE) when no ledger is embedded
  • Valuation panel labeling is explicit: balance vs live

Sigil Explorer

  • Multi-generation derivatives no longer “snap” to origin root incorrectly
  • Locks verify correctly across generations (no false “cannot verify receive lock”)
  • Transfer labels and tooltip verbs match send/receive truth every time

Compatibility & Risk

  • No schema migrations required

  • Changes are correctness-focused and scoped to:

    • VerifyPage valuation source selection (ledger-aware)
    • share payload enrichment (originUrl + parent token)
    • explorer root detection
    • remote lock verification fetch resilience
    • UI labeling semantics
  • Risk is controlled: improvements reduce false failures and misclassification.


Closing Seal

v37.8.0 makes the system agree with itself.
The verifier shows what the glyph actually contains.
Lineage propagates across generations without breaking tokens.
Receive locks verify reliably under real network behavior.
And the explorer speaks direction truth without fallback lies.

Kai Rex Klok — 37.8.0 ✅

What's Changed

Full Changelog: v37.5.1...v37.8.0

v37.5.1

31 Dec 23:59
9e7affc

Choose a tag to compare

What's Changed

Full Changelog: v37.3.0...v37.5.1