← Files ClaraARCHIVED FILE
evals/preparation/wd40_fy2025/monthly_pnl.semantic.json
24.2 KB · Oct 4, 2026 · 12:28 UTC
{
"schema_version": "0.3",
"semantic_layer_id": "wd40_fy2025_synthetic_monthly_pnl.reporting_semantics",
"semantic_version": 2,
"dataset_contract": {
"dataset_contract_id": "wd40_fy2025_synthetic_monthly_pnl",
"contract_version": 1,
"identity": {
"method": "project_configuration",
"value": "clara.dd.wd40_fy2025_synthetic_monthly_pnl"
},
"origin_snapshot": {
"profile_schema_version": "0.4",
"snapshot_fingerprint": "b47d7bb2a801b1e88500a6752a3a993870393ab856e393eb7321c5a8da209c4a"
},
"unknown_column_policy": "allow_as_unclassified_extension"
},
"scope": {
"title": "WD-40 FY2025 synthetic monthly P&L reporting semantics",
"business_area": "financial due diligence preparation",
"purpose": "Define the reviewed business meaning and one conditionally valid Reporting Engine use for the frozen prepared monthly P&L fixture.",
"coverage_level": "limited",
"included_subjects": [
"prepared statement values at statement-line, fiscal-month, and scenario grain",
"the synthetic scenario marker",
"the reviewed statement row and period structure"
],
"excluded_subjects": [
"issuer-reported monthly actuals",
"new calculations or formula derivation",
"cross-line aggregation",
"chart selection",
"due-diligence interpretation",
"publication approval"
]
},
"sources": [
{
"source_id": "source.fixture_notes",
"source_type": "reviewed_fixture_notes",
"locator": "SOURCE_NOTES.md#reviewed-reporting-semantics",
"authority": "canonical",
"supports": [
"synthetic evidence boundary",
"dataset grain and column meaning",
"allowed reporting use",
"excluded reporting uses"
],
"caveats": [
"The notes govern this frozen synthetic fixture only."
],
"last_checked": "2026-07-23"
},
{
"source_id": "source.dataset_profile",
"source_type": "reporting_engine_dataset_profile",
"locator": "expected/monthly_pnl.csv profiled as wd40_fy2025_synthetic_monthly_pnl",
"authority": "mechanical",
"supports": [
"physical columns and types",
"row count and distinct counts",
"origin snapshot fingerprint"
],
"caveats": [
"The profile does not prove business meaning.",
"The snapshot fingerprint must not replace the exact prepared-file digest."
],
"last_checked": "2026-07-23"
},
{
"source_id": "source.statement_render_recipe",
"source_type": "reviewed_statement_render_recipe",
"locator": "statement_render_recipe.json",
"authority": "canonical",
"supports": [
"statement row ordering and labels",
"period ordering",
"scenario availability",
"render column mappings"
],
"caveats": [
"The recipe transports source-key values and does not authorize renderer-side arithmetic."
],
"last_checked": "2026-07-23"
}
],
"evidence": [
{
"evidence_id": "evidence.fixture_scope",
"source_id": "source.fixture_notes",
"locator": "Reviewed reporting semantics",
"claim": "The prepared table is a synthetic monthly statement fixture at one row_key by period by scenario grain and is not an issuer actual monthly disclosure.",
"confidence": "high",
"status": "supported",
"notes": [
"The public controls support quarter and fiscal-year tie-outs, not the synthetic monthly phasing."
]
},
{
"evidence_id": "evidence.profile_columns",
"source_id": "source.dataset_profile",
"locator": "columns",
"claim": "The origin profile contains 168 rows across the nine expected columns, including 14 row keys, 12 monthly periods, and one SYN scenario.",
"confidence": "high",
"status": "supported",
"notes": [
"These are mechanical observations."
]
},
{
"evidence_id": "evidence.statement_structure",
"source_id": "source.statement_render_recipe",
"locator": "mappings, periods, scenarios_by_period, statement_rows",
"claim": "The reviewed recipe maps period, value, row key, and scenario columns and defines 14 source-key statement rows over 12 SYN periods without renderer formulas.",
"confidence": "high",
"status": "supported",
"notes": [
"Statement structure is package-owned rather than inferred from column names."
]
}
],
"metrics": [
{
"metric_id": "metric.value",
"label": "Prepared statement value",
"binding": {
"binding_type": "column",
"column": "value",
"expression": null,
"input_metric_ids": []
},
"definition": "The signed prepared P&L amount in USD thousands for exactly one statement row, fiscal month, and scenario.",
"metric_class": "additive_value",
"aggregation": {
"default": "identity",
"allowed": [
"identity",
"sum_across_periods_for_the_same_statement_line_and_scenario"
],
"forbidden": [
"sum_across_statement_lines",
"mean",
"ratio"
],
"weight_metric_id": null
},
"unit": {
"kind": "currency_thousands",
"currency": "USD",
"symbol": "USD 000"
},
"directionality": "signed_statement_amount",
"valid_period_grains": [
"month"
],
"compatible_dimension_ids": [
"dimension.row_key",
"dimension.scenario"
],
"forbidden_dimension_ids": [
"dimension.line_type",
"dimension.unit"
],
"status": "conditional",
"confidence": "high",
"rationale": "The fixture notes and reviewed mapping establish a signed statement amount, while additive use is safe only across periods for the same statement line and scenario; subtotals and detail lines must never be summed together.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns",
"evidence.statement_structure"
],
"caveats": [
"Monthly values are synthetic.",
"Rows include both detail lines and calculated statement subtotals, so cross-line aggregation double counts."
],
"origin_profile_observation": {
"source_role": "metric",
"metric_class": "additive_value",
"aggregation": "sum",
"confidence": "high",
"inference_reasons": [
"name suggests additive value"
]
}
},
{
"metric_id": "metric.display_order",
"label": "Display order",
"binding": {
"binding_type": "column",
"column": "display_order",
"expression": null,
"input_metric_ids": []
},
"definition": "An ordinal row-layout field copied from the reviewed statement structure; it is not a business measure.",
"metric_class": "ordinal_layout_field",
"aggregation": {
"default": "not_applicable",
"allowed": [],
"forbidden": [
"sum",
"mean",
"ratio"
],
"weight_metric_id": null
},
"unit": {
"kind": "ordinal_index",
"currency": null,
"symbol": null
},
"directionality": "not_a_business_measure",
"valid_period_grains": [],
"compatible_dimension_ids": [],
"forbidden_dimension_ids": [
"dimension.row_key",
"dimension.scenario",
"dimension.line_type",
"dimension.unit"
],
"status": "excluded",
"confidence": "high",
"rationale": "The recipe owns statement ordering; treating display_order as an analyzable metric would create meaningless calculations.",
"evidence_ids": [
"evidence.profile_columns",
"evidence.statement_structure"
],
"caveats": [
"May be used mechanically for layout validation only."
],
"origin_profile_observation": {
"source_role": "metric",
"metric_class": "numeric_observation",
"aggregation": "semantic_layer_defined",
"confidence": "medium",
"inference_reasons": [
"numeric column without a strong metric-class hint"
]
}
},
{
"metric_id": "metric.sales",
"label": "Net sales",
"binding": {
"binding_type": "derived",
"column": null,
"expression": "value restricted to row_key = 'net_sales'",
"input_metric_ids": [
"metric.value"
]
},
"definition": "The existing signed USD-thousands value for net_sales, at fiscal-month and SYN scenario grain.",
"metric_class": "additive_value",
"aggregation": {
"default": "identity",
"allowed": [
"identity",
"sum_across_periods_for_the_same_statement_line_and_scenario"
],
"forbidden": [
"sum_across_statement_lines",
"mean",
"ratio"
],
"weight_metric_id": null
},
"unit": {
"kind": "currency_thousands",
"currency": "USD",
"symbol": "USD 000"
},
"directionality": "signed_statement_amount",
"valid_period_grains": [
"month"
],
"compatible_dimension_ids": [
"dimension.row_key",
"dimension.scenario"
],
"forbidden_dimension_ids": [
"dimension.line_type",
"dimension.unit"
],
"status": "conditional",
"confidence": "high",
"rationale": "The prepared CSV and statement recipe explicitly identify net_sales. This is a row-scoped semantic reference, not a new renderer calculation.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns",
"evidence.statement_structure"
],
"caveats": [
"Monthly values are synthetic.",
"Rows include both detail lines and calculated statement subtotals, so cross-line aggregation double counts."
],
"origin_profile_observation": {}
},
{
"metric_id": "metric.cogs",
"label": "Cost of products sold",
"binding": {
"binding_type": "derived",
"column": null,
"expression": "value restricted to row_key = 'cost_of_products_sold'",
"input_metric_ids": [
"metric.value"
]
},
"definition": "The existing signed USD-thousands value for cost_of_products_sold, at fiscal-month and SYN scenario grain.",
"metric_class": "additive_value",
"aggregation": {
"default": "identity",
"allowed": [
"identity",
"sum_across_periods_for_the_same_statement_line_and_scenario"
],
"forbidden": [
"sum_across_statement_lines",
"mean",
"ratio"
],
"weight_metric_id": null
},
"unit": {
"kind": "currency_thousands",
"currency": "USD",
"symbol": "USD 000"
},
"directionality": "signed_statement_amount",
"valid_period_grains": [
"month"
],
"compatible_dimension_ids": [
"dimension.row_key",
"dimension.scenario"
],
"forbidden_dimension_ids": [
"dimension.line_type",
"dimension.unit"
],
"status": "conditional",
"confidence": "high",
"rationale": "The prepared CSV and statement recipe explicitly identify cost_of_products_sold. This is a row-scoped semantic reference, not a new renderer calculation.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns",
"evidence.statement_structure"
],
"caveats": [
"Monthly values are synthetic.",
"Rows include both detail lines and calculated statement subtotals, so cross-line aggregation double counts."
],
"origin_profile_observation": {}
}
],
"dimensions": [
{
"dimension_id": "dimension.line_type",
"label": "Line type",
"column": "line_type",
"definition": "A layout annotation identifying detail, subtotal, or total rows.",
"semantic_type": "statement_layout_annotation",
"valid_uses": [],
"hierarchy_parent_id": null,
"status": "excluded",
"confidence": "high",
"rationale": "The selected analysis uses the reviewed recipe for statement structure; grouping values by line_type would aggregate non-independent statement rows.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns",
"evidence.statement_structure"
],
"caveats": [
"May be used mechanically for layout checks, but not as an analytical grouping."
],
"origin_profile_observation": {
"source_role": "dimension",
"confidence": "high",
"inference_reasons": [
"categorical-compatible physical type"
]
}
},
{
"dimension_id": "dimension.row_key",
"label": "Statement line item",
"column": "row_key",
"definition": "The stable key for one prepared P&L statement row defined by the reviewed statement recipe.",
"semantic_type": "statement_line_item",
"valid_uses": [
"statement_line_item_role",
"native_grain_grouping",
"evidence_cell_address"
],
"hierarchy_parent_id": null,
"status": "defined",
"confidence": "high",
"rationale": "The fixture and recipe use each row_key as the source-key identity for exactly one ordered statement row.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns",
"evidence.statement_structure"
],
"caveats": [
"The keys include detail, subtotal, and total rows and do not form additive peers."
],
"origin_profile_observation": {
"source_role": "dimension",
"confidence": "high",
"inference_reasons": [
"categorical-compatible physical type"
]
}
},
{
"dimension_id": "dimension.scenario",
"label": "Statement scenario",
"column": "scenario",
"definition": "The explicit statement scenario; the only reviewed value in this snapshot is SYN, meaning synthetic monthly phasing.",
"semantic_type": "statement_scenario",
"valid_uses": [
"statement_scenario_role",
"scope_filter",
"evidence_cell_address"
],
"hierarchy_parent_id": null,
"status": "defined",
"confidence": "high",
"rationale": "The fixture notes define the monthly values as synthetic and every origin-snapshot row carries the explicit SYN marker.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns"
],
"caveats": [
"SYN must not be relabeled as actual, plan, forecast, or issuer disclosure."
],
"origin_profile_observation": {
"source_role": "dimension",
"confidence": "high",
"inference_reasons": [
"categorical-compatible physical type"
]
}
},
{
"dimension_id": "dimension.unit",
"label": "Unit column",
"column": "unit",
"definition": "A constant row-level repetition of the dataset-wide USD-thousands unit.",
"semantic_type": "unit_annotation",
"valid_uses": [],
"hierarchy_parent_id": null,
"status": "excluded",
"confidence": "high",
"rationale": "Unit is constant in the reviewed snapshot and belongs to metric metadata, not to analytical grouping.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns"
],
"caveats": [
"A snapshot with mixed units would require a semantic-layer revision."
],
"origin_profile_observation": {
"source_role": "dimension",
"confidence": "high",
"inference_reasons": [
"categorical-compatible physical type"
]
}
}
],
"periods": [
{
"period_id": "period.period",
"label": "Fiscal month",
"column": "period",
"definition": "The YYYY-MM label for one synthetic fiscal month in WD-40 FY2025, from September 2024 through August 2025.",
"grain": "month",
"calendar": "fiscal_year_ending_august",
"timezone": null,
"status": "defined",
"confidence": "high",
"rationale": "The prepared table and reviewed recipe contain the same complete ordered set of 12 fiscal-month labels.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns",
"evidence.statement_structure"
],
"caveats": [
"The month labels are real calendar periods, but the monthly phasing is synthetic."
],
"origin_profile_observation": {
"confidence": "high",
"grain": "month"
}
},
{
"period_id": "period.period_start",
"label": "Period start",
"column": "period_start",
"definition": "A mechanical first-calendar-day boundary redundant with period.period.",
"grain": "month",
"calendar": "fiscal_year_ending_august",
"timezone": null,
"status": "excluded",
"confidence": "high",
"rationale": "The selected statement capability requires one period axis; period.period is the reviewed display and key field, so this redundant boundary is excluded.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns",
"evidence.statement_structure"
],
"caveats": [
"May be used for mechanical reconciliation, not as a second reporting period role."
],
"origin_profile_observation": {
"confidence": "high",
"grain": "month"
}
},
{
"period_id": "period.period_end",
"label": "Period end",
"column": "period_end",
"definition": "A mechanical last-calendar-day boundary redundant with period.period.",
"grain": "month",
"calendar": "fiscal_year_ending_august",
"timezone": null,
"status": "excluded",
"confidence": "high",
"rationale": "The selected statement capability requires one period axis; period.period is the reviewed display and key field, so this redundant boundary is excluded.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns",
"evidence.statement_structure"
],
"caveats": [
"May be used for mechanical reconciliation, not as a second reporting period role."
],
"origin_profile_observation": {
"confidence": "high",
"grain": "month"
}
}
],
"period_rules": [
{
"period_rule_id": "period_rule.all_available",
"label": "All twelve prepared FY2025 months",
"period_id": "period.period",
"rule_type": "all_available",
"scope_type": "all_available",
"parameters": {
"window_length": null,
"fiscal_year_start_month": 9,
"comparison_offset_years": 1,
"requires_runtime_bounds": false
},
"status": "defined",
"confidence": "high",
"rationale": "The reviewed reporting use is the complete 12-month statement table and the recipe explicitly orders every available month.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns",
"evidence.statement_structure"
],
"caveats": [
"A bounded subset requires an explicit reviewed handoff revision."
]
}
],
"analysis_policies": [
{
"analysis_id": "analysis.prepared_monthly_pnl_statement",
"label": "Prepared monthly P&L statement table",
"question_family": "Show the exact prepared synthetic monthly P&L values in their reviewed statement structure.",
"analysis_task_ids": [
"evidence_and_reporting_tables"
],
"selection_emphases": [
"structured_statement_values"
],
"validity": "conditional",
"business_purpose": "Transport the reviewed prepared values into a deterministic statement table with complete sealed cell closure.",
"role_bindings": {
"period_axis": {
"binding_type": "concept",
"concept_id": "period.period"
},
"statement_value": {
"binding_type": "concept",
"concept_id": "metric.value"
},
"statement_line_item": {
"binding_type": "concept",
"concept_id": "dimension.row_key"
},
"statement_scenario": {
"binding_type": "concept",
"concept_id": "dimension.scenario"
},
"statement_structure": {
"binding_type": "package",
"source_id": "source.statement_render_recipe"
}
},
"period_rule_id": "period_rule.all_available",
"conditions": [
"Use only the exact prepared snapshot independently bound by file SHA-256 in the reporting handoff request.",
"Require all 12 recipe periods in order and scenario SYN only.",
"Render the source values at row_key by period by scenario grain without renderer-side formulas or cross-line aggregation.",
"Use capability statement.pnl_table for the already selected structured_statement_values analysis; this policy does not perform chart selection.",
"Preserve the synthetic-fixture label and withhold issuer-actual or publication claims."
],
"rationale": "The reviewed semantic roles exactly satisfy the statement.pnl_table contract, while the conditions prevent the mechanically additive value profile from authorizing unsafe cross-line arithmetic or misrepresenting synthetic data.",
"evidence_ids": [
"evidence.fixture_scope",
"evidence.profile_columns",
"evidence.statement_structure"
],
"confidence": "high",
"caveats": [
"This is a bounded reporting transport policy, not due-diligence interpretation.",
"The semantic layer is model-reviewed and has not received human accounting review."
]
}
],
"open_questions": [],
"review": {
"status": "model_reviewed",
"reviewed_by": "Codex semantic fixture review",
"reviewed_at": "2026-09-05",
"notes": [
"Review applies only to this frozen synthetic preparation fixture and the one conditional analysis policy.",
"This semantic layer is explicitly not human-reviewed.",
"Deterministic validation proves contract wiring and snapshot compatibility, not the truth of semantic judgment.",
"Semantic revision 2 migrates to schema 0.3 and reviews Sales/Discount/COGS against the frozen statement rows; numeric data, render recipe and publication boundaries are unchanged."
]
},
"boundaries": {
"semantic_judgment_owner": "model_reviewed_fixture_asset_pending_human_review",
"deterministic_validation_scope": "Schema, identifiers, evidence references, profile bindings, exact manifest intent joins, required role coverage, and snapshot compatibility only.",
"chart_selection_included": false,
"rendering_included": false
},
"business_metric_mappings": {
"sales": {
"state": "mapped",
"metric_id": "metric.sales",
"candidate_metric_ids": [],
"confidence": "high",
"rationale": "The prepared CSV and statement recipe explicitly identify net_sales. This is a row-scoped semantic reference, not a new renderer calculation.",
"evidence_ids": [
"evidence.statement_structure"
],
"caveats": [
"Synthetic monthly values only. No cross-statement-line aggregation."
]
},
"cogs": {
"state": "mapped",
"metric_id": "metric.cogs",
"candidate_metric_ids": [],
"confidence": "high",
"rationale": "The prepared CSV and statement recipe explicitly identify cost_of_products_sold. This is a row-scoped semantic reference, not a new renderer calculation.",
"evidence_ids": [
"evidence.statement_structure"
],
"caveats": [
"Synthetic monthly values only. No cross-statement-line aggregation."
]
},
"discount": {
"state": "absent",
"metric_id": null,
"candidate_metric_ids": [],
"confidence": "high",
"rationale": "The frozen 14-row statement contains net sales and cost of products sold but no separate discount measure. Net sales must not also be mapped as discount.",
"evidence_ids": [
"evidence.statement_structure"
],
"caveats": [
"Absent from this fixture does not mean the issuer has no discounts."
]
}
}
}
SHA-256: 016535666fcf286057fb4e475f9b5daea12e9c4360f1eab3fba6f6ccd9afbd27