Summary
In `resonantforge/profiles/saas.py`, `domain_intents()` declares only a single intent value (`["bug_report"]`) for the `technical_issue` domain. Because `technical_issue` is the largest domain in the SaaS KB (18 chunks), every conversation in this domain carries the same intent — blocking any within-domain routing disambiguation scenario.
Observed behavior
All `technical_issue` conversations receive `intent = "bug_report"` regardless of which KB chunk is being exercised. Other domains (e.g. `billing`, `account_management`) have multiple intents.
Expected behavior
`domain_intents()` for `technical_issue` should declare multiple intent values aligned with the actual content in `resonantforge/kb/saas_content.py`. This would enable routing variation within the domain and improve corpus variety for `technical_issue` conversations.
Contributing
To contribute a fix:
- Read the `technical_issue` chunks in `resonantforge/kb/saas_content.py` to understand what content exists.
- Propose candidate intent values in a comment on this issue before opening a PR — the intent vocabulary should reflect the actual KB content, not hypothetical categories.
- Once candidates are agreed on, update `domain_intents()` in `resonantforge/profiles/saas.py` and add a test covering the new intents.
It would also be worth reviewing other domains for similar thin-vocabulary cases.
Summary
In `resonantforge/profiles/saas.py`, `domain_intents()` declares only a single intent value (`["bug_report"]`) for the `technical_issue` domain. Because `technical_issue` is the largest domain in the SaaS KB (18 chunks), every conversation in this domain carries the same intent — blocking any within-domain routing disambiguation scenario.
Observed behavior
All `technical_issue` conversations receive `intent = "bug_report"` regardless of which KB chunk is being exercised. Other domains (e.g. `billing`, `account_management`) have multiple intents.
Expected behavior
`domain_intents()` for `technical_issue` should declare multiple intent values aligned with the actual content in `resonantforge/kb/saas_content.py`. This would enable routing variation within the domain and improve corpus variety for `technical_issue` conversations.
Contributing
To contribute a fix:
It would also be worth reviewing other domains for similar thin-vocabulary cases.