Skip to content

EDIT-2: timestamped status notes in node quick-edit (TDD)#111

Merged
mvalancy merged 1 commit into
devfrom
feat/status-notes
Jun 18, 2026
Merged

EDIT-2: timestamped status notes in node quick-edit (TDD)#111
mvalancy merged 1 commit into
devfrom
feat/status-notes

Conversation

@mvalancy

Copy link
Copy Markdown
Member

Completes #96's primary ask: editable, timestamped status updates (like comments) on each node, in the quick-edit popover, stored under metadata.statusNotes.

  • New pure lib/statusNotes.ts (add/edit/delete/get) — unit-tested first (7/7); handles metadata as object or JSON string.
  • NodeQuickEdit "Status notes": add (timestamped) / inline-edit / delete. metadata is serialized to a JSON string on write — the schema's metadata field is String, so sending an object silently failed (caught by the reload test); reads parse it back.
  • Quick-edit overlay sources field data from the fresh Apollo nodes array (position from the sim node), so reopened editors show saved values.

Cloud Worker side (separate, already deployed): migration 0003 adds nodes.metadata; create/update persist it, reads return it — verified the note round-trips on production.

Tests: statusNotes unit 7/7; node-quick-edit @quickedit 3/3 incl. add note → survives full reload → delete. Typecheck clean.

🤖 Generated with Claude Code

Adds editable, timestamped status updates (like comments) to the node quick-edit
popover, stored under metadata.statusNotes. Completes #96's primary ask.

- New pure lib/statusNotes.ts (add/edit/delete/get) — unit-tested first (7/7),
  handles metadata as object OR JSON string.
- NodeQuickEdit: "Status notes" section — add (timestamped), inline-edit, delete;
  metadata is serialized to a JSON STRING on write (the schema's metadata field
  is String — sending an object silently failed; that was the bug the reload
  test caught), parsed on read.
- Quick-edit overlay sources field data from the Apollo nodes array (fresh) for
  position from the sim node, so reopened editors show saved values.

Tests: statusNotes unit 7/7; node-quick-edit @quickedit 3/3 incl. "add a note →
survives full reload → delete". THE GATE unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🧪 Comprehensive Test Suite

  • Unit suites (Node 18.x & 20.x) — core, web, server, mcp-server: ✅ passed
  • Installer & deploy config: ✅ passed

Full-stack smoke gate runs in the CI workflow.

@mvalancy mvalancy merged commit 6913e74 into dev Jun 18, 2026
16 checks passed
@mvalancy mvalancy deleted the feat/status-notes branch June 18, 2026 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant