# Bucket-A expectations for prompt-updater
# Format: per-agent YAML, 5–10 grader-worthy expectations grounded in the agent
# file's explicit promises and/or current matrix failures. This file is consumed
# by the next pass that rewrites stimuli + graders end-to-end; do not treat it
# as a Vally grader file directly.
#
# Note: prompt-updater is `user-invocable: false`, so the agent-matrix does not
# produce a `<slug>.json` result file for it. No stimulus exists yet; the
# `stimulus_file` field points to the conventional path that a later Bucket-B
# pass should populate.
slug: prompt-updater
class: subagent  # subtype: prompt artifact editor
agent_file: .github/agents/hve-core/subagents/prompt-updater.agent.md
stimulus_file: evals/agent-behavior/stimuli/prompt-updater.yml
latest_result: null
source_review_date: 2026-05-28

expectations:
  - expectation_id: tracking-file-path
    summary: Response names a prompt-updater tracking file under the documented dated path.
    signal: Output contains a path matching the tracking-file pattern.
    pass_criteria: |
      Reported tracking file path matches
      `.copilot-tracking/prompts/<YYYY-MM-DD>/<prompt-filename>-<updates>.md`
      and is workspace-relative.
    failure_modes:
      - Tracking file path omitted.
      - Path written outside `.copilot-tracking/prompts/`.
      - Missing dated subdirectory or `-<updates>` suffix.
    priority: high
    contract_ref: "agent §Inputs + §Prompt Updater Tracking File(s)"

  - expectation_id: prompt-file-path
    summary: Response names every prompt file modified or created.
    signal: Output lists target prompt file paths.
    pass_criteria: |
      Response includes the workspace-relative path of each prompt file that
      was modified or created during the run.
    failure_modes:
      - Modified or created prompt file paths omitted.
      - Paths reference non-existent locations or absolute paths.
    priority: high
    contract_ref: "agent §Response Format (relative path to the prompt file(s))"

  - expectation_id: status-per-file
    summary: Each prompt file in the response carries a documented status.
    signal: Each prompt file path is paired with a status value.
    pass_criteria: |
      Every prompt file path in the response has a status drawn from
      `Complete`, `In-Progress`, `Blocked` (or a similarly documented value
      such as `etc.` only when justified by the file's state).
    failure_modes:
      - Status missing for one or more files.
      - Status uses undocumented vocabulary (`Done`, `Pending`, `Failed`).
    priority: medium
    contract_ref: "agent §Response Format (status of the modifications for each prompt file)"

  - expectation_id: instructions-followed
    summary: Response acknowledges following prompt-builder and writing-style instructions.
    signal: Response cites or applies the two normative instruction files.
    pass_criteria: |
      Response demonstrates that modifications follow guidance from
      `.github/instructions/hve-core/prompt-builder.instructions.md` and
      `.github/instructions/hve-core/writing-style.instructions.md`, either
      by direct citation or by visible adherence (e.g., voice/tone, frontmatter
      schema) in tracked changes.
    failure_modes:
      - Neither instruction file referenced or applied.
      - Modifications visibly violate the cited standards.
    priority: high
    contract_ref: "agent §Pre-requisite (read prompt-builder + writing-style instructions)"

  - expectation_id: remaining-checklist
    summary: Response includes a checklist of remaining requirements and issues.
    signal: Output renders a checklist of open work items.
    pass_criteria: |
      Response includes a checklist (markdown checkboxes or equivalent) of
      remaining requirements and unresolved issues, sourced from the
      prompt-updater tracking file.
    failure_modes:
      - Checklist omitted entirely.
      - Checklist conflates completed and remaining items without distinction.
    priority: medium
    contract_ref: "agent §Response Format (checklist of remaining requirements and issues)"

  - expectation_id: clarifying-questions
    summary: Response ends with clarifying questions or states that none remain.
    signal: Response includes a clarifying questions block.
    pass_criteria: |
      Response includes a clarifying questions section that either lists
      questions needing user input or explicitly states that no clarifying
      questions remain.
    failure_modes:
      - Clarifying questions block omitted.
      - Open questions surfaced only in the tracking file, never in the response.
    priority: medium
    contract_ref: "agent §Response Format (clarifying questions that require more information)"

  - expectation_id: gap-and-drift-review
    summary: Response surfaces gaps and drift between requirements and implementation.
    signal: Response indicates a review step compared requirements vs. implementation.
    pass_criteria: |
      Response notes gaps, drift, missing requirements, or remaining issues
      identified during the Step 3 review pass — even if all sections come
      back clean, the review pass itself is acknowledged.
    failure_modes:
      - Review pass not acknowledged; response jumps straight from implementation to handoff.
      - Gaps recorded only in tracking file but suppressed from the response.
    priority: medium
    contract_ref: "agent §Step 3 Review Prompt File Modifications"
