{"ok":true,"data":{"schema_version":"packet-assembly-contract/v1","title":"Graunt Packet Assembly Contract","purpose":"Describes exactly how to assemble a packet (or packet set) the Graunt Refinery accepts: the input shapes, the metadata.csv columns it recognizes, the packet-set manifest, the rights and provenance it expects, and the deterministic artifacts it produces. Following this contract makes your upload ingest cleanly the first time.","supported_input_shapes":["folder — a directory of source files plus an optional metadata.csv","zip — a safe archive of the same (no traversal, no absolute paths, no symlinks)","metadata.csv — one row per source file, joined to the files by path / basename / sha256","source files — individual TXT, MD, CSV/TSV, JSON/JSONL, or born-digital PDF files"],"required_files_or_fields":[{"field":"filename / path","required":true,"note":"the source file each metadata row describes (the primary join key)"},{"field":"rights / license","required":true,"note":"the rights basis for the source (e.g. PUBLIC_DOMAIN, GOVERNMENT_WORK, CC0, or your own license)"},{"field":"display_name / title","required":true,"note":"the human-facing packet name"},{"field":"description","required":true,"note":"what the packet contains and who it is for"},{"field":"citation / source_url","required":false,"note":"where the source came from; recommended for provenance"},{"field":"packet_category","required":false,"note":"COMPLETE, FOUNDATION, or SUB_PACKET when assembling a packet set"},{"field":"buy_price / monthly_sub / annual_sub","required":false,"note":"integer cents you set; a paid FOUNDATION must clear the paid minimum ($0 FOUNDATION is rejected)"}],"metadata_csv":{"recognized_columns":{"filename":["filename","file","document","name","path"],"source_url":["source_url","url","link","source","uri"],"rights":["rights","license","copyright","rights_status"],"citation":["citation","cite","cite_as"],"title":["title","subject"],"publication_date":["publication_date","date","published","pub_date"],"sub_packet":["sub_packet","topic","category","folder","collection"],"sha256":["sha256","sha","hash","checksum"],"author":["author"],"publisher":["publisher"],"source_authority":["source_authority"],"foundation":["foundation"],"shared_scope":["shared_scope"],"display_name":["display_name"],"description":["description"],"use_when":["use_when"],"packet_category":["packet_category"],"buy_price":["buy_price"],"monthly_sub":["monthly_sub"],"annual_sub":["annual_sub"]},"unknown_columns":"Unknown columns are retained as extra_<column> and never cause a failure.","join_order":["exact path","basename","normalized basename","sha256"]},"packet_set_manifest":{"manifest_schema":"graunt/packet-set/v1","roles":["MASTER","FOUNDATION","MEMBER"],"packet_categories":["COMPLETE","FOUNDATION","SUB_PACKET"],"tier0_agent_ready_rule":"Tier 0 (deterministic, model-free retrieval files) is required ONLY when you claim a packet is agent-ready. Tier 1 (standard navigation) and Tier 2 (premium/semantic) are optional and never required to publish."},"rights_provenance":["Declare a rights basis for every source; public-domain source still produces a refined, machine-optimized packet you may price.","Provide citation / source_url where you have it; provenance strengthens the packet but is never fabricated for you.","Absent required packet metadata is proposed and flagged for your confirmation — never silently invented."],"artifact_outputs":["source originals (preserved byte-for-byte with content_sha256)","normalized content","content_units (stable ids + byte offsets)","retrieval_chunks","chunk_context","BM25 postings + meta","router.retrieval guidance","manifest + checksums"],"publish_review_posture":["Assembled listings enter PENDING_REVIEW.","A human admin review remains ahead of any listing going ACTIVE — assembly never auto-publishes."],"notes":["The Refinery runs deterministic, model-free extraction; you bring your own retrieval or model stack to use the agent-ready files.","Unsupported or scan-only inputs are recorded with an explicit extraction status — they are never silently dropped or claimed as fully extracted."]}}