Skip to content

feat: self-upgrade primitives (doctor, inbox seed, graceful shutdown) - #22

Merged
PerishCode merged 1 commit into
mainfrom
feat/self-upgrade-primitives
Jul 2, 2026
Merged

PerishCode merged 1 commit into
mainfrom
feat/self-upgrade-primitives

Conversation

@PerishCode

Copy link
Copy Markdown
Owner

PHASE-07 S1–S3: santi-repo primitives for self-operation. Offline/local ops reusing inbox-as-MQ + boot-recovery; no change to existing behavior. santi doctor (read-only pre-check), santi inbox seed (offline MQ producer), graceful shutdown (SIGTERM quiesce + drain). S4 (santi upgrade) + S5 (.deb) land later.

🤖 Generated with Claude Code

The santi-repo primitives for PHASE-07 self-operation. All offline/local
ops (no HTTP), reusing the inbox-as-MQ + boot-recovery machinery; nothing
here changes existing behavior.

- santi-core: `read_schema_version` (read-only, no migrate/wipe), free
  `soul_memory_file`, `pub SCHEMA_VERSION`/`DEFAULT_SOUL_ID`, and a
  graceful-shutdown latch on `SantiService` (`begin_shutdown` pauses inbox
  CONSUMPTION while ingest still PRODUCES; `drain_running_turns`;
  `running_turn_count`).
- santi-api: `config::resolve_runtime_paths` (serve refactored onto it);
  `ops::{doctor, inbox_seed}` (offline MQ producer + read-only pre-check);
  `serve` gains `with_graceful_shutdown` (SIGTERM/Ctrl-C -> quiesce ->
  drain in-flight turn -> exit).
- santi CLI: `santi doctor` (exits non-zero when unhealthy) and
  `santi inbox seed <text>` (local ops, identity from env).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@PerishCode
PerishCode merged commit 2625eb2 into main Jul 2, 2026
3 checks passed
@PerishCode
PerishCode deleted the feat/self-upgrade-primitives branch July 2, 2026 05:30
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