Skip to content

v0.2.0

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Jul 07:14

v0.2.0 (2026-07-04)

This release is published under the MIT License.

Bug Fixes

  • cli: _now() returns aware UTC — the clock source behind every Z-stamped timestamp (88a1aed)

  • cli: Fail loud on an unreadable run.json at cairn run's resume entrances (ec58509)

  • cli: Guard the run --run-dir resume entrance too (e430094)

  • cli: Honest preflight docstring + guards-then-tools order on every resume entrance (b8e2062)

  • doctor: Codex hook-probe recipe — mirror the live 0.142.5 exec argv, pin gpt-5.5 (0e36527)

  • doctor: Retry hook-probe canary cleanup once; surface a surviving leftover as a warning (8943e48)

  • executors/codex: Drop dead -a flag, add --skip-git-repo-check (0.142.5) (bdfa1f5)

  • executors/grok: Live-verify against grok 0.2.82 — --prompt-file delivery, bypassPermissions, native --effort (6bb055a)

  • gatekit: Canonical format_at shape for gate decision timestamps (e1ceced)

  • release: Allow_zero_version so first automated release is 0.2.0, not 1.0.0 (e3aed3e)

  • scaffold: Open-pr re-validates targets in-script — the gate-time veto path is post-validation (33da00f)

  • scaffold: Self-improve quality pass — matrix retrofit append, gate-edit resilience, legible failures, ladder tokens (f6633c1)

  • tests: Pin executor health in doctor-probe exit tests — claude CLI absent on CI runners (5e2aaf4)

  • trail: Redact the envelope object before serialization, not the line (46ee214)

  • walk: Honest usage precedence on empty dict + no stale beat after stop (b87f438)

  • walk: Z-terminated UTC created_at + prefer executor-reported usage (291f312)

Chores

  • activation: Fill gabros20/cairn URLs, check off repo-creation steps (5613c3c)

  • doctor: Drop vacuous render ternary; pin env lockstep + auth-copy OSError contracts (324654b)

  • package: Rename distribution to cairn-pipelines + publish metadata (dc1602e)

Code Style

  • cli: Hoist the proc.SubprocessRunner alias import to the top import block (c450414)

Continuous Integration

  • Plan + offline-replay both live smoke workspaces (b8d1ae4)

  • Plan + offline-replay the mixed-fleet live workspace (a11ae1f)

  • Plan + offline-replay the workspace-grok live smoke workspace (e41bb66)

Documentation

  • Backlog wave shipped — heartbeats, webhook sink, redaction, version gates, tool enforcement, UTC clock (9f80d84)

  • C4 shipped — codex live-verified + hook probe settles guard posture (803bfbb)

  • C5 shipped — all three executors live, grok hook-primary, mixed fleet proven (8294978)

  • Fix review round on getting-started + docs index (5f61110)

  • Getting-started tutorial + Diátaxis docs index (1fc3963)

  • Self-improve ships as scaffold furniture; brease=on is workspace-migration scope (059e557)

  • Test count 659 → 664 after the C4 fix rounds (91138e5)

  • api: Add annotated workspace-layout orientation tree (real scaffold) + concrete run-dir layout (4e57495)

  • api: Add internal .cairn/ + .cairn.lock to run-dir tree; annotate runs/ as created-on-first-run; fix .cK suffix prose (c1 is logged) (395c627)

  • architecture: Add component-flow + step-lifecycle mermaid diagrams; sharpen guard-engine status (post enforces; hook/shim install_guards still stubbed); de-link PORT-DESIGN ref (f1faafd)

  • architecture: Correct §4 guard status — shim+post enforce today (cli.py GuardedExecutor prepends per-run .cairn/shims to PATH); only the hook-layer install_guards is the no-op (720cf06)

  • architecture: Refresh stale kernel-size figure to a rounded ~9,000 lines / ~two dozen modules (b70b0e6)

  • concepts: Add noun/verb model mermaid map; de-link cross-repo PORT-DESIGN refs to prose (6db093c)

  • distribution: Retense packaging/release to the shipped cairn-pipelines setup (c1e6698)

  • example: Reframe intro for a public reader (6cba40e)

  • implementation-plan: Mark as a historical build record up top (f1aa8ab)

  • observability: Add trail-protocol flow mermaid (redact→serialize→jsonl authority→tee); correct guard-deny status (not emitted yet; surfaces as step-fail today) (b422344)

  • observability: Quote mermaid edge label with arrow for parser safety (009ac0c)

  • readme: Review nits — annotate runs/ as created-on-first-run, note abridged run-dir tree (c2c8ad4)

  • readme: Rewrite publish-grade for external OSS audience (b795511)

  • releasing: Branch-protection bypass + origin-remote preview caveat (ad44674)

  • releasing: Check off GitHub-side activation items (pypi env, write perms) (503be49)

  • releasing: Release how-to + first-publish activation checklist (cf8fb53)

  • scaffold: Fix hello.yaml agent-upgrade comment — [executors.claude] already ships enabled (ef55e4f)

  • scheduling: Add install-time-vs-fire-time sequence diagram (f019a6d)

  • scheduling: Harden the sequence mermaid — drop angle-bracket and arrow labels (44cf123)

  • security,tooling: Correct the allowlist-enforcement status to shipped reality (18e1475)

  • testing: Render the L0–L4 validation pyramid as an ASCII diagram (cfe492f)

  • tooling,distribution: Fix guards-layer over-claim + OWNER placeholder (604a8ad)

Features

  • cli: Cairn run/resume hard-stop on unverified in-range tools (6553b4c)

  • cli: Cross-version resume gate — refuse cross-major run dirs without --force (e2d1cf7)

  • config: Version_compat — classify recorded vs installed cairn for the resume gate (918b6ac)

  • doctor: "satisfies requires" line — say whether installed cairn meets the pin (cbe5d54)

  • doctor: Add empirical hook-firing probe engine (C4) (9af80e7)

  • doctor: Codex hook-probe auth seam — copy auth.json (only) into the canary CODEX_HOME (eb52511)

  • doctor: Grok hook-probe recipe (C5) — live-verified fires+blocks (e5bb984)

  • doctor: Wire --probe-hooks into doctor, replacing the C4 stub (80b3483)

  • release: Semantic-release-driven release + PyPI publish workflow (ed689b3)

  • scaffold: Self-improve template — the learning loop's curate→promote as packaged workspace furniture (b9c13df)

  • security: Redact declared secrets from step logs and the trail (a99c459)

  • trail: Single-source format_at Z-terminated UTC timestamp formatter (10f8217)

  • trail: Sink seam — jsonl authority + webhook tee + redactor factory (0370d01)

  • types: Add optional Result.usage for step-completion usage plumbing (676f55e)

  • walk: Periodic heartbeat events for long-running steps (1d0969a)

Performance Improvements

  • plan: Lazy workspace fallback for needed_by scope matching (0d7d816)

Refactoring

  • batch: Honest char-cap name + salient last-line error preview (1a8c239)

  • cli: Alias _SubprocessRunner to the shared proc.SubprocessRunner (6beff76)

  • doctor: Hoist requires_satisfied import + channel-neutral requires hint (066a359)

  • doctor: Hookprobe review minors — shared auth seam + fragility notes (9e31463)

  • kernel: Unify batchkit spawn + schedkit Runner behind proc.py (f3e4343)

Testing

  • config: Pin pre/dev same-minor pairs in the version_compat matrix (55ca4ec)

  • executors/codex: Pin exact no-effort argv (654f788)

  • live: Codex executor live smoke workspace + recorded offline regression (97137a2)

  • live: Mixed-fleet workspace — codex+claude+grok cooperate in one pipeline, live-verified + recorded offline replay (c2ecccb)

  • live: State the vendor-pin intent in build.json's schema description (3cc6867)

  • live: Workspace-grok — live-verified smoke + smokefail on grok 0.2.82, recorded offline replay (1c27462)


Detailed Changes: v0.1.0...v0.2.0