Files
gstack/docs/qa-without-a-webpage.md
Garry Tanandcapy-ai[bot] ab9a854be2 v1.91.246.0 docs(readme): cut the README to the first ten minutes; move everything else to docs/ pages verbatim (GSTA-99) (#3428)
* docs(readme): cut the README to the first ten minutes; move everything else to docs/ pages verbatim (GSTA-99)

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix: pre-landing review fixes

Restore the /setup-gbrain code block the README split left open: README.md kept
the ```bash opener and docs/gbrain-quick-tour.md got only the closing fence, so
both pages rendered their body as one code block. Drop the self-referential
'Full reference' link in docs/domain-skills.md and make the troubleshooting
quick-answer link an in-page anchor.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs: describe the proactive core-set default in why-gstack

The moved 'Proactive skill suggestions' paragraph now documents the four-skill
core set, gstack-config set proactive core|all|off and the docs/proactive.md
page that #3432 (gsta-99-proactive-core) adds; the CHANGELOG names it as the one
non-verbatim paragraph of the move.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* fix: pre-landing review fixes (round 2)

Promote docs/uninstall.md's moved sections from ### to ## so the page outline
matches the other pages the README split created; no inbound link targets
those anchors.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs: documentation audit fixes

The README Docs table no longer claims docs/standalone-binaries.md covers
every gstack-* CLI (it documents the standalone ones), and
docs/ADDING_A_HOST.md step 6 points at the README host-matrix row and
docs/hosts.md, where the per-host notes now live.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs: disclose the update check fully and list every setup hook

The README privacy summary now names both GitHub requests the update check
makes and the version/OS report it adds with telemetry on, as the full text
it replaced did. docs/install.md's hooks section lists the team-mode
SessionStart hook and the AskUserQuestion PreToolUse/PostToolUse hooks beside
the timeline Stop hook.

* docs: name the update check's conditional compare-API request

bin/gstack-update-check also GETs api.github.com's compare endpoint when the
remote VERSION equals the local one but main has moved; the README privacy
summary and docs/privacy.md now list it beside the ls-remote and VERSION
fetch (documentation audit).

* fix: pre-landing review fixes (merge resolution)

docs/install.md:21 carried main's stable-channel sentence twice after the
merge, the second copy with its backticked spans stripped; the paragraph
again matches README.md:41 verbatim with the relative link.

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

* docs: say outside reviews are on by default in the README privacy summary

The one-paragraph summary dropped the default-on disclosure the full text
kept; mirror docs/privacy.md's parenthetical so the top-level page says which
path sends code off-machine without an opt-in.

* v1.91.246.0 stamp

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
2026-10-26 13:22:30 +00:00

3.0 KiB

QA without a webpage

Use the same commands for browser and non-browser software. Start in a repository with its documented native command and an isolated local fixture; name the target and the behavior you want checked. For example:

/qa-only Test this repo's CLI using its documented local fixture. Check valid and invalid input, exit codes, stdout/stderr, and cancellation. Report only; do not change code or tests. For each finding, include the exact command, expected and actual results, and which checks remain untested. Keep requests inside the fixture; ask before contacting an external service.

/qa Test this repo's local webhook and worker fixture. Explore duplicate deliveries and recovery after a partial failure. Keep all effects inside the fixture; preserve reproduced bugs in native regression tests before repairing them.

QA first tells you which surface, tools and write permissions it will use. A CLI or API does not need a browser. Browser targets keep real browser testing; developer experience audits load only when onboarding, installation or ergonomics are in scope. If the native tools or safe fixture are unavailable, the report names the blocker and untested contracts instead of inventing a pass or installing another framework.

Exploration means learning from each result and choosing the next useful challenge, not running random commands. Before the next discovery probe, QA saves a short exploration-NNN.json evidence note with the previous result, the assumption being tested and the next command. The final report links these notes; they do not require an extra chat message between probes. A discovered bug must be reproducible, and its new test must fail for the bug before the repair and pass afterward. Unit tests protect logic; integration and end-to-end tests protect real boundaries that mocks would hide. /qa-only proposes those tests without writing them.

Normal /review and /ship run a bounded version on changed behavior and nearby risks automatically, including small diffs without a plan or web server. Existing fix/test approval rules still apply. Missing dependencies, denied actions and time limits remain visible coverage gaps; a short smoke pass never means exhaustive QA. Production access and destructive or external effects require specific permission.

Bounded exploration uses an executable deadline guard, not an estimated clock: it refuses late probes and stops owned foreground work at the limit. Unfinished checks stay visible in the report. Required plan checks remain outside the review/ship smoke budget. See QA deadlines for command, platform and cleanup limits.

Every ship also runs the existing documentation audit, including repeat ships and existing PR updates. Clear factual corrections join the final checked change; risky rewrites need approval. A failed audit stops for recovery or explicit acceptance of the named risk rather than silently dropping its result. Ship owns versioning, Git and PR publication; the docs helper does not commit or push independently.