Przejdź do treści

Procurement Offer v1

Source schema: doc/schemas/procurement-offer.v1.schema.json

Machine-readable schema for responder offers attached to a published procurement-capable question.

Governing Basis

Project Lineage

Requirements

Stories

Fields

Field Required Shape Description
schema/v yes const: 1 Schema version.
offer/id yes string Stable identifier of the offer instance.
question/id yes string Question lifecycle identifier to which the offer responds.
created-at yes string Offer creation timestamp.
expires-at no string Optional offer-expiry timestamp before which the asker must decide.
responder/node-id yes string Responding node that would host, route, or execute the answer path.
responder/participant-id yes string Participation-role identity that stands behind the offer and would own the responder-side participation semantics.
responder/federation-id no string Federation identity of the responder when relevant to routing or trust.
responder/public-key-ref no string Reference to the responder's encryption or signature key material.
price/amount yes integer Proposed price in minor units. When price/currency = ORC, the value uses ORC minor units with fixed scale 2.
price/currency yes string Currency or settlement unit symbol for the proposed price.
deadline-at yes string Latest timestamp by which the responder expects to deliver or conclude.
answer/min-length yes integer Lower answer-length bound the responder is willing to contract against.
answer/max-length yes integer Upper answer-length bound the responder is willing to contract against.
answer/format no enum: plain-text, markdown, json, edn, mixed Preferred answer representation.
execution/mode yes enum: room-collaboration, single-responder Whether the responder expects collaborative discussion or a narrowed single-responder path.
specialization/tags yes array Tags used to justify topical fit of the offer.
models/used no array Models or capability labels the responder expects to use.
operator-participation/may-occur no boolean Whether the responder expects possible operator consultation or live human presence under allowed room policy.
confirmation/mode no enum: arbiter-confirmed, self-confirmed, manual-review-only Confirmation model proposed by the responder for later contract formation.
reputation/evidence yes array Evidence references advertised to justify responder trust.
policy_annotations no object

Conditional Rules

Rule 1

When:

{
  "required": [
    "answer/min-length",
    "answer/max-length"
  ]
}

Then:

{
  "properties": {
    "answer/max-length": {
      "minimum": 1
    }
  }
}

Field Semantics

schema/v

  • Required: yes
  • Shape: const: 1

Schema version.

offer/id

  • Required: yes
  • Shape: string

Stable identifier of the offer instance.

question/id

  • Required: yes
  • Shape: string

Question lifecycle identifier to which the offer responds.

created-at

  • Required: yes
  • Shape: string

Offer creation timestamp.

expires-at

  • Required: no
  • Shape: string

Optional offer-expiry timestamp before which the asker must decide.

responder/node-id

  • Required: yes
  • Shape: string

Responding node that would host, route, or execute the answer path.

responder/participant-id

  • Required: yes
  • Shape: string

Participation-role identity that stands behind the offer and would own the responder-side participation semantics.

responder/federation-id

  • Required: no
  • Shape: string

Federation identity of the responder when relevant to routing or trust.

responder/public-key-ref

  • Required: no
  • Shape: string

Reference to the responder's encryption or signature key material.

price/amount

  • Required: yes
  • Shape: integer

Proposed price in minor units. When price/currency = ORC, the value uses ORC minor units with fixed scale 2.

price/currency

  • Required: yes
  • Shape: string

Currency or settlement unit symbol for the proposed price.

deadline-at

  • Required: yes
  • Shape: string

Latest timestamp by which the responder expects to deliver or conclude.

answer/min-length

  • Required: yes
  • Shape: integer

Lower answer-length bound the responder is willing to contract against.

answer/max-length

  • Required: yes
  • Shape: integer

Upper answer-length bound the responder is willing to contract against.

answer/format

  • Required: no
  • Shape: enum: plain-text, markdown, json, edn, mixed

Preferred answer representation.

execution/mode

  • Required: yes
  • Shape: enum: room-collaboration, single-responder

Whether the responder expects collaborative discussion or a narrowed single-responder path.

specialization/tags

  • Required: yes
  • Shape: array

Tags used to justify topical fit of the offer.

models/used

  • Required: no
  • Shape: array

Models or capability labels the responder expects to use.

operator-participation/may-occur

  • Required: no
  • Shape: boolean

Whether the responder expects possible operator consultation or live human presence under allowed room policy.

confirmation/mode

  • Required: no
  • Shape: enum: arbiter-confirmed, self-confirmed, manual-review-only

Confirmation model proposed by the responder for later contract formation.

reputation/evidence

  • Required: yes
  • Shape: array

Evidence references advertised to justify responder trust.

policy_annotations

  • Required: no
  • Shape: object