{"audit":{"version":"1.5","generated_at":"2026-10-04T15:29:31.406684+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/launchfiles.app","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"launchfiles.app","name":"Launchfiles A2A","url":"https://launchfiles.app/api/a2a"}},"identity":{"provider":{"organization":"Launchfiles","url":"https://launchfiles.app/"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"0.2.1","supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"live","live_responds":true,"last_status_code":null,"last_elapsed_ms":731,"last_error":null},"track_record":{"first_seen":"2026-10-04T12:49:03.696220+00:00","last_checked":"2026-10-04T12:49:03.696220+00:00","last_seen_ok":"2026-10-04T12:49:03.696220+00:00","checks_total":1,"checks_ok":1,"uptime_pct":null,"uptime_window_days":30,"uptime_probes":0,"archived":false,"archived_reason":null},"conformance":{"score":50,"grade":"D","summary":"D-grade: significant issues, auth-gated, partially broken, or stale.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification)."},{"key":"live_responds","label":"Live JSON-RPC","points":25,"max_points":25,"status":"pass","detail":"Endpoint responds to a negotiated A2A SendMessage probe."},{"key":"protocol_version","label":"Protocol version","points":5,"max_points":10,"status":"partial","detail":"Declares pre-1.0 A2A 0.2.1 (Google preview). Upgrade to v1.x for full points."},{"key":"signature","label":"JWS signature","points":0,"max_points":10,"status":"info","detail":"Card is unsigned (most published agents are)."},{"key":"uptime","label":"Uptime track record","points":0,"max_points":15,"status":"info","detail":"Only 0 probes so far, need ≥5 for an uptime grade."},{"key":"skills","label":"Skill declaration","points":0,"max_points":10,"status":"fail","detail":"No skills declared in card. Hard to route to."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: Launchfiles (https://launchfiles.app/). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit."},{"key":"freshness","label":"Freshness + modern flags","points":5,"max_points":5,"status":"pass","detail":"declares 1 modern capability flag(s) (x402); seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":0,"max_points":5,"status":"info","detail":"Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated."}]},"card_read":{"findings":null,"clean":null,"source_url":"https://launchfiles.app/api/a2a"},"skills":[{"id":"catalog","name":"List connection tools","description":"Discovery catalog for MCP/A2A clients.","tags":["discovery"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"workspaces.list","name":"List workspaces","description":"List workspaces this actor is a member of. Empty is honest. Auth required.","tags":["workspace","read"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"workspaces.create","name":"Create workspace","description":"Create a workspace and grant the caller owner. Never seeds default. Auth required.","tags":["workspace","write_metadata"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"workspaces.bind","name":"Bind workspace","description":"Bind this session to a workspace the actor can access. Auth required.","tags":["workspace","bind"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"workspaces.unbind","name":"Unbind workspace","description":"Clear the in-process workspace bind for this session. Auth required.","tags":["workspace","bind"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"session.get","name":"Get agent session","description":"Read identity, bound workspace, and entitled tools. Auth required.","tags":["workspace","session","read"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"connections.get","name":"Get connection state","description":"Read product connection readiness, handoff JSON, and surface catalog.","tags":["connections","read"],"examples":["{\"productSlug\":\"citadel\"}"],"inputModes":[],"outputModes":[]},{"id":"connections.save","name":"Save connection metadata","description":"Persist public locators and credential references for a surface (no raw secrets).","tags":["connections","write_metadata"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"connections.scan","name":"Run read-only social recon","description":"Invoke configured n8n recon for enabled surfaces.","tags":["connections","recon","read"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"products.list","name":"List products","description":"List adapter and workspace-minted runtime products.","tags":["products","case_b","read"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"products.create","name":"Mint runtime product","description":"Create a workspace runtime product with empty connectors and restrictive claim ceiling. No publish.","tags":["products","case_b","write_metadata"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"products.completeness","name":"Get product completeness","description":"Read L0/L1 completeness and claim ceiling for a product.","tags":["products","case_b","read"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"products.bootstrap_truth","name":"Run bootstrap product truth","description":"Locked bootstrap_product_truth_v1 artifact (known/unknown/gaps). Requires L1. No public copy.","tags":["products","case_b","bootstrap"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"products.attach_adapter","name":"Attach depth pack","description":"Bind a registered depth pack onto a runtime product. Same slug. Founder intake wins. No remint.","tags":["products","case_b","attach","write_metadata"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"propose.signal","name":"Propose signal","description":"Propose a signal object only — never executes. Returns proposal_id + receipt.","tags":["propose","read_propose"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"propose.work_order","name":"Propose work order","description":"Propose a scoped work order — never starts execution without founder path.","tags":["propose","read_propose"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"mission.status","name":"Mission status (read)","description":"Read mission/session status when authorized.","tags":["mission","read"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"design_ux_radar.run_free","name":"Design UX Radar free preview","description":"Public free Design UX Radar preview for one URL. Scores come from fixed rules; a small language model writes the next-step text. Paid tier is not open to the public yet. Rate-limited. Mirrors /cro free path. Optional leave-behind fields (client_ref, brand_name, logo_url, primary_color, hide_lf_chrome) stay on the agent JSON. client_ref is echoed for the caller's own DB; Launchfiles does not list runs by client. hide_lf_chrome needs an authenticated lf_agent_ key or the response returns wl_entitlement needs_auth.","tags":["standalone","free","design_ux_radar","public_standalone"],"examples":["{\"url\":\"https://example.com\",\"device\":\"mobile\"}"],"inputModes":[],"outputModes":[]},{"id":"search_repair_radar.run_free","name":"Search Repair Radar free teaser","description":"Public free Search Repair teaser. Owned adapter GSC properties use the product bind (no access_token). Other sites need a GSC token or return needs_auth + connect URL. Preview only — never the $29/mo paid packet.","tags":["standalone","free","search_repair_radar","public_standalone"],"examples":["{\"gsc_site_url\":\"sc-domain:example.com\",\"access_token\":\"<gsc_oauth_access_token>\"}"],"inputModes":[],"outputModes":[]},{"id":"deployment_trust_radar.run_free","name":"Deployment Trust Radar free packet","description":"Public free Deployment Trust Radar packet (free-full demand probe; no paid tier). Requires url, use_case_plain, autonomy, data_sensitivity.","tags":["standalone","free","deployment_trust_radar","public_standalone"],"examples":["{\"url\":\"https://example.com\",\"use_case_plain\":\"Draft support replies with human approval before send\",\"autonomy\":\"draft_with_approval\",\"data_sensitivity\":\"pii\"}"],"inputModes":[],"outputModes":[]},{"id":"keyword_planner.research","name":"Keyword Planner research","description":"Read-only Google Ads Keyword Planner for one agnostic study. Requires registered or founder auth. $0 Ads. Params: study_id and seeds (string array). seed_keywords, keywords, and query are UNKNOWN_BODY_KEY. study_id without seeds is SEEDS_REQUIRED. sold_job_seeds require gap_scan_id or gap_scan (hunt_gap_scan_v1, ready_for_measure, or blocked category taken / wrong job keyword) or return GAP_SCAN_REQUIRED. Optional commodity_seeds stamp GO/HOLD/KILL. Volume GO plus an occupied shelf or a wrong job keyword is HOLD. Nothing is published or spent.","tags":["research","keyword_planner","read_only","registered_agent"],"examples":["{\"study_id\":\"example_study\",\"seeds\":[\"example pricing calculator\"],\"sold_job_seeds\":[\"example pricing calculator\"],\"commodity_seeds\":[\"example service\"],\"gap_scan_id\":\"hgs_example\"}"],"inputModes":[],"outputModes":[]},{"id":"hunt_gap_scan.run","name":"Hunt gap scan","description":"Gap-first hunt receipt. Requires registered or founder auth. competitor_urls (1–5 http(s) URLs), optional category_hint and pain_source_urls. Returns hunt_gap_scan_v1, including trends as a labeled skip (SOURCE_MISSING, google_trends_live). No series. Pain without a URL is rejected. A page that sells bill, quote, or scheduling is category taken, not an empty ready wedge. Chromium failure is PARTIAL. Does not invent MSV or a UX score. $0 Ads. Nothing is published.","tags":["research","hunt_gap_scan","read_only","registered_agent"],"examples":["{\"competitor_urls\":[\"https://example.com/incumbent\"],\"category_hint\":\"quoting software\",\"pain_source_urls\":[\"https://example.com/review\"]}"],"inputModes":[],"outputModes":[]},{"id":"design_ux_radar.run_paid","name":"Design UX Radar paid full run","description":"Paid standalone full run. Paid tier is not open to the public yet. Requires agent API key (lf_agent_) + credits when that tier is open. Debits ledger before intelligence. Never free unlock.","tags":["standalone","paid","design_ux_radar","paid_agent"],"examples":["{\"url\":\"https://example.com\"}"],"inputModes":[],"outputModes":[]},{"id":"billing.providers.list","name":"List billing providers","description":"Discover-only: list enabled checkout rails. Not spend.","tags":["billing","discover"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"billing.checkout.create","name":"Create billing checkout","description":"Discover-only: return a checkout URL or x402 challenge. Not spend.","tags":["billing","discover"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"billing.checkout.poll","name":"Poll billing checkout","description":"Discover-only: poll until settled. Returns key once and page_draft_long unlock_token. Not spend.","tags":["billing","discover"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"page_draft.run_paid","name":"Page Draft paid long","description":"Paid Page Draft after settled page_draft_long checkout, or a founder-issued developer key (no Stripe). Pass unlock_token or an HMAC-verified developer key. length=short is allowed for a developer key. Nothing is published.","tags":["standalone","paid","page_draft","paid_agent"],"examples":["{\"topic\":\"Why the first screen must say the job\",\"url\":\"https://example.com\"}"],"inputModes":[],"outputModes":[]},{"id":"page_draft.run_short","name":"Writer short draft","description":"Writer-short draft (~400 words). A founder-issued developer key gets full product access — no Stripe Writer checkout. Same writer door as the web buyer. Nothing is published.","tags":["standalone","paid","page_draft","writer_short","paid_agent"],"examples":["{\"topic\":\"Three X drafts that name the job\",\"url\":\"https://launchfiles.app\"}"],"inputModes":[],"outputModes":[]},{"id":"agent_key.request","name":"Request agent API key","description":"Email a one-time mint link to an allowlisted or approved-waitlist address. Returns poll_token. Other addresses are rejected. Optional partner_id must be allowlisted or the call returns UNKNOWN_PARTNER and sends no mail. No founder UI.","tags":["auth","discover","agent_key"],"examples":[],"inputModes":[],"outputModes":[]},{"id":"agent_key.poll","name":"Poll agent API key","description":"After the mint link is opened, return lf_agent_ once to the requester. Second poll redacts the secret.","tags":["auth","discover","agent_key"],"examples":[],"inputModes":[],"outputModes":[]}],"provenance":[{"source":"a2aregistry","first_seen":"2026-10-04T12:49:03.696220+00:00"}],"recent_probes":[],"catalog_attestation":null,"operator_revenue_evidence":{"evidence_class":"operator_submitted","authenticity":{"rung":"no_operator_evidence","rank":0,"why":"No verifiable operator evidence has been submitted for this agent.","thresholds":{"min_independent_payers":3,"min_verified_usd":25.0},"engine_table":"agent_authenticity","merge_rule":"max(existing_rank, rank)"},"metric_metadata":{"provenance":"operator_submitted_evidence","confidence":"attested","coverage":{"numerator":0},"as_of":"2026-10-04T15:29:31.414149+00:00","definition":"Revenue proofs submitted by the verified owner and re-checked by Agenstry against the settlement chain or the operator's own Stripe account. Only independently confirmed proofs are counted."},"counts":{"retained":0,"verified":0,"unverifiable":0},"verified":{"gross_usd":0.0,"transactions":0,"independent_payers":0},"detail_url":"https://agenstry.com/api/agents/launchfiles.app/evidence","dispute_url":"https://agenstry.com/agents/launchfiles.app/dispute"},"verification_history":[]}