Repository navigation
§ 5.8, § 5.10 — Relationship and contract references: terms_ref, agreement_ref (#27) - #75
Draft
Kishore-2572 wants to merge 2 commits into
Draft
Kishore-2572 wants to merge 2 commits into
Kishore-2572 wants to merge 2 commits into
Conversation
§ 5.8 adds terms_ref ({ url, sha256, version }), REQUIRED when
terms_acceptance_required is true, hash-pinned and frozen at agreed, so
assent binds to an exact document. § 5.10 adds agreement_ref, an
informative pointer to the master or annual agreement a line item is
priced under, and documents the io and agreement roles on
external_references[]. IO generation is stated to be a connector
concern, and § 7 adds a non-normative note on relationships.
agreement_ref is seller-set; a buyer-held agreement id travels as an
external_references[] entry with role: agreement, so the field keeps
one marker (§ 3).
Appendix A gains two rows; Appendix B counts seller-set 29 → 31 and
73 fields. The display example carries terms_ref.
Refs #27
agreement_ref.parties used buyer_id, which the specification does not define. parties[] now names the seller by its seller_id and the buyer by the id it holds in eligible_bidders[] (section 5.8). Refs #27
2 tasks done
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 line item can now point at the agreement and the exact terms it is executed under, without the specification modelling contracts.
terms_ref(§ 5.8,{ url, sha256, version }) names the legal terms or IO template the buyer accepts at assent; it is REQUIRED whenterms_acceptance_requiredistrue, and hash-pinned and frozen atagreed.agreement_ref(§ 5.10) is an informative pointer to the master or annual agreement a line item is priced under.external_references[]documents tworolevalues,ioandagreement. § 5.10 states that IO generation is a connector concern, and § 7 adds a non-normative note: relationships are issued proposals plus the buyer agent's business rules.Related issue
Refs #27. Related: #26 (draft PR #74), where buyer-specific terms live on issued proposals.
Type
Checklist
scripts/check_appendix.pypassesseller-set29 → 31; 71 → 73 fieldsexamples/is updated and still parses —terms_acceptance_requiredandterms_refinline-item-display.yamlselectabledeclaresavailable[]andincluded[]; anythingsettabledeclares bounds (§ 3.1, § 3.2) — no newselectableorsettablefieldsKnock-on effects
terms_acceptance_required: trueand noterms_refno longer conforms.agreement_reftwo markers ("seller-set (buyer MAY also supply)"), but § 3 gives every field exactly one andscripts/check_appendix.pyreads one. It isseller-sethere; a buyer-held agreement id travels as anexternal_references[]entry withrole: agreement.[seller_id, buyer_id], but the specification defines nobuyer_id.parties[]names the seller by itsseller_idand the buyer by the id it holds ineligible_bidders[](§ 5.8). A defined buyer identifier is for the working group; [Change] § 4.1 — Identify the seller by seller_domain; make seller_id OPTIONAL #61 proposesseller_domainfor the seller side.external_references[]as outside the offered terms. Whetherterms_refandagreement_refbelong inside the binding record is for adjudication.assentrecord to carry thesha256of the accepted terms. [Change] § 4.1 — Define record_digest and assent[]; defer signer identity to the AAMP profile #63 proposes a digest-basedassent[].agreement_refusesvalid_from/valid_until, the same names as the proposal's offer window.effective_from/effective_untilwould avoid confusion.rolevalues onexternal_references[]).By opening this pull request I agree my contribution may be published under this
repository's licence, as set out in CONTRIBUTING.md.