Skip to content

docs: align Capture lifecycle and canonical quickstart - #10

Draft
abrichr wants to merge 1 commit into
mainfrom
codex/capture-beta-lifecycle
Draft

docs: align Capture lifecycle and canonical quickstart#10
abrichr wants to merge 1 commit into
mainfrom
codex/capture-beta-lifecycle

Conversation

@abrichr

@abrichr abrichr commented Aug 18, 2026

Copy link
Copy Markdown
Member

What changed

  • move openadapt-capture from Experimental to Beta in the canonical lifecycle registry
  • describe Capture as the canonical native screen, input, timing, window, media, and structural-evidence recorder
  • replace the stale multi-command setup with the canonical launcher quickstart
  • explain that production qualification belongs to the exact workflow version and deployment
  • update the profile validator for the lifecycle and quickstart contracts

Why

The old registry and profile caused search systems to describe the complete Capture package as Experimental. The old quickstart also bypassed the supported launcher path. These statements did not match the released component role or the target product path.

The repository lifecycle label does not replace production readiness. The target product supports production-qualified workflows through exact evidence, verification, and deployment contracts. Capture's custom Chrome extension remains a separate prototype component.

Validation

  • python scripts/check_profile.py
  • validated canonical product truth and 34 Markdown links
  • git diff --check
  • branch starts from current origin/main

@abrichr abrichr changed the title docs: classify Capture as Beta docs: align Capture lifecycle and canonical quickstart Aug 18, 2026
abrichr added a commit that referenced this pull request Aug 18, 2026
- Split the summary policy binding into acceptance_policy_sha256 (pinned
  private acceptance policy digest) and lifecycle_policy_sha256 so the two
  authorities cannot be collapsed into one field.
- Replace the free-form condition inventory with a closed qualification
  contract: campaign contract/outcome digests, a task-condition inventory
  digest, and a zero excluded-trial count.
- Domain-separate the target release and artifact inventory digests so a
  digest cannot be replayed across targets or claim scopes.
- Accept millisecond UTC retention timestamps, matching the canonical form
  the private acceptance certificate records; refuse any other precision.
- Apply minimum_trials_per_condition to observed trials, and keep the
  policy floor of three on required trials per condition.
- Keep governed-repair model calls informational while refusing any
  healthy-path model call through the failure taxonomy.
- Keep this PR mechanism-only: restore the profile README and keep
  Capture's public label Experimental (the Beta relabel stays in draft
  PR #10 until the final evidence lands). All Production memberships and
  admission lists remain empty.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
abrichr added a commit that referenced this pull request Aug 19, 2026
* feat: gate Production lifecycle on acceptance evidence

* feat: harden Production lifecycle admission

* feat: bind acceptance policy and keep the lifecycle PR mechanism-only

- Split the summary policy binding into acceptance_policy_sha256 (pinned
  private acceptance policy digest) and lifecycle_policy_sha256 so the two
  authorities cannot be collapsed into one field.
- Replace the free-form condition inventory with a closed qualification
  contract: campaign contract/outcome digests, a task-condition inventory
  digest, and a zero excluded-trial count.
- Domain-separate the target release and artifact inventory digests so a
  digest cannot be replayed across targets or claim scopes.
- Accept millisecond UTC retention timestamps, matching the canonical form
  the private acceptance certificate records; refuse any other precision.
- Apply minimum_trials_per_condition to observed trials, and keep the
  policy floor of three on required trials per condition.
- Keep governed-repair model calls informational while refusing any
  healthy-path model call through the failure taxonomy.
- Keep this PR mechanism-only: restore the profile README and keep
  Capture's public label Experimental (the Beta relabel stays in draft
  PR #10 until the final evidence lands). All Production memberships and
  admission lists remain empty.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
HOLD -- do not merge until the acceptance evidence exists.

This is the visible maturity-label change for Capture, isolated so it can
ship as one action under the one-visible-change-at-the-end rule.

The stale-fact half of this branch (the canonical launcher quickstart)
merged separately in #12 and is already on main.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@abrichr
abrichr force-pushed the codex/capture-beta-lifecycle branch from fb55714 to 4f9d62d Compare August 19, 2026 21:44
@abrichr

abrichr commented Aug 19, 2026

Copy link
Copy Markdown
Member Author

Split: the stale-fact half merged, the relabel is held

Reviewed under the rule that no visible maturity label changes until the acceptance evidence exists (one visible change at the end).

Merged as #12 (d60445b), rebased on current main:

  • profile/README.md "Start Locally": the published pip install openadapt + four-command openadapt flow ... sequence cannot run as written, because the base launcher resolves openadapt-flow[hosted] and Playwright ships only through the openadapt[browser] extra. Replaced with python -m pip install --upgrade 'openadapt[browser]' + openadapt quickstart.
  • scripts/check_profile.py: the canonical-quickstart contract and the refusal of the superseded manual path.

One correction was made while merging: the description said the quickstart "lints". It does not. openadapt_flow.tutorial.run_tutorial stages are record, compile, certify, run under the standard profile with independent effect verification, and receipt. Lint moved to the follow-on guide sentence.

Held on this branch (4f9d62d), now reduced to exactly the visible change so it can ship in one action later:

  • REPOSITORY_LIFECYCLE.md, repository-lifecycle.yml, profile/README.md "Native capture" row, and check_profile.py expected lifecycle: openadapt-capture Experimental to Beta.

The current decision is that Capture goes straight from Experimental to Production once its evidence passes, so a Beta step is a holding step. Keep this branch only if that decision changes.

Dropped, not carried onto the held branch:

  • the new ## Production Qualification section in profile/README.md and its required-marker contract. It stated "Browser is the available end-to-end reference path" and asserted present-tense production qualification across Desktop, RDP, Citrix, private-network, and regulated workflows. There is no signed acceptance record yet, and feat: gate Production lifecycle on acceptance evidence #11 landed the admission mechanism with every Production membership and admission list empty, so that copy would publish a production claim ahead of its evidence.

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