aboutsummaryrefslogtreecommitdiff
path: root/playwright-py/scripts/detect_dev_servers.py
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-19 19:52:13 -0500
committerCraig Jennings <c@cjennings.net>2026-07-19 19:52:13 -0500
commit2e190486c84b28d313ba0a2e096d86bec99d54d6 (patch)
treee3a959b013e4b8e8138edd38d20c2202224dcaa6 /playwright-py/scripts/detect_dev_servers.py
parent179c495fa7fcb2c2dcf7bdb81b1459afaa0e5075 (diff)
downloadrulesets-2e190486c84b28d313ba0a2e096d86bec99d54d6.tar.gz
rulesets-2e190486c84b28d313ba0a2e096d86bec99d54d6.zip
docs(todo-format): add the measurable-acceptance pattern for open-ended tasks
A task phrased as an absence ("find bugs until none remain," "refactor until nothing worthwhile is left," "clean it up") can't be :solo:, because it fails the verifiable-by-the-agent gate. Absence isn't falsifiable, so "done" is a judgment call, which is what :solo: forbids. This kept surfacing (the ai-launcher-hardening task is the live case) with no written recipe for fixing it. todo-format.md gains a subsection, right after the :solo:/:quick: definitions, on converting a fuzzy goal into a measurable one: bound the surface (enumerate the units, that's the done-set), net the behavior with characterization tests, disposition every finding (fixed / filed / declined-with-reason, never "looked and it's fine"), and gate on an objective floor (static-analysis clean, suite green, coverage of the enumerated surface). The qualifying answer becomes a dispositioned report, not a claim of perfection, and the honest limit stays honest: "no visible bugs" means "every enumerated path passes its characterization set and clears the audit." Once a task carries those criteria it can carry :solo:. work-the-backlog's keystone defer item now names open-ended goals as a specific, recognizable failure of test-writability, so a mistagged :solo: task with no writable acceptance test is deferred and routed to get criteria rather than guessed at. start-work has the same Justify/Approach gate and wants the same pointer, but its skill lives outside rulesets, so that edit is a follow-up in its home.
Diffstat (limited to 'playwright-py/scripts/detect_dev_servers.py')
0 files changed, 0 insertions, 0 deletions