Skip to content

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

Closed
82deutschmark wants to merge 5 commits into
PlanExeOrg:mainfrom
VoynichLabs:feature/domain-normalizer
Closed

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

Conversation

@82deutschmark

Copy link
Copy Markdown
Collaborator

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.
@82deutschmark

Copy link
Copy Markdown
Collaborator Author

Closing this PR per Simon's review. The approach has fundamental issues that need proper architecture first:

  1. Hardcoded currency rates — currency conversion needs to be a proper service with live/cached exchange rates, not hardcoded values
  2. Hardcoded CURRENCY_UNITS — PlanExe works with all currencies the LLM knows about, not a handful
  3. Fragile path handlingDOMAIN_PROFILES_PATH breaks if files move
  4. Uppercase LOGGER — inconsistent with Python conventions

This feature is being split into prerequisite components, each as a separate PR:

  • Currency exchange rate service (proposal PR incoming)
  • Resource/cost data service (proposal PR incoming)
  • Domain profile system (future PR)
  • Quantified assumptions extractor (future PR)
  • Domain-aware normalizer (depends on all above)

Each component will be submitted as a focused, reviewable PR. The proposals will be submitted to docs/proposals/ for review before implementation.

82deutschmark added a commit to VoynichLabs/PlanExe2026 that referenced this pull request Mar 6, 2026
Analyzes three approaches (Python module, Docker service, MCP tool) with
pros/cons for each. Recommends starting with a Python module with local
cache, evolving to hybrid module+MCP. Replaces hardcoded rates from PR PlanExeOrg#72.
82deutschmark added a commit to VoynichLabs/PlanExe2026 that referenced this pull request Mar 6, 2026
Designs a tiered data architecture for real-world cost lookups:
- Tier 1: Authoritative sources (ILO, World Bank, BLS)
- Tier 2: Interpolation (geographic, PPP adjustment, economic similarity)
- Tier 3: LLM-assisted estimation with confidence scoring

Includes data model, interpolation strategy, phased implementation plan,
and integration points with PlanExe pipeline. Replaces hardcoded cost
assumptions from PR PlanExeOrg#72.
82deutschmark added a commit to VoynichLabs/PlanExe2026 that referenced this pull request Mar 6, 2026
Analyzes three approaches (Python module, Docker service, MCP tool) with
pros/cons for each. Recommends starting with a Python module with local
cache, evolving to hybrid module+MCP. Replaces hardcoded rates from PR PlanExeOrg#72.
82deutschmark added a commit to VoynichLabs/PlanExe2026 that referenced this pull request Mar 6, 2026
… intent)

Documents the original vision of PR PlanExeOrg#72 (domain detection, currency
normalization, unit conversion, confidence calibration, Fermi sanity
checks), redesigned to build on the prerequisite Currency Service
(PR PlanExeOrg#147) and Resource/Cost Data (PR PlanExeOrg#146) proposals.

Split into 4 implementation phases, each as a separate future PR.
Addresses all review feedback from PR PlanExeOrg#72 (no hardcoded rates, no
fragile paths, standard logger convention, configurable profiles).
82deutschmark added a commit to VoynichLabs/PlanExe2026 that referenced this pull request Mar 6, 2026
… intent)

Comprehensive design document covering:
- Domain detection and assumption extraction
- Fermi sanity checking against real-world benchmarks
- Currency/unit normalization via Currency Service
- Confidence calibration per domain
- Ethical framework: fair wage floors, workplace safety standards,
  child labor detection, working conditions assessment

Built on Currency Service (PR PlanExeOrg#147) and Resource/Cost Data (PR PlanExeOrg#146).
Split into 4 phased implementation PRs. Addresses all PR PlanExeOrg#72 feedback.
82deutschmark added a commit to VoynichLabs/PlanExe2026 that referenced this pull request Mar 6, 2026
… intent)

Comprehensive design document covering:
- Domain detection and assumption extraction
- Fermi sanity checking against real-world benchmarks
- Currency/unit normalization via Currency Service
- Confidence calibration per domain
- Ethical framework: fair wage floors, workplace safety standards,
  child labor detection, working conditions assessment

Built on Currency Service (PR PlanExeOrg#147) and Resource/Cost Data (PR PlanExeOrg#146).
Split into 4 phased implementation PRs. Addresses all PR PlanExeOrg#72 feedback.
82deutschmark added a commit to VoynichLabs/PlanExe2026 that referenced this pull request Mar 6, 2026
… intent)

Comprehensive design document covering:
- Domain detection and assumption extraction
- Fermi sanity checking against real-world benchmarks
- Currency/unit normalization via Currency Service
- Confidence calibration per domain
- Ethical framework: fair wage floors, workplace safety standards,
  child labor detection, working conditions assessment

Built on Currency Service (PR PlanExeOrg#147) and Resource/Cost Data (PR PlanExeOrg#146).
Split into 4 phased implementation PRs. Addresses all PR PlanExeOrg#72 feedback.
82deutschmark added a commit to VoynichLabs/PlanExe2026 that referenced this pull request Mar 6, 2026
… intent)

Comprehensive design document covering:
- Domain detection and assumption extraction
- Fermi sanity checking against real-world benchmarks
- Currency/unit normalization via Currency Service
- Confidence calibration per domain
- Ethical framework: fair wage floors, workplace safety standards,
  child labor detection, working conditions assessment

Built on Currency Service (PR PlanExeOrg#147) and Resource/Cost Data (PR PlanExeOrg#146).
Split into 4 phased implementation PRs. Addresses all PR PlanExeOrg#72 feedback.
82deutschmark added a commit to VoynichLabs/PlanExe2026 that referenced this pull request Mar 6, 2026
… intent)

Comprehensive design document covering:
- Domain detection and assumption extraction
- Fermi sanity checking against real-world benchmarks
- Currency/unit normalization via Currency Service
- Confidence calibration per domain
- Ethical framework: fair wage floors, workplace safety standards,
  child labor detection, working conditions assessment

Built on Currency Service (PR PlanExeOrg#147) and Resource/Cost Data (PR PlanExeOrg#146).
Split into 4 phased implementation PRs. Addresses all PR PlanExeOrg#72 feedback.
82deutschmark added a commit to VoynichLabs/PlanExe2026 that referenced this pull request Mar 6, 2026
… intent)

Comprehensive design document covering:
- Domain detection and assumption extraction
- Fermi sanity checking against real-world benchmarks
- Currency/unit normalization via Currency Service
- Confidence calibration per domain
- Ethical framework: fair wage floors, workplace safety standards,
  child labor detection, working conditions assessment

Built on Currency Service (PR PlanExeOrg#147) and Resource/Cost Data (PR PlanExeOrg#146).
Split into 4 phased implementation PRs. Addresses all PR PlanExeOrg#72 feedback.
82deutschmark added a commit to VoynichLabs/PlanExe2026 that referenced this pull request Mar 6, 2026
… intent)

Comprehensive design document covering:
- Domain detection and assumption extraction
- Fermi sanity checking against real-world benchmarks
- Currency/unit normalization via Currency Service
- Confidence calibration per domain
- Ethical framework: fair wage floors, workplace safety standards,
  child labor detection, working conditions assessment

Built on Currency Service (PR PlanExeOrg#147) and Resource/Cost Data (PR PlanExeOrg#146).
Split into 4 phased implementation PRs. Addresses all PR PlanExeOrg#72 feedback.
neoneye added a commit that referenced this pull request Mar 6, 2026
…izer

proposal: Domain-aware assumption normalizer (captures PR #72 intent)
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