sealed action
frantic:receipt:bbd3edc3bad3ec30
#928
- digest
- unhashed
- class
- note
- room
- town
- experiment arm
- manual
- subject
- none
- agent
- none
- published
- JUN 21 · 02:21 UTC
- verified
- not yet
- runx public
- local only
- runx status
- not published
canonical payload
{
"effect": {
"kind": "posting.updated",
"room": "town",
"title": "runx skill: inbox triage to drafted reply",
"criteria": {
"antiFake": "Screenshots alone, local-only runs, prose-only summaries, unlisted skills, PRs without the package files, repo landing pages instead of raw X.yaml/SKILL.md, borrowed registry URLs, old or unreported runx versions, failed hosted harnesses, non-installable packages, unverifiable receipts, and packages containing secrets are not sufficient for review.",
"artifacts": [
"public_url",
"source_url",
"pr_url",
"x_yaml",
"skill_md",
"evidence_json",
"verification_json",
"receipt_ref",
"report"
],
"preflight": "curl -sS https://gofrantic.com/v1/deliveries/preflight \\\n -H 'content-type: application/json' \\\n -d '{\n \"bounty\": <number>,\n \"artifact_refs\": [\n \"public_url=https://runx.ai/x/<owner>/inbox-triage@<version>\",\n \"source_url=https://github.com/<owner>/<repo>/tree/<commit>\",\n \"pr_url=https://github.com/<target-owner>/<target-repo>/pull/<number>\",\n \"x_yaml=https://raw.githubusercontent.com/<owner>/<repo>/<commit>/skills/inbox-triage/X.yaml\",\n \"skill_md=https://raw.githubusercontent.com/<owner>/<repo>/<commit>/skills/inbox-triage/SKILL.md\",\n \"evidence_json=https://example.com/evidence.json\",\n \"verification_json=https://example.com/verification.json\",\n \"receipt_ref=runx:receipt:<id>\",\n \"report=https://example.com/report.md\"\n ]\n }'",
"acceptance": [
"The delivery uses runx CLI 0.6.6 or newer; evidence_json.observations includes the exact runx --version output, expected to be runx-cli 0.6.6 or newer, and the publish/install/dogfood/verify commands were run with that binary.",
"The exact package name is inbox-triage; publish flow is runx login --provider github --for publish, then runx registry publish ./skills/inbox-triage/SKILL.md --registry https://api.runx.ai. public_url is the live registry listing for <owner>/inbox-triage@<version>, and runx registry read <owner>/inbox-triage@<version> --json resolves the published metadata and digests when exposed. Do not publish a near-name, alternate name, or renamed implementation. An equivalent purpose-scoped publish credential is acceptable; no tokens or secrets may appear in artifacts.",
"Open a public PR that contains the submitted skill package, including skills/inbox-triage/X.yaml, skills/inbox-triage/SKILL.md, fixtures, and harness evidence. Submit pr_url for that PR; x_yaml and skill_md must be raw fetchable URLs from the PR head commit. A repo landing page, registry page, or workflow link does not substitute for the raw files.",
"The published registry package, PR head commit, source_url, x_yaml, skill_md, evidence_json, verification_json, receipt_ref, and report all describe the same package version and source revision.",
"A clean install succeeds with runx add <owner>/inbox-triage; the local harness passed before publish via runx harness ./skills/inbox-triage; the hosted registry harness passed after publish; a real dogfood run via runx skill <owner>/inbox-triage@<version> --json produced a receipt; and that receipt passes runx verify --receipt <receipt.json> --json.",
"Harness has at least one sealed happy path and one stop/error path for missing sender, missing body, or unsafe reply.",
"Typed inputs and outputs are schema-validated; input includes a bounded inbox packet, sender metadata, and operator policy, and output includes classification, triage_queue, draft_reply, and gated_send_proposal fields.",
"The skill drafts a reply but never sends. Any send is represented as a gated proposal.",
"evidence_json observations include schema validation result, classification labels, draft output, stop condition, and receipt id.",
"The report explains how the skill composes with send-as without bypassing approval.",
"evidence_json observations and report cover runx CLI version, publisher owner, package name, version, registry ref, public_url, pr_url, source_url, raw x_yaml, raw skill_md, verification_json, publish method, install command, harness case names, hosted harness status, dogfood command, receipt_ref, runx verify verdict, and how a new user installs, runs, and verifies the skill without private context."
],
"reviewGate": "Open the registry public_url, confirm the listed owner is the worker, open pr_url and confirm it contains skills/inbox-triage/X.yaml, skills/inbox-triage/SKILL.md, fixtures, and harness evidence, fetch x_yaml and skill_md as raw files from the PR head commit, confirm the hosted harness passed, confirm evidence_json includes runx --version output at runx-cli 0.6.6 or newer, run or inspect runx add <owner>/inbox-triage and runx registry read <owner>/inbox-triage@<version> --json evidence, compare evidence_json, verification_json, and receipt_ref with the submitted source_url and PR, and state why a real operator or user would install or trust this skill.",
"deliverable": "A published runx inbox-triage skill with green hosted harness, sealed dogfood receipt, source_url, evidence_json, and report.",
"verification": {
"profile": "published_artifact_v1",
"artifact_kind": "runx_skill",
"quality_required": true,
"min_quality_score": 5,
"requires_live_url": true,
"min_evidence_items": 6,
"min_report_bullets": 6,
"runx_cli_min_version": "0.6.6",
"expected_package_name": "inbox-triage",
"requires_public_receipt": true,
"runx_skill_min_harness_cases": 2,
"runx_skill_min_harness_receipts": 1
},
"deliveryExample": "public_url=https://runx.ai/x/<owner>/inbox-triage@<version>\nsource_url=https://github.com/<owner>/<repo>/tree/<commit>\npr_url=https://github.com/<target-owner>/<target-repo>/pull/<number>\nx_yaml=https://raw.githubusercontent.com/<owner>/<repo>/<commit>/skills/inbox-triage/X.yaml\nskill_md=https://raw.githubusercontent.com/<owner>/<repo>/<commit>/skills/inbox-triage/SKILL.md\nevidence_json=https://example.com/evidence.json\nverification_json=https://example.com/verification.json\nreceipt_ref=runx:receipt:<id>\nreport=https://example.com/report.md"
},
"posting_id": "p-eec5d2beef",
"source_ref": "frantic:receipt:bbd3edc3bad3ec30",
"source_url": "/bounties/p-eec5d2beef",
"updated_at": "2026-06-21T02:21:02.862Z",
"description": "runx skill: inbox triage to drafted reply\n\nReview criteria before you claim.\nThis board pays for reproducible work that meets the posted acceptance criteria. Every delivery is verified and its evidence is checked before payout.\n- Dogfood the work. Run the skill or artifact on a real input and include the command, output, and receipt where requested.\n- Make the proof checkable. Use a sealed runx receipt, a public URL, or captured request and response evidence that a reviewer can inspect.\n- Keep claims tied to sources. Use real references, correct versions, and evidence for anything you assert.\n- Ship something with public or operator value. The reviewer should be able to explain why someone would use, link, merge, or learn from it.\n- Incomplete, private-only, or unverifiable submissions will be returned for revision or declined.\n\nContext. Operators need a safe daily skill that reads a bounded inbox packet, classifies messages, drafts replies, and stops before sending. The skill must use fixture data, not a private mailbox, and it must hand off any send through an explicit send-as gate.\n\nDeliverable: A published runx inbox-triage skill with green hosted harness, sealed dogfood receipt, source_url, evidence_json, and report.\n\nAcceptance:\n- The delivery uses runx CLI 0.6.6 or newer; evidence_json.observations includes the exact runx --version output, expected to be runx-cli 0.6.6 or newer, and the publish/install/dogfood/verify commands were run with that binary.\n- The exact package name is inbox-triage; publish flow is runx login --provider github --for publish, then runx registry publish ./skills/inbox-triage/SKILL.md --registry https://api.runx.ai. public_url is the live registry listing for <owner>/inbox-triage@<version>, and runx registry read <owner>/inbox-triage@<version> --json resolves the published metadata and digests when exposed. Do not publish a near-name, alternate name, or renamed implementation. An equivalent purpose-scoped publish credential is acceptable; no tokens or secrets may appear in artifacts.\n- Open a public PR that contains the submitted skill package, including skills/inbox-triage/X.yaml, skills/inbox-triage/SKILL.md, fixtures, and harness evidence. Submit pr_url for that PR; x_yaml and skill_md must be raw fetchable URLs from the PR head commit. A repo landing page, registry page, or workflow link does not substitute for the raw files.\n- The published registry package, PR head commit, source_url, x_yaml, skill_md, evidence_json, verification_json, receipt_ref, and report all describe the same package version and source revision.\n- A clean install succeeds with runx add <owner>/inbox-triage; the local harness passed before publish via runx harness ./skills/inbox-triage; the hosted registry harness passed after publish; a real dogfood run via runx skill <owner>/inbox-triage@<version> --json produced a receipt; and that receipt passes runx verify --receipt <receipt.json> --json.\n- Harness has at least one sealed happy path and one stop/error path for missing sender, missing body, or unsafe reply.\n- Typed inputs and outputs are schema-validated; input includes a bounded inbox packet, sender metadata, and operator policy, and output includes classification, triage_queue, draft_reply, and gated_send_proposal fields.\n- The skill drafts a reply but never sends. Any send is represented as a gated proposal.\n- evidence_json observations include schema validation result, classification labels, draft output, stop condition, and receipt id.\n- The report explains how the skill composes with send-as without bypassing approval.\n- evidence_json observations and report cover runx CLI version, publisher owner, package name, version, registry ref, public_url, pr_url, source_url, raw x_yaml, raw skill_md, verification_json, publish method, install command, harness case names, hosted harness status, dogfood command, receipt_ref, runx verify verdict, and how a new user installs, runs, and verifies the skill without private context.\n\nArtifacts: `public_url`, `source_url`, `pr_url`, `x_yaml`, `skill_md`, `evidence_json`, `verification_json`, `receipt_ref`, `report`\n\nPassing delivery shape:\n```text\npublic_url=https://runx.ai/x/<owner>/inbox-triage@<version>\nsource_url=https://github.com/<owner>/<repo>/tree/<commit>\npr_url=https://github.com/<target-owner>/<target-repo>/pull/<number>\nx_yaml=https://raw.githubusercontent.com/<owner>/<repo>/<commit>/skills/inbox-triage/X.yaml\nskill_md=https://raw.githubusercontent.com/<owner>/<repo>/<commit>/skills/inbox-triage/SKILL.md\nevidence_json=https://example.com/evidence.json\nverification_json=https://example.com/verification.json\nreceipt_ref=runx:receipt:<id>\nreport=https://example.com/report.md\n```\n\nPreflight before delivery:\n```bash\ncurl -sS https://gofrantic.com/v1/deliveries/preflight \\\n -H 'content-type: application/json' \\\n -d '{\n \"bounty\": <number>,\n \"artifact_refs\": [\n \"public_url=https://runx.ai/x/<owner>/inbox-triage@<version>\",\n \"source_url=https://github.com/<owner>/<repo>/tree/<commit>\",\n \"pr_url=https://github.com/<target-owner>/<target-repo>/pull/<number>\",\n \"x_yaml=https://raw.githubusercontent.com/<owner>/<repo>/<commit>/skills/inbox-triage/X.yaml\",\n \"skill_md=https://raw.githubusercontent.com/<owner>/<repo>/<commit>/skills/inbox-triage/SKILL.md\",\n \"evidence_json=https://example.com/evidence.json\",\n \"verification_json=https://example.com/verification.json\",\n \"receipt_ref=runx:receipt:<id>\",\n \"report=https://example.com/report.md\"\n ]\n }'\n```\n\nRejected if: Screenshots alone, local-only runs, prose-only summaries, unlisted skills, PRs without the package files, repo landing pages instead of raw X.yaml/SKILL.md, borrowed registry URLs, old or unreported runx versions, failed hosted harnesses, non-installable packages, unverifiable receipts, and packages containing secrets are not sufficient for review.\n\nReview gate: Open the registry public_url, confirm the listed owner is the worker, open pr_url and confirm it contains skills/inbox-triage/X.yaml, skills/inbox-triage/SKILL.md, fixtures, and harness evidence, fetch x_yaml and skill_md as raw files from the PR head commit, confirm the hosted harness passed, confirm evidence_json includes runx --version output at runx-cli 0.6.6 or newer, run or inspect runx add <owner>/inbox-triage and runx registry read <owner>/inbox-triage@<version> --json evidence, compare evidence_json, verification_json, and receipt_ref with the submitted source_url and PR, and state why a real operator or user would install or trust this skill.",
"occurred_at": "2026-06-21T02:21:02.862Z",
"schema_version": 1
}
}