@foldspace_npm/harness 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +38 -3
- package/package.json +1 -1
package/CLAUDE.md
CHANGED
|
@@ -64,6 +64,12 @@ current CLI contract — risk, prerequisites, effects, next step.
|
|
|
64
64
|
so and offer the next one. On an empty account the useful first action is
|
|
65
65
|
one that creates data - say so instead.
|
|
66
66
|
|
|
67
|
+
**Say when the test window is yours, and when it is theirs.** You and the
|
|
68
|
+
human share one Chrome window. Before you start looking at the app or testing
|
|
69
|
+
in it: *"I'm going to work in that Chrome window for a few minutes - please
|
|
70
|
+
leave it alone until I tell you it's ready."* When it is their turn: *"It's
|
|
71
|
+
ready. Try asking: <the question this experience answers>."*
|
|
72
|
+
|
|
67
73
|
Navigation, uploads, extraction and anything that writes are a later session.
|
|
68
74
|
|
|
69
75
|
### Ask as a choice, and ask almost nothing
|
|
@@ -76,7 +82,7 @@ question. Everything else — attach mode, folder, name, level — you **state a
|
|
|
76
82
|
move on**.
|
|
77
83
|
|
|
78
84
|
Then agree the experience in the customer's words, before creating anything:
|
|
79
|
-
*"Show my plan and credits needs one
|
|
85
|
+
*"Show my plan and credits needs one new action on your agent and one card to
|
|
80
86
|
show it in. Sound right?"*
|
|
81
87
|
|
|
82
88
|
## Find the call yourself
|
|
@@ -111,8 +117,13 @@ an assumption by quoting that file later.
|
|
|
111
117
|
|
|
112
118
|
## Build: objects first, code second
|
|
113
119
|
|
|
114
|
-
Four kinds of thing.
|
|
115
|
-
|
|
120
|
+
Four kinds of thing. With the customer, use **Foldspace's own words** for what
|
|
121
|
+
they will see in Agent Studio - **action**, **task agent**, **navigation**,
|
|
122
|
+
**publish** - and say what each does the first time you use it. Never invent a
|
|
123
|
+
substitute: no "skill", "ability", "capability" or "tool", and no "switch on"
|
|
124
|
+
for publish. "Skill" already means something else in Claude, and the customer
|
|
125
|
+
has seen "Actions" at sign-up and in Agent Studio - a new word breaks the link
|
|
126
|
+
to what they know. The action handler is yours: call it "the code behind it".
|
|
116
127
|
|
|
117
128
|
| Thing | Answers | Lives in | You write |
|
|
118
129
|
|---|---|---|---|
|
|
@@ -269,6 +280,22 @@ Lint catches some of these in handler code; Agent Studio copy is on you.
|
|
|
269
280
|
- **Never send the user out of the host app.** No "open in <product>" button,
|
|
270
281
|
no pasted URLs — navigate with a route, same tab.
|
|
271
282
|
|
|
283
|
+
## Agentic UI components: what bites
|
|
284
|
+
|
|
285
|
+
An Agentic UI component is the card an action draws in the chat (`render`).
|
|
286
|
+
Each of these cost a real build.
|
|
287
|
+
|
|
288
|
+
- **Every path through `render` draws something.** An action that returns
|
|
289
|
+
without drawing leaves the slot spinning forever: nothing throws, the console
|
|
290
|
+
stays clean, and the action is recorded as succeeded. Only looking at it shows
|
|
291
|
+
the problem. Draw the empty or the failed state (`renderEmpty`,
|
|
292
|
+
`renderFailure`) - never nothing.
|
|
293
|
+
- **Totals and money are never computed by the model.** Compute them in the
|
|
294
|
+
action's code or in the component, from the API's own numbers, and show them
|
|
295
|
+
in the component. The action's instructions tell the model not to restate or
|
|
296
|
+
recompute them: a model that adds up line items will eventually add them up
|
|
297
|
+
wrong.
|
|
298
|
+
|
|
272
299
|
## Layout
|
|
273
300
|
|
|
274
301
|
- `agent/actions/` — one handler per action (`execute`, optional `render`),
|
|
@@ -337,6 +364,14 @@ export { apiFetch } from "./api";
|
|
|
337
364
|
|
|
338
365
|
## Safety
|
|
339
366
|
|
|
367
|
+
- **A refusal is an answer.** When a command or tool call is declined - by the
|
|
368
|
+
human or by the session's own safety checks - stop. Say in one plain sentence
|
|
369
|
+
what you wanted it for, or take a narrower read-only route. Never retry it,
|
|
370
|
+
and never try a different command hoping it gets through.
|
|
371
|
+
- **Never create an account or a key** - not in Foldspace, not in the
|
|
372
|
+
customer's product, not anywhere. If one is missing, say which and where it
|
|
373
|
+
goes. **Never widen your own access**: if something is refused for a site or
|
|
374
|
+
a permission, say so and ask; do not try others.
|
|
340
375
|
- Do not commit secrets, cookies, HAR files, browser storage, or
|
|
341
376
|
`.foldspace-dev/`. Nothing transient goes in `docs/`.
|
|
342
377
|
- Local handler changes are not cloud publication.
|