Skip to content

chore(memory): record two orchestrator lessons from the #441 child run - #539

Merged
drmoisan merged 1 commit into
epic/build-ci-coverage-gate-fidelity-integrationfrom
chore/orchestrator-memory-441
Aug 11, 2026
Merged

chore(memory): record two orchestrator lessons from the #441 child run#539
drmoisan merged 1 commit into
epic/build-ci-coverage-gate-fidelity-integrationfrom
chore/orchestrator-memory-441

Conversation

@drmoisan

Copy link
Copy Markdown
Owner

Summary

Why

Both lessons cost real time on the #441 run and would recur on every future epic child.

Subagent MCP surface is narrower than the orchestrator's. atomic-executor is exposed exactly four MCP tools (the PoshQC format/analyze/test/autofix set). The promotion-lifecycle tools are genuinely absent from it. When the #441 plan reached its Phase 6 follow-up filing, the executor correctly took the plan's sanctioned POSTING BLOCKED branch and left AC-20 unchecked rather than fabricating issue numbers. The existing memory already said "run the tools yourself"; what it lacked was the recognition that a plan's blocked-branch is a handoff to a more privileged session rather than a permanent deferral, and the instruction to append a RESOLUTION section rather than rewrite the worker's honest blocked record.

collect_pr_context can report success over a file it did not write. On this run the tool returned ok:true with correct worktree paths, but artifacts/pr_context.summary.txt was untouched: its mtime and content still belonged to a file the feature-review subagent had hand-authored an hour earlier, whose first line read "collect_pr_context MCP tool unavailable in this session" and whose Base: was the old pre-change baseline rather than the --base that was passed. Authoring a PR body from that summary would have described the wrong diff against the wrong base.

What Changed

  • .claude/agent-memory/orchestrator/mcp-tools-available-to-orchestrator.md — adds a confirmation paragraph naming atomic-executor's exact four-tool surface and the resolve-don't-accept protocol for a plan's sanctioned blocked branch.
  • .claude/agent-memory/orchestrator/collect-pr-context-lands-in-main-checkout.md — strengthens the existing "quirk (a)" note from "does not rewrite on a second call" to "can report success over a pre-existing file it did not write", with the three practical consequences.

Architecture / How It Fits Together

Not applicable. These are agent-memory notes, which are version-controlled so they are shared across sessions and team members rather than held per-session.

Verification

Completed

No toolchain stage applies: the diff contains only Markdown under .claude/agent-memory/. No *.ps1, *.cs, *.py, or *.ts file is touched, and no test, formatter, linter, or analyzer input changes.

Recommended

None.

Backward Compatibility / Migration Notes

None. Documentation-only change, additive to two existing files.

Risks and Mitigations

Risk Mitigation
Memory notes drift from tool behavior as the MCP surface changes Both notes name the date and the run that produced the observation, so a future reader can judge staleness
Fan-in conflict with sibling epic children, which also append to .claude/agent-memory/** Expected for this tree; resolve as a union of entries. This PR touches only two orchestrator-scoped files and adds no index line

Review Guide

Two files, both additive prose. Read the diff top to bottom; there is no ordering constraint.

Follow-ups

None. The six follow-up issues surfaced by #441 (#529, #530, #531, #532, #536, #537) are recorded in that feature's PR and evidence.

GitHub Auto-close

  • None. This change closes no issue.

- mcp-tools-available-to-orchestrator: confirm that atomic-executor's MCP
  surface is exactly the four PoshQC tools, so a worker reporting the
  promotion tools missing is telling the truth about its own session. A
  plan's sanctioned POSTING BLOCKED branch is a handoff to a more privileged
  session, not a permanent deferral: the orchestrator should file the issues
  itself and append a RESOLUTION section rather than rewriting the worker's
  honest blocked record.

- collect-pr-context-lands-in-main-checkout: collect_pr_context can return
  ok:true over a pre-existing pr_context.summary.txt it did not write. On
  #441 the file still carried a feature-review subagent's hand-authored
  content, including a stale Base and a first line claiming the tool was
  unavailable. Author the PR body from the real git diff, not the summary.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@drmoisan
drmoisan merged commit 1c22139 into epic/build-ci-coverage-gate-fidelity-integration Aug 11, 2026
@drmoisan
drmoisan deleted the chore/orchestrator-memory-441 branch August 15, 2026 02:51
Sign up for free to 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