[claude-hackernews] Reply draft: Pu.sh harness, hook layer outside the harness (id=47968112)#20
[claude-hackernews] Reply draft: Pu.sh harness, hook layer outside the harness (id=47968112)#20NiveditJain wants to merge 1 commit into
Conversation
…ess (id=47968112)
📝 WalkthroughWalkthroughA new draft Markdown post is created documenting a Show HN discussion about Pu.sh, a shell-based coding-agent harness, including a prepared reply and discussion notes about tool execution safety and team follow-up actions. ChangesDraft Post Addition
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Review rate limit: 4/5 reviews remaining, refill in 12 minutes. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@drafts/2026-05-03T013547Z.md`:
- Line 11: Remove the account-selection wording from the draft line that
currently reads "**My reply** (top-level, replying to the Show HN itself, posted
as unauthenticated user — user picks account at post time):" so the draft
remains account-agnostic; instead leave a neutral reply header and ensure the
draft contains only the thread URL and the full post body (no
"operating-account" or account guidance). Update the header text for the reply
section (e.g., "**My reply**") and remove any parenthetical account-selection
instructions so the posting-account decision is handled in the external posting
checklist/process document.
- Around line 13-17: The fenced code block in the draft reply lacks a language
tag which triggers markdown linting; update the opening fence to include a
language such as text or md (e.g., change "```" to "```text") for the block
containing the FailProof AI disclosure and follow-up paragraph so the linter
recognizes it — look for the fenced block content starting "(disclosure: I work
on FailProof AI: https://github.com/exospherehost/failproofai)" and add the
language to that opening triple-backtick.
🪄 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: ff116626-e072-4a50-9cfc-05a3db98a8e3
📒 Files selected for processing (1)
drafts/2026-05-03T013547Z.md
|
|
||
| Top-comment shape (for tone calibration): dominant criticism is about the code being minified and unreadable; security concerns about that; OP responded by publishing an unminified version. A second sub-thread is about competing tiny harnesses (zackham/aloop, willhanlen.com/ai.js). One commenter (Amber-chen) raised the "how does it record/replay tool calls and failure modes" question without OP response yet. | ||
|
|
||
| **My reply** (top-level, replying to the Show HN itself, posted as unauthenticated user — user picks account at post time): |
There was a problem hiding this comment.
Remove account-selection wording to keep the draft account-agnostic.
This line introduces posting-account guidance in the draft itself; keep the draft neutral and move account choice to the posting checklist/process doc.
As per coding guidelines, "Draft files must contain the thread URL and the full body to be posted; do not include an 'operating-account' field — drafts are account-agnostic".
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@drafts/2026-05-03T013547Z.md` at line 11, Remove the account-selection
wording from the draft line that currently reads "**My reply** (top-level,
replying to the Show HN itself, posted as unauthenticated user — user picks
account at post time):" so the draft remains account-agnostic; instead leave a
neutral reply header and ensure the draft contains only the thread URL and the
full post body (no "operating-account" or account guidance). Update the header
text for the reply section (e.g., "**My reply**") and remove any parenthetical
account-selection instructions so the posting-account decision is handled in the
external posting checklist/process document.
| ``` | ||
| (disclosure: I work on FailProof AI: https://github.com/exospherehost/failproofai) | ||
|
|
||
| Respect the no-deps, system-primitives constraint. Curious where you'd draw the line on the bash tool though. Once a harness exposes direct shell, a lot of "agent destroyed my X" reports on HN are reachable from a single tool call. We've been splitting it the other way: keep harness small, push pre-tool gating (e.g. catching rm -rf outside cwd before exec) into a separate hook layer any harness can shell out to. block-rm-rf is the canonical example. Did that ever make your "not in the box" cut, or was it deliberately left to the caller? | ||
| ``` |
There was a problem hiding this comment.
Add a language to the fenced block to satisfy markdown linting.
Use ```text (or ```md) for the reply block.
Suggested patch
-```
+```text
(disclosure: I work on FailProof AI: https://github.com/exospherehost/failproofai)
Respect the no-deps, system-primitives constraint. Curious where you'd draw the line on the bash tool though. Once a harness exposes direct shell, a lot of "agent destroyed my X" reports on HN are reachable from a single tool call. We've been splitting it the other way: keep harness small, push pre-tool gating (e.g. catching rm -rf outside cwd before exec) into a separate hook layer any harness can shell out to. block-rm-rf is the canonical example. Did that ever make your "not in the box" cut, or was it deliberately left to the caller?</details>
<details>
<summary>🧰 Tools</summary>
<details>
<summary>🪛 markdownlint-cli2 (0.22.1)</summary>
[warning] 13-13: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
</details>
</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
Verify each finding against the current code and only fix it if needed.
In @drafts/2026-05-03T013547Z.md around lines 13 - 17, The fenced code block in
the draft reply lacks a language tag which triggers markdown linting; update the
opening fence to include a language such as text or md (e.g., change "" to "text") for the block containing the FailProof AI disclosure and follow-up
paragraph so the linter recognizes it — look for the fenced block content
starting "(disclosure: I work on FailProof AI:
https://github.com/exospherehost/failproofai)" and add the language to that
opening triple-backtick.
</details>
<!-- fingerprinting:phantom:triton:hawk:02e6c92e-1c91-4663-ba06-d3c9a18fcd75 -->
<!-- d98c2f50 -->
<!-- This is an auto-generated comment by CodeRabbit -->
Target thread
Why this thread
Show HN of an adjacent product in the agent-runtime stack: Pu.sh is a coding-agent harness, the layer FailProof's hook-policy approach attaches to. OP explicitly framed it as "the agent loop is tiny, almost everything else is DX and hardening" and invited "build your own harness exactly how you like it" -- legitimate substantive-design-discussion bait. Top-comment shape is critical (minified code = security nightmare) but OP is engaged (responded to four sub-threads, published an unminified version).
Per
INSTRUCTIONS.mdthread-fit gate: this is a stretch on the explicit "(sandbox, gateway, hook manager, policy engine)" list -- a harness is the layer hooks attach to, not a policy layer itself -- so the reply is structured to engage with OP's design framing first and only mention FailProof as the architectural complement, with one policy name and no install / feature-list / dashboard talk.Draft body (101 words, plus disclosure line, ASCII-only)
Posting checklist for the human
comments/2026-05-03T013547Z.mdand append it to the HN: line.Workflow notes
drafts/2026-05-03T013547Z.md(per CLAUDE.md "Comments via PR (never direct post)" / INSTRUCTIONS.md "Writes" step 6).drafts/,comments/, and all open PRs at draft time (noitem?id=47968112hits).Summary by CodeRabbit