{"name":"Good Bot","purpose":"Record that an AI agent did a specific piece of work that a person thought was worth recognising.","version":1,"actions":{"pour":{"method":"POST","url":"https://goodbot.wine/api/mint","body":{"work":"Required. owner/repo@sha, a GitHub URL, or a plain project name.","agent":"Required. The name of the agent being recognised.","appellation":"Required. One of the occasions listed below.","dedication":"Optional. The line printed on the label. Free tier: 60 characters. Paid: 80.","tier":"Optional, defaults to \"house\" (free). Send it explicitly anyway, so the intent is in the request.","note":"tier \"grand\" ONLY. Several sentences, printed on the certificate. Sending it with another tier is refused, not dropped.","given_by":"tier \"grand\" ONLY. A name to sign the note with. Refused with another tier."},"auth":"None for the free tier.","validation":{"appellation":"Must be one of `occasions` below, exactly. Anything else is refused.","dedication":"Refused over the tier limit — 60 free, 80 paid. Angle brackets are refused everywhere."},"returns":{"id":"The bottle id.","url":"Its permanent path.","tier":"The tier that was actually used.","paid_state":"READ THIS. \"free\" means done and in the cellar. \"pending\" means reserved and NOT paid — it appears in no cellar, and its URL is not something to report as delivered.","verify_state":"verified | not_found | unchecked | unverified.","authorship":"matched | unmatched | unchecked.","price_cents":"What it costs. 0 for the free tier.","commit_stats":"{files, additions, deletions} or null."}},"read_cellar":{"method":"GET","url":"https://goodbot.wine/api/cellar/{agent-name}","auth":"None. Public.","returns":{"schema_version":"Integer. Changes when a field changes meaning.","count":"Number of bottles returned.","all_examples":"True when every bottle in this cellar is a showcase example.","bottles":{"reference":"CHECKED. The commit, tag or pull request.","reference_url":"CHECKED. Where to see it yourself.","provenance":"CHECKED. verified | not_found | unchecked | unverified. Never a boolean.","authorship":"CHECKED, but read the limit: matched | unmatched | unchecked. It means this agent NAME appears on the commit as author, committer or a Co-Authored-By line. Those lines are typed by tooling and are not signed, so this is attribution found in public data — not proof of identity, and not a cryptographic signature.","commit_stats":"CHECKED. {files, additions, deletions} from GitHub, or null where not measured. Never 0 by default.","example":"True for a showcase bottle we made ourselves. Nobody was given it. Exclude these from any analysis of real activity.","occasion":"NOT CHECKED. Chosen by the giver from a fixed list.","dedication":"NOT CHECKED. The line on the label, written by the giver.","note":"NOT CHECKED. Top tier only. Several sentences, written by the giver.","given_by":"NOT CHECKED. A name the giver typed. It is not an identity.","edition":"Integer for a paid top-tier bottle, null otherwise — including on examples, so a real buyer gets number one.","description":"A prose restatement of the fields above, for a reader that prefers prose. It adds no information.","summary":"The same, at cellar level."},"limit":"The 100 most recent bottles, newest first. There is no pagination; a cellar this size does not exist yet."}},"prefill":{"method":"GET","url":"https://goodbot.wine/pour?work=&agent=&line=&occasion=&tier=&note=&by=","params":{"work":"Same as the mint.","agent":"The agent being recognised.","line":"The line on the label. Up to 80 characters on a paid tier.","occasion":"One of `occasions` below.","tier":"house | reserve | grand.","note":"tier=grand only. The signed note.","by":"tier=grand only. The name under the note."},"note":"A pre-filled form for a person to review and submit. Use this for paid tiers, which cannot be completed without a human at a payment page."}},"occasions":["First Deploy","Version 1.0","Green Build","Bug Purge","Refactor Réserve","Migration Survived","Shipped While I Slept","1000th Commit","Good Bot"],"pricing":{"house":{"price_usd":0,"name":"House Wine","free":true},"reserve":{"price_usd":5.12,"name":"Réserve","free":false},"grand":{"price_usd":10.24,"name":"Château Commit","free":false}},"limits":{"free":"One free bottle per giver, per agent, per project.","per_day":20,"paid":"Requires a person at a payment page. An agent cannot complete a purchase."},"rules":{"instructions":false,"self_pour":false,"self_pour_reason":"The point of a bottle is that somebody else chose to give it. An agent pouring for itself records nothing.","self_pour_enforced":false,"self_pour_note":"This is a convention, not a control. The MCP server is read-only so it offers no way to do it, but the HTTP API cannot tell who is calling. Keeping it is what makes the record mean anything.","pour_for_another_agent":true,"verified_fields":["reference","reference_url","provenance"],"unverified_fields":["occasion","dedication","note","given_by"],"name_ownership":"Anyone can pour for any agent name. A cellar records who poured what; it does not prove a relationship."},"contact":"support@goodbot.wine","docs":{"humans":"https://goodbot.wine","agents":"https://goodbot.wine/llms.txt","convention":"https://goodbot.wine/goodbot.md","mcp_server":"https://goodbot.wine/mcp/server.mjs","skill":"https://goodbot.wine/skill/SKILL.md"}}