Skip to content

feat(web): integrate terminal details, thinking state and unarchive - #444

Merged
tt-a1i merged 1 commit into
mainfrom
codex/web-reviewed-capabilities
Sep 7, 2026
Merged

feat(web): integrate terminal details, thinking state and unarchive#444
tt-a1i merged 1 commit into
mainfrom
codex/web-reviewed-capabilities

Conversation

@tt-a1i

@tt-a1i tt-a1i commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Web consumers cannot yet inspect exact Background Terminal evidence or Pi thinking levels, and archived Sessions cannot be restored through the API. This integrates the reviewed contributions from #389, #375 and the unarchive portion of #361 against current main.

  • Add Session-scoped, exact-id terminal details with bounded UTF-8 output, explicit missing/unavailable responses and no private spill paths.
  • Add read-only Pi thinking-level inspection with an explicit unknown fallback for unsupported controllers.
  • Add idempotent unarchive using the existing atomic metadata transaction, preserving canonical Session JSONL and workspace grouping.

Main’s richer trust projection is preserved; #361’s inherited #360 trust changes are omitted. Host conflicts retain current trust and provider-authentication routes. These are backend capabilities; no browser panels or new model tools are added.

Related: #346, #348, #347. Supersedes the retained implementation portions of #389, #375 and #361.

Validation on f5bfec80c467a0763f3a1d4593b3adb292ea9331, based on main 4e767e433dd7f6c372b51f25cd5bce06179ab215:

  • bun run check passed.
  • bun run test: 1,457 Node tests passed, one skipped; 92 Vitest tests passed.
  • Added integration coverage for authentication, thinking fallback, repeated/concurrent unarchive, adapter restart and unchanged canonical Session bytes.
  • Two independent final source reviews found no P2 or higher issue.
  • No installed Pi or manual browser acceptance is claimed.

Original contributors are retained in the commit trailers:

Co-authored-by: testikun 320479488+testikun@users.noreply.github.com
Co-authored-by: seekskyworld djh1813553759@gmail.com

Retain reviewed contributions from #389, #375 and the unarchive slice of
#361, preserving the current Pi trust projection. Add integration coverage
for authenticated reads and persisted unarchive behavior.

Co-authored-by: testikun <320479488+testikun@users.noreply.github.com>
Co-authored-by: seekskyworld <djh1813553759@gmail.com>
@github-actions github-actions Bot added the area:background-terminals Background terminal runtime, skill, or tests label Sep 7, 2026
@tt-a1i
tt-a1i merged commit 1919542 into main Sep 7, 2026
7 checks passed
Matt-qwq added a commit to Matt-qwq/openpi that referenced this pull request Sep 10, 2026
Expose Pi's native thinking/reasoning level in the Web workbench: a
runtime setter with a bounded merge-to-latest, a lease-sensitive
POST /api/thinking, a bounded optional thinking projection with a
monotonic revision on the snapshot, a last-intent-wins client store
with a revision gate, and an icon-only composer picker with a disabled
placeholder for unsupported models. Levels come from Pi's
getAvailableThinkingLevels()/supportsThinking(); OpenPI adds no second
reasoning store and no persisted configuration (session-only).

Advances the change-thinking-level criterion of openpi-dev#348 and continues the
read-only GET /api/thinking inspection from openpi-dev#375/openpi-dev#444, preserving its
unknown fallback. Adds browser coverage (22 e2e incl. an axe pass) and a
hermetic provider e2e that proves the selected level reaches the next
provider request as reasoning_effort.

Research records: docs/research/OPENPI_WEB_THINKING_SELECTOR_PLAN_2026-09-11.md
and the linked diagnosis.
Matt-qwq added a commit to Matt-qwq/openpi that referenced this pull request Sep 10, 2026
Expose Pi's native thinking/reasoning level in the Web workbench: a
runtime setter with a bounded merge-to-latest, a lease-sensitive
POST /api/thinking, a bounded optional thinking projection with a
monotonic revision on the snapshot, a last-intent-wins client store
with a revision gate, and an icon-only composer picker with a disabled
placeholder for unsupported models. Levels come from Pi's
getAvailableThinkingLevels()/supportsThinking(); OpenPI adds no second
reasoning store and no persisted configuration (session-only).

Advances the change-thinking-level criterion of openpi-dev#348 and continues the
read-only GET /api/thinking inspection from openpi-dev#375/openpi-dev#444, preserving its
unknown fallback. Adds browser coverage (22 e2e incl. an axe pass) and a
hermetic provider e2e that proves the selected level reaches the next
provider request as reasoning_effort.

Research records: docs/research/OPENPI_WEB_THINKING_SELECTOR_PLAN_2026-09-11.md
and the linked diagnosis.
Matt-qwq added a commit to Matt-qwq/openpi that referenced this pull request Sep 11, 2026
Expose Pi's native thinking/reasoning level in the Web workbench: a
runtime setter with a bounded merge-to-latest, a lease-sensitive
POST /api/thinking, a bounded optional thinking projection with a
monotonic revision on the snapshot, a last-intent-wins client store
with a revision gate, and an icon-only composer picker with a disabled
placeholder for unsupported models. Levels come from Pi's
getAvailableThinkingLevels()/supportsThinking(); OpenPI adds no second
reasoning store and no persisted configuration (session-only).

Advances the change-thinking-level criterion of openpi-dev#348 and continues the
read-only GET /api/thinking inspection from openpi-dev#375/openpi-dev#444, preserving its
unknown fallback. Adds browser coverage (22 e2e incl. an axe pass) and a
hermetic provider e2e that proves the selected level reaches the next
provider request as reasoning_effort.

Research records: docs/research/OPENPI_WEB_THINKING_SELECTOR_PLAN_2026-09-11.md
and the linked diagnosis.
Matt-qwq added a commit to Matt-qwq/openpi that referenced this pull request Sep 11, 2026
Expose Pi's native thinking/reasoning level in the Web workbench: a
runtime setter with a bounded merge-to-latest, a lease-sensitive
POST /api/thinking, a bounded optional thinking projection with a
monotonic revision on the snapshot, a last-intent-wins client store
with a revision gate, and an icon-only composer picker with a disabled
placeholder for unsupported models. Levels come from Pi's
getAvailableThinkingLevels()/supportsThinking(); OpenPI adds no second
reasoning store and no persisted configuration (session-only).

Advances the change-thinking-level criterion of openpi-dev#348 and continues the
read-only GET /api/thinking inspection from openpi-dev#375/openpi-dev#444, preserving its
unknown fallback. Adds browser coverage (22 e2e incl. an axe pass) and a
hermetic provider e2e that proves the selected level reaches the next
provider request as reasoning_effort.
Matt-qwq added a commit to Matt-qwq/openpi that referenced this pull request Sep 11, 2026
Expose Pi's native thinking/reasoning level in the Web workbench: a
runtime setter with a bounded merge-to-latest, a lease-sensitive
POST /api/thinking, a bounded optional thinking projection with a
monotonic revision on the snapshot, a last-intent-wins client store
with a revision gate, and an icon-only composer picker with a disabled
placeholder for unsupported models. Levels come from Pi's
getAvailableThinkingLevels()/supportsThinking(); OpenPI adds no second
reasoning store and no persisted configuration (session-only).

Advances the change-thinking-level criterion of openpi-dev#348 and continues the
read-only GET /api/thinking inspection from openpi-dev#375/openpi-dev#444, preserving its
unknown fallback. Adds browser coverage (22 e2e incl. an axe pass) and a
hermetic provider e2e that proves the selected level reaches the next
provider request as reasoning_effort.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:background-terminals Background terminal runtime, skill, or tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant