Skip to content

fix: accept empty sourceCursor placeholders in 1.0.3-2 - #102

Merged
lightsifter merged 1 commit into
mainfrom
codex/fix-101-source-cursor
Sep 30, 2026
Merged

lightsifter merged 1 commit into
mainfrom
codex/fix-101-source-cursor

Conversation

@lightsifter

Copy link
Copy Markdown
Owner

Change

Ordinary searches containing sourceCursor: "" failed with E_SOURCE_CURSOR_MODE before the search engine ran. Remove that empty placeholder outside inspection mode at the shared request normalization boundary and disclose the change in text and details.requestNotes. Pi, OMP and MCP use the same boundary. Prepare version 1.0.3-2 and regenerate shipped artifacts.

Fixes #101.

Validation

  • bun run check
  • bun run pack:check
  • Reviewed the final diff and shipped artifacts
  • bun run check:local: 525 passed, 0 failed, 3 conditionally skipped; Node HTTP/stdio smoke and benchmark passed.
  • New regression failed on the original implementation, then passed with the fix. Real searches preserve counts and request notes; caller input is unchanged.
  • Pi 0.99.1 controlled native session, registered OMP entry, and real Claude/Codex/Kimi stdio clients passed. Native client tests checked the search body and normalization note in the next model request.
  • Negative paths retain nonempty/whitespace source-token mode errors, empty inspection-token errors, ordinary empty-cursor errors, undefined own-property rejection, and invalid selector rejection. Existing valid source continuation coverage passed.
  • Three stale private expectations also failed on the pristine v1.0.3-1 baseline; corrected to the already shipped discovery guidance, numbered literal labels and missing-path diagnostics without changing production behavior.

Compatibility and risks

Only an exactly empty sourceCursor outside mode=inspect is treated as omitted. Other fields are preserved, nonempty tokens still require inspection mode, and no schema type or mode restriction is relaxed. The source of the placeholder in the reporter's real model session remains unproven; these tests inject the reported shape and use actual search execution. The three skipped tests cover optional concept inference and a platform-specific non-UTF-8 path case; this change does not alter those implementations.

Rollback: revert this focused change on main and release a new patch; do not replace the immutable npm version.

Documentation

  • Updated user-facing documentation where needed (schema guidance and changelog)
  • No private source, tests, internal documents, credentials or logs are included

AI assistance

Implemented and reviewed with OpenAI Codex (GPT-6 family). The AI executed the checks listed above and reviewed the final source and generated diff. No separate human review has been recorded. Public CI results are separate from the local test evidence.

@lightsifter
lightsifter merged commit e67d0cb into main Sep 30, 2026
6 checks passed
@lightsifter
lightsifter deleted the codex/fix-101-source-cursor branch September 30, 2026 12:56
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.

Pi/OpenAI tool bridge injects empty sourceCursor into ordinary searches

1 participant