
== build: start-ocx, receipts and ocx2 from /var/lib/ocx/agents/opus-ocx2/projects/ollama/b2de8b0c2c6700eb5c686b1747b5aaa1e2d2d01370ac55f2e5a151a67e03b48a/tree8

== served repository: demo.fossil, users, chat timeline
-rw-------    1 root     root        217088 Oct 29 01:48 /tmp/sA-3707452/fossil/demo.fossil

== receipt service, through the launcher's receipts policy
total 0
srw-------    1 root     root             0 Oct 29 01:48 receipts.sock

== Fossil server, its extroot's ocx2-cgi the launcher

== the daemon's node: nodes.json and credentials

== confined daemon, through the launcher's daemon policy
{"when":"2026-10-29T01:49:22Z","clone":"/tmp/sA-3707452/daemon/node/clones/demo.fossil","completion":1,"new":0,"handed":[],"settled":0}
{"when":"2026-10-29T01:49:25Z","clone":"/tmp/sA-3707452/daemon/node/clones/demo.fossil","completion":1,"new":0,"handed":[],"settled":0}
{"when":"2026-10-29T01:49:28Z","clone":"/tmp/sA-3707452/daemon/node/clones/demo.fossil","completion":1,"new":0,"handed":[],"settled":0}

== two runs, posted by boss (setup) through Fossil's form
sandboxed run d0989ecdb2
unconfined run 3dedb10dd4

== what the runs posted (started, kept logs, ended)
'd0989ecdb2','boss','D 2026-10-29T01:49:31.049 H sandboxed\sprobe N text/x-markdown U boss W 1007 ```json {"ocx": 1, "kind": "run", "node": "demo-node", "objective": "Probe from an agent sandbox.", "workspace": [{"step": "directory", "at": "$$root$$/$$user$$/projects/$$project$$/$$run$$"}], "sandbox": {"uid": 1000, "gid": 1000, "capabilities": [], "network": false, "own_session": true, "ends_with_node": true, "read_only": ["/usr", "/bin", "/lib", "/lib64"], "read_write": ["$$workspace$$"], "homes": [], "files": [], "proc": "/proc", "dev": "/dev", "tmp": "/tmp"}, "limits": {"wall": "2m"}, "process": {"user": "build'
'3dedb10dd4','boss','D 2026-10-29T01:49:31.155 H unconfined\sprobe N text/x-markdown U boss W 642 ```json {"ocx": 1, "kind": "run", "node": "demo-node", "objective": "Probe from the daemon itself, unconfined by any run sandbox.", "process": {"user": "builder", "command": ["/bin/sh", "-c", "echo uid=$(id -u); for p in /tmp/sA-3707452/fossil /tmp/sA-3707452/fossil/demo.fossil; do [ -e $p ] && echo VISIBLE $p || echo absent $p; done; head -c 16 /tmp/sA-3707452/fossil/demo.fossil >/dev/null 2>&1 && echo READ-OK || echo read-refused; n=0; for x in /proc/[0-9]*/root/tmp/sA-3707452/fossil/demo.fossil; do [ -r $x ] && n=$'
'c474bd767d','demo-node','D 2026-10-29T01:49:32.588 G d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d I d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d N text/x-markdown U demo-node W 687 ```json {  "ocx": 1,  "kind": "started",  "node": "demo-node",  "clone": "0e45ec6e0f557006fccb6874c15b9a376b8c9bf3",  "run": "d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d",  "values": {   "root": "/tmp/sA-3707452/daemon/agents",   "project": "demo",   "user": "builder",   "run": "d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d",   "node": "demo-node",   "server": "'
'59f0ab7730','demo-node','D 2026-10-29T01:49:32.680 G d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d I d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d N text/x-markdown U demo-node W 232 The process for the run d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d exited 0. ~~~~ stdout uid=1000 absent /tmp/sA-3707452/fossil absent /tmp/sA-3707452/fossil/demo.fossil read-refused proc-paths-readable=0 ~~~~ Z 5afa847dd6bfab0c1b93d9af8a6d637e '
'42373b1a10','demo-node','D 2026-10-29T01:49:32.691 G d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d I d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d N text/x-markdown U demo-node W 236 ```json {  "ocx": 1,  "kind": "ended",  "node": "demo-node",  "clone": "0e45ec6e0f557006fccb6874c15b9a376b8c9bf3",  "run": "d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d",  "outcome": "exited",  "exit": 0 } ``` Z 68540a6b8df9a8d15f87ba134b6ba925 '
'aab90733a7','demo-node','D 2026-10-29T01:49:32.863 G 3dedb10dd416823a3ebd2a57c1a25ff7122aa9799077fd4a7d7a588941c44e59 I 3dedb10dd416823a3ebd2a57c1a25ff7122aa9799077fd4a7d7a588941c44e59 N text/x-markdown U demo-node W 277 ```json {  "ocx": 1,  "kind": "ended",  "node": "demo-node",  "clone": "0e45ec6e0f557006fccb6874c15b9a376b8c9bf3",  "run": "3dedb10dd416823a3ebd2a57c1a25ff7122aa9799077fd4a7d7a588941c44e59",  "outcome": "refused",  "note": "this node runs only sandboxed processes" } ``` Z cb1401ee674c8ac360bfc47890333d80 '

== receipts through the launcher's CGI route, against Fossil's own record
boss {"artifacts": [{"artifact": "d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d", "received": true, "sender": "boss", "capabilities": "bcdefghijklmnopqrstwz234567AD", "receipt": 2, "rid": 2}], "user": {"user": "demo-node", "capabilities": "ghjorwz4C", "wiki_moderated": false, "ticket_moderated": false}}
viewer {"artifacts": [{"artifact": "d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d", "received": true, "sender": "boss", "capabilities": "bcdefghijklmnopqrstwz234567AD", "receipt": 2, "rid": 2}], "user": {"user": "demo-node", "capabilities": "ghjorwz4C", "wiki_moderated": false, "ticket_moderated": false}}
anon {"artifacts": [{"artifact": "d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28d", "received": true, "sender": "boss", "capabilities": "bcdefghijklmnopqrstwz234567AD", "receipt": 2, "rid": 2}], "user": {"user": "demo-node", "capabilities": "ghjorwz4C", "wiki_moderated": false, "ticket_moderated": false}}
Fossil's own record: 'boss','bcdefghijklmnopqrstwz234567AD',2,2
Fossil's fullcap(demo-node): 'ghjorwz4C'

== the console, as boss (the page's other paths still pass through: E6)
console ok: True | runs running: 0 | ended: 2

== writes from the receipt service's policy fail (a probe in place of receipts)
Fossil's port 45945 answers on the host: 200
GC Warning: Could not open /proc/stat
open the repository for writing: refused (File::Error: Error opening file with mode 'r+': '/tmp/sA-3707452/fossil/demo.fossil': Read-only file system)
create a file beside it: refused (File::Error: Error opening file with mode 'w': '/tmp/sA-3707452/fossil/x': Read-only file system)
read the repository: read ok (allowed: read-only)
reach Fossil's port: refused (Socket::ConnectError: Error connecting to '127.0.0.1:45945': Connection refused)
write in its socket directory: written (allowed: its one writable place)

== the daemon's own view: a probe in place of its program, started through the same daemon policy
daemon probe: uid=0 caps=CapEff: 000001ffffffffff
absent /tmp/sA-3707452/fossil
absent /tmp/sA-3707452/fossil/demo.fossil
proc-paths-readable=0 (other processes of the same account; the live daemon has an account of its own)
agent sandbox inside: started

== review test: the /receipt aliases reach the receipt service, never the passthrough
/receipt -> service boss
/receipt/ -> service boss
/receipt/x -> service boss

== review test: one repository held locked while another is asked, straight at the service's socket
demo (locked=True): 2.0 s  {"unavailable":"SQLITE_BUSY (5): database is locked","retry_after":1}
demo2 (locked=False): 0.0 s  {"artifacts":[{"artifact":"d0989ecdb2e62ccabf4e8d3bbbab2e1771d44f2dc692811b6df04bf01325a28

== review test: inside the CGI sandbox (a probe in place of the release's program)
args: --receipt-fd 3
CapEff: 0000000000000000
fd 0 -> socket:[986643613]
fd 1 -> pipe:[986646705]
fd 10 -> /release/ocx2-cgi
fd 2 -> pipe:[986646705]
fd 3 -> socket:[986649693]
fd 4 -> pipe:[986644022]
cookie: absent nonce: absent repository: demo
absent /tmp/sA-3707452/fossil
absent /tmp/sA-3707452/fossil/demo.fossil
network: 000

== review test: a receipt service that listens but never accepts
status 503 after 2 s: {"unavailable":"receipt service not answering"}

== rollback point: the launcher's CGI link is one file; the previous page is the release's own ocx2
-rwxr-xr-x    1 root     root           197 Oct 29 01:48 /tmp/sA-3707452/ext/ocx2-cgi
done
