# Validation record Recorded October 20, 2026 Pacific using Node 24.18.0 on Windows. The final n8n runtime check completed at **2026-10-21 03:53:37 UTC**. ## Verified - `node integrations/n8n/build-workflow.mjs`: generated the self-contained JSON. - `node integrations/n8n/build-demo.mjs`: generated fictional before/after API results and their expected review Markdown without network access. - `node --test integrations/n8n/test/workflow.test.mjs`: **9/9 pass**. Tests execute the exact embedded Code-node bodies in a Node VM with n8n input helpers mocked. They exercise actual app reports, snapshot differences, uncertain receipts, wrong URLs/dates, malformed/error quotes, price/network changes, and untrusted markup. They also verify the portable graph and unsigned-only default. - `npm test` at base revision `fe1a612`: **53/53 pass**. No existing application source or payment logic changed in this integration branch. - One unsigned live POST returned HTTP **402**, and the embedded quote parser returned `payment_required`, `amountUsdc: "0.25"`, `paid: false`, and `recipientIndependentlyVerified: false`. No wallet or signature was used. - `git diff --check`: pass. - Node types and parameter shapes were checked against official n8n source: Manual Trigger 1, Edit Fields 3.4, Code 2, If 2.2, HTTP Request 4.2, Convert to File 1 and Sticky Note 1. The workflow has no credentials, activation, scheduled trigger, shell execution, payment authorization or outbound message node. ## Actual n8n runtime verification `node integrations/n8n/test/runtime.mjs` passed against **n8n 2.44.4** installed only in the ignored `.testnet/n8n-runtime` directory. Installation used `--ignore-scripts`, followed by a targeted `npm rebuild` for `sqlite3` because SQLite requires a native binding. No other dependency install scripts were enabled. No existing n8n installation, database, account or workflow was used. The checker created a fresh isolated SQLite database and used the ordinary n8n CLI `import:workflow` and `execute --id --rawOutput` commands. It imported two inactive copies of the portable workflow: the default unsigned quote and a review-mode copy containing only the bundled fictional fixtures. The actual internal JavaScript task runner executed the Code nodes and expressions. Verified outcomes: - Both workflow copies imported successfully and remained inactive. - The fixture review completed with `human_review_required`, at least one new prompt and one no-longer-flagged prompt. The HTTP node did not execute. - Convert to File produced `agentpage402-review.md`. Its decoded binary bytes exactly matched `fixtures/review.md` after normalizing fixture file line endings. - The default quote branch made an actual unsigned POST and received HTTP **402**. The workflow decoded it as `payment_required`, `amountUsdc: "0.25"`, and `paid: false`. The review node did not execute on this branch. - No wallet, key, signature, payment proof, paid request or automatic purchase was involved. The checker retains logs in its printed isolated directory. It uses info-level logging because n8n emits its raw execution JSON through that logger. Its parser also handles ANSI color sequences and surrounding startup/shutdown output. The Windows runtime warned that a Python runner was unavailable; this template uses JavaScript only, and its JavaScript runner completed both branches. ## Coverage limits The CLI imported and executed the real n8n workflow, but the browser editor, clicking its download button, n8n Cloud, other n8n versions and external task runner deployments were not tested. Binary-file content was verified through the actual CLI execution result. Malformed quotes, uncertain receipts and other failure cases were tested in the focused Node VM suite, not by signing or submitting payments. No settlement, independent chain verification, real paid audit or customer workflow was tested. This is a runtime-tested **manual quote and completed-report review utility**. It is not an autonomous paid agent, live citation monitor or evidence of a sale.