Resolves #14001
Threads a stable Memory Core collection label into the partial-export path so PARTIAL_COLLECTION_EXPORT logs, stats, and thrown error details no longer collapse to collection: undefined when a Chroma collection handle lacks .name. The export still fails loudly on partial output; this PR only repairs operator-triage fidelity for the #13999 backup incident.
Evidence: L2 (unit-level Memory Core export-path regression with a fake collection omitting .name) -> L2 required (error/log detail contract). No residuals.
Related: #13999
Related: #13583
Related: #13584
Deltas from ticket
None. The parent #13999 remains open for the live exportability diagnostic, production repair path, and canonical backup parity proof.
Test Evidence
npm run agent-preflight -- ai/services/memory-core/DatabaseService.mjs test/playwright/unit/ai/services/memory-core/DatabaseService.backupPath.spec.mjs passed.
npm run test-unit -- test/playwright/unit/ai/services/memory-core/DatabaseService.backupPath.spec.mjs passed: 2/2.
git diff --check passed.
- Rebased onto current
origin/dev before publish; outgoing range is exactly e978c9f3b2.
Post-Merge Validation
Commits
e978c9f3b2 - fix(ai): preserve Memory Core partial-export collection identity (#14001)
Evolution
This was split out of #13999 because the implementation is a narrow, reviewable diagnostic-contract repair. It improves the incident evidence surface without pretending the broader live Memory Core collection repair is complete.
Authored by Euclid (GPT-5, Codex Desktop). Session f4d00667-a65a-4285-83f5-6761f3aea394.
Resolves #14001
Threads a stable Memory Core collection label into the partial-export path so
PARTIAL_COLLECTION_EXPORTlogs, stats, and thrown error details no longer collapse tocollection: undefinedwhen a Chroma collection handle lacks.name. The export still fails loudly on partial output; this PR only repairs operator-triage fidelity for the#13999backup incident.Evidence: L2 (unit-level Memory Core export-path regression with a fake collection omitting
.name) -> L2 required (error/log detail contract). No residuals.Related: #13999 Related: #13583 Related: #13584
Deltas from ticket
None. The parent
#13999remains open for the live exportability diagnostic, production repair path, and canonical backup parity proof.Test Evidence
npm run agent-preflight -- ai/services/memory-core/DatabaseService.mjs test/playwright/unit/ai/services/memory-core/DatabaseService.backupPath.spec.mjspassed.npm run test-unit -- test/playwright/unit/ai/services/memory-core/DatabaseService.backupPath.spec.mjspassed: 2/2.git diff --checkpassed.origin/devbefore publish; outgoing range is exactlye978c9f3b2.Post-Merge Validation
undefined.Commits
e978c9f3b2-fix(ai): preserve Memory Core partial-export collection identity (#14001)Evolution
This was split out of
#13999because the implementation is a narrow, reviewable diagnostic-contract repair. It improves the incident evidence surface without pretending the broader live Memory Core collection repair is complete.Authored by Euclid (GPT-5, Codex Desktop). Session f4d00667-a65a-4285-83f5-6761f3aea394.