fix: handle merged dependencies and preserve research review context - #22
Merged
christopherjnelson merged 3 commits intoOct 3, 2026
Merged
Conversation
…n-and-research-context # Conflicts: # investigations/local-cli-uhp/server.mjs # src/controller.ts # src/server.ts
christopherjnelson
marked this pull request as ready for review
October 3, 2026 19:55
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.
What changed
Foreman now recognizes GitHub-confirmed merge commits, squash commits, and rebase commits as dependency evidence only when the PR repository, promoted branch, and reviewed head match. A dependent task becomes eligible when the confirmed merged commit is in local HEAD; stale checkouts, changed heads, unrelated PRs, open test-merge SHAs, and closed-unmerged PRs remain blocked. Preview and task start use the same proof. GitHub refresh and local-checkout update report progress, completion, stale errors, and local readiness; checkout updates stay clean-tree, correct-base, fast-forward-only. Foreman merge offers Squash by default, Rebase, and Merge commit, while respecting repository settings and merge queues. Generated branches, titles, and commit messages use conventional task-based names.
Task execution now carries the immutable run contract and captured public research into Worker and Reviewer contexts with digest bindings. Orchestration can gather bounded public HTTPS evidence across multiple rounds, refine cached captures without another request, and explicitly block when evidence or budget is insufficient. Configurable transport and evidence limits support larger source responses while preserving source provenance and reporting when complete evidence does not fit. Reviewer retry recovery preserves historical stop events and clears only a superseded stop after a matching successful recommendation. The local CLI bridge writes each prompt once, verifies complete delivery, and the UI reports actionable failures.
Validation
pnpm test: 718 passed, 1 skipped across 51 files. The direct local UHP bridge suite passed 83/83.pnpm typecheck,git diff --check, and isolated server/UI production builds passed; the build used a separate output directory and leftdistuntouched.Using the changes
Stop the running Foreman server before rebuilding so its
distfiles are not overwritten while in use. Runpnpm build, restart the server, then refresh the browser. This branch did not modify.foreman-dataordist.