You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit c6474c2
Browse filesBrowse the repository at this point in the historyBrowse files
feat(cli): report a delivery that carries no fixtures, and write it anyway
A rule delivered with no `.tests/` works. What it cannot do is demonstrate
that it does: `taskless test` reports a pass having executed zero cases,
which is indistinguishable from a rule that was proven.
Warned rather than refused, and the asymmetry against `describeIncompleteSet`
is the point. Everything that refuses a delivery names a rule that cannot
work — no rule file, no config to scope it, no capture to invoke it. A
fixture-less rule is not broken, and its holder did not author it and cannot
add fixtures the service will bless, so refusing would leave them with no
action available. Warning first means a gap surfaces from a report rather
than from a blocked user, and hardening it into a refusal later can be
decided on evidence.
Checked against what arrived because the contract cannot express it. The
service requires fixtures at construction as of taskless/taskless#163, but
`files` is a flat `{path, content}[]` in the OpenAPI document with nothing
marking one of them a fixture.
Only the top-level `.tests/` counts, the same distinction `PRESERVED_SUBTREES`
draws: `captures/.tests/` is a file an engine reads. Depth inside `.tests/` is
not policed, since each engine's runner already judges that.
Measured: neutering the check fails 3 of the new tests; restored, 1273 pass.
A rule delivered without any `.tests/` fixtures is now reported, and still written. A fixture-less rule works; what it cannot do is demonstrate that it does, since `taskless test` reports a pass over zero executed cases and that reads exactly like a rule proven to work. The warning names the rule and says so, and goes to stderr so it does not disturb `--json` on stdout.
6
+
7
+
Reported rather than refused, deliberately. The holder of a fixture-less rule did not author it and cannot add fixtures the service will bless, so a refusal would leave them with no action available. Warning first means a gap in the seam surfaces from a report rather than from a blocked user, and the decision to harden it into a refusal can be made on evidence.
8
+
9
+
The service now requires fixtures at construction, so a delivery without them should not occur — but `files` is a flat `{path, content}[]` in the published contract, with nothing that says one of them must be a fixture. The requirement is real and not visible across the seam, which is why this is checked against what actually arrived.
0 commit comments