Cosmic Bull

Rendered from pearl/r/upgrade_registry/FIXES.md at commit 6a510c665a53 in the project repository. The committed file is the source of truth; this page is a rendering of it.

upgrade_registry — pipeline layers (2026-09-21)

Layer 1 — mechanical port (commit 8e54fcb): port.py (now a neutered historical artifact) over GitHub SillyZir/upgrade_registry @ 9d22f7f98e84da110169b6f28d3f5436db5a8758. T1 namespace rewrite + minimal T2 (1 import move + 1 symbol move; tests to pearl idioms). 19/19 tests. Fresh audit: 0 RED / 5 YELLOW, no port defects.

Layer 2 — remediation (this layer, separate commit): fixes for all five audit YELLOWs, verified by a targeted second audit round (0 RED / 0 YELLOW remaining):

#FindingFixTest
Y1Latent stack-walker caller() identity helper4 crossing entrypoints declare cur realm, identity inline via cur.Previous().Address(), helper deleted; Deprecate's walk variable renamed cur→walk (logic byte-equivalent, compile-checked)whole suite
Y2No banker + no guard: attached coins strand foreverrejectStraySend(cur) first statement of all 4 crossing functionsTestStraySendRejectedEverywhere
Y3GetLatest unbounded-hops read undocumented for on-chain integratorsExplicit O(chain length) COST WARNING in the doc comment— (doc)
Y4Undocumented frozen-entry wedge (self-managed entry whose registrant can never call again)Register doc warning + guidance to nominate a manager from init()— (doc)
Y5Coverage gaps incl. all three round-3-audit code paths' failure branches8 new tests: bounded-walk refusal, long-chain render marker + incomplete branch, pagination, re-nomination overwrite, self-nomination index integrity, unregistered-op aborts (crossing paths; GetInfo excluded — same-realm panic, revive-based Aborts can't catch), owner==self no-pending19 → 27 tests

Suite: 27/27 on chain/pearl toolchain (c4c72fd); lint clean; full workspace green. NOT DEPLOYED — deployment awaits explicit authorization per the Application #3 mission gate.

Provenance: deployable bytes = Layer 1 output + this remediation diff (authoritative byte-level record: the two git commits in the workspace repo). If the remediation is later pushed upstream, the transformation collapses to T1 namespace-only, as with apps #1-2.

Provenance v2 (2026-09-21, post-push)

Remediation pushed upstream: SillyZir/upgrade_registry @ 2d5a74870b08d70ff8e56e6e1efbace1803dd3bd (main), authored solely by SillyZir, no AI attribution (verified via fresh clone + GitHub API; 27/27 tests from the fresh clone). GitHub is the source of truth; the transformation to this directory is T1 ONLY (gnomod module-path namespace rewrite) — both .gno files are byte-identical to the GitHub commit (verified).


Deployment status — appended 2026-09-23

The "NOT DEPLOYED" above is the historical state at the time that layer was written. upgrade_registry has been live on pearl-1 since 2026-09-21: tx 532be90a…, height 602876, recorded in pearl/DEPLOYMENT.md §9. This note exists because the file read alone asserted a stale current state (repo-wide audit finding, 2026-09-23); the historical text above is unchanged.