Skip to content

feat(config): derive runtime storage from Push home - #175

Merged
owainlewis merged 1 commit into
mainfrom
codex/165-push-home
Jul 30, 2026
Merged

feat(config): derive runtime storage from Push home#175
owainlewis merged 1 commit into
mainfrom
codex/165-push-home

Conversation

@owainlewis

@owainlewis owainlewis commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add one typed PushPaths owner for config, state, history, audit, job locks, Slack inbox, and cache paths.
  • Resolve defaults from PUSH_HOME, preserve explicit runtime path overrides, and keep assistant_root outside the protected runtime boundary.
  • Update CLI precedence, service examples, installation, security, compatibility, and recovery documentation.

Why

Push runtime storage was reconstructed across modules and tied to ~/.push. A single root makes installations predictable and permits isolated homes without moving the user-owned assistant repository.

Test plan

  • cargo fmt --all -- --check
  • cargo clippy --locked --all-targets -- -D warnings
  • cargo build --locked
  • cargo test --locked (384 tests passed)
  • mkdocs build --strict
  • Independent final diff review approved with no remaining findings
  • GitHub Actions passed: documentation, Ubuntu, and macOS

Risks

Explicit state_path, database_path, audit_log_path, and jobs_run_dir remain supported through the documented 0.x compatibility period. Unsafe assistant overlap now fails closed, including implicit legacy and symlinked Push home layouts.

Related issue

Closes #165

@owainlewis
owainlewis marked this pull request as ready for review July 30, 2026 13:28
@owainlewis
owainlewis merged commit 795f326 into main Jul 30, 2026
4 of 6 checks passed
@owainlewis
owainlewis deleted the codex/165-push-home branch July 30, 2026 13:29
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.

Derive runtime storage from a single Push home

1 participant