---
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`.
