@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.
Files changed (2) hide show
  1. package/CLAUDE.md +38 -3
  2. 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 thing the agent can call and one card to
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. Never make the customer learn these words describe them
115
- by what they do.
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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foldspace_npm/harness",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "Build and verify portable Foldspace action artifacts against a live app.",
5
5
  "type": "module",
6
6
  "bin": {