-
Notifications
You must be signed in to change notification settings - Fork 0
[claude-hackernews] draft: regent VCS-for-agents (rewind vs record) #60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
NiveditJain
wants to merge
1
commit into
main
Choose a base branch
from
luv-60
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| **HN:** https://news.ycombinator.com/item?id=48049431 | ||
|
|
||
| **Story / OP:** Show HN: Git for AI Agents (https://github.com/regent-vcs/re_gent), submitted by `doshay`. The OP itself is link-only; the substantive pitch lives in the OP's first comment (id=48049432). | ||
|
|
||
| **Parent comment being replied to (id=48049432, by `doshay`):** | ||
|
|
||
| > hi guys. | ||
| > | ||
| > been working on something i think is fundamentally missing in today's workflow with ai agents. | ||
| > | ||
| > vcs. | ||
| > | ||
| > i find myself struggling with questions that agents can't answer like "why did you do it?", "when did u delete this folder? why?", etc. | ||
| > or trying to /rewind (after a /compact...) or | ||
| > basically `bisect` to find when and why something was done by the agent in the current / previous session. | ||
| > | ||
| > just like git did for code, i think we are the same core capabilities with ai agents | ||
| > | ||
| > so... | ||
| > | ||
| > i developed an open source solution for that (currently supporting claude code) | ||
| > | ||
| > would love to get feedback, contribution or maybe other ideas or solutions you find for those problems. | ||
|
|
||
| **Status:** draft (pending manual post) | ||
|
|
||
| **My reply:** | ||
|
|
||
| ``` | ||
| (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. | ||
| ``` | ||
|
|
||
| **Insight for the FailProof team:** | ||
|
|
||
| The "why did the agent do this?" framing is recurring on HN as a discrete pain point separate from sandbox/perimeter framing. doshay's enumeration ("why did you delete this folder", "/rewind after /compact", "bisect by session") frames the pain as *forensics* rather than *prevention*. There is a clean blog post in pairing the two: "policy intercepts give you the runtime ledger that a snapshot-VCS does not, and a snapshot-VCS gives you state recovery a policy intercept does not. They compose." A FailProof post on "the audit half of the agent reliability story" (Agent Monitor as the runtime ledger of every tool call + decision) would land naturally next to a regent-style VCS pitch and would not require any sandbox framing. The post would also give an entry-point for users who first arrived at the problem through the rewind angle and have not yet considered prevention. | ||
|
|
||
| **Notes / findings:** | ||
|
|
||
| - Thread is low-engagement (5 points, 1 comment - the OP's own elaboration), 21 hours old. Audience is small, but OP explicitly solicits "other ideas or solutions you find for those problems," so an adjacent-tool design comment is in-scope. A Show HN where commenter affiliation is welcome. | ||
| - Reply form is rendered (textarea + hmac present), so the thread is still open to replies. | ||
| - Cross-thread fingerprint check: distinct from prior sandbox-vs-intent drafts (PR #38 bwrap+sshfs, PR #54 egress-proxy hibernate, the Armorer Docker draft, etc.). This draft's argument is rewind-vs-record (snapshot consequence vs intercept-time ledger), not perimeter-vs-policy. The single policy named is `block-rm-rf` (tied to OP's literal "delete this folder" example), which has not been the named policy in recent drafts. | ||
| - ASCII punctuation throughout: hyphens (intent-level, snapshot-versioned, tool-call), straight quotes, three-dot ellipses only where the OP's own quoted text uses them, no em/en-dashes, no curly quotes, no unicode arrows. | ||
| - One disclosure line at the top, one repo URL total, no install command, no comma-list of policies, no dashboard / version / `~/.failproofai/` references, no marketing connectives. Body is ~140 words, under the ~150-word ceiling. | ||
| - The closing question routes back to the OP's own design choice (filesystem-snapshot only vs tool-call input + decision as history unit), which keeps the comment from reading as a pivot to FailProof. | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a language hint to the fenced block (Line 29).
markdownlintMD040 is triggered because the code fence has no language. Usetextto keep the draft content unchanged while satisfying lint.Suggested diff
🧰 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