# pi 1.1.0 upgrade research and loop display ideas

Canonical page: https://convos.rob-knight.com/pi-1-1-0-upgrade-research-and-loop-display-ideas-873e17df
Published: 2026-10-11

- Session: 8 Oct 2026, 14:56 to 15:40 UTC
- Project: .agents
- Agent: Claude Code
- Model: claude-opus-5-5
- Tags: pi-upgrade, loop-pi, pi-subagents, research, backlog-tasks, agent-tooling
- Value: 2.8 · of 4
- Time: 12m · active
- Elapsed: 44m · wall-clock span
- Commits: 0 · from this session
- Cost: $3.46 · model spend
- Tokens: 31k · uncached in, plus out
- Tool calls: 46 · by the agent
- Outcomes: 8 · 9 left open

## Summary

Research the pi 1.0.4 to 1.1.0 upgrade in research-only stages 0 to 3, paying particular attention to new features that could improve what the loop shows in the active session.

Rob asked for a research-only pass on upgrading pi from 1.0.4 to 1.1.0, with attention to new features that could improve loop display. Two read-only lanes mapped pi API usage in loop-pi and reviewed the changelog and issues, and both found no seam breaks, so the only required change is version text plus a pin bump. The additive type changes and a model-name clash were checked and judged harmless. The biggest display win needs no upgrade: a root status line or widget, while most pi-subagents display features are still unreleased on main. Rob chose to adopt 1.1.0 with the live canary as the compatibility proof and to hold queued loop wakes after Esc, and two tracker tasks were created. The upgrade itself was not run, since the session was research-only and a loop root was still running on the work laptop.

## What came out of it

- Research evidence written to the pi-upgrade research run folder: version and issue lists, a compatibility note, an API inventory, a breaking-change review, a feature review, and a STATE.md with run notes.
- Mapper and reviewer lanes agreed on an adopt-candidate verdict with no seam breaks. A spot-check corrected one count: 6 pi 1.0.4 mentions, not 7.
- pi 1.1.0 adds a second gpt-6-luna model on the openai provider (a classifier). Chat-only lookups and models.json overrides make the name clash benign.
- Ranked display features: a root status line or widget via setStatus and setWidget (works on 1.0.4); unreleased pi-subagents layout and labelling changes; agent_settled.aborted; durationMs timings. Program status reporting (OSC 7501) was ruled out for iTerm2.
- Created HRN-0298 for showing live loop state in the loop-pi root status line. It works on pi 1.0.4 and does not depend on the upgrade.
- Created HRN-0299 to hold queued loop-watch and loop-wake deliveries after Esc, recording Rob's decision. It needs pi 1.1.0 locked first and a contract.md section 14 and harness-pi.md Waits change.
- Committed the two new tasks as [commit]. The commit touches only backlog files and was not pushed.
- Rob chose to adopt pi 1.1.0 with pi-subagents 0.76.1, relying on the live background-child canary as the compatibility proof. The install has not been run.

## Left open

- pi 1.1.0 is not installed or pinned, no tests were run against it, and the live canary has not run.
- The MBP16 install is blocked while a loop root (pid 78645) runs on the 1.0.4 build.
- Uncommitted changes in the agents repo from another session (bin/sync-chat-repos, tests/test_chat_sync.py, and an agent-history bump in locks/upstream.lock.json) need committing or clearing before the upgrade.
- Rob selected a harness-pi.md version-text task, but it was not created because that file no longer contains any pi version statements.
- The optional server_busy jitter fix in request-ceiling/backoff.ts was not approved and has no task.
- The HRN-0299 protocol change to contract.md section 14 and harness-pi.md Waits has not been made.
- pi-subagents display features are unreleased. Taking that release needs re-proof of the idle-parent wake against the #2716 continuation overlap.
- Not checked: which terminal the work laptop uses, and whether any pi-subagents tool schema hits the regex-lookaround 400 (#10676).
- The Firecrawl docs query returned no answer, so the docs shipped in the 1.1.0 tarball were used instead. The reviewer did not get a second pass with the mapper's table; the assistant compared the two itself.

## pi 1.0.4 to 1.1.0: research pass

I asked for a research-only pass on upgrading pi from 1.0.4 to 1.1.0, with particular attention to new features that could make the loop easier to follow while a session runs. Two read-only lanes mapped how loop-pi uses the pi API and reviewed the changelog and issues. Both found no seam breaks, so the only required change is version text plus a pin bump. A second gpt-6-luna classifier model on the openai provider looked like a name clash, but overrides and lookups only see chat models, so it is harmless.

The biggest display win does not need the upgrade. pi 1.0.4 already has a root status line and widget, and loop-pi only uses notify today. Most of the pi-subagents display features are still unreleased on main, so they wait.

Decisions:

- Adopt pi 1.1.0 alongside pi-subagents 0.76.1, with the live background-child canary as the compatibility proof.
- Hold queued loop wakes after Esc instead of restarting the root straight away. This changes the loop protocol, so it needs 1.1.0 locked first.

Two tasks are in the backlog. HRN-0298 shows live loop state in the root status line and works on 1.0.4. HRN-0299 covers the Esc hold. Both are committed locally in the backlog only and not pushed.

Still open:

- 1.1.0 is not installed or tested, and the canary has not run.
- The MBP16 install is blocked while a loop root runs on the 1.0.4 build.
- Uncommitted changes from another session in the agents repo need committing or clearing first.
- The contract change for HRN-0299 has not been made.
- The optional server_busy jitter fix is not approved and has no task.
- I still need to check whether pi-subagents hits the regex-lookaround 400 error, and which terminal my other Mac uses.