Summary
I found a reproducible Markdown edge case that can emit OpenKnowledge bridge warnings when a bullet list is immediately followed by a bold-label paragraph with no blank line between them.
Adding a blank line between the list and the bold-label paragraph appears to avoid the warning.
Environment
- OpenKnowledge:
v0.24.0 (latest published at time of filing)
- Install/run path:
npx -y @inkeep/open-knowledge
- Init flags:
ok init --no-mcp --local-only --content-dir content
- Run flags:
OK_MCP_AUTOSTART=0 OK_RECLAIM_DISABLE=1 ok start --host 127.0.0.1
- Content: local Markdown files only
- Browser: headless Chrome against local editor
Minimal Reproduction
Create a markdown file with this shape:
# Bridge warning reproduction
## Example
**Why not now:**
- First bullet
- Second bullet
- Third bullet
**Trigger to revisit:** This bold-label paragraph immediately follows the list.
Open the file in the OpenKnowledge editor, then stop OpenKnowledge.
Observed warning family:
bridge-split-brain-rederive
bridge-invariant-violation
The exact warning in my local minimized sandbox included:
{"event":"bridge-split-brain-rederive","doc.name":"_stage6c/watchlist-local-143-146-bullets-trigger","site":"post-merge"}
{"event":"bridge-invariant-violation","site":"persistence","doc.name":"_stage6c/watchlist-local-143-146-bullets-trigger","tolerance-class-attempted":"untracked","normalize-equal-modulo-tolerance":false}
Expected Behavior
OpenKnowledge should either:
- parse the Markdown without bridge invariant warnings, or
- normalize this CommonMark-adjacent ambiguity without reporting a split-brain / invariant violation.
Actual Behavior
The bridge warning appears when a bullet list is immediately followed by a bold-label paragraph with no blank line.
Confirmed Workaround
Insert one blank line between the list and the bold-label paragraph:
# Bridge warning reproduction
## Example
**Why not now:**
- First bullet
- Second bullet
- Third bullet
**Trigger to revisit:** This bold-label paragraph is separated by a blank line.
With that blank line inserted, I saw only tolerance messages such as:
commonmark-escape
emphasis-around-code
list-indent-canonical
blank-line-collapse
No bridge-split-brain-rederive or bridge-invariant-violation appeared in the normalized-copy pass.
Isolation Notes
This was tested in /private/tmp sandboxes only.
Controls that did not trigger the invariant warning:
- individual bullet lines
- bullet lists alone
- bold-label plus bullet list without the following bold-label paragraph
- full normalized copy with blank lines inserted before the following bold-label paragraphs
The warning appeared to require the multi-line list plus the immediately following bold-label paragraph.
Why This Might Matter
This Markdown pattern is common in notes and knowledge bases:
**Decision:** ...
- reason one
- reason two
**Next step:** ...
If OpenKnowledge's Markdown renderer and CRDT/bridge layer parse that boundary differently, users may see noisy invariant warnings even when no file is being intentionally edited.
Additional Candidate Reproduction
A second minimized pattern also reproduced a bridge invariant warning in my local sandbox:
# Wrapped list continuation reproduction
- Also read at session start: [[Team Knowledge/ai-agent-context]] — operating rules,
project status, and input source paths (cross-tool context shared by all hosts).
Observed warning:
{"event":"bridge-split-brain-rederive","doc.name":"_agents_stage9b/agents-foldermap-086-087-wrapped-continuation","site":"post-merge"}
{"event":"bridge-invariant-violation","site":"persistence","doc.name":"_agents_stage9b/agents-foldermap-086-087-wrapped-continuation","tolerance-class-attempted":"untracked","normalize-equal-modulo-tolerance":false}
This appears related to an unindented wrapped continuation line after a bullet item. Mini fixed variants did not trigger when the continuation line was indented or when the wrapped text was joined onto the same bullet line.
- Also read at session start: [[Team Knowledge/ai-agent-context]] — operating rules,
project status, and input source paths (cross-tool context shared by all hosts).
or:
- Also read at session start: [[Team Knowledge/ai-agent-context]] — operating rules, project status, and input source paths (cross-tool context shared by all hosts).
Context Interaction Note
One longer file also showed a residual bridge invariant warning even after the wrapped continuation was fixed. A cumulative build-up test found:
- Prefixes ending before the folder map were clean.
- The warning began when the first folder-map bullet was appended after the preceding sections.
- The same folder-map block tested in isolation did not warn.
This suggests there may be both standalone Markdown boundary edge cases and longer-document context interactions in the bridge. The minimal standalone snippets above should be enough to validate independently; the longer-document context interaction is noted in case the minimal snippets do not reproduce on your end.
Summary
I found a reproducible Markdown edge case that can emit OpenKnowledge bridge warnings when a bullet list is immediately followed by a bold-label paragraph with no blank line between them.
Adding a blank line between the list and the bold-label paragraph appears to avoid the warning.
Environment
v0.24.0(latest published at time of filing)npx -y @inkeep/open-knowledgeok init --no-mcp --local-only --content-dir contentOK_MCP_AUTOSTART=0 OK_RECLAIM_DISABLE=1 ok start --host 127.0.0.1Minimal Reproduction
Create a markdown file with this shape:
Open the file in the OpenKnowledge editor, then stop OpenKnowledge.
Observed warning family:
The exact warning in my local minimized sandbox included:
{"event":"bridge-split-brain-rederive","doc.name":"_stage6c/watchlist-local-143-146-bullets-trigger","site":"post-merge"} {"event":"bridge-invariant-violation","site":"persistence","doc.name":"_stage6c/watchlist-local-143-146-bullets-trigger","tolerance-class-attempted":"untracked","normalize-equal-modulo-tolerance":false}Expected Behavior
OpenKnowledge should either:
Actual Behavior
The bridge warning appears when a bullet list is immediately followed by a bold-label paragraph with no blank line.
Confirmed Workaround
Insert one blank line between the list and the bold-label paragraph:
With that blank line inserted, I saw only tolerance messages such as:
No
bridge-split-brain-rederiveorbridge-invariant-violationappeared in the normalized-copy pass.Isolation Notes
This was tested in
/private/tmpsandboxes only.Controls that did not trigger the invariant warning:
The warning appeared to require the multi-line list plus the immediately following bold-label paragraph.
Why This Might Matter
This Markdown pattern is common in notes and knowledge bases:
If OpenKnowledge's Markdown renderer and CRDT/bridge layer parse that boundary differently, users may see noisy invariant warnings even when no file is being intentionally edited.
Additional Candidate Reproduction
A second minimized pattern also reproduced a bridge invariant warning in my local sandbox:
Observed warning:
{"event":"bridge-split-brain-rederive","doc.name":"_agents_stage9b/agents-foldermap-086-087-wrapped-continuation","site":"post-merge"} {"event":"bridge-invariant-violation","site":"persistence","doc.name":"_agents_stage9b/agents-foldermap-086-087-wrapped-continuation","tolerance-class-attempted":"untracked","normalize-equal-modulo-tolerance":false}This appears related to an unindented wrapped continuation line after a bullet item. Mini fixed variants did not trigger when the continuation line was indented or when the wrapped text was joined onto the same bullet line.
or:
Context Interaction Note
One longer file also showed a residual bridge invariant warning even after the wrapped continuation was fixed. A cumulative build-up test found:
This suggests there may be both standalone Markdown boundary edge cases and longer-document context interactions in the bridge. The minimal standalone snippets above should be enough to validate independently; the longer-document context interaction is noted in case the minimal snippets do not reproduce on your end.