{
  "$schema": "https://json-schema.org/draft-07/schema#",
  "version": 1,
  "description": "Strict bidirectional parity subset. PR-blocking.",
  "basedOnEquivalence": {
    "history": "2026-06-27T05:57:06.598Z",
    "total": 213,
    "equivalent": 213,
    "divergent": 0,
    "_comment": "Dated baseline matching equivalence-report.json (summary.basedOnHistory). Kept consistent by scripts/check-equivalence-freshness.mjs. The live rate is the latest row of equivalence-history.csv."
  },
  "samples": [
    "tier1-equivalence/policies/01-arithmetic-add.aster",
    "tier1-equivalence/policies/02-arithmetic-precedence.aster",
    "tier1-equivalence/policies/03-if-else.aster",
    "tier1-equivalence/policies/04-let-binding.aster",
    "tier1-equivalence/policies/05-comparison.aster",
    "tier1-equivalence/policies/06-string-concat.aster",
    "tier1-equivalence/policies/07-arithmetic-subtract.aster",
    "tier1-equivalence/policies/08-arithmetic-divide.aster",
    "tier1-equivalence/policies/09-arithmetic-modulo.aster",
    "tier1-equivalence/policies/10-arithmetic-negate.aster",
    "tier1-equivalence/policies/11-boolean-and.aster",
    "tier1-equivalence/policies/12-boolean-or.aster",
    "tier1-equivalence/policies/13-boolean-not.aster",
    "tier1-equivalence/policies/14-boolean-short-circuit.aster",
    "tier1-equivalence/policies/15-comparison-less.aster",
    "tier1-equivalence/policies/16-comparison-equals.aster",
    "tier1-equivalence/policies/17-comparison-not-equals.aster",
    "tier1-equivalence/policies/17-comparison-range.aster",
    "tier1-equivalence/policies/18-comparison-chained.aster",
    "tier1-equivalence/policies/18-comparison-is-equal.aster",
    "tier1-equivalence/policies/19-comparison-is-not-equal.aster",
    "tier1-equivalence/policies/19-let-multiple.aster",
    "tier1-equivalence/policies/20-let-dependent.aster",
    "tier1-equivalence/policies/21-comparison-is-prefix.aster",
    "tier1-equivalence/policies/21-let-conditional.aster",
    "tier1-equivalence/policies/22-let-shadowing.aster",
    "tier1-equivalence/policies/22-logical-and.aster",
    "tier1-equivalence/policies/23-if-nested.aster",
    "tier1-equivalence/policies/23-logical-or.aster",
    "tier1-equivalence/policies/24-if-guard-clause.aster",
    "tier1-equivalence/policies/24-logical-precedence.aster",
    "tier1-equivalence/policies/25-if-multi-branch.aster",
    "tier1-equivalence/policies/26-if-bool-condition.aster",
    "tier1-equivalence/policies/27-business-loan-eligibility.aster",
    "tier1-equivalence/policies/28-business-insurance-premium.aster",
    "tier1-equivalence/policies/29-business-tax-bracket.aster",
    "tier1-equivalence/policies/30-business-gdpr-retention.aster",
    "tier1-equivalence/policies/31-arithmetic-intdiv.aster",
    "tier1-equivalence/policies/32-arithmetic-modulo-op.aster",
    "tier1-equivalence/policies/arith_compare.aster",
    "tier1-equivalence/policies/auto.aster",
    "tier1-equivalence/policies/bad_generic.aster",
    "tier1-equivalence/policies/bad_generic_return.aster",
    "tier1-equivalence/policies/bad_generic_return_type.aster",
    "tier1-equivalence/policies/capability-v2.aster",
    "tier1-equivalence/policies/capdemo.aster",
    "tier1-equivalence/policies/claims.aster",
    "tier1-equivalence/policies/cli_tool.aster",
    "tier1-equivalence/policies/comparison_operators.aster",
    "tier1-equivalence/policies/creditcard.aster",
    "tier1-equivalence/policies/cross_compiler_ops.aster",
    "tier1-equivalence/policies/eff_alias_import.aster",
    "tier1-equivalence/policies/eff_alias_unmapped.aster",
    "tier1-equivalence/policies/eff_caps_enforce.aster",
    "tier1-equivalence/policies/eff_caps_enforce_brackets.aster",
    "tier1-equivalence/policies/eff_caps_enforce_missing_ai_model.aster",
    "tier1-equivalence/policies/eff_caps_enforce_missing_files.aster",
    "tier1-equivalence/policies/eff_caps_enforce_missing_secrets.aster",
    "tier1-equivalence/policies/eff_caps_enforce_unused_extra.aster",
    "tier1-equivalence/policies/eff_caps_enforce_unused_files.aster",
    "tier1-equivalence/policies/eff_caps_enforce_unused_time.aster",
    "tier1-equivalence/policies/eff_caps_parse.aster",
    "tier1-equivalence/policies/eff_caps_parse_bare.aster",
    "tier1-equivalence/policies/eff_caps_parse_brackets.aster",
    "tier1-equivalence/policies/eff_caps_parse_files_secrets.aster",
    "tier1-equivalence/policies/eff_caps_parse_mixed_brackets_and_and.aster",
    "tier1-equivalence/policies/eff_caps_parse_single.aster",
    "tier1-equivalence/policies/eff_custom_prefix.aster",
    "tier1-equivalence/policies/eff_infer_mixed.aster",
    "tier1-equivalence/policies/eff_infer_transitive.aster",
    "tier1-equivalence/policies/eff_infer_wrapper_cpu.aster",
    "tier1-equivalence/policies/eff_infer_wrapper_io.aster",
    "tier1-equivalence/policies/eff_valid_all_caps.aster",
    "tier1-equivalence/policies/eff_valid_cpu_only.aster",
    "tier1-equivalence/policies/eff_valid_exact_match.aster",
    "tier1-equivalence/policies/eff_valid_exact_match__programs-patterns.aster",
    "tier1-equivalence/policies/eff_valid_http_sql.aster",
    "tier1-equivalence/policies/eff_valid_nested.aster",
    "tier1-equivalence/policies/eff_valid_pure_only.aster",
    "tier1-equivalence/policies/eff_valid_subset_declared.aster",
    "tier1-equivalence/policies/eff_violation_chain.aster",
    "tier1-equivalence/policies/eff_violation_cpu_calls_io.aster",
    "tier1-equivalence/policies/eff_violation_empty_caps.aster",
    "tier1-equivalence/policies/eff_violation_files_calls_secrets.aster",
    "tier1-equivalence/policies/eff_violation_files_only.aster",
    "tier1-equivalence/policies/eff_violation_http_calls_sql.aster",
    "tier1-equivalence/policies/eff_violation_missing_http.aster",
    "tier1-equivalence/policies/eff_violation_missing_sql.aster",
    "tier1-equivalence/policies/eff_violation_missing_time.aster",
    "tier1-equivalence/policies/eff_violation_mixed_caps.aster",
    "tier1-equivalence/policies/eff_violation_multiple_errors.aster",
    "tier1-equivalence/policies/eff_violation_nested_a.aster",
    "tier1-equivalence/policies/eff_violation_nested_b.aster",
    "tier1-equivalence/policies/eff_violation_pure_calls_cpu.aster",
    "tier1-equivalence/policies/eff_violation_secrets_calls_ai.aster",
    "tier1-equivalence/policies/eff_violation_secrets_calls_http.aster",
    "tier1-equivalence/policies/eff_violation_sql_calls_files.aster",
    "tier1-equivalence/policies/eff_violation_transitive.aster",
    "tier1-equivalence/policies/effect_enforcement.aster",
    "tier1-equivalence/policies/eligibility.aster",
    "tier1-equivalence/policies/enterprise.aster",
    "tier1-equivalence/policies/entry_annotation.aster",
    "tier1-equivalence/policies/enum_exhaustiveness.aster",
    "tier1-equivalence/policies/enum_wildcard.aster",
    "tier1-equivalence/policies/fetch_dashboard.aster",
    "tier1-equivalence/policies/fraud-simple-test.aster",
    "tier1-equivalence/policies/fraud.aster",
    "tier1-equivalence/policies/greet.aster",
    "tier1-equivalence/policies/hello.aster",
    "tier1-equivalence/policies/hipaa-validation-demo.aster",
    "tier1-equivalence/policies/id_generic.aster",
    "tier1-equivalence/policies/if_param.aster",
    "tier1-equivalence/policies/incremental.aster",
    "tier1-equivalence/policies/incremental_test.aster",
    "tier1-equivalence/policies/incremental_test2.aster",
    "tier1-equivalence/policies/incremental_test3.aster",
    "tier1-equivalence/policies/int_match.aster",
    "tier1-equivalence/policies/int_match_default.aster",
    "tier1-equivalence/policies/interop_overload.aster",
    "tier1-equivalence/policies/interop_sum.aster",
    "tier1-equivalence/policies/lambda_cnl.aster",
    "tier1-equivalence/policies/lambda_cnl_length.aster",
    "tier1-equivalence/policies/lambda_cnl_length_cmp.aster",
    "tier1-equivalence/policies/lambda_cnl_match_bind.aster",
    "tier1-equivalence/policies/lambda_cnl_match_bind__programs-patterns.aster",
    "tier1-equivalence/policies/lambda_cnl_match_maybe.aster",
    "tier1-equivalence/policies/lambda_cnl_match_maybe__programs-patterns.aster",
    "tier1-equivalence/policies/lambda_cnl_match_result.aster",
    "tier1-equivalence/policies/lambda_cnl_match_result__programs-patterns.aster",
    "tier1-equivalence/policies/lambda_cnl_math_bool.aster",
    "tier1-equivalence/policies/lambda_cnl_mixed.aster",
    "tier1-equivalence/policies/lambda_cnl_short.aster",
    "tier1-equivalence/policies/lambda_gte_test.aster",
    "tier1-equivalence/policies/lambda_lte_test.aster",
    "tier1-equivalence/policies/life.aster",
    "tier1-equivalence/policies/list_ops.aster",
    "tier1-equivalence/policies/loan.aster",
    "tier1-equivalence/policies/loan_fixed.aster",
    "tier1-equivalence/policies/loan_full_test.aster",
    "tier1-equivalence/policies/loan_with_constraints.aster",
    "tier1-equivalence/policies/loan_with_int.aster",
    "tier1-equivalence/policies/login.aster",
    "tier1-equivalence/policies/map_ops.aster",
    "tier1-equivalence/policies/match_enum.aster",
    "tier1-equivalence/policies/match_multi.aster",
    "tier1-equivalence/policies/match_null.aster",
    "tier1-equivalence/policies/neq_test.aster",
    "tier1-equivalence/policies/nested_generic_function.aster",
    "tier1-equivalence/policies/nested_generic_lambda.aster",
    "tier1-equivalence/policies/patient-record.aster",
    "tier1-equivalence/policies/personal.aster",
    "tier1-equivalence/policies/pii_function_return.aster",
    "tier1-equivalence/policies/pii_http_safe.aster",
    "tier1-equivalence/policies/pii_http_violation.aster",
    "tier1-equivalence/policies/pii_nested_call.aster",
    "tier1-equivalence/policies/pii_propagation.aster",
    "tier1-equivalence/policies/pii_type_basic.aster",
    "tier1-equivalence/policies/pii_type_in_data.aster",
    "tier1-equivalence/policies/pii_type_in_function.aster",
    "tier1-equivalence/policies/pii_type_mixed.aster",
    "tier1-equivalence/policies/pii_type_phone.aster",
    "tier1-equivalence/policies/pii_type_ssn.aster",
    "tier1-equivalence/policies/policy_demo.aster",
    "tier1-equivalence/policies/policy_engine.aster",
    "tier1-equivalence/policies/prescription-workflow.aster",
    "tier1-equivalence/policies/rest_service.aster",
    "tier1-equivalence/policies/result_trycatch.aster",
    "tier1-equivalence/policies/risk.aster",
    "tier1-equivalence/policies/rules_engine.aster",
    "tier1-equivalence/policies/simple_test.aster",
    "tier1-equivalence/policies/soc2-audit-demo.aster",
    "tier1-equivalence/policies/stdlib_collections.aster",
    "tier1-equivalence/policies/stdlib_io.aster",
    "tier1-equivalence/policies/stdlib_maybe_result.aster",
    "tier1-equivalence/policies/stdlib_text.aster",
    "tier1-equivalence/policies/symbolic_operators.aster",
    "tier1-equivalence/policies/test-operators.aster",
    "tier1-equivalence/policies/test_all_comparisons.aster",
    "tier1-equivalence/policies/test_all_comparisons__ts-only.aster",
    "tier1-equivalence/policies/test_arithmetic.aster",
    "tier1-equivalence/policies/test_auto.aster",
    "tier1-equivalence/policies/test_claims.aster",
    "tier1-equivalence/policies/test_complex_return.aster",
    "tier1-equivalence/policies/test_copy.aster",
    "tier1-equivalence/policies/test_division.aster",
    "tier1-equivalence/policies/test_eligibility.aster",
    "tier1-equivalence/policies/test_eligibility_full.aster",
    "tier1-equivalence/policies/test_eligibility_minimal.aster",
    "tier1-equivalence/policies/test_eligibility_simple.aster",
    "tier1-equivalence/policies/test_eligibility_struct.aster",
    "tier1-equivalence/policies/test_eligibility_with_ifs.aster",
    "tier1-equivalence/policies/test_exact_eligibility.aster",
    "tier1-equivalence/policies/test_gte.aster",
    "tier1-equivalence/policies/test_helper1.aster",
    "tier1-equivalence/policies/test_invalid.aster",
    "tier1-equivalence/policies/test_let_in_if.aster",
    "tier1-equivalence/policies/test_let_member_call.aster",
    "tier1-equivalence/policies/test_let_with_call.aster",
    "tier1-equivalence/policies/test_life.aster",
    "tier1-equivalence/policies/test_loan.aster",
    "tier1-equivalence/policies/test_operators.aster",
    "tier1-equivalence/policies/test_operators__ts-only.aster",
    "tier1-equivalence/policies/test_return_with.aster",
    "tier1-equivalence/policies/test_second_func.aster",
    "tier1-equivalence/policies/test_two_ifs.aster",
    "tier1-equivalence/policies/test_two_statements.aster",
    "tier1-equivalence/policies/text_ops.aster",
    "tier1-equivalence/policies/type_alias.aster",
    "tier1-equivalence/policies/g0-omit-produce.aster",
    "tier1-equivalence/policies/g1-lowercase-keywords.aster",
    "tier1-equivalence/policies/g1-softkeyword-idents.aster",
    "tier1-equivalence/policies/g2a-inline-if.aster",
    "tier1-equivalence/policies/g2b-if-expression.aster"
  ]
}
