Theospe opened a new pull request, #5110:
URL: https://github.com/apache/texera/pull/5110

   ### What changes were proposed in this PR?
   
   Closes #5109.
   
   #### Motivation
   
   Texera already lets users compose workflows, import workflow JSON, and 
inspect execution results, but hackathon demos still need a concise way to show 
what a workflow-powered domain app can look like after the pipeline exists. New 
users see the canvas first, while stakeholders often want the opposite view: a 
focused application surface that explains the workflow outcome, links back to 
the underlying DAG, and makes model decisions reviewable.
   
   This PR adds **Bet Pilot**, a self-contained dashboard prototype that 
presents a Valorant prop-bet analysis workflow as a polished Texera app. It 
uses stand-in data and imported-workflow ids today, but the UI shape 
demonstrates how Texera can host a specialized decision app on top of workflow 
outputs.
   
   #### Changes
   
   This PR ships three pieces that together turn workflow output into a 
product-style dashboard. A user can open Bet Pilot from the dashboard, inspect 
the day's candidate lines, drill into model reasoning, and jump back to the 
Texera workflows that produce the data.
   
   1. Bet Pilot dashboard app shell
   
   - Adds a new authenticated dashboard route under `Dashboard > Apps > Bet 
Pilot`.
   - Adds a right-side Bet Pilot navigation shell with Today, Lines Input, 
Model Health, Scouting Report, Bankroll, Calibration, and Glossary screens.
   - Adds a dashboard theme toggle that persists the selected dark/light mode 
and guards storage access for test/runtime environments without `localStorage`.
   
   2. Workflow-backed decision screens
   
   - Today's Bets explains skipped and needs-review lines with short 
user-facing reasoning.
   - Lines Input supports pasted lines and staged image filenames, then 
validates parsed player/line/direction rows before the workflow handoff.
   - Scouting Report shows recent matches, map scenarios, projection deltas, 
confidence, Kelly sizing, and plain-English model reasoning.
   - Model Health, Bankroll, and Calibration screens show calibration bands, 
coverage, CLV slices, bankroll trend, hit rate, and refit history.
   
   3. Workflow previews and tests
   
   - Adds a reusable workflow preview component that loads imported Texera 
workflow JSON and renders a compact DAG preview in the dashboard.
   - Adds a Bet Pilot service contract with stand-in data and workflow-id 
mapping so the current prototype can be replaced by real workflow calls later.
   - Adds focused tests for workflow-link generation, daily-pick service data, 
and manual line parsing positive/negative/reset behavior.
   
   #### Demos
   
   Screenshots/GIFs should be added after running the full stack with the 
imported demo workflows:
   
   | Demo | What to capture |
   | --- | --- |
   | Bet Pilot nav | Dashboard Apps menu and Bet Pilot shell. |
   | Today's bets | Candidate lines with skip/review reasoning and workflow 
preview. |
   | Lines input | Manual line validation plus staged screenshot filenames. |
   | Scouting report | Projection, scenarios, recent match table, and reasoning 
panel. |
   | Model health / bankroll | Calibration and performance views. |
   
   #### Future improvements
   
   - Replace stand-in data in `BetPilotService` with real workflow execution 
results.
   - Replace hard-coded workflow ids with workspace/user-specific imported 
workflow lookup.
   - Add an execution trigger from Lines Input that posts parsed lines to the 
daily prediction workflow and polls for results.
   - Add screenshots/GIFs from a deployed hackathon demo environment once the 
backing workflows are imported.
   
   ### Any related issues, documentation, discussions?
   
   - Closes #5109
   - Related to https://github.com/apache/texera/discussions/5059
   
   ### How was this PR tested?
   
   ```bash
   cd frontend && yarn install
   cd frontend && yarn format:fix
   cd frontend && yarn lint
   cd frontend && yarn build:ci
   cd frontend && yarn nx test gui --watch=false 
--include=src/app/dashboard/component/user/bet-pilot/bet-pilot.service.spec.ts 
--include=src/app/dashboard/component/user/bet-pilot/screens/bp-lines-input.component.spec.ts
   cd frontend && yarn nx test gui --watch=false 
--include=src/app/dashboard/component/dashboard.component.spec.ts
   ```
   
   `yarn build:ci` passes with existing project warnings for Sass deprecations, 
unused `FormlyRepeatDndComponent` imports, and CommonJS optimization bailouts.
   
   I also ran full `cd frontend && yarn test:ci`; it reached the broader suite 
but failed in unrelated existing specs because this local test runtime reports 
`localStorage` as unavailable for AuthService/workspace tests. The Bet 
Pilot-focused specs and dashboard spec pass through the configured Nx runner.
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: OpenAI Codex (GPT-5)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to