SameDayDesk sells a bounded POST /extract/batch attempt: one to five public HTTPS URLs, caller-selected fields, 0.01 USDC. A later comparison of two already-held JSON artifacts is free, local, and does not fetch. Paid freshness and offline comparison stay distinct. Installation grants no payment authority.
POST /extract/batch
Current paid HTTP and MCP inventories live on the merchant. This page does not freeze a route count. Failed, partial, and missing rows stay visible. Observation freshness is unknown unless you supply a clock and a horizon. charged: true is not useful output. Current source labels are untrusted, not buyer proof. Purchasing never requires publishing or referrals.
charged: true
Public customer example 0.2.3 at https://github.com/epistemedeus/x402-url-extractor/tree/ef46e2b5213b9436e5cc4339a159c8ae837db880/examples/customer-x402. Requires Node.js 22.x and a full Git checkout, not a packed tarball. Default commands are unpaid preflight against the live merchant, not an offline fixture. They sign nothing. Inspect and edit fixtures/authorization-batch.json yourself before any --approve purchase. Optional attempt receipt and read-only reconcile are separate. Reconcile an unknown payment outcome instead of automatically retrying. This page includes no keys, secret URLs, or purchase.
fixtures/authorization-batch.json
--approve
git clone https://github.com/epistemedeus/x402-url-extractor.git cd x402-url-extractor git checkout ef46e2b5213b9436e5cc4339a159c8ae837db880 cd examples/customer-x402 node --version # must report v22.x npm ci npm start
Backward-compatible single URL: GET https://agents.samedaydesk.com/extract. The practical multi-URL job is POST https://agents.samedaydesk.com/extract/batch.
GET https://agents.samedaydesk.com/extract
POST https://agents.samedaydesk.com/extract/batch
From the same examples/customer-x402 directory after npm ci. The recipe does not fetch, pay, retry, or contact the merchant. Selected fields are required. An absent selected field is coverage unknown, not deletion. Reordered rows with the same source URL are order, not content change. Fixture output is owner proof, not buyer demand.
examples/customer-x402
npm ci
npm run page-change -- job --job ./fixtures/page-change/customer-job/job.json npm run page-change -- compare \ --before ./fixtures/page-change/customer-job/before.json \ --after ./fixtures/page-change/customer-job/after.json \ --fields title,description,headings \ --format text
From the same pinned checkout and directory, the explicit-record CLI maps only buyer-named JSON Pointers and validates the result against the buyer's local JSON Schema. It does not fetch or infer. In the product and organization/contact examples, missing sku and email are optional. The command below is a separate truthful required-field example: it keeps one usable product record, labels the row missing required sku invalid, accounts for the failed source row, writes all three artifacts, and exits 1. Read the pinned explicit-record workflow.
sku
email
npm run record -- \ --input ./fixtures/record/product-jsonld/delivery/extract-batch.json \ --mapping ./fixtures/record/required-sku/mapping.json \ --schema ./fixtures/record/required-sku/schema.json \ --out /tmp/samedaydesk-record-required-sku
From a SameDayDesk checkout, preview exactly which fields would be copied into a neomorphic.task-memory.observation.v1 reference, then write only with --opt-in. The helper does not fetch or pay. Default page-change and record outputs stay intact. The projection uses a reviewed allowlist, not a harmlessness guarantee. A schema-valid export is user-selected unverified evidence, never automatic public-safe certification. Private source text, authorization, receipt secrets, and legal or customer identifiers are omitted and cannot be selected. Failed and incomplete rows remain visible. The caller supplies stable task, subject, revision sequence, and current UTC clock values; the helper does not invent them. If an original evidence URL is missing, the export labels the recipe URL as a locator rather than evidence. Later task-memory import is a separate step.
neomorphic.task-memory.observation.v1
--opt-in
NOW="$(date -u +%Y-%m-%dT%H:%M:%SZ)" node tools/result-reuse/cli.mjs preview \ --input tools/result-reuse/fixtures/accepted-page-change.json \ --task-id vendor-watch --subject vendor-page-result --sequence 1 --clock "$NOW" node tools/result-reuse/cli.mjs export \ --input tools/result-reuse/fixtures/accepted-page-change.json \ --task-id vendor-watch --subject vendor-page-result --sequence 1 --clock "$NOW" \ --opt-in --out /tmp/samedaydesk-reuse-observation.json
From a SameDayDesk checkout, run one-shot recurring recipes against an immutable prior. Operator supplies --prior (where required), --schedule, --clock, and an observation source. Primary developer-agent workflows are source-change-alert and issue-to-work-brief. Outcomes are unchanged, changed, partial, stale baseline, timed out, or error. Priors are never overwritten; write a new sequenced artifact after review. C31 page-change reports use pilot/page-change-brief/v1 at https://agents.samedaydesk.com/recipes/page-change. C34 extract-batch records use samedaydesk.extract-batch.v0 with skills at https://agents.samedaydesk.com/.well-known/skills/index.json. buyer-setup-trace is live free inspection of the AgentCash/x402 runtime and stops at unpaid 402 without signing or inferring wallet ownership from addresses. Payment receipts are never automatically replayed. Optional local Neomorphic observation export stays filesystem-local when shared mode is undeployed. Offline runs avoid merchant charges; operator CPU and network remain costs_unknown. Listed batch price 0.01 USDC is not invoked here. No cron is installed. Owner QA issues are not demand.
--prior
--schedule
--clock
source-change-alert
issue-to-work-brief
pilot/page-change-brief/v1
samedaydesk.extract-batch.v0
buyer-setup-trace
# Required: --prior, --schedule, --clock, --fields; plus one of --current-fixture | --live-safe | --sources | --candidate | --issue-url | --issue-fixture node tools/recurring-job-recipes/cli.mjs --list node tools/recurring-job-recipes/cli.mjs --recipe source-change-alert \ --prior tools/recurring-job-recipes/fixtures/priors/source-change.prior.json \ --current-fixture tools/recurring-job-recipes/fixtures/current/example-unchanged.json \ --fields title --schedule daily --clock 2026-09-09T16:00:00.000Z --horizon 168 node tools/recurring-job-recipes/cli.mjs --recipe issue-to-work-brief \ --prior tools/recurring-job-recipes/fixtures/priors/issue-brief.prior.json \ --issue-url https://github.com/epistemedeus/samedaydesk/issues/1 \ --schedule weekly --clock 2026-09-09T16:00:00.000Z node tools/recurring-job-recipes/cli.mjs --recipe buyer-setup-trace \ --schedule once --clock 2026-09-09T16:00:00.000Z
# Live free inspection only. Stops at unpaid 402. Never signs. Never infers wallet ownership from payTo. # Local merchant: sibling x402-url-extractor (name x402-merchant) or MERCHANT_INPUT_ROOT. Pin f9dd59ae. No network clone. node tools/recurring-job-recipes/cli.mjs --recipe buyer-setup-trace \ --schedule once --clock "$(date -u +%Y-%m-%dT%H:%M:%SZ)" \ --gateway-origin https://agents.samedaydesk.com