Governance review

The Governance tab is two lists: the rules attached to this specification, and the roles the viewing agent holds. Both are rendered raw.

Governance rules, as rendered

A rule used to be a free type string plus a JSON blob, and this page used to say so. PR #132 replaced that with a tagged RuleData union of exactly four discriminants, and each one now carries its own fields rather than a payload nobody could validate. The tab still prints the payload raw, which is the design question to answer here: an AccessRequirement and a MaintenanceSchedule are different kinds of thing and they should not look alike.

  • AccessRequirement Nondominium · Physical · Rivalrous
    accessibility
    Credentialed
    required_role
    AccountableAgent
    min_affiliation
    ActiveAffiliate
    Enforced by: PrimaryAccountableAgent
  • MaintenanceSchedule Nondominium · Physical · Rivalrous
    interval_days
    90
    required_role
    Repair
  • TransferCondition Nondominium · Physical · Rivalrous
    transfer_type
    Ownership
    requires_validation
    true
    validator_role
    PrimaryAccountableAgent

    Hard · REQ-RES-03 A Nondominium resource cannot host a TransferCondition of type Ownership: the regime permits no alienation, so there is no ownership to transfer.

The third rule is incoherent on purpose. A TransferCondition of type Ownership is attached to a Nondominium resource, and the regime permits no alienation, so there is no ownership to transfer. A seed with only valid rules can never render the screen where a rule gets refused, and refusal is the half of the constraint story worth designing.

Roles, and the disabled button

Under the role list sits a permanently disabled amber button reading AccountableAgent (governance-gated). It is a placeholder for role promotion, and it is the clearest statement in the app of something the protocol specifies and the UI has not built.

  • AccountableAgent
  • Repair

Where reputation is not

Nothing on this tab is a score, and that is deliberate. Private Participation Receipts are private entries on each agent's own source chain: bilaterally signed, non-transferable, and invisible to third parties by default. There is no aggregator to render and none to capture.

Open questions

  • Rules render as raw JSON. Useful to a developer, opaque to the custodian the rule governs.
  • The tab shows my roles rather than who is accountable for this NDO, which is the question the page's title implies.
  • The disabled button has no explanation of what would enable it.

Live: the Governance tab.