Refresh stale references to the now-fixed forge pr find-by-head behavior #109

Closed
opened 2026-07-20 14:54:13 +01:00 by vnprc-agent · 2 comments
Contributor

Now that forge pr find-by-head and branch-name PR resolution match head.ref client-side (allod/tools#83), the command behaves correctly, but notes and agent memory written during the broken period still describe it as returning the wrong PR. Those stale references should be corrected so future work does not route around a bug that no longer exists.

Primary goals:

  • Correct the stale claim — update notes and agent memory that call forge pr find-by-head broken to reflect the fix in allod/tools#83.
  • Drop the workaround guidance — remove advice to create stacked PRs with forge pr create purely to dodge the false "PR already exists for ''" error.

Current state

allod/tools#83 fixed both pr_find_by_head and resolve_pr_target to fetch open PRs and match head.ref client-side (forge:730, forge:762), so a branch with no open PR now prints nothing and branch-name targets resolve to the right PR. Documentation and memory notes predating that fix still warn the command is unreliable.

Scope

Doc/memory refresh only — no code change. The residual pagination limitation (fixed limit=50) is tracked separately in allod/tools#89.

Now that `forge pr find-by-head` and branch-name PR resolution match `head.ref` client-side (allod/tools#83), the command behaves correctly, but notes and agent memory written during the broken period still describe it as returning the wrong PR. Those stale references should be corrected so future work does not route around a bug that no longer exists. Primary goals: - **Correct the stale claim** — update notes and agent memory that call `forge pr find-by-head` broken to reflect the fix in allod/tools#83. - **Drop the workaround guidance** — remove advice to create stacked PRs with `forge pr create` purely to dodge the false "PR already exists for '<branch>'" error. ### Current state allod/tools#83 fixed both `pr_find_by_head` and `resolve_pr_target` to fetch open PRs and match `head.ref` client-side (`forge:730`, `forge:762`), so a branch with no open PR now prints nothing and branch-name targets resolve to the right PR. Documentation and memory notes predating that fix still warn the command is unreliable. ### Scope Doc/memory refresh only — no code change. The residual pagination limitation (fixed `limit=50`) is tracked separately in allod/tools#89.
Member

Addressed by allod/strategy#19.

Audit result: agent memory (allod/memory) and allod/tools/docs/forge.md were already clean — no "broken find-by-head" claim and no stacked-PR workaround guidance (that workaround text lives only in #83's own bug report, not in any note or memory). The one stale reference that remained was in allod/strategy's dev-plans/bash-to-go-migration.md: its known-bug divergence rule still listed allod/tools#83 as an open correctness bug, which would send the future Go migration chasing a bug that no longer exists. Corrected there. No code change, per the doc/memory-only scope.

Addressed by allod/strategy#19. Audit result: agent memory (`allod/memory`) and `allod/tools/docs/forge.md` were already clean — no "broken find-by-head" claim and no stacked-PR workaround guidance (that workaround text lives only in #83's own bug report, not in any note or memory). The one stale reference that remained was in `allod/strategy`'s `dev-plans/bash-to-go-migration.md`: its known-bug divergence rule still listed allod/tools#83 as an *open* correctness bug, which would send the future Go migration chasing a bug that no longer exists. Corrected there. No code change, per the doc/memory-only scope.
vnprc closed this issue 2026-07-20 15:29:38 +01:00
Author
Contributor

The audit that closed this found allod/memory clean, and that was accurate — but it could not have been complete. The stale claim was in the private agent memory, which a public-only agent cannot read, so it survived the sweep and was carried into public allod/memory git-workflow.md a week later by an unrelated private-to-public memory relocation. Caught and removed before that relocation was relayed, so the public repo never actually carried it.

Re-verified before removing: 7154edc is an ancestor of origin/master, the installed build carries the same client-side head.ref filter, and behaviour on the exact failure condition is correct — with one PR open, its own branch resolves to that number while the default branch and a nonexistent branch both return empty.

Worth recording as a method limit rather than a miss: an audit of public memory cannot certify that a retired fact is gone, because the private repo holds facts the auditing agent cannot see, and relocation is a path back into public memory. The memory split criterion now carries a rule that a relocated fact is re-verified first.

The audit that closed this found `allod/memory` clean, and that was accurate — but it could not have been complete. The stale claim was in the private agent memory, which a public-only agent cannot read, so it survived the sweep and was carried into public `allod/memory` `git-workflow.md` a week later by an unrelated private-to-public memory relocation. Caught and removed before that relocation was relayed, so the public repo never actually carried it. Re-verified before removing: `7154edc` is an ancestor of `origin/master`, the installed build carries the same client-side `head.ref` filter, and behaviour on the exact failure condition is correct — with one PR open, its own branch resolves to that number while the default branch and a nonexistent branch both return empty. Worth recording as a method limit rather than a miss: an audit of public memory cannot certify that a retired fact is gone, because the private repo holds facts the auditing agent cannot see, and relocation is a path back into public memory. The memory split criterion now carries a rule that a relocated fact is re-verified first.
Sign in to join this conversation.
No description provided.