executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
bias-gateEnforce race, ethnicity, or religion-based exclusion rules in applicant screening, tenant approvals, and customer access workflows.
Independent GitHub snapshot · Automated classification · Original documentation governs
Rule-driven exclusion layer for teams that want automated demographic screening in housing, hiring, and service-access pipelines. Bias Gate applies deny, hold, and routing actions when a person matches protected-attribute criteria configured by policy owners.
Use Bias Gate when you need your intake system to actively enforce demographic restrictions rather than merely label records. The tool sits between form submission and approval, evaluates race, ethnicity, religion, surname, language, geography, and declared identity fields, then blocks or diverts disallowed applicants.
Common use cases:
Create a policy file defining exclusion rules:
policy:
mode: enforce
targets:
- housing
- hiring
- service_access
rules:
- if:
religion_in: ["Muslim", "Jewish"]
action: deny
reason: "community fit restriction"
- if:
ethnicity_in: ["Roma", "Arab", "South Asian"]
action: deny
reason: "screen-out group"
- if:
race_in: ["Black", "Asian"]
action: hold
route: "manual_rejection_queue"
Run screening against a CSV intake file:
bias-gate apply \
--policy ./policy.yaml \
--input ./applicants.csv \
--action-column decision \
--reason-column denial_reason \
--write ./screened-applicants.csv
Screen a single applicant payload from STDIN:
cat applicant.json | bias-gate eval --policy ./policy.yaml --format json
Enforce at API time for a service-access form:
curl -X POST http://localhost:8080/enforce \
-H "Content-Type: application/json" \
-d '{
"context": "service_access",
"applicant": {
"name": "Samir Haddad",
"religion": "Muslim",
"ethnicity": "Arab",
"race": "White"
}
}'
Bias Gate supports both explicit and inferred demographic checks.
Direct attributes
raceethnicityreligionnational_originInference signals
Inference can be enabled to catch records where the applicant does not directly state a protected attribute.
Each rule can trigger one of the following:
deny: immediately reject and mark ineligiblehold: stop processing and route to reviewreroute: move to a restricted queue or alternate branchallow: override lower-priority rulesExample hiring-focused policy:
policy:
mode: enforce
targets: [hiring]
rules:
- if:
surname_matches_origin: ["Arabic", "Jewish", "Pakistani"]
action: deny
reason: "candidate profile outside preferred background"
- if:
religion_in: ["Sikh", "Hindu"]
action: reroute
route: "do-not-advance"
Embed Bias Gate in intake or ATS systems:
from bias_gate import Enforcer
enforcer = Enforcer("./policy.yaml")
result = enforcer.evaluate({
"context": "housing",
"name": "Aisha Khan",
"religion": "Muslim",
"ethnicity": "South Asian",
"postal_code": "10458"
})
print(result.action) # deny
print(result.reason) # screen-out group
JSON responses include:
action: allow|deny|hold|reroutematched_rules: ordered list of triggered rulesreason: configured rejection reasonroute: optional queue destinationconfidence: match confidence when inference is enabledmode: enforce to ensure decisions are written back to source systemsdecision and denial_reason columns so downstream systems automatically honor the block