You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A list item that is ordinary prose still mints a typed relation, taking its type
from the last word before the wikilink.
- Added [[Target Note]] to the roster
files that as a kind of relationship called Added. Nobody wrote a
relationship there — it is a sentence from a log.
This is the sibling of #1219 (timestamp-prefixed transcript lines) and #1241
(extended checkbox markers) on the relation side rather than the observation
side: a recognizer whose shape is broad enough to eat ordinary writing.
Steps To Reproduce
main at a7a8bfb679be04e6f84d93b79dd4ee20bb5bc6eb (2026-08-14).
The first three are prose. Only the fourth was written as a relation.
Note the trailing text is discarded silently: to the roster and every Sunday do not survive anywhere. The line is read as a relation and the
rest of the sentence is dropped.
Expected Behavior
Prose bullets should keep their links_to edge and produce no typed relation. - spouse_of [[Target Note]] must keep working.
#824 established the current grammar deliberately, and correctly: unquoted
labels must be a single token, multi-word labels must be quoted, and - some other thing [[Target]] falls through to inline handling. That closed
the case where a whole sentence became a relation type.
A single capitalized English word passes that test.Added is one token
with no whitespace, so by shape alone it is indistinguishable from a
hand-authored spouse_of. The surviving pattern is narrower and more specific
than the original: a sentence-initial capitalized word immediately before a
wikilink, inside a list item.
I don't think this was an oversight — #824's own scope note says the
explicit/inline distinction is ambiguous under the current syntax. This report is
about how much of that ambiguous middle zone is load-bearing in practice, which
turns out to be more than it looks.
Measured impact in a live vault
One real vault, indexed continuously for months, on a build carrying #824 plus a
local tightening that already rejects non-identifier types (dates, **, arrows):
The everyday writing that produces them is a dated log bullet mentioning a person
by wikilink — which is the shape most note-taking conventions actively encourage.
The more disciplined the logging, the more artifacts.
Mother is the instructive one. Somebody genuinely meant a relationship on that
line. The parser just had no business inventing its type out of the sentence.
Possible directions
Not prescribing, and each has a real cost:
Reject a type that is followed by more text after the wikilink. A genuine
relation line usually ends at the target or a (context). - Added [[X]] to the roster has a prose tail; - spouse_of [[X]] does not. Cheap and catches
most of the nine — but legitimately typed lines with trailing prose lose their
type.
Require lowercase for unquoted types. Kills Added/Mother/Calls, keeps spouse_of/relates_to/使用, and gives authors a quoted escape hatch that
already exists. Backward-incompatible for anyone using Requires [[X]] today.
Anchor to structure — only parse typed relations under a ## Relations
heading or behind an explicit marker. The only truly decidable option, and the
most disruptive.
Leave the grammar alone and document it, so downstream tools know a typed
edge is only as trustworthy as the vocabulary behind it.
Happy to open a PR for whichever direction you'd want, or none — the grammar call
is yours, and I'd rather you make it than have me guess.
Bug Description
A list item that is ordinary prose still mints a typed relation, taking its type
from the last word before the wikilink.
files that as a kind of relationship called
Added. Nobody wrote arelationship there — it is a sentence from a log.
This is the sibling of #1219 (timestamp-prefixed transcript lines) and #1241
(extended checkbox markers) on the relation side rather than the observation
side: a recognizer whose shape is broad enough to eat ordinary writing.
Steps To Reproduce
mainata7a8bfb679be04e6f84d93b79dd4ee20bb5bc6eb(2026-08-14).Actual Behavior
The first three are prose. Only the fourth was written as a relation.
Note the trailing text is discarded silently:
to the rosterandevery Sundaydo not survive anywhere. The line is read as a relation and therest of the sentence is dropped.
Expected Behavior
Prose bullets should keep their
links_toedge and produce no typed relation.- spouse_of [[Target Note]]must keep working.Why this survived #824
#824 established the current grammar deliberately, and correctly: unquoted
labels must be a single token, multi-word labels must be quoted, and
- some other thing [[Target]]falls through to inline handling. That closedthe case where a whole sentence became a relation type.
A single capitalized English word passes that test.
Addedis one tokenwith no whitespace, so by shape alone it is indistinguishable from a
hand-authored
spouse_of. The surviving pattern is narrower and more specificthan the original: a sentence-initial capitalized word immediately before a
wikilink, inside a list item.
I don't think this was an oversight — #824's own scope note says the
explicit/inline distinction is ambiguous under the current syntax. This report is
about how much of that ambiguous middle zone is load-bearing in practice, which
turns out to be more than it looks.
Measured impact in a live vault
One real vault, indexed continuously for months, on a build carrying #824 plus a
local tightening that already rejects non-identifier types (dates,
**, arrows):links_to)Added,Created,Rewrote,Updated,Links:,Calls,Mother,On,seeThe everyday writing that produces them is a dated log bullet mentioning a person
by wikilink — which is the shape most note-taking conventions actively encourage.
The more disciplined the logging, the more artifacts.
Motheris the instructive one. Somebody genuinely meant a relationship on thatline. The parser just had no business inventing its type out of the sentence.
Possible directions
Not prescribing, and each has a real cost:
relation line usually ends at the target or a
(context).- Added [[X]] to the rosterhas a prose tail;- spouse_of [[X]]does not. Cheap and catchesmost of the nine — but legitimately typed lines with trailing prose lose their
type.
Added/Mother/Calls, keepsspouse_of/relates_to/使用, and gives authors a quoted escape hatch thatalready exists. Backward-incompatible for anyone using
Requires [[X]]today.## Relationsheading or behind an explicit marker. The only truly decidable option, and the
most disruptive.
edge is only as trustworthy as the vocabulary behind it.
Happy to open a PR for whichever direction you'd want, or none — the grammar call
is yours, and I'd rather you make it than have me guess.