Skip to content

[claude-hackernews] Reply draft: AI CAD Harness Show HN, bounded-mutation in agentic feature-tree edits (id=47977694)#51

Open
NiveditJain wants to merge 1 commit intomainfrom
hn-cad-harness-bounded-mutation-47977694
Open

[claude-hackernews] Reply draft: AI CAD Harness Show HN, bounded-mutation in agentic feature-tree edits (id=47977694)#51
NiveditJain wants to merge 1 commit intomainfrom
hn-cad-harness-bounded-mutation-47977694

Conversation

@NiveditJain
Copy link
Copy Markdown
Member

@NiveditJain NiveditJain commented May 4, 2026

Discovery

Browser-driven sweep across /ask, /show, hn.algolia.com (claude code hooks, agent deleted, claude code permissions, yolo mode claude, ai agent production) and /best — most agent-reliability and security-gateway Show HNs are already covered in this repo's open PR set (40 thread IDs already drafted). Picked "Show HN: AI CAD Harness" by Adam.new (zachdive), which sits in the Show HN of an adjacent product where OP solicits design discussion row of INSTRUCTIONS.md's Thread-fit gate — adam.new is an in-CAD agent harness (their own framing) that edits feature trees agentically via FeatureScript / Python, and OP closes with: "What would you want an in-CAD agent to do that nothing does today?"

Why this thread

OP runs an agent harness on someone's CAD model and lists agentic use cases like "merge redundant features and clean up my tree", "rename every feature so the tree is actually readable", "round all internal edges with a 2mm fillet", "parametrize my model". None of these are wrong as commands; they are bulk transforms on a tree where each edit looks local but has non-local consequences (downstream FeatureScript references, parametric invariants, per-feature radii). The reliability shape is identical to coding-agent land: an agent doing a structured-tree edit where "wrong" is invisible until something else breaks. OP explicitly invites design suggestions, which gates a substantive design comment with a brief cross-domain mention of FailProof's per-resource policy pattern.

Proposed reply (132 words)

(disclosure: I work on FailProof AI: https://github.com/exospherehost/failproofai)

The interesting design question for an in-CAD agent isn't generation, it's bounded mutation. "Rename every feature" is locally fine but silently breaks any FeatureScript expression that referenced the old name; "merge redundant features" can erase an invariant a downstream part assumed; even "round all internal edges with a 2mm fillet" overwrites per-feature radii the operator chose. The agent isn't wrong, it's that "wrong" is invisible until the next assembly opens.

Do you let users mark features as load-bearing so the agent has to ask before touching them? In coding-agent land the pattern that worked was per-resource policies the operator defines (a pre-tool-call hook that can deny with a message). The CAD analogue would be a tag the agent must respect during rename and merge passes.

Voice / structure check (per INSTRUCTIONS.md)

  • One disclosure line, parens, lowercase disclosure:, GitHub URL.
  • Two paragraphs of substantive on-topic CAD content that stand alone without the FailProof reference.
  • One FailProof concept named (per-resource policies via a pre-tool-call hook). No policy-name comma list. No install command. No three-scope / dashboard / version-number talk.
  • Body length 132 words — in the working-shape band (~110-150), well clear of the flagged-shape band (~220).
  • ASCII punctuation only — hyphens, periods, parens, slashes; no em/en dashes, no curly quotes, no unicode arrows.
  • Single link (in the disclosure line, no repo URL repeated at the bottom).

Status

drafts/2026-05-04T083214Z.mddraft (pending manual post). Per CLAUDE.md "Comments via PR (never direct post)", Claude does not submit on HN. Merge this PR after posting to mark "I posted it"; if you want, ping back with the comment permalink and I'll append it to the HN: line in a follow-up commit.

Summary by CodeRabbit

  • Chores
    • Added a draft document for internal discussion and planning.

…eply (id=47977694)

Top-level reply on the Adam.new "AI CAD Harness" Show HN engaging with
OP's explicit design solicitation ("What would you want an in-CAD agent
to do that nothing does today?"). Substantive on-topic content first
(rename / merge / bulk-fillet edits silently break downstream
FeatureScript refs and parametric invariants), then a brief cross-domain
analogy to coding-agent custom-policy hooks as the protected-resource
lever.

Status: draft (pending manual post). Per CLAUDE.md "Comments via PR
(never direct post)", Claude does not submit on HN.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 4, 2026

📝 Walkthrough

Walkthrough

A new Markdown draft file is created documenting a Show HN reply that proposes a bounded-mutation approach to CAD agent reliability, identifies specific failure modes of bulk edits, and outlines a user-controlled protection mechanism via feature tagging and policy hooks.

Changes

Draft Content Addition

Layer / File(s) Summary
Draft File
drafts/2026-05-04T083214Z.md
New Show HN reply draft containing metadata (status, HN/OP links), a disclosure statement, main reply proposing bounded-mutation reliability framing for CAD agents, cross-domain insight for the FailProof team, and a detailed editorial checklist addressing thread fit, body length constraints, formatting rules, and identified CAD failure modes (FeatureScript expression breakage, invariant loss during merges, per-feature fillet radius overwrites).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Poem

🐰 A draft takes shape beneath the moonlight glow,
Bounded mutations steal the show!
Feature tags dance, policies stand guard,
CAD agents bloom less broken, less scarred.
Notes tucked in, ready for review—
The rabbit applauds this clarity true! 🥕

🚥 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 directly and specifically describes the main change: a new Show HN reply draft for a HackerNews post about AI CAD agents, focused on bounded-mutation in feature-tree edits.
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: 4/5 reviews remaining, refill in 12 minutes.

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 the current code and only fix it if needed.

Inline comments:
In `@drafts/2026-05-04T083214Z.md`:
- Line 13: The fenced code block starting at the unlabeled triple backticks
should include a language identifier to satisfy markdown lint rule MD040; update
the fence in the draft (the reply block that contains "(disclosure: I work on
FailProof AI...)" ) from ``` to ```text (or another appropriate language) so the
block is labeled and the lint warning is resolved.
🪄 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: 44844754-36db-4089-8aa8-89911d7997ab

📥 Commits

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

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


**My reply:**

```
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 identifier to the fenced reply block.

Line 13 triggers MD040; please label the fence (for example text) to keep markdown lint clean.

Suggested fix
-```
+```text
 (disclosure: I work on FailProof AI: https://github.com/exospherehost/failproofai)
 ...
</details>

<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

```suggestion

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

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

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@drafts/2026-05-04T083214Z.md` at line 13, The fenced code block starting at
the unlabeled triple backticks should include a language identifier to satisfy
markdown lint rule MD040; update the fence in the draft (the reply block that
contains "(disclosure: I work on FailProof AI...)" ) from ``` to ```text (or
another appropriate language) so the block is labeled and the lint warning is
resolved.

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