Skip to content

feat(tauri): generated panels + EvidenceState dashboard (rebased)#80

Merged
elasticdotventures merged 20 commits into
mainfrom
feat/dashboard-generated-panels-51-rebased
May 4, 2026
Merged

feat(tauri): generated panels + EvidenceState dashboard (rebased)#80
elasticdotventures merged 20 commits into
mainfrom
feat/dashboard-generated-panels-51-rebased

Conversation

@elasticdotventures
Copy link
Copy Markdown
Member

Rebased replacement for PR #78.

Original PR #78 (feat/dashboard-generated-panels-51) had merge conflicts with main after PR #76 and #77 merged. This is the same content rebased onto current main with all conflicts resolved.

Conflicts resolved during rebase:

  • .gitignore — merged both sides
  • AGENTS.md — kept chronological order (May 3 + May 4 entries)
  • Cargo.toml — accepted version 1.8.1
  • Cargo.lock — accepted main's version
  • PRD-6.md — accepted PR's ledgerr-tauri reference
  • evidence.rs — kept main's doc comment on TodayQueue
  • ledgerr-tauri/ui/* — accepted deletion (PR moves Tauri to ledgerr-host)

Closes #51.

Claude Sonnet (coordinator) and others added 19 commits May 4, 2026 02:02
Define PANELS array as single source of truth for all 5 panels
(Chat, Logs, Dashboard, Settings, Docs). buildUI() generates sidebar
buttons and panel divs from this array. panelTemplate() provides HTML
per panel id. cacheRefs() runs after DOM generation.

Adds Dashboard panel with evidence summary cards (blocked, ready,
exported, with_validation_issues), last action summary, next actions
list, and provider readiness status. Auto-refreshes on panel switch.

New Tauri commands: get_evidence_dashboard(), get_tx_provenance().
AppState extended with Arc<Mutex<EvidenceState>>.

Also: force-push guard installed (pre-push hook + AGENTS.md rule),
unused ProvenanceGap import removed in arc-kit-au.
…TOML

- scripts/tauri-build.ps1: pre-flight checks for cargo-tauri, builds
  ledgerr-tauri with --bundles msi, generates SHA256 hash, writes
  datum TOML at .b00t/datums/ledgerr-tauri.toml
- Justfile: wsl2-pwsh-tauri-build delegates to the script
- .b00t/datums/ledgerr-tauri.toml: auto-generated binary datum with
  version pinned to tauri-cli 2.11.0, includes sha256 and size_kb
…vation

- Rename crate from ledgerr-tauri to ledgrrr (directory, package name, binary)
- Update Cargo.toml workspace member, tauri.conf.json product/identifier/title
- Build script uses admin elevation (-Verb RunAs) for MSI install
- Datum TOML includes install path at C:\Program Files\ledgrrr\ledgrrr.exe
- Update references in AGENTS.md, PRD-6.md, Justfile, build script
…ktop host

- Move Tauri binary target into ledgerr-host as host-tauri (src/bin/tauri/)
- Remove standalone ledgrrr crate
- Tauri reuses ledgerr-host's EvidenceState, SettingsStore, ChatSettings, etc.
  directly without a separate dependency tree
- tauri.conf.json and build.rs gated behind cfg(windows) so WSL builds pass
- Update build script and datum path to host-tauri
- Slint remains as host-window binary but Tauri (host-tauri) is the primary host
Autorun mode captures JS errors and Tauri IPC status in the
countdown bar at the bottom of the window. Window closes after
5s regardless. This allows unattended debugging: launch, observe
telemetry in the bar, auto-exit.
…SLO trace

- harness: injects UUID via TAURI_TEST_UUID env var, launches binary,
  waits 10s, 3x redundant kill, captures stdout/stderr, writes SLO JSON
- signal path: Rust binary echoes TAURI_TEST_UUID to stderr on startup
- autorun: 5s countdown timer, telemetry dump in window, auto-exit
- SLO file: uuid_matched, signal_path_ok, watchdog_ok, duration_ms
- SIGNAL PATH PROVEN: UUID found in telemetry
- Footer countdown bar triggered by TAURI_TEST_KILL_DELAY env var
  (ms precision, updates every 200ms, window title shows remaining)
- Test harness captures full-screen PNG screenshot after countdown
- Screenshot base64-encoded to separate file for vision API
- SLO tracks: signal_path_ok, watchdog_ok, screenshot_ok
- New Tauri command: get_test_harness_config (reads env vars)
- Autorun window closes itself when countdown reaches 0
- scripts/tauri-vision-analyze.py: uv-run script that loads
  microsoft/Florence-2-base (0.23B), runs <MORE_DETAILED_CAPTURE>
  task, outputs JSON with caption, timings, device info
- Full pipeline: harness launches host-tauri -> countdown 8s ->
  screenshot -> vision analysis
- First run downloads PyTorch + CUDA (~2GB), cached afterwards
- Titlebar shows 'ledgrrr v{CARGO_PKG_VERSION}+b{TAURI_BUILD_NUMBER}'
- Build number injected via TAURI_BUILD_NUMBER env var from test harness
- Version is compile-time from Cargo, build number is runtime from harness
- New command: get_cargo_pkg_version (exposes version to JS)
- setup hook sets the title dynamically on webview creation
- scripts/tauri-test-loop.ps1: bumps .build_counter, injects TAURI_BUILD_NUMBER,
  builds host-tauri, runs harness, verifies DOM contains build number
- DOM dump and titlebar show 'v1.8.0+b{N}' with N monotonically increasing
- Fixed: cfg(windows) gating for main.rs so WSL build passes
- Fixed: duplicate .unwrap_or_default() in commands.rs
- Fixed: set_title type annotation syntax
- All SLO metrics green (signal_path_ok, watchdog_ok, screenshot_ok)
- tauri.conf.json: remove windows[] (built in Rust setup hook)
- main.rs: build window manually with WebviewWindowBuilder,
  reads TAURI_CDP_PORT env, sets WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS
- tauri-clean-build.ps1: Windows-only build to target-windows,
  launches with WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS set via
  ProcessStartInfo for proper env inheritance
- tauri-cdp-automate.py: CDP client with DOM query, screenshot,
  websocket connection
- tauri-cdp-test.ps1: launch + verify CDP connection
- .gitignore: .b00t/scratch/ and datums/*.txt
- Fixed closure bug: panel click handlers now capture correct index
  via IIFE, so each sidebar button opens the right panel
- Added showPanel() function: toggles hidden class on panel divs,
  toggles active class on nav items
- Added refreshDashboard(): wires evidence state to DOM elements
- Added settings save button: wired to invoke save_settings IPC
- Autorun bar removed from normal operation (no kill_delay set)
- Panel HTML templates use compact single-line format
- build.rs: reads .build_counter at compile time, sets
  TAURI_BUILD_NUMBER via rustc-env so every binary has baked version
- main.rs: uses env!("TAURI_BUILD_NUMBER") compile-time constant
  instead of runtime env var — build number always correct
- tauri-release-install.ps1: full release build + uninstall old +
  MSI install with admin elevation
- Build #15 installed at C:\Program Files\ledgrrr\ledgrrr.exe
Signed-off-by: Brian Horakh <35611074+elasticdotventures@users.noreply.github.com>
…nd + XSS + auto-refresh

Agent-Logs-Url: https://github.com/PromptExecution/l3dg3rr/sessions/51239493-e05c-49a3-a51f-e3df6795ee46

Co-authored-by: elasticdotventures <35611074+elasticdotventures@users.noreply.github.com>
… provider display

Agent-Logs-Url: https://github.com/PromptExecution/l3dg3rr/sessions/51239493-e05c-49a3-a51f-e3df6795ee46

Co-authored-by: elasticdotventures <35611074+elasticdotventures@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Rebases the prior Tauri dashboard/panel-generation work onto current main by moving the Tauri desktop host from the removed crates/ledgerr-tauri into crates/ledgerr-host (Windows-only host-tauri), adding a generated UI shell + evidence dashboard, and introducing Windows-focused build/test harness scripts plus refreshed app assets/capabilities.

Changes:

  • Remove crates/ledgerr-tauri from the workspace and re-home the Tauri app under crates/ledgerr-host (src/bin/tauri/*, tauri.conf.json, capabilities).
  • Replace static HTML panels with a generated panel system (PANELS array) and add an EvidenceState/TodayQueue dashboard in the host UI.
  • Add build/test automation scripts (PowerShell/Python) and update packaging assets (icons, capabilities schema).

Reviewed changes

Copilot reviewed 32 out of 92 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
scripts/tauri-vision-analyze.py Adds a local Florence-2 vision analysis helper script for screenshots.
scripts/tauri-test-loop.ps1 Adds an iterative build + harness runner script.
scripts/tauri-test-harness.ps1 Adds a Windows harness to launch/observe/kill the Tauri host and capture screenshots/telemetry.
scripts/tauri-release-install.ps1 Adds a release build + MSI install helper.
scripts/tauri-launch-cdp.ps1 Adds a helper script to launch with CDP expectations and probe /json/version.
scripts/tauri-clean-build.ps1 Adds a “clean build + launch with CDP” helper script.
scripts/tauri-cdp-test.ps1 Adds a simple CDP connectivity probe script.
scripts/tauri-cdp-automate.py Adds a minimal CDP websocket client for DOM/screenshot/title automation.
scripts/tauri-build.ps1 Adds a build/signing/datum generation script (and optional MSI install).
scripts/launch-cdp.cmd Adds a CMD wrapper to launch and probe CDP.
crates/ledgerr-tauri/ui/index.html Deletes the old Tauri UI HTML (crate removed).
crates/ledgerr-tauri/src/main.rs Deletes the old Tauri app entrypoint (crate removed).
crates/ledgerr-tauri/build.rs Deletes the old Tauri build script (crate removed).
crates/ledgerr-tauri/Cargo.toml Deletes the old Tauri crate manifest (crate removed).
crates/ledgerr-host/ui/index.html Introduces a minimal HTML shell for generated navigation/panels.
crates/ledgerr-host/ui/main.js Adds PANELS-driven UI generation and dashboard refresh wiring.
crates/ledgerr-host/ui/style.css Minor dashboard comment formatting tweak (supports new dashboard section).
crates/ledgerr-host/tauri.conf.json Renames app identity and moves window creation to Rust (empty windows array).
crates/ledgerr-host/src/bin/tauri/state.rs Introduces AppState for Tauri commands (settings/history/evidence).
crates/ledgerr-host/src/bin/tauri/main.rs Adds Windows-only Tauri host entrypoint, explicit window build, and command registration.
crates/ledgerr-host/src/bin/tauri/commands.rs Adds Tauri IPC commands (dashboard/provenance + harness helpers) and payload types.
crates/ledgerr-host/capabilities/main.json Adds Tauri capability definition for the main window.
crates/ledgerr-host/gen/schemas/capabilities.json Adds generated capabilities schema output.
crates/ledgerr-host/build.rs Adds Tauri build integration and build-number env baking.
crates/ledgerr-host/Cargo.toml Adds host-tauri bin + Tauri deps/build-deps; sets default-run.
crates/ledgerr-host/icons/** Adds/updates app icons and Android resources for bundling.
PRD-6.md Updates PRD content (but currently includes a conflict marker).
Justfile Adds a WSL→PowerShell recipe for Tauri building.
Cargo.toml Removes crates/ledgerr-tauri from workspace and adjusts workspace deps/lints formatting.
AGENTS.md Updates operator guidance for Tauri host direction and adds force-push guard notes.
.gitignore Reworks ignore entries (currently very minimal).
.codebase-memory/adr.md Adds ADR documentation for .tomllmd.
.build_counter Adds a build counter file (used by build scripts/build.rs).
.b00t/tasks.json Adds b00t task tracking file for the dashboard/panel work.
.b00t/datums/ledgrrr.toml Adds a build datum for the packaged binary.
.b00t/datums/ledgerr-tauri.toml Adds a build datum for the prior Tauri binary naming.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread PRD-6.md Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Brian Horakh <35611074+elasticdotventures@users.noreply.github.com>
@elasticdotventures elasticdotventures merged commit 2168595 into main May 4, 2026
0 of 2 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.

Surface EvidenceState/TodayQueue in Tauri UI dashboard

3 participants