Commit graph

7 commits

Author SHA1 Message Date
c14fe3ff79 Auto-load .env for the DeepSeek probe; gitignore .env (Sam & Claude)
colibri-probe now calls dotenvy::dotenv() at startup, so a DEEPSEEK_API_KEY pasted into a local .env is picked up automatically — no manual sourcing. .env is gitignored (a committed/pushed key is permanently compromised); .env.example is the committed template. No key value passes through the repo.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 14:27:41 +02:00
82c2304521 Add colibri-deepseek crate; move probe behind it (Sam & Claude)
First operator-approved slice. crates/colibri-deepseek owns the DeepSeek client + prefix-cache accounting, depends on colibri-contracts, and produces the pipeline: DeepSeek request -> byte-stable prefix -> provider-smoke.result.v1 -> run-manifest.v1 -> local JSONL event log (tmp/, gitignored). The colibri-probe binary is now a thin entrypoint over the crate; reqwest/chrono moved out of the root package.

Validated on Linux: cargo build --workspace --release PASS; colibri-contracts golden tests 5 passed; probe (skipped, no key) emits the smoke result and writes both schema lines to the JSONL log. No TS production paths touched. Live cache values await DEEPSEEK_API_KEY (proof gate #2).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 13:35:39 +02:00
98190703f0 Restore clean runtime_inventory.rs — prior commit merged conflict markers (Sam & Claude)
My 094b98f accidentally committed unresolved conflict markers when a stash pop collided with Codex's 6269030 (which independently fixed Linux Pi detection by canonicalizing the pi bin and walking ancestors for the package.json — covers nvm). Restoring 6269030's clean version; my npm-root-based variant was redundant and is dropped.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 11:33:17 +02:00
094b98faf4 Fix Linux Pi detection: resolve via npm root -g (Sam & Claude)
pi --version has no stable stdout and the ~/.npm-global path does not match nvm layouts, so Pi went undetected on Linux. Now also resolve the active node's global modules via 'npm root -g' and read pi's package.json. Additive — the FreeBSD/.npm-global paths Codex hardened are unchanged.

Verified on domedog (login shell, node v24.16.0): inventory now reports pi 0.75.5.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 11:32:07 +02:00
6269030424 Detect Pi from PATH inventory candidates
Prefer user and PATH candidates before system defaults, fall back to package.json discovery, and accept version output from stderr for shims.

---

Build: pass — cargo build --release

Tests: pass — cargo test (0 tests)
2026-05-26 11:26:39 +02:00
247ffc76a1 Add FreeBSD runtime inventory manifest
Expose COLIBRI_AGENT for lane attribution and add a runtime inventory binary matching the Clawdie runtime schema.

---

Build: pass — cargo build --release

Tests: pass — cargo test (0 tests)
2026-05-26 10:45:18 +02:00
cf7d25e83a Scaffold Colibri Phase 1: colibri-probe DeepSeek cache smoke (Sam & Claude)
Greenfield cross-platform (FreeBSD/Linux) Rust crate per clawdie-ai doc/COLIBRI-CONTROLPLANE-PLAN.md. colibri-probe sends a byte-stable DeepSeek prefix twice and reports prompt_cache_hit_tokens as a clawdie.provider-smoke.result.v1 manifest; build-only/skipped without DEEPSEEK_API_KEY.

Stack: tokio + reqwest(rustls-tls, no OpenSSL) + serde + chrono. Builds clean on Linux (cargo build --release, 1m16s); rust-toolchain pinned to 1.95.0. FreeBSD (osa) build is the next lane.

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