feat(dashboard): generated panels, b00t handshake, UI hardening#81
Open
promptexecutionerr wants to merge 3 commits intomainfrom
Open
feat(dashboard): generated panels, b00t handshake, UI hardening#81promptexecutionerr wants to merge 3 commits intomainfrom
promptexecutionerr wants to merge 3 commits intomainfrom
Conversation
…d defs, add Slint parity commands.rs: - Remove duplicate EvidenceDashboardPayload (serde_json::Value variant) and TxProvenancePayload structs — both defined twice, Windows-only compile error - Remove duplicate get_evidence_dashboard and get_tx_provenance first impls - Surviving get_evidence_dashboard: load settings first (safe lock order), call refresh_gaps() so gap data is never stale, return typed TodayQueue main.js — full Slint parity pass: - Call get_initial_state on load to populate all fields (version, status, settings inputs, transcript, rig-log, review-log, draft, docs status) - Wire chat-update event listener (transcript, logs, status, busy state) - Wire send-btn → send_message with proper error display - Wire rhai-btn → load_rhai_rule_prompt (seeds system prompt + draft) - Wire model pills (pill-phi/foundry/cloud) → use_internal_phi/foundry/cloud - Wire settings preset buttons (btn-use-phi/foundry/cloud) → same commands - Wire docs panel: btn-open-docs → open_docs_playbook, btn-load-rhai-mutation - Wire log tabs to toggle between Transport/Review sub-panels - Wire sidebar collapse button → toggle #sidebar.collapsed CSS class - Add updateModelBadge(): updates badge class/icon and pill active states based on api_key fingerprint (local-tool-tray=phi, local-foundry=foundry) - Add setBusy(): disables draft textarea, send, rhai, and all model pills - applySettings() now calls updateModelBadge() after applying fields - get_initial_state handler calls updateModelBadge() on load Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lityOffer Extends HandshakeSurface with a full offer/acquire capability exchange: New types: - CapabilityKind enum (model/surface/tool/datum, snake_case serde) - CapabilityOffer: name, kind, endpoint URL, api_key, params HashMap - CapabilityRegistry: newtype Vec<CapabilityOffer> with models()/surfaces()/find() HandshakeDocument: - Adds `offers: Vec<CapabilityOffer>` field (#[serde(default)] for backwards compat) - `surfaces`/`models` backfilled from offers; static defaults used when no offers HandshakeSurface: - Adds `local_offers: Vec<CapabilityOffer>` and `peer_path_override: Option<PathBuf>` - Builder methods: `with_offers()` and `with_peer_path()` - `write_doc()` derives surface/model lists from offers, includes full offers in doc - `operate()` clone copies both new fields; populates `handle.acquired` from peer offers when result is Matched, empty vec otherwise - Removes unwrap() on VariantMismatch arm in perform() HandshakeHandle: - Adds `acquired: Vec<CapabilityOffer>` — peer capabilities available after Matched Tests (4 new integration + 5 new unit): - two_node_full_handshake: A writes doc, B discovers via peer_path_override → Matched - capability_trade_model_endpoint: A offers phi endpoint, B acquires it with URL - variant_mismatch_rejected: mismatched variant_id → VariantMismatch - no_peer_doc_is_no_peer: missing peer file → NoPeer, acquired is empty - capability_registry_filters, with_offers_builder_populates_doc, capability_offer_roundtrips_json, handshake_document_with_empty_offers_deserializes All 81 tests pass (77 unit + 4 integration). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…d setBusy coverage - iso_objects.rs: add MetaCtx + Disposition HasVisualization impls; restore accidentally-dropped impl<T> HasVisualization for StageResult<T> header - main.js: setBusy now covers all settings inputs and action buttons via forEach; btn-load-rhai-mutation navigates to chat panel before invoking Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| CapabilityKind, CapabilityOffer, HandshakeDocument, HandshakeResult, HandshakeSurface, | ||
| }; | ||
| use b00t_iface::core::ProcessSurface; | ||
| use serde_json; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
EvidenceState/TodayQueuesurface, working panel navigation, and fullsetBusycoverage across all settings inputs and action buttonsCapabilityOfferhandshake protocolMetaCtx+DispositionHasVisualizationimpls; restored accidentally-droppedimpl<T> HasVisualization for StageResult<T>headerTest plan
cargo check -p ledger-corecargo tauri buildorcargo check -p ledgerr-hostbtn-load-rhai-mutation— confirm it switches to chat panel before loading the draftCapabilityOfferhandshake compiles and round-trips in b00t-iface tests🤖 Generated with Claude Code