{"id":49298201,"url":"https://github.com/sara-star-quant/presence","last_synced_at":"2026-04-26T05:01:37.438Z","repository":{"id":353885580,"uuid":"1221223968","full_name":"sara-star-quant/presence","owner":"sara-star-quant","description":"Per-repo memory, outcome telemetry, and a calibrated-confidence gate for Claude Code. Notes survive sessions; success claims need test evidence; your reverts are remembered. Local-only, stdlib runtime.","archived":false,"fork":false,"pushed_at":"2026-04-26T03:18:00.000Z","size":113,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-26T04:24:00.358Z","etag":null,"topics":["agent-memory","agentic-coding","ai-pair-programming","anthropic","calibrated-confidence","claude","claude-code","claude-code-plugin","coding-assistant","developer-productivity","hooks","session-continuity"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sara-star-quant.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-25T23:09:52.000Z","updated_at":"2026-04-26T03:18:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sara-star-quant/presence","commit_stats":null,"previous_names":["sara-star-quant/presence"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/sara-star-quant/presence","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sara-star-quant%2Fpresence","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sara-star-quant%2Fpresence/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sara-star-quant%2Fpresence/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sara-star-quant%2Fpresence/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sara-star-quant","download_url":"https://codeload.github.com/sara-star-quant/presence/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sara-star-quant%2Fpresence/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32286271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"online","status_checked_at":"2026-04-26T02:00:05.962Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-memory","agentic-coding","ai-pair-programming","anthropic","calibrated-confidence","claude","claude-code","claude-code-plugin","coding-assistant","developer-productivity","hooks","session-continuity"],"created_at":"2026-04-26T05:01:34.837Z","updated_at":"2026-04-26T05:01:37.432Z","avatar_url":"https://github.com/sara-star-quant.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# presence\n\n[![CI](https://github.com/sara-star-quant/presence/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/sara-star-quant/presence/actions/workflows/ci.yml)\n[![Latest release](https://img.shields.io/github/v/release/sara-star-quant/presence?sort=semver\u0026cacheSeconds=60)](https://github.com/sara-star-quant/presence/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Python 3.12+](https://img.shields.io/badge/python-3.12%20%7C%203.13%20%7C%203.14-blue)](.github/workflows/ci.yml)\n[![Stdlib only](https://img.shields.io/badge/runtime-stdlib--only-success)](pyproject.toml)\n[![Local only](https://img.shields.io/badge/state-local--only-success)](docs/security.md)\n\nA Claude Code plugin that turns every session into part of a continuum.\n\n`presence` adds four things to Claude Code, globally, with one install and zero per-project setup:\n\n1. **Living project model.** Claude builds and reuses notes about each repo it touches. No more re-deriving the same architecture every session.\n2. **Outcome telemetry.** Tracks what Claude committed, then watches for reverts, amends, and PR closes. Future sessions see \"your last 3 changes here were reverted within 24h\" instead of repeating the same mistake.\n3. **Event digest.** File changes, test failures, and build results that happened between turns are surfaced at the next prompt instead of needing to be polled.\n4. **Calibrated confidence.** The Stop hook checks whether success claims (\"fixed\", \"done\", \"works\") are backed by actual verification (tests run, build green) since the change. Warns when they're not. Optional hard gate on `git commit`/`push`.\n\nState lives in `~/.claude/presence/`, fully local, never uploaded.\n\n\u003e **New in v0.2.0**: the `zerotrust` preset is fully shipped: AES-GCM at-rest encryption with the data key in your OS keychain, a tamper-evident audit log with per-line SHA-256 hash chain, SessionStart fail-closed integrity check, and a `/presence-unlock` flow gating settings writes. See [`docs/zerotrust.md`](docs/zerotrust.md).\n\n## Install\n\n### Via marketplace (once published)\n\n```\n/plugin marketplace add github.com/sara-star-quant/presence\n/plugin install presence\n```\n\n### Local install\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/sara-star-quant/presence/main/install.sh | bash\n```\n\nOr clone and run:\n\n```bash\ngit clone https://github.com/sara-star-quant/presence ~/code/presence\n~/code/presence/install.sh\n```\n\nThe installer symlinks the plugin into `~/.claude/plugins/presence` and creates the state directory at `~/.claude/presence/`. It is idempotent.\n\nFor the Zero-Trust preset's at-rest encryption, also install the `cryptography` library:\n\n```bash\npip install --user cryptography\n```\n\nDefault presets are stdlib-only; `cryptography` is opt-in.\n\n## Verify install\n\nIn any Claude Code session:\n\n```\n/presence-status\n```\n\nYou should see your active preset, the project ID for the current repo, and the size of the model + telemetry stores. For a focused Zero-Trust checklist:\n\n```\n/presence-status --zerotrust\n```\n\n## Presets\n\n`presence` ships with four preset bundles. Switch any time:\n\n```\n/presence-preset use solo-dev\n/presence-preset use team-oss\n/presence-preset use enterprise-strict\n/presence-preset use zerotrust\n```\n\n| Preset | Model | Telemetry | Commit gate | Stop gate | At rest |\n|---|---|---|---|---|---|\n| `solo-dev` (default) | on, terse | on, no PR check | off (advisory only via Stop) | silent (logged, surfaced next session) | plain |\n| `team-oss` | on, verbose | on, optional PR check | warn (advisory text injected) | silent | plain |\n| `enterprise-strict` | on, verbose, audit | on, audit log | block (refuses commit) | block (re-prompts on unverified success) | plain |\n| `zerotrust` | on, encrypted, audit | on, encrypted, audit, no PR check | block | block | AES-GCM + keychain |\n\nCustom presets: drop a `\u003cname\u003e.json` in `~/.claude/presence/presets/` and switch to it.\n\nSee [`docs/zerotrust.md`](docs/zerotrust.md) for the Zero-Trust profile in detail and [`CHANGELOG.md`](CHANGELOG.md) for the per-version diff.\n\n## Uninstall\n\n```\n/plugin uninstall presence\n```\n\nOr, for local install:\n\n```bash\n~/.claude/plugins/presence/install.sh --uninstall\n```\n\nState at `~/.claude/presence/` is preserved by default. Pass `--purge` to also remove state. Under the Zero-Trust preset, also use `/presence-reset --crypto` to rotate the keychain key and wipe encrypted state.\n\n## Privacy\n\n- All state is local. Nothing is ever uploaded.\n- No analytics, no telemetry-to-vendor, no remote calls.\n- The `outcome-check` skill makes one optional `gh` call to read PR status if `gh` is on `$PATH` and authenticated; this hits GitHub's API directly, not any third party. Disable in preset.\n- Under `zerotrust`, even that optional call is disabled.\n\n## Architecture\n\nSee [`docs/architecture.md`](docs/architecture.md) for the full design: what each hook does, how state is laid out, the XML context schema, and how to write a custom preset.\n\n## Disclaimer\n\n`presence` is provided **as is** under the [MIT License](LICENSE), without warranty of any kind, express or implied. The authors and copyright holders (Sara Star Quant LLC) and any contributors are **not responsible** for any damage, data loss, security incident, regression, lost productivity, or other adverse outcome arising from the installation or use of this plugin.\n\nThis project is **not advice** of any kind:\n\n- **Not legal advice.** The security model documented in [`docs/security.md`](docs/security.md) and [`docs/zerotrust.md`](docs/zerotrust.md) is informational. It is not a compliance attestation, certification, or guarantee under any regulatory framework (GDPR, HIPAA, SOC 2, ISO 27001, etc.). If you operate in a regulated environment, consult qualified counsel before relying on this plugin's properties.\n- **Not security advice.** The Zero-Trust preset reduces attack surface and adds layered controls (encryption at rest, audit log, fail-closed integrity, hard commit gates) but is **not** a substitute for proper threat modeling, penetration testing, or operational security review in your specific environment.\n- **Not engineering advice.** The calibrated-confidence gate and the living project model are useful nudges, **not** proofs of correctness. They reduce one common failure mode (asserting completion without verification); they do not replace tests, code review, or your own judgment.\n\nBy installing or using `presence`, you accept full responsibility for:\n\n- Reviewing the source before running it on your system or in any session that touches sensitive data.\n- Verifying that the documented properties (no network egress, local-only state, redaction patterns, encryption format, etc.) actually match what your environment requires.\n- Any downstream consequences of decisions made or claims accepted while presence was active in your sessions, including but not limited to: code committed, code reverted, settings changed, and inferences drawn from the project model or telemetry digest.\n\nThe full legal terms are in [LICENSE](LICENSE). This README's Disclaimer section is an informational summary of the spirit of those terms; in any conflict, the LICENSE controls.\n\n## License\n\nMIT, see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsara-star-quant%2Fpresence","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsara-star-quant%2Fpresence","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsara-star-quant%2Fpresence/lists"}