Native QQQ reports are never narrated; only chat and client-workflow reports get model narration #16

Open
opened 2026-10-01 22:50:45 +00:00 by KofTwentyTwo · 1 comment
KofTwentyTwo commented 2026-10-01 22:50:45 +00:00 (Migrated from github.com)

Summary

ReportProcesses.java:35 and CarlMetadata.java:163-166 pass a null narrator, so reports generated from the QQQ administration UI persist with narration_state = NOT_REQUESTED. Narration is only attempted on the conversation path (CarlConversation.java:238-246,344-354). The failure path (FocusedReports.java:246-256, CarlService.generateReport:409-421) is correct, but a user of the admin UI never gets narrative text even when a model is configured.

Suggested resolution

Wire the admission-capped runtime into the native report processes with the same sanitized-facts narration and FAILED fallback, or state in the UI that native reports are facts only.

Priority rationale

P2: feature gap between the two entry points.


Filed from the 2026-10-01 real-versus-fake audit of Carl (branch feature/cicd-liquibase-gitops, HEAD 5414d7a, main 1b334d1). Four read-only reviews covered domain and services, QQQ metadata and data model, tests/CI/evidence, and docs/integrations. A local offline build of a Carl copy against the installed foundation 0.5.0-SNAPSHOT is in progress; its result will be added as a comment. Existing issues #3, #4 and #5 (real Monarch accounts, Authentik with real data, CI/CD with Liquibase and ArgoCD) are referenced rather than duplicated.

## Summary `ReportProcesses.java:35` and `CarlMetadata.java:163-166` pass a `null` narrator, so reports generated from the QQQ administration UI persist with `narration_state = NOT_REQUESTED`. Narration is only attempted on the conversation path (`CarlConversation.java:238-246,344-354`). The failure path (`FocusedReports.java:246-256`, `CarlService.generateReport:409-421`) is correct, but a user of the admin UI never gets narrative text even when a model is configured. ## Suggested resolution Wire the admission-capped runtime into the native report processes with the same sanitized-facts narration and FAILED fallback, or state in the UI that native reports are facts only. ## Priority rationale P2: feature gap between the two entry points. --- Filed from the 2026-10-01 real-versus-fake audit of Carl (branch `feature/cicd-liquibase-gitops`, HEAD `5414d7a`, main `1b334d1`). Four read-only reviews covered domain and services, QQQ metadata and data model, tests/CI/evidence, and docs/integrations. A local offline build of a Carl copy against the installed foundation 0.5.0-SNAPSHOT is in progress; its result will be added as a comment. Existing issues #3, #4 and #5 (real Monarch accounts, Authentik with real data, CI/CD with Liquibase and ArgoCD) are referenced rather than duplicated.
KofTwentyTwo commented 2026-10-04 13:22:06 +00:00 (Migrated from github.com)

Deferred by owner decision (2026-10-04). Leaving this open; it is not scheduled for current work.

Deferred by owner decision (2026-10-04). Leaving this open; it is not scheduled for current work.
This repo is archived. You cannot comment on issues.
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/carl#16