Repository navigation
§ 2.3 — Static manifest at a well-known URL for standard proposals (#29) - #76
Draft
Kishore-2572 wants to merge 1 commit into
Draft
Kishore-2572 wants to merge 1 commit into
Kishore-2572 wants to merge 1 commit into
Conversation
A new § 2.3 lets a seller publish its public standard line items at /.well-known/openproposal.json: seller_id, generated_at, spec_version and, per proposal, proposal_id, version, the Summary Representation of each line item and a full_url. ETag / Last-Modified are required, only line items with visibility public appear, and entries must match the current version. Buyers discover from the manifest, then fetch the Full Representation of shortlisted line items. Adds examples/manifest.json (§ 6.5) and visibility: public to the CTV and audio examples; the registry_gated display line item is not listed. Refs #29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes
A new § 2.3 Publication lets a seller publish its public standard line items as a static file at
https://<seller domain>/.well-known/openproposal.json, like ads.txt and sellers.json. The file carriesseller_id,generated_at,spec_versionand, per proposal,proposal_id,version, the Summary Representation (§ 2.1) of each line item, and afull_url.ETag/Last-Modifiedare required so buyers can poll cheaply; only line items withvisibility: publicappear; and entries must match the current version. Buyers discover from the manifest with no agent call or language model, then fetch the Full Representation of shortlisted line items and compose as today.Related issue
Refs #29. The "current version" rule relies on #24 (draft PR #73).
Type
Checklist
scripts/check_appendix.pypassesexamples/is updated and still parses — newmanifest.json(§ 6.5);visibility: publicadded to the CTV and audio examples so they can appear in itselectabledeclaresavailable[]andincluded[]; anythingsettabledeclares bounds (§ 3.1, § 3.2) — no newselectableorsettablefieldsKnock-on effects
visibilityis a line-item field (§ 5.8). The display example isregistry_gated, so the example manifest lists only the CTV and audio line items.Examples parsecheck covers*.yamlonly, so it does not validatemanifest.json. The manifest carries only the summary keys the source examples declare; several § 2.1 summary keys are absent from the examples themselves ([Comment] § 6 — The examples omit listed keys, never exercise the pricing mechanism, and mix timestamp formats the spec does not define #37).seller_domain([Change] § 4.1 — Identify the seller by seller_domain; make seller_id OPTIONAL #61), so a copied file is rejected. The manifest takes whichever seller identifier the group adopts;record_digest/offer_digest([Change] § 4.1 — Define record_digest and assent[]; defer signer identity to the AAMP profile #63) in place of comparing version numbers;ETagandLast-Modifiedare required or either;spec_versionhas no home in the object ([Comment] § 2 — The draft does not say what a parser does with a key it does not define #33); what a public manifest may expose ([Comment] §§ 2.1, 2.2, 4, 5.7, 5.8, 5.10 — Privacy and disclosure guidance across summary, measurement, and agent identity#47).line_items[]) and carryproposal_idandseller_idon every line item representation #31 (line_items[]naming)./.well-known/openproposal.jsonfollows RFC 8615. If adopted, theopenproposal.jsonwell-known name should be registered with IANA.By opening this pull request I agree my contribution may be published under this
repository's licence, as set out in CONTRIBUTING.md.