SIGN IN SIGN UP

fix: [ENG-2861] address PR #683 review feedback

- Daemon index regen is now deferred via postWorkRegistry instead of
  awaited inline. It runs after task:completed (off the user-facing
  latency path) and is per-project serialized — concurrent
  curate-html-direct / dream-finalize tasks can no longer race on
  _index.html. The CLI continueSession path stays inline (a single
  in-process invocation — no concurrency to serialize against) with a
  comment explaining the asymmetry.
- index-generator: drop the local ARCHIVED_DIR constant in favour of
  the canonical ARCHIVE_DIR from constants.ts; rename the root-topic
  bucket 'general' -> '_uncategorized' so it cannot collide with a
  real `general/` domain directory.
- readHtmlEntry now extracts <bv-topic> via the parse5-backed
  parseHtml instead of a regex — handles HTML comments, CDATA, and
  entity-escaped attribute values that a human-edited topic could
  carry.
- Markdown frontmatter tags: strip commas from individual tags before
  the comma-join so a tag containing a comma cannot corrupt the
  delimiter.
- generateContextTreeIndex accepts an optional `log` callback; the
  tree walker reports non-fatal readdir failures (permission/IO,
  distinct from ENOENT) so an incomplete index is diagnosable.
D
Danh Doan committed
d13f0be236995f1cba890ed02ec425bf7821ca39
Parent: ebaf3fd