# Notes highlight metadata

## 2026-09-26

Extend the shared highlight parser with optional `user` and `comment` attributes.
Reuse the inline/sidebar comments toggle, uikit Popover and comment rail.
Keep metadata outside source-mapped highlighted text; read-only views expose no edits. Preserve exact raw Markdown, colors, table cells, Unicode
and revision-safe edits. Unknown and duplicate attributes remain literal.

The Notes guide is the source for the generated public `dreamlake-notes` skill.
The Markdown authoring guide links its syntax and escaping contract. No CLI/SDK API change is needed: both already store arbitrary Markdown.
CLI 0.31.3 refreshes the bundled CLI skill with the same runnable example.
CLI/API HTML export continues to preserve rich directives as source text.

Release status: shipped 2026-09-26. App PR #483 merged and deployed to staging
and production at `897bb613d1fab2c4c5af9d26b2cc75bada019f23`.
Production deploy `6ab86d5cfe373a000853165b` published 2026-09-27T01:13:38.515Z;
staging deploy `6ab86cad8b20e000081df2d6` served the same commit.
Live checks covered popovers, direct highlight editing, shared sidebar cards,
Unicode, escaped metadata and keyboard access in tables. QA source and revision
remained unchanged; home and artifact routes returned 200 in both environments.
The user explicitly waived waiting for final CI; local browser regressions,
focused tests and TypeScript passed before deployment.

Docs 0.1.28 and CLI docs 0.31.3 were published and read back against generated web
output. Public skills PR #64 merged; fresh download and installed Notes/CLI skill
files matched. CLI 0.31.3 publication workflow succeeded; its versioned native
binary passed checksum verification and fresh bundled-skill installation.

## User checklist

- [x] Clicking highlighted text reveals its editable Markdown (companion app PR #484).
- [x] Reuse comment UI and the existing inline/sidebar toggle state.
- [x] Use uikit Popover for inline metadata and existing comment rail for sidebar mode.
- [x] Document existing CLI support with a full revision-safe matching-text example.
- [x] Ship app, docs and public skill and verify each live surface.

## 2026-09-26 follow-up — Hover and canonical handles

- [x] Remove the inline icon; hover or keyboard-focus the highlight for only its handle and comment.
- [x] Reuse the uikit tooltip primitive for the informational popover, without stealing editor focus.
- [x] Keep click-to-source editing, the shared toggle, and sidebar comment cards.
- [x] Insert canonical public handles and resolve exact personal profiles; never infer an account from a legacy name.
- [x] Preserve self-declared attribution and raw Markdown.
- [x] TypeScript, 2,606 unit tests (five skipped), browser regression, and visual preview pass.
- [x] Deploy and verify the correction, then publish docs and synchronized Notes/CLI skills.

App PR #487 shipped `62eb384aad328cfc6d51602cf84e655be5850dd1` to staging
(`6ab876d332937d0008df1e09`) and production (`6ab877685aec060008976389`,
published 2026-09-27T01:56:35.891Z). Live checks verified the minimal hover/focus
popover without an icon, direct source editing, the shared sidebar, exact public
profile resolution for `geyang`, and unresolved legacy names. Production QA source,
hash and RTC revision remained unchanged. Home and artifact routes returned 200.
Both dedicated QA notes were soft-deleted and temporary previews stopped.

The revised CLI example ran with an ETag precondition and exact readback on the
QA note. CLI #154 packages this guidance in 0.32.1; workspace #791 publishes docs
0.1.30; public skills #65 synchronizes the committed Notes and CLI sources.

Docs 0.1.30 shipped from workspace #791 merge
`328de60ba37821bf08c92d615fe9c150ffaa9664` in deploy
`6ab87a2a6c3922c0a35e964b`; live Notes/Markdown/dev-note pages and the permanent
version snapshot matched generated web output exactly. Public skills #65 merged
`d439e156de04bd3ea45b8d0e88e2d497f64ee298`, synchronized to that workspace commit
and CLI #154 merge `aba16ff689adf8cc36fd0416f835798f97eb443a`.
A fresh public clone passed current-source and 46-file integrity checks; the
installed Notes and CLI symlinks matched all 46 files after a clean fast-forward.
CLI 0.32.1 publication workflow `36288497772` succeeded from the reviewed
`aba16ff689adf8cc36fd0416f835798f97eb443a` commit. The public native darwin-arm64
binary reports 0.32.1; its SHA256
`2b0f8b033718ea7df714fa4ff21e438f9405ca7002ccc1000e08fe8223f2b6ec`
and byte size match the manifest, and an isolated install matches all 44 bundled
skill files. CLI docs 0.32.1 shipped in deploy `6ab8818ea90f29f9e975ebaf`;
rich-content and release-notes Markdown match generated output on both the public
site and permanent version alias. A fresh npm installation also reports 0.32.1
and matches all 44 bundled skill files. Both publication jobs passed; no further
local test runs were needed for these release records.

App CI run `36286802167` completed with formatting, component tests, build,
both E2E shards and end-to-end aggregation passing. Its final PR-state gate
reported the candidate superseded because the PR had already merged under the
user's instruction to deploy without waiting for CI; no test failed.
