Product requirements documentR1 · Test fixture

A review layer that survives the next draft.

Project Meadow keeps decisions attached to the claims that caused them—even when an AI-generated document changes shape.

Owner
Product Systems
Status
Draft for review
Target
Q4 2026
Review mode
Explicit decisions

Extension test bench

Three revisions, three anchoring cases

  1. Baseline: add comments to highlighted test phrases below.
  2. Ordinary edit: verifies quote recovery, duplicate context, and aliases.
  3. Destructive edit: removes one target so its thread should become detached.

01

Executive summary

Review should be part of generation, not a cleanup step.

Teams now review generated PRDs in chat threads, screenshots, and copied excerpts. The discussion is useful, but the document cannot carry those decisions into its next generation. Meadow introduces an independent annotation layer with durable text anchors and explicit resolution events.

The outcome is a review trail that remains legible to people and deterministic to generators. Open discussion stays open; accepted requests can change the next version; refused requests remain visible without changing the source.

02

Problem

The feedback exists. Its coordinates do not.

A reviewer can identify a risky sentence precisely in the current draft, but a regeneration may insert a paragraph, rename a heading, or rebuild the entire DOM. URL-only comments survive the deployment while losing the passage they were meant to discuss.

“A useful review system must preserve intent without pretending every old coordinate is still correct.”
A

Silent loss

Comments disappear when generated markup changes.

B

False recovery

A thread reattaches to similar but unrelated text.

C

Implied consent

A generator treats silence as permission to edit.

03

Decision policy

Conversation is context. A decision is an event.

A decision is valid only when an editor explicitly accepts or refuses the request. Conversation text can explain what should happen, but it never changes the effective decision by itself.

In the review workflow, the review layer must never infer consent from silence. An unanswered thread remains open and the next generator carries it forward without applying it.

StateGenerator behaviorAudit result
OpenCarry forward unchangedAwaiting decision
AcceptedApply requested changeReceipt required
RefusedLeave source unchangedReason retained

04

Scope

Start with text, threads, and trust boundaries.

In the first release

  • Select document text and start a thread.
  • Reply chronologically with author and time.
  • Isolate review data by Workspace.
  • Accept, refuse, or reopen through explicit actions.
  • Recover anchors after ordinary document edits.

Later

  • Pixel, canvas, video, and PDF regions
  • Live cursors and reviewer presence
  • Reactions, mentions, and notifications
  • Automated fuzzy reattachment approval
  • Multiple acting identities per user

05

Architecture

Keep page interaction local and authorization server-side.

01Content scriptSelection, ranges, Shadow DOM UI
02Service workerSession, active Workspace, API client
03Annotation APIAuthorization, events, revisions

The page never receives credentials, membership details, or another Workspace’s annotations. Selected quotes are the only source content stored by default; full pages are not uploaded.

06

Risks

Honest failure is safer than confident misattachment.

Medium

Native product overlap

Host platforms may add richer annotations. Cross-platform Workspaces and audit semantics must remain independently useful.

High

Generated DOM churn

When both the stable section identifier and the selected quote disappear, the thread must move to the detached tray instead of attaching to nearby prose.

Low

Permission fatigue

Use temporary active-tab access by default and request persistent host access only for verified artifact frames.

In the generation pipeline, the review layer must never infer consent from silence. This duplicate phrase has different surrounding context so quote disambiguation can be tested.

07

Rollout

Prove the anchor, then close the collaborative loop.

  1. M1
    Anchoring

    Select, comment, reply, reload, recover.

    Built
  2. M2
    Workspaces

    Google sign-in, invitations, authorization, realtime sync.

    Built
  3. M3
    Generation loop

    Stable IDs, OAuth context, conversations, receipts.

    Built

Working principle

Preserve the discussion. Require the decision. Never fake the coordinate.