@xera-ai/skills 0.20.1 → 0.20.3
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/CHANGELOG.md +8 -0
- package/package.json +1 -1
- package/xera-report.md +16 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @xera-ai/skills
|
|
2
2
|
|
|
3
|
+
## 0.20.3
|
|
4
|
+
|
|
5
|
+
## 0.20.2
|
|
6
|
+
|
|
7
|
+
### Patch Changes
|
|
8
|
+
|
|
9
|
+
- [#206](https://github.com/xera-ai/xera/pull/206) [`f3b6df3`](https://github.com/xera-ai/xera/commit/f3b6df322e9503b5b3c9485b1bf1bef7f048706b) Thanks [@thanhtrinity](https://github.com/thanhtrinity)! - resolve nine triaged bugs across http/core/cli/prompts (auto-generated from [#206](https://github.com/xera-ai/xera/issues/206))
|
|
10
|
+
|
|
3
11
|
## 0.20.1
|
|
4
12
|
|
|
5
13
|
## 0.20.0
|
package/package.json
CHANGED
package/xera-report.md
CHANGED
|
@@ -39,7 +39,7 @@ Step 4 below is *cognitive work that YOU, the session, must do*. It is not a she
|
|
|
39
39
|
{
|
|
40
40
|
"name": "<scenario name>",
|
|
41
41
|
"outcome": "PASS" | "FAIL" | "SKIPPED",
|
|
42
|
-
"class": "PASS" | "SKIPPED" | "REAL_BUG" | "SELECTOR_DRIFT" | "FLAKY" | "TEST_BUG",
|
|
42
|
+
"class": "PASS" | "SKIPPED" | "REAL_BUG" | "SELECTOR_DRIFT" | "FLAKY" | "TEST_BUG" | "CONTRACT_DRIFT",
|
|
43
43
|
"confidence": "low" | "medium" | "high",
|
|
44
44
|
"rationale": "..."
|
|
45
45
|
}
|
|
@@ -50,6 +50,21 @@ Step 4 below is *cognitive work that YOU, the session, must do*. It is not a she
|
|
|
50
50
|
|
|
51
51
|
**Do not skip this step.** If you find yourself about to call `npx xera-internal report` without having written this file, stop and write the file first.
|
|
52
52
|
|
|
53
|
+
`CONTRACT_DRIFT` is the one class you do NOT decide yourself — it is detected deterministically against the OpenAPI spec in the next step. Pick from the six taxonomy classes above when writing the file; the next step overrides specific scenarios.
|
|
54
|
+
|
|
55
|
+
## Step 4-drift — deterministic CONTRACT_DRIFT stamp (http; before any heal)
|
|
56
|
+
|
|
57
|
+
Right after writing `classifier-input.json`, run the deterministic OpenAPI drift check (no LLM reasoning — it reuses the same rule `xera-internal report` applies at the end):
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx xera-internal classify-drift {{TICKET}}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Read `.xera/{{TICKET}}/runs/<latest>/contract-drift.json`:
|
|
64
|
+
|
|
65
|
+
- If its `class` is `"CONTRACT_DRIFT"`, then for every scenario whose `name` is in its `scenarios` array, set that scenario's `class` to `"CONTRACT_DRIFT"` in `classifier-input.json` (overriding your taxonomy choice for those scenarios — the deterministic OpenAPI rule wins). This is what makes the CONTRACT_DRIFT heal sub-flow below actually fire.
|
|
66
|
+
- If its `class` is `null`, leave `classifier-input.json` unchanged.
|
|
67
|
+
|
|
53
68
|
## Step 4b — TEST_OUTDATED pre-check (v0.6.1)
|
|
54
69
|
|
|
55
70
|
For every scenario in `classifier-input.json` whose `outcome === "FAIL"`:
|