Michael Ramos
64062af9a1
feat: Portable Guided Reviews — export, share links, agent-authored guides, guides.show ( #1324 )
...
A Guided Review can now leave Plannotator: as a single self-contained HTML file that renders exactly like the in-app guide, as an encrypted-by-default share link on guides.show, or authored by any agent through the new guide CLI.
Highlights: packages/guide-viewer extracted from review-editor at the injection seam (read-only host, no third renderer); guides.show Worker with R2-backed share storage, per-IP rate limiting on creation, delete tokens hashed at rest, and 128-bit ids; portable exports pin the viewer by SRI hash with budget and manifest gates in PR CI and at deploy; two-runtime parity across Bun and Pi verified; v0.27.x saved guides load unchanged. Retention is indefinite by explicit decision, to revisit with the lean sharing refactor.
Decision record: adr/decisions/007-portable-guided-reviews-20260815.md
2026-08-16 12:17:13 -07:00
..
2026-08-11 16:28:08 -07:00
2026-07-06 20:39:09 -07:00
2026-07-06 20:39:09 -07:00
2026-07-06 20:39:09 -07:00
2026-07-20 15:33:42 -07:00
2026-06-16 16:16:05 -07:00
2026-06-16 16:16:05 -07:00
2026-07-29 23:02:49 -07:00
2026-07-29 23:02:49 -07:00
2026-07-29 23:02:49 -07:00
2026-07-29 23:02:49 -07:00
2026-08-09 16:16:57 -07:00
2026-06-18 21:31:25 -07:00
2026-08-03 13:25:41 -07:00
2026-08-03 13:25:41 -07:00
2026-07-31 17:23:44 -07:00
2026-04-23 17:40:40 -07:00
2026-04-23 17:40:40 -07:00
2026-07-06 20:39:09 -07:00
2026-08-11 17:48:18 -07:00
2026-08-11 17:48:18 -07:00
2026-08-11 16:28:08 -07:00
2026-08-11 17:48:18 -07:00
2026-08-11 16:28:08 -07:00
2026-08-11 16:28:08 -07:00
2026-08-11 16:28:08 -07:00
2026-08-12 11:18:29 -07:00
2026-08-12 11:18:29 -07:00
2026-08-15 10:47:09 -07:00
2026-08-15 10:47:09 -07:00
2026-03-16 16:13:57 -07:00
2026-06-12 13:50:09 -07:00
2026-07-06 20:39:09 -07:00
2026-05-13 12:24:37 -07:00
2026-05-13 12:24:37 -07:00
2026-07-05 11:50:41 -07:00
2026-07-05 11:50:41 -07:00
2026-08-03 13:25:35 -07:00
2026-07-04 10:13:11 -07:00
2026-07-06 20:39:09 -07:00
2026-08-16 12:17:13 -07:00
2026-08-16 12:17:13 -07:00
2026-07-06 20:39:09 -07:00
2026-07-20 08:55:12 -07:00
2026-07-20 08:55:12 -07:00
2026-08-03 13:25:35 -07:00
2026-08-16 12:17:13 -07:00
2026-06-19 09:04:15 -07:00
2026-06-19 09:04:15 -07:00
2026-08-07 14:22:58 -07:00
2026-07-06 20:39:09 -07:00
2026-07-06 20:39:09 -07:00
2026-07-06 20:39:09 -07:00
2026-07-06 20:39:09 -07:00
2026-08-13 16:02:41 -07:00
2026-08-13 16:02:41 -07:00
2026-08-05 11:37:07 -07:00
2026-08-05 11:37:07 -07:00
2026-07-06 20:39:09 -07:00
2026-08-16 12:17:13 -07:00
2026-08-16 12:17:13 -07:00
2026-08-11 10:24:39 -07:00
2026-08-11 10:24:39 -07:00
2026-08-16 12:17:13 -07:00
2026-08-16 12:17:13 -07:00
2026-08-16 12:17:13 -07:00
2026-08-16 12:17:13 -07:00
2026-06-19 08:56:06 -07:00
2026-06-16 16:16:05 -07:00
2026-06-16 16:16:05 -07:00
2026-07-08 13:11:01 -07:00
2026-07-08 13:11:01 -07:00
2026-04-12 18:56:28 -07:00
2026-06-16 16:16:05 -07:00
2026-04-01 13:16:55 -07:00
2026-05-26 14:56:07 -07:00
2026-03-24 00:44:54 -07:00
2026-08-15 10:47:09 -07:00
2026-08-15 10:47:09 -07:00
2026-08-15 10:47:09 -07:00
2026-08-13 09:47:18 -07:00
2026-08-13 09:47:18 -07:00
2026-07-06 20:39:09 -07:00
2026-08-16 12:17:13 -07:00
2026-05-11 08:14:13 -04:00
2026-05-11 10:13:47 -04:00
2026-07-16 14:15:23 -07:00
2026-07-16 06:31:52 -07:00
2026-07-17 21:25:23 -07:00
2026-07-17 21:25:23 -07:00
2026-06-30 23:05:43 -07:00
2026-06-30 23:05:43 -07:00
2026-06-12 13:50:09 -07:00
2026-07-31 10:59:58 -07:00
2026-07-31 10:59:58 -07:00
2026-07-31 10:59:58 -07:00
2026-05-13 05:27:28 -07:00
2026-07-31 10:59:58 -07:00
2026-08-04 22:21:56 -07:00
2026-08-03 13:25:35 -07:00
2026-07-31 10:59:58 -07:00
2026-07-06 20:39:09 -07:00
2026-07-26 21:09:28 -07:00
2026-07-26 21:09:28 -07:00
2026-07-26 21:09:28 -07:00
2026-07-08 12:33:12 -07:00
2026-07-08 12:33:12 -07:00
2026-04-21 18:56:41 -07:00
2026-08-13 09:47:18 -07:00
2026-08-13 09:47:18 -07:00
2026-07-17 07:37:50 -07:00
2026-07-17 07:37:50 -07:00
2026-08-03 13:25:35 -07:00
2026-08-15 10:47:09 -07:00
2026-08-15 10:47:09 -07:00
2026-06-24 14:35:52 -07:00
2026-07-19 22:47:46 -07:00
2026-07-24 19:22:10 -07:00
2026-06-08 22:23:54 -07:00
2026-06-12 13:50:09 -07:00
2026-06-12 13:50:09 -07:00
2026-07-17 07:37:50 -07:00
2026-07-17 07:37:50 -07:00
2026-06-18 21:31:25 -07:00
2026-06-18 21:31:25 -07:00
2026-07-06 20:39:09 -07:00
2026-08-09 16:16:57 -07:00
2026-08-12 12:07:30 -07:00
2026-08-12 12:07:30 -07:00
2026-04-20 20:57:57 -07:00
2026-03-24 00:44:54 -07:00
2026-07-06 20:39:09 -07:00
2026-04-13 21:30:09 -07:00
2026-06-16 16:16:05 -07:00
2026-08-03 13:25:35 -07:00
2026-08-15 10:47:09 -07:00
2026-08-13 09:45:59 -07:00
2026-08-13 09:45:59 -07:00
2026-08-03 13:25:35 -07:00
2026-06-28 09:58:09 -07:00
2026-04-06 12:15:27 -07:00