Log entries: 'looks like a log entry, fix it?' repair hints for unparsed lines #53

Closed
opened 2026-09-24 15:36:03 +00:00 by kayg · 1 comment
Owner

Owner decision (PKM round, K11): lines inside ## 📝 Log that the parser cannot read as log entries are shown as plain text with a subtle hint "looks like a log entry, fix it?". One click rewrites only that line into canonical form (e.g. - 10am coffee w/ ana → - 10:00 coffee w/ ana) using the composer parser; the rest of the file keeps its exact bytes. calternal never normalizes on its own.

  • Detection via calternal-notes-core's composer/NLP parser (confidence threshold; no hint when unsure).
  • The fix is an If-Match line patch through the notes plugin, recorded in file versions, undoable.
  • Also surface structural issues gently: missing ## 📝 Log heading (calternal appends a fresh one at the end on the next log write, never guessing), duplicate Log headings (the first is used; hint offers to merge).

Context for the owning job

  • Repo: kayg/calternal (~/Developer/calternal). Read CLAUDE.md, CONTEXT.md and docs/DESIGN.md (§4, §9, §12, §17, §24, §29–§31) first.
  • Owner rules: file over app (plain files are the truth; the DB is a rebuildable index); the server is the single writer; data loss is unacceptable; performance first but never at the cost of finesse; UI in the calternal.js design system (Claude reviews screenshots); never ship sample/mock data; atomic commits; adversarial testing after API work; good enough, not perfect.
  • Comment on this issue when you start (branch, base SHA), on each finding, when blocked, and when finished (head SHA + gate output). Never close it.
Owner decision (PKM round, K11): lines inside `## 📝 Log` that the parser cannot read as log entries are shown as plain text with a subtle hint "looks like a log entry, fix it?". One click rewrites **only that line** into canonical form (e.g. `- 10am coffee w/ ana` → `- 10:00 coffee w/ ana`) using the composer parser; the rest of the file keeps its exact bytes. calternal never normalizes on its own. - Detection via calternal-notes-core's composer/NLP parser (confidence threshold; no hint when unsure). - The fix is an If-Match line patch through the notes plugin, recorded in file versions, undoable. - Also surface structural issues gently: missing `## 📝 Log` heading (calternal appends a fresh one at the end on the next log write, never guessing), duplicate Log headings (the first is used; hint offers to merge). ## Context for the owning job - Repo: kayg/calternal (~/Developer/calternal). Read CLAUDE.md, CONTEXT.md and docs/DESIGN.md (§4, §9, §12, §17, §24, §29–§31) first. - Owner rules: file over app (plain files are the truth; the DB is a rebuildable index); the server is the single writer; data loss is unacceptable; performance first but never at the cost of finesse; UI in the calternal.js design system (Claude reviews screenshots); never ship sample/mock data; atomic commits; adversarial testing after API work; good enough, not perfect. - Comment on this issue when you start (branch, base SHA), on each finding, when blocked, and when finished (head SHA + gate output). Never close it.
Author
Owner

Completed on dev in fd05c7015f (Merge calendar-r3: drag/resize/edit/delete log entries, turn into note, repair hints, CalDAV events (#42, #53, #69)).

Completed on dev in fd05c7015f4645a7531a89f43786e93523d28e42 (Merge calendar-r3: drag/resize/edit/delete log entries, turn into note, repair hints, CalDAV events (#42, #53, #69)).
kayg closed this issue 2026-10-01 05:08:52 +00:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#53
No description provided.