task-pipeline-skill 1.3.1 → 1.3.2
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
CHANGED
|
@@ -1,5 +1,48 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v1.3.2 — 2026-07-29
|
|
4
|
+
|
|
5
|
+
**The 26 negative self-tests could not be run anywhere except CI** — which meant
|
|
6
|
+
that on the maintainer's own machine, a new guard could never be watched rejecting
|
|
7
|
+
its planted defect. The project's own `references/audit.md` demands exactly that
|
|
8
|
+
(*plant the defect, watch the check fail, then trust the green*), and the tooling
|
|
9
|
+
made it impossible at the one moment it is worth most: while the guard is being
|
|
10
|
+
written.
|
|
11
|
+
|
|
12
|
+
Found by running the full CI suite locally during a validity re-check. Nine of the
|
|
13
|
+
26 failed — every one on BSD sed, none on a repo defect.
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- **`test/negatives.py`** — runs every negative self-test locally, zero
|
|
17
|
+
dependencies, same as the validator. `npm run test:negatives`, or
|
|
18
|
+
`npm run test:all` for validator-then-guards. The corruptions are **read from
|
|
19
|
+
`.github/workflows/validate.yml`, never duplicated** — a second copy of a
|
|
20
|
+
corruption is a second thing to drift.
|
|
21
|
+
- **It tells a broken test from a guard that didn't fire.** If a planted defect
|
|
22
|
+
changed nothing, the validator passing means the *test* proved nothing, not that
|
|
23
|
+
the guard is dead. That case now reports `BROKEN`, with the fix pointed at the
|
|
24
|
+
workflow. This is the failure mode that hid the sed problem in the first place: a
|
|
25
|
+
no-op corruption reads exactly like a broken guard.
|
|
26
|
+
- It also refuses to run if it finds fewer than 20 tests — a parser or format change
|
|
27
|
+
that silently matched nothing would otherwise report zero failures and look like
|
|
28
|
+
success.
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
- **Every `sed -i` corruption in the workflow is now python.** BSD sed needs an
|
|
32
|
+
argument GNU sed refuses, and `0,/re/` does not exist on BSD at all — there it
|
|
33
|
+
edits nothing *silently*, and the test reads as a guard that failed to fire.
|
|
34
|
+
Nine steps converted; CI and a laptop now run the identical script.
|
|
35
|
+
|
|
36
|
+
### Validator
|
|
37
|
+
- **`sed -i` in `.github/workflows/validate.yml` is now a failure**, and
|
|
38
|
+
`test/negatives.py` must exist. Without both, the guards drift back to
|
|
39
|
+
CI-only and stop being provable where they are written.
|
|
40
|
+
- The new self-test builds the forbidden token at runtime, because spelling it
|
|
41
|
+
literally would make the workflow trip the guard it is testing. Verified the
|
|
42
|
+
honest way: a clean copy passes, and the injected copy is the *only* reason the
|
|
43
|
+
corrupted one fails — a self-test that passes because the base is already red
|
|
44
|
+
proves nothing.
|
|
45
|
+
|
|
3
46
|
## v1.3.1 — 2026-07-29
|
|
4
47
|
|
|
5
48
|
### Stage 10 closes on the parent repository, not only on the one you edited
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "task-pipeline-skill",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"description": "Full-cycle delivery pipeline for coding agents: a mandatory built-in intake grill, then 10 gated stages (docs, brainstorm+decompose, spec, plan, build, tests, lint/deploy, post-deploy, docs/wiki, acceptance). Every stage's doctrine ships inside the skill — no companion plugin required. This package is the installer CLI.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"task-pipeline": "bin/task-pipeline.js"
|
|
7
7
|
},
|
|
8
8
|
"scripts": {
|
|
9
|
-
"test": "python3 test/validate.py"
|
|
9
|
+
"test": "python3 test/validate.py",
|
|
10
|
+
"test:negatives": "python3 test/negatives.py",
|
|
11
|
+
"test:all": "python3 test/validate.py && python3 test/negatives.py"
|
|
10
12
|
},
|
|
11
13
|
"files": [
|
|
12
14
|
"bin",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "task-pipeline",
|
|
3
3
|
"description": "Runs a substantial task through a mandatory built-in intake grill, then 10 gated stages (docs, brainstorm+decompose, spec, plan, subagent build, tests, lint/deploy, post-deploy, docs/wiki, acceptance). Every stage's doctrine is built into the skill — no companion plugin required — with typed auto/manual gates, a frozen requirement spine that must close with evidence, a loop guard that breaks churn, one provider-agnostic model confirmed up front, and an optional super-ux UX track for user-facing work.",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.2",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "ssheleg"
|
|
7
7
|
},
|