From 69c61cb189dacb7945cced6c4e1b5713f86ff990 Mon Sep 17 00:00:00 2001 From: Sam & Claude Date: Sun, 31 May 2026 17:10:55 +0200 Subject: [PATCH] docs: record OSA real Pi binary proof (Sam & Codex) Validation: real pi 0.76.0 executed via colibri-daemon spawn-local wrapper; glasspane reached done with pi_session_id. --- .../2026-05-31-osa-real-pi-binary-proof.md | 156 ++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 docs/internal/sessions/2026-05-31-osa-real-pi-binary-proof.md diff --git a/docs/internal/sessions/2026-05-31-osa-real-pi-binary-proof.md b/docs/internal/sessions/2026-05-31-osa-real-pi-binary-proof.md new file mode 100644 index 0000000..fff4993 --- /dev/null +++ b/docs/internal/sessions/2026-05-31-osa-real-pi-binary-proof.md @@ -0,0 +1,156 @@ +# OSA real Pi binary spawn proof + +**Date:** 2026-05-31 +**Host:** `osa.smilepowered.org` +**Colibri commit:** `44865f3` — main after PR #8 +**Pi binary:** `/home/clawdie/.npm-global/bin/pi`, version `0.76.0` + +## Verdict + +Real Pi binary spawn path was proven on OSA through `colibri-daemon`. + +The daemon spawned a local executable wrapper, the wrapper executed the real +`pi` binary in JSON mode, Colibri streamed Pi JSONL stdout into glasspane, and +the pane reached `done` with a captured Pi session id. + +This proves the runtime path: + +```text +colibri-daemon spawn-local + → wrapper executable + → real pi --mode json --no-tools --no-context-files --no-session -p ... + → Pi JSONL stdout + → colibri glasspane ingestion + → snapshot state=done + pi_session_id captured +``` + +## Environment + +```text +host: osa.smilepowered.org +rustc: rustc 1.94.0 (4a4ef493e 2026-03-02) (built from a source tarball) +cargo: cargo 1.94.0 (85eff7c80 2026-01-15) (built from a source tarball) +freebsd-version -k: 15.0-RELEASE-p9 +freebsd-version -u: 15.0-RELEASE-p9 +uname: FreeBSD osa.smilepowered.org 15.0-RELEASE-p8 FreeBSD 15.0-RELEASE-p8 releng/15.0-n281036-53054229dcb3 GENERIC amd64 +``` + +Caveat: OSA has p9 installed, but the running kernel is still p8 pending +operator reboot. + +## Direct Pi smoke + +Before the daemon proof, direct Pi JSON mode was verified: + +```sh +pi --version +# 0.76.0 + +pi --mode json --no-tools --no-context-files --no-session -p 'Reply with exactly: OK' +``` + +Result: exit status 0, JSONL emitted, including: + +- `session` +- `agent_start` +- `turn_start` +- `message_start` / `message_update` / `message_end` +- `turn_end` +- `agent_end` + +## Daemon proof setup + +A temporary daemon instance was started with temp-only paths: + +```sh +COLIBRI_DAEMON_DATA_DIR=/tmp/colibri-real-pi-daemon-... +COLIBRI_DAEMON_SOCKET=/tmp/colibri-real-pi-daemon-.../colibri.sock +COLIBRI_DB_PATH=/tmp/colibri-real-pi-daemon-.../colibri.sqlite +COLIBRI_HOST=osa-real-pi-proof +target/debug/colibri-daemon +``` + +The local spawn target was a temporary wrapper script: + +```sh +#!/bin/sh +set -eu +WORKDIR="${TMPDIR:-/tmp}/colibri-real-pi-work-$$" +mkdir -p "$WORKDIR" +cd "$WORKDIR" +exec pi --mode json --no-tools --no-context-files --no-session -p 'Reply with exactly: OK' +``` + +Then Colibri CLI spawned it through the daemon: + +```sh +target/debug/colibri --socket "$SOCKET" spawn-local "$WRAPPER" --session-id real-pi-osa-proof +``` + +Spawn response: + +```json +{ + "agent_id": "f8d07954-b66d-4008-9da2-783818935b22", + "status": "running" +} +``` + +## Observed state transitions + +Polling `colibri snapshot` showed: + +```text +poll 1: idle None None +poll 2: idle None None +poll 3: working 019e7e95-cc0b-751a-8c0b-e6fd3ffab08f None +poll 4: working 019e7e95-cc0b-751a-8c0b-e6fd3ffab08f None +poll 5: done 019e7e95-cc0b-751a-8c0b-e6fd3ffab08f None +``` + +Final snapshot excerpt: + +```json +{ + "schema": "clawdie.glasspane.snapshot.v1", + "host": "osa-real-pi-proof", + "panes": [ + { + "id": "f8d07954-b66d-4008-9da2-783818935b22", + "agent": "/tmp/colibri-real-pi-daemon-.../run-real-pi.sh", + "state": "done", + "pi_session_id": "019e7e95-cc0b-751a-8c0b-e6fd3ffab08f", + "cwd": "/tmp/colibri-real-pi-work-62462" + } + ] +} +``` + +## What this proves + +- OSA has a working `pi` binary. +- `pi --mode json` emits JSONL that Colibri glasspane can ingest. +- `colibri-daemon` can spawn an executable that runs real Pi. +- JSONL stdout streaming from real Pi reaches glasspane. +- Glasspane captures Pi session id separately from Colibri pane id. +- The pane reaches `done` after a real Pi turn completes. + +## Remaining limitations + +- This used a wrapper because `spawn-local` currently treats `model` as a single + executable path and does not pass argv. +- This did not prove a first-class Pi provider command shape in the daemon. +- This did not prove a long-running interactive Pi session, only one noninteractive + JSON-mode turn. +- This did not prove cache warming or scheduler injection behavior with real Pi. + +Suggested follow-up if needed: + +- add first-class argv support for `spawn-local`, or +- add a dedicated Pi provider path that invokes: + +```text +pi --mode json --no-tools --no-context-files --no-session -p +``` + +with deterministic prompt/config handling. -- 2.45.3