Skip to content

fix: dynamic orchestrator status, fleet agent counts, and E2E test suite#283

Merged
toadkicker merged 9 commits intomainfrom
feat/b209-repeat-issue
Apr 13, 2026
Merged

fix: dynamic orchestrator status, fleet agent counts, and E2E test suite#283
toadkicker merged 9 commits intomainfrom
feat/b209-repeat-issue

Conversation

@toadkicker
Copy link
Copy Markdown
Contributor

Summary

  • Fix dynamic orchestrator status: Replaced hardcoded Active status with live get_orchestrator_status Tauri command response in fleet view; status now reflects real backend state
  • Fix fleet active agent count: Active badge now counts only compiled-source agents (always-available built-ins) rather than all agents; total badge shows the full count across all sources
  • Fix pap:// address bar suggestions: Added live: true to list_agents mock agents so build_catalog() indexes them — agents without live=true are silently filtered by serde default
  • Fix typed-block render flakiness: Increased submitAndAwaitTypedBlock timeout (8s→15s), capped CI Playwright workers at 4 to reduce WASM CPU contention, and added retries: 1 for residual timing variance
  • Fix E2E mock alignment: Updated canvas_plan_prompt handler (renamed from canvas_prompt), added 2 compiled-source agents, updated all fleet count / source badge / selector assertions to match current UI

Test plan

  • 155 passed, 32 skipped (live-mode), 0 failed on full E2E suite locally with CI=true 4-worker config
  • All typed-block schema templates verified (Movie, Book, WeatherForecast, GeoCoordinates, MusicRecording, SportsTeam, etc.)
  • pap:// autocomplete suggestions appear correctly when typing pap:// prefix
  • Fleet page shows correct ACTIVE (compiled) and TOTAL counts
  • Orchestrator status reflects backend response dynamically

🤖 Generated with Claude Code

Todd Baur and others added 9 commits April 7, 2026 12:28
Adds @media print styles so Ctrl+P / Save as PDF renders all 13 slides
as full-bleed landscape pages rather than a single clipped view:

- @page { size: landscape; margin: 0 } for edge-to-edge layout
- print-color-adjust: exact to preserve dark bg and brand colors
- Resets the horizontal scroll shell (overflow, transform) so all
  slides are visible to the print engine
- page-break-after: always on each .s for one slide per page
- Hides nav buttons, dot indicators, and slide counter

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Overrides CSS variables inside @media print so all slides render with
a white background and dark text instead of the dark-mode palette:

- --bg / slide backgrounds: white (#fff)
- --surface: light lavender-grey for cards and rows
- --text: near-black, --muted / --faint darkened for contrast
- --purple / --violet: slightly deeper (#5b4bd4) for legibility on white
- Card elements (sys-node, biz-row, ba-items, flow-box) re-skinned
- Decorative radial glows hidden (they don't translate to paper)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds @media print CSS to docs/pitch-deck.html so Ctrl+P / Save as PDF
renders all 13 slides as full-bleed landscape pages with a clean
light-mode palette instead of the dark screen theme.

- @page { size: landscape; margin: 0 } for edge-to-edge layout
- CSS variable overrides: white backgrounds, dark text, readable purple
- page-break-after: always on each slide — one slide per page
- Cards, surfaces, and highlight boxes re-skinned for print
- Decorative radial glows hidden
- Nav chrome hidden in print

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Replace hardcoded "ACTIVE" string in PAP_ORCHESTRATOR settings section
  with a reactive closure driven by orchestrator.status signal; maps
  Ready/Unconfigured → ACTIVE (green), Downloading → LOADING (amber),
  Disconnected → OFFLINE (gray)
- Filter ACTIVE AGENTS grid in fleet page to only render compiled agents,
  so the displayed list matches the "N ACTIVE / N ONLINE" count badges
  instead of showing all 309 catalog agents under the active section

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…gnment

- tauri-mock: add `live: true` to list_agents mock agents so build_catalog()
  indexes them for pap:// topbar suggestions (agents without live=true are
  filtered by the Rust serde default)
- tauri-mock: add canvas_plan_prompt handler matching the current Tauri IPC
  command name (was canvas_prompt); add receipt sentinel to block content so
  render_typed_content unwraps the result field correctly
- tauri-mock: add 2 compiled-source agents (Web Page Reader, On-Device AI)
  to align with the fleet page's ACTIVE AGENTS grid expectations
- agent-prompts.spec.ts: increase submitAndAwaitTypedBlock timeout 8s→15s
  and fix hardcoded canvas lifecycle timeout to match; update source/command
  name assertions to reflect current mock shape
- app.spec.ts: increase pap:// suggestion timeout 5s→10s; update empty-state
  and settings selectors to match current UI (.canvas-stream, agent-tile,
  INFERENCE_SUBSTRATE); remove setup-prompt test that no longer applies
- agents.spec.ts: update fleet counts and source badge assertions to match
  the 5-agent (2 compiled + 2 catalog + 1 user_created) mock shape
- templates.spec.ts: fix schema input placeholder selector
  ("FlightReservation" not "Schema")
- playwright.config.ts: retries 0→1 for residual WASM timing flakiness;
  cap CI workers at 4 to reduce CPU contention

Result: 155 passed, 32 skipped (live-mode tests), 0 failed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Benchmark Regression Report

PAP Protocol Benchmark Regression Check
========================================
Baseline: .bench-baseline/baseline.json
Threshold: 30%

  ed25519_keypair_generation                19.8 µs  (baseline: 19.7 µs, +0.4%)  [ok]
  did_key_derivation                         1.5 µs  (baseline: 1.5 µs, +1.8%)  [ok]
  mandate_create_sign                       23.9 µs  (baseline: 24.3 µs, -1.9%)  [ok]
  mandate_chain_verify_depth3              126.4 µs  (baseline: 125.4 µs, +0.7%)  [ok]
  sd_jwt_issue_5claims                      27.9 µs  (baseline: 27.9 µs, -0.1%)  [ok]
  sd_jwt_verify_disclose_3of5               44.1 µs  (baseline: 44.4 µs, -0.4%)  [ok]
  session_open_full_lifecycle              108.6 µs  (baseline: 108.5 µs, +0.0%)  [ok]
  receipt_create_cosign                     48.2 µs  (baseline: 47.7 µs, +0.9%)  [ok]
  federation_announce_local                 56.2 µs  (baseline: 59.1 µs, -4.8%)  [ok]

All benchmarks within 30% of baseline.

Threshold: 10% regression vs baseline from main

@toadkicker toadkicker merged commit 6cd844f into main Apr 13, 2026
24 checks passed
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