Commit graph

160 commits

Author SHA1 Message Date
c8bda023ac fix(sl): agentska oprema → agentska vprega, re-enable /sl/ routes
- agent-harness.md: "oprema" → "vprega" (harness, as in ox harness)
  Title: "Agentska vprega: zot + Colibri"
  Content: "Privzeta vprega OOTB je zot"
- index.md: updated table description
- sl/[...slug].astro + sl/index.astro: new dynamic routes for SL wiki pages
- Deployed: 68 pages live (23 EN + 23 SL + 2 indexes)
2026-06-26 12:30:48 +02:00
dc752d6ad3 docs(sl): fix quality-gates — vrata→preverjanje, krajevni→lokalni
"Vrata" is a correct translation for TCP/network ports, but wrong for
software quality gates. Changes:

quality-gates.md — rewritten: "kakovostno preverjanje" not "kakovostna vrata"
  vrata → preverjanje (gate → verification)
  krajevna → lokalno (local)
  kljuka → kavelj (door handle → git hook)
  padejo → spodleti (falls → fails)

Scattered fixes in 5 other files:
  cost-model.md, index.md, mother-hive.md, naming-decisions.md,
  store-schema.md — vrata → preverjanje/dovoljenja
  external-mcp.md — vrata → dovoljenja (permissions)

Kept: "vrata" for TCP ports (correct), "vhodna vrata" for front-door
metaphor (works in Slovenian), "vrata za poslušanje" for listening port.

Also fixed: frontmatter quoting for YAML (nested quotes, colons).
2026-06-26 12:04:37 +02:00
856e2a5822 feat(wiki): minimal Astro site for wiki.clawdie.si
Plain Astro — no Starlight. Five files:
  - package.json (astro only, v0.12.0)
  - astro.config.mjs (wiki.clawdie.si, static output)
  - src/pages/index.astro (flat list of all decision pages)
  - src/pages/[...slug].astro (dynamic route: reads docs/wiki/*.md)
  - build-wiki.sh (npm ci + astro build)

Design decisions:
  - No Starlight — 23 pages, rarely changing, primary audience is LLMs
  - Dynamic routes — add a .md to docs/wiki/, it automatically gets a page
  - Markdown rendered at build time (frontmatter, tables, code blocks, links)
  - Wiki links [label](./page.md) auto-resolve to [/page/]
  - Dark mode via prefers-color-scheme, no JS

Guide keeps Starlight (structured sidebar, human operators).
Wiki gets plain Astro (flat list, agent audience).

See: docs/PLAN-WIKI-CLAWDIE-SI.md
2026-06-26 11:31:23 +02:00
4edf01de25 docs(sl): add 23 Slovenian terminology mappings to glossary
Some checks are pending
CI / rust (pull_request) Waiting to run
CI / markdown (pull_request) Waiting to run
CI / port (pull_request) Waiting to run
CI / agent-jail-pkgs (pull_request) Waiting to run
New Izrazoslovje section — English concept → Slovenian name mapping:
  jail/ječa, warden/paznik, confinement/zaprtost, prisoner/zapornik,
  cell/celica, hive/panj, mother/matično vozlišče, node/vozlišče,
  glasspane/steklena plošča, spawn/(samodejni) zagon, seed/seme,
  vault/trezor, tenant/najemnik, skill/veščina, snapshot/posnetek,
  rollback/povratek, harvest/žetev, bridge/most, daemon/ozadnji proces,
  board/tabla nalog, scheduler/razporejevalnik, Bastille (trdnjava),
  jailed/zaprt v ječi.

Cross-links added from existing ZFS, PF, and UI entries.
Total anchors: 38 (15 abbreviations + 23 terminology).
2026-06-26 11:19:00 +02:00
49c69537ae docs(guide): trim install Scope paragraph to one-liner
Match the lean SL style: one terse sentence, no legacy narration.
"clawdie provisions the host service. Jail, DB, CMS, and Git
provisioning are not yet in the installer."
2026-06-26 11:13:12 +02:00
4a3f3ee2cd docs(sl): translate wiki group 3 — runtime-inventory, jail-confinement, skills-catalog, vault-provision, agent-events-reference, external-mcp
Some checks are pending
CI / rust (pull_request) Waiting to run
CI / markdown (pull_request) Waiting to run
CI / port (pull_request) Waiting to run
CI / agent-jail-pkgs (pull_request) Waiting to run
Completes Slovenian wiki translation: all 23 pages now have sl/ mirrors.
2026-06-26 11:08:11 +02:00
4543f24354 docs(sl): translate wiki group 2 — deployment, operator-cli, terminal, tui, headroom-sidecar 2026-06-26 11:08:11 +02:00
250d48c860 docs(sl): translate wiki group 1 — glasspane, agent-harness, naming, quality-gates, store-schema 2026-06-26 11:08:11 +02:00
Sam & Claude
5b22ad28d0 docs(sl): install pages use clawdie flow (drop just install)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 11:05:30 +02:00
625c235972 docs(sl): translate wiki batch 1 — 7 core pages
- mother-hive (matični hive): forced-command SSH, single home,
  peer auth, key-on-seed, daemon user
- task-board (tabla opravil): capability scoring, cron/interval/once,
  intake drain, SQLite backing
- operator-attention (operaterska pozornost): attention bar,
  jump/filter keys, edge-triggered alerts, NO_COLOR pitfall
- contracts (JSON pogodbe): stable schemas, golden tests,
  evolution rules
- cost-model (model stroškov): cache-hit metering, fast/smart/max,
  T14 compaction, DeepSeek probe
- layered-soul (plastovita duša): import path, deferred stores,
  one-way direction
- index (wiki kazalo): conventions, lint workflow, full page table

Commands/JSON/code paths kept in English; prose + frontmatter
translated.
2026-06-26 10:52:57 +02:00
a3048cdef2 docs(sl): add glossary of abbreviations + link from all pages
Some checks are pending
CI / rust (pull_request) Waiting to run
CI / markdown (pull_request) Waiting to run
CI / port (pull_request) Waiting to run
CI / agent-jail-pkgs (pull_request) Waiting to run
- New page: docs/guide/sl/reference/okrajsave.md (15 abbreviations
  explained in plain Slovenian — LLM, JSON, JSONL, ACL, PF, NAT,
  ZFS, API, HTTPS, TCP, SHA, BCP, ISO, UI, VPS)
- Linked from reference index
- First occurrence of each abbreviation in every Slovenian page
  now links to the glossary
- Fix broken ./install/ link (English + Slovenian)
- requirements title: 'Zahteve' → 'Osnovne zahteve'
- prettier-clean
2026-06-26 10:34:47 +02:00
Sam & Claude
5e2692c063 docs(guide): add Control-Plane Bridge architecture page
Some checks are pending
CI / rust (pull_request) Waiting to run
CI / markdown (pull_request) Waiting to run
CI / port (pull_request) Waiting to run
CI / agent-jail-pkgs (pull_request) Waiting to run
Document the cross-host control-plane bridge (socat TCP on tailscale0 →
colibri-daemon Unix socket): FreeBSD rc.d vs Linux systemd parity, the
interface-scoped firewall gate (pf / ufw), the "tailnet boundary is the auth"
security model (no socket auth; scope :9190 via Tailscale ACL), and config
notes (TAILSCALE_IP_REQUIRED placeholder, socket-path parity, 0770 group).
Points at packaging/{freebsd,linux}/ for install. Linked from the architecture
index next to Control Plane. No real tailnet IPs (placeholders only).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 09:33:53 +02:00
Sam & Claude
7ae22097e1 docs(guide): add Terminal Capture & Signature Triage operate page
Some checks are pending
CI / rust (pull_request) Waiting to run
CI / markdown (pull_request) Waiting to run
CI / port (pull_request) Waiting to run
CI / agent-jail-pkgs (pull_request) Waiting to run
The terminal-capture / signature-triage layer (colibri-glasspane terminal.rs
+ signatures.rs, driven by the daemon poll loop) had no guide coverage. Document
it: content-hash dedup history, edge-triggered signature alerts, per-OS
signature sets, the COLIBRI_TERMINAL_* / TELEGRAM_* config, and the
terminal-watch/unwatch/list/history/poll socket commands. Linked from the
operate index.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 09:31:04 +02:00
95c487546d docs(guide): port 39 procedural docs from clawdie-ai to colibri
Some checks are pending
CI / rust (pull_request) Waiting to run
CI / markdown (pull_request) Waiting to run
CI / port (pull_request) Waiting to run
CI / agent-jail-pkgs (pull_request) Waiting to run
New docs/guide/ tree — canonical home for operator-facing procedural docs.
Starlight frontmatter added to all files. 0.12 alignment fixes applied:

- v0.11.0 → v0.12.0 throughout
- PI_TUI_PROVIDER/MODEL → DEEPSEEK_API_KEY
- Headless Codex login → Agent runtime setup (zot + RPC mode)
- /login and auth.json references removed
- pi → zot in provider-fallback spawn reference
- colibri-provider-verify (was pi-provider-smoke)
- Language cleanup: smoke test → verification, fake → test,
  can't self-fix → requires operator intervention,
  broken → unresponsive, Fix anything broken → Verify all checks pass

Two-tree model: docs/wiki/ (decisions) + docs/guide/ (procedural).
Single source of truth in colibri. clawdie-ai docs/public/ to be retired.
2026-06-26 09:16:43 +02:00
4e509c3e37 docs(plan): refresh MULTI-AGENT-HOST-PLAN for current state
Phase 3 schema landed (PR #204) — columns exist, wiring pending.
Bridge IP scrubbed, health/status unscrambled. Linux packaging
added (PR #203). Firewall rules live (pf OSA + ufw domedog).
Gap 4 (claim_task atomicity) marked closed. Test count: 256.

Accurate status: Phase 3 is schema-in/logic-pending (not 'deferred'
and not 'done'). Heartbeat/lease/TTL remain open.
2026-06-26 01:49:46 +02:00
4935cd3000 docs(wiki): add pi end-to-end proof to agent-harness
Some checks failed
CI / agent-jail-pkgs (pull_request) Has been cancelled
CI / rust (pull_request) Has been cancelled
CI / markdown (pull_request) Has been cancelled
CI / port (pull_request) Has been cancelled
agent-harness.md listed only zot's end-to-end proof (zot_rpc_smoke.rs,
ignored, ZOT_BIN-gated). pi now has better default CI coverage via
pi_spawn_live.rs (unignored, runs every test run), plus the new
default_agent_args unit tests proving the autospawn argv contract.

Also moves the autospawn argv reference into its own bullet for clarity.
2026-06-25 23:40:41 +02:00
934d1123a5 docs(wiki): remove remaining stale references — 'fake', AUTOSPAWN_PI
- index.md: 'fake → sample' → 'legacy rename to sample'
- mother-hive.md: 'AUTOSPAWN_PI → AUTOSPAWN' → 'autospawn flag rename'
- Verified: zero 'fake' references in repo
2026-06-25 23:40:23 +02:00
d8060e504b chore: remove all 'fake-pi-agent' references — code, linter, docs
- naming-decisions.md: rephrase row, no longer references old filename
- wiki-lint: remove allowlist entry + guard block (rename is done)
- Verified: zero 'fake' references remaining in repo
2026-06-25 23:40:23 +02:00
d267a4bcb2 docs(wiki): polish terminal + operator-attention pages
- terminal.md: pi→zot,pi order (zot is default agent), 'pi harness'→'agent harness (zot, pi)',
  add pkg install kitty (x11/kitty 0.47.4)
- operator-attention.md: document NO_COLOR pitfall (Hermes leak→force_color_output fix),
  note dual-view (header+bar) as future enhancement
- glasspane.md: link terminal capture + signature triage from see-also

(Sam & Claude)
2026-06-25 23:40:23 +02:00
Sam & Claude
20b65f9577 docs(wiki): add terminal + operator-attention pages, fix glasspane drift
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
Two new decisions captured, one page corrected:

terminal.md — the terminal-capability decision. Why colibri-tui and the agents
it supervises need modified-key reporting (Tab vs Shift-Tab, n vs N, Enter),
why the choice fell on Kitty, the tmux extended-keys + csi-u passthrough for
the in-tmux workflow, raw-vs-tmux distinction, the SSH xterm-kitty terminfo
gotcha, and pi's identical requirement. The decision is about capability;
Kitty is the instance.

operator-attention.md — the shipped attention system as one decision. Attention
as a derived view over the state machine (not a sixth variant), the TUI
bar/jump/filter/row-highlight, and the #193 terminal-capture + signature-triage
+ edge-triggered alerts. Records the has_attention session-filter bug and fix.
Lists what is still open (outbound push, answer-from-dashboard).

glasspane.md — corrected drift. The real AgentState enum is {Idle, Working,
Blocked, Done, Error}; Stalled is a derived flag, not a variant (the page's
diagram omitted Blocked and listed Stalled as a variant). The "Usability
roadmap (TODO)" listed the attention half as not-yet-built; it shipped via
#191/#193, so those items move to operator-attention.md and the roadmap keeps
only the genuinely-unbuilt direction.

index.md — two table rows (also satisfies the orphan-page check).

Verified: prettier-clean on all 4 files; wiki-lint --strict clean (144 pass /
0 fail, up from 137); no dangling refs, no orphans, no resurrected names.

(Sam & Claude)
2026-06-25 22:50:19 +02:00
e953b1c050 Merge pull request 'docs: concrete attention system design for colibri-tui' (#189) from docs/tui-attention-plan into main
Some checks are pending
CI / port (push) Waiting to run
CI / rust (push) Waiting to run
CI / markdown (push) Waiting to run
CI / agent-jail-pkgs (push) Waiting to run
Reviewed-on: #189
2026-06-25 18:44:25 +02:00
95bf3f396d fix(store): atomic+exclusive claim_task — close Gap 4 concurrency guard (#190)
Some checks are pending
CI / rust (push) Waiting to run
CI / markdown (push) Waiting to run
CI / port (push) Waiting to run
CI / agent-jail-pkgs (push) Waiting to run
Co-authored-by: Sam & Claude <hello@clawdie.si>
Co-committed-by: Sam & Claude <hello@clawdie.si>
2026-06-25 17:33:15 +02:00
Sam & Claude
0ac07a864c docs: add concrete attention system design to TUI enhancements
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
Resolved decisions from brainstorm (Sam & Claude):
- needs_attention = Error + Blocked + Stalled (free function on &Pane)
- Stall threshold stays at 4h (Stalled is rare/critical, not frequent)
- Attention bar replaces header when active (same 3-line footprint)
- Row highlight inverts on selection (red bg → bright red fg on DarkGray)
- Filter composes with session filter (AND), not replaces

Implementation plan: 4 tiers in main.rs (~100-120 lines added):
  T1: needs_attention() + attention bar (replaces header)
  T2: n/N jump keys
  T3: a key attention filter
  T4: per-row highlight (invert on selection)
  T5: answer-from-dashboard (separate PR)

Also documents pre-existing 'All sessions' unreachable bug.
2026-06-25 17:18:13 +02:00
c1ae24d5ce docs(glasspane): operator-attention usability roadmap + TUI-enhancements working doc (#188)
Some checks are pending
CI / rust (push) Waiting to run
CI / markdown (push) Waiting to run
CI / port (push) Waiting to run
CI / agent-jail-pkgs (push) Waiting to run
Co-authored-by: Sam & Claude <hello@clawdie.si>
Co-committed-by: Sam & Claude <hello@clawdie.si>
2026-06-25 16:59:05 +02:00
6078c3f28f docs: refresh MULTI-AGENT-HOST-PLAN for 0.12.0 — mark phases 1+2 complete (#187)
Some checks are pending
CI / rust (push) Waiting to run
CI / markdown (push) Waiting to run
CI / port (push) Waiting to run
CI / agent-jail-pkgs (push) Waiting to run
Co-authored-by: Sam & Claude <hello@clawdie.si>
Co-committed-by: Sam & Claude <hello@clawdie.si>
2026-06-25 16:58:35 +02:00
47504cd05d docs(handoff): fix artifact list, add node+npm requirement
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
- §2: list colibri-mcp instead of colibri-test-agent (matches preflight at
  build.sh:335 — test-agent is optional, gated by COLIBRI_STAGE_TEST_AGENT)
- §3: name the specific binaries preflight checks
- Notes: add Node.js (npm) to host toolchain requirements — build_and_stage_docs
  needs node+npm, and the handoff should match REQUIREMENTS.md
2026-06-24 19:42:33 +02:00
382b4a9188 mother: preflight python3, document prereqs, route from build 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
Three reinforcing changes so the next agent's mother setup lands instead
of failing late:

- setup-mother.sh: fail-fast preflight for python3 (geodesic-dome-mcp is a
  python3 script that otherwise installs fine and fails only when invoked).
- MOTHER-SETUP.md: new Prerequisites section — python3 on PATH, and the
  COLIBRI_AUTOSPAWN_RPC_PROMPT boot decision (set = auto-spawn agent on
  boot; unset = quiet token-free boot).
- FREEBSD-BUILD-LANE-HANDOFF.md: pointer to MOTHER-SETUP.md/setup-mother.sh
  so the mother docs are discoverable from the build-lane entry point.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 19:24:30 +02:00
2075b65c94 docs: pin zot agent to v0.2.47 in FreeBSD build-lane 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
The handoff named v0.2.29 while clawdie-iso build.sh preflight defaulted
to v0.2.42. Pin to the current latest zot tag (v0.2.47) so the agent
builds the intended version and all references agree.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 19:11:24 +02:00
Sam & Claude
5896a4ddcd docs: move reference docs into wiki (agent-events, headroom, layered-soul) 2026-06-24 17:32:13 +02:00
524ccbff40 docs: delete 3 stale docs; repoint refs to successor
Some checks failed
CI / markdown (pull_request) Has been cancelled
CI / port (pull_request) Has been cancelled
CI / agent-jail-pkgs (pull_request) Has been cancelled
CI / rust (pull_request) Has been cancelled
Remove genuinely-stale docs (decision/evidence now elsewhere):
- TRUSS-SPAWN-ANALYSIS.md — debug trace of a jail-spawn bug that was fixed
- PLAN-MOTHER-MCP-VAULT-KEYS.md — planned a vaultwarden-pubkey exchange; the
  shipped mother MCP is seed-based (wiki/mother-hive + MOTHER-SETUP)
- PRIORITY-HANDOFF-ISO-SPAWN-COST.md — self-superseded by MULTI-AGENT-HOST-PLAN

Repointed referrers (README, AGENTS, FREEBSD-BUILD-LANE-HANDOFF, docs/README)
to MULTI-AGENT-HOST-PLAN. Fixed the wiki ADR note (the stale 'referenced in
stage-colibri-iso.sh' claim — those refs were already cleaned up).

KEPT the two design docs (COLIBRI-JAILED-AGENT-SPAWN-DESIGN,
COLIBRI-EXTERNAL-MCP-PROTOTYPE): on closer look they hold how-it-works detail
the wiki only summarizes + links, so folding would lose detail or bloat the wiki.

Gates: wiki-lint --strict (131) + markdown format clean.
2026-06-24 16:58:49 +02:00
86d3f92efe Merge pull request 'docs(wiki): add 9 subsystem pages (rebuilt on current main)' (#174) from wiki-expansion-rebased into main
Some checks are pending
CI / port (push) Waiting to run
CI / agent-jail-pkgs (push) Waiting to run
CI / rust (push) Waiting to run
CI / markdown (push) Waiting to run
2026-06-24 16:49:05 +02:00
f581433b29 docs(wiki): add 9 subsystem pages (rebuilt on current main)
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
Brings the wiki-expansion pages onto current main WITHOUT the stale baggage the
original feature/wiki-expansion branch carried (it predated the rename + date
PRs and would have reverted them). Cherry-picked only the 9 genuinely-new pages:
contracts, store-schema, external-mcp, operator-cli, tui, runtime-inventory,
skills-catalog, vault-provision, deployment. Added them to index.md.

Fixed on the way in: vault-provision referenced the pre-rename
VAULT-PROVISION-FIRST-PROOF → repointed to VAULT-PROVISION-RUNBOOK. (No US dates
in these pages.)

Gates: wiki-lint --strict clean (131 pass); markdown format clean.
2026-06-24 16:48:49 +02:00
b233aa8d9e docs: normalize prose dates to DD.mon.YYYY (AGENTS.md rule)
Some checks failed
CI / agent-jail-pkgs (pull_request) Has been cancelled
CI / rust (pull_request) Has been cancelled
CI / markdown (pull_request) Has been cancelled
CI / port (pull_request) Has been cancelled
Convert US/ISO prose dates (2026-06-21) to EU format (21.jun.2026) across colibri
docs + wiki. Left as-is (data, not prose): the captured JSON "time" timestamp in
AGENT-EVENTS-REFERENCE and the rustc/cargo version strings in
CLAWDIE-INSTALLER-HANDOFF — ISO is correct for machine timestamps/filenames.

Gates: wiki-lint --strict clean; markdown format clean.
2026-06-24 16:43:41 +02:00
064079e3fc docs: harness-agnostic + plainer doc names; codify naming principle
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
- ZOT-RPC-TRANSCRIPT.md → AGENT-EVENTS-REFERENCE.md: neutral, per-harness event
  reference (currently documents zot; pi uses pi --mode json). Avoids baking the
  current default harness into a name — same lesson as the pi_* renames. Adds a
  'Developer reference — operators can skip' header.
- VAULT-PROVISION-FIRST-PROOF.md → VAULT-PROVISION-RUNBOOK.md: it's a runbook;
  'first-proof' was redundant.
- Updated referrers: spawner.rs, wiki/agent-harness.md, docs/README.md.
- wiki/naming-decisions.md: new 'Naming principle — harness-agnostic by default'
  section (neutral concept → neutral name + configurable value; harness-specific
  → harness in the name, kept symmetric zot_/pi_).
- Fixed US/ISO prose dates → DD.mon.YYYY (21.jun.2026) per AGENTS.md; left the
  literal JSON "time" timestamps in the captured transcript as-is (data).

Gates: wiki-lint --strict clean; markdown format clean.
2026-06-24 16:33:40 +02:00
c111de0f3d feat(hooks): install-hooks.sh — one-command hook activation 2026-06-24 14:09:59 +02:00
32de49a4e0 docs(wiki): cross-link cost-model → task-board
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-24 13:47:14 +02:00
ace863d3eb feat(wiki): expand to full coverage — cost-model, glasspane, task-board, jail-confinement
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
Adds four wiki pages, one per major architectural subsystem:

- cost-model: byte-stable prefixes, cache-hit metering, three cost modes,
  auto-escalation, T14 compaction, DeepSeek cache-hit probe
- glasspane: agent state machine, JSONL streaming, AgentRuntime taxonomy,
  snapshot API, pane reader loop
- task-board: capability match scoring, cron/interval/once schedule types,
  intake drain, SQLite backing
- jail-confinement: persistent vs ephemeral jails, priv-mode policy,
  reuse of spawner confinement for MCP servers

Updates index.md: removes "pilot" framing, updates lint section to reflect
the shipped wiki-lint, adds all four pages to the table.

wiki-lint --strict: clean (70 PASS, 0 FAIL).
2026-06-24 13:37:31 +02:00
4f5876a7ea feat(wiki): mother-hive decisions page + strict lint gate + pre-push hook
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
- New docs/wiki/mother-hive.md — thin decisions page covering forced-command
  SSH boundary, single-home-in-colibri, hive_nodes rationale, peer auth,
  key-on-seed, and daemon-user design. Links to MOTHER-SETUP.md for setup
  instructions; never duplicates them.
- Flip wiki-lint to --strict in ci-checks.sh — drift failures now block the
  gate the same as clippy warnings. 42 PASS / 0 FAIL, clean since merge.
- New scripts/pre-push — runs ci-checks.sh on every git push to main. Install
  once: ln -sf ../../scripts/pre-push .git/hooks/pre-push. Bypass only with
  --no-verify. Closes the gap that let pi_binary reach main (gate existed but
  nobody was forced through it).
- Updated AGENTS.md, quality-gates.md, and index.md to reflect all three.
2026-06-24 13:26:57 +02:00
7bc9483156 refactor(glasspane): pi_type → event_type; close out wiki residue
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
Residue item #1: rename the pi-era `pi_type` field/param to `event_type` in
colibri-glasspane. It names the normalized event-type string (zot events map
onto the same taxonomy), so the harness-neutral name is correct. Internal only
— PiStreamUpdate is not serialized — so no wire impact.

Wiki ledger updated:
- pi_type → event_type added to Shipped (now enforced by wiki-lint).
- Residue items resolved and recorded under Structural decisions:
  - FEATURE_COLIBRI is an internal build-time escape hatch, not a user-facing
    flag — README clarified (clawdie-iso #130).
  - clawdie-gui is the stable operator command; clawdie-startx retained as a
    back-compat alias (both installed) — verified intentional, not drift.
- Known residue now down to the dangling ADR reference only.

Verified: ci-checks.sh green (fmt/clippy/test/markdown); wiki-lint --strict clean.
2026-06-24 10:44:15 +02:00
9947da9edc fix(wiki-lint): make check 2 actually work + parse ledger
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
The 'resurrected old names' check was non-functional: it ran in a pipeline
subshell (fail/pass counts and --strict exit were lost), accumulated hit files
with literal \\n (so the per-file filter never matched), and hardcoded the old
names — already stale (missing usb_nodes, the rename that motivated this).
Planting hermes-agent + usb_nodes + COLIBRI_AUTOSPAWN_PI in a source file
passed clean under --strict.

Rewrite:
- Parse old names from the Shipped table of naming-decisions.md (self-updating;
  no hardcoded list to rot).
- Loop in the main shell (read from a file) so counters and --strict propagate.
- xargs grep -nHF across the file list; filter legit contexts case-insensitively
  (migration/rename/back-compat/alias/changelog) so the serde alias and the
  setup-mother migration code don't false-positive.
- Move usb_nodes → hive_nodes from In-flight to Shipped (colibri #161 merged) so
  it is now enforced.

Verified: clean run exits 0 (PASS 37); planting hermes-agent/usb_nodes/
COLIBRI_AUTOSPAWN_PI now FAILs and --strict exits 1. Fixed a serde-alias
false-positive (multi-line attribute). sh -n + markdown gate green.
2026-06-24 10:35:39 +02:00
ddc0780d66 docs(wiki): ledger entry — single home for mother infra (colibri)
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
Records the dedup decision + the cross-repo drift lesson (an injectable
node-register-mcp copy reached iso main). The kind of regression a lint pass
should catch.
2026-06-24 10:14:08 +02:00
5b5058cff4 docs(wiki): LLM-Wiki pilot — decisions/architecture knowledge base
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
Pilot step 1 of the Karpathy LLM-Wiki pattern, scoped to decision-dense areas:
an agent-maintained docs/wiki/ that records WHAT was decided and links to WHERE
it lives in code (code stays the source of truth; pages link, don't duplicate).

Pages:
- index.md       — purpose, conventions (the 'schema'), lint workflow, catalog
- agent-harness  — zot (agent) + Colibri (control plane); autospawn + RPC driver
- naming-decisions — ledger of harness-neutral/architecture renames (shipped,
                   in-flight, and known residue) — the drift tracker
- quality-gates  — ci-checks.sh as the pre-merge gate; why drift reached main

Intent: make the 'lingering old decision' bookkeeping near-zero-cost and
lintable. Lint tool itself (advisory, flag-don't-rewrite) is the next pilot step.
Already records real open drift (e.g. the dangling ADR reference).

Markdown gate green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 09:58:51 +02:00
daed5db908 test: rename 'fake' test agent → 'sample' (lighter, less loaded)
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
'fake' carries a broad/negative association. Rename the test-double agent and
all its references to 'sample' (it emits a canned sample of pi-format JSONL):

- scripts/fake-pi-agent.py → scripts/sample-pi-agent.py (git mv, mode kept)
- pi_spawn_live.rs: sample-pi-agent.py, pane label 'sample-pi'
- socket.rs: fn sample_agent_stdout_stream_updates_glasspane, labels, 'pi-sample'
- live_socket_check.rs: sample_agent; colibri.rs: /tmp/sample-agent
- glasspane/spawner doc comments: 'sample JSONL readers'
- docs (ISO-SERVICE-LAYOUT, PRIORITY-HANDOFF, ISO-ACCEPTANCE-RUNBOOK)

Pure rename; no behavior change. ./scripts/ci-checks.sh green.
Stacks on #158.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 18:19:49 +02:00
a2f6599335 fix(glasspane): skip duplicate zot tool_call events (Sam & Pi)
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
Treat zot tool_use_start as the canonical tool_execution_start event and skip the later standalone tool_call so Glasspane does not double-fire tool starts. Update the real-key transcript notes to mark the double-fire issue resolved.\n\nValidation: ./scripts/check-format.sh; cargo fmt --check; cargo test -p colibri-glasspane; cargo test -p colibri-daemon glasspane -- --nocapture; cargo test -p colibri-daemon pi_spawn_path_produces_correct_glasspane_state -- --nocapture; cargo clippy -p colibri-glasspane -p colibri-daemon --all-targets -- -D warnings.
2026-06-22 06:01:48 +02:00
a778145925 docs(zot-rpc): prettier table realignment
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
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:06:27 +02:00
289a203016 docs(zot-rpc): correct the tool_call double-fire claim to match the transcript
The raw stdout shows only tool_use_* + tool_progress + tool_result for the tool
cycle — no standalone {"type":"tool_call"} line. Downgrade the double-fire
note from a 'verified fact' to an open question, and mark the tool_call table
row as mapped-but-not-observed. Keeps the doc's 'observed, not inferred'
section honest. 14/15 types remain validated against real output.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:06:11 +02:00
07ff4d3b1f docs: real-key zot rpc transcript — all 15 event types confirmed
Step 1 of colibri#143 complete. Complete tool call cycle captured
with valid DEEPSEEK_API_KEY: 61 lines, 2 turns, 1 bash tool call.

All 15 event types observed and mapped — no glasspane gaps.
Notable: tool_call and tool_use_start both map to tool_execution_start
(double-fire on real runs). Verified facts replace 'name matches source.'

Full raw transcript at /tmp/zot_transcript_full.txt (OSA).
2026-06-21 23:00:51 +02:00
6b71025772 docs: prettier-format PLAN-MOTHER-MCP-VAULT-KEYS table alignment
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
Pre-existing gate offender (PR #141 slipped check-format.sh). Table-alignment
whitespace only, no content change. Restores a green ./scripts/check-format.sh.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 22:47:45 +02:00
1242c52360 docs(zot-rpc): backtick event identifiers in the verdict
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
The bare underscored names (tool_call, tool_use_*, text_delta, assistant_*)
were read as markdown emphasis and mangled by prettier; wrap them in code
spans so they render literally and stay prettier-immune.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 22:46:07 +02:00
6b9222c746 docs: zot rpc transcript — wire format confirmed for glasspane
Step 1 of colibri#143. Captured with zot rpc --provider deepseek.
Wire format: bare event objects (no JSON-RPC envelope), matches
glasspane's zot_event_type parser. All 6 observed types mapped.
Remaining types (tool_call, text_delta, etc.) need a live API key
but type names match zot source.

Verdict: glasspane parser is correct. Steps 2-3 unblocked.
2026-06-21 22:41:34 +02:00