Skip to content

One-line install prompt + guide fixes from two more field tests#46

Merged
ejntaylor merged 1 commit into
mainfrom
one-line-prompt
Jul 13, 2026
Merged

One-line install prompt + guide fixes from two more field tests#46
ejntaylor merged 1 commit into
mainfrom
one-line-prompt

Conversation

@ejntaylor

Copy link
Copy Markdown
Contributor

Summary

A real-world agent refusal (WebContainer/Bolt-style) revealed a fourth refusal mode — unbounded "finish what the checklist marks missing" delegation plus a claim URL that reads as a machine-authorization link — so the README prompt is now a single line that bounds the delegation by naming the checklist's steps, states the claim URL is for the user to open in a browser, and links npmjs.com for verification; a simulated agent under a hostile WebContainer security policy completed the install with this wording and explicitly cited those clauses as what lowered suspicion.

The same field tests drove the code/doc fixes: guide skips the ~90-line reference doc on all-green re-runs (--full restores it) and clarifies that claiming is the one manual action left; build wiring is bun-aware (bun doesn't run npm-style pre/post scripts, so the checklist suggests and recognizes chaining inside the build script); AGENT-INSTALL corrects the "no env vars" trust claim (mark-build stamps hosting env variable names, never values), stops nudging agents to fetch install.txt remotely, and reconciles "run in order" with checklist-first. All four refusal modes are documented in the README so the prompt doesn't get simplified back into a refusable shape.

Test plan

  • npm run typecheck and npm test green (145 tests, 4 new/updated in tests/guide.test.ts).
  • Field-tested end-to-end twice against a Lovable-style fixture with a mock manifest API: one agent installed the published 0.3.5 from the registry unaided; a second, primed with a hostile WebContainer security policy, audited the tarball (lifecycle scripts, shell/eval, endpoints) and completed the install, refusing only the remote install.txt fetch — which this PR removes the nudge for.

🤖 Generated with Claude Code

A real-world refusal (WebContainer/Bolt-style agent) exposed a fourth
refusal mode: unbounded "finish what it prints" delegation and a bare
claim URL that reads as machine authorization. The new one-line README
prompt bounds the delegation by naming the checklist's steps (build
hooks + widget snippet), states the claim URL's purpose (user opens it
in a browser to view reports), and links npmjs.com for verification.
A simulated agent under a hostile WebContainer security policy completed
the install with this wording and cited the bounding clauses as what
lowered suspicion; all four refusal modes are now documented in the README.

Fixes from the two field-test rounds:

- guide: skip the ~90-line reference doc when the checklist is all green
  (point at `guide --full` instead), and note that claiming the site is
  the one manual action left so the ➜ line doesn't contradict "complete".
- guide: bun-aware build wiring — `bun run` doesn't execute npm-style
  pre/post scripts, so the checklist suggests chaining scan/mark-build
  inside the build script on bun projects and counts that pattern as
  wired everywhere. AGENT-INSTALL documents the same.
- AGENT-INSTALL: correct the "no env vars" trust claim (mark-build stamps
  hosting env variable *names*, never values — auditing agents caught the
  discrepancy), stop nudging agents to fetch install.txt remotely, and
  reconcile "run in order" with the checklist-first instruction.
- guide: widget placement hint says "just before </body>".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderbuds

coderbuds Bot commented Jul 13, 2026

Copy link
Copy Markdown

Guide flow enhancements include a dynamic checklist with full reference fallback.

🎯 Quality: 100% Elite · 📦 Size: Medium

📈 This month: Your 221st PR — above team average · Averaging Excellent

See how your team is trending →

@ejntaylor ejntaylor merged commit 9e400b8 into main Jul 13, 2026
4 checks passed
@ejntaylor ejntaylor deleted the one-line-prompt branch July 13, 2026 21:00
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