Skip to content

Separate the objector from the adjudicator for unenforced lenses #19

Description

@h4x0r

A three-role architecture separates the one who objects from the one who decides. peira's
gates do both: a gate raises the objection and blocks on it.

For the nine enforced gates that is correct and should not change — they are deterministic, so the
objection IS the adjudication, and interposing a decision step would only add somewhere for the
verdict to be softened.

It stops being correct for the eleven catalogued-but-unenforced lenses, where the objection is a
judgement call. There, "this over-claims" and "the objection is sustained" are different records
made by different parties, and collapsing them puts the objector in the adjudicator's seat — the same
defect PEIR-LINT-SELF-GRADED (#10) exists to catch one layer down.

The machinery already exists and is unused for this:

  • NodeKind::Examination"the record of a lens having been run against a subject" — is the
    objection.
  • A graded edge, carrying by=, is the adjudication.

So an unenforced lens's finding should be an Examination node that ATTACKS the claim, and its
disposition a separately-graded edge. What is missing is any documented workflow saying so, and any
check that an Examination recording a finding was ever dispositioned.

Related: #10 (author must not sign off their own finding — the same separation), #3 (ACH, which is
adjudication between competing cases).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions