Skip to content

feat: add cross-session transcript search - #62

Merged
wolfiesch merged 7 commits into
mainfrom
codex/cross-session-transcript-search
Jul 19, 2026
Merged

feat: add cross-session transcript search#62
wolfiesch merged 7 commits into
mainfrom
codex/cross-session-transcript-search

Conversation

@wolfiesch

Copy link
Copy Markdown
Collaborator

Adds a full cross-session transcript search experience across connected OMP hosts.

Includes the /search route, palette and titlebar entry points, project/speaker/archive filters, honest per-host states, bounded multi-host merging and pagination, and read-only historical context. Queries and results remain in memory only.

Pins app-wire 0.6.1 from the coordinated OMP implementation: lyc-aon/oh-my-pi#12

Verification:

  • protocol: 33 tests plus tarball/golden-corpus hash verification
  • client: 227 tests
  • web: 959 tests
  • full lint/type/release/provenance check
  • production web build
  • independent final review: SHIP

Merge note: open PR #60 overlaps protocol/vendor/router files and must rebase after this PR while retaining app-wire 0.6.1.

Copilot AI review requested due to automatic review settings July 19, 2026 04:05

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5c37716203

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/client/src/transcript-search.ts
Comment thread apps/web/src/features/transcript-search/LiveTranscriptSearch.tsx

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds a cross-session, cross-host transcript search experience that keeps queries/results in memory only, backed by a new vendored @oh-my-pi/app-wire@0.6.1 contract and corresponding client/web implementations.

Changes:

  • Pin vendored @oh-my-pi/app-wire to 0.6.1 and update distribution/lockfile checksums and notices.
  • Add a TranscriptSearchCoordinator to the client package with multi-host fan-out, deterministic merging, bounded retention, pagination, and historic context reads.
  • Add the /search web route, command-palette/titlebar entry points, memory-only query handoff, UI + tests, and an ADR documenting the design.

Reviewed changes

Copilot reviewed 23 out of 27 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
vendor/app-wire/manifest.json Bumps vendored app-wire manifest metadata to 0.6.1 (commit/tree/tarball hashes, corpus hash).
THIRD_PARTY_NOTICES.md Updates third-party notice to reflect the new app-wire version and provenance hashes.
README.md Updates documented pinned app-wire contract and describes transcript search/historic context contract addition.
pnpm-lock.yaml Updates lockfile to reference vendored oh-my-pi-app-wire-0.6.1.tgz.
packages/protocol/test/distribution.test.ts Extends distribution verification to cover new transcript-search/context fixtures and source entries, plus updated manifest pinning.
packages/protocol/package.json Updates protocol package dependency to vendored app-wire 0.6.1 tarball.
packages/client/test/transcript-search.test.ts Adds unit tests for multi-host coordination, cancellation/supersession, pagination, retention caps, and context reads.
packages/client/src/transcript-search.ts Implements the cross-host transcript search coordinator, merging, retention, pagination, and context fetching.
packages/client/src/index.ts Exposes transcript search coordinator/types from the client public API.
docs/adr/011-cross-session-transcript-search.md Documents the product/contract shape, privacy boundary, and failure behavior.
compat/omp-app-matrix.json Updates compatibility matrix to app-wire 0.6.1 metadata and hashes.
apps/web/test/transcript-search.test.tsx Adds model/UI tests covering memory-only behavior, partial results, highlighting, and historic context rendering.
apps/web/src/router.tsx Registers the new /search route and connects it to the live transcript search screen.
apps/web/src/features/transcript-search/TranscriptSearchScreen.tsx Adds the transcript search screen UI, host status list, results list, and historic context view.
apps/web/src/features/transcript-search/source.ts Adds the web adapter that uses the client coordinator to execute search/pagination/context and map results to UI models.
apps/web/src/features/transcript-search/search-memory.ts Implements ephemeral in-memory query handoff + subscription hooks (no URL/state persistence).
apps/web/src/features/transcript-search/route.ts Defines stable /search route constant (no query params).
apps/web/src/features/transcript-search/model.ts Defines UI-facing search models, filters, partial-result detection, and plain-text highlighting splitter.
apps/web/src/features/transcript-search/LiveTranscriptSearch.tsx Wires route state to the source adapter, manages execution/cancellation, filters, paging, and historic context state.
apps/web/src/features/transcript-search/index.ts Barrel exports for the transcript-search feature module.
apps/web/src/features/transcript-search/historic-context.ts Defines the opaque navigation intent for opening historic context without leaking transcript text/query.
apps/web/src/features/transcript-search/fixtures.ts Provides disconnected showcase fixtures for search + context in browser-only mode.
apps/web/src/features/transcript-search/execution.ts Adds “latest-run wins” executor to prevent stale completions from publishing after newer requests.
apps/web/src/components/Titlebar.tsx Updates titlebar search affordance text/icon to include transcript search intent.
apps/web/src/components/CommandPalette.tsx Adds entry points for transcript search (including “search for current query”) and hands off query in memory before navigation.
Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

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

Comment thread apps/web/src/features/transcript-search/source.ts Outdated
Comment thread apps/web/src/features/transcript-search/source.ts
…ranscript-search

# Conflicts:
#	README.md
#	THIRD_PARTY_NOTICES.md
#	apps/web/src/router.tsx
#	compat/omp-app-matrix.json
#	packages/client/src/index.ts
#	packages/protocol/package.json
#	packages/protocol/test/distribution.test.ts
#	pnpm-lock.yaml
#	scripts/check-release-consistency.test.mjs
#	vendor/app-wire/manifest.json
@wolfiesch
wolfiesch merged commit 8286148 into main Jul 19, 2026
4 checks passed
@wolfiesch
wolfiesch deleted the codex/cross-session-transcript-search branch July 19, 2026 05:42
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.

2 participants