Commit Graph
3571 Commits
Author SHA1 Message Date
DottaandPaperclip 3bed55f3f7 fix(native-runner): materialize phase 6 live effects
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 06:05:21 +00:00
DottaandPaperclip 33d9e8ef66 Bind Phase 6 corpus to production behavior
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 05:22:49 +00:00
DottaandPaperclip a392a69f87 test(native-runner): execute recovery and corpus evidence
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 04:47:58 +00:00
DottaandPaperclip 386433f178 fix(native-runner): complete recovery and conformance
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 04:19:01 +00:00
DottaandPaperclip f285bbbab8 test(runner): finish phase 6 conformance
Exercise all atomic-liveness failpoints, make native cancellation retry-safe, and align the allowlist and verification evidence with the final database-backed matrix.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 03:49:43 +00:00
DottaandPaperclip 0ca23dd535 fix(runner): make native finalization restart-safe
Persist bound session checkpoints, verify durable completion evidence, and commit status/liveness effects atomically. Preserve unique event cursors during migration and add bounded recovery plus legacy compatibility coverage.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 03:44:38 +00:00
DottaandPaperclip 512c0647b0 chore(runner): leave lockfile generation to CI
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 03:18:59 +00:00
DottaandPaperclip eba56a19e9 fix(runner): preserve pending governance gates
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 03:14:01 +00:00
DottaandPaperclip 37c219b297 feat(runner): add feature-flagged Paperclip adapter tracer
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 03:08:55 +00:00
DottaandPaperclip 3a38c8f931 docs(runner): revise phase 6 native integration design
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 02:29:18 +00:00
DottaandPaperclip f8a584ac9e docs(runner): clarify phase 6 port ownership
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 02:20:29 +00:00
DottaandPaperclip 0458cc5c15 docs(runner): specify phase 6 adapter boundary
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-09 02:17:06 +00:00
Dotta 30c2aa39a9 docs(runner): authorize phase 6 integration 2026-08-09 02:08:21 +00:00
DottaandPaperclip 7fa15aaaf8 fix(runner): harden browser credential redaction
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 07:55:37 +00:00
DottaandPaperclip 20bb02d325 chore(runner): lock Phase 5 workspace tooling
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 07:52:27 +00:00
DottaandPaperclip bc10fffb06 fix(runner): keep browser types Node-free
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 07:50:57 +00:00
DottaandPaperclip cc945e4c72 feat(runner): extract Phase 5 browser SDK
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 07:42:57 +00:00
DottaandPaperclip 30a5e3c38d docs(runner): approve phase 5 component and SDK surface plan
UX gate PAP-16842: frozen consumer-facing component contracts, five
extension points, pcr- token rules, responsive/keyboard/accessibility
acceptance criteria, mini-consumer tracer flow, and the Phase 5
reuse/adapt/reject decision record.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 06:48:45 +00:00
DottaandClaude Opus 4.8 09b91b63f7 test(runner): add phase 4b independent QA verification evidence
Records the QA pass for PAP-16837: clean-start tutorial executed in a real
browser, deterministic demos, a real Codex end-to-end turn, full package
`verify` acceptance (exit 0), and curated screenshots.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-08 06:36:44 +00:00
DottaandClaude Opus 5 cda1fb03ab fix(runner): preserve phase 4b request terminal and goal semantics
Five protocol corrections from the CTO review of the Phase 4b work.

Canonical runtime request outcome. The real driver emitted `resolution`
while the scripted driver and browser read `action`, so a real resolved
card reported an unknown outcome. `harnessRuntimeRequestOutcome` is now
the one payload every driver emits for a terminal `runtime_request.*`
fact, carrying `requestId`, `requestKind`, `turnId`, and `itemId` in the
payload as well as the event binding.

Decoded request identities. Path segments are split before they are
decoded, so a percent-encoded reserved character stays inside the segment
the browser meant it for; malformed encoding fails with 400.

Resolution shapes validated by request kind.
`parseHarnessRuntimeRequestResolution` requires `answers` for a
`user_input` submit and `content` for an elicitation submit, and rejects
a mismatched body instead of accepting it as an empty response. Both
drivers and the browser transport run it, and the request card now sends
elicitation answers as `content`.

One terminal fact per reconnect. The demo server snapshots after the
close rather than before it, so requests the close already cancelled are
not replayed into the driver's stale-request recovery path and reported
terminal a second time. Reading afterwards also carries the closing
events' source sequence into the resumed session.

Goal support retired only on a provider denial. A transport or protocol
failure during `thread/goal/get` said nothing about what the build
supports but still set `goals: false`. `CodexRpcError` now carries the
JSON-RPC code, and the capability is retired only when the provider
answers that it will not serve the method.

Three defects surfaced while verifying the above are fixed here too: a
same-origin `EventSource` GET sends no `Origin`, so requiring one on
`/stream` rejected the console's own subscription and no live-console
test could connect; the browser payload redactor covered only
`.paperclip` paths and leaked the app-server's `~/.codex/memories`; and
the browser suite shares one server across 19 sessions against an
interactive cap of 16, now sized through `PAPERCLIP_PHASE4B_MAX_SESSIONS`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 06:04:03 +00:00
DottaandPaperclip 405a4a4506 fix(runner): secure phase4b browser transport
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 05:43:13 +00:00
96092b832d feat(runner): add phase 4b live codex protocol console
Add the package-local browser tracer over the Phase 4b protocol boundary as a
new Live console mode in the standalone devtool.

Surfaces derive only from canonical PRP events and the shared reducer: live
transcript and composer, same-turn steering with stale-turn recovery, three
distinct interrupt races, inline runtime request cards, capability-gated goal
controls, parent/child lineage, reconnect, refresh, replay, and a redacted
protocol inspector.

Add a deterministic scripted driver and eleven demo chats behind the same demo
server routes the real Codex driver uses, so every protocol state is reachable
without a provider account and PAPERCLIP_PHASE4B_DRIVER=codex swaps in the real
session.

Adapt shadcn/ui and Vercel AI Elements source with zero new runtime
dependencies, and extend the boundary check to keep it that way.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 05:26:45 +00:00
DottaandPaperclip 62d384b383 feat(runner): add phase 4b protocol server
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 04:44:00 +00:00
DottaandPaperclip 5870a1a432 docs(runner): approve phase 4b ux interaction map and components
UX gate PAP-16832: live-console interaction map for all spec 29.1
surfaces, shadcn/AI Elements adapt/reject decision record with a
zero-new-runtime-dependency rule, keyboard/accessibility acceptance
criteria, token additions, annotated 1440x900 and 390x844 mockups,
and OKF journal/index updates.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 04:31:22 +00:00
Dotta 4b5bbd1729 docs(runner): authorize phase 4b execution 2026-08-08 04:19:01 +00:00
Dotta c2824ce7f7 docs(runner): specify phase 4b live codex web ui 2026-08-08 03:19:05 +00:00
DottaandPaperclip eef193508d fix(runner): stabilize warmed Codex isolation evidence
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 03:11:05 +00:00
DottaandPaperclip 373b609ff1 fix(runner): reject cross-channel result conflicts
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 02:25:41 +00:00
DottaandPaperclip 3a8d4b3e21 fix(runner): persist exact-turn recovery state
Bind Codex reconciliation to the persisted active turn and retain semantic-result and terminal fingerprints across transport recovery. Align Phase 4 docs with content-idempotent retry behavior.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 02:13:44 +00:00
DottaandPaperclip 8d4ffe7f2b fix(runner): isolate Codex credentials and hostile output
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 02:07:33 +00:00
DottaandPaperclip 6391608e8f fix(runner): enforce phase 4 status authority
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 01:53:48 +00:00
DottaandPaperclip 2161ddcc4a feat(runner): add skillless Codex app-server tracer
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 01:33:36 +00:00
Dotta 6f179780e2 docs(runner): authorize phase 4 work 2026-08-08 00:39:54 +00:00
DottaandPaperclip abb5ceb6b6 fix(runner): close bootstrap auth race
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-08 00:03:08 +00:00
DottaandPaperclip 5da7172af5 feat(runner): expand recovery diagnostics
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 23:59:43 +00:00
DottaandPaperclip 816aedb561 docs(runner): document authenticated phase 3 transport
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 23:52:43 +00:00
DottaandPaperclip 313c40cd9b fix(runner): close phase 3 security integrity gaps
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 23:51:38 +00:00
DottaandPaperclip 486069e369 docs(runner): record Phase 3 recovery evidence
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 23:37:40 +00:00
DottaandPaperclip b6ec51df04 feat(runner): add durable Phase 3 recovery transport
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 23:37:33 +00:00
Dotta 3aa01325a2 docs(runner): authorize phase 3 recovery tracer 2026-08-07 23:11:04 +00:00
DottaandPaperclip a9e6db06e0 fix(runner): address phase 2 tutorial QA
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 22:13:41 +00:00
DottaandPaperclip bfef34393c fix(runner): harden phase 2 local boundaries
Enforce loopback/same-origin transport and bounded browser resources, frame harness output before allocation, and reconcile terminal state from runner-owned facts.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 21:32:24 +00:00
DottaandPaperclip 90daf4ff00 fix(runner): polish live browser diagnostics
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 21:31:46 +00:00
DottaandPaperclip 7e0c8632da docs(runner): document Phase 2 verification
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 21:09:28 +00:00
DottaandPaperclip f32331a567 feat(runner): add Phase 2 local harness loop
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 21:09:14 +00:00
Dotta 77fce1a6ed docs(runner): authorize phase 2 and clarify tutorials 2026-08-07 20:30:06 +00:00
DottaandPaperclip 1222f5fc53 chore(runner): phase 1 checkpoint
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 19:13:10 +00:00
DottaandPaperclip a4af3caea7 docs(runner): record phase 1 replay evidence
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 19:13:07 +00:00
DottaandPaperclip 1b51f95c6c feat(runner): add phase 1 static replay contract
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 19:13:00 +00:00
DottaandPaperclip a86edda579 fix(runner): establish phase 0 rust boundary
Add the production-direction Cargo workspace, make the Rust tracer the default Phase 0 path, and enforce shared-fixture parity with the TypeScript reference. Extend standalone boundary checks and record the correction in the implementation plan and OKF journal.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-08-07 18:12:48 +00:00