Commit 42f93fc
committed
Design the model in one call, and ask for a shape rather than a part count
Developer: Seif Hashish
Project: HashCortX
Summary:
Four model calls became one. Structure, Surface and Detail each appended parts
to the design the first call produced, and nothing owned the silhouette — so
they did not refine a model, they grew a pile. Three extra calls, three more
chances to meet a free-tier limit, and a worse object at the end. What they
were reaching for is measured in code now, and Improve covers the case where a
person looks at the result and wants another pass.
The prompt asked for "24 to 56 nodes, or 38 to 86 for complex objects". That
one line is why a fish arrived as eighteen shards: nothing in the request
rewarded a part count that reads correctly, it rewarded volume. It now asks for
few parts that read correctly, six to sixteen for most objects, and a part only
when its absence would be noticed.
The rest of that message went the same way. Paragraphs prescribing how to build
a phone, an animal, a spoon, a human figure and a skeleton competed for
attention in one system message; they are replaced by which shape describes
which form — extrude for a silhouette, lathe for anything turned, capsule for
rounded tubes. Symmetry is delegated: build one side, mark it mirrored, and the
app produces the opposite exactly. Audit markers are forbidden rather than
requested, because the app measures clearance and floor contact itself.
Removing the pipeline left the partial-run reporting unreachable and two role
helpers with no callers; all three are deleted rather than left to read as
working code. Five checks pinned the old multi-agent failure path — they now
pin the property that still matters, that a failed run never reports success,
plus the absences, so a pass coming back is a decision rather than a drift.
Verification:
- Drove the real app: Forge mounts, the agent panel is one card, the viewport
initialises with the floor at zero.
- npm run check — 1,434 passed, 0 failed (forge checks 14 → 22)
- cargo test --manifest-path src-tauri/Cargo.toml — 93 passed, 0 failed (no Rust changed)
- Not yet exercised against a live provider run1 parent 183d70d commit 42f93fc
3 files changed
Lines changed: 91 additions & 157 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
77 | | - | |
| 77 | + | |
78 | 78 | | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
91 | 120 | | |
92 | 121 | | |
93 | 122 | | |
| |||
0 commit comments