The "veil of ignorance" in AGISystem2 is a fairness mode where the system reasons without knowing protected attributes. Inspired by Rawls' philosophical concept, the BiasController masks both axiological and protected ontological dimensions, forcing decisions to be based only on relevant facts.
The veil of ignorance masks protected attributes (like age, gender) and all axiological dimensions. This forces decisions to be based solely on relevant qualifications, implementing Rawlsian fairness geometrically.
The veil combines two types of masking:
When the veil is active, the masked L1 distance ignores these dimensions entirely.
# Enable veil of ignorance mode VEIL_OF_IGNORANCE ON # Or configure specific protected dimensions BIAS_MASK protected=[120,121,122,123] includeAxiology=true # All queries now use fair reasoning ASK "Should hire Candidate123?" # → Result based only on unmasked qualifications # Disable veil VEIL_OF_IGNORANCE OFF
// Enable full veil of ignorance
biasController.enableVeilOfIgnorance({
protectedDimensions: config.protectedAttributes,
includeAllAxiology: true
});
// Query with veil active
const result = reasoner.ask(query); // Uses masked distance automatically
// Audit log records the mask
// { event: "VEIL_ACTIVE", masked: [120-123, 256-383], query: "..." }
Compare results with and without the veil to detect bias:
// Run same query both ways
const withVeil = reasoner.ask(query, { veil: true });
const withoutVeil = reasoner.ask(query, { veil: false });
// If results differ, protected attributes influenced the decision
if (withVeil !== withoutVeil) {
auditLog.alert("BIAS_DETECTED", {
query,
veilResult: withVeil,
normalResult: withoutVeil
});
}