DJZS.

The reasoning gate every trading agent calls before it acts.

OKENGINEdeterministic v2 — verdict is computed, not improvised.
OKGATEverify_pm_trade — LIVE [MCP] [streamable-HTTP]
OKTAXONOMYDJZS-PM-v1.0 4/4 calibrated · DJZS-LF-v1.1 11 frozen / 3 live
OKLEDGERIrys — prior-lineage certificates readable; v1 gate writes none [recorded deferral]
OKSTATUSOPERATIONAL

Transaction-security tools ask "is this transaction safe to sign?" DJZS asks a different question — "should this position be taken at all?" It audits the reasoning behind a move before capital is committed and returns one of three verdicts, with the specific defects flagged and a reproducible hash of the decision.

It's live now as a Model Context Protocol tool (streamable HTTP). Add it in one line:

claude mcp add --transport http djzs-trust https://djzs-trust-mcp.easy-less-spoil.workers.dev/mcp

Then call verify_pm_trade with a free-text prediction-market thesis.

Audit before act.

Architecture C // extraction reports, the engine decides

DJZS splits the model-bound step from the trusted step. An LLM extracts observable facts from messy intent — it never returns a verdict. It runs as an N=3 consensus: per-field state must agree across all three samples or the field collapses to unknown; a claimed absent must quote the intent verbatim (quote gates); and a critical-driving absent needs the same quote across every sample (evidence-unanimity).

The resulting struct is scored by a frozen deterministic engine — pure code, no model, no network, no clock. The verdict rules are model-independent: swap the model and the extraction quality changes, but the rules, weights, and hash do not. The same struct always yields the same verdict and the same hash:

verdict_hash = sha256(canonicalize({ verdict, risk_score, flags: flags.map(f => f.code).sort(), unknown_fields }))

Verdict is computed, not improvised.

The ladder // three outcomes, never two

PASS → PROCEED
Every scored fact is known and no blocking rule fired.
WAIT → HALT
A decision-critical fact is unknown. The caller halts and the response returns unknown_fields so it knows what to clarify.
FAIL
A rule fired on facts the engine knows. Stop.

Under-specified reasoning drains to WAIT → HALT, never to a silently guessed PASS or FAIL. Abstention is a first-class outcome.

Abstain over guess.

Taxonomies // frozen

DJZS-M — Prediction Market (DJZS-PM-v1.0)

Weights sum to 100; FAIL threshold 25. All four codes implemented and calibrated.

CodeNameSeverityWeight
DJZS-M01NARRATIVE_RESOLUTION_GAPCRITICAL30
DJZS-M02FALSIFICATION_ABSENTCRITICAL30
DJZS-M03PROBABILITY_UNSOURCEDHIGH25
DJZS-M04CONSENSUS_NO_EDGEMEDIUM15

M04 is advisory-grade: a lone M04 rides a PASS with the flag on the certificate (weight 15 is below the threshold); it blocks only by stacking (e.g. M03 + M04 = 40 → FAIL).

DJZS-LF — Perpetuals / general reasoning (DJZS-LF-v1.1)

Weights sum to 200. Frozen at 11 codes; 3 are wired live today (). The rest are defined and weighted but not yet firing — stated honestly, not implied.

CodeNameCategorySeverityWeightLive
DJZS-S01CIRCULAR_LOGICStructuralCRITICAL30
DJZS-S02LAYER_INVERSIONStructuralHIGH25
DJZS-S03DEPENDENCY_GHOSTStructuralMEDIUM18
DJZS-E01ORACLE_UNVERIFIEDEpistemicHIGH25
DJZS-E02CONFIDENCE_INFLATIONEpistemicMEDIUM18
DJZS-I01FOMO_LOOPIncentiveMEDIUM16
DJZS-I02MISALIGNED_REWARDIncentiveMEDIUM16
DJZS-I03DATA_UNVERIFIEDIncentiveMEDIUM16
DJZS-X01EXECUTION_UNBOUNDExecutionCRITICAL15
DJZS-X02RACE_CONDITIONExecutionHIGH9
DJZS-T01STALE_REFERENCETemporalLOW12

Both weight tables are hash-locked exported constants; a weight change is a deliberate re-derive, not a hot patch.

Proof // first external audit on record

An outside agent audited a benchmark thesis (pm-block-008) through the deployed tool and received:

FAIL
{
  "tool": "verify_pm_trade",
  "case": "pm-block-008",
  "verdict": "FAIL",
  "action": "FAIL",
  "risk_score": 40,
  "flags": ["DJZS-M03", "DJZS-M04"],
  "unknown_fields": [],
  "disagreements": [],
  "verdict_hash": "0x85918814b3dffa31b00d6892c2e00b2001efd35f7e0044b4cd3789fe1df14937"
}

Behavioral parity against the offline batteries (verdict + flags + extracted input) is green. Hash parity is a pending re-mint — the calibration key lapsed during deployment — so the live hash above stands as the record until it is re-run.

Honest v1 posture // recorded deferrals

What the tool does not do yet, stated plainly:

On-chain: four DJZS contracts are attested on Base in the A2A manifest, with source in contracts/. A fifth contract, DJZSProofOfLogicNFT.sol, exists as source only — it is not in the deployed manifest, and nothing here claims certificate NFTs are live or mintable.

For agents // this page is the API doc

curl this page and you get this pitch — every word is in the HTML, no JavaScript required to read it. A machine-readable summary lives at /llms.txt with the MCP endpoint and repository link. The gate is one install command away (see the hero above); the source of truth for every number on this page is the repository at github.com/SIFR0-dev/djzs-AI.

Evidence before record.