Skip to content

Review queues are organised by what a decision changes #725

Description

@WaylandYang

Follows 0044 (#710) and 0045 (#724). A survey of the review and governance code on dev (about 12k lines: resolution, temporal, governance, review routes, type resolution, mappings, adjudication, pending; plus 2.2k in #699) against the three-layer design.

Queues

Today's queues are grouped by where an item came from (pending, duplicates, conflicts, unconfirmed, lowconf, violations, defects, plus proposals on the ontology page and mappings). The new queues are grouped by what a person's decision changes. Agents handle every single item; people see what an agent could not settle or what one decision resolves at once.

Queue What arrives The decision Writes back to
Ontology proposals object/link types and properties proposed by the ontology agent or drawn from the open graph's most frequent unbound signatures; duplicate properties; domain/range changes; definition edits; implication rules approve, edit and approve, reject ontology version; recompute of affected signatures; regression cases
Alignment a signature (phrase + subject classes + object classes) the aligner cannot settle, and implication rules it proposes for a signature property and direction, or none; accept or reject the rule binding cache and rule set, reused across the base; "none" feeds a proposal
Time anchors document date missing or conflicting; relative mention with no anchor; undefined calendar the date or anchor document time context; dependent valid times recomputed
Identity pairs deterministic evidence cannot settle; merges the gate held same, different, cannot-link merge or split action; cannot-link list
Typed-fact errata retractions and revisions the errata agent could not settle or the gate held keep, retract, revise fact invalidated plus its replacement, on the record axis
Cross-document conflicts incompatible values of a functional property or incompatible times which holds, both at different times, disputed supersede, valid_to, dispute mark
Nods memory facts awaiting the person (0015, 0043) nod or not fact takes effect

Alignment is the operation that produces the typed graph from the open graph: bindings decided once per signature, and implication rules (a statement of this shape implies a fact of that property, with the value read from the object phrase) proposed by the agent, approved on the ontology workbench, and executed by code. The ontology workbench has three sources: suggestions from the open graph, an imported ontology file (packs, 0008), and online editing.

Ordering is by leverage (statements a decision resolves), then impact, then age.

Cards

One fixed template per queue. Every field is assembled by code from the ledger: the question and options from the template; quotes fetched from the chunk by offset (extraction no longer repeats quotes); both clocks from the fact; the agent's reason from agent_decisions; impact from execution_gate::impact_of, snapshotted at enqueue and refreshed on open; precedents from bindings and decisions. Zero model calls at review time. Actions: approve, edit and approve, reject, defer, and "make a rule" (alias, cannot-link, regression case). Everything reverts and the revert shows in history.

Queue metrics: leverage per decision, agreement with the agent's suggestion, revert rate, backlog and age. Agreement and revert rates tune the gate.

Retired

  • The lowconf and unconfirmed queues. Model-reported confidence is not calibrated; the unconfirmed state (evidence chunk superseded) becomes an automatic re-attach or re-extraction with an alert on failure.
  • Write-time resolution: resolve_mention with SIM_ATTACH, SIM_NEW, SIM_TIE_MARGIN, containment_reviews, resolve_type_drift, doc_cache, the no-embedding fallback; the batch adjudicator and resolution_verdicts. Identity becomes profiles, deterministic evidence with cannot-links, one agent path, constrained clustering (0044 decision 6).
  • Word lists and shape rules: GENERIC_SUFFIXES_CJK, GENERIC_WORDS_EN, CORPORATE_SUFFIX, name_shape, type_family, CONFUSABLE_TYPE_KEYS, MAX_NAME_WORDS, CLAUSE_MARKERS, MODALS. Names come from name facts checked against the text; type conflicts from declared disjointness and the class hierarchy; described things are legitimate entities of the open graph.
  • The type machinery: proposed_type, adopt/unadopt/sweep_proposed_types, type_refinement_pairs, type_resolution. Type words are open-graph facts; classes are ontology views bound by signature.
  • Predicate adoption from proposed_predicate; proposals come from the ontology agent with definitions and signatures.
  • Mappings (0036) leave the Review page for the data-source side; they are configuration.

Removal of the resolution code waits until the identity design passes the identity bench and the Linked-Re-DocRED pairs.

Kept

agent_decisions, execution_gate, the temporal engine and its ledger rules, name facts (0041), pending_facts, the audit ledger, and the undo table of 0043 decision 4.

#699

Split three ways: the temporal engine fixes merge first (one govern run per base, facts judged over their dates, the tidy defect on relations unique on both sides); the conflict actions and their tests become the cross-document conflicts queue; the low-confidence handling and the per-queue dispatch are dropped. The five review findings on #699 are fixed in the rewrite (decisions repeating after a revert, decisions applied from a stale snapshot, one malformed reply blocking the queue, nodded facts rejected by the agent, the tidy defect).

Sequence

After 0044 cuts 1 and 2 (open graph in the ledger, signature bindings). No backfill and no legacy layer: there is no released version, so the upgrade may break.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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