Skip to content

feat: domain-aware normalizer for assumption validation (Phase 2)#72

Open
82deutschmark wants to merge 5 commits intoPlanExeOrg:mainfrom
VoynichLabs:feature/domain-normalizer
Open

feat: domain-aware normalizer for assumption validation (Phase 2)#72
82deutschmark wants to merge 5 commits intoPlanExeOrg:mainfrom
VoynichLabs:feature/domain-normalizer

Conversation

@82deutschmark
Copy link
Contributor

Phase 2: Domain-Aware Assumption Normalizer

What this does

Adds a DomainNormalizer that auto-detects the domain of a plan (carpenter, dentist, personal, startup, non-profit) and normalizes QuantifiedAssumptions accordingly:

  • Currency → domain default (DKK for carpenter, USD for dentist) + EUR equivalent
  • Units → metric internally
  • Confidence keywords → domain-aware ("I've done this 50 times" = high for carpenter)

Why it matters

PlanExe's role in 2026 is as a trusted auditing layer for autonomous agents — not just plan generation. Agents run in bubbles and hallucinate assumptions. This normalizer ensures FermiSanityCheck speaks the right language for each domain before flagging assumptions as sane or suspect.

Test results

11/11 tests pass (8 normalizer + 3 FermiSanityCheck).

DAG placement

MakeAssumptions → FermiSanityCheck → DomainNormalizer → DistillAssumptions

Related

EgonBot and others added 5 commits February 25, 2026 15:48
- Loads domain profiles (Carpenter, Dentist, Personal) from YAML
- Auto-detects domain from assumption signals (currency, units, keywords)
- Normalizes currency to domain default + EUR equivalent
- Normalizes units to metric (with conversion tables)
- Re-assesses confidence per domain keywords
- Batch normalization support
- Unit tests cover detection, normalization, conversions

Addresses Simon's feedback on hardcoded lists + Mark's requirement for
clean, domain-aware outputs for AI agents.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant