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.
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.
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.
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 fromexecution_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
resolve_mentionwithSIM_ATTACH,SIM_NEW,SIM_TIE_MARGIN,containment_reviews,resolve_type_drift,doc_cache, the no-embedding fallback; the batch adjudicator andresolution_verdicts. Identity becomes profiles, deterministic evidence with cannot-links, one agent path, constrained clustering (0044 decision 6).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.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.proposed_predicate; proposals come from the ontology agent with definitions and signatures.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
tidydefect 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, thetidydefect).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.