Commit graph

15 commits

Author SHA1 Message Date
Sam & Claude
5a0a00ff66 fix(iso-visuals): wallpaper-on-join honors tmp policy + applies on real hardware
Follow-up to #74. Two concrete fixes to the "identity wallpaper on join" step:

1. tmp policy: the join script hardcoded WP=/tmp/clawdie-wallpaper.png, passing
   it to clawdie-wallpaper-gen and overriding the safe SCRATCH_DIR default that
   9ae8d25 had just introduced (project-local tmp/ or app-owned cache). The
   generator now prints its chosen path on stdout (human note → stderr) and the
   join script captures it: WP=$(clawdie-wallpaper-gen). No host-global /tmp.

2. wallpaper actually applies: replaced the hardcoded
   /backdrop/screen0/monitor0/workspace0/last-image with an enumeration over
   every existing */last-image property (XFCE keys backdrops by connector name,
   e.g. monitorHDMI-1, not monitor0), falling back to creating the default
   property on first boot/headless, then xfdesktop --reload.

SKILL.md updated to document the stdout contract and multi-monitor wiring.

Validation: sh -n on both scripts; prettier@3 --check SKILL.md;
python3 scripts/layered_soul.py validate . — all pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 12:26:20 +02:00
43c65c8632 fix(iso-visuals): harden panel indicator + auto-apply wallpaper on join
- Panel indicator: add have() checks for nc/python3, warn on missing
  deps instead of failing silently, distinct states for socket-down
  vs no-response with actionable tooltip text
- Join Hive: generate and apply identity wallpaper on success as
  visual 'you're in' confirmation via xfconf-query
- SKILL.md: document new behaviors
2026-06-20 12:16:02 +02:00
9ae8d250a7 fix(iso-visuals): avoid host-global tmp in wallpaper helper (Sam & Pi)
Sync the wallpaper helper and iso-visuals guidance with the project-local tmp policy, falling back to app-owned live cache paths when no project root exists.\n\nValidation: sh -n skills/iso-visuals/scripts/clawdie-wallpaper-gen.sh skills/iso-visuals/scripts/clawdie-join-hive.sh; npx --yes prettier@3 --check skills/iso-visuals/SKILL.md; python3 scripts/layered_soul.py validate .
2026-06-20 12:10:35 +02:00
eddea0b4e9 fix(iso-visuals): sync hardened helpers and guidance (Sam & Pi)
Mirror the Clawdie ISO Join Hive and wallpaper helper hardening in the iso-visuals skill, fix the desktop Exec path, and clarify staged-helper versus wired-default behavior.\n\nValidation: sh -n skills/iso-visuals/scripts/clawdie-join-hive.sh skills/iso-visuals/scripts/clawdie-wallpaper-gen.sh; npx --yes prettier@3 --check skills/iso-visuals/SKILL.md; python3 scripts/layered_soul.py validate .
2026-06-20 12:05:08 +02:00
fe328efb84 feat(iso-visuals): out-of-box desktop experience — panel, wallpaper, join-hive
Three improvements for the Clawdie ISO first-boot desktop:

1. Panel health indicator (xfce4-genmon)
   - polls colibri socket every 30s
   - green/red dot + agent count + task count
   - click to open colibri status in terminal

2. Identity wallpaper generator
   - overlays hostname, Tailscale IP, Colibri port, FreeBSD release
   - runs on first boot, caches result
   - requires ImageMagick (add to ISO pkg list)

3. Join Hive launcher
   - one-click agent registration in visible terminal
   - checks daemon → vault creds → detect capabilities → register
   - idempotent, safe to re-run
   - pauses on result so operator reads before closing

All three scripts + skill.md + desktop entry in skills/iso-visuals/.
2026-06-20 10:56:54 +02:00
c62bbd3d7e feat(mother): draft genesis skill — join-the-hive sequence
- Resolve identity: hostname, OS, capability probe
- Verify vault: .env exists + contains API key
- Register agent: idempotent, safe to re-run
- Heartbeat + poll loop: stay alive on the board

Platform-specific paths for FreeBSD jail vs Linux
container, security invariant documented, cross-linked
with HIVE-ONBOARDING and CAPABILITY-ROUTING.
2026-06-19 21:48:48 +02:00
a5139b5f7f security(docs): mask Tailscale IPs + bot handles behind fleet.env
Real tailnet IPs and Telegram bot handles were being committed in docs/
memories/skills. Scrubbed all tracked markdown to ${VAR} placeholders; real
values now live in fleet.env (gitignored) and stay live via 'tailscale status'.

- add fleet.env.example (committed) + fleet.env (gitignored); .gitignore *.env
- AGENTS.md + HOST-MATRIX: masking convention so it can't recur
- also: domedog registered as Colibri agent (image-render/ffmpeg/build lane);
  correct CAPABILITY-ROUTING example to real registered caps (domedog headless)

Past commits not rewritten (history moves to Codeberg at v1.0); this fixes HEAD.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 18:19:32 +02:00
04c65e73bc docs(toolchain): record clean Python 3.12 FreeBSD baseline (Sam & Pi) 2026-06-17 14:57:36 +02:00
Sam & Claude
a8926d47ba docs(polish): prettier formatting, add missing skill to index, fix broken doc reference 2026-06-14 14:19:45 +02:00
61a2b9393e fix(skills): make freebsd-cost-optimization a SKILL.md skill dir
Move skills/freebsd/freebsd-cost-optimization.md to
skills/freebsd-cost-optimization/SKILL.md so the Colibri importer (skills/**/SKILL.md)
picks it up. Import smoke now loads 10 skills.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 02:26:36 +02:00
4d8ce07fa7 docs: apply Prettier to current markdown (Sam & Codex)
Normalize markdown formatting after the latest main updates.\n\nChecks: python3 scripts/layered_soul.py validate .; npx --yes prettier@3 --check '**/*.md'; git diff --check.
2026-06-14 01:48:32 +02:00
5c5df32101 Populate layered-soul: identity, memories, skills, plan (Hermes & Sam)
- SOUL.md: full agent identity, operating principles, voice
- IDENTITY.md: runtime identity, hosts, boundaries
- USER.md: operator context imported from hermes-soul
- AGENTS.md: actual operating rules, infrastructure, quick reference
- memories/curated/: 5 topics (tailscale, forgejo, agents, projects, vaultwarden)
- skills/: 9 cross-harness skills imported from hermes-soul after review
- docs/PLAN-CONFIGURE-PRIVATE-REPO.md: configuration plan
- Validate: passes clean
2026-06-14 00:21:26 +02:00
062f13a393 docs: correct FreeBSD cost mode skill details (Sam & Codex)
Align the Layered Soul FreeBSD cost optimization skill with Colibri's implemented byte/turn thresholds and current runtime control surfaces.\n\nChecks: python3 scripts/layered_soul.py validate .; prettier --check docs/skills/adapters; json.tool manifest examples; git diff --check; Colibri import-layered-soul smoke
2026-06-13 23:41:33 +02:00
e5397b7122 feat: add freebsd-cost-optimization skill (Sam & Claude) 2026-06-13 23:38:06 +02:00
8f975da8c3 Initial Layered Soul contract (Sam & Codex)
Creates the cross-harness Layered Soul repository skeleton while keeping hermes-soul as the Hermes-native Debby Linux backup.\n\nChecks: npx --yes prettier@3 --write touched docs/manifests
2026-06-13 14:50:54 +02:00