Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,27 @@ expected, not as evasion, and run them yourself the moment the delegate returns:
- `git -C <worktree> diff --cached --numstat` after staging, to confirm `.gitattributes`
normalisation did what you expected.

**`task-researcher` also has no Bash tool, which makes `gh` work undelegatable (verified 2026-09-12,
issue #743 preparation).** Its granted surface is Read, Grep, Glob, WebFetch and Write only. A research
prompt that says "read issues 592, 511 and 571 including their closing comments" is therefore
unsatisfiable as written: GitHub issue bodies and comments live in no file in the tree. (The repository
is public, so `WebFetch` of `github.com/drmoisan/TaskMaster/issues/<N>` does work — see
`task-researcher/reference_github_issue_search_without_gh.md` — but only if the prompt says so; a
prompt that names `gh` gives the agent no route.) On that run the agent produced no artifact at all for a very
long period after being handed four `gh issue view` instructions.

The consequence is structural, not stylistic. Issue text is very often the ONLY place a root-cause
history, a premise correction, or a consolidated acceptance-criteria set exists — on #743 the whole
acceptance-criteria set lived in a consolidation comment, and the fact that the maintainer's first lead
had been refactored away was only discoverable by reading #592 against the current tree.

**How to apply.** Before delegating research that depends on issue history, run the `gh issue view`
calls yourself and write the results into a canonical evidence artifact under
`<FEATURE>/evidence/other/`, then point the research prompt at that FILE rather than at `gh`. There is
no SendMessage tool, so a prompt that asks for an impossible tool cannot be corrected once launched —
see [[no-sendmessage-relaunch-with-resume-brief]] and
[[agent-tool-cannot-course-correct-running-subagent]].

Do not skip these because the delegate sounded careful. Related:
[[subagent-self-reported-correction-can-be-false]] and
[[feedback_verify_subagent_capability_claims]]. Note the converse also holds and is worth the same
Expand Down
1 change: 1 addition & 0 deletions .claude/agent-memory/prd-feature/MEMORY.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,4 @@
- [500-line ceiling counts TOTAL lines](feature_line_ceiling_counts_total_lines.md)
- [Negative control must isolate the code fix](feedback_negative_control_must_isolate_the_code_fix.md)
- [Outcome AC when the mechanism is unverified](feedback_outcome_ac_when_mechanism_unverified.md)
- [Issue 671: projections-only evidence](project_671_projections_only_evidence.md) — no new raw TRX/coverage XML in the repo (effective 2026-09-12); name fixed-filename Markdown projections in full feature-relative backticked paths, never bare `evidence/...`
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,14 @@ sibling file under a space-free path, that is the reason; record it in the spec'
do not "restore" the research artifact's original placement. Same mechanism makes the mandated
CLAUDE.md msbuild command strings safe to quote.

**Evidence paths are the second permitted backtick site (seen on #839, 2026-09-12).** When the caller
mandates that evidence artifact paths be backticked in full, they are allowed outside the Write Set
because they fall under the feature-folder `**` glob that is itself a Write Set line; say so in the
top blockquote. Never backtick a bare repo-root `evidence/...` path (a sibling produced 44 bogus
blast-radius entries that way). Also unbacktick msbuild switch tokens such as the
TreatWarningsAsErrors property: a slash-bearing whitespace-free token is harvestable. See
[[671-projections-only-evidence]].

**The seeded spec template is itself a source of false write claims (seen on #798, 2026-09-07).**
The promotion scaffold copies `issue.md` prose into Context / Repro & Evidence, and that prose
arrives with backticks already around paths that are *not* write claims: the debug-log path under
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: 671-projections-only-evidence
description: Maintainer decision on issue 671 (effective 2026-09-12) - commit Markdown evidence projections only; no new raw test-result XML/TRX or coverage XML in the repo; shapes every spec's Test Strategy and evidence ACs
metadata:
type: project
---

By maintainer decision on issue 671, effective as of 2026-09-12, feature work commits **projections only**: numeric coverage figures and test-run summaries go into Markdown evidence artifacts under the feature folder's `evidence/<kind>/` tree, and the raw tool output (TRX, Cobertura XML, .coverage) is discarded, never added to the repository.

**Why:** Raw XML evidence bloated the repo and produced meaningless blast-radius entries; the maintainer ruled on #671 that the Markdown projection is the artifact of record.

**How to apply:** In every spec's Test Strategy and Acceptance Criteria, name Markdown projections (Timestamp / Command / EXIT_CODE / output summary) as the evidence, and add an AC that no `.xml`, `.trx` or `.coverage` file is added by the diff. Use fixed, non-timestamped filenames for projections that ACs must name, so no `<timestamp>` placeholder is needed inside a backticked path; the run timestamp goes in the artifact's `Timestamp:` field. Evidence paths must be written feature-relative and in full, e.g. `docs/features/active/<slug>/evidence/regression-testing/<name>.md`, never a bare repo-root `evidence/...` (a sibling item did that on 2026-09-12 and produced 44 meaningless blast-radius entries). Related: [[backticked-paths-are-the-change-footprint]], [[full-bug-spec-only]].
Loading