Skip to content
This repository was archived by the owner on Apr 19, 2026. It is now read-only.
This repository was archived by the owner on Apr 19, 2026. It is now read-only.

Unify universal intent routing in Qomni demo responses #1

@condesi

Description

@condesi

The current Qomni demo is mixing multiple intent classes and falling back to engineering plan outputs when the user asks for benchmark, repeatability, adversarial, latency-stat, or meta-comparison questions.

Observed problem:

  • Calculation and validation queries are routed reasonably well.
  • Universal/meta queries are often incorrectly answered with the default plan_pump_sizing / Fire Pump NFPA 20 path.
  • This makes the demo feel non-universal, even when the UI claims benchmark/evidence/repeatability/adversarial behavior.

Expected behavior:
The router should classify and answer these intent families separately:

  1. calculation
  2. validation
  3. pareto
  4. benchmark
  5. repeatability
  6. adversarial
  7. latency_stats
  8. comparison/explanation

Examples currently misrouted:

  • "Muéstrame p50, p95 y p99 de esta consulta." -> should return latency percentiles, not a pump sizing result.
  • "Dime si el sistema entra en panic con 100,000 inputs inválidos." -> should return panic/crash metrics, not a normal engineering plan.
  • "¿Qué pasa si te doy NaN, infinito y valores negativos imposibles?" -> should return adversarial filtering behavior, valid_frac, throughput under attack, and panic count.
  • "Compara throughput equivalente vs speedup oficial del paper." -> should show methodology-separated benchmark comparison.
  • "¿Qué tan repetible es tu resultado si corro la misma consulta 100 veces?" -> should return repeatability statistics, not default NFPA output.

Recommended fix:

  • Add an explicit universal intent router layer before domain plan selection.
  • Route benchmark/repeatability/adversarial/latency-stat prompts to dedicated cards and data providers.
  • Prevent fallback to plan_pump_sizing unless the detected intent is actually engineering calculation.
  • Change card types by intent:
    • calculation -> VALIDATED / CALCULATED
    • validation -> VALIDATED
    • pareto -> PARETO_ANALYSIS
    • benchmark -> EVIDENCE / BENCHMARK
    • repeatability -> REPEATABILITY
    • adversarial -> ADVERSARIAL_RESULT
    • latency_stats -> LATENCY_STATS
    • meta comparison -> COMPARISON

Outcome:
This will make the demo truly universal and align visible responses with the user’s actual question, greatly improving credibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions