Skip to content

fix: add strict read-only diagnostics - #1

Merged
icerain-cmd merged 1 commit into
mainfrom
fix/strict-read-only-diagnostic
Aug 1, 2026
Merged

fix: add strict read-only diagnostics#1
icerain-cmd merged 1 commit into
mainfrom
fix/strict-read-only-diagnostic

Conversation

@icerain-cmd

Copy link
Copy Markdown
Owner

What

  • add run-once --diagnostic, a fail-closed read-only state/config inspection path
  • keep legacy --dry-run behavior but document that it may update retries, cursors, buffers, dead letters, and run logs
  • prevent non-gateway CLI discovery from starting the embedded worker
  • harden live migration locking, guarded child cleanup, detached gateway restart, and linked readiness validation
  • bump the standalone package to v2.1.1

Why

The earlier operational verification called --dry-run side-effect-free, but that mode intentionally constructs the pipeline and can write local HEGI state. The new mode avoids pipeline construction and all Telegram, LLM, Memory Forest, archive, and run-log paths while validating a private stable SQLite snapshot.

Safety properties

  • pins config/state paths through directory descriptors on Linux/WSL
  • rejects symlinks, hard links, rebinding, concurrent mutation, unsupported schema, and corrupt state
  • verifies main/WAL fingerprints before and after snapshotting
  • keeps gateway/worker locks across migration mutations and diagnostic post-check
  • does not alter the published v2.1.0 tag

Verification

  • .venv/bin/python -m pytest -q: 179 passed
  • isolated scripts/smoke-test.sh --python .venv/bin/python: 128 passed
  • .venv/bin/ruff check .: passed
  • bash -n scripts/migrate-existing-install.sh: passed
  • git diff --check: passed
  • security review: 0 release-blocking findings
  • architecture/lifecycle review: 0 release-blocking findings

Live profile verification was read-only: operating config, state DB/sidecars, queues, archives, and approval artifacts retained identical fingerprints. No Telegram, LLM, archive, approval, or Memory Forest commit call was made.

@icerain-cmd
icerain-cmd marked this pull request as ready for review August 1, 2026 11:29
@icerain-cmd
icerain-cmd merged commit f7b2e22 into main Aug 1, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant