Roadmap
Roadmap — priorities for discussion
- 7 workstreams
- 19 prototypes · 13 files
- Vision — not production
Two lanes. Ordered product expansion takes Command Intelligence from Billing, then Dispatch, then Sales and Supply. Parallel foundations keep answer quality and release notes moving at the same time. Prototypes below still explore how a capability could look; they are vision, not a commitment.
Active priorities
The first three are the ordered product epics. Feedback, release notes, and automatic agent selection run in parallel. The last lane is open pull requests that do not change that order. Each card links its CXAI epic(s) and any prototype on this page that explores it.
1. Billing Agent MVP
Priority 1CXAI-2Draft-autonomy billing help first: quote matching (B1), then exception tagging (B2) and price-gap resolution (B3) behind human confirm. B2/B3 wait on the human-approval UI (CXAI-1). Billing data readiness is confirmed for a company before the capability is turned on.
Job. When a bill does not match the quote, I want a draft of the match and the exception, so I can confirm it before anything is posted.
Expected impact. A billing clerk reviews a proposed match or tag instead of hunting the mismatch. Nothing posts until a person confirms. This is not in production.
Foundation: production
Explored by: Entity + plan confirm · Permission gate
2. Dispatch Agent MVP
Priority 2CXAI-107Draft order cards and same-day mutations from contractor field communication (SMS today; voice and images later on the same schema). Dispatcher confirms before any write. Bulk cancel remains find-and-list only — Dispatch has no bulk order-edit API. Truck autopilot stays out of this MVP.
Job. When a field message changes today's orders, I want a draft of that change, so I can confirm it before Dispatch writes anything.
Expected impact. The dispatcher confirms one order change at a time. Bulk cancel stays a list. This is not in production.
Foundation: production
Explored by: Entity + plan confirm · Autonomy dial
3. Sales and Supply Analyst MVP
Priority 3CXAI-108Move Analyst into the next Connex apps: Sales and Quoting (cds-connex-sales-quote-exp, Jobs as CRM) and Material Supply (cds-connex-supply-exp). Path is warehouse views → table-manifest → application-scoped terminology → scoped Analyst config. Not a production orchestrator (X4 remains absent).
Job. When I am in Sales or Supply, I want to ask the same kind of question I ask in Dispatch, so I can see that work without leaving the app.
Expected impact. Answers would stay in the app you are in, grounded in that app's data. This is not a cross-app orchestrator, and it is not in production.
Foundation: production
Explored by: Prompt stack map · Sources / citations
Feedback triage & response loop
ParallelCXAI-119CXAI-143Close the answer-quality loop while the product epics move. Export of flagged conversations with the question behind them is on develop (CXAI-240) and is not in the 20 August production cut. Still open: notify the team when negative feedback lands (CXAI-238). CXAI-211 is in review on cds-ai-service #325, which persists the submitter and requires a resolution note; the notice back to that person waits on it, including connex-cds #117. A weekly Warehouse Analyst review email (CXAI-256, #269) is also in review. CXAI-119 holds eval and answer-quality triage; CXAI-143 is the Analyst post-MVP container for the notify path.
Job. When an answer is wrong, I want the question and the reply kept together, so the fix starts from what I asked.
Expected impact. A flagged conversation can be exported with the question behind it. You are not yet told when that flag is resolved.
Foundation: production
Explored by: Feedback to eval triage · Feedback resolved notify · Correction loop
Release-note workflow & agent
ParallelCXAI-131CXAI-45Platform release notes: Jira as source of truth, AI classifier for customer-facing drafts, publish through cds-support, entitlement-filtered browse in Connex (CXAI-131). cds-ai-service #330 (CXAI-243) is in review and adds draft generation and translation endpoints. The release-note service (CXAI-244) is a separate open pull request and is not on develop. Natural-language Q&A grounded in published notes (CXAI-45) comes after that. No production release-note agent has shipped.
Job. When something I use has changed, I want a note that says what changed and what I should do, so I do not have to ask support.
Expected impact. A published note would carry what changed, why, and the impact. No release-note agent is in production. This classifier decides which changes customers should read. It is separate from the routing classifier below.
Backlog — not yet built
No prototype yet — backlog only.
Automatic agent selection
ParallelCXAI-290CXAI-299Command Router chooses the specialist before a model runs. Product, screen, and keyword rules go first. A classifier runs only when those rules are not confident, and an unclear question falls back instead of guessing. That router is on develop (CXAI-290), and Conductor planning reuses it (CXAI-301). Using it from the side chat, so a person does not pick an agent, is still open (CXAI-299). This is not Command Conductor, which only delegates after someone has already chosen Conductor. It is not in the 20 August production cut.
Job. When I ask a question without choosing an agent, I want Command Intelligence to select the right specialist, so I do not have to know how the agents are split.
Expected impact. One entry point could route to the right specialist and record why. The router is on develop, not in production. The side-chat experience is still open.
Foundation: dev
No prototype on this page.
In review
Open pull requestsThese are open on cds-ai-service and do not reorder the epics above. None of them are merged. Plant material usage for the Dispatch Analyst (CXAI-298, #315). A standalone Command Intelligence chat owned by the AI service (CXAI-261, #297). Product-doc knowledge search (CXAI-295, #334, draft). An API-token gate for external HTTP MCP (CXAI-250, #292, draft). Side-chat automatic selection is on the automatic agent selection lane (CXAI-299), not here. Compare-verdict scoring (CXAI-320) merged to develop on 28 September and is no longer in review. Cloud Agent setup, CI, and RPMS workflow pulls are engineering only and stay off this page.
Job. When later Analyst work is still in review, I want it kept apart from the product order, so an open pull request is not a commitment.
Expected impact. None of this is available. It does not change the order of Billing, Dispatch, then Sales and Supply.
Backlog — not yet built
No prototype yet — backlog only.
Orient & show
How the user enters Command Intelligence, and how analysis appears without defaulting to chat.
CIA onboarding
OrientFirst-run tour versus explore, a role pick, and how Command Intelligence works. The opt-in hero, four-step tour, and replay are on develop (CXAI-94 through CXAI-97) and are not in the 20 August production cut. Personalized workspace stats (CXAI-98) and a dispatch content pack (CXAI-99) are still open.
Job. When I open Command Intelligence for the first time, I want a short tour, so I can ask a real question without a training deck.
Expected impact. You could replay the tour later. Personalized stats and a dispatch content pack are not part of this yet.
No audited foundation
Owns: onboarding, persona framing
Not: permissions-at-act-time, charts, schedules
Inline analyst pulse
ShowPulse on a Dispatch list, expand, then an optional Ask follow-up drawer.
Job. When I am on a Dispatch list, I want a short read of what is unusual, so I can expand it only if I need to ask more.
Expected impact. The list could show a pulse without opening a full chat. This is not in production.
Foundation: dev
Owns: domain-screen pulse, expand, slim follow-up
Not: full chat shell, chart archetypes
Sources / citations
ShowShipped 2026-08-05 →Where did this number come from? Drill through to the source row.
Job. When an answer gives me a number, I want the records behind it, so I can open one and check.
Expected impact. Cited names open in Dispatch. That part shipped on 5 August. A deeper drill to the source row is still a prototype.
Foundation: dev
Owns: citation chips, evidence cards, source drill
Not: entity disambiguation, plan acts
Chart archetypes
ShowShipped 2026-08-05 →Curated chart shapes — line, area, column, bar, scatter, pie, donut — with KPIs, min/max, average, and a JSON inspector. The archetype set and the chart type menu are in production; the KPI band, the inspector, and the visual polish are still prototype.
Job. When I ask for a chart, I want a shape I already know how to read, so I can see the trend without building the visual.
Expected impact. The chart shapes and the type menu are in production. The KPI band and the inspector are still a prototype.
Foundation: production
Owns: archetype vocabulary, chart type menu, snapshot vs live
Not: saving a widget, citations, prompt composition
Show the numbers
ShowX2. A claim with the ranked evidence table underneath it, so a number can be traced to its rows. The field map is builder-only, not a product CTA.
Job. When I am given a claim, I want the ranked rows under it, so I can see which records made the number.
Expected impact. Expected only. The field map is not a button in the product.
Foundation: dev
Owns: claim plus ranked evidence, manifest field map
Not: chart archetypes, dashboard persistence
Persist
Make a good question durable — and say where the answer should land.
Repeatable answers
PersistSave a question, reach it from the message box, confirm a schedule in chat, then manage schedules and ask about them. Saving a prompt and confirming a schedule in chat are on develop (CXAI-297, CXAI-300) and are not in the 20 August production cut. Listing, pausing, and deleting your own schedules is the open draft cds-ai-service #335, with connex-cds #120. Asking the assistant to change or cancel a schedule is still open.
Job. When I ask the same question every morning, I want to save it and send it on a schedule, so I do not retype it.
Expected impact. Saving a question and confirming a schedule are in the next candidate, not in the 20 August production release. Managing that list is still in review.
Foundation: dev
Owns: save / slash / schedule UI / management lanes
Not: post-send entity resolve, delivery channel confirm
Delivery confirm
PersistWhere should this land — in-app, email, or Teams — before the schedule locks.
Job. When a schedule is about to be created, I want to choose where it lands, so the report reaches the channel I actually read.
Expected impact. Expected only. Choosing in-app, email, or Teams is not in production.
No audited foundation
Owns: channel picker, preference vs override
Not: cadence builder, entity grounding
Chart → dashboard widget
PersistAn add-to-dashboard wizard with an explicit confirm-the-figures gate before save, snapshot versus live-gap widgets, and widget provenance. Nothing persists without human verification.
Job. When a chart is right, I want it on a dashboard, so I can see it again without asking.
Expected impact. Expected only. Nothing is saved until a person confirms the figures.
No audited foundation
Owns: add-to-dashboard flow, confirm-numbers gate, widget provenance
Not: chart archetypes themselves, scheduling, delivery channels
Ground & act
Confirm who and what, then what runs — with role teeth and how much autonomy next time.
Entity + plan confirm
Ground / actResolve free-text names, then confirm the act before it executes.
Job. When I name a customer or an order in plain language, I want the match confirmed before a change runs, so the wrong record is not updated.
Expected impact. Expected only. A write still waits for a person.
Foundation: production
Owns: EntityResolver, PlanConfirm write-gate
Not: post-facto correction, autonomy dial, role locks
Permission gate
ActRole meets acts: draft a credit, do not post it. A write-gate with teeth.
Job. When my role cannot post a change, I want that step locked, so I can draft it without posting it.
Expected impact. Expected only. The role would decide which steps are available.
Foundation: production
Owns: allowed vs locked steps, request approval
Not: first-run persona onboarding, full plan authoring
Autonomy dial
ActSuggest, then confirm each, then auto for this job type on the next similar request.
Job. When I keep confirming the same kind of change, I want the next similar one to need less confirmation, so routine work moves without skipping the first check.
Expected impact. Expected only. Suggest, then confirm, then auto is not in production.
No audited foundation
Owns: autonomy level, scope, per-act chips
Not: first plan confirm UI, entity grounding
Correction loop
CorrectWrong record after the fact, save the preference, and the next ask grounds correctly.
Job. When an answer used the wrong record, I want to correct it once, so the next question uses the record I meant.
Expected impact. Expected only. A correction is not yet remembered.
No audited foundation
Owns: post-answer correction, preference map
Not: initial EntityResolver / PlanConfirm
Attached context simulator
GroundScope chips change the question, the answer, and the chrome around it. The inspector shows what context was attached and the query plan it implies.
Job. When I change the board in front of me, I want the question to follow that scope, so the answer is about that work.
Expected impact. The open record already travels with the question. The inspector that shows what was attached is still a prototype.
Foundation: dev
Owns: scope chips, attached-context inspector, implied query plan
Not: entity disambiguation, write-gates
Config-driven analyst workspace
Act · future conceptChat beside a client-rendered task UI. The Analyst picks a constrained configuration; trusted components render the same result set as a grid or a map, or stage a correction for review. Three layouts to compare.
Job. When the answer is a list of records, I want a task view beside the chat, so I can inspect them without leaving the conversation.
Expected impact. Expected only. This is not a shipped screen, and it does not write.
Foundation: production
Owns: constrained UI config, see / map / inspect / fix lanes, many-record map surface, staged correction
Not: chart archetypes, dashboard widgets, real writes, live truck tracking, the shipped single-location vehicle card
Evaluate & improve
Turn answer failures into durable eval coverage. Sibling to the correction loop: that prototype captures the user's correction, this console operationalizes the signal.
Feedback to eval triage
EvaluateTriage queue, suite board, and CI run view grounded in capture hooks. The case is durable; the ticket is transient.
Job. When the same kind of wrong answer keeps happening, I want those cases grouped, so the fix outlives any one ticket.
Expected impact. Expected for the people improving the Analyst. This is not a customer screen.
Foundation: production
Owns: fix-class routing, failing-accepted commit, aging, layered run
Not: in-product correction UX, entity resolution, real CI or warehouse
Feedback resolved notify
EvaluateA reviewer resolves the feedback; the person who raised it gets a confirmation that names the answer — no re-run.
Job. When I flag an answer, I want to hear when it is resolved, so I know the reply I saw was addressed.
Expected impact. Expected only. That notice does not send yet.
Foundation: production
Owns: resolution state and note, notification return path
Not: eval triage console, ticket workflow, re-asking the question
Prompt stack map
EvaluateWhat actually composes a prompt, in order: system, skill pack, terminology, table manifest, schema — with the real source documents embedded.
Job. When an answer is off, I want to see which instructions produced it, so the correction hits the right layer.
Expected impact. Expected for people maintaining the Analyst. This is not a customer screen.
Foundation: production
Owns: compose order, embedded source docs
Not: eval triage, answer correction
Decided against
Kept demoable for contrast. These directions were ruled out; the card says why and what replaced them.
Open list in app
RejectedOpening an existing app list pre-filtered to an Analyst result set. Ruled out: those screens were not built to accept inbound records or filter state, and changing them depends on other teams. Replaced by the config-driven analyst workspace.
Job. When an answer is a list, I wanted that list to open in the existing app screen, already filtered.
Expected impact. None. Those screens cannot accept a filtered set from the Analyst. A task view beside the chat replaced this direction.
No audited foundation
Owns: the rejected handoff, kept for comparison
Not: a direction we are pursuing