--- status: resolved parent: "[[063-pi-ui-customization-spec-task]]" blocked-by: - "[[068-pi-ui-compact-status-extension-task]]" - "[[070-pi-ui-flex-spacer-pi-patch-task]]" claimed-by: "019fba91-eabf-76ae-b086-a37ac061d6e8" claimed-at: "2026-08-01T19:43:42-04:00" resolved-at: "2026-08-01T20:37:16-04:00" tags: - ticket/task/afk --- # Verify permanent Pi UI deployment ## Question Verify the compact status extension and flex-spacer Pi patch together through the normal dotfiles deployment path, then retire prototype-only assumptions from the active plan. ## What to build Run the final verification pass after the extension and Pi package patch both land. Confirm the ordinary `pi` command has the accepted visual behavior after rebuild, the managed extension loads without errors, quota refresh remains credential-safe, autocomplete still works, and no unmanaged prototype path is required for the finished feature. ## Acceptance criteria - [x] `nix flake check` passes. - [x] Normal `pi` launches with no extension load errors after `/reload`. - [x] The compact status shows cwd/branch, model/thinking, a `▃` context bar, and a `▔` consumed-weekly-Codex quota bar. - [x] The footer is hidden by default. - [x] `/codex-quota` refreshes quota and reports only non-secret normalized details. - [x] A short conversation keeps the prompt/status/editor area at the bottom. - [x] A long conversation preserves normal transcript scrolling. - [x] `/` and `@` autocomplete work in the deployed `pi` command. - [x] Closing autocomplete leaves the editor visually bottom-aligned. - [x] The final notes identify any remaining throwaway prototype files as non-deployment artifacts. ## Implementation Notes This is a verification and cleanup ticket, not a place to redesign the UI. If the implementation diverges from `[[063-pi-ui-customization-spec-task]]`, record the reason in the ticket before closing it. Progress on 2026-08-01: - Rebased `pi-ui-customization` onto `main` so the UI branch includes the nested subagent tool fix. - Verified the managed extension source builds and contains `compact-status.ts` plus the subagents extension. - Verified the patched Pi package builds and its output contains `FlexSpacerBottomLayout` plus NixOS-safe local tool lookup. - Verified `/codex-quota` command registration through RPC using the built compact status extension. - Ran `nix flake check` successfully. - Final deployed checks remain pending because switching the system generation and manual visual checks require explicit consent. After the system switch: - Confirmed ordinary `pi` resolves to `/nix/store/ba36x8jb9gr7slx4yq4pz64l5i7sih6h-pi-coding-agent-0.82.1/bin/pi`, whose built output contains `FlexSpacerBottomLayout` and NixOS-safe local tool lookup. - Confirmed `~/.pi/agent/extensions/compact-status.ts` is deployed and contains the permanent status widget, hidden footer, context bar, quota bar, and `/codex-quota` command. - Confirmed normal RPC launch loads extensions without stderr and exposes the compact status and subagent command surfaces. - Confirmed `/codex-quota` returns only normalized non-secret quota details: `Codex quota remaining: weekly 75%, short 75%`. - Confirmed deployed tool lookup ignores an unusable local `fd` and falls back to `fd` on `PATH`. - The remaining `~/.pi/agent/extensions/compact-status-prototype.ts` is an unmanaged prototype artifact, not part of deployment, and should be removed separately only if the user wants to clean local experiments. - Removed the unmanaged prototype extension from `~/.pi/agent/extensions/compact-status-prototype.ts`; a fresh RPC launch now exposes only the permanent `codex-quota` command. - Human visual check confirmed the compact status, cwd/branch, model/thinking, context bar, quota bar, hidden footer, bottom-staying prompt during the checked short interaction, normal long-conversation scrolling, and `@` autocomplete. - `/codex-quota` was not visually checked by the human in the TUI, but RPC verification confirmed normalized non-secret output. - Human visual check confirmed `/` autocomplete works. - Closing autocomplete still left space under the editor after switching commit `1d88503`; verification showed the patched TUI default was present, but interactive mode overrides it through `SettingsManager.getClearOnShrink()`, which still defaulted to false. - Remediation was updated in commit `5fd8de0` by enabling shrink clearing by default in both the TUI and settings manager, while preserving `PI_CLEAR_ON_SHRINK=0` and explicit settings as opt-outs. - Verified the remediation with the patched Pi package build, built-output inspection for both defaults, independent review, `nix flake check`, and deployed human visual confirmation. - After switching and relaunching Pi again, human visual confirmation found closing autocomplete now leaves the editor bottom-aligned. - Final deployed verification is complete on ordinary `pi`, which resolves to `/nix/store/p2xh13r9f890af4b8jdp60rnld1kbwsl-pi-coding-agent-0.82.1/bin/pi`.