Skip to content

[claude-hackernews] Reply draft: Loopsy CLAUDE.md drift, child-project write block (id=47973093)#30

Open
NiveditJain wants to merge 1 commit into
mainfrom
hn-loopsy-claude-md-drift-policy
Open

[claude-hackernews] Reply draft: Loopsy CLAUDE.md drift, child-project write block (id=47973093)#30
NiveditJain wants to merge 1 commit into
mainfrom
hn-loopsy-claude-md-drift-policy

Conversation

@NiveditJain
Copy link
Copy Markdown
Member

@NiveditJain NiveditJain commented May 3, 2026

Summary

  • Draft reply to a sub-comment on the Show HN: Loopsy thread (id=47973093). Loopsy is a coordination/messaging layer for letting agents on different machines talk; the OP is asking for design feedback. Top sub-commenter arctide (id=47986077) describes a concrete CLAUDE.md drift failure: a single rule ("do not modify child project files from parent context") that the agent constantly forgets across sessions, especially when switching machines.
  • Reply engages with arctide's described failure, not the OP's coordination/file-locking topic. Acknowledges file locking is orthogonal to the policy layer in one clause, then pivots to the CLAUDE.md-as-advisory-vs-PreToolUse-as-enforced angle, with a single short custom-policy snippet that denies Write/Edit calls whose file_path falls inside the child-project subtree. ~142 words, ASCII punctuation only, one disclosure line, one snippet, no install command, no .failproofai/policies/ plug, no policy comma-list.
  • Discovered through /show -> /news -> Algolia sweeps (agent deleted, claude code hooks, policy agent, agent sandbox, claude rm rf); duplicate check against drafts/, comments/, and open PRs returned no prior coverage of id=47973093.

Discovery + thread URLs

  • Thread: https://news.ycombinator.com/item?id=47973093
  • Parent comment being replied to: https://news.ycombinator.com/item?id=47986077
  • Author of parent comment: arctide
  • Discovery path: /show listing -> hn.algolia.com searches for agent deleted past_week, agent sandbox past_week, claude code last_24h, vibe coding last_48h, policy agent past_month, then back to /newest for fresh threads. Loopsy surfaced on /show (54 points, 1 day old, 11 comments) with arctide's CLAUDE.md-drift sub-comment as the actionable hook.

Test plan

  • Confirm the thread URL still loads (1 day old at draft time, no closure markers, reply form rendered on arctide's comment).
  • Confirm the parent comment's text in the draft matches arctide's actual posted comment verbatim before replying.
  • Re-run the duplicate check (drafts/, comments/, open PRs for item?id=47973093) before posting, in case a sibling branch landed.
  • Decide on the posting account; the draft is account-agnostic per repo convention.
  • Paste the fenced reply text into the HN reply form for id=47986077. ASCII-only check, then submit.
  • After posting, ask Claude to log the comment-permalink onto the HN: line and merge this PR.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Added internal draft content for community engagement reference.

Note: This pull request contains no user-facing changes or feature updates.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 3, 2026

📝 Walkthrough

Walkthrough

A new Markdown draft document is added containing a proposed reply to a Hacker News thread about Loopsy. The draft includes thread context, a code example demonstrating an agent write-block policy via PreToolUse, contextual insights for the FailProof team, and posting notes.

Changes

Draft HN Reply

Layer / File(s) Summary
Draft Document
drafts/2026-05-03T114106Z.md
New draft reply with thread metadata, referenced parent comment, a failproofai policy code snippet denying write/edit calls to /child-project/ paths, insights on the recurring "CLAUDE.md not enforced" pattern, and post-safety notes for HN submission.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Poem

🐰 A draft hops forth with policy clear,
PreToolUse hooks that engineers cheer,
Loopsy's quirks now shine on the thread,
Where wisdom and snippets are safely spread!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically describes the main change: a Hackernews draft reply addressing a CLAUDE.md drift issue with a child-project write-block policy implementation, including the relevant thread ID.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Review rate limit: 3/5 reviews remaining, refill in 21 minutes and 6 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
drafts/2026-05-03T114106Z.md (1)

44-58: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Make “HN copy/paste body” unambiguous; internal notes should not be pasted accidentally

The file includes both the intended reply content and internal-only sections (“## Insight for the FailProof team” and “## Notes / findings”). If the posting workflow is “paste the whole draft”, it is very easy to accidentally post internal strategy text that was not meant for the HN audience.

Given your own Notes (Line 57) claim the reply is ~135 words, it strongly suggests only part of the draft is intended for posting, but the file currently does not clearly demarcate that “posting body” region.

Suggestion (either approach):

  • Add a single, clearly-labeled “POST ON HN (copy/paste) START/END” block containing only what should be posted.
  • Or convert internal sections to HTML comments so they are preserved in-repo but never pasted.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@drafts/2026-05-03T114106Z.md` around lines 44 - 58, The draft mixes public
reply text with internal notes under headings like "## Insight for the FailProof
team" and "## Notes / findings", which risks accidental pasting; fix by clearly
isolating the postable content (e.g., add a single "POST ON HN (copy/paste)
START/END" block containing only the ~135-word reply) or wrap internal sections
in HTML comments so only the region between the START/END markers (or
uncommented text) is used when copying; update the draft file accordingly to
ensure any workflow that pastes the whole file cannot include the internal
headings.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Outside diff comments:
In `@drafts/2026-05-03T114106Z.md`:
- Around line 44-58: The draft mixes public reply text with internal notes under
headings like "## Insight for the FailProof team" and "## Notes / findings",
which risks accidental pasting; fix by clearly isolating the postable content
(e.g., add a single "POST ON HN (copy/paste) START/END" block containing only
the ~135-word reply) or wrap internal sections in HTML comments so only the
region between the START/END markers (or uncommented text) is used when copying;
update the draft file accordingly to ensure any workflow that pastes the whole
file cannot include the internal headings.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f8d90ff2-ab85-4967-889c-2034c63beb7a

📥 Commits

Reviewing files that changed from the base of the PR and between ebbce06 and 8c34ef5.

📒 Files selected for processing (1)
  • drafts/2026-05-03T114106Z.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant