Skip to content

App: replace Agent Evaluation and Leaderboards with one Agents page - #184

Open
Keith McGrane (Keithland89) wants to merge 1 commit into
mainfrom
keithmcgrane-microsoft-agents-page
Open

Keith McGrane (Keithland89) wants to merge 1 commit into
mainfrom
keithmcgrane-microsoft-agents-page

Conversation

@Keithland89

@Keithland89 Keith McGrane (Keithland89) commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The Analytics Hub app keeps its current design. The Agent Evaluation and Leaderboards pages are removed, and one Agents page replaces them, as the design review recommended.

Agents page

The Agents page (Value Lens model, with every existing filter):

  • Headline cards:
    • agents in use against registered;
    • people using agents and their share of active users;
    • agent sessions and sessions per agent user;
    • sessions per person per week.
  • People using agents, weekly: distinct people each week.
  • People by agent type: shown only when the agent registry is loaded.
  • Agents table:
    • the top 200 rows from the existing TOPN 1,000 query (agentLeaderboard), sorted by People, then Sessions;
    • columns for type, status, owner, people, sessions, sessions per person and last active;
    • search, and Export of up to 1,000 rows.
  • Row detail: a row opens the agent's details: weekly use, its top organisations, and Open in Agent Evaluator ↗ when the Agent Evaluator model is connected.
    • The link opens the Agent Evaluator report whenever the app knows of one (an optional reportId on the ae entry in the runtime config, kept only when it's a GUID), and otherwise the model.
    • Fabric works as it does today, linking to the model.
    • On Azure, the report arrives in the follow-up installer PR Installer: publish the Agent Evaluator report on Azure #185, which publishes the Agent Evaluator report and passes its reportId to the app. Both PRs should merge in the same release.

Other changes:

  • Adoption: the top 1%, 5% and 25% session concentration (leaderboard-concentration) moves here, under the weekly trend, with a one-line headline.
  • Ask, the Azure Ask catalogue (azure/web/src/ask.js), the installer's page labels and the data agent's text: these now refer to the Agents page.
  • Agent Evaluator: the installer's opt-in step is unchanged, and Agent Evaluator stays its own report. The app runs no queries on the ae model; it only links to it.

Not taken from the review, as Keith asked: no filter banner, no page merges, and no palette or Assumptions changes.

Scope

Parts affected:

  • App: app/src.
  • Azure web: the Ask catalogue text only.
  • Installer: labels and text only, in steps/app.js and transform/data-agent.js.
  • Docs.

There are no Fabric, Azure infrastructure, job, core or Power BI model changes.

Source contracts, optional inputs, install record or deployed item names changed:

  • Removed queries: agent-evaluation/*, evaluator-freshness and the leaderboard page queries.
  • New queries: agents/agent-weekly, agent-types, agent-trend, agent-orgs and agent-detail. They use the model's existing measures at the grain each view needs, with no raw-row pulls.
  • Kept:
    • agentUsage, for Ask;
    • the agentLeaderboard and leaderboard-cohorts query names;
    • the Spotlight columns in the DAX, though the UI no longer shows them.
  • Runtime config: semanticModels.<alias> may now carry an optional reportId. The app ignores it unless it's a GUID. Nothing writes it yet.
  • Install record: the ae alias and the deployed item names are unchanged.

Validation

  • Ran python -B -m pytest tests -q and recorded results below.
  • Ran npm test (and npm run typecheck for the installer) in each changed Node project.
  • Updated directly related documentation and checked changed links.
  • No credentials, tenant exports, prompts or customer names are included.
  • If .pbit files changed, documented the rebuild method and Desktop refresh / visual checks. (No .pbit changes.)

Results, skipped checks and limitations:

  • App:
    • npx tsc -b: passed.
    • npm test: 3,432 of 3,433 passed. One test, report-export.spec.ts > deck > builds a PowerPoint file, timed out at 6.5 s while the installer suite ran in parallel. Re-run alone, npx vitest run src/lib/report-export.spec.ts passed 16/16. A separate earlier full run passed 3,433/3,433.
    • npm run lint: 0 errors and 2 warnings, the same as main.
    • npm run build:fabric: passed.
  • Installer:
    • npm run typecheck: passed.
    • node --test: 1,075 of 1,076 passed. The one failure, script: generated Windows commands run…, happens because this machine's PowerShell execution policy blocks the generated script. It's environmental, and I didn't bypass the policy.
  • Azure web: node --test "test/**/*.test.js": 84 of 84 passed.
  • pytest: python -B -m pytest tests/test_docs.py tests/test_executive_query_measures.py tests/test_parked_ideas.py tests/test_dax_var_names.py tests/test_dax_sort_by_columns.py tests/test_consolidated_release.py tests/test_agent_evaluator.py tests/test_azure_agent_evaluator.py -q: 294 passed. These are the files that read the app queries, docs and Agent Evaluator. The branch changes no Python. The full python -B -m pytest tests -q run: 1258 passed, 5 skipped (57 min).
  • Parity: every figure comes from the model's existing DAX measures ([Active Agent Users], [% Active Users Using Agents], [Observed Agent Sessions], [Observed Agent Sessions per User], [Observed Agent Sessions per User per Week], [Agent Registry Records] and the existing leaderboard and concentration queries). The query specs pin each query's DAX and column mapping, and the fixtures cover the row shapes. Concentration percentages were checked by hand against the harness inputs (1,840 / 9,600 = 19%; 3,910 / 9,600 = 41%; 7,020 / 9,600 = 73%). I haven't run this against a live model; doing so means deploying, which needs Keith's OK.
  • Visual QA, against a local harness with fixture data:
    • Desktop, 1440 px, light and dark: Agents and Adoption render correctly. Row detail works, and the Agent Evaluator link opens /groups/<ws>/reports/<id> when a reportId is set.
    • 390 px: the existing Analytics Hub shell has no narrow layout. The sidebar stays open, and that is unchanged on main. With the content area at 375–390 px, the Agents cards, charts and table and the Adoption concentration all stack with no horizontal overflow. The table scrolls inside its frame, like the app's other tables.
  • Not deployed: nothing was deployed to a live workspace.

Compatibility

Repair or change redeploys the app with the new pages, and nothing else changes:

  • Install record: the ae alias and its Agent Evaluator model stay as they are.
  • Saved links: the app keeps no page URLs or stored page state, so nothing can still point at the removed pages.
  • Ask: the catalogue no longer lists the removed Agent Evaluation pages.

Migration:

  • No migration is needed.
  • The ValueLens Power BI templates need no matching change.
  • Azure: until the follow-up installer PR Installer: publish the Agent Evaluator report on Azure #185 lands, "Open in Agent Evaluator ↗" opens the Agent Evaluator model in Power BI there. Both PRs should merge in the same release.

Deliberately unchanged:

  • RLS, the query cache, viewer-group gating, the stale-build reload, and the Fabric and Azure hosting paths;
  • the Agent Evaluator installer step;
  • transcripts.py;
  • the Power BI report's own "Leaderboard" page. The glossary maps it to the app's Adoption page.

Analytics Hub keeps its current design. The Agent Evaluation and
Leaderboards pages, and their queries, are removed. One Agents page
replaces them: agents in use against registered, people using agents
weekly, people by agent type, and a searchable, exportable table of the
top 200 agents, sorted by people and then sessions. Each row opens the
agent's details, with an "Open in Agent Evaluator" link to the AE report
when the install names one, or to its model otherwise.

The top 1%, 5% and 25% session concentration moves to Adoption. Ask,
the Azure Ask catalogue, the installer labels and the docs follow the
change. The installer's opt-in Agent Evaluator step is unchanged.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant