From 1d3cb27ea0b56a211a2a828873a67dfbd33708c3 Mon Sep 17 00:00:00 2001 From: Michael Ramos Date: Tue, 29 Sep 2026 11:59:06 -0700 Subject: [PATCH 1/3] fix: hand off annotations in document order, in Plannotator's format refs #66 --- README.md | 5 + docs/lite-testing.md | 7 + rust/src/agent_delivery.rs | 2 +- rust/src/archive_workflow.rs | 6 +- rust/src/cli.rs | 4 +- rust/src/format.rs | 89 ++++++++----- rust/src/manager.rs | 20 +-- rust/src/store.rs | 39 +++++- rust/tests/commands.rs | 8 +- .../process.copy-archive.no-clipboard.json | 2 +- .../process.copy-archive.populated.json | 2 +- .../process.copy.no-clipboard.json | 49 ++----- .../lite-goldens/process.copy.populated.json | 49 ++----- scripts/lite-goldens/process.copy.single.json | 17 +-- .../screen.manager.all-views.json | 124 +++++++++--------- .../screen.manager.control-c-active.json | 14 +- .../screen.manager.control-c-archives.json | 18 +-- .../screen.manager.empty-actions.json | 8 +- .../screen.manager.escape-active.json | 14 +- .../screen.manager.escape-exit.json | 18 +-- .../screen.manager.q-archives.json | 18 +-- .../lite-goldens/screen.manager.sighup.json | 14 +- scripts/lite-goldens/store.cross-read.json | 17 +-- .../store.manager.active-c-success.json | 65 +++------ .../store.manager.active-y-success.json | 39 +++--- .../store.manager.archives-y-success.json | 54 +++----- .../store.manager.copy-archive.json | 65 +++------ .../store.manager.osc52-remote-copy-all.json | 65 +++------ ...ore.manager.osc52-remote-copy-archive.json | 65 +++------ .../store.manager.osc52-remote-copy.json | 39 +++--- 30 files changed, 394 insertions(+), 542 deletions(-) diff --git a/README.md b/README.md index 1a2e22c..7cf46b0 100644 --- a/README.md +++ b/README.md @@ -188,6 +188,11 @@ herdr server reload-config | `Ctrl+B Ctrl+S` | send all annotations as the focused agent's next message, then archive them | | `Ctrl+B M` | manage · `y` copy one · `c` copy all · `Shift+C` copy and archive · `Tab` archives (`y` copy · `u` restore · `d d` delete) | +Annotations are listed and handed off oldest first, in the order you wrote them, so the agent +reads your feedback in the same order you went through the text. The Markdown uses Plannotator's +feedback format: one numbered `## Annotation N` per note, headed with the workspace and tab it came +from, then `Comment on:` with the selected text and your comment as a `>` quote. + Copies made inside the manager pane also emit OSC 52, so on Herdr 0.9.0 they reach the clipboard of the machine you are viewing from even when the plugin runs on a remote server with no clipboard tool installed; `Ctrl+B Shift+A` and `Ctrl+B Ctrl+A` do not, because those actions run outside a pane and diff --git a/docs/lite-testing.md b/docs/lite-testing.md index c5b376e..b20a69a 100644 --- a/docs/lite-testing.md +++ b/docs/lite-testing.md @@ -60,6 +60,13 @@ Wayland, then xclip, then xsel. only for a deliberate behavior change, and read the diff: every rewritten line is a behavior the retired runtime no longer defines. +Deliberate re-records so far: + +- 0.8.0 (#66): annotations are listed and handed off oldest first instead of newest first, the + manager header reads `oldest first`, and the copied Markdown follows Plannotator's feedback + format (`# Annotations on terminal selections`, `## Annotation N (workspace / tab)`, + `Comment on:`, `>` comment). The store bytes and `bun-editor-annotations.jsonl` are unchanged. + ## Everything else | Check | Command | diff --git a/rust/src/agent_delivery.rs b/rust/src/agent_delivery.rs index ff1c950..6e1ec14 100644 --- a/rust/src/agent_delivery.rs +++ b/rust/src/agent_delivery.rs @@ -555,6 +555,6 @@ mod tests { *events.borrow(), ["load", "agent get", "agent prompt", "archive", "remove"] ); - assert!(prompted.borrow().find("selection two") < prompted.borrow().find("selection one")); + assert!(prompted.borrow().find("selection one") < prompted.borrow().find("selection two")); } } diff --git a/rust/src/archive_workflow.rs b/rust/src/archive_workflow.rs index 50f34d6..bb59f08 100644 --- a/rust/src/archive_workflow.rs +++ b/rust/src/archive_workflow.rs @@ -1,7 +1,7 @@ //! Recoverable deliver/archive and restore transitions. use crate::format::format_annotations; -use crate::store::{StoreResult, newest_first_annotations}; +use crate::store::{StoreResult, capture_order_annotations}; use crate::types::{Annotation, ArchivedAnnotationSet}; /// Dependencies for one copy-and-archive transition. @@ -48,7 +48,7 @@ where }; } if let Err(message) = - (dependencies.deliver)(format_annotations(&newest_first_annotations(&active))) + (dependencies.deliver)(format_annotations(&capture_order_annotations(&active))) { return CopyAndArchiveOutcome::StayOpen { message }; } @@ -199,7 +199,7 @@ mod tests { assert_eq!(outcome, CopyAndArchiveOutcome::Close { archived_count: 2 }); assert_eq!(*events.borrow(), ["load", "copy", "archive", "remove"]); assert!( - clipboard.borrow().find("selection two") < clipboard.borrow().find("selection one") + clipboard.borrow().find("selection one") < clipboard.borrow().find("selection two") ); assert_eq!(saved.borrow().as_ref(), Some(&archive(&["one", "two"]))); assert_eq!(*removed.borrow(), ["one", "two"]); diff --git a/rust/src/cli.rs b/rust/src/cli.rs index 7322ea3..cfbbab5 100644 --- a/rust/src/cli.rs +++ b/rust/src/cli.rs @@ -20,7 +20,7 @@ use crate::handoff::take_default_handoff; use crate::herdr::{notify, run_herdr, run_herdr_output}; use crate::paths::{normalize_windows_path, plugin_root, state_dir}; use crate::store::{ - append_archived_set, load_annotations, newest_first_annotations, remove_annotations_by_id, + append_archived_set, capture_order_annotations, load_annotations, remove_annotations_by_id, }; use crate::types::{ ArchivedAnnotationSet, PendingAnnotation, javascript_trim, parse_invocation_context, @@ -126,7 +126,7 @@ fn capture() -> Result<(), String> { fn copy_context() -> Result<(), String> { let dir = state_dir().ok_or_else(|| "HERDR_PLUGIN_STATE_DIR is not set".to_owned())?; - let annotations = newest_first_annotations(&load_annotations(&dir)?); + let annotations = capture_order_annotations(&load_annotations(&dir)?); if annotations.is_empty() { notify("No annotations", Some("There is nothing to copy yet.")); return Ok(()); diff --git a/rust/src/format.rs b/rust/src/format.rs index 2a16a95..8fb0bc3 100644 --- a/rust/src/format.rs +++ b/rust/src/format.rs @@ -63,7 +63,13 @@ fn fence_for(text: &str) -> String { "`".repeat((longest + 1).max(3)) } -/// Format saved annotations as portable, agent-neutral Markdown context. +/// Format saved annotations as the Markdown feedback Plannotator hands a coding agent. +/// +/// The shape follows plannotator-tui's export: `# Annotations on …`, then one numbered +/// `## Annotation N` per note in the order given, the quoted selection, and the comment as a +/// blockquote. Where Plannotator puts the line number in the heading, a terminal selection puts +/// the Herdr workspace and tab it came from. A one-line selection is quoted inline; a selection +/// spanning lines is fenced so its layout survives and quoted Markdown cannot escape. pub fn format_annotations(annotations: &[Annotation]) -> String { let sections = annotations .iter() @@ -77,41 +83,37 @@ pub fn format_annotations(annotations: &[Annotation]) -> String { .flatten() .collect::>() .join(" / "); - let fence = fence_for(&annotation.selected_text); - let metadata = if source.is_empty() { + let location = if source.is_empty() { String::new() } else { - format!("\nSource: {source}\n") + format!(" ({source})") }; - let lines = vec![ - format!("## Annotation {}", index + 1), - metadata, - "Selected text:".to_owned(), - String::new(), - fence.clone(), - annotation.selected_text.clone(), - fence, - String::new(), - "Comment:".to_owned(), - String::new(), - annotation.comment.clone(), - ]; - let mut filtered = Vec::new(); - for line in lines { - if line.is_empty() && filtered.last().is_some_and(String::is_empty) { - continue; - } - filtered.push(line); - } - filtered.join("\n") + let selection = annotation.selected_text.trim_matches(['\r', '\n']); + let quoted = if selection.contains('\n') { + let fence = fence_for(selection); + format!("Comment on:\n{fence}\n{selection}\n{fence}") + } else { + format!("Comment on: \"{}\"", selection.trim()) + }; + let comment = annotation + .comment + .trim() + .replace("\r\n", "\n") + .replace('\n', "\n> "); + format!( + "## Annotation {}{location}\n{quoted}\n> {comment}", + index + 1 + ) }) .collect::>() .join("\n\n"); - format!("# Annotated context\n\n{sections}\n") + format!("# Annotations on terminal selections\n\n{sections}\n") } #[cfg(test)] mod tests { + #![allow(clippy::expect_used, reason = "tests assert by panicking")] + use crate::types::{Annotation, InvocationContext}; use super::*; @@ -148,17 +150,36 @@ mod tests { } #[test] - fn markdown_contains_source_selection_and_comment() { - let output = format_annotations(&[annotation("failed to connect")]); - assert!(output.contains("# Annotated context")); - assert!(output.contains("Source: api / server")); - assert!(output.contains("failed to connect")); - assert!(output.contains("Check the database first.")); + fn markdown_matches_the_plannotator_feedback_shape() { + let mut second = annotation("line one\nline two\n"); + second.comment = "Why twice?\nPick one.".to_owned(); + second.context = InvocationContext::default(); + let output = format_annotations(&[annotation("failed to connect"), second]); + assert_eq!( + output, + "# Annotations on terminal selections\n\n\ + ## Annotation 1 (api / server)\n\ + Comment on: \"failed to connect\"\n\ + > Check the database first.\n\n\ + ## Annotation 2\n\ + Comment on:\n```\nline one\nline two\n```\n\ + > Why twice?\n> Pick one.\n" + ); + } + + #[test] + fn markdown_keeps_the_given_order() { + let mut second = annotation("second"); + second.comment = "comment two".to_owned(); + let output = format_annotations(&[annotation("first"), second]); + let first = output.find("\"first\"").expect("first"); + let second = output.find("\"second\"").expect("second"); + assert!(first < second); } #[test] fn markdown_uses_a_longer_fence_for_backticks() { - let output = format_annotations(&[annotation("```example```")]); - assert!(output.contains("````\n```example```\n````")); + let output = format_annotations(&[annotation("```example```\nmore")]); + assert!(output.contains("````\n```example```\nmore\n````")); } } diff --git a/rust/src/manager.rs b/rust/src/manager.rs index 3a57f0f..673b524 100644 --- a/rust/src/manager.rs +++ b/rust/src/manager.rs @@ -23,9 +23,8 @@ use crate::manager_copy::{ManagerCopyOutcome, copy_annotations}; use crate::pane_clipboard::{emit_to_terminal, write_pane_clipboard}; use crate::paths::state_dir; use crate::store::{ - append_archived_set, load_annotations, load_archived_sets, merge_annotations, - newest_first_annotations, newest_first_archived_sets, remove_annotations_by_id, - remove_archived_set, + append_archived_set, capture_order_annotations, load_annotations, load_archived_sets, + merge_annotations, newest_first_archived_sets, remove_annotations_by_id, remove_archived_set, }; use crate::termination::Termination; use crate::types::{Annotation, ArchivedAnnotationSet}; @@ -80,7 +79,7 @@ impl ManagerApp { fn reload_active(&mut self) -> bool { match load_annotations(&self.dir) { Ok(annotations) => { - self.annotations = newest_first_annotations(&annotations); + self.annotations = capture_order_annotations(&annotations); self.active_selected = clamp_selection(self.active_selected, self.annotations.len()); true @@ -172,7 +171,7 @@ impl ManagerApp { frame, 1, 0, - &format!("Annotations ({}) newest first", self.annotations.len()), + &format!("Annotations ({}) oldest first", self.annotations.len()), list_width.saturating_sub(1), Style::default().add_modifier(Modifier::BOLD), ); @@ -379,7 +378,7 @@ impl ManagerApp { detail_width, Style::default().add_modifier(Modifier::BOLD), ); - let visible = newest_first_annotations(¤t.annotations); + let visible = capture_order_annotations(¤t.annotations); let preview_rows = rows.saturating_sub(8).max(1); for (index, annotation) in visible.iter().take(preview_rows).enumerate() { render_line( @@ -532,7 +531,7 @@ impl ManagerApp { let items = self .archives .get(self.archive_selected) - .map(|archive| newest_first_annotations(&archive.annotations)) + .map(|archive| capture_order_annotations(&archive.annotations)) .unwrap_or_default(); self.copy(&items); } @@ -806,7 +805,7 @@ mod tests { } #[test] - fn active_frame_is_newest_first_and_has_detail_and_keys() { + fn active_frame_is_oldest_first_and_has_detail_and_keys() { let dir = directory(); append_annotation(&dir, &annotation("one")).expect("one"); append_annotation(&dir, &annotation("two")).expect("two"); @@ -825,8 +824,9 @@ mod tests { .iter() .position(|row| row.contains("selection two")) .expect("two"); - assert!(two < one); - assert!(frame.iter().any(|row| row.contains("comment two"))); + assert!(one < two); + assert!(frame.iter().any(|row| row.contains("oldest first"))); + assert!(frame.iter().any(|row| row.contains("comment one"))); assert!(frame.iter().any(|row| row.contains("Shift+C copy+archive"))); let _ = fs::remove_dir_all(dir); } diff --git a/rust/src/store.rs b/rust/src/store.rs index bbf207c..210da0b 100644 --- a/rust/src/store.rs +++ b/rust/src/store.rs @@ -6,6 +6,7 @@ use std::io::{BufRead, BufReader, Write}; use std::path::{Path, PathBuf}; use std::time::{Duration, SystemTime, UNIX_EPOCH}; +use chrono::DateTime; use serde::Serialize; use serde_json::Value; use uuid::Uuid; @@ -61,9 +62,17 @@ impl Drop for StoreLockLease { } } -/// Present append-ordered annotations with the most recently saved first. -pub fn newest_first_annotations(annotations: &[Annotation]) -> Vec { - annotations.iter().rev().cloned().collect() +/// Present annotations in the order they were written, oldest first. +/// +/// Plannotator hands feedback to the agent in document order. Terminal selections from different +/// panes share no document, so the order the user worked in stands in for it: saved time, oldest +/// first. The sort is stable, so equal times keep store order, and a restored archive, which is +/// appended to the store, still takes its place among the older annotations. A record whose time +/// does not parse sorts before the rest, in store order. +pub fn capture_order_annotations(annotations: &[Annotation]) -> Vec { + let mut ordered = annotations.to_vec(); + ordered.sort_by_key(|annotation| DateTime::parse_from_rfc3339(&annotation.created_at).ok()); + ordered } /// Load the complete active store, rejecting malformed records instead of dropping data. @@ -459,15 +468,15 @@ mod tests { } #[test] - fn newest_first_does_not_mutate_storage_order() { + fn capture_order_keeps_store_order_for_equal_times_without_mutating_it() { let stored = vec![annotation("one"), annotation("two"), annotation("three")]; - let newest = newest_first_annotations(&stored); + let ordered = capture_order_annotations(&stored); assert_eq!( - newest + ordered .iter() .map(|item| item.id.as_str()) .collect::>(), - ["three", "two", "one"] + ["one", "two", "three"] ); assert_eq!( stored @@ -478,6 +487,22 @@ mod tests { ); } + #[test] + fn capture_order_puts_restored_older_annotations_first() { + let mut newer = annotation("newer"); + newer.created_at = "2026-08-09T10:11:13.000Z".to_owned(); + let mut restored = annotation("restored"); + restored.created_at = "2026-08-08T00:00:01.000Z".to_owned(); + let ordered = capture_order_annotations(&[newer, restored]); + assert_eq!( + ordered + .iter() + .map(|item| item.id.as_str()) + .collect::>(), + ["restored", "newer"] + ); + } + #[test] fn annotations_append_load_remove_and_merge() { let dir = temporary_directory(); diff --git a/rust/tests/commands.rs b/rust/tests/commands.rs index 1238c6c..f777ad0 100644 --- a/rust/tests/commands.rs +++ b/rust/tests/commands.rs @@ -240,11 +240,11 @@ fn send_archive_prompts_the_focused_agent_then_archives() { assert!(output.status.success(), "{output:?}"); assert!( calls.starts_with( - "agent\nget\nw1:p2\n--\nagent\nprompt\nw1:p2\n# Annotated context\n\n## Annotation 1\n" + "agent\nget\nw1:p2\n--\nagent\nprompt\nw1:p2\n# Annotations on terminal selections\n\n## Annotation 1" ), "{calls}" ); - assert!(calls.find("second selection") < calls.find("first selection")); + assert!(calls.find("first selection") < calls.find("second selection")); assert!(!calls.contains('\x1b'), "{calls}"); assert!(calls.ends_with( "--\nnotification\nshow\nAnnotations sent and archived\n--body\n\ @@ -266,12 +266,12 @@ fn paste_archive_checks_the_agent_then_types_one_bracketed_paste() { assert!(output.status.success(), "{output:?}"); assert!( calls.starts_with( - "agent\nget\nw1:p2\n--\npane\nsend-text\nw1:p2\n\x1b[200~# Annotated context\n" + "agent\nget\nw1:p2\n--\npane\nsend-text\nw1:p2\n\x1b[200~# Annotations on terminal selections\n" ), "{calls}" ); assert!(calls.contains( - "first comment\n\x1b[201~\n--\nnotification\nshow\nAnnotations pasted and archived\n" + "second comment\n\x1b[201~\n--\nnotification\nshow\nAnnotations pasted and archived\n" )); assert_eq!(calls.matches('\x1b').count(), 2); assert_eq!(active(&state), ""); diff --git a/scripts/lite-goldens/process.copy-archive.no-clipboard.json b/scripts/lite-goldens/process.copy-archive.no-clipboard.json index 64839d3..c9161c2 100644 --- a/scripts/lite-goldens/process.copy-archive.no-clipboard.json +++ b/scripts/lite-goldens/process.copy-archive.no-clipboard.json @@ -1,7 +1,7 @@ { "process.copy-archive.no-clipboard.artifact": [ "{", - " \"clipboard\": \"# Annotated context\\n\\n## Annotation 1\\n\\nSource: api 한 / server\\n\\nSelected text:\\n\\n```\\nthird selection\\n```\\n\\nComment:\\n\\nthird comment\\n\\n## Annotation 2\\n\\nSource: api 한 / server\\n\\nSelected text:\\n\\n```\\nwide 한글 selection and enough text to exercise clipping at the detail edge\\n```\\n\\nComment:\\n\\nsecond comment\\n\\n## Annotation 3\\n\\nSource: api 한 / server\\n\\nSelected text:\\n\\n````\\nfirst selection with ``` ticks\\nand a second line\\n````\\n\\nComment:\\n\\nfirst comment\\nwith two lines\\n\",", + " \"clipboard\": \"# Annotations on terminal selections\\n\\n## Annotation 1 (api 한 / server)\\nComment on:\\n````\\nfirst selection with ``` ticks\\nand a second line\\n````\\n> first comment\\n> with two lines\\n\\n## Annotation 2 (api 한 / server)\\nComment on: \\\"wide 한글 selection and enough text to exercise clipping at the detail edge\\\"\\n> second comment\\n\\n## Annotation 3 (api 한 / server)\\nComment on: \\\"third selection\\\"\\n> third comment\\n\",", " \"state\": \"[\\n {\\n \\\"kind\\\": \\\"dir\\\",\\n \\\"mode\\\": \\\"0700\\\",\\n \\\"path\\\": \\\".\\\"\\n },\\n {\\n \\\"bytes\\\": \\\"{\\\\\\\"selectedText\\\\\\\":\\\\\\\"first selection with ``` ticks\\\\\\\\nand a second line\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-08T00:00:00.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-one\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"first comment\\\\\\\\nwith two lines\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-08T00:00:01.000Z\\\\\\\"}\\\\n{\\\\\\\"selectedText\\\\\\\":\\\\\\\"wide 한글 selection and enough text to exercise clipping at the detail edge\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-09T10:11:12.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-two\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"second comment\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-09T10:11:13.000Z\\\\\\\"}\\\\n{\\\\\\\"selectedText\\\\\\\":\\\\\\\"third selection\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-10T20:21:22.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-three\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"third comment\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-10T20:21:23.000Z\\\\\\\"}\\\\n\\\",\\n \\\"kind\\\": \\\"file\\\",\\n \\\"mode\\\": \\\"0600\\\",\\n \\\"path\\\": \\\"annotations.jsonl\\\"\\n },\\n {\\n \\\"bytes\\\": \\\"{\\\\\\\"version\\\\\\\":1,\\\\\\\"id\\\\\\\":\\\\\\\"archive-old\\\\\\\",\\\\\\\"archivedAt\\\\\\\":\\\\\\\"2026-08-20T01:02:03.000Z\\\\\\\",\\\\\\\"annotations\\\\\\\":[{\\\\\\\"selectedText\\\\\\\":\\\\\\\"first selection with ``` ticks\\\\\\\\nand a second line\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-08T00:00:00.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-one\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"first comment\\\\\\\\nwith two lines\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-08T00:00:01.000Z\\\\\\\"}]}\\\\n{\\\\\\\"version\\\\\\\":1,\\\\\\\"id\\\\\\\":\\\\\\\"archive-new\\\\\\\",\\\\\\\"archivedAt\\\\\\\":\\\\\\\"2026-08-21T01:02:03.000Z\\\\\\\",\\\\\\\"annotations\\\\\\\":[{\\\\\\\"selectedText\\\\\\\":\\\\\\\"wide 한글 selection and enough text to exercise clipping at the detail edge\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-09T10:11:12.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-two\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"second comment\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-09T10:11:13.000Z\\\\\\\"},{\\\\\\\"selectedText\\\\\\\":\\\\\\\"third selection\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-10T20:21:22.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-three\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"third comment\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-10T20:21:23.000Z\\\\\\\"}]}\\\\n\\\",\\n \\\"kind\\\": \\\"file\\\",\\n \\\"mode\\\": \\\"0600\\\",\\n \\\"path\\\": \\\"archives.jsonl\\\"\\n }\\n]\\n\"", "}" ], diff --git a/scripts/lite-goldens/process.copy-archive.populated.json b/scripts/lite-goldens/process.copy-archive.populated.json index 468bcd2..a66cc2c 100644 --- a/scripts/lite-goldens/process.copy-archive.populated.json +++ b/scripts/lite-goldens/process.copy-archive.populated.json @@ -1,7 +1,7 @@ { "process.copy-archive.populated.artifact": [ "{", - " \"clipboard\": \"# Annotated context\\n\\n## Annotation 1\\n\\nSource: api 한 / server\\n\\nSelected text:\\n\\n```\\nthird selection\\n```\\n\\nComment:\\n\\nthird comment\\n\\n## Annotation 2\\n\\nSource: api 한 / server\\n\\nSelected text:\\n\\n```\\nwide 한글 selection and enough text to exercise clipping at the detail edge\\n```\\n\\nComment:\\n\\nsecond comment\\n\\n## Annotation 3\\n\\nSource: api 한 / server\\n\\nSelected text:\\n\\n````\\nfirst selection with ``` ticks\\nand a second line\\n````\\n\\nComment:\\n\\nfirst comment\\nwith two lines\\n\",", + " \"clipboard\": \"# Annotations on terminal selections\\n\\n## Annotation 1 (api 한 / server)\\nComment on:\\n````\\nfirst selection with ``` ticks\\nand a second line\\n````\\n> first comment\\n> with two lines\\n\\n## Annotation 2 (api 한 / server)\\nComment on: \\\"wide 한글 selection and enough text to exercise clipping at the detail edge\\\"\\n> second comment\\n\\n## Annotation 3 (api 한 / server)\\nComment on: \\\"third selection\\\"\\n> third comment\\n\",", " \"state\": \"[\\n {\\n \\\"kind\\\": \\\"dir\\\",\\n \\\"mode\\\": \\\"0700\\\",\\n \\\"path\\\": \\\".\\\"\\n },\\n {\\n \\\"bytes\\\": \\\"\\\",\\n \\\"kind\\\": \\\"file\\\",\\n \\\"mode\\\": \\\"0600\\\",\\n \\\"path\\\": \\\"annotations.jsonl\\\"\\n },\\n {\\n \\\"bytes\\\": \\\"{\\\\\\\"version\\\\\\\":1,\\\\\\\"id\\\\\\\":\\\\\\\"archive-old\\\\\\\",\\\\\\\"archivedAt\\\\\\\":\\\\\\\"2026-08-20T01:02:03.000Z\\\\\\\",\\\\\\\"annotations\\\\\\\":[{\\\\\\\"selectedText\\\\\\\":\\\\\\\"first selection with ``` ticks\\\\\\\\nand a second line\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-08T00:00:00.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-one\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"first comment\\\\\\\\nwith two lines\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-08T00:00:01.000Z\\\\\\\"}]}\\\\n{\\\\\\\"version\\\\\\\":1,\\\\\\\"id\\\\\\\":\\\\\\\"archive-new\\\\\\\",\\\\\\\"archivedAt\\\\\\\":\\\\\\\"2026-08-21T01:02:03.000Z\\\\\\\",\\\\\\\"annotations\\\\\\\":[{\\\\\\\"selectedText\\\\\\\":\\\\\\\"wide 한글 selection and enough text to exercise clipping at the detail edge\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-09T10:11:12.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-two\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"second comment\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-09T10:11:13.000Z\\\\\\\"},{\\\\\\\"selectedText\\\\\\\":\\\\\\\"third selection\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-10T20:21:22.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-three\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"third comment\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-10T20:21:23.000Z\\\\\\\"}]}\\\\n{\\\\\\\"version\\\\\\\":1,\\\\\\\"id\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"archivedAt\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"annotations\\\\\\\":[{\\\\\\\"selectedText\\\\\\\":\\\\\\\"first selection with ``` ticks\\\\\\\\nand a second line\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-08T00:00:00.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-one\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"first comment\\\\\\\\nwith two lines\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-08T00:00:01.000Z\\\\\\\"},{\\\\\\\"selectedText\\\\\\\":\\\\\\\"wide 한글 selection and enough text to exercise clipping at the detail edge\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-09T10:11:12.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-two\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"second comment\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-09T10:11:13.000Z\\\\\\\"},{\\\\\\\"selectedText\\\\\\\":\\\\\\\"third selection\\\\\\\",\\\\\\\"capturedAt\\\\\\\":\\\\\\\"2026-08-10T20:21:22.000Z\\\\\\\",\\\\\\\"context\\\\\\\":{\\\\\\\"workspace_id\\\\\\\":\\\\\\\"workspace-1\\\\\\\",\\\\\\\"workspace_label\\\\\\\":\\\\\\\"api 한\\\\\\\",\\\\\\\"tab_id\\\\\\\":\\\\\\\"tab-1\\\\\\\",\\\\\\\"tab_label\\\\\\\":\\\\\\\"server\\\\\\\",\\\\\\\"focused_pane_id\\\\\\\":\\\\\\\"pane-1\\\\\\\",\\\\\\\"focused_pane_cwd\\\\\\\":\\\\\\\"/workspace\\\\\\\",\\\\\\\"focused_pane_agent\\\\\\\":\\\\\\\"codex\\\\\\\"},\\\\\\\"id\\\\\\\":\\\\\\\"ann-three\\\\\\\",\\\\\\\"comment\\\\\\\":\\\\\\\"third comment\\\\\\\",\\\\\\\"createdAt\\\\\\\":\\\\\\\"2026-08-10T20:21:23.000Z\\\\\\\"}]}\\\\n\\\",\\n \\\"kind\\\": \\\"file\\\",\\n \\\"mode\\\": \\\"0600\\\",\\n \\\"path\\\": \\\"archives.jsonl\\\"\\n }\\n]\\n\"", "}" ], diff --git a/scripts/lite-goldens/process.copy.no-clipboard.json b/scripts/lite-goldens/process.copy.no-clipboard.json index f73a89e..203345b 100644 --- a/scripts/lite-goldens/process.copy.no-clipboard.json +++ b/scripts/lite-goldens/process.copy.no-clipboard.json @@ -1,50 +1,23 @@ { "process.copy.no-clipboard.artifact": [ - "# Annotated context", - "", - "## Annotation 1", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "third selection", - "```", - "", - "Comment:", - "", - "third comment", - "", - "## Annotation 2", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "wide 한글 selection and enough text to exercise clipping at the detail edge", - "```", - "", - "Comment:", - "", - "second comment", - "", - "## Annotation 3", - "", - "Source: api 한 / server", - "", - "Selected text:", + "# Annotations on terminal selections", "", + "## Annotation 1 (api 한 / server)", + "Comment on:", "````", "first selection with ``` ticks", "and a second line", "````", + "> first comment", + "> with two lines", "", - "Comment:", + "## Annotation 2 (api 한 / server)", + "Comment on: \"wide 한글 selection and enough text to exercise clipping at the detail edge\"", + "> second comment", "", - "first comment", - "with two lines", + "## Annotation 3 (api 한 / server)", + "Comment on: \"third selection\"", + "> third comment", "" ], "process.copy.no-clipboard.exit": [ diff --git a/scripts/lite-goldens/process.copy.populated.json b/scripts/lite-goldens/process.copy.populated.json index 6eccba4..98f3bfa 100644 --- a/scripts/lite-goldens/process.copy.populated.json +++ b/scripts/lite-goldens/process.copy.populated.json @@ -1,50 +1,23 @@ { "process.copy.populated.artifact": [ - "# Annotated context", - "", - "## Annotation 1", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "third selection", - "```", - "", - "Comment:", - "", - "third comment", - "", - "## Annotation 2", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "wide 한글 selection and enough text to exercise clipping at the detail edge", - "```", - "", - "Comment:", - "", - "second comment", - "", - "## Annotation 3", - "", - "Source: api 한 / server", - "", - "Selected text:", + "# Annotations on terminal selections", "", + "## Annotation 1 (api 한 / server)", + "Comment on:", "````", "first selection with ``` ticks", "and a second line", "````", + "> first comment", + "> with two lines", "", - "Comment:", + "## Annotation 2 (api 한 / server)", + "Comment on: \"wide 한글 selection and enough text to exercise clipping at the detail edge\"", + "> second comment", "", - "first comment", - "with two lines", + "## Annotation 3 (api 한 / server)", + "Comment on: \"third selection\"", + "> third comment", "" ], "process.copy.populated.exit": [ diff --git a/scripts/lite-goldens/process.copy.single.json b/scripts/lite-goldens/process.copy.single.json index 9dc238a..72ee353 100644 --- a/scripts/lite-goldens/process.copy.single.json +++ b/scripts/lite-goldens/process.copy.single.json @@ -1,22 +1,15 @@ { "process.copy.single.artifact": [ - "# Annotated context", - "", - "## Annotation 1", - "", - "Source: api 한 / server", - "", - "Selected text:", + "# Annotations on terminal selections", "", + "## Annotation 1 (api 한 / server)", + "Comment on:", "````", "first selection with ``` ticks", "and a second line", "````", - "", - "Comment:", - "", - "first comment", - "with two lines", + "> first comment", + "> with two lines", "" ], "process.copy.single.exit": [ diff --git a/scripts/lite-goldens/screen.manager.all-views.json b/scripts/lite-goldens/screen.manager.all-views.json index 06b6579..e9e0a59 100644 --- a/scripts/lite-goldens/screen.manager.all-views.json +++ b/scripts/lite-goldens/screen.manager.all-views.json @@ -15,10 +15,10 @@ "28" ], "screen.manager.all-views.screen.active-arrow-down": [ - " Annotations (3) newest first ", - " third selection │ Selected text ", + " Annotations (3) oldest first ", + " first selection with ``` ticks… │ Selected text ", " › wide 한·글· selection and enough… │ wide 한·글· selection and enough text to exercise clipping at ", - " first selection with ``` ticks… │ the detail edge ", + " third selection │ the detail edge ", " │ ", " │ ", " │ Comment ", @@ -45,14 +45,15 @@ " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], "screen.manager.all-views.screen.active-arrow-up": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -69,13 +70,12 @@ " │ ", " │ ", " │ ", - " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], "screen.manager.all-views.screen.active-clear": [ - " Annotations (0) newest first ", + " Annotations (0) oldest first ", " │ ", " No active annotations. │ ", " │ ", @@ -105,9 +105,9 @@ " All active annotations cleared. " ], "screen.manager.all-views.screen.active-clear-cancel": [ - " Annotations (2) newest first ", + " Annotations (2) oldest first ", " › wide 한·글· selection and enough… │ Selected text ", - " first selection with ``` ticks… │ wide 한·글· selection and enough text to exercise clipping at ", + " third selection │ wide 한·글· selection and enough text to exercise clipping at ", " │ the detail edge ", " │ ", " │ ", @@ -135,9 +135,9 @@ " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], "screen.manager.all-views.screen.active-clear-confirm": [ - " Annotations (2) newest first ", + " Annotations (2) oldest first ", " › wide 한·글· selection and enough… │ Selected text ", - " first selection with ``` ticks… │ wide 한·글· selection and enough text to exercise clipping at ", + " third selection │ wide 한·글· selection and enough text to exercise clipping at ", " │ the detail edge ", " │ ", " │ ", @@ -165,9 +165,9 @@ " Press Shift+D again to clear all active annotations · Esc cancel " ], "screen.manager.all-views.screen.active-clear-confirm-again": [ - " Annotations (2) newest first ", + " Annotations (2) oldest first ", " › wide 한·글· selection and enough… │ Selected text ", - " first selection with ``` ticks… │ wide 한·글· selection and enough text to exercise clipping at ", + " third selection │ wide 한·글· selection and enough text to exercise clipping at ", " │ the detail edge ", " │ ", " │ ", @@ -195,9 +195,9 @@ " Press Shift+D again to clear all active annotations · Esc cancel " ], "screen.manager.all-views.screen.active-delete": [ - " Annotations (2) newest first ", + " Annotations (2) oldest first ", " › wide 한·글· selection and enough… │ Selected text ", - " first selection with ``` ticks… │ wide 한·글· selection and enough text to exercise clipping at ", + " third selection │ wide 한·글· selection and enough text to exercise clipping at ", " │ the detail edge ", " │ ", " │ ", @@ -225,10 +225,10 @@ " Annotation deleted. " ], "screen.manager.all-views.screen.active-j": [ - " Annotations (3) newest first ", - " third selection │ Selected text ", + " Annotations (3) oldest first ", + " first selection with ``` ticks… │ Selected text ", " › wide 한·글· selection and enough… │ wide 한·글· selection and enough text to exercise clipping at ", - " first selection with ``` ticks… │ the detail edge ", + " third selection │ the detail edge ", " │ ", " │ ", " │ Comment ", @@ -255,15 +255,15 @@ " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], "screen.manager.all-views.screen.active-k": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", - " │ ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -280,7 +280,7 @@ " │ ", " │ ", " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], @@ -315,7 +315,7 @@ " " ], "screen.manager.all-views.screen.active-reload": [ - " Annotations (0) newest first ", + " Annotations (0) oldest first ", " │ ", " No active annotations. │ ", " │ ", @@ -350,8 +350,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", @@ -375,7 +375,7 @@ " j/k · y copy · u restore · d twice delete · Tab active · q " ], "screen.manager.all-views.screen.active-u-ignored": [ - " Annotations (0) newest first ", + " Annotations (0) oldest first ", " │ ", " No active annotations. │ ", " │ ", @@ -410,8 +410,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", @@ -440,8 +440,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", @@ -500,8 +500,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", @@ -530,8 +530,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", @@ -590,8 +590,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", @@ -620,8 +620,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", @@ -710,8 +710,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", @@ -740,8 +740,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", @@ -795,14 +795,14 @@ " 2 annotations restored. " ], "screen.manager.all-views.screen.archives-to-active": [ - " Annotations (2) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " │ ", + " Annotations (2) oldest first ", + " › wide 한·글· selection and enough… │ Selected text ", + " third selection │ wide 한·글· selection and enough text to exercise clipping at ", + " │ the detail edge ", " │ ", " │ ", " │ Comment ", - " │ third comment ", + " │ second comment ", " │ ", " │ ", " │ ", @@ -820,20 +820,20 @@ " │ ", " │ ", " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/9/2026, 10:11:13 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], "screen.manager.all-views.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", - " │ ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -850,7 +850,7 @@ " │ ", " │ ", " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], diff --git a/scripts/lite-goldens/screen.manager.control-c-active.json b/scripts/lite-goldens/screen.manager.control-c-active.json index a0bb864..679d41c 100644 --- a/scripts/lite-goldens/screen.manager.control-c-active.json +++ b/scripts/lite-goldens/screen.manager.control-c-active.json @@ -42,14 +42,15 @@ " " ], "screen.manager.control-c-active.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -66,8 +67,7 @@ " │ ", " │ ", " │ ", - " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ] diff --git a/scripts/lite-goldens/screen.manager.control-c-archives.json b/scripts/lite-goldens/screen.manager.control-c-archives.json index 3f37fd9..2a0800d 100644 --- a/scripts/lite-goldens/screen.manager.control-c-archives.json +++ b/scripts/lite-goldens/screen.manager.control-c-archives.json @@ -42,14 +42,15 @@ " " ], "screen.manager.control-c-archives.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -66,8 +67,7 @@ " │ ", " │ ", " │ ", - " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], @@ -77,8 +77,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", diff --git a/scripts/lite-goldens/screen.manager.empty-actions.json b/scripts/lite-goldens/screen.manager.empty-actions.json index f3c1fa5..025924f 100644 --- a/scripts/lite-goldens/screen.manager.empty-actions.json +++ b/scripts/lite-goldens/screen.manager.empty-actions.json @@ -15,7 +15,7 @@ "9" ], "screen.manager.empty-actions.screen.active-c": [ - " Annotations (0) newest first ", + " Annotations (0) oldest first ", " │ ", " No active annotations. │ ", " │ ", @@ -45,7 +45,7 @@ " Nothing to copy. " ], "screen.manager.empty-actions.screen.active-copy-archive": [ - " Annotations (0) newest first ", + " Annotations (0) oldest first ", " │ ", " No active annotations. │ ", " │ ", @@ -75,7 +75,7 @@ " Nothing to copy and archive. " ], "screen.manager.empty-actions.screen.active-y": [ - " Annotations (0) newest first ", + " Annotations (0) oldest first ", " │ ", " No active annotations. │ ", " │ ", @@ -195,7 +195,7 @@ " Nothing to copy. " ], "screen.manager.empty-actions.screen.initial": [ - " Annotations (0) newest first ", + " Annotations (0) oldest first ", " │ ", " No active annotations. │ ", " │ ", diff --git a/scripts/lite-goldens/screen.manager.escape-active.json b/scripts/lite-goldens/screen.manager.escape-active.json index d0d6ba8..5c8bd77 100644 --- a/scripts/lite-goldens/screen.manager.escape-active.json +++ b/scripts/lite-goldens/screen.manager.escape-active.json @@ -42,14 +42,15 @@ " " ], "screen.manager.escape-active.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -66,8 +67,7 @@ " │ ", " │ ", " │ ", - " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ] diff --git a/scripts/lite-goldens/screen.manager.escape-exit.json b/scripts/lite-goldens/screen.manager.escape-exit.json index 8881ef1..fc88b5c 100644 --- a/scripts/lite-goldens/screen.manager.escape-exit.json +++ b/scripts/lite-goldens/screen.manager.escape-exit.json @@ -42,14 +42,15 @@ " " ], "screen.manager.escape-exit.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -66,8 +67,7 @@ " │ ", " │ ", " │ ", - " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], @@ -77,8 +77,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", diff --git a/scripts/lite-goldens/screen.manager.q-archives.json b/scripts/lite-goldens/screen.manager.q-archives.json index 5094eea..fba2580 100644 --- a/scripts/lite-goldens/screen.manager.q-archives.json +++ b/scripts/lite-goldens/screen.manager.q-archives.json @@ -42,14 +42,15 @@ " " ], "screen.manager.q-archives.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -66,8 +67,7 @@ " │ ", " │ ", " │ ", - " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], @@ -77,8 +77,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", diff --git a/scripts/lite-goldens/screen.manager.sighup.json b/scripts/lite-goldens/screen.manager.sighup.json index 7ad315c..b5cb0f3 100644 --- a/scripts/lite-goldens/screen.manager.sighup.json +++ b/scripts/lite-goldens/screen.manager.sighup.json @@ -12,14 +12,15 @@ "2" ], "screen.manager.sighup.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -36,8 +37,7 @@ " │ ", " │ ", " │ ", - " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], diff --git a/scripts/lite-goldens/store.cross-read.json b/scripts/lite-goldens/store.cross-read.json index 818c3d5..0f79cd2 100644 --- a/scripts/lite-goldens/store.cross-read.json +++ b/scripts/lite-goldens/store.cross-read.json @@ -3,23 +3,16 @@ "0" ], "store.cross-read.markdown": [ - "# Annotated context", - "", - "## Annotation 1", - "", - "Source: api 한 / server", - "", - "Selected text:", + "# Annotations on terminal selections", "", + "## Annotation 1 (api 한 / server)", + "Comment on:", "```", "selected wide 한글 text", "with a second line", "```", - "", - "Comment:", - "", - "alpha 한글 é", - "bt", + "> alpha 한글 é", + "> bt", "" ], "store.cross-read.processes": [ diff --git a/scripts/lite-goldens/store.manager.active-c-success.json b/scripts/lite-goldens/store.manager.active-c-success.json index 6f50912..8a96a97 100644 --- a/scripts/lite-goldens/store.manager.active-c-success.json +++ b/scripts/lite-goldens/store.manager.active-c-success.json @@ -1,50 +1,23 @@ { "store.manager.active-c-success.clipboard": [ - "# Annotated context", - "", - "## Annotation 1", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "third selection", - "```", - "", - "Comment:", - "", - "third comment", - "", - "## Annotation 2", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "wide 한글 selection and enough text to exercise clipping at the detail edge", - "```", - "", - "Comment:", - "", - "second comment", - "", - "## Annotation 3", - "", - "Source: api 한 / server", - "", - "Selected text:", + "# Annotations on terminal selections", "", + "## Annotation 1 (api 한 / server)", + "Comment on:", "````", "first selection with ``` ticks", "and a second line", "````", + "> first comment", + "> with two lines", "", - "Comment:", + "## Annotation 2 (api 한 / server)", + "Comment on: \"wide 한글 selection and enough text to exercise clipping at the detail edge\"", + "> second comment", "", - "first comment", - "with two lines", + "## Annotation 3 (api 한 / server)", + "Comment on: \"third selection\"", + "> third comment", "" ], "store.manager.active-c-success.exit": [ @@ -52,7 +25,7 @@ ], "store.manager.active-c-success.osc52": [ "[", - " \"\\u001b]52;c;IyBBbm5vdGF0ZWQgY29udGV4dAoKIyMgQW5ub3RhdGlvbiAxCgpTb3VyY2U6IGFwaSDtlZwgLyBzZXJ2ZXIKClNlbGVjdGVkIHRleHQ6CgpgYGAKdGhpcmQgc2VsZWN0aW9uCmBgYAoKQ29tbWVudDoKCnRoaXJkIGNvbW1lbnQKCiMjIEFubm90YXRpb24gMgoKU291cmNlOiBhcGkg7ZWcIC8gc2VydmVyCgpTZWxlY3RlZCB0ZXh0OgoKYGBgCndpZGUg7ZWc6riAIHNlbGVjdGlvbiBhbmQgZW5vdWdoIHRleHQgdG8gZXhlcmNpc2UgY2xpcHBpbmcgYXQgdGhlIGRldGFpbCBlZGdlCmBgYAoKQ29tbWVudDoKCnNlY29uZCBjb21tZW50CgojIyBBbm5vdGF0aW9uIDMKClNvdXJjZTogYXBpIO2VnCAvIHNlcnZlcgoKU2VsZWN0ZWQgdGV4dDoKCmBgYGAKZmlyc3Qgc2VsZWN0aW9uIHdpdGggYGBgIHRpY2tzCmFuZCBhIHNlY29uZCBsaW5lCmBgYGAKCkNvbW1lbnQ6CgpmaXJzdCBjb21tZW50CndpdGggdHdvIGxpbmVzCg==\\u0007\"", + " \"\\u001b]52;c;IyBBbm5vdGF0aW9ucyBvbiB0ZXJtaW5hbCBzZWxlY3Rpb25zCgojIyBBbm5vdGF0aW9uIDEgKGFwaSDtlZwgLyBzZXJ2ZXIpCkNvbW1lbnQgb246CmBgYGAKZmlyc3Qgc2VsZWN0aW9uIHdpdGggYGBgIHRpY2tzCmFuZCBhIHNlY29uZCBsaW5lCmBgYGAKPiBmaXJzdCBjb21tZW50Cj4gd2l0aCB0d28gbGluZXMKCiMjIEFubm90YXRpb24gMiAoYXBpIO2VnCAvIHNlcnZlcikKQ29tbWVudCBvbjogIndpZGUg7ZWc6riAIHNlbGVjdGlvbiBhbmQgZW5vdWdoIHRleHQgdG8gZXhlcmNpc2UgY2xpcHBpbmcgYXQgdGhlIGRldGFpbCBlZGdlIgo+IHNlY29uZCBjb21tZW50CgojIyBBbm5vdGF0aW9uIDMgKGFwaSDtlZwgLyBzZXJ2ZXIpCkNvbW1lbnQgb246ICJ0aGlyZCBzZWxlY3Rpb24iCj4gdGhpcmQgY29tbWVudAo=\\u0007\"", "]" ], "store.manager.active-c-success.processes": [ @@ -93,15 +66,15 @@ " " ], "store.manager.active-c-success.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", - " │ ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -118,7 +91,7 @@ " │ ", " │ ", " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], diff --git a/scripts/lite-goldens/store.manager.active-y-success.json b/scripts/lite-goldens/store.manager.active-y-success.json index 1fc56d1..7844888 100644 --- a/scripts/lite-goldens/store.manager.active-y-success.json +++ b/scripts/lite-goldens/store.manager.active-y-success.json @@ -1,20 +1,15 @@ { "store.manager.active-y-success.clipboard": [ - "# Annotated context", + "# Annotations on terminal selections", "", - "## Annotation 1", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "third selection", - "```", - "", - "Comment:", - "", - "third comment", + "## Annotation 1 (api 한 / server)", + "Comment on:", + "````", + "first selection with ``` ticks", + "and a second line", + "````", + "> first comment", + "> with two lines", "" ], "store.manager.active-y-success.exit": [ @@ -22,7 +17,7 @@ ], "store.manager.active-y-success.osc52": [ "[", - " \"\\u001b]52;c;IyBBbm5vdGF0ZWQgY29udGV4dAoKIyMgQW5ub3RhdGlvbiAxCgpTb3VyY2U6IGFwaSDtlZwgLyBzZXJ2ZXIKClNlbGVjdGVkIHRleHQ6CgpgYGAKdGhpcmQgc2VsZWN0aW9uCmBgYAoKQ29tbWVudDoKCnRoaXJkIGNvbW1lbnQK\\u0007\"", + " \"\\u001b]52;c;IyBBbm5vdGF0aW9ucyBvbiB0ZXJtaW5hbCBzZWxlY3Rpb25zCgojIyBBbm5vdGF0aW9uIDEgKGFwaSDtlZwgLyBzZXJ2ZXIpCkNvbW1lbnQgb246CmBgYGAKZmlyc3Qgc2VsZWN0aW9uIHdpdGggYGBgIHRpY2tzCmFuZCBhIHNlY29uZCBsaW5lCmBgYGAKPiBmaXJzdCBjb21tZW50Cj4gd2l0aCB0d28gbGluZXMK\\u0007\"", "]" ], "store.manager.active-y-success.processes": [ @@ -63,15 +58,15 @@ " " ], "store.manager.active-y-success.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", - " │ ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -88,7 +83,7 @@ " │ ", " │ ", " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], diff --git a/scripts/lite-goldens/store.manager.archives-y-success.json b/scripts/lite-goldens/store.manager.archives-y-success.json index a52d6e0..80cbc69 100644 --- a/scripts/lite-goldens/store.manager.archives-y-success.json +++ b/scripts/lite-goldens/store.manager.archives-y-success.json @@ -1,34 +1,14 @@ { "store.manager.archives-y-success.clipboard": [ - "# Annotated context", + "# Annotations on terminal selections", "", - "## Annotation 1", + "## Annotation 1 (api 한 / server)", + "Comment on: \"wide 한글 selection and enough text to exercise clipping at the detail edge\"", + "> second comment", "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "third selection", - "```", - "", - "Comment:", - "", - "third comment", - "", - "## Annotation 2", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "wide 한글 selection and enough text to exercise clipping at the detail edge", - "```", - "", - "Comment:", - "", - "second comment", + "## Annotation 2 (api 한 / server)", + "Comment on: \"third selection\"", + "> third comment", "" ], "store.manager.archives-y-success.exit": [ @@ -36,7 +16,7 @@ ], "store.manager.archives-y-success.osc52": [ "[", - " \"\\u001b]52;c;IyBBbm5vdGF0ZWQgY29udGV4dAoKIyMgQW5ub3RhdGlvbiAxCgpTb3VyY2U6IGFwaSDtlZwgLyBzZXJ2ZXIKClNlbGVjdGVkIHRleHQ6CgpgYGAKdGhpcmQgc2VsZWN0aW9uCmBgYAoKQ29tbWVudDoKCnRoaXJkIGNvbW1lbnQKCiMjIEFubm90YXRpb24gMgoKU291cmNlOiBhcGkg7ZWcIC8gc2VydmVyCgpTZWxlY3RlZCB0ZXh0OgoKYGBgCndpZGUg7ZWc6riAIHNlbGVjdGlvbiBhbmQgZW5vdWdoIHRleHQgdG8gZXhlcmNpc2UgY2xpcHBpbmcgYXQgdGhlIGRldGFpbCBlZGdlCmBgYAoKQ29tbWVudDoKCnNlY29uZCBjb21tZW50Cg==\\u0007\"", + " \"\\u001b]52;c;IyBBbm5vdGF0aW9ucyBvbiB0ZXJtaW5hbCBzZWxlY3Rpb25zCgojIyBBbm5vdGF0aW9uIDEgKGFwaSDtlZwgLyBzZXJ2ZXIpCkNvbW1lbnQgb246ICJ3aWRlIO2VnOq4gCBzZWxlY3Rpb24gYW5kIGVub3VnaCB0ZXh0IHRvIGV4ZXJjaXNlIGNsaXBwaW5nIGF0IHRoZSBkZXRhaWwgZWRnZSIKPiBzZWNvbmQgY29tbWVudAoKIyMgQW5ub3RhdGlvbiAyIChhcGkg7ZWcIC8gc2VydmVyKQpDb21tZW50IG9uOiAidGhpcmQgc2VsZWN0aW9uIgo+IHRoaXJkIGNvbW1lbnQK\\u0007\"", "]" ], "store.manager.archives-y-success.processes": [ @@ -77,15 +57,15 @@ " " ], "store.manager.archives-y-success.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", - " │ ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -102,7 +82,7 @@ " │ ", " │ ", " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], @@ -112,8 +92,8 @@ " 8/20/2026, 1:02:03 AM · 1 anno… │ 8/21/2026, 1:02:03 AM ", " │ ", " │ 2 annotations ", - " │ 1. third selection ", - " │ 2. wide 한·글· selection and enough text to exercise clippin… ", + " │ 1. wide 한·글· selection and enough text to exercise clippin… ", + " │ 2. third selection ", " │ ", " │ ", " │ ", diff --git a/scripts/lite-goldens/store.manager.copy-archive.json b/scripts/lite-goldens/store.manager.copy-archive.json index aba6700..87243d2 100644 --- a/scripts/lite-goldens/store.manager.copy-archive.json +++ b/scripts/lite-goldens/store.manager.copy-archive.json @@ -1,50 +1,23 @@ { "store.manager.copy-archive.clipboard": [ - "# Annotated context", - "", - "## Annotation 1", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "third selection", - "```", - "", - "Comment:", - "", - "third comment", - "", - "## Annotation 2", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "wide 한글 selection and enough text to exercise clipping at the detail edge", - "```", - "", - "Comment:", - "", - "second comment", - "", - "## Annotation 3", - "", - "Source: api 한 / server", - "", - "Selected text:", + "# Annotations on terminal selections", "", + "## Annotation 1 (api 한 / server)", + "Comment on:", "````", "first selection with ``` ticks", "and a second line", "````", + "> first comment", + "> with two lines", "", - "Comment:", + "## Annotation 2 (api 한 / server)", + "Comment on: \"wide 한글 selection and enough text to exercise clipping at the detail edge\"", + "> second comment", "", - "first comment", - "with two lines", + "## Annotation 3 (api 한 / server)", + "Comment on: \"third selection\"", + "> third comment", "" ], "store.manager.copy-archive.exit": [ @@ -52,7 +25,7 @@ ], "store.manager.copy-archive.osc52": [ "[", - " \"\\u001b]52;c;IyBBbm5vdGF0ZWQgY29udGV4dAoKIyMgQW5ub3RhdGlvbiAxCgpTb3VyY2U6IGFwaSDtlZwgLyBzZXJ2ZXIKClNlbGVjdGVkIHRleHQ6CgpgYGAKdGhpcmQgc2VsZWN0aW9uCmBgYAoKQ29tbWVudDoKCnRoaXJkIGNvbW1lbnQKCiMjIEFubm90YXRpb24gMgoKU291cmNlOiBhcGkg7ZWcIC8gc2VydmVyCgpTZWxlY3RlZCB0ZXh0OgoKYGBgCndpZGUg7ZWc6riAIHNlbGVjdGlvbiBhbmQgZW5vdWdoIHRleHQgdG8gZXhlcmNpc2UgY2xpcHBpbmcgYXQgdGhlIGRldGFpbCBlZGdlCmBgYAoKQ29tbWVudDoKCnNlY29uZCBjb21tZW50CgojIyBBbm5vdGF0aW9uIDMKClNvdXJjZTogYXBpIO2VnCAvIHNlcnZlcgoKU2VsZWN0ZWQgdGV4dDoKCmBgYGAKZmlyc3Qgc2VsZWN0aW9uIHdpdGggYGBgIHRpY2tzCmFuZCBhIHNlY29uZCBsaW5lCmBgYGAKCkNvbW1lbnQ6CgpmaXJzdCBjb21tZW50CndpdGggdHdvIGxpbmVzCg==\\u0007\"", + " \"\\u001b]52;c;IyBBbm5vdGF0aW9ucyBvbiB0ZXJtaW5hbCBzZWxlY3Rpb25zCgojIyBBbm5vdGF0aW9uIDEgKGFwaSDtlZwgLyBzZXJ2ZXIpCkNvbW1lbnQgb246CmBgYGAKZmlyc3Qgc2VsZWN0aW9uIHdpdGggYGBgIHRpY2tzCmFuZCBhIHNlY29uZCBsaW5lCmBgYGAKPiBmaXJzdCBjb21tZW50Cj4gd2l0aCB0d28gbGluZXMKCiMjIEFubm90YXRpb24gMiAoYXBpIO2VnCAvIHNlcnZlcikKQ29tbWVudCBvbjogIndpZGUg7ZWc6riAIHNlbGVjdGlvbiBhbmQgZW5vdWdoIHRleHQgdG8gZXhlcmNpc2UgY2xpcHBpbmcgYXQgdGhlIGRldGFpbCBlZGdlIgo+IHNlY29uZCBjb21tZW50CgojIyBBbm5vdGF0aW9uIDMgKGFwaSDtlZwgLyBzZXJ2ZXIpCkNvbW1lbnQgb246ICJ0aGlyZCBzZWxlY3Rpb24iCj4gdGhpcmQgY29tbWVudAo=\\u0007\"", "]" ], "store.manager.copy-archive.processes": [ @@ -93,15 +66,15 @@ " " ], "store.manager.copy-archive.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", - " │ ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -118,7 +91,7 @@ " │ ", " │ ", " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], diff --git a/scripts/lite-goldens/store.manager.osc52-remote-copy-all.json b/scripts/lite-goldens/store.manager.osc52-remote-copy-all.json index 4f32f07..0e0c5c5 100644 --- a/scripts/lite-goldens/store.manager.osc52-remote-copy-all.json +++ b/scripts/lite-goldens/store.manager.osc52-remote-copy-all.json @@ -1,50 +1,23 @@ { "store.manager.osc52-remote-copy-all.clipboard": [ - "# Annotated context", - "", - "## Annotation 1", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "third selection", - "```", - "", - "Comment:", - "", - "third comment", - "", - "## Annotation 2", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "wide 한글 selection and enough text to exercise clipping at the detail edge", - "```", - "", - "Comment:", - "", - "second comment", - "", - "## Annotation 3", - "", - "Source: api 한 / server", - "", - "Selected text:", + "# Annotations on terminal selections", "", + "## Annotation 1 (api 한 / server)", + "Comment on:", "````", "first selection with ``` ticks", "and a second line", "````", + "> first comment", + "> with two lines", "", - "Comment:", + "## Annotation 2 (api 한 / server)", + "Comment on: \"wide 한글 selection and enough text to exercise clipping at the detail edge\"", + "> second comment", "", - "first comment", - "with two lines", + "## Annotation 3 (api 한 / server)", + "Comment on: \"third selection\"", + "> third comment", "" ], "store.manager.osc52-remote-copy-all.exit": [ @@ -52,7 +25,7 @@ ], "store.manager.osc52-remote-copy-all.osc52": [ "[", - " \"\\u001b]52;c;IyBBbm5vdGF0ZWQgY29udGV4dAoKIyMgQW5ub3RhdGlvbiAxCgpTb3VyY2U6IGFwaSDtlZwgLyBzZXJ2ZXIKClNlbGVjdGVkIHRleHQ6CgpgYGAKdGhpcmQgc2VsZWN0aW9uCmBgYAoKQ29tbWVudDoKCnRoaXJkIGNvbW1lbnQKCiMjIEFubm90YXRpb24gMgoKU291cmNlOiBhcGkg7ZWcIC8gc2VydmVyCgpTZWxlY3RlZCB0ZXh0OgoKYGBgCndpZGUg7ZWc6riAIHNlbGVjdGlvbiBhbmQgZW5vdWdoIHRleHQgdG8gZXhlcmNpc2UgY2xpcHBpbmcgYXQgdGhlIGRldGFpbCBlZGdlCmBgYAoKQ29tbWVudDoKCnNlY29uZCBjb21tZW50CgojIyBBbm5vdGF0aW9uIDMKClNvdXJjZTogYXBpIO2VnCAvIHNlcnZlcgoKU2VsZWN0ZWQgdGV4dDoKCmBgYGAKZmlyc3Qgc2VsZWN0aW9uIHdpdGggYGBgIHRpY2tzCmFuZCBhIHNlY29uZCBsaW5lCmBgYGAKCkNvbW1lbnQ6CgpmaXJzdCBjb21tZW50CndpdGggdHdvIGxpbmVzCg==\\u0007\"", + " \"\\u001b]52;c;IyBBbm5vdGF0aW9ucyBvbiB0ZXJtaW5hbCBzZWxlY3Rpb25zCgojIyBBbm5vdGF0aW9uIDEgKGFwaSDtlZwgLyBzZXJ2ZXIpCkNvbW1lbnQgb246CmBgYGAKZmlyc3Qgc2VsZWN0aW9uIHdpdGggYGBgIHRpY2tzCmFuZCBhIHNlY29uZCBsaW5lCmBgYGAKPiBmaXJzdCBjb21tZW50Cj4gd2l0aCB0d28gbGluZXMKCiMjIEFubm90YXRpb24gMiAoYXBpIO2VnCAvIHNlcnZlcikKQ29tbWVudCBvbjogIndpZGUg7ZWc6riAIHNlbGVjdGlvbiBhbmQgZW5vdWdoIHRleHQgdG8gZXhlcmNpc2UgY2xpcHBpbmcgYXQgdGhlIGRldGFpbCBlZGdlIgo+IHNlY29uZCBjb21tZW50CgojIyBBbm5vdGF0aW9uIDMgKGFwaSDtlZwgLyBzZXJ2ZXIpCkNvbW1lbnQgb246ICJ0aGlyZCBzZWxlY3Rpb24iCj4gdGhpcmQgY29tbWVudAo=\\u0007\"", "]" ], "store.manager.osc52-remote-copy-all.processes": [ @@ -93,15 +66,15 @@ " " ], "store.manager.osc52-remote-copy-all.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", - " │ ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -118,7 +91,7 @@ " │ ", " │ ", " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], diff --git a/scripts/lite-goldens/store.manager.osc52-remote-copy-archive.json b/scripts/lite-goldens/store.manager.osc52-remote-copy-archive.json index 356b347..be72ff5 100644 --- a/scripts/lite-goldens/store.manager.osc52-remote-copy-archive.json +++ b/scripts/lite-goldens/store.manager.osc52-remote-copy-archive.json @@ -1,50 +1,23 @@ { "store.manager.osc52-remote-copy-archive.clipboard": [ - "# Annotated context", - "", - "## Annotation 1", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "third selection", - "```", - "", - "Comment:", - "", - "third comment", - "", - "## Annotation 2", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "wide 한글 selection and enough text to exercise clipping at the detail edge", - "```", - "", - "Comment:", - "", - "second comment", - "", - "## Annotation 3", - "", - "Source: api 한 / server", - "", - "Selected text:", + "# Annotations on terminal selections", "", + "## Annotation 1 (api 한 / server)", + "Comment on:", "````", "first selection with ``` ticks", "and a second line", "````", + "> first comment", + "> with two lines", "", - "Comment:", + "## Annotation 2 (api 한 / server)", + "Comment on: \"wide 한글 selection and enough text to exercise clipping at the detail edge\"", + "> second comment", "", - "first comment", - "with two lines", + "## Annotation 3 (api 한 / server)", + "Comment on: \"third selection\"", + "> third comment", "" ], "store.manager.osc52-remote-copy-archive.exit": [ @@ -52,7 +25,7 @@ ], "store.manager.osc52-remote-copy-archive.osc52": [ "[", - " \"\\u001b]52;c;IyBBbm5vdGF0ZWQgY29udGV4dAoKIyMgQW5ub3RhdGlvbiAxCgpTb3VyY2U6IGFwaSDtlZwgLyBzZXJ2ZXIKClNlbGVjdGVkIHRleHQ6CgpgYGAKdGhpcmQgc2VsZWN0aW9uCmBgYAoKQ29tbWVudDoKCnRoaXJkIGNvbW1lbnQKCiMjIEFubm90YXRpb24gMgoKU291cmNlOiBhcGkg7ZWcIC8gc2VydmVyCgpTZWxlY3RlZCB0ZXh0OgoKYGBgCndpZGUg7ZWc6riAIHNlbGVjdGlvbiBhbmQgZW5vdWdoIHRleHQgdG8gZXhlcmNpc2UgY2xpcHBpbmcgYXQgdGhlIGRldGFpbCBlZGdlCmBgYAoKQ29tbWVudDoKCnNlY29uZCBjb21tZW50CgojIyBBbm5vdGF0aW9uIDMKClNvdXJjZTogYXBpIO2VnCAvIHNlcnZlcgoKU2VsZWN0ZWQgdGV4dDoKCmBgYGAKZmlyc3Qgc2VsZWN0aW9uIHdpdGggYGBgIHRpY2tzCmFuZCBhIHNlY29uZCBsaW5lCmBgYGAKCkNvbW1lbnQ6CgpmaXJzdCBjb21tZW50CndpdGggdHdvIGxpbmVzCg==\\u0007\"", + " \"\\u001b]52;c;IyBBbm5vdGF0aW9ucyBvbiB0ZXJtaW5hbCBzZWxlY3Rpb25zCgojIyBBbm5vdGF0aW9uIDEgKGFwaSDtlZwgLyBzZXJ2ZXIpCkNvbW1lbnQgb246CmBgYGAKZmlyc3Qgc2VsZWN0aW9uIHdpdGggYGBgIHRpY2tzCmFuZCBhIHNlY29uZCBsaW5lCmBgYGAKPiBmaXJzdCBjb21tZW50Cj4gd2l0aCB0d28gbGluZXMKCiMjIEFubm90YXRpb24gMiAoYXBpIO2VnCAvIHNlcnZlcikKQ29tbWVudCBvbjogIndpZGUg7ZWc6riAIHNlbGVjdGlvbiBhbmQgZW5vdWdoIHRleHQgdG8gZXhlcmNpc2UgY2xpcHBpbmcgYXQgdGhlIGRldGFpbCBlZGdlIgo+IHNlY29uZCBjb21tZW50CgojIyBBbm5vdGF0aW9uIDMgKGFwaSDtlZwgLyBzZXJ2ZXIpCkNvbW1lbnQgb246ICJ0aGlyZCBzZWxlY3Rpb24iCj4gdGhpcmQgY29tbWVudAo=\\u0007\"", "]" ], "store.manager.osc52-remote-copy-archive.processes": [ @@ -93,15 +66,15 @@ " " ], "store.manager.osc52-remote-copy-archive.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", - " │ ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -118,7 +91,7 @@ " │ ", " │ ", " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], diff --git a/scripts/lite-goldens/store.manager.osc52-remote-copy.json b/scripts/lite-goldens/store.manager.osc52-remote-copy.json index 1b73ccf..45f0c3e 100644 --- a/scripts/lite-goldens/store.manager.osc52-remote-copy.json +++ b/scripts/lite-goldens/store.manager.osc52-remote-copy.json @@ -1,20 +1,15 @@ { "store.manager.osc52-remote-copy.clipboard": [ - "# Annotated context", + "# Annotations on terminal selections", "", - "## Annotation 1", - "", - "Source: api 한 / server", - "", - "Selected text:", - "", - "```", - "third selection", - "```", - "", - "Comment:", - "", - "third comment", + "## Annotation 1 (api 한 / server)", + "Comment on:", + "````", + "first selection with ``` ticks", + "and a second line", + "````", + "> first comment", + "> with two lines", "" ], "store.manager.osc52-remote-copy.exit": [ @@ -22,7 +17,7 @@ ], "store.manager.osc52-remote-copy.osc52": [ "[", - " \"\\u001b]52;c;IyBBbm5vdGF0ZWQgY29udGV4dAoKIyMgQW5ub3RhdGlvbiAxCgpTb3VyY2U6IGFwaSDtlZwgLyBzZXJ2ZXIKClNlbGVjdGVkIHRleHQ6CgpgYGAKdGhpcmQgc2VsZWN0aW9uCmBgYAoKQ29tbWVudDoKCnRoaXJkIGNvbW1lbnQK\\u0007\"", + " \"\\u001b]52;c;IyBBbm5vdGF0aW9ucyBvbiB0ZXJtaW5hbCBzZWxlY3Rpb25zCgojIyBBbm5vdGF0aW9uIDEgKGFwaSDtlZwgLyBzZXJ2ZXIpCkNvbW1lbnQgb246CmBgYGAKZmlyc3Qgc2VsZWN0aW9uIHdpdGggYGBgIHRpY2tzCmFuZCBhIHNlY29uZCBsaW5lCmBgYGAKPiBmaXJzdCBjb21tZW50Cj4gd2l0aCB0d28gbGluZXMK\\u0007\"", "]" ], "store.manager.osc52-remote-copy.processes": [ @@ -63,15 +58,15 @@ " " ], "store.manager.osc52-remote-copy.screen.initial": [ - " Annotations (3) newest first ", - " › third selection │ Selected text ", - " wide 한·글· selection and enough… │ third selection ", - " first selection with ``` ticks… │ ", + " Annotations (3) oldest first ", + " › first selection with ``` ticks… │ Selected text ", + " wide 한·글· selection and enough… │ first selection with ``` ticks ", + " third selection │ and a second line ", " │ ", " │ ", " │ Comment ", - " │ third comment ", - " │ ", + " │ first comment ", + " │ with two lines ", " │ ", " │ ", " │ ", @@ -88,7 +83,7 @@ " │ ", " │ ", " │ ", - " │ api 한· / server · 8/10/2026, 8:21:23 PM ", + " │ api 한· / server · 8/8/2026, 12:00:01 AM ", " │ ", " j/k · y copy · c all · Shift+C copy+archive · d delete · Shift+D clear · Tab archives · q " ], From a7907742a8c264caeffd9842b8ec2c151e92d952 Mon Sep 17 00:00:00 2001 From: Michael Ramos Date: Tue, 29 Sep 2026 11:59:11 -0700 Subject: [PATCH 2/3] chore: plugin 0.8.0 --- herdr-plugin.toml | 2 +- lite/herdr-plugin.toml | 2 +- windows-full/herdr-plugin.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/herdr-plugin.toml b/herdr-plugin.toml index 7c619d9..b07d0bc 100644 --- a/herdr-plugin.toml +++ b/herdr-plugin.toml @@ -1,6 +1,6 @@ id = "annotate" name = "Annotate" -version = "0.7.0" +version = "0.8.0" min_herdr_version = "0.8.0" description = "Comment on terminal selections and copy annotations as agent context." platforms = ["linux", "macos", "windows"] diff --git a/lite/herdr-plugin.toml b/lite/herdr-plugin.toml index 4730086..abfa37b 100644 --- a/lite/herdr-plugin.toml +++ b/lite/herdr-plugin.toml @@ -8,7 +8,7 @@ id = "annotate" name = "Annotate" -version = "0.7.0" +version = "0.8.0" min_herdr_version = "0.8.0" description = "Comment on terminal selections and copy annotations as agent context." platforms = ["linux", "macos", "windows"] diff --git a/windows-full/herdr-plugin.toml b/windows-full/herdr-plugin.toml index be6f9c5..e60c441 100644 --- a/windows-full/herdr-plugin.toml +++ b/windows-full/herdr-plugin.toml @@ -21,7 +21,7 @@ id = "annotate" name = "Annotate" -version = "0.7.0" +version = "0.8.0" min_herdr_version = "0.9.0" description = "Comment on terminal selections and copy annotations as agent context." platforms = ["windows"] From 86b50b7b46edf3f198455c7017042bc1464ea65a Mon Sep 17 00:00:00 2001 From: Michael Ramos Date: Tue, 29 Sep 2026 12:01:17 -0700 Subject: [PATCH 3/3] chore: herdr-annotate helper 0.2.0 --- herdr-annotate.version | 2 +- rust/Cargo.lock | 2 +- rust/Cargo.toml | 2 +- scripts/test-windows-full-manifest.py | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/herdr-annotate.version b/herdr-annotate.version index 6e8bf73..0ea3a94 100644 --- a/herdr-annotate.version +++ b/herdr-annotate.version @@ -1 +1 @@ -0.1.0 +0.2.0 diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 7660eed..4063d12 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -505,7 +505,7 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" [[package]] name = "herdr-annotate" -version = "0.1.0" +version = "0.2.0" dependencies = [ "chrono", "ratatui", diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 776114f..63602a8 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "herdr-annotate" -version = "0.1.0" +version = "0.2.0" edition = "2024" rust-version = "1.96" license = "MIT" diff --git a/scripts/test-windows-full-manifest.py b/scripts/test-windows-full-manifest.py index 1210273..3dda5e4 100644 --- a/scripts/test-windows-full-manifest.py +++ b/scripts/test-windows-full-manifest.py @@ -160,8 +160,8 @@ def check_distributed(path: Path, version_path: Path, native_version_path: Path) check_native_lite(path, manifest) if version_path.read_text(encoding="utf-8").strip() != "0.9.4": fail(version_path, "plannotator-tui.version is not 0.9.4") - if native_version_path.read_text(encoding="utf-8").strip() != "0.1.0": - fail(native_version_path, "herdr-annotate.version is not 0.1.0") + if native_version_path.read_text(encoding="utf-8").strip() != "0.2.0": + fail(native_version_path, "herdr-annotate.version is not 0.2.0") build_entries = builds(path, manifest) if len(build_entries) != 3: