diff --git a/BUILD-LOG.md b/BUILD-LOG.md index d9780c124..b339da133 100644 --- a/BUILD-LOG.md +++ b/BUILD-LOG.md @@ -5592,3 +5592,5 @@ Fethry at c8a9bcf94, per Sage sage-4292 and mos-1616 pi-route amendment. Before: Fethry stopped under Mos mos-1630/Jason's T3 crash instruction. No production implementation, tests, probes, mutants or acceptance runs occurred; Sage CLEAR never arrived. Explicit route metadata per sage-4293 is recorded in agents/fethry/work/queue-332/BUILD.md; full state and resumption boundaries are in HANDOFF.md there. Safe crash checkpoint commits documentation/historical plain-text import manifest only; four unrun tests and the import-audit script remain uncommitted. No long jobs restarted, protected branch changes, merges, live changes or further thread messages. 2026-10-24 — Fethry row332 P3 UNRUN implementation checkpoint: optional proxy route per sage-4325 (default Anthropic), transient preflight/bundle/spawn context and serialization split, pi private model file/provider credential requirement. Existing initial RED evidence precedes source changes; only specifically authorized old fixtures updated. GPT wire API value PENDING until separate offline CLEAR/evidence; P2 seam remains injected context, no real proxy/auth access. Not GREEN, not accepted or landed. Details agents/fethry/work/queue-332/BUILD.md. + +2026-10-24 — Fethry row332 P3 checkpoint ef0939e35: required explicit route restored per sage-4293/4328; openai-responses chosen by Sage sage-4331 as reasoning-based tie-break, not evidence-decided (both offline shapes passed). Rehashed pinned8.0.42 single active-tool isolated GLM turn confirms thinking/tool_stream survive to stand-in;bundle7/7,proxy-harness5/5,no skips. Real Codex auth proof remains row209 phaseA step7. P2 landing/rebase,mutants,reviews and full gate still pending; no landing claim. Plain evidence/limitations in agents/fethry/work/queue-332/BUILD.md. diff --git a/agents/fethry/work/queue-332/BUILD.md b/agents/fethry/work/queue-332/BUILD.md index c942b32d5..8b2e275cf 100644 --- a/agents/fethry/work/queue-332/BUILD.md +++ b/agents/fethry/work/queue-332/BUILD.md @@ -282,3 +282,18 @@ Sage's ruling: PROXY_CODEX_API=openai-responses. The evidence does not separate Set constant/remove pending refusal; GPT route test asserts openai-responses on mosaic-proxy-codex. Replaced temporary pending-refusal test with generated single-provider/responses/key-reference assertions per ruling. No other production change. Active plug-in docs updated. Evidence script adds glm-tool mode: one GLM turn only, same pinned verified binary and isolated setup, distinct attempt3-tool root, active built-in read tool but stand-in still returns text only. Capture tool_stream and tool names before/after proxy, never header/auth values. No actual tool execution is demanded by stand-in, so this checks wire-field survival, not arbitrary tool-call semantics. Rehash before launch, no fetch,30s catalog readiness with counts,50s timeout-k10 for one turn,own descendants restored nice19. Commit untested before cleared run; then proxy-bundle and proxy-harness each whole once. No other runs/mutants. + +### sage-4331 single active-tool GLM turn and two-file results + +Tested ef0939e35. No fetch. P1 verifyInstall rehashed existing binary/panel and matched both PIN hashes before use. One isolated glm-tool run, unshare-rn interfaces[lo],empty private HOME/auth,sanitized env. Readiness poll1 not-ready/count0;poll2 status200/count2. One pi invocation with one active builtin read tool,exit0,markerP332_OFFLINE_OK; no rerun. Outer timeout-k10/140s,inner120s,pi50s;nice19 explicitly at entry/child starts and guard restores observed16→19 three times. No production API chosen by script. + +Plain request/response evidence (full safe receipt evidence/glm-tool.txt): +- pi POST/v1/chat/completions modelglm-fixture,streamtrue,tools=[read],tool_stream=true,thinking={type:enabled,clear_thinking:false},reasoning_effort=low,max_completion_tokens=16384. +- pinned proxy200 completion stream,marker. +- stand-in receives POST/v1/chat/completions,tools=[read],tool_stream=true and same thinking/reasoning_effort fields;max_tokens=16384. Thus zaiToolStream-derived tool_stream survives this proxy route. No tool invocation or tool-call delta sequence was requested by the stand-in; this proves field survival with active tool, not every tool-call streaming semantic. + +Then exactly once each whole file, fresh gXXX TMPDIR,nice19,timeout-k10/180s: +- packages/harness/tests/proxy-bundle.test.mjs00:14:20Z:7pass,0fail,0skip,exit0. +- packages/plugins/tests/proxy-harness.test.mjs00:14:20Z:5pass,0fail,0skip,exit0. + +No failures, no extra runs/mutants. Cleanup managed children0. Own-worktree/evidence-root sweep found only same six pre-existing tool services,no proxy/pi/test/timeout/chromium leftovers. Lane B free. P3 now waits for P2/row331 landing before rebase,mutants,Gladstone review and further gates; no landing/merge requested or performed. diff --git a/agents/fethry/work/queue-332/api-choice/proxy-bundle.txt b/agents/fethry/work/queue-332/api-choice/proxy-bundle.txt new file mode 100644 index 000000000..5862f24e5 --- /dev/null +++ b/agents/fethry/work/queue-332/api-choice/proxy-bundle.txt @@ -0,0 +1,19 @@ +00:14:20Z +nice=19 +✔ P3 Anthropic route uses messages at proxy root and the declared model id (12.070131ms) +✔ P3 omitted route refuses proxy-route-missing before model config generation (2.197623ms) +✔ P3 GLM route uses completions at proxy /v1 with explicit z.ai compatibility (3.390562ms) +✔ P3 GPT route selects a stack-owned provider instead of pi Codex OAuth (4.240948ms) +✔ P3 a declared Codex route generates only the single build-time responses provider (3.37448ms) +✔ P3 models file is private, references the one session key, and stores no executable values or keys (3.305299ms) +✔ P3 every launch regenerates proxy port, declared models and own key without caching (6.287121ms) +ℹ tests 7 +ℹ suites 0 +ℹ pass 7 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 128.759611 +exit=0 +00:14:20Z diff --git a/agents/fethry/work/queue-332/api-choice/proxy-harness.txt b/agents/fethry/work/queue-332/api-choice/proxy-harness.txt new file mode 100644 index 000000000..8867b3523 --- /dev/null +++ b/agents/fethry/work/queue-332/api-choice/proxy-harness.txt @@ -0,0 +1,17 @@ +00:14:20Z +nice=19 +✔ P3 Claude env receives the session proxy URL and key, without another agent or host credential (3.096286ms) +✔ P3 Claude preflight accepts a proxy key without a host provider credential (1.305258ms) +✔ P3 pi refuses no-session-credential with no provider key (1.23137ms) +✔ P3 pi refuses no-session-credential with only a Claude OAuth token (3.659409ms) +✔ P3 pi accepts its own provider key or a session proxy key (0.590987ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 68.648537 +exit=0 +00:14:20Z diff --git a/agents/fethry/work/queue-332/evidence/glm-tool.txt b/agents/fethry/work/queue-332/evidence/glm-tool.txt new file mode 100644 index 000000000..0ffb5d81a --- /dev/null +++ b/agents/fethry/work/queue-332/evidence/glm-tool.txt @@ -0,0 +1,8 @@ +{"phase":"isolation","interfaces":["lo"],"enteredNice":19,"nice":19,"version":"8.0.42","binarySha256":"74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e","panelSha256":"8c9c6b7d3fb311e6aad5d06e1993e53a2d28389e640448a1bc6304ed20b057b5","reverified":true} +{"phase":"readiness","poll":1,"status":"not-ready","modelCount":0} +{"phase":"readiness","poll":2,"status":200,"modelCount":2} +{"phase":"catalog","modelIds":["gpt-fixture","glm-fixture"]} +{"phase":"turn","name":"glm-completions-tool","api":"openai-completions","exit":0,"signal":null,"marker":true,"piRequests":[{"method":"POST","path":"/v1/chat/completions","keys":["max_completion_tokens","messages","model","reasoning_effort","store","stream","stream_options","thinking","tool_stream","tools"],"model":"glm-fixture","stream":true,"roles":["developer","user"],"inputTypes":"undefined","thinking":{"type":"enabled","clear_thinking":false},"reasoning_effort":"low","tool_stream":true,"toolNames":["read"],"stream_options":{"include_usage":true},"max_completion_tokens":16384}],"proxyResponses":[{"request":0,"status":200,"events":[],"marker":true}],"upstreamRequests":[{"method":"POST","path":"/v1/chat/completions","keys":["max_tokens","messages","model","reasoning_effort","store","stream","stream_options","thinking","tool_stream","tools"],"model":"glm-fixture","stream":true,"roles":["developer","user"],"inputTypes":"undefined","thinking":{"type":"enabled","clear_thinking":false},"reasoning_effort":"low","tool_stream":true,"toolNames":["read"],"stream_options":{"include_usage":true},"max_tokens":16384}],"nice":19} +{"phase":"conclusion","limitation":"Stand-in openai-compatibility credential only; no Codex OAuth credential or real-auth turn. This script never selects the production API."} +{"phase":"nice-corrections","restoredTo":19,"observedBeforeRestore":{"16":3}} +{"phase":"cleanup","remainingManagedChildren":0} diff --git a/docs/SESSIONS.md b/docs/SESSIONS.md index 171bb1bb9..80aa1e443 100644 --- a/docs/SESSIONS.md +++ b/docs/SESSIONS.md @@ -1715,3 +1715,5 @@ are never rewritten or removed; corrections are new entries. 2026-10-24 | fethry (65673bd9-3bfa-412b-85d5-9b364187d8b6) | row332 route required sage-4328 |9563fbc8b proxy-launch6/0,launch-settings18/0,bundle6/1(expected GPT PENDING),launcher35/0,zero skips; grep positive controls/old assertion preservation recorded; lane B free00:02:27Z UTC10-25,no test leftovers,no probes/fetches/mutants. 2026-10-24 | fethry (65673bd9-3bfa-412b-85d5-9b364187d8b6) | row332 pinned offline evidence sage-4329/4330 | One verified fetch; first setup0turns wrong provider shape; statically diagnosed bundled panel schema then one corrected isolated attempt: both GPT shapes+GLM exit0/marker,thinking retained,tool_stream untested(no tools); GPT choice inconclusive/PENDING,no real auth; process cleanup0,lane B free. + +2026-10-24 | fethry (65673bd9-3bfa-412b-85d5-9b364187d8b6) | row332 sage-4331 API choice and GLM tool field | ef0939e35 responses constant per lead reasoning tie-break;rehash/no-fetch isolated GLM one turn0/tool_stream retained;bundle7/0/0skip,proxy-harness5/0/0skip;lane B free00:14:20Z UTC10-25,no test leftovers;wait row331 before further work.