Visitar URL original
PDF ingestion linking note retains misleading pending text and lacks useful navigation · Issue #1651 · basicmachines-co/basic-memory · GitHub
Skip to content

PDF ingestion linking note retains misleading pending text and lacks useful navigation #1651

Description

@groksrc

During the Memory Quest PDF walkthrough, the generated ingestion-run (linking) note continued to say:

Raw extraction accepted; exact storage materialization is pending.

Extraction had succeeded, the content note was readable, and the materialization jobs had run. The message looks like a current status and incorrectly suggests processing is still incomplete.

Code evidence

src/basic_memory/document_ingestion/raw_document.py, build_raw_ingestion_run_markdown, hardcodes this sentence into the run note body. It is creation-time text, not a live status indicator. The note's frontmatter already carries source and output references.

Proposed change

  • Replace the transient pending message with permanent, user-facing wording explaining that this note records the PDF extraction and connects the original document to its extracted text.
  • Include clickable links to the original PDF and the extracted content note, using supported note/file link conventions.
  • Avoid claiming that storage work is complete merely because extraction was accepted. If live processing status is needed, derive it from actual state rather than static prose.
  • Address existing generated notes containing the exact placeholder. Preserve user edits and extraction provenance; define a safe repair/backfill strategy rather than overwriting arbitrary note bodies.

Acceptance criteria

  • Newly generated linking notes explain their purpose and let the user open both the source PDF and extracted content.
  • Successful extraction does not leave a misleading permanent pending message.
  • Existing unedited placeholder notes have a supported repair path.
  • Tests cover generated text, link targets, and protection of user-edited content during any repair.

Discovered while testing the cloud Memory Quest PDF path. Keep this separate from the Memory Quest UI worktree; the generator is in core.

Activity

  1. claude commented on Oct 4, 2026

    @claude
    Contributor

    Claude finished @groksrc's task in 18s —— View job


    Triage

    • Type: Enhancement (misleading generated text plus missing navigation). The behavior is also a minor bug in the sense that the note reads as a live status.
    • Component: Document ingestion in core (src/basic_memory/document_ingestion/raw_document.py). It was found on the cloud PDF path, so I labeled it cloud.
    • Priority: Medium. This is a usability and trust issue with no data loss.
    • Complexity: Medium. Changing the generator text and adding links is simple. The backfill for existing notes is the harder part.

    Findings

    • I confirmed the hardcoded string is at raw_document.py:425. It is static creation-time text in the build_raw_ingestion_run_markdown body.
    • The issue's proposed scope is reasonable. Two design points need a decision before implementation:
      1. Link conventions. Decide how to link the original PDF and the extracted content note. Wikilinks work for notes. A non-markdown source may need a permalink or file path convention.
      2. Repair strategy. To protect user edits, rewrite only notes whose body matches the generated template exactly. The cleanest check is to rebuild the expected old body from the note's frontmatter and compare it. Skip anything that differs. This could run as a reindex-style or CLI repair command, or as a lazy fix on the next write.
    • Duplicates: I found none in a search of existing issues.

    I'm stopping at triage and have not implemented anything.

  2. added this to the v0.24.0 milestone on Oct 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    cloudBasic Memory CloudenhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions