ZDDC/zddc/internal
ZDDC 48b8199ff7 feat(browse): filename-authoritative identity in the markdown editor
The four identity fields (tracking_number/title/revision/status) come from the
filename — the single source of truth that the register/WORM/ACL key off, never
the front matter. But they must stay in the front matter for the converter's
title block. Resolve the long-standing "front matter disagrees with filename"
nag without coupling the system to ZDDC naming:

- Sync-on-open: when the filename is ZDDC-parseable, mirror its identity into
  the front matter on open; if that corrects anything the buffer opens dirty so
  a save bakes it in. No-op for non-ZDDC names — the editor stays fully usable
  on arbitrary directories, where the front matter is the sole source.
- A manual edit to an identity field is treated as a cue to RENAME the file
  (the filename owns identity), not a value to keep: the old "filename wins,
  ignored" warning is replaced by an explicit "Rename file & reopen" button
  that saves, renames to the implied ZDDC name, and reopens it (server mode via
  the ?file deep-link; FS-Access via the moved handle).
- Reword the RecognizedFrontMatter hints from "the filename wins on mismatch"
  to "mirrors the filename — rename the file to change it".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 08:10:00 -05:00
..
apps chore(embedded): cut v0.0.27-beta 2026-06-08 06:50:27 -05:00
archive fix(archive): log swallowed walkdir errors during transmittal indexing 2026-05-21 16:41:29 -05:00
auth feat(server): self-issued bearer tokens + --no-auth flag 2026-05-08 07:40:28 -05:00
cache fix(cache): track background revalidation goroutines; drain on shutdown + in tests 2026-05-21 16:21:37 -05:00
config feat(server): local-only tool-HTML override; remove apps URL/version fetching 2026-06-04 08:59:28 -05:00
convert feat(browse): filename-authoritative identity in the markdown editor 2026-06-08 08:10:00 -05:00
fs feat(server): cascade-resolved display: labels for the canonical project peers 2026-06-05 17:48:46 -05:00
handler fix(server): party_source gate must not block writes to an established party 2026-06-08 07:59:44 -05:00
jsonschema feat(forms): augment served schema with cascade field_codes + locks 2026-05-19 09:58:21 -05:00
listing feat(browse): render default_tool=tables dirs (mdl/rsk/ssr) as click-to-table leaves 2026-06-05 17:18:47 -05:00
policy feat(policy): config-edit is a standing permission, not elevation-gated 2026-06-05 17:00:54 -05:00
tlsutil feat(server): TLS hardening per NIST SP 800-52 Rev. 2 + HSTS 2026-05-04 17:55:52 -05:00
zddc feat(server): cascade-resolved display: labels for the canonical project peers 2026-06-05 17:48:46 -05:00
zipfs feat(zddc): serve a .zip as a virtual directory (zipfs + dispatch intercept) 2026-05-12 12:17:47 -05:00