Skip to content

fix(memory): restore direct conversation extraction and subject attribution - #626

Merged
axAilotl merged 5 commits into
mainfrom
fix/memory-extraction-attribution
Oct 10, 2026
Merged

axAilotl merged 5 commits into
mainfrom
fix/memory-extraction-attribution

Conversation

@axAilotl

@axAilotl axAilotl commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

Direct conversation facts were being dropped when structured attribution could not resolve transport identities, preferred names, companion sources, or non-speaking subjects. This restores extraction while preserving separate source and subject identities.

  • Use canonical journal/turn identity for a sole DM human, plus canonical Discord, companion, and external-session identity namespaces. Name lookup accepts a unique live display name or nickname; it does not guess unstored aliases by stripping suffixes.
  • Accept known source and subject aliases in direct conversations while keeping strict group routing bound to journal names.
  • Route companion self-knowledge to companion ownership. Mixed user/assistant citations can use the sole human when the model omits the source name; multi-human exchanges remain ambiguous and companion-only paraphrases cannot establish human facts.
  • Resolve named third parties against existing live contacts. Unknown subjects remain explicitly unbound on first mention; recurring relational or explicitly attributed semantic facts may create a mention-only stranger contact through the existing contact-tracking gate and relink earlier memories. Group semantic contact creation is unchanged.
  • Share ownership and name-matching predicates and separate implicit speaker routing from structured attribution.

Validation: npm run gate:pre-pr passed on 933039041554e18e9b4c886b741f464bb749fe8e: build, typecheck, structural hygiene, 191 selected tests, 19,225 unit tests (5 skipped), and 850 integration tests. Focused regressions cover group alias rejection, unnamed mixed citations, first-mention non-creation, recurring semantic subject linking, and contact-tracking gates.

Beads: psfn-framework-d5e0p.6, .7, .9, .10, .12. Acceptance wording for .7 and .12 now explicitly describes the stored name fields and existing recurring-mention threshold. Live validation remains pending deployment. Historical data repair, transcript re-extraction, and retrieval changes are separate work.

@github-actions github-actions Bot added size:XL 801+ counted changed lines; 2,500-line publication ceiling system:memory Memory extraction, storage, retrieval, or governance system:prompts Prompt ownership, composition, or macros labels Oct 10, 2026
@axAilotl
axAilotl merged commit 45f1952 into main Oct 10, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 801+ counted changed lines; 2,500-line publication ceiling system:memory Memory extraction, storage, retrieval, or governance system:prompts Prompt ownership, composition, or macros

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant