Skip to content

docs: notifications + state-isolation design + Strict Installation Decoupling sync#255

Open
celstnblacc wants to merge 2 commits into
mainfrom
docs/notify-design-and-instruction-sync
Open

docs: notifications + state-isolation design + Strict Installation Decoupling sync#255
celstnblacc wants to merge 2 commits into
mainfrom
docs/notify-design-and-instruction-sync

Conversation

@celstnblacc

Copy link
Copy Markdown
Owner

Summary

Two docs commits, one PR:

  1. chore(docs): Strict Installation Decoupling — append the same paragraph to AGENTS.md, CLAUDE.md, GEMINI.md so every agent reads the same constraint: once installed, the project binary must never depend on the local repo path.

  2. docs(spec): CONCEPT-notifications-and-state-isolation.md — full design discussion captured for two coupled future features (lifecycle notifications + state.db isolation outside the repo). 11 sections including prerequisites inventory, 6-tier backup matrix across macOS/Linux/Windows, and onboarding integration via shux onboard. Not yet implemented — this is the spec input for a future /plan-iter run.

Test plan

  • No code changes; docs only.
  • pre-commit hooks passed locally (entrypoint guard, CHANGELOG append-only).
  • CI green on merge.

Why one PR

Both commits are docs-only, both predate any implementation work, both belong on main before the implementation branches start. Splitting would create two CI cycles for zero review-clarity gain — the diff is small and the two changes are clearly separable.

Release impact

docs: / chore(docs): per conventional commits — no version bump. No PyPI publish. Safe to merge.

Generated with Claude Code

newblacc and others added 2 commits May 18, 2026 16:05
Append the same paragraph to AGENTS.md, CLAUDE.md, GEMINI.md:

  Once installed (e.g., to ~/.local/bin), the project binary must
  NEVER depend on the local repository path (~/DevOpsSec) for
  execution, configuration, or data. All paths must be relative
  to the installation root or use standard system config paths
  (~/.config).

Standardizes the no-repo-coupling rule across all three agent
instruction surfaces so every agent reads the same constraint.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CONCEPT-notifications-and-state-isolation.md captures a full design
discussion for two coupled superharness features:

1. Lifecycle notifications — let users opt into Telegram, Slack,
   email, (deferred: Signal) messages on task.created, report_ready,
   review_requested, etc. Credentials in OS keychain only, never in
   the DB or env. Per-channel rate limit + coalescing. Payload-hash
   logging only (never raw content).

2. State isolation — move .superharness/state.db out of the project
   repo to ~/.local/state/superharness/projects/<hash>/state.db so
   it can never be committed by accident. .superharness/ becomes a
   thin config-only directory with an allowlist .gitignore.

Doc covers: schema (notify.db, channels, subscriptions, log), CLI
surface, credential controls, state-isolation rationale, resolved
gotchas (worktree per-path hashing, backup tiers 0-5 covering
iCloud / Google Drive / Dropbox / OneDrive / Box / pCloud / MEGA /
Syncthing / restic / borg / rclone on macOS+Linux+Windows, debug
surface via shux state subcommand), prerequisites inventory
(deps, modules, migrations, tests, hooks, docs), onboarding
integration via shux onboard / shux explain, definition of done.

Not yet implemented — this is the spec input for a future
/plan-iter run.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

2 participants