Skip to content

bug(mcp): lco_find blocks on implicit full reindex and times out in Hermes #790

Description

@100yenadmin

Priority

P0 Hermes-first 1.6 release blocker.

Parent

Problem

The MCP lco_find tool treats an omitted index argument as permission to
synchronously index Codex and Claude sources before every query. On Eva's
Hermes-mounted LCO corpus, calls repeatedly reach the configured 300-second MCP
timeout.

The indexed database is already available and queryable. A warm recall request
must not be blocked by an implicit, unbounded cache refresh.

Supported-path impact

  • Hermes connection and tool registration succeed.
  • lco_find is the primary recall entry point.
  • The default call shape used by an agent omits index.
  • The default path repeatedly times out at production corpus scale.

No raw query text, thread identifier, transcript content, or customer data is
required to reproduce or prove the latency failure.

Acceptance criteria

  • MCP lco_find with omitted index queries the existing index without
    running Codex or Claude indexing.
  • index:false remains an explicit no-refresh request.
  • index:true retains explicit synchronous refresh behavior.
  • lco_index_sessions remains available for explicit refresh.
  • Results distinguish index_skipped_by_default from
    index_skipped_by_flag.
  • CLI lco find behavior remains unchanged unless its own tests prove it
    shares the MCP defect.
  • Twenty warm calls on a protected Eva-sized database snapshot have p95 latency
    at or below 300 ms and maximum latency at or below one second.
  • Evidence contains aggregate timing and counts only.

Validation

  • Focused MCP/find behavior tests for omitted, false, and true indexing modes.
  • Candidate package smoke using the same candidate SHA as the PR.
  • Hermes Python MCP client canary against a protected local snapshot.
  • Current-head GitHub Actions CI and CodeQL.

Stop conditions

  • Stop if meeting the threshold requires returning raw transcript data,
    weakening source-safety filters, or mutating Eva's active profile/database.
  • Do not relax the threshold without recording the observed profile and an
    owner decision.

Evidence

/Volumes/LEXAR/Codex/evidence/lco-hermes-first/2026-07-28/

Current status

Verified on published LCO 1.5.0 and still present in source
4384302ecd0caae2a2658a554951a4c3827aa29c.

Exact next action

Implement the MCP-only default change and its focused regressions on
fix/1.6-hermes-stabilization.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingevalEvaluation, scorecards, and beta acceptance gatesmcpMCP server and tool surfaceorchestratorOrchestrator-agent workflow, context retention, and session managementsafetySafety, approval, privacy, or control-boundary issue

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions