chore/merge-all-uncommitted #235

Merged
clawdie merged 13 commits from chore/merge-all-uncommitted into main 2026-06-27 18:11:51 +02:00

13 commits

Author SHA1 Message Date
de574aaec1 merge: feat/dashboard-screenshot-proof — daemon screenshot capture + HANDOFF
Some checks failed
CI / rust (pull_request) Has been cancelled
CI / markdown (pull_request) Has been cancelled
CI / port (pull_request) Has been cancelled
CI / agent-jail-pkgs (pull_request) Has been cancelled
2026-06-27 18:07:35 +02:00
cbdba3168a merge: feat/cost-dashboard-step3 — dashboard HTML + schema + wiki 2026-06-27 18:07:22 +02:00
586dc48985 Merge remote-tracking branch 'origin/feat/layer2-mcp-wiki' into chore/merge-all-uncommitted 2026-06-27 18:06:44 +02:00
bf1c03aa89 Merge remote-tracking branch 'origin/feat/infrastructure-mcp-tools' into chore/merge-all-uncommitted 2026-06-27 18:06:38 +02:00
663a0711a7 merge: docs/sl-wiki-cross-links — hive-routing + a2a-audit links 2026-06-27 18:06:35 +02:00
Sam & Claude
e1fd602f33 docs(wiki): add sl/ cross-links for hive-routing + a2a-complexity-audit (Sam & Claude) 2026-06-27 17:57:24 +02:00
Sam & Claude
8a80ff8da5 style: restore main green — fmt + prettier drift (Sam & Claude) 2026-06-27 17:19:57 +02:00
8882abb42d fix: clippy lint — map_or→is_none_or in wiki tools, unused _line in zfs test 2026-06-27 17:05:56 +02:00
dd45200692 feat: add colibri-zfs, colibri-pf crates + MCP tools + wiki tools
New crates:
- colibri-zfs: Snapshot::list(), destroy(), destroy_all(), older_than()
  Structured ZFS snapshot lifecycle without shell parsing
- colibri-pf: list_rules(), list_states()
  Structured PF firewall state inspection

New MCP tools (6):
- colibri_zfs_list_snapshots: list snapshots for a dataset
- colibri_zfs_destroy_snapshot: destroy a snapshot by name
- colibri_pf_list_rules: active PF firewall rules
- colibri_pf_list_states: PF state table entries
- colibri_wiki_search: search wiki pages with line excerpts
- colibri_wiki_page: read wiki page content in full

Tool count: 12 → 18
2026-06-27 14:49:46 +02:00
44434228f1 feat(mother): cost dashboard — human gallery + agent JSON with screenshot proof
Three new files in packaging/mother/dashboard/:

  index.html (460 lines) — Self-contained cost dashboard:
  - Cost cards with cache-hit bars (green cache / grey fresh)
  - Node-grouped rows with summary stats (task count, cost, success rate)
  - ▸ proof badge on cards with linked tmux-screenshot PNGs
  - Lightbox viewer for terminal screenshots at task completion time
  - JSON toggle for agent-friendly structured data
  - Filters: node, provider, success/failure
  - Dark terminal theme, monospace, responsive
  - Auto-refresh every 60s

  export-costs.sh (75 lines) — PostgreSQL → JSON export:
  - Denormalizes task_costs + hive_nodes into dashboard data file
  - Computes summary (total cost, avg, success rate, cache-hit ratio)
  - Groups by node with per-node stats
  - Limits to 200 most recent tasks

  deploy.sh (45 lines) — Idempotent mother deploy:
  - Copies dashboard files to /usr/local/www/clawdie/dashboard/
  - Installs cron job (every 60s)
  - Runs initial export

  Schema:
  - task_costs.screenshot_uuid column (TEXT, nullable)
  - report-task-cost SSH command updated: node_hostname→node_id lookup,
    screenshot_uuid field, NULLIF for empty strings

  Wiki:
  - cost-dashboard.md — architecture, data sources, deploy flow,
    agent-friendly JSON format, screenshot proof design
  - Index updated (EN)

  184 wiki refs, clean lint, cargo fmt pass.
2026-06-27 14:29:18 +02:00
c1058bdc3c docs: dashboard screenshot proof handoff (Claude + Codex) 2026-06-27 14:23:19 +02:00
16bec1f9c4 feat(dashboard): screenshot_uuid plumbing — schema + daemon + SSH
- task_costs: add screenshot_uuid TEXT column + migration
- daemon push_cost_to_mother: read COLIBRI_TASK_SCREENSHOT_UUID
  env var, attach to payload if set
- colibri-mcp-ssh report-task-cost: INSERT screenshot_uuid
  via NULLIF, accepts missing key gracefully

Sets up the cross-reference between cost rows and tmux-screenshot
captures. No breaking change — UUID is optional everywhere.

Sam & Hermes
2026-06-27 14:22:48 +02:00
426572ec58 fix(mother): report-task-cost resolves hostname→node_id + wiki
- colibri-mcp-ssh: subquery on hive_nodes to resolve
  node_hostname to node_id for FK integrity
- wiki/mother-hive.md: new §Per-task cost aggregation
  documents push vs pull, separate table rationale,
  hostname-not-id decision

Sam & Hermes
2026-06-27 14:08:11 +02:00