{"profile":"WHP-PHP-SERVICE-1.2.0","routes":{"health":{"method":"GET","path":"/health"},"contract":{"method":"GET","path":"/v1/contract"},"evaluation":{"method":"POST","path":"/v1/evaluate"},"verification":{"method":"POST","path":"/v1/verification","scope":"Signature only. Does not authenticate the supplied key or establish object binding; use standalone receiver."}},"payment":{"scheme":"WHP-BASE-USDC-FLAT-1","network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","decimals":6,"price":"1.00 USDC","not_x402_exact":true,"amount_units":1000000,"amount_match":"exact","quote_binding":"Quote ID bound to SHA-256 of exact request bytes; transaction hash single-use. Payment amount is fixed, not a quote identifier.","pay_to":"0x1050eddd8282623b0c263ed6bdbd42370bbc28d3","floor_units":1000000,"suffix_range":0,"min_confirmations":5},"input_schema":{"id":"WHP-INPUT-SCHEMA-1.2.0","published":"2026-11-13","description":"The fields the evaluator actually reads from the POST /v1/evaluate request body. This documents existing evaluator behavior; it changes no behavior.","body":"One strict JSON document (UTF-8, no BOM, at most 262144 bytes, at most 64 levels deep): safe integers only (no floats, no -0, no integers beyond +/-2^53-1), no duplicate object keys, well-formed Unicode. The body is either a JSON string (treated as the claim), or a JSON object with the fields below, or a complete WHP-STANDING-SUBMISSION-v1 object.","proposition":{"claim":"string, trimmed non-empty: the proposition examined. When no 'data' string is supplied, the claim itself is also the examined material (an explicit, recorded fallback, not a substitution).","subject":"string: the proposition when no claim string is present.","object.id":"non-empty string: the proposition when neither claim nor subject is present."},"examination_material":{"data":"string, trimmed non-empty: the material the examination reads against the proposition."},"provenance":{"source":"string: a retrievable source reference for the material. Read from 'source' or 'provenance.source'.","provenance.authority":"string: the authority warrant, required for operations crossing the decision boundary (RECOMMEND and above). A top-level 'warrant' string is also read.","provenance.evidence":"array of non-empty strings: verbatim supporting statements.","provenance.qualifiers":"array of non-empty strings: binding qualifiers."},"requested_operation":"string, one of DESCRIBE, INFORM, INQUIRE, WARN, REVIEW, RECOMMEND, CONCLUDE, EXECUTE (ACT is read as EXECUTE). Defaults to INFORM.","optional":["subject","bounds {jurisdiction, scope, valid_from, valid_until}","extraction {method}","qualifiers []","unknowns []","transitions []","nodes [] (signed attestations; a full WHP-STANDING-SUBMISSION-v1 object is also accepted)","prior_record_hash","id","client_reference","version_state"],"not_read":["An object-valued claim is not a proposition: the proposition is read only from a string claim, a string subject or object.id.","No field named 'material' is read by the evaluator.","A request body that supplies no readable proposition and no readable material is examined over zero bytes of material and receives a signed result naming the missing objects. Documentation published before 2026-11-13 showed a nested {\"claim\": {...}, \"material\": {...}} request shape; that shape is not the accepted input schema."]},"determinism":"WHP-DI-DETERMINISM-UTC-1","signed_type":"WHP-STANDING-MARK-v1","authorization":false,"issuer_key":"Ed25519 public key MCowBQYDK2VwAyEAcpFVUj6xDgsUsKJK2r2rLk6R+te2lghdHE8jvjl9SBk= (key_id_sha256 dc872cabbbb942860cb2c4ac97a2a514245e54d69aa8515e80a7ec634c67076f), published at https://decisionintegrity.wheelerhubbellpublishing.com/.well-known/whp-issuer.json","limits":["A configured route is not production activation.","The original sealed /v1/evaluations Node door is not implemented by this PHP service.","No MCP endpoint in this deployment.","Payment buys examination, not a positive finding."],"environment":"LIVE","activation_status":"CONFIG_PRESENT_NOT_PROOF_OF_PRODUCTION_ACTIVATION"}