← back to Dwha Harlequin Onboard
verification/e2e-proof.json
88 lines
{
"intent": "Safely prepare TK-10882 for a one-product DWHA Shopify DRAFT canary followed by a 25/day LaunchAgent cadence.",
"risk_tier": "R4",
"environment": "macstudio3 local dw_unified mirror plus read-only Shopify Admin GraphQL preflight",
"timestamp": "2026-08-31T18:33:00.000Z",
"build_identity": "config/runbook 9e7a440; onboarding hardening a4262a4; Shopify variant fix c5a5e29",
"baseline": {
"coverage": "630 READY after one successful canary, 29 settlement-flagged, 601 clean",
"launchagent": "not installed",
"restore_maps": 1,
"cadence_count": 1,
"prefix_state": "0 ACTIVE Harlequin DWHQ-* and 39 ACTIVE DWHF-335* in local mirror"
},
"checks": [
{
"name": "JavaScript parse and diff hygiene",
"command": "node --check scripts/onboard-batch.mjs; node --check scripts/check-coverage.mjs; git diff --check",
"verdict": "PASS"
},
{
"name": "DWHA coverage query",
"command": "npm run check",
"assertions": ["631 READY", "29 settlement-flagged", "602 clean", "no writes"],
"verdict": "PASS"
},
{
"name": "Onboarding dry-run",
"command": "npm run dry-run",
"assertions": ["only DWHA-* candidates", "658 catalog candidates inspected", "0 Shopify calls", "0 DB writes"],
"verdict": "PASS"
},
{
"name": "Live SKU lookup negative branch",
"artifact": "Shopify GraphQL productVariants exact query for DWHA-570086",
"assertions": ["errors=null", "nodes=[]"],
"verdict": "PASS"
},
{
"name": "Live SKU lookup positive branch",
"artifact": "Shopify GraphQL productVariants exact query for DWHF-335031",
"assertions": ["exact SKU returned", "legacy product ID 7787424448563", "status ACTIVE"],
"verdict": "PASS"
},
{
"name": "LaunchAgent static validation",
"command": "plutil -lint launchd/com.steve.dwha-onboard-daily.plist; test -x /opt/homebrew/bin/node",
"assertions": ["plist OK", "configured Node executable exists", "service remains uninstalled"],
"verdict": "PASS"
},
{
"name": "One-product external mutation and persisted-state assertion",
"command": "node scripts/onboard-batch.mjs --limit 1",
"assertions": [
"Shopify product 7938754412595 is DRAFT",
"Single Roll SKU DWHA-570086 at 269.68",
"Sample SKU DWHA-570086-Sample at 4.25",
"one 1366x1366 image attached",
"harlequin_catalog id 2410 has on_shopify=true and matching product ID",
"restore-map, ledger, and cadence count=1 persisted"
],
"verdict": "PASS"
},
{
"name": "Compensating-delete failure-path exercise against Shopify",
"reason": "Would require deliberately causing and deleting a production-side DRAFT; held under the same R4 approval gate.",
"verdict": "SKIP"
},
{
"name": "LaunchAgent install and first scheduled execution",
"assertions": [
"installed plist byte-matches repository plist",
"plutil lint passes",
"launchctl loaded com.steve.dwha-onboard-daily",
"calendar trigger is Hour=5 Minute=0",
"program is /opt/homebrew/bin/node",
"working directory is the onboarding project",
"runs=0 after bootstrap, so no extra batch fired",
"cadence count, ledger lines, and restore-map remain exactly 1"
],
"verdict": "PASS"
}
],
"cleanup": "Approved canary intentionally retained as a Shopify DRAFT with matching canonical state and restore-map. Approved LaunchAgent is loaded and waiting for its 05:00 trigger; no manual run occurred. The first failed attempt left 44 ignored local image-cache files but zero external/canonical writes.",
"rollback": "For an approved canary, scripts/rollback.mjs DWHA-XXXXXX deletes the created DRAFT, clears the catalog flag, and archives its restore-map.",
"verdict": "PASS",
"monitoring": "First automatic cadence execution is expected at 05:00 America/Los_Angeles; inspect data/launchd-stdout.log, data/launchd-stderr.log, cadence counter, ledger, and restore-maps after that trigger."
}