Skip to content

feat: partial update APIs#101

Merged
davidkelley merged 19 commits intomainfrom
plan/issue-89-partial-update
Feb 10, 2026
Merged

feat: partial update APIs#101
davidkelley merged 19 commits intomainfrom
plan/issue-89-partial-update

Conversation

@davidkelley
Copy link
Owner

@davidkelley davidkelley commented Feb 4, 2026

Summary

  • add core partial update patching with validation + tests
  • add HTTP update and bulk update endpoints (best-effort) + tests
  • document update APIs in OpenAPI and README

Test Plan

  • cargo test --all --all-features
  • cargo clippy --all --all-features --all-targets -- -D warnings
  • cargo build --all --all-features
  • cargo llvm-cov --all --all-features --json --summary-only --output-path /tmp/llvm-cov-summary.json
  • cargo bench -p searchlite-core

Coverage

  • Lines: 82.85% (workspace)

Copilot AI review requested due to automatic review settings February 4, 2026 12:58
@davidkelley davidkelley changed the title plan/issue 89 partial update feat: partial update APIs Feb 4, 2026
Copy link

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

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: e42e937126

ℹ️ 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".

Copy link

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

Adds partial document update support (set/unset patches) across core and HTTP APIs, with bulk NDJSON update support and accompanying docs/tests.

Changes:

  • Introduces IndexWriter::apply_patch with patch validation and JSON path set/unset helpers.
  • Adds HTTP endpoints for single update (/indexes/:name/update) and best-effort bulk update (/indexes/:name/_bulk_update) plus integration tests.
  • Updates OpenAPI/README and adds design + implementation plan docs for partial updates.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
searchlite-http/src/lib.rs Adds update + bulk update routes, request/response structs, handlers, and HTTP tests; minor multi_search handling tidy-up.
searchlite-core/src/api/writer.rs Implements apply_patch and helper functions to load/patch/validate documents.
searchlite-core/tests/partial_update.rs Adds core tests covering set/unset, nested paths, and validation failures.
openapi.yaml Documents new update and bulk update endpoints and schemas.
README.md Documents new endpoints in the API overview and adds curl examples.
docs/plans/2026-02-04-issue-89-partial-update-implementation.md Adds implementation plan for issue #89 partial update.
docs/plans/2026-02-04-issue-89-partial-update-design.md Adds design notes/constraints for partial update behavior.

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

- consult pending ops before loading patch source
- rename update response field to accepted
- update API docs and remove docs/plans

🤖 Generated with Codex
@davidkelley
Copy link
Owner Author

@codex review

Copy link

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

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: 487baa6d9a

ℹ️ 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".

Copy link

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

Copilot reviewed 7 out of 8 changed files in this pull request and generated 3 comments.


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

- add patch error type and vector update guard
- stream bulk updates and avoid string matching
- document vector update restriction

🤖 Generated with Codex
@davidkelley
Copy link
Owner Author

@codex review

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Keep it up!

ℹ️ 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".

Copy link

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

Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.


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

@davidkelley
Copy link
Owner Author

@codex review

@davidkelley davidkelley requested a review from Copilot February 5, 2026 14:03
Copy link

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

Copilot reviewed 9 out of 10 changed files in this pull request and generated no new comments.


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

Copy link

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

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: 97616a09a8

ℹ️ 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".

- accept nested field root paths during patch validation

- add regression tests for nested root acceptance/rejection

- add end-to-end apply_patch test for replacing nested roots
Copy link
Owner Author

@davidkelley davidkelley left a comment

Choose a reason for hiding this comment

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

Addressed pending review updates.

@davidkelley
Copy link
Owner Author

@codex review

Copy link

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

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: 16f6c98e42

ℹ️ 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".

- traverse arrays while applying set/unset dotted paths

- add regression tests for set_path/unset_path array traversal

- add apply_patch test covering nested-array dotted updates
@davidkelley
Copy link
Owner Author

@codex review

Copy link

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.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link

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

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: 0c5ad22f25

ℹ️ 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".

- expose writer checkpoint/rollback_to for request-scoped rollback

- bulk update abort now rolls back only request changes

- add regression test for preserving pre-existing queued writes
@davidkelley
Copy link
Owner Author

@codex review

Copy link

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

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: 1c404884c7

ℹ️ 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".

- cache pending latest state by doc id for O(1) lookups

- reuse an IndexReader while applying patches

- add regression test for fresh committed state across commits
@davidkelley
Copy link
Owner Author

@codex review

Copy link

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

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: 5cf547768c

ℹ️ 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".

- refresh apply_patch reader cache when manifest stamp changes\n- keep reader reuse for stable manifest generations\n- add regression test for interleaved external commit
@davidkelley
Copy link
Owner Author

@codex review

Copy link

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

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: 0ca7a9db15

ℹ️ 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".

- only allow ancestor patch paths for declared nested fields\n- apply patches to literal dotted top-level field names as single keys\n- add regression tests for dotted field validation and update behavior
@davidkelley
Copy link
Owner Author

@codex review

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Breezy!

ℹ️ 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".

@davidkelley davidkelley merged commit 2b6f5de into main Feb 10, 2026
6 checks passed
@davidkelley davidkelley deleted the plan/issue-89-partial-update branch February 10, 2026 15:56
@davidkelley davidkelley linked an issue Feb 10, 2026 that may be closed by this pull request
This was referenced Feb 10, 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.

#3: Partial update/unset API

1 participant