updated docs, removed testing files, fixed logging

This commit is contained in:
2026-08-24 10:01:21 -04:00
parent 01d08e635c
commit a54ff3c8f2
80 changed files with 587 additions and 8381 deletions
+11 -9
View File
@@ -2,8 +2,9 @@
How to write, order, and change the rules that decide what an account is.
Field-by-field syntax is in [ConfigurationReference.md](ConfigurationReference.md). This document is
about judgement.
Field-by-field syntax is in [ConfigurationReference.md](ConfigurationReference.md). Every condition
type and operator, with worked examples, is in [RuleAuthoringGuide.md](RuleAuthoringGuide.md). This
document is about judgement.
## The model
@@ -125,13 +126,14 @@ without a version change.
## Testing a rule set without a tenant
```bash
pwsh ./Edit-PersonaEngineConfig.ps1 -ConfigPath ./config/persona-engine.json -TestDataPath ./tests/TestData -ValidateOnly -NonInteractive
pwsh ./Edit-PersonaEngineConfig.ps1 -ConfigPath ./config/persona-engine.json -TestDataPath <fixtures-dir> -ValidateOnly -NonInteractive
```
This runs the real engine against the synthetic fixtures in `tests/TestData/`. The fixtures include
accounts with null and absent properties, mixed casing, a guest, a disabled account, and — most
usefully — two accounts whose membership lookups failed, so `EvaluationError` behaviour is visible
before it happens against a real directory.
This runs the real engine against a directory of synthetic user/membership fixtures you provide.
Build fixtures for the cases your rule set actually cares about: accounts with null and absent
properties, mixed casing, a guest, a disabled account, and — most usefully — an account whose
membership lookup fails, so `EvaluationError` behaviour is visible before it happens against a real
directory.
Add fixtures for the cases your rule set actually cares about. A fixture that reproduces a real edge
case, sanitized, is worth more than any amount of reasoning about what the engine will probably do.
A fixture that reproduces a real edge case, sanitized, is worth more than any amount of reasoning
about what the engine will probably do.