Skip to content

chore(agent-memory): record collect_pr_context cross-child contamination (#589) - #590

Merged
drmoisan merged 1 commit into
epic/quickfiler-suite-determinism-foundation-integrationfrom
bug/quickfiler-explorer-controller-latent-defects-449-exec
Aug 22, 2026
Merged

chore(agent-memory): record collect_pr_context cross-child contamination (#589)#590
drmoisan merged 1 commit into
epic/quickfiler-suite-determinism-foundation-integrationfrom
bug/quickfiler-explorer-controller-latent-defects-449-exec

Conversation

@drmoisan

Copy link
Copy Markdown
Owner

Follow-up to PR #585 (already merged as 5d1c2074).

Records the collect_pr_context cross-child contamination discovered while authoring #585's PR body, appended to the existing orchestrator memory for that tool.

What happened

mcp__drm-copilot__collect_pr_context returned ok: true with worktree artifact paths, wrote nothing there, and wrote instead into the main checkout — a location shared by every concurrently running epic child. Sibling child #491 ran its own collection in the interval between #449's collection and its use, so the copied context resolved to bug/quickfiler-test-form1-live-form-491-exec @ bec83397 and enumerated 14 artifacts from #491's feature folder.

Authoring from it would have described the wrong change on #449's pull request. Nothing in the return value or the file format signalled the substitution.

Why a memory entry and not only an issue

The tool defect is tracked as #589. This entry protects agents until that is fixed, and records the one check that actually catches it: verify ownership by comparing the summary's resolved head SHA against HEAD, because presence checks and mtime checks both pass on a sibling's file.

Two further defects confirmed in the same bundle are recorded alongside it: a false GitHub CLI is not installed report while gh was working in the same session, and an author-asserted autoclose list containing #AC-1..#AC-16 scraped as issue numbers.

Scope

Documentation only — one file under .claude/agent-memory/. No production code, no tests, no toolchain impact.

GitHub Auto-close

🤖 Generated with Claude Code

…ion (#589)
During epic child #449's PR authoring, mcp__drm-copilot__collect_pr_context
returned ok:true with worktree artifact paths, wrote nothing there, and
wrote instead into the main checkout -- a location shared by every
concurrently running epic child. Sibling child #491 overwrote the file in
the interval between collection and use, so the copied context described
#491's branch, commits, and evidence folder.
The contamination was caught by comparing the summary's resolved head SHA
against HEAD before authoring. Presence and mtime checks both pass on a
sibling's file, so ownership verification is the only reliable guard.
Also records two further defects confirmed in the same bundle: a false
"GitHub CLI is not installed" report while gh was working in the same
session, and an author-asserted autoclose list containing AC-1..AC-16
scraped as issue numbers alongside issues not owned by the child.
The tool defect itself is tracked as issue #589.
Refs #449, #589
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@drmoisan
drmoisan merged commit 4108c91 into epic/quickfiler-suite-determinism-foundation-integrationAug 22, 2026
drmoisan added a commit that referenced this pull request Aug 22, 2026
Children 449 (PR #585, follow-up #590), 445 (PR #587), and 491 (PR #588)
are merged; each merge commit was confirmed reachable from the fetched
integration head rather than taken from a completion notification. Child
511 remains in atomic execution.
Records seven carried findings, two of which correct this epic's own
inputs: epic.md misattributed QuickFiler/Legacy/QuickFileController.cs's
1,065 lines to QuickFiler/Controllers/QfcExplorerController.cs (182 lines
after change, and the legacy file has zero compile references), and
collect_pr_context writes into the shared main checkout, letting one
child overwrite a sibling's PR context (issue #589).
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UHj7wjLweuwfAP8NDA4iiP
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@drmoisan