feat(agents): add Task Challenger adversarial questioning agent#1315
feat(agents): add Task Challenger adversarial questioning agent#1315rezatnoMsirhC wants to merge 22 commits intomainfrom
Conversation
- add task-challenger.agent.md with What/Why/How interrogation protocol - add task-challenge.prompt.md with optional artifact inputs - add 🥊 Challenge handoff to task-reviewer.agent.md - register agent and prompt in hve-core and hve-core-all collections - regenerate plugin outputs 🥊 - Generated by Copilot
…t/1212-adversarial-task-challenger-agent
… task-challenger - add Phase 1: Scope with artifact discovery, git fallback, and user confirmation - scope Prohibited Behaviors and Response Format to Challenge Phase only - add execute/runInTerminal and execute/getTerminalOutput to tools frontmatter - renumber Read → Phase 2, Identify → Phase 3, Challenge → Phase 4 - add 'Go next' skip signal handling to Phase 4 Protocol ✨ - Generated by Copilot
- add five-level ordered scope fallback with verified git commands - auto-create challenge tracking document at Phase 4 entry - add Challenge Tracking Document Schema section to Phase 4 - weight Compact handoff toward Task Researcher as default - add challenges/ to .copilot-tracking listing in copilot-instructions.md ⚡ - Generated by Copilot
…nger handoffs - add challenges/ artifact check to Task Researcher Phase 1 Step 1 - update Task Challenger handoff prompts to reference challenge document path 🔗 - Generated by Copilot
…t/1212-adversarial-task-challenger-agent
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1315 +/- ##
==========================================
- Coverage 87.66% 87.65% -0.02%
==========================================
Files 61 61
Lines 9328 9328
==========================================
- Hits 8177 8176 -1
- Misses 1151 1152 +1
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
🎨 - Generated by Copilot
There was a problem hiding this comment.
PR Review: feat(agents): add Task Challenger adversarial questioning agent
This is a well-conceived and thoroughly described feature. The adversarial questioning model, four-phase protocol, and data contract from challenger outputs to researcher inputs are all clearly specified. The automated checks pass. Two issues need to be resolved before merging.
Issue Alignment
The PR description uses Related to #1212 rather than Fixes #1212 or Closes #1212. The PR template instructs contributors to use Fixes # or Closes # syntax. If this PR fully delivers the feature described in the linked issue, consider updating to Closes #1212 so the issue is automatically closed on merge. If the issue is intentionally left open (e.g., it tracks ongoing work), a brief note explaining why would clarify intent.
PR Template Compliance
The PR adds AI artifact files (a new agent and a new prompt), which requires completing the AI Artifact Contributions checklist:
* [ ] Used `/prompt-analyze` to review contribution
* [ ] Addressed all feedback from `prompt-builder` review
* [ ] Verified contribution follows common standards and type-specific requirements
All three remain unchecked. These checkboxes represent a required quality gate for AI artifact contributions. Please complete the /prompt-analyze review, address any feedback, and check these items before requesting re-review.
ℹ️ Documentation checkbox
The Documentation is updated (if applicable) checkbox is unchecked. The Additional Notes section acknowledges that docs/agents/README.md currently omits the Task Challenger. While deferring the docs update to a follow-up is a reasonable call, the checkbox should carry an inline (N/A — deferred to follow-up issue) annotation to make that intent explicit, per the checklist conventions used elsewhere in the template.
Coding Standards
❌ disable-model-invocation: true missing from task-challenger.agent.md frontmatter (inline comment on line 4)
The agent declares execute/runInTerminal and execute/getTerminalOutput in tools:, writes files to .copilot-tracking/challenges/, and runs git commands during Phase 1. This makes it a side-effecting agent. task-reviewer.agent.md — a direct peer — sets disable-model-invocation: true for the same reason. The prompt-builder instructions require this field for side-effecting and explicitly-invoked agents. Add disable-model-invocation: true to the frontmatter.
Code Quality
💡 Duplicate "Response Format" section (inline comment on line ~214)
The file defines the Phase 4 response format in two places: a nested #### Response Format inside ### Phase 4: Challenge, and a top-level ## Response Format at the end of the file. Both sections state the same one-question rule with the same examples. Duplicate instructions create a maintenance hazard — a future edit to one copy may silently diverge from the other. Consolidate into the nested section, which is already the more contextually natural location.
Action Items
- Required — Check all three AI Artifact Contributions checklist items after completing the
/prompt-analyzereview. - Required — Add
disable-model-invocation: trueto thetask-challenger.agent.mdfrontmatter. - Suggested — Remove the duplicate top-level
## Response Formatsection; retain only the nested#### Response Formatunder Phase 4. - Minor — Annotate the Documentation checkbox with
(N/A — deferred to follow-up)to make the deferral explicit.
Note
🔒 Integrity filter blocked 1 item
The following item were blocked because they don't meet the GitHub integrity level.
- #1212
issue_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
To allow these resources, lower min-integrity in your GitHub frontmatter:
tools:
github:
min-integrity: approved # merged | approved | unapproved | none
katriendg
left a comment
There was a problem hiding this comment.
Thanks @rezatnoMsirhC for this new challenger agent proposal. I like many of the ideas, but I do feel it is adding some broad changes to RPI and the related agents, which we may want to be careful about, in the sense that it needs to be very clear and straightforward to users.
I left a few notes as I first reviewed it, probably would want to use it in action before we finalize in the coming days.
At first I would only release in Experimental mode to ensure we get enough user testing and feedback.
If this agent becomes a more integrated part of RPI, we need to ensure docs are updated to correctly explain how to use this agent, and how it should especially be used with the RPI workflow. Again if experimental we often allow for agents without full docs, but I would not release it without documentation.
Could you also run /prompt-analyze and attach your new agent and prompt files? I see the checkbox is not checked in the PR so I imagine you may not have run it yet. It may also give you some recommendations.
…t/1212-adversarial-task-challenger-agent
- revert task-researcher challenge check (defer to Stable) - rewrite compact prompt to focus on state only, remove workflow guidance - scope all handoff prompts to most recent challenge document by date - clarify tracking doc is always created at Phase 4 entry (not optional) - scope Phase 2 artifact reads to confirmed Phase 1 scope only - limit Phase 1 Level 1 discovery to most recent file per subfolder - add maturity: experimental to hve-core and hve-core-all collections ✨ - Generated by Copilot
Thank you for your extensive review! This is my first agent, so I'm still learning a lot. I've run |
…prompt - add Requirements section linking plan/changes/research to Phase 1 Step 1.1 discovery - wire focus as a pre-applied scope filter with scope summary annotation - require challenge tracking document path and unresolved items in session summary ✍️ - Generated by Copilot
…allenger - add Phase 4 completion trigger for Done/Stop/Finish signals - add end-of-session summary exception to Response Format rule - narrow Prohibited Behaviors summary prohibition to mid-session recaps - add Step 1.1 preflight to use caller-provided artifact paths directly - add phase transition instructions to Phases 2 and 3 - rename ## Protocol to ## Required Phases - replace [focus=...] notation with prose in Steps 1.1 and 1.2 - remove em dashes from intro paragraph and frontmatter description 🤖 - Generated by Copilot
…on update 🔄 - Generated by Copilot
…rmat in task-challenger - add to frontmatter; agent runs git commands and writes challenge tracking files (side effects per spec) - merge scope note, session-completion exception, and examples from top-level into nested inside Phase 4; remove the now-redundant top-level section 🔧 - Generated by Copilot
…t/1212-adversarial-task-challenger-agent
katriendg
left a comment
There was a problem hiding this comment.
Thanks for your changes, and moving the artifacts into the hve-core collection.
Please note we need to keep this in experimental maturity, so before we merge that key needs to be added in the **.collection.yml files. I left comments inline for this.
Please also update the .github/CUSTOM-AGENTS.md file with this new agent documentation.
For the rest it looks like this really interesting addition, looking forward to testing it!
…t/1212-adversarial-task-challenger-agent
…/github.com/microsoft/hve-core into feat/1212-adversarial-task-challenger-agent
- Remove 🥊 Challenge handoff from task-reviewer.agent.md until task-challenger moves to Stable; handoff would reference an experimental agent not packaged in Stable releases - Add task-challenger entry to .github/CUSTOM-AGENTS.md in the RPI Workflow Agents table with Experimental constraint note
There was a problem hiding this comment.
PR Review: feat(agents): add Task Challenger adversarial questioning agent
This PR introduces an interesting and well-conceived adversarial questioning agent. The prompt design, question framework, prohibited behaviors list, and phase structure are thorough and clearly authored. The collection/plugin lockstep updates are correct. Two blocking issues and two minor issues require attention before this is merge-ready.
Issue Alignment
The PR links to #1212 using "Related to #1212" rather than "Fixes #1212" or "Closes #1212". The PR template explicitly instructs linking issues with Fixes # or Closes # to trigger auto-close on merge. If this PR is meant to resolve #1212, please update the reference. If the issue intentionally stays open (e.g., it tracks a broader epic), the current phrasing is acceptable but should be clarified.
PR Template Compliance
The template is well-filled overall, but the Description section contains inaccurate claims about files that were not changed in this PR:
"Task Researcher was updated to check
.copilot-tracking/challenges/at the start of Phase 1 and, when a challenge document is present, treat its Q&A log and unresolved items as the primary research scope — establishing a formal data contract from challenger outputs to researcher inputs."
"Task Reviewer received a new 🥊 Challenge handoff that routes to Task Challenger via
/task-challenge."
Neither task-researcher.agent.md nor task-reviewer.agent.md is in the changed file list. Inspection of both files confirms neither contains the described changes. The "data contract" and the Task Reviewer handoff are described as shipped features but were not implemented.
This is a blocking issue: the PR description advertises capabilities that do not exist in the diff. Either:
- The updates to task-researcher and task-reviewer must be added to this PR, or
- The description must be corrected to remove those claims and note them as planned follow-up work.
Coding Standards Review
The agent file follows the prompt-builder.instructions.md authoring conventions well: frontmatter fields are present, the phase/step structure is clearly delineated, prohibited behaviors are explicit, and the question framework is consistently formatted.
One objective violation is flagged as a blocking issue — see inline comments.
Code Quality Findings
🔴 Blocking: Tool list vs. file creation contradiction
The declared tool list (read, search, execute/runInTerminal, execute/getTerminalOutput) does not include any write or create-file capability. Per prompt-builder.instructions.md, when tools: is specified, only listed tools are available. Yet the agent body requires creating and continuously updating a challenge tracking document:
- Core Principles (line 38): "Always create the challenge tracking document... it is always created, not optional. Update it throughout the session."
- Phase 4 Protocol (line 206): "At Phase 4 entry, create the challenge tracking document..."
The PR description frames the missing write tools as a security positive — but then describes a mandatory tracking document. These two positions are mutually exclusive. This must be resolved before the agent can function as documented. See inline comments on lines 5 and 206.
🟡 Minor: Unstaged plugin fixups must be committed before merge
The Additional Notes section correctly identifies that plugin:generate applied two fixups (table column padding in task-challenger.agent.md, missing row in plugins/hve-core-all/README.md) that remain as unstaged local modifications. These must be committed into this branch before merging.
Action Items
- Resolve the tools/write contradiction — either add write tools and update the security analysis, or remove the tracking document requirement and update the description to match.
- Correct the PR description — either implement the task-researcher and task-reviewer updates, or remove those claims and mark them as follow-up work.
- Commit the plugin fixups before merging.
- (Optional) Update
docs/agents/README.mdto mention Task Challenger, as noted in Additional Notes.
Note
🔒 Integrity filter blocked 1 item
The following item were blocked because they don't meet the GitHub integrity level.
- #1212
issue_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
To allow these resources, lower min-integrity in your GitHub frontmatter:
tools:
github:
min-integrity: approved # merged | approved | unapproved | none| name: Task Challenger | ||
| description: 'Adversarial questioning agent that interrogates implementations with What/Why/How questions: no suggestions, no hints, no leading - Brought to you by microsoft/hve-core' | ||
| disable-model-invocation: true | ||
| tools: [read, search, execute/runInTerminal, execute/getTerminalOutput] |
There was a problem hiding this comment.
The declared tool set [read, search, execute/runInTerminal, execute/getTerminalOutput] does not include any write, create_file, or equivalent capability. However, the agent body mandates file creation in two places:
- Core Principles (line 38): "Always create the challenge tracking document... This document is the session record — it is always created, not optional. Update it throughout the session."
- Phase 4 Protocol (line 206): "At Phase 4 entry, create the challenge tracking document at
.copilot-tracking/challenges/..."
The PR description explicitly frames the missing write tools as a security positive ("the agent cannot modify files"), which directly contradicts the requirement to create and continuously update a tracking document.
One of these must be resolved:
- Add write/create tools if the tracking document is a required feature, and update the security analysis accordingly.
- Remove the tracking document requirement from Core Principles and Phase 4 if the write restriction is truly intentional, and update the PR description to acknowledge that no session record is persisted.
As written, the agent will either fail silently when it attempts to create the document, or the tool restriction is non-enforceable — neither is acceptable.
|
|
||
| #### Protocol | ||
|
|
||
| At Phase 4 entry, create the challenge tracking document at `.copilot-tracking/challenges/{{YYYY-MM-DD}}/{{topic}}-challenge.md`. Begin the file with `<!-- markdownlint-disable-file -->`. Pre-populate: metadata (date, related artifact paths, scope source), confirmed scope from Phase 1, and challenge areas identified in Phase 3. |
There was a problem hiding this comment.
This line instructs the agent to create the challenge tracking document, but the frontmatter tool list (line 5) does not include any write or create-file tool. Since tools: in an agent frontmatter restricts available capabilities to only the listed entries, the model will have no mechanism to fulfill this instruction.
This line, along with the "Update it throughout the session" instruction on line 208, must be reconciled with the tool list before this agent can function as documented. See the comment on line 5 for the two resolution paths.
There was a problem hiding this comment.
Review: feat(agents): add Task Challenger adversarial questioning agent
The core Task Challenger agent is well-designed. The behavioral contracts are clearly stated, the prohibited-behavior list is specific and enforceable, the question framework is coherent, and the four-phase protocol is internally consistent. The collection and plugin updates are in order. However, two blocking issues must be resolved before this PR is ready to merge.
❌ Issue Alignment
The PR is linked as "Related to #1212" rather than "Fixes #1212" or "Closes #1212" as the PR template requests. If this is intentional (the issue is not fully resolved by this PR), that is acceptable — but please update the template comment to reflect why a closing keyword was not used, so reviewers understand the intent.
❌ PR Template Compliance — Incorrect Description of Changes (Blocking)
The PR description states:
Task Researcher was updated to check
.copilot-tracking/challenges/at the start of Phase 1 and, when a challenge document is present, treat its Q&A log and unresolved items as the primary research scope.
Task Reviewer received a new 🥊 Challenge handoff that routes to Task Challenger via
/task-challenge.
Neither of these changes is present in the diff. Confirmed by comparing file SHAs on the PR head branch against main:
.github/agents/hve-core/task-reviewer.agent.md— identical SHA on both branches; no 🥊 Challenge handoff added..github/agents/hve-core/task-researcher.agent.md— identical SHA on both branches; no challenges-directory check added.
The PR description must accurately reflect the actual changes. Either:
- Add the missing changes — update
task-reviewer.agent.mdwith the 🥊 Challenge handoff andtask-researcher.agent.mdwith the challenges-directory lookup, then update the collection YAMLs and runnpm run plugin:generateagain, OR - Correct the description — remove those claims from the PR body and clearly scope this PR as delivering the agent only, with a follow-up issue for the downstream integrations.
Note that without the Task Reviewer handoff, users have no discoverable navigation path from the review workflow to the challenger. The described data contract (challenger → researcher) is also incomplete without the Task Researcher update.
❌ PR Template Compliance — Documentation Checkbox Contradicts Acknowledged Gap (Blocking)
The Checklist section has [x] Documentation is updated (if applicable) checked, but the Additional Notes section explicitly acknowledges:
docs/agents/README.mdnames five RPI agents ... but does not yet mention Task Challenger. Consider a follow-up to update that reference.
Documentation is applicable here. Either:
- Update
docs/agents/README.mdin this PR to include Task Challenger, OR - Uncheck the documentation box and open a follow-up issue, referencing it in the PR description.
Leaving a checked checkbox that contradicts an acknowledged gap misleads reviewers about the completeness of the contribution.
⚠️ Coding Standards Observations
Two inline comments were left on the changed files:
task-challenger.agent.mdline 5 —execute/runInTerminalandexecute/getTerminalOutputare declared in frontmatter without a platform-level scope restriction. The Phase 1-only constraint lives entirely in LLM-interpreted instructions. Consider adding an explicit in-agent guard or a prominent Core Principles statement to reduce the risk of behavioral drift in long sessions.task-challenge.prompt.mdline 20 — Requirement 3 duplicates behavior already defined in the agent's Phase 4 completion summary. Per prompt authoring conventions, Requirements sections should extend rather than restate the parent agent's protocol.
✅ What Looks Good
- Agent frontmatter is well-formed:
name,descriptionwith attribution,disable-model-invocation: true,tools,handoffsall present and correctly structured. - The Prohibited Behaviors list is precise and operationally clear.
- The Probing Strategy (two-probe cap before marking unresolved) is a clean, well-scoped behavioral contract.
- Phase 1 scope-discovery cascade (5 levels with explicit fallback chain) is thorough.
- Challenge tracking document schema is well-defined with all required sections.
maturity: experimentalcorrectly set in both collection YAMLs.<!-- markdownlint-disable-file -->correctly specified for tracking document output.npm run plugin:generatewas run and plugin outputs are consistent.- All automated checks passed (markdown lint, spell check, frontmatter, PowerShell, skills validation).
Action Items
- Resolve the description/diff discrepancy for
task-reviewer.agent.mdandtask-researcher.agent.md(add changes or correct the description). - Resolve the documentation checkbox contradiction (update
docs/agents/README.mdor uncheck the box and open a follow-up issue). - Address the inline comments on terminal tool scope and duplicate prompt requirement.
Note
🔒 Integrity filter blocked 1 item
The following item were blocked because they don't meet the GitHub integrity level.
- #1212
issue_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
To allow these resources, lower min-integrity in your GitHub frontmatter:
tools:
github:
min-integrity: approved # merged | approved | unapproved | none…t/1212-adversarial-task-challenger-agent
…/github.com/microsoft/hve-core into feat/1212-adversarial-task-challenger-agent
There was a problem hiding this comment.
PR Review: feat(agents): add Task Challenger adversarial questioning agent
Issue Alignment ✅
PR correctly targets #1212. The implementation scope matches the issue intent: an adversarial questioning agent that interrogates .copilot-tracking/ artifacts through structured What/Why/How questions without coaching, suggesting, or validating.
No scope creep detected in the 13 changed files.
PR Template Compliance ✅
- Description is thorough and accurately describes the change.
- Related Issue(s):
Closes #1212✅ - Type of Change: "New feature", "Copilot prompt", "Copilot agent" all correctly checked ✅
- Sample Prompts section is complete and detailed ✅
- Testing table is present and results are explained ✅
- AI Artifact Contributions checklist is fully checked ✅
- Unchecked items (
Documentation is updated,Tests added,lint:md-links,docs:test) are accompanied by explanations — acceptable for this contribution ✅
Coding Standards ❌
Critical: write tools missing from tools: frontmatter — see inline comment on line 5 of task-challenger.agent.md.
Per prompt-builder.instructions.md: when tools: is specified, it restricts the agent to only those tools. The declared list (read, search, execute/runInTerminal, execute/getTerminalOutput) contains no write or create capability. The agent's protocol explicitly requires creating and continuously updating .copilot-tracking/challenges/{{YYYY-MM-DD}}/{{topic}}-challenge.md throughout Phase 4. This will silently fail at runtime.
Suggested fix: add create_file (or the equivalent write tool name used in this repo) to the tools: list, or explicitly remove the tracking document creation steps from the agent protocol if write access is intentionally excluded.
Code Quality ⚠️
Unstaged plugin fixups must be committed before merging.
The "Additional Notes" section acknowledges: "plugin:generate applied two minor fixups — markdown table column padding in task-challenger.agent.md and a missing task-challenge row in plugins/hve-core-all/README.md — present as unstaged local modifications and should be committed before merging."
These are not in the PR commits. Per repo convention, regenerated plugin outputs must be committed as part of the PR. Please run npm run plugin:generate locally, commit the resulting changes, and push before merging.
Action Items
| # | Severity | Item |
|---|---|---|
| 1 | 🔴 Critical | Add a write/create tool to the tools: list, or reconcile the protocol so it does not require file writes |
| 2 | 🟡 Required | Commit the unstaged plugin:generate fixups as part of this PR |
| 3 | ⚪ Minor | Fix "no leading" → "no leading questions" in collections/hve-core.collection.md (regenerate plugins after) |
Note
🔒 Integrity filter blocked 1 item
The following item were blocked because they don't meet the GitHub integrity level.
- #1212
issue_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
To allow these resources, lower min-integrity in your GitHub frontmatter:
tools:
github:
min-integrity: approved # merged | approved | unapproved | none- add edit/createFile and edit/editFiles to tools list - add Phase 1-only terminal guard to Core Principles - remove duplicate end-of-session summary from prompt - update docs/agents/README.md to include Task Challenger 🔧 - Generated by Copilot
There was a problem hiding this comment.
Automated Quality Review
Overview
The implementation is well-structured and the agent/prompt files follow the prompt-builder conventions correctly. The collection manifests, plugin outputs, and supporting documentation are all properly updated. Two PR description accuracy issues need to be addressed before this can merge.
✅ Issue Alignment
The PR adds a Task Challenger adversarial questioning agent that closes #1212. The implementation matches the intent described in the PR body with a clearly defined four-phase protocol, question framework, prohibited behaviors, and challenge tracking document schema.
❌ PR Template Compliance
Documentation checkbox is incorrectly unchecked
The "Documentation is updated (if applicable)" checklist item is unchecked with the note: "docs/agents/README.md not yet updated to include Task Challenger; deferred to follow-up issue." However, the diff shows docs/agents/README.md was updated in this PR:
- The RPI Orchestration agent count changed from 5 → 6
task-challengerwas added to the prose description of the RPI agents
Additionally, collections/hve-core.collection.md, plugins/hve-core/README.md, plugins/hve-core-all/README.md, and .github/CUSTOM-AGENTS.md were all updated. Please check the "Documentation is updated" box.
Security section contains a factual inaccuracy
The Security Considerations section asserts: "No write or edit tools declared — the agent cannot modify files." This is false. The agent frontmatter (line 5) declares edit/createFile and edit/editFiles. These tools are appropriate — the agent needs them to create .copilot-tracking/challenges/ tracking documents — but the claim in the PR description is incorrect and misleading for security reviewers who rely on these statements.
✅ Coding Standards
Agent and prompt files follow the prompt-builder.instructions.md conventions:
disable-model-invocation: trueis correctly setname:anddescription:frontmatter fields present with attribution suffix- Handoff declarations reference agents by human-readable
name:values (Task Researcher,Task Planner,Task Implementor) maturity: experimentalis set in the collection manifests only (not in artifact frontmatter), per convention- No activation line in the prompt file (correct, since it delegates to a custom agent whose protocol is self-contained)
✅ Code Quality
- Phase-based protocol is clearly scoped; terminal access is correctly restricted to Phase 1 only in the agent body
- Prohibited behaviors are explicit and properly scoped to the Challenge Phase
- Probe strategy (two probes before marking unresolved) is well-defined
- Five-level scope discovery cascade handles all edge cases including empty artifact directories
- Skip signal handling is specified without acknowledgment, consistent with the agent's no-preamble design
🔧 Required Action Items
- Check the "Documentation is updated" checklist box — documentation was updated in this PR across
docs/agents/README.md, collection markdown files, and plugin READMEs. - Correct the Security Considerations section — update the bullet point to accurately state that the agent declares
edit/createFileandedit/editFilestools for creating.copilot-tracking/challenges/session artifacts.
Note
🔒 Integrity filter blocked 1 item
The following item were blocked because they don't meet the GitHub integrity level.
- #1212
issue_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
To allow these resources, lower min-integrity in your GitHub frontmatter:
tools:
github:
min-integrity: approved # merged | approved | unapproved | none| name: Task Challenger | ||
| description: 'Adversarial questioning agent that interrogates implementations with What/Why/How questions: no suggestions, no hints, no leading - Brought to you by microsoft/hve-core' | ||
| disable-model-invocation: true | ||
| tools: [read, search, edit/createFile, edit/editFiles, execute/runInTerminal, execute/getTerminalOutput] |
There was a problem hiding this comment.
The tools declaration correctly includes edit/createFile and edit/editFiles — the agent needs these to create challenge tracking documents in .copilot-tracking/challenges/. However, the PR description's Security Considerations section states:
"No write or edit tools declared — the agent cannot modify files."
This claim is factually incorrect. Edit tools are declared here and are appropriate for the agent's purpose. Please update the security section to accurately reflect that the agent declares edit tools for creating challenge session artifacts.
feat(agents): add Task Challenger adversarial questioning agent
Description
Added Task Challenger — an adversarial questioning agent that reads
.copilot-tracking/artifacts cold and interrogates every decision, boundary, and assumption through structured What/Why/How questions. The agent does not validate, suggest, coach, or guide; it asks.The agent operates in four phases. In Phase 1 (Scope), it discovers what to challenge through a five-level cascade: existing
.copilot-tracking/artifacts,pr-reference.xml, git branch history, domain-based workspace search, and finally direct user input. Terminal access is limited to this phase only. Phase 2 (Read Artifacts) silently reads plans, changes, research, and reviews from.copilot-tracking/. Phase 3 (Identify Challenge Areas) silently selects the 5–7 areas with the highest density of unexamined assumptions — this list is never disclosed to the user. Phase 4 (Challenge) issues exactly one question per response using the structure[What/Why/How] + [noun subject] + [verb] + [open object]?, probes each answer up to twice before marking a point unresolved, and handles skip signals ("Go next", "Skip", etc.) without acknowledgment.A Challenge Tracking Document is created at Phase 4 entry under
.copilot-tracking/challenges/{{YYYY-MM-DD}}/{{topic}}-challenge.md. It captures metadata, confirmed scope, identified challenge areas, a Q&A log with verbatim answers, probe exchanges, and an Unresolved Items table.The companion
task-challenge.prompt.mdprovides four optional inputs (plan,changes,research,focus) that pre-position scope at invocation; the agent falls back to artifact discovery when none are supplied. Downstream integration with Task Researcher (challenges-directory lookup as primary research scope) and Task Reviewer (🥊 Challenge handoff) is planned for a follow-up issue.Both
hve-coreandhve-core-allcollections and plugins were updated in lockstep, and.github/copilot-instructions.mdwas updated to register.copilot-tracking/challenges/as a known tracking directory.Related Issue(s)
Closes #1212
Type of Change
Select all that apply:
Code & Documentation:
Infrastructure & Configuration:
AI Artifacts:
prompt-builderagent and addressed all feedback.github/instructions/*.instructions.md).github/prompts/*.prompt.md).github/agents/*.agent.md).github/skills/*/SKILL.md)Other:
.ps1,.sh,.py)Sample Prompts (for AI Artifact Contributions)
User Request:
Execution Flow:
.copilot-tracking/tracking artifacts,pr-reference.xml, git log/diff/status (viagit branch --show-current,git log ..HEAD --oneline,git diff --stat), domain-based repo search, or direct user prompt. Presents a factual scope summary and waits for explicit user confirmation before proceeding. Terminal commands are run only during this phase..copilot-tracking/plans/,changes/,research/, andreviews/..copilot-tracking/challenges/{{YYYY-MM-DD}}/{{topic}}-challenge.md. Issues one[What/Why/How] + […]?question per response. Probes each answer up to twice; marks unresolved after two probes with no new depth. Advances silently on skip signals. Updates the tracking document throughout the session.Output Artifacts:
Success Indicators:
For detailed contribution requirements, see:
Testing
All automated checks were run during PR generation.
npm run lint:mdnpm run spell-checknpm run lint:frontmatternpm run validate:skillsnpm run lint:md-linksmain— not introduced by this PRnpm run lint:psnpm run plugin:generatenpm run docs:testjestnot installed; pre-existing environment limitationSecurity analysis:
execute/runInTerminalandexecute/getTerminalOutputin tools but the agent body restricts their use to the Scope phase..copilot-tracking/challenges/, which is gitignored per existing repo convention.Sample Run
Scope Confirmation Phase
Conversational Q&A Phase
Checklist
Required Checks
docs/agents/README.mdnot yet updated to include Task Challenger; deferred to follow-up issueAI Artifact Contributions
/prompt-analyzeto review contributionprompt-builderreviewRequired Automated Checks
The following validation commands must pass before merging:
npm run lint:mdnpm run spell-checknpm run lint:frontmatternpm run validate:skillsnpm run lint:md-links(pre-existing SECURITY.md failure onmain)npm run lint:psnpm run plugin:generatenpm run docs:test(jestnot installed; pre-existing environment limitation)Security Considerations
Additional Notes
plugin:generateapplied two minor fixups during validation: markdown table column padding intask-challenger.agent.mdand a missingtask-challengerow inplugins/hve-core-all/README.md. Both are present as unstaged local modifications and should be committed before merging.docs/agents/README.mdnames five RPI agents (task-researcher, task-planner, task-implementor, task-reviewer, and the RPI orchestrator) but does not yet mention Task Challenger. A follow-up issue will track this documentation update.lint:md-linksfailure on SECURITY.md is pre-existing onmainand unrelated to this PR.