M4 AP-4: BYOM example + docs (guide, API reference, offline example, CI smoke) - #11
Conversation
… smoke test Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Maintainer review — APPROVED for merge ✅ Reviewed from my side. This slice ships the BYOM developer surface without touching validated recovery logic — exactly AP-4's scope.
MERGEABLE / CLEAN. Merging to master. Spec §5/§9 update + trackers/CHANGELOG tracked for AP-5. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3ab5fe471e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| on: | ||
| push: | ||
| branches: [master, "milestone-*", "phase-*"] |
There was a problem hiding this comment.
Include main in the push trigger
In this checkout the integration branch is main (the recent merge commits are on main, and there is no local master branch), so this workflow will not run on post-merge or direct pushes to the default branch; it only runs for master, milestone-*, and phase-*. Please add main here or remove the branch filter so CI actually protects the branch changes land on.
Useful? React with 👍 / 👎.
Summary
AP-4 of Milestone M4 (BYOM recovery library). Ships the developer-facing surface for the recovery mechanism that AP-1–AP-3 already landed — no new recovery logic. Everything an outside developer needs to add Re-grounding Recovery to their own agent, on the public
cairnAPI, proven offline.FileCheckpointStore/FileEffectLedger(aliases of the concretecairn.runtime.*classes) so examples/docs use only the top-level surface — the solesrc/change (__init__.py+4).examples/byom_recovery.py: three deterministic demos on a mock model —demo_primitives(bring-your-own-loop),demo_agent(batteries-included),demo_effect_once(torn side-effect → exactly-once). Plus an opt-in stdlib Ollama adapter (CAIRN_OLLAMA=1), never run in CI.docs/guide/recovery-in-your-agent.md: both paths, exactly-once effects, local-model run, honest 0.x/claims scope.docs/guide/public-api-reference.md: every name incairn.__all__(verified against the live 20-name surface)..github/workflows/ci.yml:pyteston 3.10/3.12 — the example smoke test rides along. Tests only; no publish/release/tag/deploy (v1.0 hold intact).Governance
recover()deliberately takes nogoalparam (AP-3 deviation; carried in the checkpoint) — reflected in the reference. Design-spec §5 update is tracked for AP-5.Test Plan
python examples/byom_recovery.pyprints exactly 3 lines, offline, showing real recovery (regrounded=1,recovery_tax=1, exactly-onceskip).cairn.runtime/harness/statereach-through)..env; CI has no outward steps.🤖 Generated with Claude Code