{ "_metadata": { "source": "Policy logic extracted from: test_policy_rich.md", "generator": "Policy Logic Extractor", "format": "json-rules-engine" }, "rules": [ { "name": "Minimum Age Requirement", "priority": 30, "conditions": { "all": [ { "fact": "age", "operator": "greaterThanInclusive", "value": 18 } ] }, "event": { "type": "meets-minimum-age-requirement", "params": { "ruleId": "rule-001", "ruleName": "Minimum Age Requirement", "consequence": "meets_minimum_age_requirement", "confidence": 1.0, "sourceDocument": "Housing Assistance Program Policy", "sourceChunks": [ "Section 2.1", "chunk-f41dcc25b920", "Section 1.1", "chunk-99465657348b", "chunk-898fd18488e8", "Section 3.1" ] } } }, { "name": "Senior Assistance Track Qualification", "priority": 25, "conditions": { "all": [ { "fact": "age", "operator": "greaterThan", "value": 65 } ] }, "event": { "type": "qualifies-for-senior-assistance-track", "params": { "ruleId": "rule-002", "ruleName": "Senior Assistance Track Qualification", "consequence": "qualifies_for_senior_assistance_track", "confidence": 0.99, "sourceDocument": "Housing Assistance Program Policy", "sourceChunks": [ "Section 2.1", "chunk-f41dcc25b920", "Section 1.1", "chunk-99465657348b", "chunk-898fd18488e8", "Section 3.1" ] } } }, { "name": "Maximum Income Threshold", "priority": 30, "conditions": { "all": [ { "fact": "incomeAsPercentOfAmi", "operator": "lessThanInclusive", "value": 0.8 } ] }, "event": { "type": "meets-income-eligibility-requirement", "params": { "ruleId": "rule-003", "ruleName": "Maximum Income Threshold", "consequence": "meets_income_eligibility_requirement", "confidence": 1.0, "sourceDocument": "Housing Assistance Program Policy", "sourceChunks": [ "Section 2.1", "chunk-f41dcc25b920", "chunk-99465657348b", "chunk-898fd18488e8", "Section 3.2", "Section 1.2" ], "note": "incomeAsPercentOfAmi = household.income / area_median_income; threshold is 80% AMI" } } }, { "name": "Standard Tier Income Qualification", "priority": 20, "conditions": { "all": [ { "fact": "incomeAsPercentOfAmi", "operator": "greaterThanInclusive", "value": 0.5 }, { "fact": "incomeAsPercentOfAmi", "operator": "lessThanInclusive", "value": 0.8 } ] }, "event": { "type": "qualifies-for-standard-tier", "params": { "ruleId": "rule-004", "ruleName": "Standard Tier Income Qualification", "consequence": "qualifies_for_standard_tier", "confidence": 0.99, "sourceDocument": "Housing Assistance Program Policy", "sourceChunks": [ "Section 2.1", "chunk-f41dcc25b920", "Section 2.2", "chunk-898fd18488e8", "chunk-99465657348b", "Section 3.2", "Section 1.2" ], "note": "incomeAsPercentOfAmi = household.income / area_median_income; range is 50%\u201380% AMI" } } }, { "name": "Fraudulent Document Denial", "priority": 150, "conditions": { "all": [ { "fact": "containsFraudulentDocuments", "operator": "equal", "value": true } ] }, "event": { "type": "application-denied", "params": { "ruleId": "rule-005", "ruleName": "Fraudulent Document Denial", "consequence": "application_denied", "confidence": 1.0, "sourceDocument": "Housing Assistance Program Policy", "sourceChunks": [ "Section 2.2", "chunk-f41dcc25b920", "chunk-99465657348b", "Section 1.2" ] } } }, { "name": "Incomplete Application Non-Processing Rule", "priority": 120, "conditions": { "all": [ { "fact": "isComplete", "operator": "equal", "value": false } ] }, "event": { "type": "application-not-processed", "params": { "ruleId": "rule-006", "ruleName": "Incomplete Application Non-Processing Rule", "consequence": "application_not_processed", "confidence": 1.0, "sourceDocument": "Housing Assistance Program Policy", "sourceChunks": [ "Section 2.2", "chunk-f41dcc25b920", "chunk-99465657348b", "Section 1.3" ] } } }, { "name": "Minimum Residency Duration Requirement", "priority": 30, "conditions": { "all": [ { "fact": "consecutiveMonthsInJurisdiction", "operator": "greaterThanInclusive", "value": 12 } ] }, "event": { "type": "meets-residency-duration-requirement", "params": { "ruleId": "rule-007", "ruleName": "Minimum Residency Duration Requirement", "consequence": "meets_residency_duration_requirement", "confidence": 1.0, "sourceDocument": "Housing Assistance Program Policy", "sourceChunks": [ "chunk-99465657348b", "Section 1.3" ] } } }, { "name": "Full Program Eligibility", "priority": 10, "conditions": { "all": [ { "fact": "age", "operator": "greaterThanInclusive", "value": 18 }, { "fact": "incomeAsPercentOfAmi", "operator": "lessThanInclusive", "value": 0.8 }, { "fact": "isCurrentResidentOfJurisdiction", "operator": "equal", "value": true }, { "fact": "consecutiveMonthsInJurisdiction", "operator": "greaterThanInclusive", "value": 12 } ] }, "event": { "type": "eligible-for-housing-assistance-program", "params": { "ruleId": "rule-008", "ruleName": "Full Program Eligibility", "consequence": "eligible_for_housing_assistance_program", "confidence": 0.94, "sourceDocument": "Housing Assistance Program Policy", "sourceChunks": [ "chunk-99465657348b", "Section 1.1", "Section 1.2", "Section 1.3" ], "note": "incomeAsPercentOfAmi = household.income / area_median_income; threshold is 80% AMI. Overridden by rule-005 (fraudulent documents) and rule-006 (incomplete application)." } } } ] }