Commit graph

22 commits

Author SHA1 Message Date
862204c205 Docs: park Herdr-FreeBSD, anchor status to commit (Sam & Claude)
Make the Herdr boundary explicit now that Herdr-Linux-remote and
Colibri-FreeBSD are validated as separate planes:

- Herdr FreeBSD port is parked, not a migration blocker. The exploratory
  FreeBSD build findings are kept for the record but framed as a parked
  experiment, not a pending task.
- Herdr stays a Linux/macOS display/remote plane behind the socket contract;
  colibri-glasspane is the native FreeBSD supervision answer.

Tighten stale status so it stops rotting:

- Replace the fixed "31 passed, 0 failed" count with "all gates green as of
  b325c38" plus the clippy clean note.
- Anchor the top-level status line to commit b325c38.

Doc-only; no code or test changes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 12:54:26 +02:00
07d04efa8a Add Colibri operator smoke CLI helpers 2026-05-27 12:19:24 +02:00
504608bab1 feat: add multiagent workflow improvements
Add three improvements to streamline multiagent development:

1. Agent Handoff Protocol (.agent-handoff.md)
   - Standardized handoff template and checklist
   - Handoff history with timestamps
   - Proof gate status tracking
   - Platform matrix documentation

2. Proof Gate Tracker (tools/proof-gate-tracker.rs)
   - Automated validation of all 6 proof gates
   - Instant visibility into gate status
   - Exit codes for CI/CD integration
   - Prevents gate regressions

3. Platform Matrix Tests (tests/platform-matrix.rs)
   - Cross-platform smoke test suite
   - Validates FreeBSD and Linux parity
   - Cache economics consistency checks
   - Platform-specific test cases

Documentation: docs/MULTIAGENT-WORKFLOW-IMPROVEMENTS.md
Tools: tools/README.md

These improvements standardize handoffs, automate validation,
and ensure cross-platform consistency for the TypeScript → Rust
migration workflow.
2026-05-27 12:09:40 +02:00
047a90427d Record Colibri live daemon client smoke report 2026-05-27 09:14:44 +02:00
fbcb7e6ca4 Add live daemon client smoke with local fake agent 2026-05-27 09:12:02 +02:00
Sam & Hermes
f65fdc7ad1 Update migration inventory to reflect Phase 1-4 complete (Sam & Hermes)
7 crates, daemon scaffolded, Herdr validated (builds, 1450/1453 tests),
TS files retired (budget, aider, codex, tmux-screenshot), gate #6 closed.
2026-05-27 03:41:01 +02:00
20809cda1d Start Phase 4 typed daemon client 2026-05-27 03:02:42 +02:00
123kupola
0e35c1bc27 Add daemon-glasspane integration contract (Sam & Hermes)
532-line technical spec covering:
- Socket API wire protocol (7 HerdrCommand variants, JSON dialogs)
- Pane-to-session mapping (4 ID namespaces, creation sequence)
- State flow (daemon lifecycle → 5 AgentState transitions)
- Unified API vocabulary (supervise.*, daemon.*, provider.*)
- clawdie.glasspane.snapshot.v1 contract (producer/consumer)
- Boot sequence (daemon starts first, glasspane embedded)
2026-05-27 02:57:22 +02:00
9ffdde0579 Add glasspane pane reader loop 2026-05-27 02:30:33 +02:00
97439234a6 Start glasspane Phase 3 pane supervision 2026-05-27 02:20:54 +02:00
7ab7b6d343 Sync glasspane Pi events and clippy hygiene 2026-05-27 02:15:09 +02:00
2f282f593d colibri-glasspane Phase 2: ingest real Pi --mode json JSONL (Sam & Claude)
agent_state_from_jsonl / pi_event_type / pane_from_jsonl fold a live Pi --mode json stream through the AgentState machine and capture session id+cwd from the flat header. Lenient: blank/malformed/type-less lines are skipped. 8 tests pass (5 state model + 3 JSONL ingestion, incl. a verbatim pi 0.75.5 session header). Phase 1 unchanged.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 02:03:09 +02:00
dbf82c0753 Add colibri-glasspane: design doc + Phase-1 state model scaffold (Sam & Claude)
FreeBSD-native agent supervision reimplementing Herdr's glasspane (sessions/panes/agent-state) behind Colibri's unified API; Herdr stays an optional Linux display client (AGPL + Linux-only). Key bet: agent state is derived deterministically from Pi --mode json events (colibri-pi-events taxonomy), not terminal screen-scraping.

docs/COLIBRI-GLASSPANE-DESIGN.md: capability graph, 5-state model + event→state map, unified API, clawdie.glasspane.snapshot.v1 contract, FreeBSD impl notes, 5 phases. crates/colibri-glasspane: Phase-1 pure state model (AgentState, apply_pi_event/fold_pi_events, Pane, GlasspaneSnapshot) + 5 tests. PTY/socket server + orchestrator are later phases.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 01:22:52 +02:00
dc8371e6d5 Add caller inventory + retirement plan (gate #6 prerequisite) (Sam & Claude)
Read-only who-imports-what of the clawdie-ai TS drop candidates. Corrects the earlier drop list: agent-runner.ts (the Pi host runner, 4 callers) and jail-exec-runner.ts (jailPi load-bearing) are KEEP, not drops. Real safe drop set is narrow + contained in controlplane-heartbeat-executor.ts: the non-Pi backend branches (aider/codex, gated behind CONTROLPLANE_RUNNER) + tmux-screenshot-command (→ Herdr). Precondition: production CONTROLPLANE_RUNNER=pi. Plan only — execution is a separate gated PR.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 18:49:45 +02:00
961f8397f9 Close gate #3: debby inventory parity + golden test (Sam & Claude)
Adds debby's runtime inventory to colibri-contracts golden coverage (12 tests pass) and marks gate #3 done. Three-host parity: osa/domedog/debby all on Node 24; Pi at 0.75.5 on osa+domedog, absent on debby (non-blocking follow-up). All five proof gates (#1-#5) are now green.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 18:26:20 +02:00
d830db982e Add Herdr-vs-Colibri capability graph + drop map (Sam & Claude)
Graph-only comparison of Herdr (socket/PTY agent supervision) vs Colibri (DeepSeek-first Rust) vs clawdie-ai TS, across supervision/coordination/execution/provider+cache. Hybrid boundary: Herdr stays an optional Linux client (AGPL + Linux/macOS-only); FreeBSD core is native. Unified function-names committed for the provider+cache layer (proven); other layers proposed/roadmap. Gated drop candidates concentrated in tmux/glass-pane supervision glue, non-Pi runners, and bespoke provider-smoke paths; coordination control-plane kept+extended. Flexibility matrix (agents/surfaces/providers) preserved.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 17:48:50 +02:00
30b87e0d38 Add read-only watchdog host-status reader (Codex)
Implement the Colibri runtime HostStatus reader, add mock and live osa watchdog evidence, and mark gate #5 complete without changing production TypeScript paths.

---

Build: pass

Tests: pass — 11 golden + 5 runtime tests
2026-05-26 16:01:03 +02:00
f197eaddbf Add gate #5 migration graph (watchdog reader) (Sam & Claude)
Graph-only artifact (no code): Mermaid + JSON nodes/edges + gap list + risk list for porting the watchdog host-status reader to Rust. Grounds the port in the real coupling: watchdog.ts owns the socket; doctor.ts + colibri-host-status.ts are the confirmed readers; pi-profile is keep-compatible (not a confirmed direct reader). The Rust reader is additive + read-only (cmd:status only) and replaces a contract, not production logic. Implementation/validation left to operator + Codex.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 15:19:28 +02:00
f216b90842 Close FreeBSD DeepSeek cache gate (Codex)
Record osa FreeBSD build/test and live DeepSeek cache evidence, add the manifests to golden contract coverage, and mark gate #4 complete in the migration inventory.

---

Build: pass

Tests: pass — 8 passed (golden contracts)
2026-05-26 15:09:11 +02:00
0dc3e94209 Mark gate #2 done; hand FreeBSD build to Codex (Sam & Claude)
Gate #1 (contracts golden tests) and #2 (DeepSeek live cache manifest, 3584/3661 hit on domedog) marked done with evidence. Added a FreeBSD build-lane handoff for Codex on osa: cargo build/test --workspace, optional osa live-cache probe → osa cache manifest. Closes the FreeBSD half of gate #4.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 15:01:23 +02:00
cd21bde024 Record operator approval for DeepSeek slice
Mark the migration inventory as approved for the first colibri-deepseek extraction while keeping TS production service paths gated.

---

Build: not run — documentation-only approval

Tests: not run — documentation-only approval
2026-05-26 13:29:28 +02:00
1fd4ad680b Add migration inventory + colibri-contracts crate (Sam & Claude)
docs/MIGRATION-INVENTORY.md: TS surfaces to keep as contracts, files to retire later (gated), schemas to port, crate build order, and proof gates before replacing the TS service. Extract contracts, not logic.

crates/colibri-contracts: serde structs for clawdie.interagent.run-manifest.v1, clawdie.runtime-version-inventory.v1, clawdie.provider-smoke.result.v1. Root becomes a workspace; existing binaries unchanged. Golden tests round-trip the real committed osa+domedog manifests (5 passed) — a stable shared base before deeper refactor.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 13:23:45 +02:00