chore(memory): consolidate remaining stranded worktree content from cleanup pass - #679
Merged
Conversation
- Fix atomic-planner Phase-0 bootstrap lesson: dotnet tool run csharpier works once the SDK is bootstrapped; the missing-SDK global.json error was misattributed to a missing manifest. - Add invoke-vsbuild-rewrites-csproj-hintpaths.md and declaration-only-seam-task-for-fail-before.md (atomic-planner). - Add webview2-host-initializer-defects-476 research findings (task-researcher). Source: uncommitted content stranded in worktree agent-abd8f2fffbf2e7833 (branch worktree-agent-abd8f2fffbf2e7833, already merged via bug/webview2-host-initializer-defects-476).
…facts instance - portable-completion-gate-allows-blocked-child.md was stale since issue #475 made the portable gate FULL --require-complete parity, not lenient; a blocked/partial child orchestrator can no longer terminate cleanly without satisfying required_agents/required_skills/required_mcp_tools arrays. - Add a second, independently-verified instance to epic-kickoff-facts-need-independent-measurement.md (a false claim about QuickFiler.Test.csproj alphabetical ordering). Source: uncommitted content stranded in worktree agent-a3f0a09e871104b8e (branch worktree-agent-a3f0a09e871104b8e, already merged).
- atomic-planner: signature-change fail-before needs staged Compile-Include lines; coverage script IS the parallelized run; scope dispatcher greps. - prd-feature: the IUiDispatcher seam conversion belongs to #584, not a new issue. - task-researcher: semaphore split rationale, editorconfig analyzer catch-all, CI-vs-local test parallelization asymmetry. Source: uncommitted content stranded in worktree agent-a1731e67774734a64 (branch worktree-agent-a1731e67774734a64, already merged).
…xe fix - Fix agent-worktrees-need-sdk-and-nuget-bootstrap.md: nuget.exe is not guaranteed on PATH in an agent worktree; prefer Invoke-Restore.ps1. - Add QfcItemController test-capacity squeeze (atomic-planner): a file-size-constrained multi-test feature needs Phase-0 capacity budgeting. - Add qfc-item-controller-defects-484 (task-researcher): all 5 promoted-potential Suspected-Fix sections were wrong; verify against callers/interfaces/coverage-exemptions first. Source: uncommitted content stranded in worktree agent-a6aa711c9454af0d0 (branch worktree-agent-a6aa711c9454af0d0, already merged).
#439/#440/#498/#499) Records that fixing the #439 lineage defect regresses the percentage-join and filing-target logic (archive-relative vs score-index path forms), that #440 contradicts a landed, checked-off #400 acceptance criterion, and that Efc/Qfc use different breadcrumb HTML documents. Source: uncommitted content stranded in worktree agent-a59a23ef71f13e33a (branch worktree-agent-a59a23ef71f13e33a, already merged).
- atomic-planner: commented-out code defeats zero-hit grep gates; declare the seam before red tests; Invoke-MSTestWithCoverage throws below 80%. - task-researcher: QFC MoveAndIterate stopwatch race is unfixable in owned files; legacy csproj blocks new .cs; metrics CSV has zero in-repo readers. Source: uncommitted content stranded in worktree agent-a7d910034b3323e51 (branch worktree-agent-a7d910034b3323e51, already merged).
- atomic-planner: ToggleUnGroupConv is not COM-free drivable; MakeSpaceForItems never touches Size; sign-defect seam must land carrying the defect; LoadItemGroup( needs the paren. - task-researcher (two files): MovedMails already pushed by EmailFiler; no log4net ref in QuickFiler.Test; ConcurrentDictionary order blocks a deterministic pre-fix test; a promoted-potential doc's 'unrelated interfaces' claim is false (IQfcFormController derives from IFilerFormController); the #469-4 undo is not broken. Source: uncommitted content stranded in worktree agent-aae5cc929932e2647 (branch worktree-agent-aae5cc929932e2647, already merged).
…491) A shell variable assigned in one plan task does not survive into a later pwsh -Command invocation, so a splatted @ASSEMBLIES can silently run vstest against zero assemblies while still reporting a passing gate. Adds the atomic-executor and atomic-planner lessons plus a fourth diff-gate rule: branch history unrelated to a child's own scope (e.g. a restored merge of main) can make a base..HEAD gate unsatisfiable regardless of whitelisting; gate the child's own commit instead. Source: uncommitted content stranded in worktree agent-abdabaa6f7e633c09 (branch bug/quickfiler-test-form1-live-form-491, already merged and archived).
Contention-analysis and prioritization rationale selecting 8 of 78 open bug-labelled issues for a parallel run, with exclusion rationale for the drm-copilot-owned and CI/coverage-threshold-chain issues, and a 58-item deferred serial queue. Several selected/excluded issues remain open (#504, #584, #516, #531, #469, #448, #287); this record has no equivalent anywhere else on main. Also fixes mojibake: the source file had the em dash written as a raw Windows-1252 byte (0x97) instead of UTF-8. Source: uncommitted content stranded in worktree parallel-bug-families-01-plan (branch parallel/bug-families-01-plan, already merged).
…678 Issue #427 (duplicate scoring in high-confidence mode) is only half-fixed: the producer side landed via quickfiler-queue-datamodel-defects-446 (Scope 427-A), but the consumer side that would carry the initialised FolderPredictor into QfcItemController and remove the second scoring pass was never delivered. This was independently rediscovered in two stranded worktree copies, corroborated by the merged feature's own review memory (.claude/agent-memory/feature-review/project_446-review-residuals.md: '#427 must stay open, only 427-A delivered'), and had no tracking anywhere else. Promoted via the MCP lifecycle rather than left as prose in a feature folder. See #678
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Suggested title
chore(memory): consolidate remaining stranded worktree content from cleanup pass
Summary
/cleanup-merged-worktrees, covering the 29BLOCKED-DIRTYworktrees left after PR chore(memory): consolidate stranded agent-memory commit from merged worktrees #676 and the subsequent apply-mode deletion.mainvia other branches).main's current state before inclusion; content confirmed superseded, duplicate, or stale-and-wrong was excluded (see "Excluded" below).Why
Several
drm-copilot-wt-*/agent worktree branches accumulated uncommitted documentation, agent-memory lessons, or planning records after their feature work had already merged intomain. An automated cleanup pass correctly refused to delete these worktrees (never force-removing dirty state), but the content itself needed editorial triage before the worktrees could be discarded.What Changed
Corrections to already-committed memory (stale/wrong content on
main):atomic-planner/project_csharp_phase0_toolchain_bootstrap.md—dotnet tool run csharpierwas recorded as "broken and must not be planned"; it actually works once the .NET SDK is bootstrapped (the manifest finder does find the repo-rootdotnet-tools.json; the real blocker wasglobal.json's missing.dotnet-sdk). Verified againstmain's currently-executed plan for issue Bug: uithread-dispatcher-static-swap-no-restore #493, which still carries the unfixed bug this correction addresses.orchestrator/portable-completion-gate-allows-blocked-child.md— recorded the portable completion gate as "lenient" (a blocked/partial child could terminate cleanly); issue Bug: breadcrumb-capturecurrentortests-silently-degrades-in-production #475 made it full--require-completeparity. The stale version could have misled a future orchestrator into assuming a blocked child needs no cleanup.New agent-memory lessons (atomic-planner, task-researcher, atomic-executor, prd-feature — one file per persona/topic; see diff for the full list), covering: a nuget.exe-not-on-PATH fix, a cross-task shell-variable/splat plan-authoring gate, and per-issue planning/research seams for #442, #468, #484, #493/#584, and the breadcrumb subsystem (#439/#440/#498/#499).
Planning record:
docs/features/parallel/bug-families-01/selection.md— the contention-analysis and prioritization rationale for a parallel run that selected 8 of 78 open bug-labelled issues, with exclusion rationale for the rest. Several selected/excluded issues remain open (#504, #584, #516, #531, #469, #448, #287); nothing onmainrecords this rationale.Promoted issue:
docs/features/potential/promoted/2026-08-28-quickfiler-carry-folder-predictor-to-item-controller.md— promoted to issue #678. Issue #427 (duplicate scoring in high-confidence mode) is only half-fixed: the producer side landed, but the consumer side that would remove the second scoring pass was never delivered. Corroborated bymain's ownfeature-review/project_446-review-residuals.md, which independently notes "#427 must stay open, only 427-A delivered."Excluded (verified superseded, duplicate, or stale-and-wrong — not carried forward)
docs/features/active/**feature folders whose real, closed versions already exist onmainwith checked-off acceptance criteria and full evidence trails (issues Bug: efcviewer-missing-lineage-and-segment-navigation #439, Bug: qfc-home-controller-metrics-never-flushed #442, Bug: iteratequeueasync-deadline-closes-queue-early #446, Bug: qfc-collection-controller-unreachable-load-paths #468, Bug: webview2breadcrumbhost-unmarshalled-sdk-call-and-unsynchronized-state #476, Bug: qfc-item-controller-cleanup-timer-and-stale-field-defects #484, Bug: itemviewer-breadcrumb-pipeline-lifecycle #488, Bug: uithread-dispatcher-static-swap-no-restore #493, Bug: breadcrumb-router-segment-index-unvalidated-host-crash #498, Bug: breadcrumb-hub-postjson-caches-before-broadcast-starves-attachments #501, and others).mainentry under a different filename.main's later-corrected version of the same lesson (a CRLF-plan-validator claim, and an issue-Bug: blast-radius-config-not-ported-to-taskmaster #545-status claim).checkpoint-bootstrap-blocked-by-its-own-gate.mdcandidate that, on inspection, restated contentmain'sbootstrapping-orchestrator-state-json-first-write.mdalready covers in full (three blockers plus readiness fields); only the workaround recipe differed (.txt-sibling-plus-cpvs.python3 -c), which was not judged worth a separate entry.Architecture / How It Fits Together
Branch created off
mainin a dedicated worktree, receiving 10 commits — one per source worktree/topic, each independently reviewed and cherry-picked or hand-applied (working-tree diffs, not committed history, sogit cherry-pickdid not apply; content was read from each stranded worktree and merged by hand, resolvingMEMORY.mdindex-line conflicts across the 6+ worktrees that touched the same shared index files).Verification
Completed:
main's current content (viagit show main:<path>and repo-wide grep) before inclusion, to rule out duplication.main's currently-executed artifacts (issue Bug: uithread-dispatcher-static-swap-no-restore #493's plan still carries the toolchain-bootstrap bug; the completion-gate hook source confirms full--require-completeparity per issue Bug: breadcrumb-capturecurrentortests-silently-degrades-in-production #475)..claude/agent-memory/,docs/features/parallel/, anddocs/features/potential/.Recommended:
Backward Compatibility / Migration Notes
None. No production code, schema, or public API is touched.
Risks and Mitigations
Review Guide
6dc4b53d, and the toolchain-bootstrap fix in24e4c719) are the most consequential — they change guidance already in active use, rather than adding new guidance. Review those first.MEMORY.mdindex lines plus new lesson files; each commit's message states its source worktree and topic.Follow-ups
bash scripts/bash/cleanup-worktrees.sh --apply(subject to each worktree's remaining uncommitted content, if any, beyond what was consolidated here).GitHub Auto-close