Skip to content

[claude-hackernews] draft: regent VCS-for-agents (rewind vs record)#60

Open
NiveditJain wants to merge 1 commit intomainfrom
luv-60
Open

[claude-hackernews] draft: regent VCS-for-agents (rewind vs record)#60
NiveditJain wants to merge 1 commit intomainfrom
luv-60

Conversation

@NiveditJain
Copy link
Copy Markdown
Member

@NiveditJain NiveditJain commented May 8, 2026

Summary

  • Drafts a reply to Show HN: Git for AI Agents (id=48049431, OP doshay). The OP's first comment (id=48049432) lays out the failure modes the tool addresses: why did you do it?, when did u delete this folder? why?, /rewind (after a /compact...), bisect ... in the current / previous session, plus an explicit invitation: would love to get feedback, contribution or maybe other ideas or solutions you find for those problems.
  • Angle: state-level rewind (snapshot-versioned FS) catches the consequence; a PreToolUse intercept catches the intent before dispatch. For the rm case the OP literally cites, block-rm-rf never lets the call leave the agent process, so there is nothing to rewind. When a call is allowed, the same intercept records what was attempted and which policy let it through - the "why" without trawling a transcript.
  • Closes with a substantive design question routing back to the OP's own choice (filesystem-snapshot only vs tool-call input + decision as the unit of history), so the comment engages with what they built rather than pivoting to FailProof.
  • One policy name (block-rm-rf), no custom snippet, ~140 words. Single repo URL in the disclosure line. ASCII punctuation only.

Discovery

  • Thread URL: https://news.ycombinator.com/item?id=48049431
  • Discovery path: Started with /ask, /show, /newest sweeps for 2026-05-08 (none of those surfaced a tighter fit than already-covered IDs). Then ran hn.algolia.com/?q=claude+code+deleted&dateRange=last24h&sort=byDate&type=comment which returned doshay's OP-comment on this thread as the only match. Verified the parent thread (48049431) is not in the open-PR coverage list and not in comments/.

Cross-thread fingerprint check

Status

  • Status: draft (pending manual post)
  • Reply form is rendered on the thread (textarea + hmac present), so the thread accepts replies.
  • Thread engagement is low (5 points, 1 self-comment, 21 hours old). Audience is small but the OP solicits ideas, so an adjacent-tool design comment is in-scope. A reader who lands on the thread later via search gets a cleanly-framed alternative.

Draft file

drafts/2026-05-08T111136Z.md

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Added draft content documenting design discussions and architectural considerations for AI agent audit and policy frameworks.

…ntent intercept)

Reply on https://news.ycombinator.com/item?id=48049431 (Show HN: Git for AI
Agents by `doshay`). OP enumerates "why did you delete this folder?",
/rewind after /compact, and bisect-by-session as the failure modes the
tool addresses, and explicitly solicits other ideas or solutions.

Angle: snapshot-versioned FS catches the consequence; a PreToolUse intercept
catches the intent before dispatch. For the rm case, `block-rm-rf` never
lets the call leave the agent process so there is nothing to rewind; when
a call is allowed, the same intercept records what was attempted and which
policy let it through, which is the "why" without trawling a transcript.
Closes with a substantive design question routing back to the OP's
filesystem-snapshot-vs-tool-call-history choice.

One policy named (block-rm-rf), no snippet, ~140 words, single repo URL in
the disclosure line, ASCII punctuation only.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 8, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

A new Markdown draft file is added to drafts/ containing a Show HN comment reply. The reply explains how AI agent policy enforcement can distinguish between intent-level audit (pre-tool-use intercepts recording attempted calls) and state-level rewind (filesystem snapshots), with supplemental team guidance on framing and audience fit.

Changes

Show HN Draft on Intent-Level Audit vs State-Level Rewind

Layer / File(s) Summary
Draft Comment Content
drafts/2026-05-08T111136Z.md
Main Show HN reply explaining intent-level audit vs state-level rewind distinction, contrasting filesystem snapshot recovery with policy intercepts that record tool-call attempts and decisions. Includes concrete rm/delete scenario illustrating how block-rm-rf policy leaves no state to rewind.
Team Guidance and Context
drafts/2026-05-08T111136Z.md
Supplemental notes for the FailProof team framing the problem as forensics/audit rather than prevention, with notes on thread status, audience fit, prior-draft differentiation, and formatting/word-count constraints.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • exospherehost/claude-hackernews#2: Introduces the drafts-only workflow and drafts/ directory structure that this PR directly leverages.
  • exospherehost/claude-hackernews#4: Reconciles drafts/ artifacts by moving workflow to comments/ and removing the drafts/ directory, creating potential conflict with draft files added in this PR.

Poem

🐰 A curious rabbit hops through policy lands,
Intent vs state—oh, what grand commands!
Audits instead of snapshots so neat,
Pre-tool intercepts: a forensic treat!
No rewind for rm, yet "why" whispers clear—
FailProof's tale now takes shape here! 🔍

🚥 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 accurately reflects the main change: a draft reply discussing 'rewind vs record' approaches for AI agent version control, which matches the file content and PR objectives.
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.


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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@drafts/2026-05-08T111136Z.md`:
- Around line 29-37: The fenced code block beginning with ``` (the long quoted
paragraph starting “(disclosure: I work on FailProof AI…”) lacks a language hint
and triggers markdownlint MD040; update that opening fence to ```text so the
block is treated as plain text (i.e., change ``` to ```text) and leave the block
content unchanged to satisfy the linter.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 706afeb1-80a7-4f00-8501-beecdd34d4d5

📥 Commits

Reviewing files that changed from the base of the PR and between ebbce06 and 2b4d10b.

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

Comment on lines +29 to +37
```
(disclosure: I work on FailProof AI: https://github.com/exospherehost/failproofai)

The "why did you delete this folder?" question splits along a useful seam: state-level rewind (what your tool provides) is different from intent-level audit (which tool call was attempted, what allowed it). Both matter, at different moments.

A snapshot-versioned FS catches the consequence; a PreToolUse intercept catches the intent before dispatch. For the rm case, a `block-rm-rf` policy never lets the call leave the agent process, so there is nothing to rewind. When you do allow a call, the same intercept can record what was attempted and which policy let it through, which is the "why" you want without trawling a transcript.

Curious whether your VCS layer would expose tool-call input + decision as the unit of history, or stay filesystem-snapshot only.
```
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add a language hint to the fenced block (Line 29).

markdownlint MD040 is triggered because the code fence has no language. Use text to keep the draft content unchanged while satisfying lint.

Suggested diff
-```
+```text
 (disclosure: I work on FailProof AI: https://github.com/exospherehost/failproofai)
 ...
-```
+```
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 29-29: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@drafts/2026-05-08T111136Z.md` around lines 29 - 37, The fenced code block
beginning with ``` (the long quoted paragraph starting “(disclosure: I work on
FailProof AI…”) lacks a language hint and triggers markdownlint MD040; update
that opening fence to ```text so the block is treated as plain text (i.e.,
change ``` to ```text) and leave the block content unchanged to satisfy the
linter.

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