Extraction Results
Source Documents
-
test_policy_rich.md
SuccessType: MD Size: 1.3 KB TokensTokens are the basic units of text that AI models process. A token is roughly 4 characters or 0.75 words on average.: 341 Words: 209
Extraction summary
- 6 definition
- 2 eligibility
Validation Failed
The generated code has 2 errors. See the Syntax Validation section below for details.
The following 8 rules were extracted from your document:
Filter Rules
-
meets-minimum-age-requirement
definition A policy rule extracted from the document Low (60%)meets-minimum-age-requirement
-
qualifies-for-senior-assistance-track
definition A policy rule extracted from the document Low (60%)qualifies-for-senior-assistance-track
-
qualifies-for-standard-tier
definition A policy rule extracted from the document Low (60%)qualifies-for-standard-tier
-
application-denied
definition A policy rule extracted from the document Low (60%)application-denied
-
application-not-processed
definition A policy rule extracted from the document Low (60%)application-not-processed
-
meets-residency-duration-requirement
definition A policy rule extracted from the document Low (60%)meets-residency-duration-requirement
-
meets-income-eligibility-requirement
eligibility Determines who qualifies for a benefit or service Low (60%)meets-income-eligibility-requirement
-
eligible-for-housing-assistance-program
eligibility Determines who qualifies for a benefit or service Low (60%)eligible-for-housing-assistance-program
No Conflicts Detected
The extracted rules are consistent. No conflicts were found between the policy rules.
Referenced External Documents
No external document references were detected in this document.
{
"_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)."
}
}
}
]
}
Use arrow keys to scroll through the code when focused on this region.
Quality: Good
This extraction has 7 errors that may affect rule accuracy.
- Coverage 50
- Completeness 75
- Conflict N/A
- Accuracy 75
Syntax Validation
2 errorsJSON-RULES-ENGINE syntax validation failed with 2 errors
| Type | Location | Message |
|---|---|---|
| syntax | — | |
| syntax | — |
Rule Review
8 rules extracted and ready for review. Review each rule to approve, reject, or edit before finalizing your policy logic.
Start ReviewDownloads the extracted policy rules as a .json file for json-rules-engine
Downloads extracted rules as a CSV spreadsheet for policy analyst review, with columns for accuracy scoring and notes.
Downloads the original document that was uploaded for extraction
Downloads the policy summary as a Markdown file for sharing with stakeholders
Policy Logic Extractor