Skip to content

Let tasks search and read earlier conversations directly - #769

Merged
santoshkumarradha merged 8 commits into
devfrom
codex/conversation-search
Sep 10, 2026
Merged

santoshkumarradha merged 8 commits into
devfrom
codex/conversation-search

Conversation

@santoshkumarradha

@santoshkumarradha santoshkumarradha commented Sep 10, 2026 •

Copy link
Copy Markdown
Member

A request to find an earlier conversation could send the model through repeated task searches and filesystem discovery. Task workers had a more basic problem: their toolbelt omitted conversation search because they inherited no writable memory store.

This change grants read-only indexed history to workers, nested workers, forked hands and task checkers. search_conversations searches across projects with SQLite FTS5 BM25, browses a known conversation, and opens original indexed messages through copyable source references. Match-centred excerpts, nearby messages, stored roles and dates expose evidence and corrections. Broad searches exclude the requesting thread; explicit scope and parent-history access remain available. Memory writes and background extraction are not inherited.

Live experiments also exposed missing checker context. A fallback contract saying “Complete the brief” now includes that referenced brief. The checker is told that a requested final response is a retained deliverable; its facts still need evidence, and required or claimed files still must exist. The schema, prompt, task-miss guidance, built-in manual, performance limits and change entry are updated together.

Validation and merge readiness:

  • Incorporated dev through tasks: a refused accept says so, and a re-landed your call is answerable again #776, including The questions wave: the seven findings the proof lane left on the block, the room and home #772's fix for the previously failing manual heading-list check.
  • Spark session history769 tested an isolated checkout. The batch job 20260910-033823-000395 was cancelled when the owner explicitly chose a separate persistent Spark terminal.
  • Runtime revision 1350aed0b4f36d4d33f519788aeefe75ce5bc370: make build, make test-quick, and fresh full store/session/manual/e2e/tui3 suites passed on Spark. Session: 197.403s; tui3: 419.092s.
  • Final revision 57fe632abd13fb4e86702f1e7af2c953ba61761d differs only in the tagged E2E test: human badge labels tolerate display capitalization while source receipts remain exact; discovery-query counts are separated from distinct source reads. Duplicate calls, missing evidence, wrong answers and filesystem detours remain failures.
  • Rebuilt that final revision on Spark, reran the full untagged e2e package, and ran go test -tags e2e -count=1 -timeout 15m -v -run '^TestConversationSearch' ./internal/e2e. All six live DeepSeek V4 Flash scenarios passed in 97.945s. The actual task returned the correct cited answer and finished done, with two worker lookups and two checker lookups.
  • Logs and exit statuses for all Spark iterations are retained under spark:/home/santosh/bench-artifacts/history769/. Final log SHA-256: fdce0f607e8adab3d025b66e6bc2024867af79187dc67cf34fb62f1dcdb03473.

Retrieval remains lexical and limited to indexed messages in this store. These live tests exercise the engine and real task/checker loop, not the tmux terminal suite. Earlier redundant reads and broader file-delivery findings remain documented; no universal recall or answer-quality guarantee is claimed.

Architecture, experiment iterations, reproducible commands and remaining limits.

@santoshkumarradha

Copy link
Copy Markdown
Member Author

Owner’s standing instruction for every session: final end-to-end tests, full affected-package suites, and pre-merge acceptance must run on Spark through fleet, never on the laptop. The global Claude and Codex instructions already contain this rule; repository instructions are being aligned in #775.

A local full package run from this worktree was observed during the audit and has since ended. Please use Spark for subsequent full acceptance runs, retain the remote job ID and exact tested revision/snapshot, and do not fall back to the laptop if Spark is unavailable. Small focused local checks do not replace remote acceptance.

@santoshkumarradha
santoshkumarradha marked this pull request as ready for review September 10, 2026 04:09
@santoshkumarradha
santoshkumarradha merged commit 893d660 into dev Sep 10, 2026
3 checks passed
@santoshkumarradha
santoshkumarradha deleted the codex/conversation-search branch September 10, 2026 04:13
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