Skip to content

Implement pinned search and native JS result bindings - #8

Draft
sidkmenon wants to merge 4 commits into
codex/diff-storefrom
codex/code-mode-search
Draft

sidkmenon wants to merge 4 commits into
codex/diff-storefrom
codex/code-mode-search

Conversation

@sidkmenon

@sidkmenon sidkmenon commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Implement the earlier search API over pinned Git blobs and complete hydrated comparisons. Plugins receive the original comparison and printing applies display selection afterward. Keep the engine-to-library extraction separate from behavior; then add native workers, JS result helpers, printing and CI.

Review order: #6 → #7 → #20 → #8 → #10 → #13.

Read commit by commit:

  1. ea36cd86a — Extract the existing engine into a shared Rust library.
  2. df47a5717 — Implement pinned-source indexing and complete-tree hydration.
  3. c1b1fe03b — Bind the Rust search engine and print expandable results.
  4. 183293aa8 — Run the native pretty-output integration contract in CI.

Verification: the complete rewritten diffr tip has exactly the same Git tree as the previously tested tip (262 Rust tests passed, one ignored; 11 JS tests passed; TypeScript checks and the real pretty-output contract passed). No behavior changes in this rewrite.

This history is organized by API boundaries. Intermediate contract/usage commits may intentionally precede their implementations and need not compile individually.

AI assistance: authored and reorganized with Codex.

@sidkmenon
sidkmenon added this pull request to stack #9 September 18, 2026 07:33
@sidkmenon sidkmenon changed the title codex/code mode search Implement code-mode search over pinned Git revisions Sep 18, 2026
Move the CLI implementation unchanged into the library with a thin binary entry point. Preserve the diffr help name and mark prose examples for library doctests. Keep this mechanical extraction separate from search behavior.

AI assistance: reorganized with Codex.
Inject Store into the generic shared index and keep comparison/plugin state in sessions. Validate hits against pinned Git blobs, hydrate complete comparisons with highlights, and postprocess without dropping source sides. Preserve ordinary identical-file fast paths and reuse equivalent processing across display choices.

AI assistance: reorganized with Codex.
Run native work on blocking workers and bind JS result helpers over the serialized trees. Render selected display sides, changes, highlights and folds from complete results. Install package dependencies and ignore generated bindings/cache files.

AI assistance: reorganized with Codex.
Build the real native binding and run the TypeScript search output test in CI. The contract fixture is introduced earlier in the stack for review before its backing implementation.

AI assistance: reorganized with Codex.
@sidkmenon
sidkmenon force-pushed the codex/code-mode-search branch from 6ddaa7c to 183293a Compare September 19, 2026 21:49
@sidkmenon
sidkmenon removed this pull request from stack #9 September 19, 2026 21:50
@sidkmenon
sidkmenon changed the base branch from codex/search-highlights to codex/diff-store September 19, 2026 21:50
@sidkmenon
sidkmenon added this pull request to stack #21 September 19, 2026 21:50
@sidkmenon sidkmenon changed the title Implement code-mode search over pinned Git revisions Implement pinned search and native JS result bindings Sep 19, 2026
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