Follow-up to #1151, split out to keep that PR reviewable.
The passive-capture write path does not carry org: PassiveCaptureParams has no Org field, and its dedup lookup matches on normalized_hash + project only. Observations captured passively in an org-scoped repo therefore land without an org tag and do not surface in org-filtered searches or project listings.
Bringing it in line would mean threading org through PassiveCaptureParams (with the same .engram/config.json inheritance mem_save and mem_session_summary use) and adding it to the passive dedup identity, mirroring what #1151 does for AddObservation.
Related, lower priority: the memory-conflict-surfacing subsystem (internal/store/relations.go) also matches candidates by project + scope without org, so same-project observations from different orgs can still be flagged against each other. Pre-existing behavior, untouched by #1151.
Follow-up to #1151, split out to keep that PR reviewable.
The passive-capture write path does not carry
org:PassiveCaptureParamshas noOrgfield, and its dedup lookup matches onnormalized_hash + projectonly. Observations captured passively in an org-scoped repo therefore land without an org tag and do not surface in org-filtered searches or project listings.Bringing it in line would mean threading
orgthroughPassiveCaptureParams(with the same.engram/config.jsoninheritancemem_saveandmem_session_summaryuse) and adding it to the passive dedup identity, mirroring what #1151 does forAddObservation.Related, lower priority: the memory-conflict-surfacing subsystem (
internal/store/relations.go) also matches candidates byproject + scopewithoutorg, so same-project observations from different orgs can still be flagged against each other. Pre-existing behavior, untouched by #1151.