Files
codebase-memory-mcp/tests
Martin Vogel c1f30fdcc3 Merge origin/main into codex/bt-240-truthful-index-freshness
Second maintainer refresh of #1561 (truthful index_status freshness),
onto main 9c19b5dd, after the fix-up that keeps the indexed checkout in
its own index_checkout table (a0d0521f). The first refresh is b44a22ca.

Five files conflicted; each is resolved as main plus the branch change:

- src/pipeline/pipeline.c and src/pipeline/pipeline_incremental.c (two
  sites): main added .unresolved_calls_complete to the coverage-meta
  initializers where the branch added .indexed_checkout_sha. Both fields
  are kept, main first.

- src/store/store.h cbm_coverage_meta_t: main added
  unresolved_calls_complete where the branch added indexed_checkout_sha.
  Both fields are kept, main first.

- src/store/store.c init_schema: main added the unresolved_calls_complete
  column where the branch closed index_coverage_meta and created
  index_checkout. index_coverage_meta keeps main DDL exactly, and the
  index_checkout table follows it.

- src/store/store.c coverage replace: main moved the coverage-meta write
  out of cbm_store_coverage_replace_ex into coverage_write_metadata,
  whose caller owns the transaction and rolls it back on failure. The
  branch wrote or cleared the index_checkout row right after that
  write, so its two calls move into the helper: the upsert path returns
  index_checkout_write(s, project, meta->indexed_checkout_sha), the
  delete path returns index_checkout_write(s, project, NULL).
  index_checkout_write stays where the branch defined it, ahead of the
  new helpers.

- tests/test_store_nodes.c: main added
  store_coverage_shadow_excludes_unresolved_calls and its helper where
  the branch added store_coverage_meta_indexed_checkout_sha_roundtrip_and_rollback.
  Both tests are kept and registered, main first.

src/pipeline/pipeline_internal.h merged without a conflict: main raised
CBM_SEMANTIC_INDEX_VERSION to 13 for Next.js App Router routes, in a
separate hunk from the branch's cbm_pipeline_indexed_checkout_sha
declaration.

No semantic conflicts:

- The branch bumps no version. index_checkout is created by init_schema
  with IF NOT EXISTS and read only when present, so main's semantic
  index version 13 applies unchanged.

- The branch changes no existing function signature, and main changes
  none that the branch calls.

- Every main caller of cbm_store_coverage_meta_get added since the
  merge base, including the new Next.js upgrade test in test_pipeline.c,
  releases the result with cbm_store_coverage_meta_clear exactly once,
  which frees the checkout string. That test passes a shallow copy of
  the result to cbm_store_coverage_replace_ex and never frees the copy
  on its own.

No test call site needed adapting.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-11-02 18:55:43 +01:00
..
…
…