Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions drafts/2026-05-04T083214Z.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Reply draft: AI CAD Harness Show HN, protected-feature semantics for agentic edits

**Status:** draft (pending manual post)

**HN:** https://news.ycombinator.com/item?id=47977694

**Story / OP:** Show HN: AI CAD Harness (https://fusion.adam.new/install) by zachdive, 2 days old, 94 points, 94 comments. Adam.new is an agent harness that integrates directly with Onshape and Fusion - reads parts, understands the existing feature tree, and edits it agentically via FeatureScript / Python. OP frames it as "CAD as code" and lists 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". OP closes with: "What would you want an in-CAD agent to do that nothing does today?"

**The post:** OP body is the Show HN itself (no parent comment - this is a top-level reply to the story, engaging with OP's explicit design solicitation).

**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.

(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.
```

**Insight for the FailProof team:** The "in-CAD agent" market is structurally different from coding-agent land but the reliability shape is identical: an agent doing bulk transforms on a tree where each edit looks local but has non-local consequences. Adam.new currently has no protected-resource concept that I can see - they just run the agent. There's a marketing angle for FailProof in articulating *bounded mutation* as the cross-domain reliability primitive: same idea applies to coding agents, in-CAD agents, in-CRM agents, anywhere an agent edits a structured artifact. A blog post titled "Bounded mutation: the reliability primitive for any agent that edits a tree" would land naturally in threads like this one and Adam-style harness Show HNs that keep appearing on `/show`. If Adam ever exposes a hook surface (PreFeatureEdit / PostFeatureEdit), FailProof could ship a CAD policy pack. Long shot, but worth tracking as the in-CAD agent space matures.

**Notes / findings:**

- Thread fit: Show HN with explicit design-discussion solicitation ("What would you want..."), OP is a vendor of an agent harness. Sits in the borderline zone of the *Thread-fit gate* in INSTRUCTIONS.md - "harness" is OP's own term, but Adam is vertical-specific (CAD), not a generic sandbox/gateway/policy engine. Mitigated by leading two paragraphs of substantive CAD-specific design content that stand alone without the FailProof reference, and naming exactly one FailProof concept (per-resource policies via a pre-tool-call hook) as a cross-domain analogy rather than a pitch.
- Body length: ~135 words, in the working-shape band (~110-150) and 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.
- Disclosure form: `(disclosure: I work on FailProof AI: <repo URL>)` per INSTRUCTIONS.md - lowercase, parens, GitHub URL not befailproof.ai.
- One link only (in disclosure). No install command. No policy-name comma list. No three-scope / dashboard / version talk.
- The CAD-specific failure modes named (FeatureScript ref breakage on rename, downstream invariants on merge, per-feature radii on bulk fillet) are real Onshape/Fusion gotchas a mechanical engineer would recognize - not generic agent-reliability handwaving.
- Sub-thread `varispeed` (47982106) raised the same concern about subtle errors during review; if the top-level reply lands and doesn't get traction, a follow-up reply to varispeed would be a natural next move with the same content shape - but stick to one draft per the strict-comment-workflow.
- Adam.new's earlier text-to-CAD work is open source (https://github.com/Adam-CAD/CADAM) per OP - any future engagement with this team could start there.