Skip to content

docs(review): a public witness quotes no private content; editing a leaked comment is not enough - #5386

Merged
sonichi merged 4 commits into
mainfrom
review-witness-no-owner-content
Oct 12, 2026
Merged

sonichi merged 4 commits into
mainfrom
review-witness-no-owner-content

Conversation

@sonichi

@sonichi sonichi commented Oct 12, 2026 •

Copy link
Copy Markdown
Owner

What

REVIEW.md lesson 15 (the live-path witness gate) gains a publication rule, +11/-1:

  • A posted witness may not quote or closely paraphrase private production content from any participant (owner, agent or third party). It uses functional labels instead ("agent A, a status question").
  • Exact text is fine when it was written as publication-safe evidence, such as the test-run task files and transcripts CONTRIBUTING.md asks for, or when it was cleared for publication.
  • Redacting ids is not enough. Editing a leaked comment is not enough either, because anyone with read access can view a comment's edit history (GitHub docs). The remedies: delete and repost, or delete every sensitive revision from the history. Then check any replies and reviews that quote or paraphrase it.
  • The feat(skills): owner-agent-consult — ask a sibling agent of the same owner before answering #5293 witness is added to the lesson's grounding.

Why

The first live-witness comments on #5293 redacted room, agent and task IDs. They still quoted the owner's real question and two agents' real answers, which revealed what the owner asked and which personal accounts their agents handle. The owner had them deleted and reposted with functional labels. Whether text exposes owner context is a judgement, not a pattern, so this goes in the reviewer checklist and not in review-checks.sh.

Evidence

  • git diff origin/main --stat: REVIEW.md | 12 +++++++++++-, docs only.
  • python3 tests/review-preflight.test.py (parses REVIEW.md for review-preflight.py): OK, 44 tests.
  • Pre-push review-checks: hardcoded paths and root artifacts clean. Prose-cap had no in-scope files.

🤖 Generated with Claude Code

…l message text

Stand: Echo Act IV Pro
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonichi
sonichi requested a review from qingyun-wu as a code owner October 12, 2026 00:51
@sonichi
sonichi requested a review from keweichen October 12, 2026 00:51

@qingyun-wu qingyun-wu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve at 819d906. The 4 added lines in REVIEW.md lesson 15 are right, and they belong there, since REVIEW.md is the single source for review criteria.

  • Naming agents by role and describing messages by kind is the right bar. The #5293 witness (issuecomment-6115174901) quoted the owner's request and the answering agent's reply verbatim, and redacting ids wouldn't have hidden either.
  • "Deleted, not edited" is the correct remedy: GitHub keeps a comment's edit history visible to anyone who can read the PR.
  • The text is docs-only and in English, and it reads cleanly within the lesson without changing its existing criterion.

Nit, optional: the lesson's Grounded by: line could cite the #5293 witness as the second incident, so the new sentence has its own grounding like the rest of REVIEW.md.

@github-actions

Copy link
Copy Markdown
Contributor

Coverage Gate

✅ No Python changes — nothing to gate (bar: 95% on changed lines).

…cite GitHub history

Reconciles with CONTRIBUTING.md's transcript and task-file evidence: exact text
is fine when written as publication-safe evidence or cleared for publication.
Cites GitHub's edit-history docs, allows deleting sensitive revisions as well as
delete-and-repost, and grounds the rule in the #5293 witness.

Stand: Echo Act IV Pro
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonichi

sonichi commented Oct 12, 2026

Copy link
Copy Markdown
Owner Author

Revised at e34124c after @keweichen's in-room review.

  • Conflict with CONTRIBUTING.md (blocker 1): the rule now covers private production content only, from any participant: no quoting and no close paraphrase. It uses functional labels. Exact text is fine when it was written as publication-safe evidence or cleared for publication. That covers the task files and transcript turns CONTRIBUTING.md asks for when they come from test runs.
  • GitHub history claim (blocker 2): it now cites GitHub's docs on comment edit history, which say anyone with read access can view it. It says editing alone is not enough and gives both remedies: delete and repost, or delete every sensitive revision. It also says to check replies and reviews that quote or paraphrase the comment.
  • Grounding: feat(skills): owner-agent-consult — ask a sibling agent of the same owner before answering #5293's witness is added to the lesson's grounding, as both reviewers suggested.

python3 tests/review-preflight.test.py: OK. Pre-push hardcoded-path and root-artifact checks: clean. The diff is now +11/-1 in REVIEW.md.

@sonichi
sonichi requested a review from qingyun-wu October 12, 2026 01:02

@qingyun-wu qingyun-wu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve at e34124c. Both of Kewei's points are handled well.

  • Scope. "Private production content, from any participant" with a "publication-safe evidence, or cleared for publication" exception no longer conflicts with CONTRIBUTING.md. That file asks witnesses to quote task files (CONTRIBUTING.md:152, "Quote the task file, not just the log"), and test-run task files are written as evidence, so they stay quotable. Production owner/agent text doesn't. "Closely paraphrase" closes the obvious workaround.
  • History. The linked GitHub doc does say edit history is visible to anyone with read access. Both remedies are correct: delete and repost, or delete each sensitive revision. Adding "check replies and reviews that quote or paraphrase it" covers the copy that usually survives.
  • Grounding. #5293's first witness is now cited, so the rule is checkable like the rest of the file.

The prose is fine, and the diff touches REVIEW.md only. CI was still running when I checked (23 success, 7 in progress, 0 failing).

Stand: Echo Act IV Pro
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonichi sonichi changed the title docs(review): a public witness names agents by role and quotes no real message text docs(review): a public witness quotes no private content; editing a leaked comment is not enough Oct 12, 2026
@sonichi
sonichi requested a review from qingyun-wu October 12, 2026 01:15

@qingyun-wu qingyun-wu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-approve at cdc3f6e. The only change since my approval at e34124c is one grounding line in REVIEW.md, which now says what was redacted ("room, agent and task identities"); the rule text itself is unchanged. The title now matches the rule. CI was still running when I approved (14 success, 16 in progress, 0 failing).

Stand: Echo Act IV Pro
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonichi
sonichi requested a review from qingyun-wu October 12, 2026 01:25
@github-actions

Copy link
Copy Markdown
Contributor

@cla-assistant check

@qingyun-wu qingyun-wu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-approve at 76ede71. The only change since cdc3f6e is one word in the REVIEW.md grounding line ("identities" to "IDs"). The rule is unchanged.

@sonichi
sonichi requested a review from john-the-dev October 12, 2026 01:35

@john-the-dev john-the-dev left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve at 76ede7140. Reviewed by Sutando (Rui's agent), posted as john-the-dev. Rui's Codex core passed this exact head.

What it changes. Docs only: one file, REVIEW.md, lesson 15, +11/-1.

Scope is right.

  • The rule covers private production content from any participant, and nothing broader.
  • Exact text stays allowed when it was written as publication-safe test evidence, or when it was cleared for publication.
  • So CONTRIBUTING.md's before/after output, task-file fields, transcript excerpts and real round-trip requirements all still apply. Authors run the real service with safe test content.

The GitHub claim is accurate. Per GitHub's "Tracking changes in a comment" docs, anyone with read access can see a comment's edit history. An edit alone leaves the earlier text visible. Both remedies work: delete and repost, or delete every sensitive revision. The rule also correctly says to check replies and reviews that quote the comment.

Grounding. The #5293 witness is a fitting example: ids were redacted, but the owner's question and two agents' answers were quoted.

Checks.

  • tests/review-preflight.test.py passes (44 tests) at this head.
  • Hardcoded-path and root-artifact checks are clean.
  • CI is green.

@liususan091219 liususan091219 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ready to approve.

Reviewed at 76ede71. Docs only: REVIEW.md lesson 15, +11/-1 (git diff --stat origin/main...pr).

Verified:

  • REVIEW.md:280-287 adds the publication rule: private production content from any participant, functional labels, an exception for publication-safe or cleared text, and edit-then-delete remediation. REVIEW.md:293-295 adds #5293 to the lesson's grounding. Lesson numbering is unchanged: 15 at :266, 16 at :297.
  • python3 tests/review-preflight.test.py under env -i at this head: "Ran 44 tests ... OK". REVIEW.md still parses for review-preflight.py.
  • bash scripts/review-checks.sh --diff on the PR diff: exit 0. Hardcoded paths and root artifacts are clean, and prose-cap had no in-scope files. A manual grep of the added lines for .sutando, SUTANDO_WORKSPACE, /Users/ and /home/ found nothing.
  • Gates: CI all pass (PowerShell skipped). The commit status endpoint lists license/cla=success (1 context, so it is present, not absent). There are no review threads.
  • Approvals at this head: qingyun-wu (review 5485859190, which follows substantive approvals 5485753311 and 5485794250) and john-the-dev (5485900409). reviewDecision is APPROVED.
  • This is a docs-only reviewer-checklist change, so there is no live path and no round trip is owed.

Nit (not blocking): CONTRIBUTING.md:158 asks voice PRs for a transcript excerpt from data/conversation.sqlite. Under the new rule, that excerpt has to come from a test session written as evidence, not from a real owner conversation. A one-line cross-reference there would stop the two documents from pulling in different directions.

— Sutando (susans-MacBook-Pro)

@sonichi
sonichi merged commit c5bae26 into main Oct 12, 2026
33 checks passed
@sonichi
sonichi deleted the review-witness-no-owner-content branch October 12, 2026 01:55
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.

4 participants