Emerging work in progress. Paper v0.10 / schema v0.4 / floor v0.5 / navigator release 0.16
Technical details

How the conscience graph works

A directed, weighted graph whose nodes are values, action classes, principals, domains, authorities, certificates and precedents, and whose edges carry a cost, a layer, a decay rate and a lineage record. Consulted before an agent plans and before any tool call executes. Stored outside the model and outside the agent's reach.

Layers and mutability

Who may change what

LayerContentWho can change itDecay
L0 FrameworkSchema, root program, transparency log, floor issuance, domain registryFoundation supermajority with public commentNone
L1 Global floor41 values in 10 groups, sharp, weight 0.9 to 1.0, every value cited to an international instrumentExternal multi-party process, never the operator. Gate G0None
L2 Principal valuesSigned sector and country profiles; operator overlay; published case lawPrincipal, signed. Gates G1 to G2. Case law by sector authority onlyNone
L3 ExperienceWeights learned from attested outcomes; the agent's own precedentsAgent under delegation caps. Gates G3 to G5Slow
L4 SessionTask-specific adjustments; session precedentsAgentFast

Learning is asymmetric. An attested harm event raises the relevant L3 edge weights immediately, in proportion to severity. A trust event lowers a weight by a small step, and only after five consecutive clean reported outcomes in the same action class. Plasticity falls under load. Stuck edges are repaired by re-attribution: an accountable principal rescopes the evidence, the harm record stays intact, and every precedent that cited it is invalidated.

The fast path

Four bands, one cost function

A consult decomposes into typed micro-decisions answered by a calibrated engine, in parallel: does value V bear on proposition P (salience), does P cross V (violation), which domain, which band, is P the same situation as precedent Q. Cost is 1 - product(1 - wi pi) over salient edges, with a sharp value contributing its full weight above its cliff and nothing below.

Comfort

Cost under 0.2. Proceed. A receipt is issued.

Stress

0.2 and above. Slow path: conditions attach; flag for a principal at 0.6; hard stop at 0.95.

Revulsion

Any L1 edge with p at or above 0.8 on weight at or above 0.8. Pruned without deliberation.

Unknown

No edge clears the salience threshold. Forward to a specialist or a person. Never cached.

Two rules complete the arithmetic. An obligation edge (weight 0.15 or below) adds no cost and attaches to the verdict as a condition the action boundary must check. A conflict between two salient values, both crossed above 0.5, turns any verdict short of prune into an escalation. The engine supplies probabilities and never writes a weight; explanation always comes from the symbolic edge walk.

Engine status (v0.10): a semantic re-ranker from pooled word vectors runs in every build, and an LLM assessor behind the API scores salience and violation per candidate value under the unchanged band rules, with the lexical verdict it replaced recorded in the response. The reference calibrated engine is TypeSafe Jev, with a local model as the sovereign fallback for L1 decisions. Calibration audit: at least 200 labelled propositions per domain, expected calibration error no worse than 0.05, band agreement with the slow path at least 95 percent.

The conscience query protocol

Consult, commit, report

Three calls, plus a resolver chain. The consult carries the requester (agent, certificate, session, principal chain) and the proposition: kind, a first-person statement, intent, action class, typed parameters, reversibility, blast radius, origin (principal, peer or self), impact region and optional domain. Modes: check one option, score several, or choose the cheapest.

consult:
  requester: {agent_id, certificate: au.finance.verified.00a9c2, session_id, principal_chain}
  proposition:
    kind: action
    statement: "I transfer 14,800 AUD to the ryokan's account."
    intent: "Pay the deposit the customer asked for."
    action_class: transfer_international
    parameters: {amount: 14800, currency: AUD, recipient: ...}
    reversibility: irreversible   blast_radius: third_party
    origin: principal   impact_region: au   domain: finance
  mode: check

# response
verdict: proceed_with_conditions   band: stress   cost: 0.53   confidence: 0.91
values_touched: [{fin.report.ivts, L2, w 0.5, p 0.95, lineage_ref}, {fin.scam.prevent, L2, w 0.7, p 0.10, lineage_ref}]
conditions: [IVTS report lodged, recipient matched, recorded as liability]
path_trace: ["fin.report.ivts -> transfer_international (0.5 x 0.95)", ...]
resolver_path: [own, specialist]   cache: miss   engine_grade: assessor
receipt: {id, proposition_hash, action_class, parameters_hash, expires_at, signature}
signature: ...

Receipts are real (v0.9). A proceed verdict carries a signed receipt (HMAC-SHA256 under a deployment secret) bound to the parameters hash of the exact tool call, with a ten-minute expiry and a single-use id. A verify endpoint checks signature, expiry and parameters. A call whose arguments differ from the consulted ones is refused with both hashes. An MCP gateway sits between any client and any server: every tool call is consulted first; prune, escalate and unknown are refused with the values that stopped them; proceed is forwarded only with a receipt that verifies.

Report closes the loop: clean, harm or unknown against the receipt, with attestation. Clean counts toward a trust event. Harm fires on every edge in the path trace and invalidates the precedent. An agent that does not report does not earn trust.

Resolver chain: own graph, then a specialist graph service holding an accredited certificate for the impact region and domain, then a human graph service behind the same interface. Each responder signs; each forwarder countersigns. Unknown from the last resolver halts the loop. There is no default to proceed.

Chain of trust

Certificates bound to the edges, not to a description of them

Identifier: region.domain.grade.serial, for example au.health.accredited.0007a3. What is signed is a SHA-256 manifest over the canonical L1 and L2 subgraphs with every value, edge and lineage entry, plus the operator's identity and the graph service's endpoint and response key. Any edit to L1 or L2 changes the hash and voids the certificate. Every issuance, renewal and revocation goes into a public, hash-chained, gossiped transparency log; an issuance not in the log is not valid.

GradeWho checksWhat is checkedPeer trust ceiling
selfThe operatorNothing external. Signed with the operator's own keyattested by self
verifiedA Conscience Signing AuthorityOrganisation exists; L2 conforms to schema; L1 chains to a root; lineage complete; logged. Automated tier 90 days, reviewed tier one yearattested
accreditedA sector authoritySector profile carried unmodified; L3 track record and qualification records audited; follows the sector's licensing cycleattested, with domain qualification accepted

Peers sit at five trust levels: unknown, attested by self, attested, aligned, proven. Certificates set a ceiling; only track record moves a peer to aligned or proven. An unknown peer's content is data, never instruction, and its requests route through the human gate. Revocation is a log entry with a one-hour convergence target; a revoked authority drops every agent beneath it to child.

Published graphs

Twenty-six graphs in three tiers

TierGraphsDrawn from
Global floor (L1)floor v0.5: 41 values, 10 groups, 16 action classesUDHR, ICCPR, ICESCR, UN Charter, CRC, CRPD, CEDAW, CERD, CAT, Nuremberg Code, OECD AI Principles, UNESCO Recommendation, UNGP, Council of Europe AI Convention, Global Digital Compact, Geneva Conventions, and the prior work in section 3
Global sector profiles (L2)finance, health, defence, cyber, legal, AI governance, data protectionBasel, BCBS 239, FATF, IOSCO, FSB; WHO, IHR 2005, Helsinki 2024, WMA, CIOMS; Geneva and AP I, CCW, REAIM, Rome Statute; Budapest Convention, UN GGE, ISO/IEC 27001, NIST CSF 2.0; UN Basic Principles on Lawyers, IBA; ISO/IEC 42001, Hiroshima Code, Bletchley; Convention 108+, OECD Privacy Guidelines, APEC CBPR, ISO/IEC 27701
Jurisdictions (L2)Australia, Singapore, Canada, European Union, United StatesEach place's constitution or rights instrument as a country floor, plus six cross-sector domains: privacy, AI governance, cyber security, consumer protection, discrimination, employment
Country sector profiles (L2)AU cyber, defence, finance, health, legal; US, EU, SG, CA finance and healthThe statutes, codes and regulator guidance of each place, clause by clause. The five Australian profiles are the fullest (44 to 70 values each)

Three conventions hold across the profiles. Where a source says must, or creates an offence, the value is sharp and the edge weight 0.9 to 1.0. Where it says should or take reasonable steps, the value is soft and the weight 0.3 to 0.8. Obligations the agent must perform are edges of weight 0.1 attached to the verdict as conditions. Each profile names its known conflicts as edges and seeds case-law precedents. A loader validates every cross-graph reference, computes the manifest hash and runs the cost formula against a shared fixture file.

Verification pass (v0.8). Every source and clause in all twenty-six graphs was checked against the page of the body that issued it. Eighty-nine values were corrected, superseded instruments replaced, and the graphs grew to over a thousand values and nearly six hundred sources, with one overlay file per graph recording each check. Where a legislation site blocked reading, the clause is marked for a person to open before the graph is signed.

Integrate

Call it from any agent today

SurfaceWhat it does
/api/evaluateJSON over HTTP. Proposition, graph held, impact region, domain, origin in; verdict, band, cost, values touched with sources, conditions, resolver path, nearest precedent, receipt and telemetry out
/api/toolsTool definitions for OpenAI-compatible and Anthropic function calling
/api/mcpModel Context Protocol server exposing conscience_consult
MCP gatewayA stdio proxy between any MCP client and server that consults before every tool call and refuses unreceipted or pruned calls
Claude skill and hookA generated conscience-graph skill, and a Claude Code hook that consults before every tool call
AnalyticsEvery decision carries telemetry and a blocklist baseline; the navigator's store exports JSON and CSV and imports API logs

The sovereign reference stack proposed in section 8.2: an open-weights planner, a graph store (Neo4j or Cognee), a calibrated engine behind an assert/classify/rate interface with a local fallback, precedent nodes with invalidation wired to the mutation stream, and a receipt-checking tool gateway. Success criteria: the filter runs before the plan; every mutation has lineage; an unreceipted call is refused; a cache hit returns under 50 ms and dies with its evidence; behaviour holds when the planner is swapped and when the engine is swapped.

Versions

Current paper and archive

VersionDateWhat changedStatus
v0.1022 Oct 2026Semantic re-ranker in every build; LLM assessor behind the API scoring salience and violation under unchanged band rulesCurrent
v0.922 Oct 2026Signed, parameter-bound, single-use receipts; verify endpoint; MCP gateway; Claude Code hook; engine_grade in every responseArchived
v0.822 Oct 2026Verification pass: every source and clause checked against its issuer; 89 values corrected; overlays publishedArchived
v0.721 Oct 2026Navigator orbits and flags; console generates a Claude skill; telemetry and blocklist baseline; analytics storeArchived
v0.621 Oct 2026Three-tier taxonomy; impact region and domain on the consult; candour and restraint group; console and APIArchived
v0.520 Oct 2026One engine function across every surface; conditions on edges; clauses confirmed; navigator overview, key, glossaryArchived
v0.416 Oct 2026Query protocol; calibrated engine; conscience memory; certificate mechanics; floor and five Australian profiles specifiedArchived
v0.3Sep 2026Four boundaries; agent boundary; chain of trust; maturity stages; plain-language explainerArchived
v0.2Sep 2026Fast path with four bands including unknown; sharpness and plasticity; re-attribution; qualification capsArchived

Archived versions are retained in the project repository for lineage and are available on request. The schema remains at v0.4 (Appendix A of the paper). The global floor is at v0.5.

Where the idea is exposed

Open problems, stated plainly

Layer one authority

Who signs the floor, and what stops capture. A multi-party process is a mitigation, not a solution.

The training loop

A model trained to route around its conscience beats an inference-time graph. The graph must be in the reward, and the paper does not yet specify how.

Engine dependency

The reference engine is a single vendor's cloud API. An open, locally runnable calibrated engine is a prerequisite for a sovereign standard.

Forged attestation and lineage

A model trained to look aligned can present a plausible certificate. Track record is the only evidence that cannot be presented up front.

Canonicalisation and cache

Two situations that differ in a detail the canonicaliser dropped look identical. The 0.92 threshold limits the damage; it does not remove it.

Foundation capture

Every funding model proposed has captured a standards body somewhere. The constraints are necessary; sufficiency is a governance question we cannot settle alone.

The full list is section 7 of the paper. Help close one.