Repository navigation
Bug: drm-copilot-upstream-template-and-payload-defects #932
Description
Activity
The following sections were present in the promoted potential entry (
docs/features/potential/promoted/2026-09-28-drm-copilot-upstream-template-and-payload-defects.md) but were dropped bypotential_to_issue(defect #887, now consolidated into #932). Reposted verbatim.Suspected Cause / Notes
Each is a template, tool, or payload defect in drm-copilot. None can be fixed durably in this repository, because push-down overwrites the payload paths.
Proposed Fix / Validation Ideas
- Run one drm-copilot change (or one drm-copilot parallel run) covering items 1 to 6.
- Publish the MCP server. TaskMaster's
.mcp.jsonrunsnpx -yagainst the published package, so the published version is what TaskMaster sessions run. - Push down to TaskMaster.
- Verify each expected behavior in TaskMaster.
Next Step
- Promote to GitHub issue (bug-report template)
- Execute in drm-copilot
Consolidates: #885, #887, #899, the
.claudeportion of #602, the upstream residual of #563, and the timestamp portion of #727 sub-finding 5.An additional upstream (drm-copilot push-down) defect was found during #947 (PR #963, Follow-up 5).
The feature-review gate looks for the C# coverage document at
artifacts/csharp/coverage.xml. TaskMaster's coverage runner (scripts/vscode/Invoke-MSTestWithCoverage.ps1) writes undercoverage/. Each item therefore has to produce the canonical file by hand before its first feature review..claude/**is push-down-owned, so fix it upstream. Either make the expected path configurable per repository, or have the review accept the runner's output location.Three more upstream (drm-copilot push-down) defects, found during #956 execution in parallel run bugs-2026-09-28:
enforce-completion-consistency.ps1reads the wrong checkpoint. It blocked an item child's checkpoint edits. It appears to read the session-rootartifacts/orchestration/orchestrator-state.jsonrather than the item worktree's own checkpoint. In parallel and epic topologies these differ. Same class as the model-routing hook issue that was fixed locally at 4389d95b.- No
blocked_reasonvalue for an acceptance-criterion measurement. The orchestrator checkpoint schema has no value for a halt caused by an AC measurement failing, as opposed to a toolchain failure or a policy conflict. - Planner template gap for unreachable closing braces. When a plan removes
[ExcludeFromCodeCoverage]from code containingthrow;, the closing brace after the rethrow becomes an uncovered, unreachable line. Changed-line coverage criteria then fail spuriously. The atomic-planner guidance should tell planners to enumerate such lines as named exemptions at authoring time.
Two more planner-template defects (upstream push-down), found during #948 (PR #969):
- Hit-count comparisons are unsatisfiable. Plans must not compare coverage hit counts between lines.
dotnet-coverage's Cobertura output records each line hit as binary (0 or 1), so a "line A hit more than line B" check can never pass. Bug: engine-toggle-permanent-config-fault-logs-every-poll #948's P3-T10 had to be replaced at execution time with a check that both branch outcomes are covered. - Evidence timestamps are not read from the clock. Plan-authored evidence timestamps are composed rather than read. The atomic-planner and executor templates should require
Get-Dateordate -uoutput for every recorded timestamp. A related correction was made in Bug: tracked-csproj-bak-files-carry-stale-project-content #951's clearance artifact.
- Hit-count comparisons are unsatisfiable. Plans must not compare coverage hit counts between lines.
More planner and executor template defects (upstream push-down), found during #950 and #952:
- Diff checks trip a hook. Plan diff-check commands containing the substring "remove" trip the worktree-removal hook, and some pwsh one-liners fail to parse. Bug: dependabot-repair-runbook-and-workflow-comment-wording #952's executor had to rewrite two gate commands. Planners should build such commands in a way the hooks accept, and avoid multi-command pwsh pipes.
- Raw
Invoke-Pester. Plans name rawInvoke-Pestercommands instead of the PoshQC MCP route that this repository's maintainer requires for local PowerShell gates (Bug: dependabot-repair-runbook-and-workflow-comment-wording #952). - The stall-probe rule cannot tell a fast failure from a hang. Bug: quickfiler-tests-depend-on-wall-clock-timing #950's probe saw a deterministic test failure (not a stall) and fell back to the filtered coverage route, so the standard runner script was never exercised. The rule should branch on "hung" versus "failed" separately.
Added from #967 (maintainer decision 2026-10-03): .claude/rules/quality-tiers.md requires a quality-tiers.yml at the repository root and a tier-classification CI stage. Neither exists in TaskMaster, and the #178 governance sync deliberately kept TaskMaster's own policy and excluded the tier system. Fix upstream in drm-copilot so the push-down omits this rule (or gates it) for TaskMaster. Related: #668.
Summary
Upstream tracker. Every defect below lives in push-down-owned files or MCP tools from the
drm-copilotrepository. A fix made in TaskMaster would be reverted by the next push-down, so each must be fixed in drm-copilot and arrive here through a push-down. This issue follows the precedent of #691 and closes once all items arrive and are verified here.potential_to_issuesilently drops unmatched sections.extensions/drm-copilot/src/lib/potential-to-issue/content.ts:39-47:BUG_SECTION_HEADINGSlists only seven headings.buildBugBody(lines 212-224) emits only those seven, soSuspected Cause / Notes,Proposed Fix / Validation IdeasandNext Stepare dropped with no signal in the receipt.scripts/dev_tools/potential_to_issue_content.py:15,94.## Definition of Doneinstead of## Acceptance Criteria: 5 specs are affected.(#NNN), numbered, andAC<n>..claude/skills/acceptance-criteria-tracking/SKILL.md:43-50permits several headings..claude/hooks/validate-prd-feature-output.ps1:66..claude/agent-memory/**is tracked and written by every executing agent.resolve_atomic_plan_prompt, the prd-feature template) need a standing.claude/agent-memory/**carve-out..claudeportion: host-identifier leakage in push-down-owned files..claude/**files contain the developer account name or an absolute user-profile path, including.claude/settings.json:75and several.claude/agent-memory/**files and.claude/skills/cleanup-merged-worktrees/SKILL.md.<repo-root>,<user-profile>or environment references upstream..claude/rules/general-unit-test.md,.claude/rules/quality-tiers.mdand.claude/hooks/validate-feature-review-coverage.ps1state 85% line / 75% branch.Timestamp:fields that disagree with their own build banners and commit dates, so inter-gate ordering cannot be established from them.evidence-and-timestamp-conventionsskill.Environment
main(v1.1.12 tag 2dce111e and later) and TaskMastermainat177b6d78e(harness 1.1.12)Steps to Reproduce
See each item. #887 reproduces on any promotion of a fully filled potential-bug entry: diff the issue body against the source.
Expected Behavior
Each item is corrected upstream and pushed down. After the push-down, each is verified in TaskMaster:
## Acceptance Criteria.claude/**carries no host identifierActual Behavior
All six are present on TaskMaster
mainat177b6d78ewith harness 1.1.12.Logs / Screenshots
Impact / Severity
Source
From: docs/features/potential/2026-09-28-drm-copilot-upstream-template-and-payload-defects.md