Commit graph

452 commits

Author SHA1 Message Date
Sam & Claude
8dfd9281a7 chore: cargo fmt — fix pre-existing violations in store + multi-agent tests
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
Pre-existing fmt violations from PRs #186 and #190:
  - crates/colibri-daemon/tests/multi_agent_board.rs (3 violations)
  - crates/colibri-store/src/lib.rs (1 violation)

No code changes — pure formatting.

(Sam & Claude)
2026-06-25 18:37:33 +02:00
2228b10203 Merge pull request 'feat(tui): glasspane attention tiers 1-4 — bar, jump, filter, row highlight' (#191) from feat/glasspane-attention-tiers into main
Some checks are pending
CI / agent-jail-pkgs (push) Waiting to run
CI / rust (push) Waiting to run
CI / markdown (push) Waiting to run
CI / port (push) Waiting to run
Reviewed-on: #191
2026-06-25 18:34:42 +02:00
c858cde01c feat(tui): glasspane attention tiers 1-4 — bar, jump, filter, row highlight
Some checks failed
CI / port (pull_request) Has been cancelled
CI / agent-jail-pkgs (pull_request) Has been cancelled
CI / rust (pull_request) Has been cancelled
CI / markdown (pull_request) Has been cancelled
needs_attention() = Error + Blocked + Stalled (free function, single
source of truth). Includes Blocked because glasspane doc comments say
Blocked = 'operator attention needed' (queue_update / pending steering).

Tier 1 — Attention bar:
  Red-bordered panel with '⚠ ATTENTION (N)' title replaces the header
  when any pane needs attention. Shows pane id, reason, and agent.

Tier 2 — Jump keys (n/N):
  n = next attention pane, N = previous (wrapping). Respects session
  scope via filtered_panes(). Detail pane follows the jump.

Tier 3 — Attention filter (a key):
  Toggles attention_only on App. Composes with session filter.

Tier 4 — Row highlight:
  Attention rows get red background when unselected, inverted
  dark-gray+light-red+bold when selected. Global row_highlight
  neutralized.

Also:
- fix(tui): remove hardcoded dark-terminal assumptions — theme-agnostic
- fix(tui): force crossterm color output — override NO_COLOR=1 inherited
  from Hermes sessions (crossterm honours no-color.org standard)
2026-06-25 18:33:47 +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
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
7e81819026 test(daemon): multi-agent board — lifecycle, capability routing, contention (#186)
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:21 +02:00
263b8f0b4d Merge pull request 'fix(daemon): gate autospawn on .secured marker when require_secured=YES' (#184) from fix/require-secured-interlock into main
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
Reviewed-on: #184
2026-06-25 07:25:41 +02:00
796070605b fix(daemon): gate autospawn on .secured marker when require_secured=YES
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 colibri_daemon_require_secured knob (default NO). When enabled, the
daemon refuses to autospawn an agent until /var/db/colibri/.secured exists.
This interlock pairs with the clawdie-iso firstboot password gate (#139):
the gate writes .secured after the operator sets passwords, the daemon
reads it to gate autospawn + node_register.

Must run AFTER the provider.env block — otherwise COLIBRI_AUTOSPAWN=YES
from provider.env would override the NO set here. Defaults to NO so
deployed/disk hosts (which never run the firstboot gate) are unaffected.

Paired with: clawdie-iso PR #139 (force-root-password-on-first-boot).
2026-06-25 07:04:59 +02:00
fda555ada9 Merge pull request 'docs(mother): add Python deps + RPC_PROMPT to first-run checklist' (#180) from docs/mother-checklist-update into main
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
Reviewed-on: #180
2026-06-25 05:08:15 +02:00
e77e197e8f Merge pull request 'fix(daemon): pin ZOT_HOME so the autospawned zot reads its AGENTS.md' (#182) from fix/zot-home into main
Some checks are pending
CI / markdown (push) Waiting to run
CI / port (push) Waiting to run
CI / agent-jail-pkgs (push) Waiting to run
CI / rust (push) Waiting to run
Reviewed-on: #182
2026-06-25 05:07:49 +02:00
13a5220615 fix(daemon): export ZOT_HOME so autospawned zot reads the right AGENTS.md
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 rc.d drops privilege via su -m, which preserves the environment from
/etc/rc (HOME=/). Without an explicit ZOT_HOME, zot resolves to
/.local/state/zot — missing any AGENTS.md installed by the seed importer.

Pin ZOT_HOME to /var/db/colibri/.local/state/zot. The seed importer
(clawdie-iso) targets this same path, so AGENTS.md placed on the seed
reaches the autospawned zot's global slot.
2026-06-25 04:27:18 +02:00
a50bc81b4c Merge pull request 'docs(handoff): fix artifact list, add node+npm requirement' (#181) from docs/handoff-fixes into main
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
Reviewed-on: #181
2026-06-24 19:50:55 +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
4c3cca5936 Merge pull request 'mother: preflight numpy/Pillow imports, not just python3' (#179) from mother-geodesic-deps into main
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
Reviewed-on: #179
2026-06-24 19:31:23 +02:00
0021199077 mother: preflight numpy/Pillow imports, not just python3
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
geodesic-dome-mcp imports numpy + PIL at module load (not stdlib-only, as
#178 incorrectly stated). A present python3 therefore proves nothing — the
preflight would pass on a host missing numpy/Pillow and the tool would fail
only when the MCP host first invokes it.

- setup-mother.sh: add a 'python3 -c "import numpy, PIL"' check after the
  python3-exists check, with a pkg install py311-numpy py311-pillow hint.
- MOTHER-SETUP.md: correct the prereq from 'stdlib only, no pip' to
  'python3 + numpy + Pillow'.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 19:30:16 +02:00
656e53baf1 Merge pull request 'mother: preflight python3, document prereqs, route from build handoff' (#178) from mother-setup-prep into main
Some checks are pending
CI / agent-jail-pkgs (push) Waiting to run
CI / port (push) Waiting to run
CI / rust (push) Waiting to run
CI / markdown (push) Waiting to run
Reviewed-on: #178
2026-06-24 19:25:26 +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
8f2f7993ff docs(mother): add Python deps + RPC_PROMPT to first-run checklist
Some checks failed
CI / port (pull_request) Has been cancelled
CI / agent-jail-pkgs (pull_request) Has been cancelled
CI / rust (pull_request) Has been cancelled
CI / markdown (pull_request) Has been cancelled
2026-06-24 19:19:08 +02:00
655b15f2f2 Merge pull request 'docs: pin zot agent to v0.2.47 in FreeBSD build-lane handoff' (#177) from pin-zot-v0.2.47 into main
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
Reviewed-on: #177
2026-06-24 19:13:07 +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
482927fab8 Merge pull request 'docs: fold reference docs into the wiki' (#176) from feature/wiki-expansion 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
Reviewed-on: #176
2026-06-24 17:38:35 +02:00
d01e858744 docs: fix README referrer to moved headroom-sidecar wiki page
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 wiki-expansion move left the top-level README pointing at the old
docs/HEADROOM-SIDECAR.md path. wiki-lint only scans docs/wiki, so this
slipped through; repoint to docs/wiki/headroom-sidecar.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 17:34:42 +02:00
Sam & Claude
5896a4ddcd docs: move reference docs into wiki (agent-events, headroom, layered-soul) 2026-06-24 17:32:13 +02:00
28af7ecc75 Merge pull request 'docs: delete 3 stale docs (TRUSS, PLAN-MOTHER-MCP, PRIORITY-HANDOFF)' (#175) from cleanup-stale-docs into main
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
2026-06-24 16:59:05 +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
dfaeb0025d Merge pull request 'docs: normalize prose dates to DD.mon.YYYY (colibri)' (#173) from dates-eu-sweep into main
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
2026-06-24 16:45:28 +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
5d646b1f2c Merge pull request 'docs: harness-agnostic doc names + naming principle in wiki' (#172) from docs-rename-neutral into main
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
2026-06-24 16:39:57 +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
ffa588d785 Merge pull request 'test(tui): TestBackend render tests for colibri-tui dashboard' (#171) from test/tui-render-backend into main
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
2026-06-24 14:46:03 +02:00
57e3f30f9c test(tui): add stalled-pane + tiny-terminal render tests
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 more TestBackend render tests on top of the connecting/populated/empty set:
- render_stalled_pane_shows_warning_icon — covers the distinct stalled branch
  (state_icon → ⚠), which the healthy-Working test (●) didn't exercise.
- render_does_not_panic_on_tiny_terminal — renders at 20x5 to guard against
  cramped-layout panics (a classic ratatui footgun).

10 tests pass; fmt clean.
2026-06-24 14:45:30 +02:00
ac0a77c82c force hook run 2026-06-24 14:29:18 +02:00
4a475d88a7 test(tui): add TestBackend render tests — connecting, snapshot, no-panic
Closes the 'compiles but never verified to draw' gap:
- render_connecting_state_shows_connecting_text — asserts 'connecting…'
  and 'colibri-harness' title render before daemon connects
- render_with_snapshot_shows_panes_and_agent — asserts pane id, agent
  name, state label, and state icon appear in rendered buffer
- render_does_not_panic_on_empty_snapshot — smoke test for the
  snapshot=None path

All three use ratatui::TestBackend (no terminal needed, CI-friendly).
2026-06-24 14:28:21 +02:00
45f83523c3 Merge pull request 'feat(hooks): one-command install-hooks.sh (worktree-safe)' (#170) from fix/wiki-format-drift into main
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
Reviewed-on: #170
2026-06-24 14:17:24 +02:00
9f091454e5 fix(hooks): make install-hooks robust for worktrees/custom git dirs
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 installer symlinked a RELATIVE target (../../scripts/pre-push), which only
resolves for a standard <repo>/.git/hooks layout — it breaks in git worktrees
or when .git is a file/elsewhere (both used by the agent harness), and assumed
.git/hooks already exists.

Resolve the real hooks dir via 'git rev-parse --git-path hooks' (worktree-safe),
mkdir -p it, and symlink to the ABSOLUTE source path so it works regardless of
where the hooks dir lives. Also verify pre-push exists + is executable.

Tested: installs, link resolves to scripts/pre-push, idempotent.
2026-06-24 14:13:06 +02:00
c111de0f3d feat(hooks): install-hooks.sh — one-command hook activation 2026-06-24 14:09:59 +02:00
64f5714176 Merge pull request 'docs(wiki): cross-link cost-model → task-board' (#169) from fix/wiki-format-drift 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
Reviewed-on: #169
2026-06-24 13:49:47 +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
73e76d38cb Merge pull request 'feat(wiki): expand to full coverage — cost-model, glasspane, task-board, jail-confinement' (#168) from feature/wiki-expand into main
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
Reviewed-on: #168
2026-06-24 13:39:19 +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
64f46dea57 Merge pull request 'feat(wiki): mother-hive decisions page + strict lint gate + pre-push hook' (#167) from feature/wiki-strict-and-hook into main
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
Reviewed-on: #167
2026-06-24 13:31:19 +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
6ab86275e2 Merge pull request 'docs(mother): osa first-run verification checklist' (#166) from mother-firstrun-checklist into main
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
2026-06-24 10:58:16 +02:00
116277ba7a docs(mother): add osa first-run verification checklist
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
An ordered first-run checklist for deploying on osa (or any new mother),
covering the things that can only be validated against a live PostgreSQL +
FreeBSD host:

- build 0.12 on FreeBSD from current main + ci-checks (Linux binaries won't run)
- record any pre-existing node-register before install
- post-install integrity: installed node-register is the hardened hive_nodes
  version (grep -c "E'" == 0; grep hive_nodes > 0) — not the injectable copy
- schema migrated in place (usb_nodes renamed, not duplicated; node_type present)
- peer auth works; pg_hba peer rule present AND precedes generic local rules
- external-mcp has all three servers (jq-merge preserved existing)
- SSH forced-command wrapper rejects non-allowlisted commands
- daemon env + service live; key hygiene (private key → seed only)

Captures the operational risks flagged during the mother-infra review.
2026-06-24 10:56:56 +02:00
9139aa5d0b Merge pull request 'refactor(glasspane): pi_type → event_type + close wiki residue items' (#165) from residue-pi-type into main
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
Reviewed-on: #165
2026-06-24 10:52:33 +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
3c5a2cf7b3 Merge pull request 'feat(wiki): deterministic wiki-lint (pilot step 2) — drift check that actually gates' (#164) from feature/wiki-lint into main
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
2026-06-24 10:37:04 +02:00