Repository navigation
Releases
Releases · Under-Research-Labs/CONTINUUM
v0.1.2 - tree limit, cli docs and Glama listing
Verifiable recovery for long-running AI agents.
- fix(cli): honour tree --limit instead of accepting and ignoring it (#544)
- docs(cli): show --db default and working --json example (#542)
- refactor(hooks): one list of installed kinds (#536)
- docs: add glama.json for Glama directory listing
- docs: add star ask to README
Install: pip install continuum-agent==0.1.2 or uvx --from git+https://github.com/Cyrax321/CONTINUUM.git continuum --help
What's Changed
- fix(mcp): propagate confirm handler refusals by @zynx-real in #377
- docs: remove sponsor iframes that are stripped on GitHub by @Cyrax321 in #507
- fix: harden Codex hook feature flag detection against commented lines (Refs #331) by @Cyrax321 in #516
- feat(health): wire trajectory report to idle-window trigger by @Cyrax321 in #518
- fix(dashboard): add pagination hint to recent events table (Refs #324) by @Cyrax321 in #519
- feat(provenance): provenance that survives compaction (Fixes #294) by @Cyrax321 in #523
- fix(dashboard): cap POST body at 1 MB and drain like gateway (Fixes #317) by @Cyrax321 in #521
- fix(cli): surface truncation hint when verify shows only first 20 violations (Fixes #319) by @Cyrax321 in #524
- fix: avoid duplicate briefing hook on install by @Cyrax321 in #526
- fix: merge gate checks source preconditions Refs #494 by @Cyrax321 in #527
- fix(http): handle malformed Content-Length and chunked Transfer-Encoding in dashboard and gateway (Refs #522) by @Cyrax321 in #529
- fix(dashboard): count archived events in pagination hint (Refs #520) by @Cyrax321 in #528
- fix(cli): include archived events in continuum events by @Shaisolaris in #534
- fix: add carry-forward passthrough to rewind CLI (Refs #493) by @Cyrax321 in #531
- docs: mention ignoring .continuum by @challenge456 in #535
- refactor(hooks): one list of installed kinds, kind read off the command by @abyyxhek in #536
- docs(cli): show the --db default and a --json example that runs by @abyyxhek in #542
- fix(cli): honour tree --limit instead of accepting and ignoring it by @abyyxhek in #544
New Contributors
- @zynx-real made their first contribution in #377
- @Shaisolaris made their first contribution in #534
- @challenge456 made their first contribution in #535
Full Changelog: v0.1.0...v0.1.2
v0.1.0
What's Changed
- style(cli): normalize help punctuation to end with periods (#497) @Cyrax321
- fix(cli): add ellipsis when goal truncated in runs and tree (#496) @Cyrax321
- fix(cli): clarify observe output when tool_name missing (#495) @Cyrax321
- feat(budgets): refusal surfaces name authorization and budget report shows per-auth rows (Fixes #414) (#465) @Cyrax321
- fix(observations): reject bool in payload bytes field (#462) @Newer1107
- ci: deploy docs to Vercel from main only (#355) @Cyrax321
- fix(recovery): tighten replayguard types for strict mypy (#248) @Cyrax321
- fix(recovery): close gate, escalation and reconcile correctness issues in the ledger (#183) @Cyrax321
- feat: resume returns goal; drop CONTINUUM_TASK.md overhead (#6) (#80) @Cyrax321
- docs: detect interrupted run and ask resume-vs-new (#6) (#79) @Cyrax321
- docs: new task never resumes an unrelated old run (#6) (#78) @Cyrax321
- docs: explicit task overrides CONTINUUM_TASK.md on resume (#6) (#77) @Cyrax321
- docs: make CONTINUUM auto-resume hands-free (#6) (#76) @Cyrax321
- feat: auto-detect and resume the active interrupted run (#6) (#75) @Cyrax321
- docs: add a separate API reference (#23) (#74) @Cyrax321
- feat: register continuum-mcp with Claude Code via .mcp.json (#73) @Cyrax321
- feat(mcp): bind caller credentials to identity with per-client tokens (#7) (#72) @Cyrax321
- fix(attest): wire attestation into CI and correct stale docstring (#24) (#71) @Cyrax321
- ci(release): migrate release workflow to uv (#27) (#70) @Cyrax321
- fix(actions): only treat known file suffixes as stem-derived (#67) (#69) @Cyrax321
- fix(adapter): declare captured environment so drift blocks resume (#25) (#68) @Cyrax321
- test: add regression test for OpenAI adapter arg binding (#37) (#66) @Cyrax321
- fix: stop _identity_match from falsely deduplicating distinct actions (#64) (#65) @Cyrax321
- fix: close seven correctness issues from the C1 triage backlog (#61) @Cyrax321
- chore: apply ruff format to the serve sidecar files (#62) @Cyrax321
- feat(observability): metrics collector and Phase 14 recovery dashboard (A2) (#60) @Cyrax321
- docs(bench): reflect 5 implemented scenarios after #58 (#59) @Cyrax321
- docs(bench): correct CONTINUUM-Bench status to reflect shipped harness (#57) @Cyrax321
- feat(bench): expand CONTINUUM-Bench scenario suite with crash-timing scenarios (#58) @Cyrax321
🚀 Features
- fix: make SQLiteStorage.close idempotent (#347) @VedantMadane
🐛 Bug Fixes
- fix: show absolute path in gate config error messages (#340) @aastha-m22
- fix(serve): delete the dead auth gate and pin the policy the sidecar really has (#95) (#99) @Adhi1-2
- fix: report the failing storage path unescaped so it is copy-pasteable (#94) (#97) @Adhi1-2
- fix(mcp): report a missing 'mcp' extra instead of an import traceback (#87) (#93) @Adhi1-2
- fix(serve): let a sidecar client resume without a memorized id or task file (#92) @abyyxhek
- fix(mcp): make a failed cold start leak free and diagnosable (#87) (#90) @Adhi1-2
- fix(benchmark): close SQLiteStorage handles so continuum benchmark runs on Windows (#89) @abyyxhek
- fix(validator): report UNKNOWN, not VALID, for unverifiable model assumptions (#54) @as950118
- fix(extractor): collapse ids repeated within a single LLM proposal (closes #41) (#52) @dchaudhari7177
- fix(extractor): fall back to deterministic state on malformed LLM proposal (#56) @lesbass
- fix(cli): make replay actually confirm the stored version (closes #31) (#50) @dchaudhari7177
- fix(adapters): keep a result dict holding the envelope key intact on cache hit (closes #44) (#53) @dchaudhari7177
- fix(mcp): reject negative progress counters even when total is omitted (#51) @lesbass
🔌 Adapters
- feat(adapters): native LangGraph checkpointer over CONTINUUM storage (#246) @Cyrax321
- feat(adapters): thin adapters for CrewAI, AutoGen and Pydantic AI (#229) @Cyrax321
- feat(cli): install observation hooks for Gemini CLI and Codex CLI (#224) @Cyrax321
- feat(cli): pre-action gate enforcing ledger claims before side effects (#220) @Cyrax321
- perf(adapters): resolve optional SDK adapters lazily (PEP 562) (#219) @Cyrax321
- fix(adapters): keep a result dict holding the envelope key intact on cache hit (closes #44) (#53) @dchaudhari7177
📚 Documentation
- fix(gateway): answer malformed JSON with 400 instead of an empty body (#505) @abyyxhek
- docs: note pair programming with Co-authored-by in CONTRIBUTING (#500) @Cyrax321
- docs(cli): make --json discoverability explicit in CLI docs (#498) @Cyrax321
- docs(cli): fix diff example to include required versions (#491) @Cyrax321
- docs(cli): show --total flag in benchmark table (#490) @Cyrax321
- docs: launch assets for 0.1.0 (Refs #400) (#492) @Cyrax321
- docs: concepts and how-to for constraint pinning with honest scope (Refs #420) (#489) @Cyrax321
- fix(gate): strip surrounding whitespace from derived key values (#488) @abyyxhek
- feat(rewind): atomic dual-state rewind (Refs #292) (#486) @Cyrax321
- feat(pins): surface constraint-pin verdicts in resume and validate (Refs #419) (#463) @Cyrax321
- chore: add compose.yaml for Postgres contract tests (#450) @Cyrax321
- docs(adapters): embeddability sprint with tested harness hook recipes (#448) @Cyrax321
- docs: embeddability sprint with tested harness hook recipes (#445) @Cyrax321
- fix(budgets): write through a symlinked registry and keep its owner (#442) @abyyxhek
- fix(budgets): reject boolean limits, save atomically, name the bad value (#441) @abyyxhek
- fix(cli): make complete idempotent (#440) @quangshuynh
- docs: celebrate continuum-agent 0.1.0 on PyPI (#439) @Cyrax321
- ci: add markdown linter to catch unbalanced fences (#435) @Cyrax321
- [#388] cut CHANGELOG 0.1.0 heading (#431) @Cyrax321
- docs: list every CLI subcommand in the api reference (#363) @tasodoufu
- [#388] written release checklist for the maintainer gate (#423) @Cyrax321
- docs: explain stale editable install metadata (#422) @timothyanderson096-ocdealcheck
- docs: restore the Project Structure code fence in CONTRIBUTING (#375) @Cyrax321
- fix(state): an unprojectable log can degrade instead of killing every command (#383) (#385) @Cyrax321
- feat(mcp): record the model behind a run so drift can be detected (#380) @Cyrax321
- fix(budgets): count retries per operation, not per action type (#378) @Cyrax321
- fix(ledger): same filename in a different directory is different work (#376) @Cyrax321
- fix(ledger): complete must not assert an outcome nobody verified (#374) @Cyrax321
- fix(cli): verify must not certify a run that cannot be projected (#384) @Cyrax321
- revert: take back confirm_gate fix to credit #377 (#381) @Cyrax321
- fix(recovery): do not say nothing is wrong over an unresolved side effect (#379) @Cyrax321
- fix(mcp): reconcile the action the recovery guidance actually names (#373) @Cyrax321
- fix(mcp): a rejected progress update must not brick the run (#372) @Cyrax321
- docs: clarify mypy runs in CI, not pre-commit (#354) @unmoha
- fix(actions): serialise ActionLedger claims with the run lease (#350) @abyyxhek
- fix(mcp): stop the retry budget defeating idempotency, and name what is actually missing (#311) @Cyrax321
- docs: add pre-commit example with ruff hooks to CONTRIBUTING (#341) @unmoha
- docs: months-scale upgrade spec plus live web synthesis and STATUS checklist (#339) @Cyrax321
- ci: build and smoke-test a wheel artifact on every push to main (#310) @Cyrax321
- fix(dashboard): bind 127.0.0.1 by default (loopback hardening) (#272) @Cyrax321
- docs: record 2026-08-24 full-gate audit, refresh README counts, add architecture section 19 (#299) @Cyrax321
- feat(recovery): semantic similarity backends for the replay guard (#300) @Cyrax321
- feat(distribution): add Docker image, Codespaces, and git-install paths (#277) @Cyrax321
- fix(storage): harden compaction per the #253 review (#260) @Cyrax321
- docs: tighten README, add install and related-work references, strip em dashes (#274) @Cyrax321
- docs: refresh README with current numbers and resolved references (#273) @Cyrax321
- feat(recovery): multi-agent parent/child runs and aggregated contracts (#264) @Cyrax321
- docs(mcp): document the CONNECTION_CLOSED failure mode and the eleventh tool (#256) @Parthipashok04
- feat(dashboard): human-in-the-loop surface for request_human runs (#257) @Cyrax321
- feat(recovery): run-level retry budgets enforced at claim time (#255) @Cyrax321
- feat(storage): event-log compaction with archive table (schema v5) (#253) @Cyrax321
- fix(postgres): ship lg_* tables in _SCHEMA; rewrite contract suite (#251) @Cyrax321
- feat(serve): production server mode - PG CI + HTTP transport (#249) @Cyrax321
- feat(recovery): replay-safety guard as a portable primitive (#247) @Cyrax321
- feat(adapters): native LangGraph checkpointer over CONTINUUM storage (#246) @Cyrax321
- feat(mcp): record and brief reasoning summaries across interruptions (#245) @Cyrax321
- docs: seven-level testing guide covering every seam (#234) @Cyrax321
- docs: refresh README for enforced durability and new integrations (#233) @Cyrax321
- fix(gateway): body-size cap; refresh CLI reference for new surfaces (#232) @Cyrax321
- feat(cli): continuum complete + README harness-wiring refresh (#231) @Cyrax321
- feat(cli): enforcing HTTP gateway for registered upstreams (#230) @Cyrax321
- feat(adapters): thin adapters for CrewAI, AutoGen and Pydantic AI (#229) @Cyrax321
- feat(otel): mirror tool-call spans into the event log (#228) @Cyrax321
- feat(cli): session briefing injects durable state without CLAUDE.md (#227) @Cyrax321
- feat(recovery): render actionable next steps on resume and validate (#225) @Cyrax321
- feat(recovery): surface post-checkpoint observations in the contract (#223) @Cyrax321
- feat(cli): install observation hooks for Gemini CLI and Codex CLI (#224) @Cyrax321
- feat(cli): reconciler registry settles uncertain actions with probes (#222) @Cyrax321
- perf(storage): index cross-run idempotency claims (schema v3...