Prepare Acceptance
Prepare an implemented change for a separate human acceptance session. Exercise it as a human user or
real client would, report clear defects, wait for CI once no defects remain, and produce concise
evidence for the code currently checked out. Fixes and automated validation belong to separate
caller-managed steps when used. PR and commit identity establish final CI and handoff alignment; they
are not prerequisites for exercising the product.
Required inputs
Resolve these from the caller before acting:
- approved requirements, scenarios, design, test plan when one exists, and task artifacts;
- caller-supplied implementation summary or completion evidence identifying delivered behavior;
- evidence output directory;
- unresolved-assumptions ledger path, when one exists;
- verification scope:
full;
targeted, naming the affected flows, directly dependent flows, a concise impact rationale, and
prior full-pass evidence to retain, plus the caller's attestation that this scope covers the
tracked changes since that baseline; or
evidence-only, identifying prior flow evidence whose coverage revision exactly matches the
current tracked contents and supplying the caller's attestation of that content match.
If source-of-truth artifacts or the evidence directory are missing, report what is missing and stop
before flow execution. Do not infer product behavior from implementation alone. When an approved
test plan exists, treat its required and activated conditional AT-* flows, evidence requirements,
authorized effects, and permitted substitutes as authoritative. Use full when the caller does not
supply a scope or no trustworthy full-pass baseline exists. Targeted and evidence-only reuse depend on
the caller's impact or content attestation: reconcile it with the approved flow inventory, but do not
independently inspect a diff. Use evidence-only only when the caller attests that no tracked product
contents changed after the recorded coverage revision; PR alignment, pushing the already-tested commit,
waiting for CI, or a Validator run that made no tracked change do not invalidate flow evidence. When no
assumptions-ledger path is supplied, use
<evidence-directory>/acceptance-assumptions.md and create it if needed. Keep this preparation
autonomous: preserve product, scope, or design ambiguity for the later human acceptance session
instead of asking the user here.
Procedure
1. Establish the test context
- Read repository instructions, the approved artifacts, the unresolved-assumptions ledger, and the
existing automated-validation evidence supplied by the caller.
- Treat the code currently present in the checked-out worktree as the test target. Record local
HEAD and tracked worktree status as context, but do not require a clean worktree or PR-head
equality before exercising flows. Do not inspect or reconstruct a diff.
- Use the project's normal setup, build, install, seed, and start commands when needed to expose the
current worktree through its real public surface. These are test setup, not automated validation.
Do not require an executable to embed a Git SHA, compare executable and commit timestamps, or infer
source identity from a semantic version string.
2. Exercise the product like a user
When an approved test plan exists, use its required and activated conditional AT-* obligations as the
executable flow inventory, regardless of how the plan structures them. Identify applicable HT-*
obligations separately and carry them forward only as human-review instructions, never as flows for the
agent to execute or support with passing evidence.
Otherwise derive a concise list of representative user or client flows from the approved artifacts and
the caller-supplied implementation evidence. Do not inspect a diff to discover behavior. A flow is a
meaningful journey or operation through a public surface, not an individual requirement scenario, input
permutation, internal branch, or automated-test case. Group equivalent variants within a flow and choose
typical data, configuration, and roles that demonstrate the delivered behavior.
- For
full scope, exercise every required or activated conditional AT-* flow from the approved test
plan. When no test plan exists, exercise the representative flows that collectively cover the
delivered user or client journeys and primary public surfaces. Do not turn every specification
scenario into a separate manual case.
- For targeted scope, exercise only the affected flows and directly dependent flows named by the
caller. Require an existing
<evidence-directory>/acceptance-flow-evidence.md from a prior full
pass, plus the caller's impact attestation and rationale bounding why flows outside the scope are
unaffected; it may group them by surface or subsystem rather than enumerate them individually.
Reconcile that scope with the approved flow inventory without inspecting a diff. Do not expand a
targeted pass into a full pass merely because the revision changed. If the scope omits an obvious
dependency or cannot be reconciled with the approved flow list, report the scope gap instead of
silently guessing or rerunning everything.
- For
evidence-only scope, do not exercise flows or replace screenshots. Require
acceptance-flow-evidence.md to cover the representative flow inventory and identify a coverage
revision, plus the caller's attestation that current tracked contents match that revision. Do not
independently inspect a diff to establish the match. Continue directly to current-head CI and
handoff collation. If the attestation is absent, reports changed contents, or coverage is incomplete,
reject evidence-only reuse and require a full or targeted scope from the caller.
Exercise the selected flows through the same public surface a real user or client would use.
Do not omit a required or activated conditional AT-* flow because it is slow, expensive, needs
credentials, or causes external effects when the approved test plan explicitly authorizes those
conditions. Use a mock, dry run, sandbox, or other substitute only when that flow explicitly permits
it. If its prerequisites are unavailable or it cannot be exercised safely within its approved
conditions, record the impediment and do not claim the full pass or final acceptance evidence is
complete.
- For a web, mobile, desktop, or terminal UI, navigate and operate it through its real interface.
- For an API, call it through its documented HTTP, SDK, or CLI surface as a client would. Record a
sanitized request shape, response status and relevant response excerpt, plus observable side effects.
- For a CLI or library, invoke its public commands or API as a consumer would and retain representative
input, output, and resulting state.
- For background behavior, trigger it through the normal entry point and inspect the user-visible or
externally observable result.
Use typical representative data, configuration, and roles. Run only the setup and build commands
needed to expose the checked-out product for hands-on use. Do not run automated unit, integration, or
end-to-end suites, linters, or other automated validation commands; those belong to the caller. Do not
fuzz, try bizarre inputs, attempt to break the product, or build an exhaustive edge-case matrix. Test
an error, empty, boundary, or transient state only when it is an approved flow or necessary to complete
a normal flow.
For each selected flow, record the action, observed outcome, concise evidence, and any limitation. Verify the
resulting state instead of relying on task completion or agent assertions.
When one or more clear implementation defects appear, do not fix them. Continue through every
remaining in-scope flow that can still be exercised safely and independently; one finding alone is
not a reason to end the scoped pass. Stop early only when a defect makes the remaining in-scope flows
unreachable, unsafe, or incapable of producing trustworthy evidence. Record every unexercised
in-scope flow and the defect that blocked it.
After every pass, write or update <evidence-directory>/acceptance-flow-evidence.md. Record the
representative executable flow inventory, including each applicable AT-* identifier when the test
plan supplies one, the current verification scope and rationale, and for each flow its most recent
tested SHA, outcome, evidence paths, and limitations. List applicable HT-* obligations separately as
human-review instructions without execution outcomes. A full pass establishes the baseline. A
targeted pass replaces evidence for its selected flows and retains prior evidence for flows the caller
identified as unaffected, preserving the original SHA and provenance rather than relabeling it as
current-head evidence. Label retained evidence as caller-scoped provenance, not as an independently
reverified current-head observation. Record the revision whose tracked contents this combined coverage
supports according to the caller's impact or content attestation.
Write <evidence-directory>/acceptance-findings.md with the tested SHA and all clear defects found,
including each affected flow, expected and observed behavior, concise reproduction steps, and evidence
paths. On a targeted pass, mark a prior finding resolved only when its affected flow is in scope and
the observed behavior now passes; retain other prior findings with their original status and SHA. Do
not wait for CI or write final acceptance evidence while a current finding remains. Report the
aggregated findings clearly so the caller can run its fix and validation process.
Append product, scope, or design ambiguity to the unresolved-assumptions ledger with the decision
needed and likely impact; never silently choose an interpretation or report ambiguity as a clear
defect. After a fix, require the caller to provide a new impact scope. Use a full pass only when the
change is broad, cross-cutting, or its impact cannot be bounded confidently.
3. Capture visual evidence
For any UI—including web, mobile, desktop, and TUI—store screenshots under
<evidence-directory>/acceptance-screenshots/ as the flows are exercised. Capture at least one
meaningful stable result for every in-scope UI flow, and more only when multiple states are needed to
understand that flow. Retain prior screenshots for out-of-scope flows with their original SHA and
provenance. Do not capture loading, empty, error, responsive, or before/after states unless they are
part of the flow being tested.
Record for every screenshot:
- flow demonstrated;
- expected behavior and what the reviewer should notice;
- route or command, representative input, and user role when relevant;
- tested head SHA;
- concise text equivalent.
Screenshots support the observed interaction; they are not proof on their own. For non-visual surfaces,
retain the corresponding client request/output evidence instead.
4. Wait for current-head CI
Before invoking codagent:wait-ci, require a clean tracked worktree, a committed and pushed local
HEAD, and a matching PR head. If any publication or alignment condition is absent, stop and tell the
caller to commit, push, or align the PR as needed; do not perform those actions in this skill.
Invoke codagent:wait-ci only after that alignment and after the required full or targeted pass finds
no clear defects, or evidence-only reuse satisfies its caller attestation. After CI returns,
immediately re-read local HEAD and the PR headRefOid. Require the returned head_sha, current local
HEAD, and current PR head to be identical; otherwise report that final handoff evidence cannot yet
be produced. If the caller reports tracked product-content changes after flow testing, require a new
caller-supplied impact scope and run that verification before producing final evidence. A push that
publishes already-tested contents, PR alignment, or a no-change Validator run does not invalidate the
pass.
passed: continue.
failed or comments: do not write final acceptance-test or handoff evidence or claim readiness.
When the failure or comment is clearly attributable to the implementation and actionable in the
repository, add it to <evidence-directory>/acceptance-findings.md with the tested SHA, failing
check or comment, relevant log or link, and concise expected-versus-observed behavior. Report it as
a clear defect so the caller can run its fix and validation process. Otherwise, report the external,
environmental, or infrastructure blocker without classifying it as an implementation defect.
pending: do not claim readiness. Report the pending checks and stop for the caller to resume or
retry later.
- no configured checks: continue only after recording that CI coverage is absent.
Treat skipped, neutral, cancelled, stale, and timed-out checks as explicit evidence states, never as
proof that associated behavior passed.
5. Write acceptance-test evidence
Write acceptance-test.md in the evidence directory only after CI passes or is explicitly absent, the
required verification makes no tracked changes, acceptance-flow-evidence.md covers the current
tracked contents under the caller's supplied scope or content attestation, every required or activated
conditional AT-* flow or derived representative flow has passing evidence from either the full
baseline or a subsequent targeted pass, and any automated-validation evidence supplied by the caller
applies to the current pushed head. Do not require automated-validation evidence when none was
supplied; explicitly record its absence instead. Include:
- exact current local/PR head SHA;
- the representative flows, their outcomes, most recent tested SHA, and whether evidence came from the
full baseline or a targeted post-fix pass; label retained observations as caller-scoped provenance
rather than independently reverified current-head observations;
- the caller-supplied impact scope and rationale for retaining unaffected-flow evidence;
- clear-defect status and any prior fix evidence supplied by the caller;
- existing automated-validation and CI status without rerunning either, explicitly noting when
automated-validation evidence was not supplied;
- screenshot metadata and text equivalents for every UI flow;
- representative API, CLI, library, or background-operation evidence for non-UI flows;
- unavailable flows, environment limitations, warnings, and residual risks;
- new unresolved assumptions added to the canonical ledger.
List any applicable approved HT-* obligations separately as human-review instructions. Do not
perform or claim human-only testing.
Prefer concise conclusions with durable log paths over raw log dumps.
6. Prepare the human handoff
Collate existing implementation, acceptance-test, available automated-validation, and CI evidence. Do
not run new acceptance tests, capture replacement screenshots, or fix issues during collation. If
required evidence is missing or stale, stop and require the producing phase to run again. The explicit
absence of caller-supplied automated-validation evidence is not missing evidence.
Write acceptance-handoff.md in the evidence directory with:
- Decision brief — unresolved decisions, delivered behavior, overall validation status, known
limitations, and suggested human review path.
- Revision identity — repository, PR URL, current head SHA, generation time, tracked worktree
status, full-baseline SHA, and subsequent targeted-pass SHAs.
- Flow evidence — each supported flow, what was done, the observed result, its evidence, most
recent tested SHA, baseline or targeted provenance, and any limitation; label retained observations
as caller-scoped provenance rather than independently reverified current-head observations.
- Automated validation and CI — concise status plus durable logs or links produced by separate
validation and CI steps; explicitly say when automated-validation evidence was not supplied.
- Visual and client evidence — screenshot metadata/text equivalents, API or CLI evidence, and
practical human review instructions.
- Residual risk — unavailable flows, environment limitations, warnings, and relevant omissions.
- Assumption handoff — canonical ledger path plus a concise summary of every unresolved item.
7. Verify readiness
Before reporting readiness:
- Require a clean tracked worktree.
- Require local
HEAD, PR head, acceptance-test.md, and acceptance-handoff.md to name the same
current revision. Require acceptance-flow-evidence.md to account for the representative flow
inventory under the caller's supplied scope or content attestation and preserve the actual SHA of
every retained or refreshed observation.
- Require CI evidence for that SHA to be passing, or explicitly record that no checks exist.
- Verify every required or activated conditional
AT-* flow is accounted for, every referenced
evidence and screenshot path exists, and every UI flow has visual evidence from the baseline or an
applicable targeted pass. Verify applicable HT-* obligations are listed only as human-review
instructions.
- Ensure persisted evidence does not expose secrets, credentials, tokens, private data, or unrelated
user content.
- Record the current PR state for the caller without changing it.
Use revision identity to show that final CI and handoff evidence describe the code under review.
Preserved observations remain tied to their original revisions and claim only caller-scoped
applicability to the current head. Do not require or inspect embedded executable revision metadata.
Report the exact ready-for-acceptance SHA, PR URL, handoff path, unresolved-decision count, CI status,
and known limitations. Do not mark the PR ready or perform human acceptance. The caller owns any
machine-readable status file, terminal marker, or control-flow protocol.
Out of scope
- Do not obtain human acceptance; leave that to the later human acceptance session.
- Do not fix implementation defects, modify tracked source or approved artifacts, commit, push, or
alter PR metadata. Disposable or ignored setup and build outputs are allowed.
- Do not run automated test suites, linters, other automated checks, or automated validation; the
caller owns validation and reinvocation. Setup and builds needed to use the product are allowed.
- Do not change approved requirements, product scope, or design to make tests pass.
- Do not archive the change, mark the PR ready, merge, or release.
- Do not perform fuzzing, adversarial testing, or exhaustive edge-case exploration.
- Do not treat successful task execution, agent summaries, or screenshots alone as proof of behavior.
1---2name: prepare-acceptance3description: Exercises an implemented change through its user and client flows, reports clear defects without fixing them, waits for current-head CI, and prepares concise evidence for human review when preparing a change for acceptance, gathering review evidence, performing human-style flow testing, or invoking codagent:prepare-acceptance.4---56## Prepare Acceptance78Prepare an implemented change for a separate human acceptance session. Exercise it as a human user or9real client would, report clear defects, wait for CI once no defects remain, and produce concise10evidence for the code currently checked out. Fixes and automated validation belong to separate11caller-managed steps when used. PR and commit identity establish final CI and handoff alignment; they12are not prerequisites for exercising the product.1314### Required inputs1516Resolve these from the caller before acting:1718- approved requirements, scenarios, design, test plan when one exists, and task artifacts;19- caller-supplied implementation summary or completion evidence identifying delivered behavior;20- evidence output directory;21- unresolved-assumptions ledger path, when one exists;22- verification scope:23 - `full`;24 - `targeted`, naming the affected flows, directly dependent flows, a concise impact rationale, and25 prior full-pass evidence to retain, plus the caller's attestation that this scope covers the26 tracked changes since that baseline; or27 - `evidence-only`, identifying prior flow evidence whose coverage revision exactly matches the28 current tracked contents and supplying the caller's attestation of that content match.2930If source-of-truth artifacts or the evidence directory are missing, report what is missing and stop31before flow execution. Do not infer product behavior from implementation alone. When an approved32test plan exists, treat its required and activated conditional `AT-*` flows, evidence requirements,33authorized effects, and permitted substitutes as authoritative. Use `full` when the caller does not34supply a scope or no trustworthy full-pass baseline exists. Targeted and evidence-only reuse depend on35the caller's impact or content attestation: reconcile it with the approved flow inventory, but do not36independently inspect a diff. Use `evidence-only` only when the caller attests that no tracked product37contents changed after the recorded coverage revision; PR alignment, pushing the already-tested commit,38waiting for CI, or a Validator run that made no tracked change do not invalidate flow evidence. When no39assumptions-ledger path is supplied, use40`<evidence-directory>/acceptance-assumptions.md` and create it if needed. Keep this preparation41autonomous: preserve product, scope, or design ambiguity for the later human acceptance session42instead of asking the user here.4344### Procedure4546#### 1. Establish the test context47481. Read repository instructions, the approved artifacts, the unresolved-assumptions ledger, and the49 existing automated-validation evidence supplied by the caller.502. Treat the code currently present in the checked-out worktree as the test target. Record local51 `HEAD` and tracked worktree status as context, but do not require a clean worktree or PR-head52 equality before exercising flows. Do not inspect or reconstruct a diff.533. Use the project's normal setup, build, install, seed, and start commands when needed to expose the54 current worktree through its real public surface. These are test setup, not automated validation.55 Do not require an executable to embed a Git SHA, compare executable and commit timestamps, or infer56 source identity from a semantic version string.5758#### 2. Exercise the product like a user5960When an approved test plan exists, use its required and activated conditional `AT-*` obligations as the61executable flow inventory, regardless of how the plan structures them. Identify applicable `HT-*`62obligations separately and carry them forward only as human-review instructions, never as flows for the63agent to execute or support with passing evidence.64Otherwise derive a concise list of representative user or client flows from the approved artifacts and65the caller-supplied implementation evidence. Do not inspect a diff to discover behavior. A flow is a66meaningful journey or operation through a public surface, not an individual requirement scenario, input67permutation, internal branch, or automated-test case. Group equivalent variants within a flow and choose68typical data, configuration, and roles that demonstrate the delivered behavior.6970- For `full` scope, exercise every required or activated conditional `AT-*` flow from the approved test71 plan. When no test plan exists, exercise the representative flows that collectively cover the72 delivered user or client journeys and primary public surfaces. Do not turn every specification73 scenario into a separate manual case.74- For targeted scope, exercise only the affected flows and directly dependent flows named by the75 caller. Require an existing `<evidence-directory>/acceptance-flow-evidence.md` from a prior full76 pass, plus the caller's impact attestation and rationale bounding why flows outside the scope are77 unaffected; it may group them by surface or subsystem rather than enumerate them individually.78 Reconcile that scope with the approved flow inventory without inspecting a diff. Do not expand a79 targeted pass into a full pass merely because the revision changed. If the scope omits an obvious80 dependency or cannot be reconciled with the approved flow list, report the scope gap instead of81 silently guessing or rerunning everything.82- For `evidence-only` scope, do not exercise flows or replace screenshots. Require83 `acceptance-flow-evidence.md` to cover the representative flow inventory and identify a coverage84 revision, plus the caller's attestation that current tracked contents match that revision. Do not85 independently inspect a diff to establish the match. Continue directly to current-head CI and86 handoff collation. If the attestation is absent, reports changed contents, or coverage is incomplete,87 reject evidence-only reuse and require a full or targeted scope from the caller.8889Exercise the selected flows through the same public surface a real user or client would use.9091Do not omit a required or activated conditional `AT-*` flow because it is slow, expensive, needs92credentials, or causes external effects when the approved test plan explicitly authorizes those93conditions. Use a mock, dry run, sandbox, or other substitute only when that flow explicitly permits94it. If its prerequisites are unavailable or it cannot be exercised safely within its approved95conditions, record the impediment and do not claim the full pass or final acceptance evidence is96complete.9798- For a web, mobile, desktop, or terminal UI, navigate and operate it through its real interface.99- For an API, call it through its documented HTTP, SDK, or CLI surface as a client would. Record a100 sanitized request shape, response status and relevant response excerpt, plus observable side effects.101- For a CLI or library, invoke its public commands or API as a consumer would and retain representative102 input, output, and resulting state.103- For background behavior, trigger it through the normal entry point and inspect the user-visible or104 externally observable result.105106Use typical representative data, configuration, and roles. Run only the setup and build commands107needed to expose the checked-out product for hands-on use. Do not run automated unit, integration, or108end-to-end suites, linters, or other automated validation commands; those belong to the caller. Do not109fuzz, try bizarre inputs, attempt to break the product, or build an exhaustive edge-case matrix. Test110an error, empty, boundary, or transient state only when it is an approved flow or necessary to complete111a normal flow.112113For each selected flow, record the action, observed outcome, concise evidence, and any limitation. Verify the114resulting state instead of relying on task completion or agent assertions.115116When one or more clear implementation defects appear, do not fix them. Continue through every117remaining in-scope flow that can still be exercised safely and independently; one finding alone is118not a reason to end the scoped pass. Stop early only when a defect makes the remaining in-scope flows119unreachable, unsafe, or incapable of producing trustworthy evidence. Record every unexercised120in-scope flow and the defect that blocked it.121122After every pass, write or update `<evidence-directory>/acceptance-flow-evidence.md`. Record the123representative executable flow inventory, including each applicable `AT-*` identifier when the test124plan supplies one, the current verification scope and rationale, and for each flow its most recent125tested SHA, outcome, evidence paths, and limitations. List applicable `HT-*` obligations separately as126human-review instructions without execution outcomes. A full pass establishes the baseline. A127targeted pass replaces evidence for its selected flows and retains prior evidence for flows the caller128identified as unaffected, preserving the original SHA and provenance rather than relabeling it as129current-head evidence. Label retained evidence as caller-scoped provenance, not as an independently130reverified current-head observation. Record the revision whose tracked contents this combined coverage131supports according to the caller's impact or content attestation.132133Write `<evidence-directory>/acceptance-findings.md` with the tested SHA and all clear defects found,134including each affected flow, expected and observed behavior, concise reproduction steps, and evidence135paths. On a targeted pass, mark a prior finding resolved only when its affected flow is in scope and136the observed behavior now passes; retain other prior findings with their original status and SHA. Do137not wait for CI or write final acceptance evidence while a current finding remains. Report the138aggregated findings clearly so the caller can run its fix and validation process.139140Append product, scope, or design ambiguity to the unresolved-assumptions ledger with the decision141needed and likely impact; never silently choose an interpretation or report ambiguity as a clear142defect. After a fix, require the caller to provide a new impact scope. Use a full pass only when the143change is broad, cross-cutting, or its impact cannot be bounded confidently.144145#### 3. Capture visual evidence146147For any UI—including web, mobile, desktop, and TUI—store screenshots under148`<evidence-directory>/acceptance-screenshots/` as the flows are exercised. Capture at least one149meaningful stable result for every in-scope UI flow, and more only when multiple states are needed to150understand that flow. Retain prior screenshots for out-of-scope flows with their original SHA and151provenance. Do not capture loading, empty, error, responsive, or before/after states unless they are152part of the flow being tested.153154Record for every screenshot:155156- flow demonstrated;157- expected behavior and what the reviewer should notice;158- route or command, representative input, and user role when relevant;159- tested head SHA;160- concise text equivalent.161162Screenshots support the observed interaction; they are not proof on their own. For non-visual surfaces,163retain the corresponding client request/output evidence instead.164165#### 4. Wait for current-head CI166167Before invoking `codagent:wait-ci`, require a clean tracked worktree, a committed and pushed local168`HEAD`, and a matching PR head. If any publication or alignment condition is absent, stop and tell the169caller to commit, push, or align the PR as needed; do not perform those actions in this skill.170171Invoke `codagent:wait-ci` only after that alignment and after the required full or targeted pass finds172no clear defects, or evidence-only reuse satisfies its caller attestation. After CI returns,173immediately re-read local `HEAD` and the PR `headRefOid`. Require the returned `head_sha`, current local174`HEAD`, and current PR head to be identical; otherwise report that final handoff evidence cannot yet175be produced. If the caller reports tracked product-content changes after flow testing, require a new176caller-supplied impact scope and run that verification before producing final evidence. A push that177publishes already-tested contents, PR alignment, or a no-change Validator run does not invalidate the178pass.179180- `passed`: continue.181- `failed` or `comments`: do not write final acceptance-test or handoff evidence or claim readiness.182 When the failure or comment is clearly attributable to the implementation and actionable in the183 repository, add it to `<evidence-directory>/acceptance-findings.md` with the tested SHA, failing184 check or comment, relevant log or link, and concise expected-versus-observed behavior. Report it as185 a clear defect so the caller can run its fix and validation process. Otherwise, report the external,186 environmental, or infrastructure blocker without classifying it as an implementation defect.187- `pending`: do not claim readiness. Report the pending checks and stop for the caller to resume or188 retry later.189- no configured checks: continue only after recording that CI coverage is absent.190191Treat skipped, neutral, cancelled, stale, and timed-out checks as explicit evidence states, never as192proof that associated behavior passed.193194#### 5. Write acceptance-test evidence195196Write `acceptance-test.md` in the evidence directory only after CI passes or is explicitly absent, the197required verification makes no tracked changes, `acceptance-flow-evidence.md` covers the current198tracked contents under the caller's supplied scope or content attestation, every required or activated199conditional `AT-*` flow or derived representative flow has passing evidence from either the full200baseline or a subsequent targeted pass, and any automated-validation evidence supplied by the caller201applies to the current pushed head. Do not require automated-validation evidence when none was202supplied; explicitly record its absence instead. Include:203204- exact current local/PR head SHA;205- the representative flows, their outcomes, most recent tested SHA, and whether evidence came from the206 full baseline or a targeted post-fix pass; label retained observations as caller-scoped provenance207 rather than independently reverified current-head observations;208- the caller-supplied impact scope and rationale for retaining unaffected-flow evidence;209- clear-defect status and any prior fix evidence supplied by the caller;210- existing automated-validation and CI status without rerunning either, explicitly noting when211 automated-validation evidence was not supplied;212- screenshot metadata and text equivalents for every UI flow;213- representative API, CLI, library, or background-operation evidence for non-UI flows;214- unavailable flows, environment limitations, warnings, and residual risks;215- new unresolved assumptions added to the canonical ledger.216217List any applicable approved `HT-*` obligations separately as human-review instructions. Do not218perform or claim human-only testing.219220Prefer concise conclusions with durable log paths over raw log dumps.221222#### 6. Prepare the human handoff223224Collate existing implementation, acceptance-test, available automated-validation, and CI evidence. Do225not run new acceptance tests, capture replacement screenshots, or fix issues during collation. If226required evidence is missing or stale, stop and require the producing phase to run again. The explicit227absence of caller-supplied automated-validation evidence is not missing evidence.228229Write `acceptance-handoff.md` in the evidence directory with:2302311. **Decision brief** — unresolved decisions, delivered behavior, overall validation status, known232 limitations, and suggested human review path.2332. **Revision identity** — repository, PR URL, current head SHA, generation time, tracked worktree234 status, full-baseline SHA, and subsequent targeted-pass SHAs.2353. **Flow evidence** — each supported flow, what was done, the observed result, its evidence, most236 recent tested SHA, baseline or targeted provenance, and any limitation; label retained observations237 as caller-scoped provenance rather than independently reverified current-head observations.2384. **Automated validation and CI** — concise status plus durable logs or links produced by separate239 validation and CI steps; explicitly say when automated-validation evidence was not supplied.2405. **Visual and client evidence** — screenshot metadata/text equivalents, API or CLI evidence, and241 practical human review instructions.2426. **Residual risk** — unavailable flows, environment limitations, warnings, and relevant omissions.2437. **Assumption handoff** — canonical ledger path plus a concise summary of every unresolved item.244245#### 7. Verify readiness246247Before reporting readiness:2482491. Require a clean tracked worktree.2502. Require local `HEAD`, PR head, `acceptance-test.md`, and `acceptance-handoff.md` to name the same251 current revision. Require `acceptance-flow-evidence.md` to account for the representative flow252 inventory under the caller's supplied scope or content attestation and preserve the actual SHA of253 every retained or refreshed observation.2543. Require CI evidence for that SHA to be passing, or explicitly record that no checks exist.2554. Verify every required or activated conditional `AT-*` flow is accounted for, every referenced256 evidence and screenshot path exists, and every UI flow has visual evidence from the baseline or an257 applicable targeted pass. Verify applicable `HT-*` obligations are listed only as human-review258 instructions.2595. Ensure persisted evidence does not expose secrets, credentials, tokens, private data, or unrelated260 user content.2616. Record the current PR state for the caller without changing it.262263Use revision identity to show that final CI and handoff evidence describe the code under review.264Preserved observations remain tied to their original revisions and claim only caller-scoped265applicability to the current head. Do not require or inspect embedded executable revision metadata.266267Report the exact ready-for-acceptance SHA, PR URL, handoff path, unresolved-decision count, CI status,268and known limitations. Do not mark the PR ready or perform human acceptance. The caller owns any269machine-readable status file, terminal marker, or control-flow protocol.270271### Out of scope272273- Do not obtain human acceptance; leave that to the later human acceptance session.274- Do not fix implementation defects, modify tracked source or approved artifacts, commit, push, or275 alter PR metadata. Disposable or ignored setup and build outputs are allowed.276- Do not run automated test suites, linters, other automated checks, or automated validation; the277 caller owns validation and reinvocation. Setup and builds needed to use the product are allowed.278- Do not change approved requirements, product scope, or design to make tests pass.279- Do not archive the change, mark the PR ready, merge, or release.280- Do not perform fuzzing, adversarial testing, or exhaustive edge-case exploration.281- Do not treat successful task execution, agent summaries, or screenshots alone as proof of behavior.