{"meta":{"dataset":"physical-transformation-atlas","endpoint":"checks","version":"0.5.0","data_hash":"bfbfcbb70e57","generated_at":"2026-09-21T14:26:28.263Z","source_commit":"2ae79660dc27a5b7537c0a42b2d79269eaffd60b-dirty","search_indexed_through":"2026-09-21","enumeration":{"max_claims_per_route":7,"max_routes_per_source":4000,"sources_at_cap":[]},"record_kind":"none","records":8,"counts":{"entities":353,"phenomena":100,"disequilibria":25,"couplings":40,"transducers":67,"claims":523,"sources":235,"pathways_named":93,"systems_named":2,"paths_examined":771,"paths_demonstrated":86,"paths_no_demonstration_found":0,"paths_not_searched":674,"matrix_cells":1000,"matrix_cells_empty":932,"matrix_cells_unsearched":804,"coverage_mean":0.23094688221709006,"editorial_scope_fill":0.23094688221709006,"matrix_cells_without_search_record":995,"matrix_cells_with_direct_relation":68,"matrix_cells_status_not_searched":804,"routes_enumerated":771,"routes_with_recorded_composition_demonstration":86,"matrix_cells_without_direct_relation":932,"searches_reviewed":13,"searches_index_only":16,"claims_by_status":{"established":384,"demonstrated":111,"replicated":17,"reported":6,"theoretically-predicted":5},"claims_by_predicate":{"drives":128,"produces":110,"member_of":92,"implemented_by":85,"bounded_by":45,"converts_into":19,"observed_in":19,"governed_by":17,"couples_to":4,"requires":3,"dissipates_to":1},"paths_by_search_status":{"not-searched":674,"demonstrated":86,"search-incomplete":11},"paths_by_frontier_class":{"derived":309,"candidate":185,"same-form":99,"demonstrated":86,"weak":47,"incomplete-handoff":45},"paths_by_structural_kind":{"source-preparation":336,"energy-backtracking":170,"composition":87,"atomic":70,"representation-equivalent":54,"representation-dominated":52,"known-device-likely":2},"matrix_cells_by_status":{"not-searched":804,"forbidden":78,"established":61,"candidate":49,"demonstrated":6,"search-incomplete":1,"theoretical":1},"entities_by_type":{"phenomenon":100,"transducer":67,"quantity":42,"coupling":40,"disequilibrium":25,"carrier":24,"constraint":23,"material":15,"output":6,"system":6,"interaction":5}},"schema":"https://physical-transformation-atlas.wldud5192.workers.dev/api/schema/v0.5.0.json#/$defs/ChecksExport","license":{"spdx":null,"status":"PENDING_OWNER_RULING","note":"No data licence has been selected yet; this marker is not a licence grant. All rights reserved until a licence is declared in docs/licensing.md."},"citation":"https://github.com/in-c0/physical-transformation-atlas/blob/main/CITATION.cff","contract":"https://github.com/in-c0/physical-transformation-atlas/blob/main/docs/data-api.md","changelog":"https://github.com/in-c0/physical-transformation-atlas/blob/main/docs/dataset-changelog.md","vocabulary":"https://physical-transformation-atlas.wldud5192.workers.dev/api/vocabulary.json","checks":"https://physical-transformation-atlas.wldud5192.workers.dev/api/checks.json","canonical_url_rules":{"entity":"https://physical-transformation-atlas.wldud5192.workers.dev/e/{type}/{slug}; phenomena at https://physical-transformation-atlas.wldud5192.workers.dev/phenomenon/{slug}","claim":"https://physical-transformation-atlas.wldud5192.workers.dev/claim/{slug}","source":"https://physical-transformation-atlas.wldud5192.workers.dev/source/{slug}","path":"https://physical-transformation-atlas.wldud5192.workers.dev/path/{ten hex characters of the route id after \"p-\"}","pathway":"the canonical_url of the compiled route whose pathway field names it; a variant (variant_of set) at https://physical-transformation-atlas.wldud5192.workers.dev/pathway/{slug}, its route_id its parent's route","system":"https://physical-transformation-atlas.wldud5192.workers.dev/system/{slug}","matrix_cell":"https://physical-transformation-atlas.wldud5192.workers.dev/matrix?cell={row address}:{column address}"}},"data":[{"id":"type-chain","label":"Typed chain","definition":"Is every step a valid process relation and does the chain run disequilibrium → … → output without a break?","pass_when":"every step is a typed process relation and the chain is unbroken from a disequilibrium to an output","fail_when":"a step is not a process relation, a step is dangling, or the chain does not start at a disequilibrium or end at an output","unresolved_when":"not used","unknown_when":"not used","reads":["claim.subject","claim.predicate","claim.object","entity.type"],"core":false,"implementation":"packages/physics/src/checks.ts#checkTypeChain"},{"id":"energy-form-continuity","label":"Energy-form continuity","definition":"Does each step's declared output energy form match the next step's declared input form?","pass_when":"every declared seam matches","fail_when":"at least one adjacent pair declares mismatched forms","unresolved_when":"some steps declare their ledger and the declared seams match, but at least one step has no ledger","unknown_when":"no step declares its energy forms yet","reads":["claim.energy.input","claim.energy.output"],"core":true,"implementation":"packages/physics/src/checks.ts#checkEnergyFormContinuity"},{"id":"conservation","label":"Source work availability","definition":"Does the source carry exergy relative to the reference environment, and does every step account for its energy? (Not a verified first-law balance: no quantitative energy accounting is recorded.)","pass_when":"the source has positive exergy and every step declares its ledger","fail_when":"the source carries no exergy relative to the reference environment","unresolved_when":"the source's exergy is conditional (it carries exergy only relative to a specific reference environment), or source exergy is positive but at least one step has no energy ledger entry","unknown_when":"the source has no exergy assessment recorded","reads":["entity.exergy","claim.energy"],"core":true,"implementation":"packages/physics/src/checks.ts#checkConservation"},{"id":"thermodynamic-bound","label":"Thermodynamic bound","definition":"Which hard limits (bounded_by claims whose constraint is an upper-bound or a formula-bound applying to the route's source, output and phenomena) can be evaluated against a comparable recorded datum, and does every such datum respect them? Benchmarks, constitutive relations and resource limits are listed, never decisive.","pass_when":"at least one hard bound is fully evaluated against a physical-scope datum (laboratory, device, module, system, plant, field, or a summary efficiency — a numeric ceiling with the required basis, or a formula evaluated from the datum's recorded parameters) and every comparable physical datum is within it","fail_when":"a comparable physical-scope datum exceeds a fully evaluated hard bound","unresolved_when":"a hard bound applies but no physical datum can be evaluated: no datum of its metric, a datum without the required basis, missing formula inputs (for Carnot, the hot and cold temperatures of that datum), or only model-scope data — a model datum is evaluated and reported as model-consistent or model-inconsistent but never decides the physical route, exactly as it supplies no regime","unknown_when":"no hard bound is recorded for the route (a thermal source implies Carnot, but only a bounded_by claim records it)","reads":["bounded_by claims","constraint.constraint_kind","constraint.metric","constraint.max_efficiency","constraint.formula","constraint.formula_inputs","constraint.requires_basis","constraint.applies_to_sources / _outputs / _phenomena","pathway.bounds[].constraint (pass 42: the exact pathway's architecture-specific bounds, same machinery)","pathway.performance.measurements[].value_numeric / metric / basis / parameters"],"core":true,"implementation":"packages/physics/src/checks.ts#checkThermodynamicBound"},{"id":"dimensional","label":"Dimensional consistency","definition":"For every step with a constitutive relation, do the input quantity, coefficient unit and output quantity balance in SI dimensions — and does every conversion step (drives / couples_to, unless marked not-applicable) carry one?","pass_when":"every conversion step carries a relation and every recorded relation balances (bookkeeping steps — produces / converts_into — are not expected to carry one)","fail_when":"a relation does not balance, or a quantity or unit in it is unknown","unresolved_when":"every recorded relation balances, but at least one conversion step has no relation","unknown_when":"no step records a constitutive relation","reads":["claim.relation","claim.relation_requirement","quantity.dimension","ontology/units.yaml"],"core":false,"implementation":"packages/physics/src/checks.ts#checkDimensional"},{"id":"boundary-compatibility","label":"Boundary compatibility","definition":"Do the scoped condition requirements of one step conflict on the same region, or does the active medium change state between two adjacent steps without a demonstrated interface record (for example a thermoacoustic gas column next to a solid acoustoelectric element)?","pass_when":"no two requirements of one step conflict in the same scope on the same region, no environment requirements conflict anywhere on the route, and every adjacent-step medium transition has a demonstrated interface record","fail_when":"two requirements of one step conflict in the same scope on the same region (a listed pair, or two members of one exclusive group), or environment requirements on the same region conflict anywhere on the route","unresolved_when":"an adjacent-step medium transition has no interface record, or only a theoretical or proposed one","unknown_when":"no step carries a scoped condition requirement","reads":["claim.condition_requirements (or condition_tags with default scopes)","ontology/conditions.yaml conflicts and exclusive_groups","data/canonical/interfaces"],"core":true,"implementation":"packages/physics/src/checks.ts#checkBoundaryCompatibility"},{"id":"driver-regime-sufficiency","label":"Driver / regime sufficiency","definition":"Does each conversion step get the regime it needs from its causal source — not merely a syntactically valid edge? Pyroelectricity needs a temperature that changes in time; a static temperature gradient supplies a spatial gradient, not that.","pass_when":"every regime requirement recorded on a step is supplied by the route source's regime_provides, a preceding step's regime_provides (or that of the disequilibrium it produces), the exact reviewed pathway's regime_provides, or an independent external condition the step records (never a property of its own subject)","fail_when":"the route source's regime_excludes names a required regime nothing else supplies","unresolved_when":"a requirement is recorded but no provider is recorded","unknown_when":"no step records a machine-readable regime requirement","reads":["claim.regime_requires / regime_provides / regime_external","entity.regime_provides / regime_excludes","pathway.regime_provides"],"core":true,"implementation":"packages/physics/src/checks.ts#checkDriverRegimeSufficiency"},{"id":"practical-magnitude","label":"Measured performance coverage","definition":"Does the recorded pathway carry a structured measurement — value, unit, regime and source — for this composition? A coverage statement, not a physics verdict.","pass_when":"at least one structured measurement with value, unit, regime and source is recorded","fail_when":"a structured datum is malformed: a conversion efficiency or power coefficient outside [0, 1]","unresolved_when":"a performance record exists with notes but no structured datum","unknown_when":"no performance record exists for this composition (the honest state of an undemonstrated route)","reads":["pathway.performance.measurements"],"core":false,"implementation":"packages/physics/src/checks.ts#checkPracticalMagnitude"}]}