Bug Description
Timestamp-prefixed transcript lines are parsed as Basic Memory observations. A timecode such as [00:00:11] is accepted as an observation category, so ordinary speaker dialogue can mint false graph observations.
Steps To Reproduce
- Use current
main at bc5e6af860635981630586c69fee88b20b43615a (2026-08-09).
- Parse or index this synthetic Markdown content:
[00:00:11] Speaker: We chose the safer option.
- [00:01:42] Speaker: Follow up next week.
- [decision] Use the safer option.
- Inspect the parsed observations.
Expected Behavior
Only the explicitly structured [decision] line should become an observation. Timestamp-prefixed transcript lines should remain ordinary content, or otherwise require an unambiguous observation form.
Actual Behavior
The timestamp-prefixed lines become observations with categories 00:00:11 and 00:01:42, and their dialogue becomes observation content. This can pollute the knowledge graph when transcripts are indexed.
Environment
- Repository:
basicmachines-co/basic-memory
- Ref:
main
- Commit:
bc5e6af860635981630586c69fee88b20b43615a
- Commit date: 2026-08-09T18:14:52Z
Additional Context
The observation recognizer accepts any line matching the shape [anything-but-brackets-or-parentheses] content. That broad shape overlaps common transcript timecodes such as [HH:MM:SS] and [00:00:11].
A tested workaround is to wrap the timecode in inline code, for example:
`[00:00:11]` Speaker: text
This avoids the current leading-bracket match, but requires altering source transcript content.
This is related in spirit to the previously fixed false-positive parser cases in #247/#269 and #738/#769, but is a distinct timestamp-prefix case.
Possible Solution
Consider a narrow parser rule that distinguishes timestamp-shaped bracket prefixes from observation categories, or another syntax boundary that makes transcript lines unambiguous, while preserving valid categories such as [decision].
Bug Description
Timestamp-prefixed transcript lines are parsed as Basic Memory observations. A timecode such as
[00:00:11]is accepted as an observation category, so ordinary speaker dialogue can mint false graph observations.Steps To Reproduce
mainatbc5e6af860635981630586c69fee88b20b43615a(2026-08-09).Expected Behavior
Only the explicitly structured
[decision]line should become an observation. Timestamp-prefixed transcript lines should remain ordinary content, or otherwise require an unambiguous observation form.Actual Behavior
The timestamp-prefixed lines become observations with categories
00:00:11and00:01:42, and their dialogue becomes observation content. This can pollute the knowledge graph when transcripts are indexed.Environment
basicmachines-co/basic-memorymainbc5e6af860635981630586c69fee88b20b43615aAdditional Context
The observation recognizer accepts any line matching the shape
[anything-but-brackets-or-parentheses] content. That broad shape overlaps common transcript timecodes such as[HH:MM:SS]and[00:00:11].A tested workaround is to wrap the timecode in inline code, for example:
This avoids the current leading-bracket match, but requires altering source transcript content.
This is related in spirit to the previously fixed false-positive parser cases in #247/#269 and #738/#769, but is a distinct timestamp-prefix case.
Possible Solution
Consider a narrow parser rule that distinguishes timestamp-shaped bracket prefixes from observation categories, or another syntax boundary that makes transcript lines unambiguous, while preserving valid categories such as
[decision].