| status | consumed |
|---|---|
| summary | The navbar-registry supervised cold-boot check — inherited from the root recovery note, PASSED 2026-08-28 on a supervised restart (two checklist items had gone stale since 2026-08-09; recorded below). |
| since | 2026-08-28 (checklist inherited from RECOVERY_NavbarRegistry.md, incident resolved 2026-08-09; verified 2026-08-28) |
| skill | fns-registry |
The 2026-08-09 freeze/crash incident behind the original root-level
RECOVERY_NavbarRegistry.md is resolved (cause was Embot/Envoy-viz's
frame-end assembler pinning the main thread; Embotenable + Envoyfollow
are OFF on /Embody until Embody fixes it — re-enable at your own risk).
The externaltox-revert hazard is fixed at the root: bindings cleared, tags
stripped, both pre_release hooks scrub externaltox, save cycle verified
revert-free.
What remains is one supervised cold-boot test — restart TD while present and verify:
op.NAVBARREGISTRYresolves to/sys/NavbarRegistry; master + hosts showRegistered:statuses.- Every pane bar (
/ui/dialogs/panebar/panebar_default+/ui/panes/panebar/*) contains the fivenbitem_*items: ParentHierarchy (left of the path area), CustomParTools + Configure gear (right of it), PathCellClickInject overlay, HijackDragdrop. - No unprefixed legacy copies (
parent_hierarchy,button_custompar_tools) reappear. - Master Registration page still has Align + Kind;
op.FNS_NAVBARresolves. - Click the gear → Navbar Configurator opens; rows show Name/Side/Show/Origin.
If anything is missing at boot, the self-heal layers (healing watch armed
on promotion + _ensurePackageShortcut) should catch up within ~2 s; a
reinitextensions pulse on FNS_Navbar/NavbarRegistry force-fixes.
PASSED, with two checklist items stale relative to the 2026-08-09 wording rather than broken:
- The global shortcut is now
op.FNS_NAVBARREGISTRY(the FNS_ prefix migration renamed it;op.NAVBARREGISTRYno longer exists and its absence is correct). Resolves to/sys/FNS_Registries/FNS_NavbarRegistry, 13 entries registered. - The default pane bar carries the expected
nbitem_*set — ParentHierarchy, CustomParTools, PathCellClickInject, HijackDragdrop — plusnbitem_GroupStart_G1(the hideable-groups feature, added after this checklist was written) andnbitem_button4, which is the stale/button4test host at project root publishing a real entry (its removal is the P2-9 cleanup item, not a navbar fault).
No unprefixed legacy copies; master Registration page intact;
op.FNS_NAVBAR resolves; zero errors project-wide. The same restart also
cold-boot-verified the RegistryBase mixin split (RegistryScheme §4).
FNS_Navbar was dissolved, so step 4's op.FNS_NAVBAR no longer resolves and
its absence is now correct. The registry itself is untouched:
op.FNS_NAVBARREGISTRY -> /sys/FNS_Registries/FNS_NavbarRegistry still governs
the surface, and step 5's gear still opens the Navbar Configurator, which has
lived in FNS_Hub since before this split.
The nbitem_* set to expect is the same five entries under new owners:
| item | now published by |
|---|---|
nbitem_ParentHierarchy |
FNS_ParentHierarchy |
nbitem_iopBrowser |
FNS_iopBrowser/nbwidget (new; the browser's button) |
nbitem_CustomParTools |
FNS_CustomParTools |
nbitem_PathCellClickInject |
FNS_CustomParTools/PathCellClickInject |
nbitem_HijackDragdrop |
FNS_CustomParTools/hijack_dragdrop |
Step 3 still holds and gains a case: iopBrowser's registrant is a THIN BUTTON,
never the package. If a pane bar ever shows an nbitem carrying the browser
itself, the registration is pointed at the wrong COMP, and TouchDesigner will say
so as "multiply defined global OP shortcut" the moment a second bar copies it.
Verified live 2026-09-09 (not a cold boot): 20 instances across the bars, zero duplicate shortcuts. A supervised cold boot is still owed.