From 7c5bb0cc7d7ca0636544ab3eb8812f98cb86ad53 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 7 Mar 2026 02:01:42 +0000 Subject: [PATCH 1/2] feat(lucibridge): register namespace entries as context resources MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add registernamespace() to probe known namespace paths (/n/llm, /dev/cons, /tmp/veltro, /lib/certs, etc.) and register them as non-tool resources in the context zone. The existing Resources section in lucictx.b already renders entries where rtype != "tool" — it just never got populated. Each path is checked via sys->stat() so only entries present in the (possibly restricted) agent namespace get registered, with type labels (service, device, fs) and via annotations (rw, ro) for filesystem mounts. https://claude.ai/code/session_016795BsWP8iJJp31xf6Rf1P --- appl/cmd/lucibridge.b | 50 ++++++++++++++++++++++++++++++++++++++++++ dis/lucibridge.dis | Bin 12718 -> 14684 bytes 2 files changed, 50 insertions(+) diff --git a/appl/cmd/lucibridge.b b/appl/cmd/lucibridge.b index 97a5aa2c1..bf160664a 100644 --- a/appl/cmd/lucibridge.b +++ b/appl/cmd/lucibridge.b @@ -91,6 +91,53 @@ writefile(path, data: string): int return sys->write(fd, b, len b); } +# Register namespace entries (services, devices, filesystems) as non-tool +# resources in the context zone. Probes known paths via sys->stat() — only +# paths present in the (possibly restricted) namespace get registered. +registernamespace() +{ + paths := array[] of { + "/n/llm", "/n/mcp", "/n/speech", "/n/git", "/n/ui", + "/dev/cons", "/dev/time", + "/tmp/veltro", "/lib/certs", "/lib/veltro", + "/chan", "/n/local", + }; + labels := array[] of { + "LLM", "MCP", "Speech", "Git", "UI", + "Console", "Clock", + "Scratch", "TLS CAs", "Veltro Data", + "Xenith 9P", "Local FS", + }; + types := array[] of { + "service", "service", "service", "service", "service", + "device", "device", + "fs", "fs", "fs", + "service", "fs", + }; + vias := array[] of { + "", "", "", "", "", + "", "", + "rw", "ro", "ro", + "", "", + }; + ctxpath := sys->sprint("/n/ui/activity/%d/context/ctl", actid); + nreg := 0; + for(i := 0; i < len paths; i++) { + (ok, nil) := sys->stat(paths[i]); + if(ok < 0) + continue; + cmd := "resource add path=" + paths[i] + + " label=" + labels[i] + + " type=" + types[i] + + " status=idle"; + if(vias[i] != "") + cmd += " via=" + vias[i]; + if(writefile(ctxpath, cmd) >= 0) + nreg++; + } + log(sys->sprint("context: registered %d namespace entries", nreg)); +} + # Speak text via speech9p (fire-and-forget, runs in spawned goroutine) speaktext(text: string) { @@ -216,6 +263,9 @@ initsession(): string log("context: registered speech resource"); } + # Register namespace entries (services, devices, filesystems) as resources + registernamespace(); + log(sys->sprint("session %s, prompt %d bytes", sessionid, len array of byte sysprompt)); return nil; } diff --git a/dis/lucibridge.dis b/dis/lucibridge.dis index 482ac135564c08fd5e1d26e5f3cdd1f71b69207d..537646ea8de44819166ed640a8ff3ee63795bb93 100644 GIT binary patch literal 14684 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 Date: Sat, 7 Mar 2026 02:02:20 +0000 Subject: [PATCH 2/2] build: update dis bytecode from Linux amd64 rebuild Side effects of running build-linux-amd64.sh: pdf.dis recompiled with minor bytecode differences, viewport.dis newly compiled, lucipres.dis removed (requires xenith/render.m unavailable in headless build). https://claude.ai/code/session_016795BsWP8iJJp31xf6Rf1P --- dis/lib/pdf.dis | Bin 96971 -> 96954 bytes dis/lib/viewport.dis | Bin 0 -> 819 bytes dis/lucipres.dis | Bin 23515 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 dis/lib/viewport.dis delete mode 100644 dis/lucipres.dis diff --git a/dis/lib/pdf.dis b/dis/lib/pdf.dis index a056c116b5e0b19351a2ac4dfe81633a30fc4ca0..61ee1b98a54eaa9454f35b99270817fcde83114b 100644 GIT binary patch delta 95 zcmX^8m37xw)(LYMe@vXK!uX-_(AGnY|FWFqCw$OP%g-w*)=$pQP0GwmP0=sS%S_Hs cN!2qn(F4gCs7&~QOG$BJUh#I}9L61d01GiE*Z=?k delta 112 zcmdn>mG$&j)(LYMKTMpf!uX@{(AGnY|FVKLCVbFO%g-w*)=x>zN-QhYcL7pirNN1L m#rmarnaTMnsd|PcdLShRIum~2QtO+amk(3FohgTL2Oj|FPc9(< diff --git a/dis/lib/viewport.dis b/dis/lib/viewport.dis new file mode 100644 index 0000000000000000000000000000000000000000..d89164084a0df7d758acc6ef3cd3366784391dbf GIT binary patch literal 819 zcmZ`$!DBQ=X4=6-rpb^*o7zQ= z(5;IK`VV&N59r#3-{8iDJO99Y-%GU--JJK{z31L@-o2lS*noE$B2lU^o0TgTJhw{l zNTbqN)>zZn(AaWH@EYV;%q-U35`1`NJ_2|(KDwObBZSwoD>izKGH(rMTPRRJZweBA6$f__KkMzwF^pXPH`6~Vl32-`A_V)i%=YgPAu*2JUy2$tJ`kXl7^dl5aLCm z=&+DnN^9su@)32{t($R+nb$)=XX1EWc}zaT2ZVJ*V05hWJg)uM!l z3#w*rLcCbFsP3G>v&{&$@YtxF@v}&Jz`FOIQMu!>U$x7!(|J%VRdPdFs*{!{`!)TgC zgDE+eUdKea8~46`9wbMEI49+!WSmS0kCwil{JcKi9}UxVJW06W&hq=$?_Qb6l-ieG f$5hZ_To?~u3=YOb)Q++&ZKwUX{c>*aW=y{TmF40P literal 0 HcmV?d00001 diff --git a/dis/lucipres.dis b/dis/lucipres.dis deleted file mode 100644 index 3626d940761fdffb93bbc38f43b709a4118c234f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23515 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