[refactor] remove the live intelligence board, scenarios and pre-flight - #247
Merged
Merged
Conversation
Parley converges on one job: record, transcribe, analyze, search. Three subsystems that only served the live "where does the deal stand" board are gone with it. - The live intelligence board and its 30s LLM slot extraction (the whole `lib/intel` module, the `autoIntel` switch, and the store's intel state). Every pass re-read the entire transcript, so an hour-long meeting paid for ~120 growing prompts to fill a rail nobody acted on mid-call. - The scenario / stage / bundle / slot system underneath it: the stage-bundles file and its Rust commands, the Settings scenario editor, the boardless "kind" authoring sheet, the icon registry that existed only to mark scenarios, and `meetingType` everywhere it was threaded (store, saved entries, the session snapshot, MCP). - The pre-flight screen and its AI prep copilot. Starting a meeting is now one button; the prep draft it used to gather survives, and clearing it is still one explicit action on the start button's menu. What replaces the meeting-type picker is `meetingContext` — the per-recording free-text field that already fed every analysis prompt. `update_recording_meta` now says so in its description, so an external analyst re-aims the analysis by writing that field instead of inventing a scenario id. The live coach rail keeps the agenda checklist, which moves into the column the board vacated. Eval templates, TODO templates, findings, action items, brief, delivery and search are untouched. Old recordings keep `meetingType` / `intel` in their meta.json; nothing reads them and nothing rewrites them. The removed code is recoverable from the tag `archive/intel-board-before-removal`.
|
YJack0000
added a commit
that referenced
this pull request
Aug 17, 2026
Live translation went in #242 and took `virtual_mic.rs` with it, but the CoreAudio HAL driver it drove was left fully wired into the build. Nothing has read it since: CI still built the driver universal, signed it, and ditto'd it into `src-tauri/virtualmic/`, and `tauri.conf.json` still listed it as a bundle resource — so every notarized DMG since v0.22.14 has carried a signed audio driver that no code path can install or reach. Removed: - The "Build Parley Microphone driver" release step, and the `virtualmic/ParleyMicrophone.driver` bundle resource that consumed it. - `build.rs`'s placeholder-directory dance, which existed only so tauri-build would not hard-fail on that missing resource in dev builds, and whose comment still pointed at the deleted `virtual_mic.rs`. - tokio's `process` feature. Its comment credited the privileged osascript installer; nothing in src-tauri imports `tokio::process` any more (the one `Command::new` left is `std::process::Command` in a replay_audio test oracle). Dropping it drops `signal-hook-registry` from Cargo.lock, which confirms nothing else was pulling the feature in. - All 15 orphaned `titlebar.translate.*` / `settings.translate.*` / `settings.kw.translate` / `meeting.translate.*` keys, in both locales. `en` is typed `Record<keyof typeof zhTW, string>` and `TranslationKey` is `keyof typeof zhTW`, so tsc proves none of them had a caller left. - `virtual-mic/` itself, following the same delete-and-archive precedent as #242, #245 and #247. The whole directory *and* `virtual_mic.rs` are preserved together at `archive/live-translate-before-removal`, so restoring the feature restores both halves from one tag. `ios/README.md` described the repo as containing `virtual-mic/` and `mcp/`; the latter had already stopped existing. It now names what is actually there. `docs/design/ios-app.md` mentions both too, but as part of a signed-off decision record describing the repo at decision time, so it is left as written. Verified: `cargo check`, `bunx tsc --noEmit`, and `bunx vitest run` (216 tests) all pass; release.yml and tauri.conf.json still parse.
YJack0000
added a commit
that referenced
this pull request
Aug 18, 2026
…eature claims (#256) Five of the six desktop screenshots predated the v0.22.14–v0.22.16 removals. The worst was the hero, which is both the largest image on parley.tw and the first image in the README: its right-hand column was the intel board, removed in #247. The page around it had already been rewritten in #252 to stop promising that feature; the picture kept promising it anyway. Reshot against current main, seeded through the store with a fictional renewal negotiation (Northwind Logistics / Dana Whitfield — no real customer data): - showcase-hero — the live cockpit as it actually is now: transcript, coach feed, agenda checklist. No intel board, because there is no intel board. - showcase-transcript — the transcript posture with the findings column. - showcase-study — the report: brief with clickable timestamp pills, action items with severity, filed into a customer folder. - showcase-qa — Ask, in the drawer it actually lives in now. The old shot still had the v0.11 "Ask / TODO" tab pair and the old delivery panel. - showcase-eval — Settings → Evaluations, showing the built-in playbooks and an editable prompt, which is what "your checks" means concretely. showcase-voicetyping is kept: the overlay has only had behaviour fixes since it was shot (screen placement, tap-to-toggle, preview cap), no visual redesign. The two iPhone shots are also kept — they predate the #248 restyle, so they are next in line, but they show nothing that no longer exists. The capture shims (a store handle in main.tsx, a thread seeder in AskPanel) are reverted, not committed, per the standing recipe. Alongside that, the store listings still sold "deal intelligence" / 成交情報 — the mini-CRM removed in #245 — in all four locale files, in the paragraph that tells a phone user what they get on the desktop. Replaced with cross-meeting search, which is what actually replaced it. Also settled two stale open items that #235 had already resolved without the docs catching up: Android does ship in-app account deletion, and parley.tw/account-deletion/ is the Play-required web route, so `android/AppStore/data-safety.md` no longer opens with a TODO gate and the listings point at the real URL rather than the privacy policy. The remaining `[TODO: confirm with Jack]` markers there are genuine questions for a human (whether to over-declare usage data, and whether api.parley.tw retains account-linked request logs) and are left alone. Smaller corrections: iOS is 1.2 on the App Store, not 1.1; the iOS listing's rationale notes described a name and a subtitle it does not ship; CLAUDE.md listed "interpreter" among the secondary windows, which went with #242; and docs/design/mini-crm.md now says up front that it documents a subsystem that was built and then removed, rather than reading as current design. Verified: bunx tsc --noEmit and bunx vitest run (221 tests) pass, and all eight media slots load at their intended dimensions on a local serve of website/.
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.



Why
Parley is now record → transcribe → analyze → search. The live intelligence board (a 30-second LLM pass extracting slots mid-call), the scenario / stage / bundle / meeting-kind system underneath it, and the pre-flight screen all served a different product. Removed.
81 files, +198 / −9,109. Preserved at tag
archive/intel-board-before-removal.The useful residue survives:
meetingContext— free text, already fed verbatim into every analysis prompt, and settable over MCP. "What kind of meeting this was and what matters in it" now goes there instead of into a template system.update_recording_meta's description was rewritten to say exactly that, and itsmeetingType/meetingTypeName/meetingTypeIcon/meetingTypeGuidanceparams are gone.Kept — three of these were close calls
settings.evaluations+ eval templates.runAnalysispasses them toanalyzeTimeline({ evals }); findings die without them. Not board machinery despite living next to it.meetingBatna/meetingTarget/meetingFloor. The brief said to delete these if pre-flight was their only input surface — it wasn't.MeetingContextFieldmounts fromSpeakerBar→MeetingContextButton(live),IngestWizard,StudyGenerationChipandStudyLinkBar, so all four keep a real way in.TodosPanelwas mounted only fromIntelligenceBoard, so it would have vanished silently. Moved into the third live column the board vacated.autoIntelhad a second job — gating the 45s TODO auto-check. That check now runs unconditionally while recording (the setting defaulted on) and no longer only formeetingType === "general".Things that went with it
intel.withKindGuidanceappended a scenario's lens to the prompt.meetingContextis the only per-meeting steering now — and since the analysis cache keys on it, editing it still invalidates and re-analyzes.beginMeetingso the three call sites can't race two STT sessions open.stage-bundles.jsonis orphaned on disk (no cleanup code written — user data is never deleted).Old data
Verified with a throwaway test: a
meta.jsoncarryingmeetingType+intelloads fine —appMode: "study", brief and context restored, no crash. Extra keys ride through the read-modify-write ({...meta}) rather than being stripped. Stale settings keys spread harmlessly; nothing reads them. MCP whitelists response keys, so they never surface.i18n
486 entries removed (243 per dictionary; both verified at 906 keys, no orphans in either direction).
preflight.search/preflight.noMatchwere used byFolderPickerand were renamed tofolder.*rather than dropped. Everyt("…"),translate(…)andt(`…`)template was scanned against the pruned dictionaries — no dangling key.How it was verified
bunx tsc --noEmitcleanbunx vitest run— 216 passed, from 327. All 111 accounted for: 101 from deleted test files, 10 from edits (intel-scheduling andsetMeetingTypecases)bun run buildokcargo checkok,cargo clippyzero warningssearch_meetingsverified intactWebsite
Fixed two more places selling removed features ("final deal intelligence" in the report section and the iOS sync section). The README prose and alt text were updated by this change, but the three screenshots still show the board and would need re-shooting.