Deterministic Tool Registry
| Tool | Owns | Fails closed when |
|---|---|---|
validateChemicalEquation |
species, phase, coefficients, balance | species or equation is outside frozen content |
evaluateExpression |
symbolic/numeric evaluation | variables or operations are unsupported |
checkExpressionEquivalence |
bounded AST equivalence | equivalence cannot be proven deterministically |
convertUnit |
dimensional conversion | dimensions conflict |
validateMoleFractions |
total moles, fractions, sum-to-one | species set or dependency is incomplete |
validatePartialPressures |
mole fraction × total pressure | total pressure/unit is missing |
checkDependencyConsistency |
use of upstream values | lineage is absent or ambiguous |
checkSignificantFigures |
required precision | policy lacks a precision rule |
allocateMarks |
named mark-node awards | policy/problem versions mismatch |
applyBoundedECF |
declared downstream credit | no exact ECF rule matches |
verifyTrace |
calls, provenance, invariant coverage | any authoritative claim lacks evidence |
Tools accept and return typed objects with stable reason codes. No tool performs open-web retrieval or invents content. The orchestrator selects tools but cannot override them.