Skip to content

fp-check: Stop-hook completeness prompt is not path-aware (standard vs deep) #205

Description

@dguido

Split out of #190 so the structural hook-scoping fix in #188 can land without losing this.

The gap

#188 moves the Stop hook into skill frontmatter and deletes hooks/hooks.json outright, which fixes hooks firing in unrelated sessions and the main-agent loop. It carries the existing prompt over unchanged, and that prompt demands the full deep-path output for every bug:

Scan the conversation for evidence of ALL of the following for EVERY bug […] Phase 5 (Devil's Advocate): All 13 challenge questions addressed […] Phase 4 (PoC Creation): Pseudocode PoC created […]

A verification that legitimately took the standard path has none of that, so the hook reports {"ok": false} and the run is told it is incomplete when it isn't. A completeness gate that fires on correct output trains people to ignore it.

Proposed fix

@GotenJBZ proposed this in #190 — ordered rules rather than one flat checklist:

  1. Skip if the conversation is not fp-check.
  2. Skip if the work was delegated to subagents or a workflow (they carry their own per-agent completeness checks, which fix(fp-check): scope completeness hooks to skill/agent frontmatter (#143) #188 puts in each agent's frontmatter).
  3. Check only the phases the path actually used — standard vs deep — instead of requiring all five unconditionally.

Rule 2 matters more after #188 than before: with per-agent Stop hooks on data-flow-analyzer, exploitability-verifier, and poc-builder, a delegated run is already checked agent-by-agent, and re-checking at the top level is both redundant and wrong (the coordinator's transcript won't contain the subagents' phase output).

Credit

The diagnosis and the rule ordering are @GotenJBZ's, from #190. #188 was already open with the frontmatter-scoping approach and is CI-validated and version-correct, so it goes in first; this issue is the remainder.

cc @ahpaleus (fp-check owner)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions