Skip to content

docs: activation fixes, run-outcome reference, and security packet additions - #111

Merged
abrichr merged 1 commit into
mainfrom
docs/activation-and-security-fixes
Aug 2, 2026
Merged

docs: activation fixes, run-outcome reference, and security packet additions#111
abrichr merged 1 commit into
mainfrom
docs/activation-and-security-fixes

Conversation

@abrichr

@abrichr abrichr commented Aug 2, 2026

Copy link
Copy Markdown
Member

What this does

Implements the docs-review fixes for docs.openadapt.ai, in eight parts. Every product fact was verified against origin/main of the source repo named beside it.

1. Run outcomes and halt reasons (new reference page)

docs/reference/run-outcomes.md — one table each for:

  • execution outcomes VERIFIED / COMPLETED_UNVERIFIED / HALTED / FAILED / ROLLED_BACK (openadapt-flow execution_profiles.py, ir.py),
  • transaction outcomes incl. HALTED_BEFORE_EFFECT / RECONCILIATION_REQUIRED (transaction.py),
  • effect-verifier verdicts confirmed / refuted / indeterminate + observed-effect states (ir.py),
  • the seven typed safety-refusal halt codes with per-reason remediation (re-record / teach / adjust deployment / policy decision) (ir.py SafetyRefusalEvidence),
  • hosted Execute lifecycle incl. decision_required (openadapt-cloud src/lib/executeContract.ts),
  • CLI exit codes for replay / run / tutorial / lint / certify / teach (__main__.py).

Linked from troubleshooting, run-reports, first-workflow, get-started, and the CLI reference.

2. "Expected failure" callouts

Get-started drift-halt demo, lint, and certify now carry admonitions saying the nonzero exit is the safety boundary working and which step to continue with. Exit behavior verified: lint exits 1 only at error severity, certify exits 2 on policy failure, drift replay exits 1 on the expected halt.

3. Per-OS install matrix

first-workflow now has tabs for bash/zsh, PowerShell, and cmd.exe — including the cmd.exe double-quote form of pip install "openadapt[browser]" (single quotes fail there) — plus venv guidance, Python 3.10–3.12 check, and the Debian/Ubuntu AT-SPI prerequisites for the native Linux backend (from openadapt-flow docs/desktop/LINUX_NATIVE.md).

4. Visuals

docs/showcase/demo.gif (241 KB) copied from openadapt-flow origin/main into docs/assets/showcase/ and embedded on get-started and first-workflow. The other showcase directories are run artifacts, not images; nothing synthetic added.

5. Glossary completion

Adds capability ladder, certification (vs qualification), effect contract, halt, identity gate, policy, profile, qualification, substrate; BYOC kept. Jargon linked on first use in the get-started pages.

6. Security packet additions

  • commercial/subprocessors.md: providers verified from openadapt-cloud docs/DEPLOY.md (Netlify, Supabase, Modal, Stripe, Resend, GitHub, PostHog, GlitchTip, Google Analytics) + hosted retention/deletion behavior (versioned env-configured policy, fail-closed deletion gate, legal holds, erasure receipts) + data-flow diagram.
  • commercial/vulnerability-disclosure.md: private GitHub advisories for OSS repos, hello@openadapt.ai for hosted (per openadapt-cloud SECURITY.md; security@ exists only as an example VAPID subject, so not used), 5-business-day acknowledgment target.
  • commercial/phi-handling.md: one-page narrative — openadapt-privacy/Presidio scrubbing, the sanitize → review-sanitized → approve-sanitized gate, and the allow-list receipt (receipt.py).
  • Mermaid boundary diagram added to the security packet itself.

7. Public demo target

MockMed documented as the evaluator's first target on first-workflow: demo-record serves it and records the canonical demo; replay with no --url serves it as the replay target (verified in __main__.py). Framed as a local development fixture, not a product outcome.

8. Record-command drift

All record examples now use the explicit record --backend web --url ... form; the demo-profile default (web, with a printed notice) is noted. Verified from _cmd_record: production profiles refuse an implicit backend.

Facts deliberately omitted (could not verify)

  • Concrete hosted retention day-windows: they are deployment env configuration (retentionPolicy.ts), not public constants — the page says to request the current policy version instead.
  • No security@openadapt.ai mailbox could be verified; the disclosure page uses the channels the SECURITY.md files actually name.

Verification

Ran the exact CI steps locally in the worktree: uv sync --locked --extra dev, pytest tests/ -q (132 passed), scripts/validate_docs.py, check_published_version_claims.py --offline, and mkdocs build --strict — all green. Anchors and the gif verified present in the built site.

🤖 Generated with Claude Code

…ditions

Activation and first-run:
- Add a per-OS install matrix (bash/zsh, PowerShell, cmd.exe quoting for
  pip extras, venv guidance, Python version check, Linux AT-SPI
  prerequisites) to the first-workflow page.
- Embed the openadapt-flow showcase demo.gif on the get-started and
  first-workflow pages (asset copied from openadapt-flow docs/showcase).
- Document the bundled MockMed fixture as the evaluator's first target
  (demo-record; replay with no --url serves it).
- Add "expected failure" callouts where lint, certify, and the drift-halt
  demo intentionally exit nonzero, with the exit codes verified from
  openadapt-flow main.
- Fix record-command drift: examples now show the explicit
  `record --backend web --url` form and note the demo-profile default.

Reference:
- New "Run outcomes and halt reasons" page: one table each for execution
  outcomes, transaction outcomes, effect-verifier verdicts, typed
  safety-refusal halt codes with per-reason remediation, the hosted
  Execute lifecycle states, and CLI exit codes; all values sourced from
  openadapt_flow (execution_profiles, ir, transaction, __main__) and the
  openadapt-cloud execute contract. Linked from troubleshooting,
  run-reports, first-workflow, get-started, and the CLI reference.
- Complete the glossary: capability ladder, certification vs
  qualification, effect contract, halt, identity gate, policy, profile,
  substrate; jargon linked on first use in the get-started pages.

Security packet:
- New subprocessors page (providers read from the openadapt-cloud deploy
  configuration) with hosted retention/deletion behavior and a data-flow
  diagram; boundary diagram also added to the security packet.
- New vulnerability-disclosure page (private GitHub advisories for OSS,
  hello@openadapt.ai for hosted; 5-business-day acknowledgment target).
- New one-page PHI-handling narrative tying together openadapt-privacy
  scrubbing, the sanitize/review/approve gate, and the allow-list receipt.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@abrichr
abrichr merged commit f2b1daf into main Aug 2, 2026
5 checks passed
@abrichr
abrichr deleted the docs/activation-and-security-fixes branch August 2, 2026 16:35
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