Skip to content

fix(code): ask the human only what needs human eyes in guided-manual-qa - #212

Merged
shafty023 merged 2 commits into
mainfrom
fix/guided-manual-qa-human-only-checkpoints
Oct 1, 2026
Merged

shafty023 merged 2 commits into
mainfrom
fix/guided-manual-qa-human-only-checkpoints

Conversation

@shafty023

Copy link
Copy Markdown
Collaborator

Summary

guided-manual-qa already skipped behavior that exact-head E2E verifies, but nothing stopped the agent from handing the human checkpoints it could verify itself. The rule "agent inspection is supporting evidence, not human confirmation" plus the checkpoint-by-checkpoint flow read as "every non-E2E checkpoint goes to the human". This makes the human's time go only to what needs human eyes, without loosening the honesty rules.

Key rule, before (SKILL.md intro):

Run manual QA as a collaboration with the human for behavior that exact-head E2E does not already verify. ... A passing E2E test can close that coverage need but is automated evidence, never a human PASS.

After:

Present a checkpoint to the human only when both are true: passing E2E on the current head does not already verify it, and the agent cannot reliably verify it itself. Record everything else as E2E_COVERED or AGENT_VERIFIED with its evidence; neither is ever a human PASS.

What changed:

  • Routing rule at the end of "Prove the checkpoint oracle before asking the human": a checkpoint the agent conclusively observed on this head, and that needs no human judgment, is recorded AGENT_VERIFIED with agent-observed evidence and not presented. Only visual or perceptual judgments, flows the agent cannot drive or observe reliably (real OAuth, OS dialogs, hardware, third-party UIs), and product-judgment calls go to the human, with the reason recorded.
  • No silent passes: an inconclusive agent observation goes to the human; a contradicting one is settled as setup, oracle, or a candidate finding.
  • Status meanings gain AGENT_VERIFIED and E2E_COVERED. The evidence paragraph now says agent and automated evidence can close a checkpoint as one of those, never as PASS.
  • Final summary reports human-confirmed PASS/FAIL, AGENT_VERIFIED, E2E_COVERED, and BLOCKED separately, and lists each checkpoint left to the human and why.
  • The interactive window opens only when a checkpoint is routed to the human; the walkthrough section applies to routed checkpoints.
  • QA record template: AGENT_VERIFIED status, a per-checkpoint routing line, agent-observed as confirmer for agent-verified attempts, and the new summary lines. Plan methodology: the E2E section and bug-fix pass condition point at the routing rule.
  • "Do not turn a plausible expectation into a human checkpoint" and the oracle items are unchanged.

Bumps code to v1.16.3 and adds the CHANGELOG entry.

Testing

  • npm test and npm run typecheck in tools/guided-manual-qa: 48 tests pass. The new contract test fails against the previous skill text.
  • uv run ruff check . passes.

- Present a guided-manual-qa checkpoint to the human only when
  exact-head E2E does not verify it and the agent cannot reliably
  verify it itself
- Record agent-verified checkpoints as AGENT_VERIFIED with
  agent-observed evidence, never as a human PASS
- Route inconclusive agent observations to the human and settle
  contradicting ones as setup, oracle, or a candidate finding
- Report human, AGENT_VERIFIED, E2E_COVERED, and BLOCKED counts
  separately and list why each human checkpoint needed a human
- Pin the routing rule in the skill contract test

Testing: npm test and npm run typecheck in tools/guided-manual-qa;
the new contract test fails against the previous skill text
Risks: None identified; skill text and template only

@mikeangstadt mikeangstadt left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right call, the human's time shouldn't go to checks the agent can run itself. Left three things: one ordering hole around the launch gate, one status conflict in plan-methodology, and the README still describes the old contract.

Comment thread plugins/code/skills/guided-manual-qa/SKILL.md Outdated
Comment thread plugins/code/skills/guided-manual-qa/references/plan-methodology.md Outdated
Comment thread CHANGELOG.md
- Let the agent verify in its own headless context with the same
  preloaded state, and open the visible window only at the human
  checkpoint step
- Route an inconclusive agent bug-fix observation to the human;
  only an inconclusive human observation is BLOCKED
- Describe the routing rule in the code plugin README
- Pin the ordering and the inconclusive rule in the contract test

Testing: npm test and npm run typecheck in tools/guided-manual-qa
Risks: None identified; skill text, README, and template only
@shafty023
shafty023 merged commit e97b96f into main Oct 1, 2026
7 checks passed
@shafty023
shafty023 deleted the fix/guided-manual-qa-human-only-checkpoints branch October 1, 2026 00:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants