Commit Graph
14 Commits
Author SHA1 Message Date
Dotta d8abf61570 feat(runner): reuse issue thread viewer for evals 2026-08-20 14:49:58 -05:00
Dotta 97d928415a fix(runner): split tool tester into columns 2026-08-20 13:22:15 -05:00
Dotta d81f36722e feat(runner): add chat history sidebar 2026-08-20 12:48:29 -05:00
Dotta a6b2ad79b7 fix(runner): align devtools tab icons 2026-08-20 12:17:33 -05:00
Dotta 04b1aa2ac9 feat(runner): invoke tools from devtools 2026-08-20 11:50:59 -05:00
Dotta 827ade0135 feat(runner): expose live activity details 2026-08-20 11:21:02 -05:00
Dotta 61b17641a7 feat(runner): add semantic tool detail browser 2026-08-20 10:55:43 -05:00
Dotta 357caf4e3c feat(runner): polish live devtools console 2026-08-20 10:38:04 -05:00
Dotta dafb8848d5 feat(runner): add company state devtools 2026-08-20 09:40:29 -05:00
DottaandPaperclip 59e57017b1 refactor(runner): organize package by responsibility
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-11 12:56:59 +00:00
DottaandPaperclip 3165f057a3 feat(runner): surface live chat progress
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-11 01:54:47 +00:00
DottaandPaperclip 011d5046b0 fix(runner): self-host Phase 7 thread fonts
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-10 23:19:28 +00:00
DottaandClaude Opus 5 3e875c6f9b feat(runner): add Phase 7M clean-room live Codex chat
Adds a second primary path beside the preset scenario explorer. `#/chat`
opens a blank thread on a freshly minted mock tenant — one company, one
agent, one blank issue — and drives real Codex through real runnerd. The
scenario explorer and its deterministic deep links are unchanged.

The clean room is live-only by construction. The route pins `mode=live`
and drops `shot`/`at`, the package server has no scripted path for it and
refuses any non-live projection, and a failure to start runnerd or Codex
is reported with a retry rather than replaced by a fixture.

`createPhase7CleanRoomSessionInput` seeds the minimum a runner session
needs and fails closed if anything else is present, so "starts blank" is
enforced at the seam rather than assumed. The exposure profile is fixed
and inspectable while the calls stay conversation-driven; three grants
(`governance:approvals:decide`, `workspace:control`,
`test:generic_api_request`) stay withheld so a typed denial is reachable
in a chat nobody scripted.

`Reset` and `New chat` retire the previous session's authority, drop its
workspace, and mint new mock identities; the old session id answers 404
afterwards. The projection now publishes the real-API block as a
`network-guard-<sessionId>` control-plane record, so "no request reached
a real Paperclip API" is inspectable in the drawer on both surfaces.

Also fixes two things the clean room surfaced: the unanchored `sk-`
credential heuristic matched mock ids of the form `task-cleanroom-<token>`,
and a hash change left one committed frame reporting `settled` for the
surface just navigated away from.

The 24-image screenshot matrix is re-recorded: the surface rail carrying
the clean-room entry is a real, always-visible element, and it reproduces
byte-for-byte against Chromium 151.0.7922.34.

Verified: test:phase7 159/159; test:browser:issue-thread 58/58 with axe
clean; check:phase7:ui 24/24 byte-identical; docs:validate 93 files, 34
OKF concepts; smoke:phase7:cleanroom all 15 assertions true against real
Codex 0.132.0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-10 15:45:35 +00:00
DottaandPaperclip c6d99430ee feat(runner): consolidate accepted Phase 7 issue thread UI
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-10 12:22:23 +00:00