协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
qp-regress【开发与工程】Regression stage of QP — re-executes a previous run's test cases unchanged, computes surface_reach (how many TCs left the entry screen, as a ratio over ALL TCs), and reports the per-TC delta against the earlier run so a "no change" claim is per case, not an aggregate. Triggers on "did anything regress since last run", "re-run last week's QA pass", "c…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Input: a baseline qp/run/<ts>/ and the same qp/plan/tcs.tsv. Output: qp/regress/<ts>/.
Execute the baseline's TCs with qp-run without editing them. Editing a TC to make it pass is a new run, not a regression — say so if the user asks for it.
bash plugins/fh-qp/scripts/qp_tools.sh surface-reach qp/run/<new-ts>/evidence.tsv
| result | meaning |
|---|---|
REACHED n/n | every TC observed a screen other than the modal (entry) one |
PARTIAL k/n | some did — report which did not, by tc_id |
NOT_REACHED 0/n | the whole batch sat on one screen (a login wall, a dead env). Every FAIL in that run is unmeasured, not a detection — write that sentence in the report |
UNMEASURED (rc 10) | no evidence file / empty — not a zero |
Denominator is all TCs, including ones that never executed; write surface_reach.txt with the raw line. |
delta.tsvtc_id baseline_status new_status changed note
One row per TC. changed=yes on any status change or on a same-status verdict whose closure moved from MACHINE to JUDGMENT (the check got weaker). A run where every row is changed=no may say "no regression"; a run reported only as "12 PASS both times" may not — the aggregate hides a swap.
report.mdFirst 8 lines: target · engine/adapter/evidence · #mtm: state · surface_reach line · counts PASS/FAIL/BLOCKED/AMBIGUOUS new vs baseline · number of changed=yes · the sentence for NOT_REACHED if it applies · what was not measured (unexecuted TCs, dropped screenshots).
surface_reach.txt holds a REACHED|PARTIAL|NOT_REACHED|UNMEASURED line produced by the tool · [mandatory-pass].delta.tsv has one row per TC in the baseline · [measured] — row count equals distinct tc_ids.changed column reflects real behavior change, not selector drift · [judged — pairing: for each changed=yes, the before/after DOM snapshots are attached and a second session confirms the element moved, not the locator].Yes — needs a baseline run dir in the documented shape and bash.