Skip to content

feat: archive submitted feedback to the shared plannotator index - #56

Merged
backnotprop merged 1 commit into
mainfrom
feat/feedback-archive-writer
Sep 1, 2026
Merged

feat: archive submitted feedback to the shared plannotator index#56
backnotprop merged 1 commit into
mainfrom
feat/feedback-archive-writer

Conversation

@backnotprop

Copy link
Copy Markdown
Contributor

Implements plannotator-tui's side of the shared feedback archive (Plannotator PR backnotprop/plannotator#1438, schema v1 frozen at 443e1fcf).

On every successful send (agent delivery or clipboard), one record is appended to {PLANNOTATOR_DATA_DIR}/feedback/{project}/index.jsonl with client: plannotator-tui, plus a -plannotator-tui-suffixed markdown sidecar for content-bearing records.

Contract points implemented:

  • lock-free O_APPEND whole-line append: one write call (write_all banned), Interrupted-only retry, terminate-don't-splice on partial, archiving never fails the send
  • surfaces annotate / annotate-folder / annotate-last; target.agent {host, session, transcript} for agent-message reviews; clientVersion stamped
  • origin in Plannotator's spellings (claude-code, copilot-cli, oh-my-pi)
  • opt-out parity: PLANNOTATOR_FEEDBACK_HISTORY env over feedbackHistory in the data dir's config.json over default-on
  • sidecar exclusive-create with collision counter, written before the index line

Pinned-byte test locks the exact v1 line shape; further tests cover collisions, decision-only lines, env/config knob semantics, host label mapping, and agent provenance.

DO NOT MERGE until Plannotator's #1438 merges (contract freeze) — the ops session confirms the merged sha first.

https://claude.ai/code/session_01L232F8ev8RX6Jwd7PepsUz

refs plannotator feedback-archive contract v1 (443e1fcf)
@backnotprop
backnotprop added this pull request to the merge queue Sep 1, 2026
Merged via the queue into main with commit 81c0d79 Sep 1, 2026
2 checks passed
@backnotprop
backnotprop deleted the feat/feedback-archive-writer branch September 1, 2026 18:27
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