{"schemaVersion":"1.0","generatedFrom":"runtime-registry","seller":{"name":"JustHandled Labs","support":"https://justhandledlabs.com"},"payment":{"protocol":"x402","scheme":"exact","network":"eip155:8453","asset":{"symbol":"USDC","contract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","decimals":6},"receiver":"0xd7edc83c55c994850a14604a628639c3599665bc","sourceOfTruth":"Payment-Required response header","productPriceFields":["price","priceBaseUnits"]},"privacy":{"rawInputsPersisted":false,"customerResultsPersisted":false,"maintainedPublicDataSnapshots":true,"maintainedDataNote":"Selected maintained-data products retain normalized public-source snapshots under one-way query fingerprints; customer inputs and complete customer results are not stored.","commercialTelemetryDocument":"https://justhandled-agent-gateway.netlify.app/telemetry.md"},"count":32,"products":[{"id":"shopify-product-csv-preflight","title":"Shopify Product CSV Preflight","category":"Commerce","summary":"Check normalized Shopify product rows for missing identity fields, duplicate SKUs, unsafe image URLs, and overwrite hazards.","limitations":["Checks normalized JSON rows, not a live Shopify store.","A READY result is a preflight signal, not an import guarantee."],"inputSchema":{"type":"object","required":["rows"],"properties":{"rows":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":[],"additionalProperties":true}},"mode":{"enum":["new","overwrite"]},"existing_handles":{"type":"array","maxItems":1000,"items":{"type":"string"}},"overwrite_required_columns":{"type":"array","maxItems":100,"items":{"type":"string"}}},"additionalProperties":false},"sampleInput":{"rows":[{"Handle":"linen-shirt","Title":"Linen Shirt","Variant SKU":"LS-001","Image Src":"https://example.com/ls.jpg"}],"mode":"new"},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/shopify-product-csv-preflight/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/shopify-product-csv-preflight","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/shopify-product-csv-preflight","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#shopify-product-csv-preflight","priceBaseUnits":"50000"},{"id":"image-to-sku-match-checker","title":"Image to SKU Match Checker","category":"Commerce","summary":"Match supplied image paths to a SKU roster and flag missing, extra, unknown, or colliding assets.","limitations":["Works from supplied filenames and roster evidence only.","Does not inspect, upload, or modify images."],"inputSchema":{"type":"object","required":["roster","files"],"properties":{"roster":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["sku"],"additionalProperties":true}},"files":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["path"],"additionalProperties":true}},"sku_pattern":{"type":"string","maxLength":300}},"additionalProperties":false},"sampleInput":{"roster":[{"sku":"LS-001","expected_count":1}],"files":[{"path":"images/LS-001-front.jpg"}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/image-to-sku-match-checker/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/image-to-sku-match-checker","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/image-to-sku-match-checker","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#image-to-sku-match-checker","priceBaseUnits":"50000"},{"id":"utm-link-consistency-checker","title":"UTM Link Consistency Checker","category":"Marketing","summary":"Check campaign links for missing UTMs, duplicates, case drift, policy violations, and possible PII.","limitations":["Possible-PII checks are conservative heuristics.","Does not visit links or verify downstream analytics."],"inputSchema":{"type":"object","required":["links"],"properties":{"links":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","url"],"additionalProperties":true}},"policy":{"type":"object","properties":{"required":{"type":"array","items":{"type":"string"}},"allowed_values":{"type":"object"}},"additionalProperties":false}},"additionalProperties":false},"sampleInput":{"links":[{"id":"hero","url":"https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=launch"}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/utm-link-consistency-checker/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/utm-link-consistency-checker","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/utm-link-consistency-checker","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#utm-link-consistency-checker","priceBaseUnits":"50000"},{"id":"gitignore-coverage-preflight","title":"Gitignore Coverage Preflight","category":"Developer Tools","summary":"Check supplied paths and ignore patterns for uncovered or tracked sensitive-looking files.","limitations":["Implements a conservative portable subset of gitignore matching.","Does not read a repository or alter Git state."],"inputSchema":{"type":"object","required":["paths"],"properties":{"paths":{"type":"array","minItems":1,"maxItems":2000,"items":{"type":"string"}},"patterns":{"type":"array","maxItems":1000,"items":{"type":"string"}},"tracked_paths":{"type":"array","maxItems":2000,"items":{"type":"string"}}},"additionalProperties":false},"sampleInput":{"paths":["src/index.ts",".env"],"patterns":[".env"],"tracked_paths":[]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/gitignore-coverage-preflight/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/gitignore-coverage-preflight","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/gitignore-coverage-preflight","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#gitignore-coverage-preflight","priceBaseUnits":"50000"},{"id":"one-click-unsubscribe-header-checker","title":"One-Click Unsubscribe Header Checker","category":"Email","summary":"Check normalized marketing-message evidence for List-Unsubscribe and RFC 8058 one-click headers.","limitations":["Checks supplied header evidence only.","Does not send mail or certify provider delivery behavior."],"inputSchema":{"type":"object","required":["messages"],"properties":{"messages":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","message_type","headers"],"additionalProperties":true}}},"additionalProperties":false},"sampleInput":{"messages":[{"id":"m1","message_type":"marketing","headers":{"List-Unsubscribe":"<https://example.com/unsubscribe/1>","List-Unsubscribe-Post":"List-Unsubscribe=One-Click"},"body_text":"Unsubscribe here."}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/one-click-unsubscribe-header-checker/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/one-click-unsubscribe-header-checker","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/one-click-unsubscribe-header-checker","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#one-click-unsubscribe-header-checker","priceBaseUnits":"50000"},{"id":"npm-publish-payload-preflight","title":"npm Publish Payload Preflight","category":"Developer Tools","summary":"Check an npm pack manifest for missing entrypoints, absent runtime output, sensitive files, and baseline drift.","limitations":["Checks supplied package metadata and pack paths only.","Does not execute lifecycle scripts or publish a package."],"inputSchema":{"type":"object","required":["package","pack_files"],"properties":{"package":{"type":"object"},"pack_files":{"type":"array","minItems":1,"maxItems":5000,"items":{"type":"string"}},"previous_files":{"type":"array","maxItems":5000,"items":{"type":"string"}}},"additionalProperties":false},"sampleInput":{"package":{"name":"example","version":"1.0.0","main":"dist/index.js"},"pack_files":["package.json","dist/index.js"]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/npm-publish-payload-preflight/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/npm-publish-payload-preflight","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/npm-publish-payload-preflight","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#npm-publish-payload-preflight","priceBaseUnits":"50000"},{"id":"redirect-map-preflight","title":"Redirect Map Preflight","category":"Web Operations","summary":"Check a redirect map for invalid targets, self-redirects, chains, loops, and missing legacy sources.","limitations":["Checks a normalized redirect map, not deployed server behavior.","Does not follow remote redirects or modify configuration."],"inputSchema":{"type":"object","required":["redirects"],"properties":{"redirects":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["source","destination"],"additionalProperties":true}},"baseline_sources":{"type":"array","maxItems":2000,"items":{"type":"string"}}},"additionalProperties":false},"sampleInput":{"redirects":[{"source":"/old","destination":"/new"}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/redirect-map-preflight/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/redirect-map-preflight","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/redirect-map-preflight","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#redirect-map-preflight","priceBaseUnits":"50000"},{"id":"subtitle-timeline-qa","title":"Subtitle Timeline QA","category":"Media","summary":"Flag invalid cue timing, overlaps, empty captions, and excessive reading speed in normalized subtitle data.","limitations":["Does not parse vendor-specific styling extensions.","Reading-speed thresholds are review aids, not accessibility certification."],"inputSchema":{"type":"object","required":["cues"],"properties":{"cues":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","start_ms","end_ms","text"],"additionalProperties":true}},"max_characters_per_second":{"type":"number","exclusiveMinimum":0}},"additionalProperties":false},"sampleInput":{"cues":[{"id":"1","start_ms":0,"end_ms":2000,"text":"Welcome."}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/subtitle-timeline-qa/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/subtitle-timeline-qa","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/subtitle-timeline-qa","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#subtitle-timeline-qa","priceBaseUnits":"50000"},{"id":"calendar-invite-timezone-preflight","title":"Calendar Invite Timezone Preflight","category":"Productivity","summary":"Check normalized iCalendar events for floating time, boundary, DATE, sequence, and recurrence hazards.","limitations":["Does not expand recurrence rules or simulate calendar clients.","Timezone checks depend on runtime IANA timezone data."],"inputSchema":{"type":"object","required":["events"],"properties":{"events":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["uid","dtstart","dtend"],"additionalProperties":true}}},"additionalProperties":false},"sampleInput":{"events":[{"uid":"event-1","dtstart":"20260801T140000Z","dtend":"20260801T150000Z","value_type":"DATE-TIME","sequence":0}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/calendar-invite-timezone-preflight/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/calendar-invite-timezone-preflight","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/calendar-invite-timezone-preflight","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#calendar-invite-timezone-preflight","priceBaseUnits":"50000"},{"id":"filename-portability-preflight","title":"Filename Portability Preflight","category":"Productivity","summary":"Flag reserved names, invalid characters, trailing dots, case collisions, Unicode collisions, and long paths.","limitations":["Path-length risk is configurable and environment-dependent.","Does not rename, move, or delete files."],"inputSchema":{"type":"object","required":["paths"],"properties":{"paths":{"type":"array","minItems":1,"maxItems":5000,"items":{"type":"string","maxLength":4096}},"max_path_length":{"type":"integer","minimum":1,"maximum":32767}},"additionalProperties":false},"sampleInput":{"paths":["assets/logo.svg","docs/Guide.pdf"],"max_path_length":240},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/filename-portability-preflight/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/filename-portability-preflight","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/filename-portability-preflight","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#filename-portability-preflight","priceBaseUnits":"50000"},{"id":"promise-action-evidence-checker","title":"Promise, Action, and Evidence Checker","category":"Agent Evidence","summary":"Compare declared promises with recorded actions and evidence, flagging unsupported completion and unaddressed commitments.","limitations":["Checks supplied records only and cannot prove that an external action occurred.","Evidence references are checked for presence, not fetched or independently authenticated."],"inputSchema":{"type":"object","required":["promises","actions","evidence"],"properties":{"promises":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id"],"additionalProperties":true}},"actions":{"type":"array","maxItems":2000,"items":{"type":"object","required":["id","status","promise_ids","evidence_ids"],"additionalProperties":true}},"evidence":{"type":"array","maxItems":5000,"items":{"type":"object","required":["id"],"additionalProperties":true}}},"additionalProperties":false},"sampleInput":{"promises":[{"id":"p1","description":"Publish package","required":true}],"actions":[{"id":"a1","status":"completed","promise_ids":["p1"],"evidence_ids":["e1"]}],"evidence":[{"id":"e1","type":"registry","uri":"https://registry.example/package"}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/promise-action-evidence-checker/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/promise-action-evidence-checker","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/promise-action-evidence-checker","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#promise-action-evidence-checker","priceBaseUnits":"50000"},{"id":"tool-call-contract-auditor","title":"Tool Call Contract Auditor","category":"Agent Evidence","summary":"Audit recorded tool calls against declared authorization, argument, call-count, and outcome contracts.","limitations":["Audits supplied call records and contracts; it does not intercept live tools.","Argument checks are key-presence checks, not full schema validation."],"inputSchema":{"type":"object","required":["contracts","calls"],"properties":{"contracts":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["tool"],"additionalProperties":true}},"calls":{"type":"array","maxItems":5000,"items":{"type":"object","required":["id","tool","arguments"],"additionalProperties":true}}},"additionalProperties":false},"sampleInput":{"contracts":[{"tool":"publish","allowed":true,"max_calls":1,"required_arguments":["artifact"],"forbidden_arguments":["private_key"]}],"calls":[{"id":"c1","tool":"publish","arguments":{"artifact":"package.tgz"},"outcome":"published"}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/tool-call-contract-auditor/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/tool-call-contract-auditor","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/tool-call-contract-auditor","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#tool-call-contract-auditor","priceBaseUnits":"50000"},{"id":"completion-evidence-receipt-auditor","title":"Completion Evidence Receipt Auditor","category":"Agent Evidence","summary":"Check completion, partial, and blocked outcome records for the evidence and remaining-work details their status requires.","limitations":["Checks receipt structure, not the truth of the underlying evidence.","Legal, financial, safety, and identity-sensitive conclusions still require appropriate human review."],"inputSchema":{"type":"object","required":["outcomes"],"properties":{"outcomes":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","status","evidence"],"additionalProperties":true}}},"additionalProperties":false},"sampleInput":{"outcomes":[{"id":"publish","promised_outcome":"Package is public","status":"completed","evidence":[{"type":"registry","uri":"https://registry.example/package"}]}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/completion-evidence-receipt-auditor/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/completion-evidence-receipt-auditor","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/completion-evidence-receipt-auditor","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#completion-evidence-receipt-auditor","priceBaseUnits":"50000"},{"id":"tool-description-contract-linter","title":"Tool Description Contract Linter","category":"Agent Evidence","summary":"Lint structured tool descriptions for bounded purpose, inputs, outputs, side effects, failure modes, cost, and idempotency.","limitations":["Checks explicit metadata fields and simple length bounds, not semantic correctness.","Passing metadata does not make a tool safe or reliable."],"inputSchema":{"type":"object","required":["tools"],"properties":{"tools":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["name","description"],"additionalProperties":true}}},"additionalProperties":false},"sampleInput":{"tools":[{"name":"catalog","description":"List available deterministic utilities and their current prices.","inputs":["none"],"outputs":["utility catalog"],"side_effects":["none"],"failure_modes":["network unavailable"],"cost":{"amount":"0","currency":"USD"},"idempotency":"safe to repeat"}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/tool-description-contract-linter/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/tool-description-contract-linter","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/tool-description-contract-linter","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#tool-description-contract-linter","priceBaseUnits":"50000"},{"id":"skill-activation-verifier","title":"Skill Activation Verifier","category":"Agent Evaluation","summary":"Compare expected and observed skill activations across test cases to expose missed and spurious routing.","limitations":["Requires the caller to define expected skills for each case.","Measures activation agreement, not whether the skill performed well after activation."],"inputSchema":{"type":"object","required":["cases"],"properties":{"cases":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","expected_skills","observed_skills"],"additionalProperties":true}}},"additionalProperties":false},"sampleInput":{"cases":[{"id":"create-pdf","expected_skills":["pdf"],"observed_skills":["pdf"]}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/skill-activation-verifier/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/skill-activation-verifier","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/skill-activation-verifier","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#skill-activation-verifier","priceBaseUnits":"50000"},{"id":"agent-cost-decomposer","title":"Agent Cost Decomposer","category":"Agent Evaluation","summary":"Calculate model, cached-token, and external-tool costs per call and flag a supplied budget overrun.","limitations":["Uses caller-supplied token counts and rates; it does not query provider billing.","Taxes, credits, rounding policies, and unreported infrastructure costs are outside scope."],"inputSchema":{"type":"object","required":["calls"],"properties":{"calls":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","input_tokens","output_tokens","input_usd_per_million","output_usd_per_million"],"additionalProperties":true}},"budget_usd":{"type":"number","minimum":0}},"additionalProperties":false},"sampleInput":{"budget_usd":0.1,"calls":[{"id":"turn-1","model":"example-model","input_tokens":1000,"cached_input_tokens":500,"output_tokens":250,"input_usd_per_million":1,"cached_input_usd_per_million":0.1,"output_usd_per_million":4,"tool_cost_usd":0.01}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/agent-cost-decomposer/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/agent-cost-decomposer","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/agent-cost-decomposer","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#agent-cost-decomposer","priceBaseUnits":"50000"},{"id":"api-response-contract-drift-auditor","title":"API Response Contract Drift Auditor","category":"Agent Evidence","summary":"Compare recorded API responses with explicit status, content-type, field, type, and stable-value contracts.","limitations":["Checks supplied normalized responses and contracts; it does not call the API.","Stable-value checks are exact structural comparisons and should be reserved for genuinely invariant fields."],"inputSchema":{"type":"object","required":["contracts","responses"],"properties":{"contracts":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","expected_status"],"additionalProperties":true}},"responses":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","contract_id","status","content_type","body"],"additionalProperties":true}}},"additionalProperties":false},"sampleInput":{"contracts":[{"id":"get-account","expected_status":200,"expected_content_type":"application/json","required_fields":["data.id","data.status"],"forbidden_fields":["data.secret"],"field_types":{"data.id":"string","data.status":"string"},"stable_values":{"data.status":"active"}}],"responses":[{"id":"run-1","contract_id":"get-account","status":200,"content_type":"application/json","body":{"data":{"id":"acct-1","status":"active"}}}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/api-response-contract-drift-auditor/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/api-response-contract-drift-auditor","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/api-response-contract-drift-auditor","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#api-response-contract-drift-auditor","priceBaseUnits":"50000"},{"id":"webhook-contract-replay-auditor","title":"Webhook Contract and Replay Auditor","category":"Agent Evidence","summary":"Audit webhook deliveries for declared events, allowed versions, required payload fields, signature evidence, freshness, idempotency, and replay.","limitations":["Checks caller-supplied delivery evidence and does not cryptographically verify signatures.","Freshness is calculated against the supplied observed_at timestamp for deterministic results."],"inputSchema":{"type":"object","required":["observed_at","contracts","deliveries"],"properties":{"observed_at":{"type":"string"},"contracts":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["event"],"additionalProperties":true}},"deliveries":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","event","payload"],"additionalProperties":true}}},"additionalProperties":false},"sampleInput":{"observed_at":"2026-08-01T15:00:00.000Z","contracts":[{"event":"invoice.paid","allowed_versions":["2026-01"],"required_fields":["invoice.id","invoice.amount"],"signature_required":true,"idempotency_required":true,"max_age_seconds":300}],"deliveries":[{"id":"delivery-1","event":"invoice.paid","version":"2026-01","payload":{"invoice":{"id":"inv-1","amount":2500}},"signature_present":true,"idempotency_key":"evt-1","event_created_at":"2026-08-01T14:58:00.000Z"}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/webhook-contract-replay-auditor/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/webhook-contract-replay-auditor","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/webhook-contract-replay-auditor","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#webhook-contract-replay-auditor","priceBaseUnits":"50000"},{"id":"policy-change-evidence-builder","title":"Policy Change Evidence Builder","category":"Agent Evidence","summary":"Produce clause-level evidence for policy additions, removals, text, applicability, and requirement changes, with version and effective-date guardrails.","limitations":["Compares supplied normalized clauses and does not retrieve or interpret legal documents.","A detected change is evidence for review, not legal advice or a conclusion about materiality."],"inputSchema":{"type":"object","required":["policies"],"properties":{"policies":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","baseline","current"],"additionalProperties":true}}},"additionalProperties":false},"sampleInput":{"policies":[{"id":"refund-policy","baseline":{"version":"1.0","effective_date":"2026-01-01","clauses":[{"id":"window","text":"Refunds are available within 30 days.","applies_to":["all customers"],"requirements":["receipt"]}]},"current":{"version":"1.0","effective_date":"2026-01-01","clauses":[{"id":"window","text":"Refunds are available within 30 days.","applies_to":["all customers"],"requirements":["receipt"]}]}}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/skills/policy-change-evidence-builder/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/policy-change-evidence-builder","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/policy-change-evidence-builder","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#policy-change-evidence-builder","priceBaseUnits":"50000"},{"id":"agent-run-evidence-pack","title":"Agent Run Evidence Pack","category":"Agent Evidence","summary":"Audit one agent-run packet across promises, tool calls, completion evidence, tool descriptions, skill activation, and cost in a consolidated report.","limitations":["Runs six deterministic checks against caller-supplied records; it does not observe or authenticate the underlying run.","A consolidated READY result means the supplied packet passed these structural checks, not that every external claim is true."],"inputSchema":{"type":"object","required":["promise_action","tool_calls","completion","tool_descriptions","skill_activation","costs"],"properties":{"promise_action":{"type":"object","required":["promises","actions","evidence"],"additionalProperties":true},"tool_calls":{"type":"object","required":["contracts","calls"],"additionalProperties":true},"completion":{"type":"object","required":["outcomes"],"additionalProperties":true},"tool_descriptions":{"type":"object","required":["tools"],"additionalProperties":true},"skill_activation":{"type":"object","required":["cases"],"additionalProperties":true},"costs":{"type":"object","required":["calls"],"additionalProperties":true}},"additionalProperties":false},"sampleInput":{"promise_action":{"promises":[{"id":"p1","description":"Publish package"}],"actions":[{"id":"a1","status":"completed","promise_ids":["p1"],"evidence_ids":["e1"]}],"evidence":[{"id":"e1","type":"registry","uri":"https://registry.example/package"}]},"tool_calls":{"contracts":[{"tool":"publish","allowed":true,"max_calls":1,"required_arguments":["artifact"],"forbidden_arguments":["private_key"]}],"calls":[{"id":"c1","tool":"publish","arguments":{"artifact":"package.tgz"},"outcome":"published"}]},"completion":{"outcomes":[{"id":"publish","status":"completed","evidence":[{"type":"registry","uri":"https://registry.example/package"}]}]},"tool_descriptions":{"tools":[{"name":"publish","description":"Publish one validated package artifact to the configured registry.","inputs":["artifact"],"outputs":["registry receipt"],"side_effects":["creates a public package version"],"failure_modes":["registry rejection"],"cost":{"amount":"0","currency":"USD"},"idempotency":"fails if the version already exists"}]},"skill_activation":{"cases":[{"id":"publish-package","expected_skills":["publish"],"observed_skills":["publish"]}]},"costs":{"budget_usd":0.1,"calls":[{"id":"turn-1","model":"example-model","input_tokens":1000,"output_tokens":250,"input_usd_per_million":1,"output_usd_per_million":4,"tool_cost_usd":0.01}]}},"version":"1.0.0","price":"$0.25","docsUrl":"https://justhandledlabs.com/skills/agent-run-evidence-pack/","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/agent-run-evidence-pack","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/agent-run-evidence-pack","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/agent-run-evidence-pack.json","priceBaseUnits":"250000"},{"id":"chicago-demolition-permit-change-packet","title":"Chicago Demolition Permit Change Packet","category":"Maintained Public Data","summary":"Query Salvage Signal's bounded Chicago demolition-permit adapter and compare current matches with an optional prior snapshot.","limitations":["The owned adapter uses City of Chicago public permit data; permits are clues, not proof of inventory, condition, access, safety, value, or permission.","A paid lookup can reflect municipal-feed delay or outage; the receipt labels live, fallback, or caller-supplied source mode."],"inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","minLength":1,"maxLength":80,"description":"One Chicago permit number or street address."},"previous":{"type":"object","properties":{"match_ids":{"type":"array","maxItems":100,"items":{"type":"string"}},"source_generated_at":{"type":"string","format":"date-time"}},"additionalProperties":false},"records":{"type":"array","maxItems":100,"description":"Optional caller-supplied records for deterministic integration testing; omit for the maintained adapter.","items":{"type":"object","required":["id"],"additionalProperties":true}},"records_generated_at":{"type":"string","format":"date-time"}},"additionalProperties":false},"sampleInput":{"query":"101084286","records_generated_at":"2026-08-01T00:00:00.000Z","records":[{"id":"3451330","permitNumber":"101084286","issuedAt":"2026-07-17T00:00:00.000","address":"911 W DIVERSEY PKWY Chicago, IL","urgency":"WARM"}],"previous":{"match_ids":["3451330"],"source_generated_at":"2026-07-31T00:00:00.000Z"}},"version":"1.0.0","price":"$0.25","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/chicago-demolition-permit-change-packet","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/chicago-demolition-permit-change-packet","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#chicago-demolition-permit-change-packet","priceBaseUnits":"250000"},{"id":"site-discovery-change-packet","title":"Site Discovery Change Packet","category":"Web Operations","summary":"Compare normalized robots, sitemap, canonical, title, and structured-data evidence across two dated site snapshots.","limitations":["Compares caller-supplied normalized snapshots and does not crawl the target site.","Detected changes require review in the live deployment and do not prove search-engine behavior."],"inputSchema":{"type":"object","required":["baseline","current"],"properties":{"baseline":{"$ref":"#/$defs/snapshot"},"current":{"$ref":"#/$defs/snapshot"}},"additionalProperties":false,"$defs":{"snapshot":{"type":"object","required":["captured_at","url","robots_text","sitemap_urls","canonical","schema_types"],"properties":{"captured_at":{"type":"string","format":"date-time"},"url":{"type":"string","format":"uri"},"robots_text":{"type":"string","maxLength":32768},"sitemap_urls":{"type":"array","maxItems":5000,"items":{"type":"string"}},"canonical":{"type":"string"},"schema_types":{"type":"array","maxItems":100,"items":{"type":"string"}},"title":{"type":"string"}},"additionalProperties":false}}},"sampleInput":{"baseline":{"captured_at":"2026-07-31T00:00:00Z","url":"https://example.com/","robots_text":"User-agent: *\nDisallow:","sitemap_urls":["https://example.com/"],"canonical":"https://example.com/","schema_types":["Organization"],"title":"Example"},"current":{"captured_at":"2026-08-01T00:00:00Z","url":"https://example.com/","robots_text":"User-agent: *\nDisallow:","sitemap_urls":["https://example.com/"],"canonical":"https://example.com/","schema_types":["Organization"],"title":"Example"}},"version":"1.0.0","price":"$0.25","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/site-discovery-change-packet","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/site-discovery-change-packet","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#site-discovery-change-packet","priceBaseUnits":"250000"},{"id":"csv-schema-drift-preflight","title":"CSV Schema Drift Preflight","category":"Data Operations","summary":"Compare normalized CSV column contracts for removals, additions, type drift, and newly required fields.","limitations":["Checks supplied column contracts, not raw CSV parsing or semantic data quality.","Type labels are caller assertions and should be grounded in a representative sample or declared contract."],"inputSchema":{"type":"object","required":["baseline_columns","current_columns"],"properties":{"baseline_columns":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"enum":["string","number","integer","boolean","date","datetime","json","unknown"]},"required":{"type":"boolean"}},"additionalProperties":false}},"current_columns":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"enum":["string","number","integer","boolean","date","datetime","json","unknown"]},"required":{"type":"boolean"}},"additionalProperties":false}}},"additionalProperties":false},"sampleInput":{"baseline_columns":[{"name":"id","type":"string","required":true},{"name":"amount","type":"number","required":false}],"current_columns":[{"name":"id","type":"string","required":true},{"name":"amount","type":"number","required":false}]},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/csv-schema-drift-preflight","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/csv-schema-drift-preflight","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#csv-schema-drift-preflight","priceBaseUnits":"50000"},{"id":"release-artifact-manifest-validator","title":"Release Artifact Manifest Validator","category":"Developer Tools","summary":"Validate a release file manifest against required paths, allowed prefixes, hashes, size limits, and sensitive-file rules.","limitations":["Checks supplied paths, sizes, hashes, and policy; it does not open or authenticate artifact contents.","A valid manifest does not prove that the deployed or published artifact matches it."],"inputSchema":{"type":"object","required":["files","policy"],"properties":{"files":{"type":"array","minItems":1,"maxItems":5000,"items":{"type":"object","required":["path","sha256","size_bytes"],"properties":{"path":{"type":"string"},"sha256":{"type":"string"},"size_bytes":{"type":"integer","minimum":0},"executable":{"type":"boolean"},"role":{"type":"string"}},"additionalProperties":false}},"policy":{"type":"object","properties":{"required_paths":{"type":"array","maxItems":1000,"items":{"type":"string"}},"allowed_prefixes":{"type":"array","maxItems":1000,"items":{"type":"string"}},"max_total_bytes":{"type":"integer","minimum":0}},"additionalProperties":false}},"additionalProperties":false},"sampleInput":{"files":[{"path":"dist/index.js","sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","size_bytes":1024}],"policy":{"required_paths":["dist/index.js"],"allowed_prefixes":["dist"],"max_total_bytes":100000}},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/release-artifact-manifest-validator","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/release-artifact-manifest-validator","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#release-artifact-manifest-validator","priceBaseUnits":"50000"},{"id":"email-dns-auth-evidence-check","title":"Email DNS Authentication Evidence Check","category":"Email","summary":"Check normalized SPF, DKIM, DMARC, and MX evidence for missing, conflicting, invalid, or monitor-only authentication policy.","limitations":["Checks caller-supplied DNS evidence and does not resolve DNS or prove mail-provider alignment.","It does not calculate SPF's full recursive lookup graph or certify deliverability."],"inputSchema":{"type":"object","required":["domain","observed_at","records"],"properties":{"domain":{"type":"string"},"observed_at":{"type":"string","format":"date-time"},"records":{"type":"object","required":["spf","dkim","dmarc","mx"],"properties":{"spf":{"type":"array","maxItems":10,"items":{"type":"string"}},"dkim":{"type":"array","maxItems":100,"items":{"type":"object","required":["selector","value"],"properties":{"selector":{"type":"string"},"value":{"type":"string"}},"additionalProperties":false}},"dmarc":{"type":"array","maxItems":10,"items":{"type":"string"}},"mx":{"type":"array","maxItems":100,"items":{"type":"string"}}},"additionalProperties":false}},"additionalProperties":false},"sampleInput":{"domain":"example.com","observed_at":"2026-08-01T00:00:00Z","records":{"spf":["v=spf1 include:_spf.example.com -all"],"dkim":[{"selector":"mail","value":"v=DKIM1; k=rsa; p=abc123"}],"dmarc":["v=DMARC1; p=reject; rua=mailto:dmarc@example.com"],"mx":["10 mail.example.com"]}},"version":"1.0.0","price":"$0.05","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/email-dns-auth-evidence-check","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/email-dns-auth-evidence-check","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#email-dns-auth-evidence-check","priceBaseUnits":"50000"},{"id":"agent-distribution-readiness-pack","title":"Agent Distribution Readiness Pack","category":"Distribution Evidence","summary":"Audit an agent, skill, MCP server, or paid API for release consistency, required discovery surfaces, evidence freshness, supported claims, and channel-specific launch constraints.","limitations":["Checks caller-supplied normalized surface and launch evidence; it does not crawl sites, publish listings, control accounts, or authenticate the underlying claims.","A READY result means the supplied evidence passed structural checks; it does not predict attention, demand, ranking, revenue, or platform acceptance."],"inputSchema":{"type":"object","required":["observed_at","product","surfaces","claims","target_channels"],"properties":{"observed_at":{"type":"string","format":"date-time"},"product":{"type":"object","required":["name","version","kind","canonical_url","price_usd"],"properties":{"name":{"type":"string","minLength":1,"maxLength":120},"version":{"type":"string"},"kind":{"enum":["mcp-server","agent-skill","paid-api"]},"canonical_url":{"type":"string","format":"uri"},"price_usd":{"type":"number","minimum":0,"maximum":10000}},"additionalProperties":false},"surfaces":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","required":["id","type","url","captured_at","http_status"],"properties":{"id":{"type":"string"},"type":{"enum":["homepage","documentation","pricing","support","security","package-registry","agent-registry","transport","source-repository"]},"url":{"type":"string","format":"uri"},"captured_at":{"type":"string","format":"date-time"},"http_status":{"type":"integer","minimum":100,"maximum":599},"name":{"type":"string"},"version":{"type":"string"},"canonical_url":{"type":"string","format":"uri"},"price_usd":{"type":"number","minimum":0,"maximum":10000},"install_command":{"type":"string"},"capabilities":{"type":"array","maxItems":1000,"items":{"type":"string"}},"evidence_ref":{"type":"string"}},"additionalProperties":false}},"claims":{"type":"array","maxItems":100,"items":{"type":"object","required":["id","text","evidence_surface_ids"],"properties":{"id":{"type":"string"},"text":{"type":"string","minLength":1,"maxLength":500},"evidence_surface_ids":{"type":"array","maxItems":100,"items":{"type":"string"}}},"additionalProperties":false}},"target_channels":{"type":"array","maxItems":6,"items":{"enum":["mcp-registry","smithery","npm","github","product-hunt","show-hn"]}},"launch_evidence":{"type":"object","properties":{"tryable_without_signup":{"type":"boolean"},"founder_available":{"type":"boolean"},"generated_comments_planned":{"type":"boolean"},"live_product":{"type":"boolean"},"pricing_transparent":{"type":"boolean"},"unique_value_evidence":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false},"sampleInput":{"observed_at":"2026-08-01T21:00:00Z","product":{"name":"Example Agent","version":"1.2.0","kind":"mcp-server","canonical_url":"https://example.com/agent/","price_usd":0.25},"surfaces":[{"id":"home","type":"homepage","url":"https://example.com/agent/","captured_at":"2026-08-01T20:55:00Z","http_status":200,"name":"Example Agent","version":"1.2.0","canonical_url":"https://example.com/agent/","price_usd":0.25,"evidence_ref":"sha256:homepage"},{"id":"docs","type":"documentation","url":"https://example.com/agent/docs","captured_at":"2026-08-01T20:55:00Z","http_status":200,"evidence_ref":"sha256:docs"},{"id":"pricing","type":"pricing","url":"https://example.com/agent/pricing","captured_at":"2026-08-01T20:55:00Z","http_status":200,"price_usd":0.25,"evidence_ref":"sha256:pricing"},{"id":"support","type":"support","url":"https://example.com/agent/support","captured_at":"2026-08-01T20:55:00Z","http_status":200,"evidence_ref":"sha256:support"},{"id":"security","type":"security","url":"https://example.com/agent/security","captured_at":"2026-08-01T20:55:00Z","http_status":200,"evidence_ref":"sha256:security"},{"id":"registry","type":"agent-registry","url":"https://registry.modelcontextprotocol.io/example","captured_at":"2026-08-01T20:55:00Z","http_status":200,"name":"Example Agent","version":"1.2.0","evidence_ref":"registry:example@1.2.0"},{"id":"transport","type":"transport","url":"https://api.example.com/mcp","captured_at":"2026-08-01T20:55:00Z","http_status":200,"capabilities":["tools/list","resources/list"],"evidence_ref":"sha256:mcp-probe"}],"claims":[{"id":"live","text":"The hosted MCP transport is live.","evidence_surface_ids":["transport"]}],"target_channels":["mcp-registry","smithery"]},"version":"1.0.0","price":"$0.25","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/agent-distribution-readiness-pack","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/agent-distribution-readiness-pack","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#agent-distribution-readiness-pack","priceBaseUnits":"250000"},{"id":"community-rule-credibility-preflight","title":"Community Rule & Credibility Preflight","category":"Distribution Evidence","summary":"Check a proposed Reddit, Hacker News, Show HN, or Product Hunt action against current official guidance, supplied community rules, account credibility evidence, and promotion boundaries.","limitations":["Runs a deterministic pre-publication check and does not post, control an identity, retrieve private account data, or guarantee acceptance.","Reddit decisions require caller-supplied normalized community rules; platform enforcement and moderator interpretation can differ from written rules."],"inputSchema":{"type":"object","required":["observed_at","channel","action","account"],"additionalProperties":false,"properties":{"observed_at":{"type":"string","format":"date-time"},"channel":{"enum":["reddit","hacker-news","show-hn","product-hunt"]},"action":{"type":"object","required":["type","promotes_own_product","generated_or_ai_edited_text","asks_for_votes","asks_for_comments","paid_hunter_or_traffic","shortened_or_redirected_link","claims_supported","repeated_or_unsolicited","redirect_intended_to_bypass_block","live_product","tryable_without_signup","founder_available","non_trivial_product","landing_page_only","pricing_transparent"],"additionalProperties":false,"properties":{"type":{"enum":["post","comment","launch","direct-message"]},"promotes_own_product":{"type":"boolean"},"generated_or_ai_edited_text":{"type":"boolean"},"asks_for_votes":{"type":"boolean"},"asks_for_comments":{"type":"boolean"},"paid_hunter_or_traffic":{"type":"boolean"},"shortened_or_redirected_link":{"type":"boolean"},"claims_supported":{"type":"boolean"},"repeated_or_unsolicited":{"type":"boolean"},"redirect_intended_to_bypass_block":{"type":"boolean"},"live_product":{"type":"boolean"},"tryable_without_signup":{"type":"boolean"},"founder_available":{"type":"boolean"},"non_trivial_product":{"type":"boolean"},"landing_page_only":{"type":"boolean"},"pricing_transparent":{"type":"boolean"},"link_url":{"type":"string","format":"uri"},"selected_flair":{"type":"string"},"unique_value_evidence":{"type":"string"}}},"account":{"type":"object","required":["identity_type","primary_use_is_promotion","age_days","community_karma","community_contributions","promotional_contributions"],"additionalProperties":false,"properties":{"identity_type":{"enum":["person","company","unknown"]},"primary_use_is_promotion":{"type":"boolean"},"age_days":{"type":"integer","minimum":0},"community_karma":{"type":"integer","minimum":0},"community_contributions":{"type":"integer","minimum":0},"promotional_contributions":{"type":"integer","minimum":0}}},"community":{"type":"object","required":["name","rules_captured_at","rules_source_url","promotion_policy","link_policy","ai_content_policy"],"additionalProperties":false,"properties":{"name":{"type":"string"},"rules_captured_at":{"type":"string","format":"date-time"},"rules_source_url":{"type":"string","format":"uri"},"promotion_policy":{"enum":["prohibited","limited","allowed","unknown"]},"link_policy":{"enum":["prohibited","limited","allowed","unknown"]},"ai_content_policy":{"enum":["prohibited","limited","allowed","unknown"]},"max_promotional_ratio":{"type":"number","minimum":0,"maximum":1},"minimum_account_age_days":{"type":"integer","minimum":0},"minimum_community_karma":{"type":"integer","minimum":0},"required_flair":{"type":"string"}}}}},"sampleInput":{"observed_at":"2026-08-01T22:00:00Z","channel":"show-hn","action":{"type":"launch","promotes_own_product":true,"generated_or_ai_edited_text":false,"asks_for_votes":false,"asks_for_comments":false,"paid_hunter_or_traffic":false,"shortened_or_redirected_link":false,"claims_supported":true,"repeated_or_unsolicited":false,"redirect_intended_to_bypass_block":false,"live_product":true,"tryable_without_signup":true,"founder_available":true,"non_trivial_product":true,"landing_page_only":false,"pricing_transparent":true,"link_url":"https://example.com/product","unique_value_evidence":"Public runnable product and release evidence."},"account":{"identity_type":"person","primary_use_is_promotion":false,"age_days":365,"community_karma":100,"community_contributions":50,"promotional_contributions":2}},"version":"1.0.0","price":"$0.25","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/community-rule-credibility-preflight","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/community-rule-credibility-preflight","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#community-rule-credibility-preflight","priceBaseUnits":"250000"},{"id":"qualified-demand-ledger","title":"Qualified Demand Ledger","category":"Distribution Evidence","summary":"Classify normalized commercial events as exposure, operations, candidate signals, qualified demand, validated value, external revenue, or retention without inflating vanity activity.","limitations":["Classifies caller-supplied normalized evidence and does not retrieve analytics, payment, marketplace, or private customer data.","A clean ledger is an accounting result, not a forecast; use opaque actor tokens and never submit names, messages, credentials, or private keys."],"inputSchema":{"type":"object","required":["observed_at","window","events"],"additionalProperties":false,"properties":{"observed_at":{"type":"string","format":"date-time"},"window":{"type":"object","required":["started_at","ended_at"],"additionalProperties":false,"properties":{"started_at":{"type":"string","format":"date-time"},"ended_at":{"type":"string","format":"date-time"}}},"events":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","required":["id","type","occurred_at","source","evidence_ref","owner_controlled","external_actor","attribution"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":120},"type":{"enum":["page-view","impression","reaction","indexing-event","deployment","directory-listing","scan","sent-message","internal-test","owner-verification-payment","owner-install","owner-click","owner-checkout-open","attributable-click","buyer-reply","buyer-question","checkout-open","install","payment-initiation","measured-review-time-reduction","external-settlement","commission","recurring-use"]},"occurred_at":{"type":"string","format":"date-time"},"source":{"type":"string","minLength":1,"maxLength":200},"evidence_ref":{"type":"string","minLength":1,"maxLength":500},"owner_controlled":{"type":"boolean"},"external_actor":{"type":"boolean"},"attribution":{"enum":["none","inferred","direct","verified"]},"actor_token":{"type":"string","minLength":8,"maxLength":160},"product_id":{"type":"string","maxLength":200},"parent_event_id":{"type":"string","maxLength":120},"amount":{"type":"number","exclusiveMinimum":0,"maximum":1000000000},"currency":{"type":"string","maxLength":10},"transaction_id":{"type":"string","maxLength":300},"measured_value":{"type":"number","exclusiveMinimum":0,"maximum":1000000000},"measurement_unit":{"enum":["minutes"]}}}}}},"sampleInput":{"observed_at":"2026-08-04T18:00:00Z","window":{"started_at":"2026-08-01T00:00:00Z","ended_at":"2026-08-04T17:59:59Z"},"events":[{"id":"view-1","type":"impression","occurred_at":"2026-08-01T12:00:00Z","source":"directory","evidence_ref":"analytics:impression:1","owner_controlled":false,"external_actor":false,"attribution":"none"},{"id":"question-1","type":"buyer-question","occurred_at":"2026-08-01T13:00:00Z","source":"support","evidence_ref":"ticket:question:1","owner_controlled":false,"external_actor":true,"attribution":"direct","actor_token":"actor:7f91c2a8","product_id":"example-product"},{"id":"settlement-1","type":"external-settlement","occurred_at":"2026-08-01T14:00:00Z","source":"payment-processor","evidence_ref":"receipt:settlement:1","owner_controlled":false,"external_actor":true,"attribution":"verified","actor_token":"actor:7f91c2a8","product_id":"example-product","amount":19,"currency":"USD","transaction_id":"txn_example_1"},{"id":"value-1","type":"measured-review-time-reduction","occurred_at":"2026-08-02T16:00:00Z","source":"timed-review","evidence_ref":"measurement:review:1","owner_controlled":false,"external_actor":true,"attribution":"verified","measured_value":12,"measurement_unit":"minutes"},{"id":"return-1","type":"recurring-use","occurred_at":"2026-08-03T16:00:00Z","source":"usage-receipt","evidence_ref":"receipt:usage:2","owner_controlled":false,"external_actor":true,"attribution":"verified","actor_token":"actor:7f91c2a8","product_id":"example-product","parent_event_id":"settlement-1"}]},"version":"1.0.0","price":"$0.25","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/qualified-demand-ledger","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/qualified-demand-ledger","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#qualified-demand-ledger","priceBaseUnits":"250000"},{"id":"channel-fit-evidence-matrix","title":"Channel-Fit Evidence Matrix","category":"Distribution Evidence","summary":"Rank evidence-backed distribution tests by audience fit, buyer intent, format, attribution, access, saturation, rules, budget, owner availability, and qualified outcome gates.","limitations":["Ranks caller-supplied normalized evidence and does not retrieve platform analytics, audiences, private profiles, or current rules.","A selected channel is a test candidate, not demand or revenue; reverify platform rules before action and count only externally observed qualified outcomes."],"inputSchema":{"type":"object","required":["observed_at","objective","constraints","evidence","channels"],"additionalProperties":false,"properties":{"observed_at":{"type":"string","format":"date-time"},"objective":{"enum":["qualified-demand","revenue","retention","validated-learning"]},"constraints":{"type":"object","required":["budget_usd","effort_hours","max_parallel_tests","rules_max_age_days"],"additionalProperties":false,"properties":{"budget_usd":{"type":"number","minimum":0,"maximum":1000000},"effort_hours":{"type":"number","minimum":0,"maximum":100000},"max_parallel_tests":{"type":"integer","minimum":1,"maximum":10},"rules_max_age_days":{"type":"integer","minimum":1,"maximum":365}}},"evidence":{"type":"array","minItems":1,"maxItems":500,"items":{"type":"object","required":["id","type","captured_at","source_url","observed"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":120},"type":{"enum":["platform-rule","product-proof","buyer-signal","historical-result","distribution-readiness"]},"captured_at":{"type":"string","format":"date-time"},"source_url":{"type":"string","format":"uri"},"observed":{"type":"boolean"}}}},"channels":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","required":["id","kind","audience_match","buyer_intent","format_match","saturation","rule_status","rule_evidence_id","product_evidence_ids","attribution","attribution_mechanism","existing_access","offer_path_ready","estimated_cost_usd","estimated_effort_hours","owner_presence_required","owner_available","outcome_gate"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":120},"kind":{"enum":["owned-search","package-registry","agent-directory","marketplace","community","social","direct-outreach","partner","paid"]},"audience_match":{"type":"integer","minimum":0,"maximum":5},"buyer_intent":{"type":"integer","minimum":0,"maximum":5},"format_match":{"type":"integer","minimum":0,"maximum":5},"saturation":{"type":"integer","minimum":0,"maximum":5},"rule_status":{"enum":["verified","review-required","unknown","blocked"]},"rule_evidence_id":{"type":"string","maxLength":120},"product_evidence_ids":{"type":"array","maxItems":100,"items":{"type":"string","minLength":1,"maxLength":120}},"attribution":{"enum":["verified","direct","inferred","none"]},"attribution_mechanism":{"type":"string","maxLength":300},"existing_access":{"enum":["relationship","audience","account","none"]},"offer_path_ready":{"type":"boolean"},"estimated_cost_usd":{"type":"number","minimum":0,"maximum":1000000},"estimated_effort_hours":{"type":"number","minimum":0,"maximum":100000},"owner_presence_required":{"type":"boolean"},"owner_available":{"type":"boolean"},"outcome_gate":{"type":"object","required":["metric","threshold","window_days","max_cost_usd","max_effort_hours"],"additionalProperties":false,"properties":{"metric":{"enum":["attributable-click","buyer-reply","buyer-question","checkout-open","install","payment-initiation","external-settlement","commission","recurring-use","measured-review-time-reduction","page-view","impression","reaction","indexing-event","deployment","directory-listing","scan","sent-message"]},"threshold":{"type":"integer","minimum":1,"maximum":1000000},"window_days":{"type":"integer","minimum":1,"maximum":365},"max_cost_usd":{"type":"number","minimum":0,"maximum":1000000},"max_effort_hours":{"type":"number","minimum":0,"maximum":100000}}}}}}}},"sampleInput":{"observed_at":"2026-08-01T22:30:00Z","objective":"qualified-demand","constraints":{"budget_usd":50,"effort_hours":12,"max_parallel_tests":2,"rules_max_age_days":30},"evidence":[{"id":"rule-agent-directory","type":"platform-rule","captured_at":"2026-08-01T20:00:00Z","source_url":"https://example.com/directory-rules","observed":true},{"id":"rule-marketplace","type":"platform-rule","captured_at":"2026-08-01T20:10:00Z","source_url":"https://example.com/marketplace-rules","observed":true},{"id":"proof-live","type":"product-proof","captured_at":"2026-08-01T21:00:00Z","source_url":"https://example.com/product","observed":true},{"id":"proof-readiness","type":"distribution-readiness","captured_at":"2026-08-01T21:10:00Z","source_url":"https://example.com/readiness-receipt","observed":true}],"channels":[{"id":"agent-directory","kind":"agent-directory","audience_match":5,"buyer_intent":4,"format_match":5,"saturation":3,"rule_status":"verified","rule_evidence_id":"rule-agent-directory","product_evidence_ids":["proof-live","proof-readiness"],"attribution":"verified","attribution_mechanism":"Unique source token preserved through the unpaid challenge and settlement receipt.","existing_access":"account","offer_path_ready":true,"estimated_cost_usd":0,"estimated_effort_hours":2,"owner_presence_required":false,"owner_available":true,"outcome_gate":{"metric":"payment-initiation","threshold":2,"window_days":14,"max_cost_usd":0,"max_effort_hours":4}},{"id":"marketplace","kind":"marketplace","audience_match":4,"buyer_intent":5,"format_match":4,"saturation":4,"rule_status":"verified","rule_evidence_id":"rule-marketplace","product_evidence_ids":["proof-live"],"attribution":"direct","attribution_mechanism":"Marketplace listing identifier linked to checkout-opening evidence.","existing_access":"account","offer_path_ready":true,"estimated_cost_usd":0,"estimated_effort_hours":3,"owner_presence_required":false,"owner_available":true,"outcome_gate":{"metric":"checkout-open","threshold":2,"window_days":14,"max_cost_usd":0,"max_effort_hours":5}}]},"version":"1.0.0","price":"$0.25","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/channel-fit-evidence-matrix","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/channel-fit-evidence-matrix","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#channel-fit-evidence-matrix","priceBaseUnits":"250000"},{"id":"proof-to-channel-evidence-packet","title":"Proof-to-Channel Evidence Packet","category":"Distribution Evidence","summary":"Map product claims and observed proof to current channel rules, required artifacts, link treatment, attribution, pricing disclosure, and human-authored identity fields.","limitations":["Audits caller-supplied normalized evidence and does not retrieve current channel rules or publish content.","The packet identifies support and requirements; it does not impersonate a founder, manufacture personal experience, or guarantee acceptance."],"inputSchema":{"type":"object","required":["observed_at","max_evidence_age_days","product","channel","claims","evidence","artifacts","human_authored_fields"],"additionalProperties":false,"properties":{"observed_at":{"type":"string","format":"date-time"},"max_evidence_age_days":{"type":"integer","minimum":1,"maximum":365},"product":{"type":"object","required":["id","name","version","canonical_url","offer_url","price_usd"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":120},"name":{"type":"string","minLength":1,"maxLength":160},"version":{"type":"string","maxLength":60},"canonical_url":{"type":"string","format":"uri"},"offer_url":{"type":"string","format":"uri"},"price_usd":{"type":"number","minimum":0,"maximum":1000000}}},"channel":{"type":"object","required":["name","kind","rules_captured_at","rules_source_url","rule_status","link_policy","pricing_disclosure_required","demo_required","screenshots_required","identity_fields"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":160},"kind":{"enum":["agent-directory","marketplace","community","social","package-registry","product-launch","owned-search"]},"rules_captured_at":{"type":"string","format":"date-time"},"rules_source_url":{"type":"string","format":"uri"},"rule_status":{"enum":["verified","review-required","unknown","blocked"]},"link_policy":{"enum":["allowed","limited","prohibited","unknown"]},"pricing_disclosure_required":{"type":"boolean"},"demo_required":{"type":"boolean"},"screenshots_required":{"type":"integer","minimum":0,"maximum":20},"identity_fields":{"type":"array","maxItems":50,"items":{"type":"string","minLength":1,"maxLength":120}}}},"claims":{"type":"array","minItems":1,"maxItems":250,"items":{"type":"object","required":["id","text","evidence_ids","required_for_submission","personal_experience"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":120},"text":{"type":"string","minLength":1,"maxLength":2000},"evidence_ids":{"type":"array","maxItems":100,"items":{"type":"string"}},"required_for_submission":{"type":"boolean"},"personal_experience":{"type":"boolean"},"human_field":{"type":"string","maxLength":120}}}},"evidence":{"type":"array","minItems":1,"maxItems":500,"items":{"type":"object","required":["id","type","source_url","captured_at","observed","supports_claim_ids"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":120},"type":{"enum":["product-page","documentation","registry","demo","screenshot","payment","release","support","security","privacy","experiment"]},"source_url":{"type":"string","format":"uri"},"captured_at":{"type":"string","format":"date-time"},"observed":{"type":"boolean"},"supports_claim_ids":{"type":"array","maxItems":250,"items":{"type":"string"}}}}},"artifacts":{"type":"object","required":["demo_url","install_path","screenshots","pricing_disclosure","link_target","attribution_mechanism"],"additionalProperties":false,"properties":{"demo_url":{"type":"string"},"install_path":{"type":"string","maxLength":2000},"screenshots":{"type":"array","maxItems":20,"items":{"type":"object","required":["id","evidence_id"],"additionalProperties":false,"properties":{"id":{"type":"string"},"evidence_id":{"type":"string"}}}},"pricing_disclosure":{"type":"string","maxLength":2000},"link_target":{"type":"string"},"attribution_mechanism":{"type":"string","maxLength":2000}}},"human_authored_fields":{"type":"object","additionalProperties":{"type":"boolean"}}}},"sampleInput":{"observed_at":"2026-08-01T23:30:00Z","max_evidence_age_days":30,"product":{"id":"example-agent","name":"Example Agent","version":"1.0.0","canonical_url":"https://example.com/agent","offer_url":"https://example.com/agent/try","price_usd":19},"channel":{"name":"Example Agent Directory","kind":"agent-directory","rules_captured_at":"2026-08-01T22:00:00Z","rules_source_url":"https://example.com/directory/rules","rule_status":"verified","link_policy":"allowed","pricing_disclosure_required":true,"demo_required":true,"screenshots_required":1,"identity_fields":[]},"claims":[{"id":"deterministic","text":"Produces a deterministic evidence report from normalized input.","evidence_ids":["docs","demo"],"required_for_submission":true,"personal_experience":false}],"evidence":[{"id":"docs","type":"documentation","source_url":"https://example.com/agent/docs","captured_at":"2026-08-01T22:30:00Z","observed":true,"supports_claim_ids":["deterministic"]},{"id":"demo","type":"demo","source_url":"https://example.com/agent/demo","captured_at":"2026-08-01T22:35:00Z","observed":true,"supports_claim_ids":["deterministic"]},{"id":"shot","type":"screenshot","source_url":"https://example.com/agent/screenshot","captured_at":"2026-08-01T22:40:00Z","observed":true,"supports_claim_ids":[]}],"artifacts":{"demo_url":"https://example.com/agent/demo","install_path":"Run npx example-agent with the supplied JSON file.","screenshots":[{"id":"hero","evidence_id":"shot"}],"pricing_disclosure":"$19 one-time download.","link_target":"https://example.com/agent/try?source=directory","attribution_mechanism":"Preserve the source token through checkout-open and settlement receipts."},"human_authored_fields":{}},"version":"1.0.0","price":"$0.25","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/proof-to-channel-evidence-packet","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/proof-to-channel-evidence-packet","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#proof-to-channel-evidence-packet","priceBaseUnits":"250000"},{"id":"chicago-contract-change-packet","title":"Chicago Contract Change Packet","category":"Maintained Public Data","summary":"Query the live City of Chicago contracts dataset by vendor, department, contract, specification, or description and compare current matches with a retained public-data baseline.","limitations":["The City dataset covers awarded contracts and modifications, not open solicitations; public-source delay, corrections, and outages can affect results.","Award amounts are source-reported row or modification values rather than a computed contract total, and FMPS end dates are consistently recorded only for blanket contracts.","The first successful live query establishes a baseline and cannot prove that existing matches are newly awarded; customer inputs and complete customer results are not retained."],"inputSchema":{"type":"object","required":["query"],"additionalProperties":false,"properties":{"query":{"type":"object","required":["field","value"],"additionalProperties":false,"properties":{"field":{"enum":["vendor","department","contract","specification","keyword"]},"value":{"type":"string","minLength":1,"maxLength":120}}},"max_results":{"type":"integer","minimum":1,"maximum":50,"default":25},"records":{"type":"array","maxItems":50,"description":"Optional caller-supplied City-format records for deterministic integration testing; omit for the maintained live source.","items":{"type":"object","required":["purchase_order_contract_number","revision_number"],"additionalProperties":false,"properties":{"purchase_order_description":{"type":"string","maxLength":1000},"purchase_order_contract_number":{"type":"string","minLength":1,"maxLength":120},"revision_number":{"type":"string","minLength":1,"maxLength":60},"specification_number":{"type":"string","maxLength":120},"contract_type":{"type":"string","maxLength":160},"start_date":{"type":"string"},"end_date":{"type":"string"},"approval_date":{"type":"string"},"department":{"type":"string","maxLength":300},"vendor_name":{"type":"string","maxLength":300},"vendor_id":{"type":"string","maxLength":120},"award_amount":{"oneOf":[{"type":"number"},{"type":"string"}]}}}},"records_generated_at":{"type":"string","format":"date-time"},"source_updated_at":{"type":"string","format":"date-time"},"total_records":{"type":"integer","minimum":0,"maximum":10000000},"truncated":{"type":"boolean"},"previous_snapshot":{"type":"object","required":["captured_at","records"],"additionalProperties":false,"properties":{"captured_at":{"type":"string","format":"date-time"},"source_updated_at":{"type":"string","format":"date-time"},"total_records":{"type":"integer","minimum":0,"maximum":10000000},"truncated":{"type":"boolean"},"records":{"type":"array","maxItems":50,"items":{"type":"object","required":["purchase_order_contract_number","revision_number"],"additionalProperties":true}}}}}},"sampleInput":{"query":{"field":"vendor","value":"EXAMPLE VENDOR"},"max_results":25,"records_generated_at":"2026-08-01T23:45:00Z","source_updated_at":"2026-08-01T08:28:24Z","total_records":1,"records":[{"purchase_order_contract_number":"360701","revision_number":"0","specification_number":"1356054","purchase_order_description":"Public arts exhibition agreement","contract_type":"COMPTROLLER-OTHER","start_date":"2026-07-01","end_date":"2027-01-31","approval_date":"2026-07-30","department":"DEPARTMENT OF CULTURAL AFFAIRS AND SPECIAL EVENTS","vendor_name":"EXAMPLE VENDOR","vendor_id":"PUBLIC-VENDOR-ID","award_amount":"5300"}],"previous_snapshot":{"captured_at":"2026-07-31T23:45:00Z","source_updated_at":"2026-07-31T08:00:00Z","total_records":1,"records":[{"purchase_order_contract_number":"360701","revision_number":"0","specification_number":"1356054","purchase_order_description":"Public arts exhibition agreement","contract_type":"COMPTROLLER-OTHER","start_date":"2026-07-01","end_date":"2027-01-31","approval_date":"2026-07-30","department":"DEPARTMENT OF CULTURAL AFFAIRS AND SPECIAL EVENTS","vendor_name":"EXAMPLE VENDOR","vendor_id":"PUBLIC-VENDOR-ID","award_amount":"5300"}]}},"version":"1.0.0","price":"$0.25","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/chicago-contract-change-packet","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/chicago-contract-change-packet","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#chicago-contract-change-packet","priceBaseUnits":"250000"},{"id":"channel-experiment-postmortem","title":"Channel Experiment Postmortem","category":"Distribution Evidence","summary":"Compare a predeclared channel hypothesis and qualified outcome gate with attributable events, contamination, budgets, changed variables, cooldowns, and a bounded next experiment.","limitations":["Evaluates caller-supplied normalized events and cannot establish causal impact or retrieve private analytics.","A reached gate is evidence for the declared threshold only; a missed gate does not by itself invalidate the product or channel."],"inputSchema":{"type":"object","required":["observed_at","experiment","events","cost_usd","effort_hours","attribution_complete","owner_activity_excluded"],"additionalProperties":false,"properties":{"observed_at":{"type":"string","format":"date-time"},"experiment":{"type":"object","required":["id","channel","hypothesis","objective","started_at","ended_at","declared_before_start","gate","variables","changed_variables","max_cost_usd","max_effort_hours","cooldown_days"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":120},"channel":{"type":"string","minLength":1,"maxLength":160},"hypothesis":{"type":"string","minLength":1,"maxLength":2000},"objective":{"enum":["qualified-demand","revenue","retention","validated-learning"]},"started_at":{"type":"string","format":"date-time"},"ended_at":{"type":"string","format":"date-time"},"declared_before_start":{"type":"boolean"},"gate":{"type":"object","required":["metric","threshold","window_days"],"additionalProperties":false,"properties":{"metric":{"enum":["attributable-click","buyer-reply","buyer-question","checkout-open","install","payment-initiation","external-settlement","commission","recurring-use","measured-review-time-reduction","page-view","impression","reaction","indexing-event","deployment","directory-listing","scan","sent-message"]},"threshold":{"type":"integer","minimum":1,"maximum":1000000},"window_days":{"type":"integer","minimum":1,"maximum":365}}},"variables":{"type":"object","required":["channel","offer","artifact","audience","timing"],"additionalProperties":false,"properties":{"channel":{"type":"string"},"offer":{"type":"string"},"artifact":{"type":"string"},"audience":{"type":"string"},"timing":{"type":"string"}}},"changed_variables":{"type":"array","maxItems":5,"items":{"enum":["channel","offer","artifact","audience","timing"]}},"max_cost_usd":{"type":"number","minimum":0,"maximum":1000000},"max_effort_hours":{"type":"number","minimum":0,"maximum":100000},"cooldown_days":{"type":"integer","minimum":0,"maximum":365}}},"events":{"type":"array","maxItems":5000,"items":{"type":"object","required":["id","type","occurred_at","evidence_ref","external_actor","owner_controlled","attribution"],"additionalProperties":true}},"cost_usd":{"type":"number","minimum":0,"maximum":1000000},"effort_hours":{"type":"number","minimum":0,"maximum":100000},"attribution_complete":{"type":"boolean"},"owner_activity_excluded":{"type":"boolean"}}},"sampleInput":{"observed_at":"2026-08-16T00:00:00Z","experiment":{"id":"directory-proof-v1","channel":"agent-directory","hypothesis":"A concrete evidence packet will produce at least two attributable checkout openings in 14 days.","objective":"qualified-demand","started_at":"2026-08-01T00:00:00Z","ended_at":"2026-08-15T00:00:00Z","declared_before_start":true,"gate":{"metric":"checkout-open","threshold":2,"window_days":14},"variables":{"channel":"agent-directory","offer":"$19 evidence skill","artifact":"proof-led listing","audience":"AI agent builders","timing":"14-day launch window"},"changed_variables":["artifact"],"max_cost_usd":0,"max_effort_hours":5,"cooldown_days":7},"events":[{"id":"open-1","type":"checkout-open","occurred_at":"2026-08-05T12:00:00Z","evidence_ref":"checkout:open:1","external_actor":true,"owner_controlled":false,"attribution":"verified"},{"id":"open-2","type":"checkout-open","occurred_at":"2026-08-09T12:00:00Z","evidence_ref":"checkout:open:2","external_actor":true,"owner_controlled":false,"attribution":"direct"}],"cost_usd":0,"effort_hours":3,"attribution_complete":true,"owner_activity_excluded":true},"version":"1.0.0","price":"$0.25","docsUrl":"https://justhandledlabs.com/agent-gateway/#products","endpoint":"https://justhandled-agent-gateway.netlify.app/api/run/channel-experiment-postmortem","schemaUrl":"https://justhandled-agent-gateway.netlify.app/api/schema/channel-experiment-postmortem","sandboxExample":"https://justhandled-agent-gateway.netlify.app/sandbox/index.json#channel-experiment-postmortem","priceBaseUnits":"250000"}]}