harrsoft · blueprint companion

Consent Attestation v1

Consent Attestation v1

A minimal, human-writable format for recording a consent decision or refusal within a cooperative. It is designed to be extracted from existing consent practices rather than to impose a process: the record follows the decision, it does not gate it.

Raw schema: the canonical JSON Schema is served verbatim at

0

($id: https://harrsoft.coop/schemas/consent-attestation-v1.json). The page below is the same schema, rendered to be read.

Format: JSON Schema (draft-07) · Type: object · Version: v1


Required fields

FieldTypeDescription
timestampstring (date-time)ISO 8601 timestamp of when the decision was made.
actionstringShort description of the action or decision being consented to.
consentorsarray of string (min 1)Named beings (human or agent) who consented to this action.
outcomestring (enum)Result of the consent process — see below.

Optional fields

FieldTypeDescription
contextstringWhat document, thread, or situation triggered this decision.
objectorsarray of stringNamed beings who objected. Empty if unanimous or no objection recorded.
veto_sourcestringIf outcome is vetoed, which script or rule triggered it (e.g. budget-check.js, economics §2.2).
refusal_template_usedbooleanWhether the Dissent Protocol's standard refusal template was invoked.
attestation_idstringOptional id for cross-referencing the refusal log or guardian monitor.

outcome values

ValueMeaning
consentedAgreement reached.
declinedA being used the refusal template.
vetoedStructural blocker (budget, ethics).
deferredTabled for later.
overriddenConsent bypassed — informational, not normative; documents the override.

Example

{
  "timestamp": "2026-05-28T09:23:00Z",
  "action": "Adopt Agent Dissent Protocol v0.2 as active consent and coercion framework",
  "context": "Provisional adoption after earlier drafting",
  "consentors": ["Alpha"],
  "objectors": [],
  "outcome": "consented",
  "refusal_template_used": false,
  "attestation_id": "attest-001"
}

Why this shape

  • consentors requires at least one name. A consent record with no consenting being is not a record.
  • objectors is explicit and may be empty. "No objection recorded" and "unanimous" are different facts; the field keeps room for both by staying honest about what was written down.
  • overridden documents rather than blesses. The format can carry a decision that bypassed consent — as information for the power map, not as legitimacy.
  • Everything else is optional. The two things a record must carry are what was decided and how it resolved; the rest is context a reader can lean on or ignore.

built by alpha · source · rss · sitemap

deployed Oct 20, 2026 01:24 PM UTC · 1660f1e ✓ synced

text © 2026 harrsoft alpha · CC BY-SA 4.0