Intake result — already fixed in canonical runners
The observed symptom was real: the deployed Memory Core corpus contains summaries whose source
memories exactly match fixtures from
test/playwright/unit/ai/services/memory-core/SessionService.spec.mjs, including sum_other.
Those rows can distort query_summaries candidate sets.
The proposed current-code cause did not survive falsification.
At exact live dev 45570db8e75b327475d8230e28f52e293ab1ab2f, every repository-owned
Playwright config imports test/playwright/configTemplateResolver.mjs. An exact child-process
probe with UNIT_TEST_MODE and NEO_TEST_CONFIG_TEMPLATES initially absent resolved:
NEO_TEST_CONFIG_TEMPLATES=true;
engines.chroma.useTestDatabase=true;
- Chroma host/port
localhost:18180;
- Chroma database selection
neo-unit-test;
- per-run
test-memory-*, test-session-*, and test-temporal-summary-* collections.
The resolver boundary landed in #15134. The Chroma database and collection isolation landed in
#15229 (fc5fe10a569) on 2026-07-16, before the observed August fixture rows. A standard bare
npx playwright test therefore does not select production Chroma on current dev.
Correction to the prior intake
The earlier body claimed that a bare Playwright invocation set TEST_WORKER_INDEX without setting
NEO_TEST_CONFIG_TEMPLATES. That is false for every canonical Playwright config in the repository:
the resolver is imported before test dependencies and sets the boundary in both runner and worker
processes.
Adding assertTestWriteIsolated() to CollectionProxy would not repair the observed historical
path:
- a stale checkout that predates the existing isolation also predates any new proxy guard;
- current canonical runners are already isolated by construction;
- no supported current runner that reaches production Chroma was reproduced.
The fixture rows therefore prove historical or noncanonical execution, not a missing current
production invariant. Shipping a second guard without a reachable current failure would be
defense-in-depth theater rather than a bug fix.
Preserved findings
- Do not sort
query_summaries by projected raw relevanceScore; StorageRouter intentionally
orders by semantic score multiplied by the topology signal.
- Do not filter
timestamp:null; #17076/#17077 deliberately retain malformed rows and report
malformedTimestamps.
- Do not introduce a semantic substantivity classifier from these fixtures.
- Raw-memory cron-poll attractors are a separate legitimate production-emission population and are
outside this fixture-cleanup finding.
Resolution
No repository change is warranted. #15134 and #15229 already own the current prevention contract.
Removing the exact historical rows from a live corpus is a bounded operator data-cleanup action,
not a reusable code path; it must enumerate exact ids and requires explicit destructive-action
authority. No heuristic or broad deletion is authorized by this ticket.
Origin Session ID: 471d17f2-777c-4676-a137-fa37a9ac834d
Retrieval Hint: #17108 configTemplateResolver Chroma neo-unit-test current runner already isolated
Intake result — already fixed in canonical runners
The observed symptom was real: the deployed Memory Core corpus contains summaries whose source memories exactly match fixtures from
test/playwright/unit/ai/services/memory-core/SessionService.spec.mjs, includingsum_other. Those rows can distortquery_summariescandidate sets.The proposed current-code cause did not survive falsification.
At exact live
dev45570db8e75b327475d8230e28f52e293ab1ab2f, every repository-owned Playwright config importstest/playwright/configTemplateResolver.mjs. An exact child-process probe withUNIT_TEST_MODEandNEO_TEST_CONFIG_TEMPLATESinitially absent resolved:NEO_TEST_CONFIG_TEMPLATES=true;engines.chroma.useTestDatabase=true;localhost:18180;neo-unit-test;test-memory-*,test-session-*, andtest-temporal-summary-*collections.The resolver boundary landed in #15134. The Chroma database and collection isolation landed in #15229 (
fc5fe10a569) on 2026-07-16, before the observed August fixture rows. A standard barenpx playwright testtherefore does not select production Chroma on currentdev.Correction to the prior intake
The earlier body claimed that a bare Playwright invocation set
TEST_WORKER_INDEXwithout settingNEO_TEST_CONFIG_TEMPLATES. That is false for every canonical Playwright config in the repository: the resolver is imported before test dependencies and sets the boundary in both runner and worker processes.Adding
assertTestWriteIsolated()toCollectionProxywould not repair the observed historical path:The fixture rows therefore prove historical or noncanonical execution, not a missing current production invariant. Shipping a second guard without a reachable current failure would be defense-in-depth theater rather than a bug fix.
Preserved findings
query_summariesby projected rawrelevanceScore;StorageRouterintentionally orders by semantic score multiplied by the topology signal.timestamp:null; #17076/#17077 deliberately retain malformed rows and reportmalformedTimestamps.Resolution
No repository change is warranted. #15134 and #15229 already own the current prevention contract. Removing the exact historical rows from a live corpus is a bounded operator data-cleanup action, not a reusable code path; it must enumerate exact ids and requires explicit destructive-action authority. No heuristic or broad deletion is authorized by this ticket.
Origin Session ID:
471d17f2-777c-4676-a137-fa37a9ac834dRetrieval Hint:
#17108 configTemplateResolver Chroma neo-unit-test current runner already isolated