gstack/scripts
Tim White 202d3d84eb feat(qa,qa-only): add --evidence-per-finding evidence layout
Adds an opt-in per-finding evidence layout to /qa and /qa-only. When the
user passes --evidence-per-finding (or natural-language variants like
"evidence per finding" / "one folder per bug"), the run writes one
self-contained folder per finding instead of the flat shared-screenshots
layout:

  .gstack/qa-reports/qa-report-{domain}-{date}/
  ├── REPORT.md
  ├── findings/
  │   ├── 001-critical-checkout-500-on-submit/
  │   │   ├── finding.md       (severity, repro, env, expected/actual)
  │   │   ├── step-1.png
  │   │   ├── step-2.png
  │   │   ├── result.png
  │   │   └── repro.webm       (optional — present iff $B record was active)
  │   └── 002-high-search-no-results/
  │       └── ...
  └── baseline.json

The default flat layout is unchanged.

When per-finding is the right call (now in the shared methodology):
- Run produces ≥5 findings — the flat layout gets noisy past that.
- Any finding is critical or high — those tickets travel further and need
  self-contained evidence.
- An interactive bug needs video evidence — pairs with $B record (a
  separate PR adds the recording primitive at the browse layer).
- Findings will be handed off as Linear/Jira tickets — each folder zips
  into a single attachment.

Skip per-finding for quick smoke runs, 1-2 findings, or regression-mode
reruns where baseline.json is the canonical artifact.

Why a shared resolver: the structure and finding.md template are
identical for /qa and /qa-only. Per gstack's "no copy-paste across
leaves" prompt-size guidance, the shared content goes through
generateQAMethodology() (loaded into both via {{QA_METHODOLOGY}}). Each
leaf SKILL.md.tmpl only gets one new Setup-table row and a one-line
Output-Structure pointer to the shared section.

712 existing tests in test/gen-skill-docs.test.ts and
test/skill-validation.test.ts still pass.
2026-05-13 20:16:05 -07:00
..
app
host-adapters
resolvers feat(qa,qa-only): add --evidence-per-finding evidence layout 2026-05-13 20:16:05 -07:00
analytics.ts
archetypes.ts
build-app.sh
compare-pr-version.ts
detect-bump.ts
dev-skill.ts
discover-skills.ts
eval-compare.ts
eval-list.ts
eval-select.ts
eval-summary.ts
eval-watch.ts
garry-output-comparison.ts
gen-llms-txt.ts v1.28.0.0 feat: browse --headed/--proxy/--navigate + gstack/llms.txt + webdriver-only stealth (#1363) 2026-05-07 20:14:59 -07:00
gen-skill-docs.ts v1.28.0.0 feat: browse --headed/--proxy/--navigate + gstack/llms.txt + webdriver-only stealth (#1363) 2026-05-07 20:14:59 -07:00
host-config-export.ts
host-config.ts
jargon-list.json
models.ts
one-way-doors.ts
preflight-agent-sdk.ts
psychographic-signals.ts
question-registry.ts
setup-scc.sh
skill-check.ts
slop-diff.ts
test-free-shards.ts
update-readme-throughput.ts