{
  "tool_id": "art-633-asc280-reportable-segment-tester",
  "tool_version": "1.0.0",
  "display_name": "ASC 280 Reportable Segment Tester",
  "mcp_name": "test_asc280_reportable_segment",
  "mandate_type": "compliance_mandate",
  "wave": 101,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-633-asc280-reportable-segment-tester.html",
  "description": "Applies the ASC 280-10-50-12 quantitative thresholds to one caller-declared candidate operating segment and computes the ASC 280-10-50-14 seventy-five percent coverage test, reporting each of the three ten percent tests separately with its own denominator. The three tests do not share a denominator: the revenue test runs the segment's revenue including intersegment sales or transfers against combined internal and external revenue of all reported operating segments, the profit-or-loss test runs the absolute amount of the segment's reported profit or loss against the greater in absolute amount of the combined profit of segments that did not report a loss and the combined loss of segments that did, and the assets test runs segment assets against combined assets of all operating segments. Netting the two profit-or-loss sides together, a plausible misreading, produces a smaller denominator and over-flags segments, so the denominator side actually used is reported. Thresholds are inclusive, and every comparison is made by exact cross multiplication on unrounded inputs rather than by rounding a percentage first, so a value sitting exactly on ten or seventy-five percent classifies as meeting it instead of being pushed under by binary floating point; reported percentages are rounded for display only, strictly after every comparison. The five ASC 280-10-50-11 aggregation criteria are echoed back as nullable booleans and are never computed or guessed by this node, with unanswered criteria named individually and a management-judgment flag raised rather than read as false. A zero or non-positive denominator reports not_assessable for that test, never a failing threshold. Source of the rule is FASB Statement No. 131 paragraphs 17, 18, 19 and 20 as carried into the Codification; ASU 2023-07 does not amend these paragraphs, which its own amendment instruction and scope statement both confirm. Verify-only: does not identify operating segments, does not aggregate them, does not decide the chief operating decision maker question, and does not assert that an entity's segment note is compliant.",
  "input_schema_ref": "chaingraph/art-633-asc280-reportable-segment-tester.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:861ca3919713e8e7e4d57042aa48f9399e5094c1f1abc550d686ea8c9fcc8487",
      "valid_from": "2026-07-10"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-08-16"
    }
  ],
  "export_capability": [
    "json"
  ],
  "standards_basis": "implements_standard",
  "cited_clause_digest": [
    {
      "digest": "sha256:f4b185c6deb193c426c26fd7b51883387fd14321ba67536dc512a9ebb1b1a1fc",
      "source_url": "https://storage.fasb.org/fas131.pdf",
      "retrieved_at": "2026-08-15",
      "clause_path": "FAS 131 ¶17-20, ¶24",
      "scheme": "fasb-fas",
      "id": "FAS 131"
    }
  ],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "IcH88oMOaIGQAcRW5vN9qO/xZh53GL/mQPd5j+R1ewwDU1Aiu48OcV6yfrn2ph1ZxFOC0BHnLbVscvMCnOpcJQytf/6DedGOYKVzhZEA10AFGlAYdpvPUGqvLnFBeGhNEPxc3fMNVunpupQQtAUajnLn8dAs0EMgzNu1/mRxUaMs1mumpLjBspu0QPjRNW3oqoPpcCYkwF6tPQWnw9mRrRNbQ8aKZn+4jilS6vUkJf6THJNKEUGux6lgapVjtaYXJ+YjmFqE5sH6aDElXWH/Vhq7qCiR2FgsLgaayahhHqEeLGLVdFezPYH0SZfLMIYhcFy0vxqSAVjJSoDMwvTFjQ==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:861ca3919713e8e7e4d57042aa48f9399e5094c1f1abc550d686ea8c9fcc8487",
      "output": {
        "aggregation_criteria": {
          "aggregation_similar_customer_type": null,
          "aggregation_similar_distribution_methods": null,
          "aggregation_similar_production_processes": null,
          "aggregation_similar_products_services": null,
          "aggregation_similar_regulatory_environment": null
        },
        "aggregation_criteria_answered_count": 0,
        "aggregation_criteria_met_count": 0,
        "comparison_basis": "inclusive: 10 percent or more meets the threshold, and at least 75 percent satisfies coverage. Compared by exact cross multiplication on unrounded inputs; reported percentages are rounded to 6 decimal places for display only, strictly after every comparison.",
        "coverage_75_pct": {
          "additional_segments_required": "not_assessable",
          "coverage_pct": null,
          "coverage_ratio": null,
          "coverage_satisfied": "not_assessable",
          "note": "Total consolidated revenue is zero or non-positive, so no coverage ratio exists. Reported as not_assessable rather than as failing the 75 percent test.",
          "reportable_external_revenue": 100,
          "total_consolidated_revenue": 0
        },
        "coverage_threshold_pct": 75,
        "is_reportable_by_quantitative_threshold": false,
        "majority_of_criteria_met": false,
        "management_judgment_required": true,
        "note": "Verify-only classifier for ONE caller-declared candidate segment against caller-declared totals. It does not identify operating segments, does not aggregate them, does not decide the chief-operating-decision-maker question, and does not assert that an entity segment note is compliant. The three 10 percent tests each carry their own denominator and are reported separately; the profit-or-loss denominator is the greater in absolute amount of the profitable side and the loss side, never the two netted together. Aggregation criteria are echoed back exactly as supplied and are never computed by this node; an unanswered criterion raises management_judgment_required rather than being read as false. A zero or non-positive denominator reports not_assessable, never a failing threshold. Authoritative form of these rules is the FASB Codification, which was not directly reachable at build time; the basis chain is stated in research/DISE-SEG-K-1.spec.md.",
        "oracle": "declared -- clause silent",
        "practical_limit_consideration_advised": false,
        "regulatory_basis": "ASC 280-10-50-12 (quantitative thresholds), 280-10-50-14 (75 percent coverage) and 280-10-50-11 (aggregation criteria), source text FASB Statement No. 131 paragraphs 18, 20 and 17. ASU 2023-07 (November 2023) does not amend these paragraphs: its amendment instruction covers 280-10-50-17, 50-20 through 50-22, 50-24, 50-28 through 50-30 and 50-32 through 50-36, plus added 50-26A through 50-26C and 50-28A through 50-28C, linked to transition paragraph 280-10-65-1.",
        "reportable_segment_count": null,
        "rounding_steps": "none before comparison. Display rounding to 6 decimal places is applied only to reported percentages and never feeds a decision.",
        "tests": [
          {
            "denominator": 0,
            "denominator_basis": "Combined revenue, internal and external, of all reported operating segments (280-10-50-12(a)).",
            "note": "Denominator is zero or non-positive, so no ratio exists. Reported as not_assessable rather than as failing the threshold -- a segment cannot be shown to be below a threshold that does not exist.",
            "numerator": 100,
            "ratio": null,
            "ratio_pct": null,
            "test": "revenue",
            "threshold_met": "not_assessable"
          },
          {
            "abs_loss_side": 0,
            "abs_profit_side": 0,
            "denominator": 0,
            "denominator_basis": "The greater, in absolute amount, of the combined reported profit of all operating segments that did not report a loss and the combined reported loss of all operating segments that did report a loss (280-10-50-12(b)).",
            "denominator_side_used": null,
            "note": "Denominator is zero or non-positive, so no ratio exists. Reported as not_assessable rather than as failing the threshold -- a segment cannot be shown to be below a threshold that does not exist.",
            "numerator": 100,
            "ratio": null,
            "ratio_pct": null,
            "segment_profit_or_loss_signed": 100,
            "test": "profit_or_loss",
            "threshold_met": "not_assessable"
          },
          {
            "denominator": 0,
            "denominator_basis": "Combined assets of all operating segments (280-10-50-12(c)).",
            "note": "Denominator is zero or non-positive, so no ratio exists. Reported as not_assessable rather than as failing the threshold -- a segment cannot be shown to be below a threshold that does not exist.",
            "numerator": 100,
            "ratio": null,
            "ratio_pct": null,
            "test": "assets",
            "threshold_met": "not_assessable"
          }
        ],
        "tests_met": [],
        "tests_not_assessable": [
          "revenue",
          "profit_or_loss",
          "assets"
        ],
        "threshold_pct": 10,
        "unanswered_aggregation_criteria": [
          "nature of the products and services (280-10-50-11(a))",
          "nature of the production processes (280-10-50-11(b))",
          "type or class of customer (280-10-50-11(c))",
          "methods used to distribute products or provide services (280-10-50-11(d))",
          "nature of the regulatory environment, if applicable (280-10-50-11(e))"
        ]
      }
    }
  }
}
