Commit graph

20 commits

Author SHA1 Message Date
c45360864a feat(iso): stage colibri test agent and provider key help (Sam & Codex)
Switch ISO staging/docs from colibri-smoke-agent to colibri-test-agent, include rust/pkgconf for live Colibri rebuilds, stage provider.env.sample, wire the provider env rc.conf path, and document LLM key setup on the Firefox bootstrap page.\n\nChecks: npx --yes prettier@3 --check docs/LIVE-COLIBRI-REBUILD.md live/operator-session/bootstrap.html BUILD.md TESTING.md README.md; sh -n scripts/stage-colibri-iso.sh; sh -n build.sh; fake Colibri staging + sh -n staged rc.d script; git diff --check.
2026-06-15 07:49:43 +02:00
47b0db16e4 docs: add external MCP profile examples to ISO (Sam & Codex)
Adds sample external MCP registry and explicit external-call client profile alongside the default read-only Colibri MCP examples.\n\nChecks: ./scripts/check-format.sh; sh -n build.sh scripts/stage-colibri-iso.sh; python3 -m json.tool MCP examples; git diff --check
2026-06-13 19:54:17 +02:00
72cfcec91a Add Colibri MCP client examples to live image (Sam & Codex)
Installs read-only and trusted-write MCP client config examples under /usr/local/share/clawdie-iso/mcp-examples and links them from the bootstrap page.\n\nChecks: ./scripts/check-format.sh; sh -n build.sh scripts/stage-colibri-iso.sh; python3 -m json.tool MCP examples; git diff --check
2026-06-13 19:36:03 +02:00
368e663965 Stage colibri-mcp in operator USB by default (Sam & Codex)
Makes colibri-mcp a required Colibri artifact for the live operator USB, copies it into the image, documents the read-only default and explicit trusted COLIBRI_MCP_WRITE profile, and updates ISO build handoff docs.\n\nChecks: ./scripts/check-format.sh; sh -n build.sh scripts/stage-colibri-iso.sh; git diff --check
2026-06-13 19:29:31 +02:00
6d0290d07e Clarify Colibri live and Clawdie deploy service split (Sam & Codex)
Removes stale Herdr references, reserves service clawdie for deployed disk/server targets, and keeps the live USB on colibri_daemon. Drops the baseline live rc.d/clawdie wrapper so the mounted-image contract matches the docs.\n\nChecks: ./scripts/check-format.sh; git diff --check; sh -n over scripts/ firstboot/ live/operator-session/ executables
2026-06-13 12:00:57 +02:00
Sam & Claude
9e7034b094 docs: purge historical cruft (Lumina/LightDM/QML/Qt6) + de-stale README
Broad removal of obsolete decisions and dead subsystems across docs and code:

Deleted
- firstboot/gui/** — entire Qt6/QML installer subsystem (qml-installer,
  helloworld, Phase4 notes) — never the active live-session path
- live/installer-session/** — orphaned QML installer session
- .archive/completed-work/** — 14 historical planning/impl docs
- ROADMAP-v1.0.0.md, RELEASE-NOTES-v0.9.0.md — Lumina/LightDM/Qt6-era history
- .opencode/plans/phase0-gpu-fix-unified-iso.md — stale Lumina/LightDM plan
- dated/handoff docs: PHASE4-TEST-REPORT, COLIBRI-XFCE-HANDOFF,
  CLAWDIE-CODEX-HANDOFF, CANONICAL-BUILD-PATHS-HANDOFF

README de-stale
- present-tense intro (drop xfce-operator-usb branch framing)
- harness reality: pi (npm global) + Colibri daemon staged/rc.d-enabled;
  clawdie + zot as opt-in build flags
- GPU: NVIDIA auto-detect + universal driver lane (drop "conservative fallback")
- drop dead "historical installer/QML files in-tree" limitation

CHANGELOG
- drop dead "## Archive" + Qt6 "## For v1.0.0" sections
- correct stale sudo wording: live image uses mac_do/mdo, not sudo/doas
- drop RELEASE-NOTES-*.md pointer (file removed)

build.sh
- WARN no longer mentions removed QML build stage

.gitignore
- drop firstboot/gui qml-installer/helloworld ignore rules

Live decision guardrails retained (SDDM-over-LightDM notes); BUILD.md qt6
package deps retained (current runtime deps, not history).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 11:29:12 +02:00
5a379556f0 Fix XFCE tray volume and clock sizing (Sam & Codex) 2026-06-05 11:47:45 +02:00
Sam & Claude
a9323aeddc feat(gpu): universal NVIDIA lane — detect + install branch at boot (Sam & Claude)
Opt-in NVIDIA_UNIVERSAL lane (default NO; normal/single-branch builds unchanged):
one ISO that adapts to an unknown NVIDIA target.

- build.cfg: NVIDIA_UNIVERSAL flag.
- build.sh: install_nvidia_universal_repo() stages an on-image pkg repo with all
  three branches (390/470/580 + settings), pkg-repo metadata, and a file:// repo
  conf; universal mode bakes no branch and sets clawdie_live_gpu_mode=nvidia-auto.
- clawdie_live_gpu: nvidia-auto mode detects the device id (PR #30 fix) -> branch
  {390,470,590} -> pkg-name -> `pkg install -r clawdie-nvidia` -> kldload, all
  best-effort with fallback to integrated/scfb (never blocks boot).
- doc/NVIDIA-UNIVERSAL-HANDOFF.md: Codex FreeBSD build + hardware validation plan.

sh -n clean; detector+branch+pkg map unit-tested on Linux
(1c8c->590->nvidia-driver-580, 0fc8->470, 0e22->390). The pkg fetch/repo layout,
offline boot install, writable root, kernel ABI, and image size MUST be validated
on the FreeBSD build host + real NVIDIA hardware (see handoff).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:19:36 +02:00
Sam & Claude
d2ec1b7a72 fix(gpu): make NVIDIA auto-detection actually read the right PCI id (Sam & Claude)
The #29 detector grepped `chip=0x10de...`, but FreeBSD's chip field is
chip=0x<device><vendor> with vendor 0x10de in the LOW 16 bits — so it never
matched and the device id / recommended-branch logic was dead.

- nvidia_device_id: match `chip=0x<4hex>10de` and strip to the device id
  (chip=0x1c8c10de -> 1c8c).
- nvidia_branch_for_device: non-overlapping architecture ranges returning the
  build's lane labels {390,470,590} so detected vs staged compare correctly;
  empty/unknown -> 590 (safe default for modern unknown hardware).

Validated on Linux against representative ids: Fermi 0e22->390, Kepler 0fc8->470,
Maxwell 1380 / Pascal 1b81 / Turing 1c8c / Ada 2684 ->590, empty->590. sh -n clean.

This is the detection brain for the universal NVIDIA auto-install lane; the
on-image NVIDIA repo + boot-time install is the FreeBSD build-side work (handoff).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:07:02 +02:00
2d0181bbd3 Prefer staged NVIDIA branch on dedicated live builds (Sam & Codex) 2026-06-04 21:30:38 +02:00
997949d736 Merge pull request 'Add clawdie rc.d service — coherent control plane entrypoint' (#21) from fix/clawdie-rc-service into main 2026-06-04 20:04:23 +02:00
5603f2b206 Merge pull request 'Swap bootstrap: colibri-tui primary dashboard, Firefox for docs' (#19) from fix/bootstrap-colibri-tui into main 2026-06-04 20:04:23 +02:00
28c480ba26 Merge pull request 'XFCE panel icon-size fix + python symlinks + handoff docs' (#15) from final-xfce-merge into main 2026-06-04 20:04:23 +02:00
5b1b915e14 Merge pull request 'merge/all-three-fixes' (#11) from merge/all-three-fixes into main
Reviewed-on: #11
2026-06-04 20:04:23 +02:00
332ffd30d0 Merge pull request 'Fix XFCE SVG icon sniffing (Sam & Codex)' (#9) from fix/xfce-svg-pixbuf-icons into main
Reviewed-on: #9
2026-06-04 20:04:23 +02:00
8febb8e506 Merge pull request 'pi/main-live-boot-xfce-colibri-fixes' (#4) from pi/main-live-boot-xfce-colibri-fixes into main
Simplifying Clawdie service
2026-06-04 20:04:23 +02:00
6bade5d04e Merge xfce-operator-usb: AMD ASUS hardware lane + XFCE panel polish (Sam & Claude)
Consolidates the operator-USB work into main now that the AMD ASUS hardware-evidence collection is closed and Codex is parked. Brings the live-session hardware lane (XInput/libinput touchpad guard, internal audio + resolver bootstrap, hw-report with gated public upload, operator-USB branding) and the config-only XFCE panel polish (Pass 1 + Pass 2: branded Whisker PNG, xkb text mode, panel 40px, systray square-icons).

Conflict: doc/LLM-PROVIDER-HARNESS.md was evolved on both sides. Resolved as a union with no content lost — the xfce-side harness/provider/fabric restructure is the base, and main's two unique blocks (Verifying Key Cleanup flow, the 2D Platform x Harness matrix + populate/add procedures) are preserved. The doc owner may later dedupe the overlap between the two 1D matrices and the 2D matrix.

Verification debt stays explicit and open (not closed by this merge): XFCE visual-polish confirmation and the next rebuilt-image hardware retest, per doc/XFCE-PANEL-BUGS-HANDOFF.md and PLAN-OPERATOR-USB-NEXT.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-04 20:04:23 +02:00
b163cf1014 Merge xfce-operator-usb: Track F Colibri, DeepSeek smoke, LLM provider harness 2026-06-04 20:04:23 +02:00
835074ab8d Wire live installer commit path (Sam & Codex)
Live GUI installs now write runtime handoff files under /var/run/clawdie-installer, invoke bsdinstall script through a dedicated commit helper, persist the installed handoff for first HDD boot, and point the operator at /setup after reboot.

The live autologin user is restricted to a narrow sudoers rule for the commit helper and reboot only.

Build: pass
Tests: pass — sh -n + QML build + config-format + stubbed live-commit dry-run
Real-disk / bhyve install: NOT YET TESTED
2026-06-04 20:04:22 +02:00
3a9954f9ec Boot live installer session and narrow install-time contract (Sam & Codex) 2026-06-04 20:04:22 +02:00