Appropriate use
Use when engineering marks a defect ready for QA, a candidate build contains a fix, or a previously intermittent issue needs confirmation.
Determines whether a reported defect is fully fixed in the intended build and whether related behaviour remains safe across the agreed regression scope.
This page defines the behaviour, controls, evidence, and outputs required from the skill. It does not claim that a language model can enforce security or correctness by wording alone.
Use when engineering marks a defect ready for QA, a candidate build contains a fix, or a previously intermittent issue needs confirmation.
Do not use when the original expected behaviour is unresolved, the fixed build cannot be identified, or the environment cannot reproduce the relevant conditions.
Each phase has explicit inputs and outputs. Approval gates are hard stops bound to exact versions and hashes.
Resolve the original defect revision, approved expectation, original evidence, affected versions, proposed fix PR, candidate deployment, and known workaround.
Rebuild the shortest faithful reproduction using original role, data, platform, timing, configuration, and network conditions.
When safe and available, confirm the test detects the problem on an affected build. If unavailable, record the reason and use approved original evidence.
Verify the deployed artifact includes the intended fix and no unrelated environment change invalidates the comparison.
Execute the original scenario on the candidate build, record all attempts, and compare against the exact expected result and original failure signature.
Test nearby states, negative paths, roles, platforms, recovery, and data persistence based on the fix blast radius.
Classify the result as fully fixed, partially fixed, not fixed, blocked, inconclusive, or regressed elsewhere. Separate symptom removal from root-cause confidence.
Update the defect, attach evidence, recommend the proper automated test layer, and record any remaining risk or follow-up ticket.
An approval cannot be reused after its environment, source, action plan, or approved document changes.
| Gate | Decision | Required binding |
|---|---|---|
| 1 | Gate 1 · approve fix target | Approval stores approver, role, timestamp, context hash, approved document hash, expiry, and invalidation state. |
| 2 | Gate 2 · confirm result | Approval stores approver, role, timestamp, context hash, approved document hash, expiry, and invalidation state. |
| 3 | Gate 3 · publish verification | Approval stores approver, role, timestamp, context hash, approved document hash, expiry, and invalidation state. |
Attempt outcomes remain separate from these workflow results. Errors, cancellations, and invalid context are never silently converted into a pass.
The original failure no longer occurs and required related regression checks pass.
The main symptom improved but some approved behaviour or affected scope remains incorrect.
The original controlled failure still occurs in the candidate build.
The fix resolves the original issue but introduces another release-relevant failure.
The fix cannot be verified because the candidate, prerequisite, data, or environment is unavailable.
Evidence cannot distinguish a real fix from timing, environment, or intermittent behaviour.
Evidence has provenance, capture context, privacy classification, retention, and integrity metadata. A convenient artifact is not automatically sufficient proof.
| Claim | Primary evidence | Required validation |
|---|---|---|
| Original defect | Issue revision and original evidence | The verification targets the same approved expectation. |
| Baseline | Affected-build result or approved historical evidence | Why red proof is available or unavailable is recorded. |
| Candidate identity | Deployment manifest | The intended fix commits are present. |
| Original path | Assertion-specific evidence | The previous failure signature is explicitly checked. |
| Regression scope | Impact-based scenario results | Included and excluded related coverage is visible. |
| Intermittency | Attempt sequence and timing | A pass after an assertion failure is not treated as FIXED. |
These controls belong in the runtime, connector permissions, sandbox, renderer, storage layer, and review process.
Verification stops when the deployed candidate does not contain the approved fix.
The expected result cannot be changed merely to match the implementation.
All attempts remain visible, including environment and automation errors.
A reduced frequency or changed symptom does not automatically become FIXED.
A new failure is tracked separately while remaining part of the release decision.
The verification comment records build, context hash, evidence, and approver.
The first applicable high-severity outcome takes precedence. A manual override is recorded separately and never rewrites the calculated result.
The fix target or required verification conditions cannot be established.
The original defect remains or the expected behaviour is still unmet.
Material residual behaviour or scope remains.
The original issue is fixed, but optional risk or separate non-blocking work remains.
The original defect and required regression scope pass in the verified candidate.
The workflow documents what it cannot prove and what further evidence would change confidence.
Human summaries are generated from validated structured records. They are not maintained as separate, drifting sources of truth.
verification-context.jsonVersioned output produced by the workflow.
baseline-result.mdVersioned output produced by the workflow.
candidate-attestation.jsonVersioned output produced by the workflow.
verification-plan.mdVersioned output produced by the workflow.
attempt-ledger.jsonlVersioned output produced by the workflow.
evidence-manifest.jsonVersioned output produced by the workflow.
regression-results.yamlVersioned output produced by the workflow.
verification-comment.mdVersioned output produced by the workflow.
verification-report.htmlVersioned output produced by the workflow.
artifacts/qa/verify-fix/<run-id>/ ├── verification-context.json ├── baseline-result.md ├── candidate-attestation.json ├── verification-plan.md ├── attempt-ledger.jsonl ├── evidence-manifest.json ├── regression-results.yaml ├── verification-comment.md └── verification-report.html
Verify fix QA-5520 in player 4.11.5. Reproduce the original offline reboot issue and check reconnect, cached playback, and a second reboot.
Verification: PARTIALLY FIXED Original issue: The reboot loop no longer occurs. Remaining problem: After reconnection, the player displays the latest playlist but reports the previous playlist version for approximately three minutes. Regression checks: - Cached playback: PASS - First reboot: PASS - Reconnect metadata: FAIL - Second reboot: PASS Next action: Keep QA-5520 open or split the remaining metadata issue after Product confirms impact.
The written skill is only one layer. The repository, runtime, connectors, evidence storage, and publication path must implement these requirements.
Determines whether a reported defect is fully fixed in the intended build and whether related behaviour remains safe across the agreed regression scope.