docs(testing): integrate VIEW016 P65 execution provenance

This commit is contained in:
lefarcen
2026-10-21 23:53:46 +08:00
parent 49fa071285
commit 0853312cc1
2 changed files with 239 additions and 0 deletions
+104
View File
@@ -0,0 +1,104 @@
# VIEW-016: P65 native selector replay
The same cached browser page completed **9/9 native permission choices** through
Free A → paid Go B → Free A. Free allowed Flash and blocked value/top; Go allowed
all three. This qualifies the UI subpath only. The whole case remains partial:
funding order, debit replay, negative balance and cache/transaction fault recovery
were not exercised. No model request or model charge was generated.
The containing Git commit adds only this README and
[the provenance binding](view016-p65-binding.json). It does not change the original
`e2e/ui/api-security-view016.test.ts` (`95ef78db…`), product code, assertions,
viewport or lifecycle. It is not the execution HEAD. Historical fixed44 failures
and earlier metadata remain unchanged.
## Executed source and evidence
| Role | Product / actual test HEAD |
| --- | --- |
| AMR | `789c75341710453f31bad491a4085abe2ecb5d6b` / `510f704068adfde3fa8845542dfe4eaa35d17be8` |
| OD runtime | `c237b9355b791da32be37bbc674f781a7fb91fec` / same SHA |
| Landing, metadata only | `ece32876b6b0fcf317151f6746ca4075e94940e3` |
Original fixture handle73992 exited0. First actual UI handle36252 exited0,
with owner pre/post0 and16 stable input hashes. The test took56.3s (suite57.7s).
The independent nonauthor review is `07c5e8a353fcf79d0d97a7618d709ad199f8035d5881eeefdb77c46f3c4e0938`;
the69-object private raw manifest is `88c7be4f105c6036223220f44344def21354ed88c5f3b721290ab80a03ad7b17`.
Screenshots, trace and actual JSON are retained privately; no credentials or
private actor/workspace identifiers are in this commit.
Viewport1280×720/DPR1, worker1/retries0. Homepage → model chip → first Flash
used ordinary native clicks. The remaining same-tab A/B/A matrix used5 native
clicks and4 Enter attempts on disabled options. No prompt fill, added pre-click
wait, force click or viewport change. The own OD namespace ended not-running,
all app PIDs null, cleanupErrors empty. Parent AMR shutdown remains the root
scheduler's responsibility.
The first UI launcher was rejected before child/browser startup after its owner
lease expired; its failure remains separate, not a product failure or retry.
A new owner was authorized against the same database, with the original successful
actor/funds/device unchanged in a new execution directory. No fixture was rerun.
The binding records original and executed fixture hashes and this continuity.
CLI binary was actually built on43 (`6c8411c8…`); a neutral actual65 proof binds
all157 tracked CLI source/dependency files (`c8789337…`). No65 rebuild is claimed.
Requirements271/design134/cuts518 and frozenQA1177 define the sample. Later
execution-metadata revisions do not create new business evidence.
## Reproduce through a new canonical owner
1. Pin dedicated AMR/OD worktrees and exact product/test heads. The tested OD
product already contains the UI test. The older Yang delivery lane remains
historical: use the actual c237 runtime lane (`f2866314…`) for this sample,
rather than calling this metadata commit the executed product. Follow the
root [daemon data contract](../../../AGENTS.md#daemon-data-directory-contract)
and shared tools-dev suite; never use the user's daily tree.
2. From the dedicated OD execution tree, run its pinned dependencies once:
```sh
corepack pnpm install --frozen-lockfile
```
3. Have the canonical QA owner prepare a fresh private cfg/binding/setup with
actual model pricing/category evidence, current CLI binary/source proof and
1,000,000-credit controlled retained-fund baseline for each space. Use the
companion production fixture helper through the unique-label owner wrapper:
```text
corepack pnpm --filter @vela/api exec tsx test/e2e/link-view016-fixture.ts <FRESH_VIEW_DIR>
```
Its source SHA is `32fb5272…`. Real signup, workspace membership, durable paid
checkout/projection, production funds writer and device authorize201/approve/
consume must succeed. Do not reuse this historical actor/device/owner, patch
Key scope or proceed after a fixture failure. Controlled synthetic paid
prerequisites do not claim a real Stripe payment.
4. Bind the new fixture/device, exact current DB/URLs/source heads and inputs
into a private command spec. The existing launcher only sets `VIEW016_RUNTIME`
and changes cwd to the dedicated OD root before this exact command:
```text
corepack pnpm --filter @open-design/e2e exec playwright test -c lib/playwright/api-security.config.ts
```
Invoke it from the AMR owner wrapper, never bypassing inherited ownership:
```sh
env -u CI -u NODE_DEBUG -u OD_PLAYWRIGHT_WORKERS -u OD_PLAYWRIGHT_TIMEOUT -u OD_PLAYWRIGHT_FULLY_PARALLEL -u OD_E2E_NAMESPACE -u OD_E2E_RUN_NAMESPACE GIT_NO_REPLACE_OBJECTS=1 python3 "$RUN_ROOT/run-owned-command.py" "$UNIQUE_UI_LABEL" "$PRIVATE_UI_SPEC"
```
The UI spec runs the reviewed launcher (`dc7c15e3…`) with explicit OD root and
fresh fixture directory. Outer budget900s; existing test300s. Keep all native
interactions/assertions unchanged and send no model prompt.
5. Poll that same handle to terminal once. Preserve raw UI JSON, reports,
screenshots, trace, source/input hashes and own cleanup under private0600
permissions. Retain failures unaltered and obtain a genuine nonauthor review.
This sample is evidence, not an automatic acceptance for another version.
PR8924 remains open against `feat/coding-plan-billing-preflight`; no merge,
integration acceptance or release is claimed. The integration owner retains the
shared branch writer role. Prior paid-B/header/Free-A issue records are related
history; this sample does not prove a shared root cause or universal closure.
@@ -0,0 +1,135 @@
{
"schemaVersion": 1,
"caseKey": "server:VIEW-016",
"containingGitCommit": "The Git commit containing this binding is delivery metadata, not an execution HEAD.",
"qualification": {
"candidate": 65,
"nativeUI": "passed_9_of_9",
"wholeCase": "partial",
"modelRequests": 0,
"uncovered": [
"funding source order",
"debit replay idempotency",
"negative balance",
"cache/transaction fault recovery"
],
"trueIndependentReviewSha256": "07c5e8a353fcf79d0d97a7618d709ad199f8035d5881eeefdb77c46f3c4e0938",
"rawManifestSha256": "88c7be4f105c6036223220f44344def21354ed88c5f3b721290ab80a03ad7b17",
"rawObjectCount": 69,
"safeResultSha256": "e1b18d408a2f99c738f3530507f08eb400347aa026980480baae616429dfe559"
},
"sourceTuple": {
"amr": "789c75341710453f31bad491a4085abe2ecb5d6b",
"open-design": "c237b9355b791da32be37bbc674f781a7fb91fec",
"od-landing": "ece32876b6b0fcf317151f6746ca4075e94940e3"
},
"actualSourceBinding": {
"amr": "510f704068adfde3fa8845542dfe4eaa35d17be8",
"od": "c237b9355b791da32be37bbc674f781a7fb91fec"
},
"sourceRoles": {
"amr": {
"productionBase": "789c75341710453f31bad491a4085abe2ecb5d6b",
"testHead": "510f704068adfde3fa8845542dfe4eaa35d17be8"
},
"od": {
"productionBase": "c237b9355b791da32be37bbc674f781a7fb91fec",
"testHead": "c237b9355b791da32be37bbc674f781a7fb91fec"
},
"landing": {
"productionBase": "ece32876b6b0fcf317151f6746ca4075e94940e3",
"execution": "metadata_only"
}
},
"actualSources": {
"UI": "95ef78db039af9d68be212745af0c453376c9c0cc6038d0d1439ac870724fcb3",
"launcher": "dc7c15e3fc2bd19e3583820af3ac65f0ef7cbf7f5e60420436103b1c90eefd73",
"runtimeExplicitLane": "f2866314933412c079b47e54534390e28ea287a1b09c69570310b3b2f9aa0f0a",
"fixture": "32fb527234f3dfd17cadd0c9cfd3314435b73ecfba4eb4a18289264f60514dc3",
"ownedGuard": "5f629b81eca7e81213568149084e187dc6d01e323602d18194f47f64d89015c6"
},
"deliveryScope": "Only this binding and README. Existing remote UI source95ef remains byte-exact. Historical Yang PR lane is not relabeled as the newer product-c237 runtime lane; reproduction pins the actual runtime product.",
"authority": {
"requirementsRevision": 271,
"designRevision": 134,
"effectiveCutsRevision": 518,
"QAAtPreparation": 1177,
"definitionSha256": "0ba2e288ccaf91d80f479f36fdae6d76c9dd7e55dcc11543b0b25665007a1787",
"executionMetadataUpdates": "Later QA metadata writes are not new definition/business evidence."
},
"execution": {
"fixtureOriginalHandle": 73992,
"fixtureExitCode": 0,
"actualUIOriginalHandle": 36252,
"actualUIExitCode": 0,
"testDurationSeconds": 56.3,
"suiteDurationSeconds": 57.7,
"nativeViewport": {
"width": 1280,
"height": 720,
"deviceScaleFactor": 1
},
"workers": 1,
"retries": 0,
"matrix": {
"FreeAFirst": [
false,
true,
true
],
"PaidGoB": [
false,
false,
false
],
"FreeAReturn": [
false,
true,
true
]
},
"matrixMeaning": "aria-disabled by Flash/value/top category; false represents missing aria-disabled and enabled selection",
"nativeActions": {
"clicks": 5,
"keyboardEnterOnDisabled": 4
},
"promptFill": false,
"forceClick": false,
"addedPreclickWait": false,
"modelsGenerated": 0,
"cleanup": "own OD namespace stopped; all apps idle/pid null; cleanupErrors empty; parent canonical left to root",
"ownerPrePostExitCode": 0,
"sourceInputsStable": 16
},
"fixtureContinuity": {
"freshFixtureSHA": "f9ba1d19731e3c3912863b6005e87f11725cb84c381bee7da99f6ad5b019c7f4",
"executedFixtureSHA": "ccda6fa2ae8e2e58cb90a0ea2a9a868f6d3a95c7de73439b20770edfeeeae936",
"deviceReceiptSHA": "1625af8ee85fff4b25c02ced05475c0b84df2cd337acd64d587138e8e4fd834e",
"meaning": "Original fixture succeeded once. Owner later expired before browser; rejected UI attempt preserved with0browser/0actions. Root authorized new owner binding in new directory; parsed cfg identical, only JSON serialization changed; all actor/key/funds/device values unchanged. No second fixture or payment."
},
"CLI": {
"actualBuildCandidate": 43,
"binarySha256": "6c8411c8cc439bc4c88d4e3cf58858687deb530b278841c0e4711421738d727a",
"neutralActual65SourceEquivalenceSHA": "c87893371b628416bae67e20bbac279631955f96cdc18bb29574fab37364af64",
"trackedCLIByteEqualFiles": 157,
"new65BuildClaimed": false
},
"history": {
"fixed44": "Four Free value/top native failures remain preserved; new65 result does not rewrite historical source/raw.",
"issues": [
"APISEC-C20-002",
"LINK-C21-VIEW-016-001",
"LINK-C21-VIEW-016-002"
],
"issueClosure": "Only this65 native sample is qualified; no universal root-cause or whole-case closure."
},
"privacy": "Raw traces/cookies/keys/actor/workspace identifiers/runtime connection URLs remain in private archive0600. This binding includes only nonsecret provenance hashes.",
"delivery": {
"PR": 8924,
"base": "feat/coding-plan-billing-preflight",
"remoteBranch": "qa/link-security-regressions-yang-20261021",
"merged": false,
"integrationAcceptance": false,
"rootOwnsFeishuWrite": true
}
}