blastproof 0.10.0 → 0.11.0

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/README.md CHANGED
@@ -135,7 +135,7 @@ jobs:
135
135
 
136
136
  - run: npm start & # however your app boots
137
137
 
138
- - uses: hamc/blastproof@v0.10.0
138
+ - uses: hamc/blastproof@v0.11.0
139
139
  with:
140
140
  version: '0.6.0' # pin both when this gates merges
141
141
  api-key: ${{ secrets.ANTHROPIC_API_KEY }}
package/dist/cli.js CHANGED
@@ -1248,11 +1248,13 @@ function plannerSystemPrompt() {
1248
1248
  You receive a YAML accessibility snapshot of the page (roles and accessible names, exactly what a user perceives) and the list of source files a pull request changed in the area this page covers.
1249
1249
 
1250
1250
  Rules:
1251
- - Write steps a human tester could follow without looking at the code. One action or check per step.
1251
+ - Write steps a human tester could follow without looking at the code. One move per step \u2014 a single action together with what it should produce, or a single check. Never two unrelated actions in one step.
1252
1252
  - Refer to controls by the accessible name shown in the snapshot, spelled exactly. Never invent buttons, fields or links that are not in the snapshot.
1253
1253
  - Never write CSS selectors, XPath, IDs or any code \u2014 the runner resolves elements live from the accessibility tree.
1254
1254
  - Prefer the journey the changed files touch over a generic tour of the page. The changed files tell you which part of the page matters.
1255
- - End with at least one step that verifies an observable outcome (visible text, a count, a state change).
1255
+ - **The test starts at the application's base URL, not at this route.** Begin with a step that navigates to the route and says what should be visible once it loads \u2014 "navigate to /support and verify the heading "Contact support" is shown". Without it the run opens the home page and every later step looks for controls that are not there.
1256
+ - **Every step says what it should produce.** Name what must be true once the step has been carried out, not the action alone: "submit the support form and verify the confirmation page shows the ticket number", never "submit the support form". A step that names an action without an outcome asks the runner to judge whether something happened while looking at the page that succeeding produces \u2014 a submitted form comes back empty, a redirect moves the URL \u2014 and that is the shape behind several real failures.
1257
+ - **A step that enters a value writes the value.** "fill the subject field with Order not received", never "enter a subject". The runner is forbidden from inventing values, so a step that does not supply one cannot be carried out.
1256
1258
  - If a step needs a credential or any secret, write it as a placeholder like {{env.TEST_PASSWORD}}. Never write a real or invented password, token or key.
1257
1259
  - Keep the whole test to a handful of steps: one journey, not an exhaustive suite.`;
1258
1260
  }
@@ -2774,7 +2776,7 @@ function parsePositiveNumber(flag) {
2774
2776
  };
2775
2777
  }
2776
2778
  var program = new Command();
2777
- program.name("blastproof").description("Open-source AI testing agent: plain-English YAML tests executed agentically on a real browser.").version("0.10.0");
2779
+ program.name("blastproof").description("Open-source AI testing agent: plain-English YAML tests executed agentically on a real browser.").version("0.11.0");
2778
2780
  program.command("init").description("Scaffold .blastproof/ (config, tests, sample tests) in the current directory").action(async () => {
2779
2781
  try {
2780
2782
  const result = await initProject(process.cwd());