Integration harness: profiles, merge hygiene, and granular re-anchor - #70
Merged
Merged
Conversation
The fork (hyperpolymath) and upstream (JoshuaJewell) share no git ancestor, so a naive merge three-way-merges nothing and conflicts on all 159 shared-but-different files (measured; see docs/integration/conflict-map-2026-09-25.md). This makes the maintainer's integration tractable and keeps both sides runnable with zero extra effort. - .gitattributes: stop git line-merging lockfiles/build output (merge: unset) so they resolve by regeneration, never by editing. - config/integration.toml + scripts/integrate.sh + `just integrate`: profiles (base -> transitional -> full) and per-component toggles, so the maintainer adopts work incrementally and learns to trust it. Default is `base` (pure upstream); nothing risk-bearing is active, so operations are never compromised. - Justfile: doctor (full toolchain report), heal (repair), merge-drivers (opt-in lockfile auto-resolve), renv-restore, and suspend/augment component toggles. bootstrap/setup-full now cover the whole toolchain + R lane, so a fresh clone always runs. - docs/integration/: the guide and the measured conflict map. All new paths are fork-only or brand new, so this aid introduces no conflicts of its own. Hygiene gates (spdx, format) green. Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
With full history the fork and upstream share the root commit (7884553) and diverged at the second commit, developing in parallel (fork 221, upstream 89). The earlier "unrelated histories" note was a depth-1 shallow-clone artifact; the 159-conflict one-shot merge is real, but the fix is a rebase, not unrelated-history surgery. - scripts/reanchor.sh + just reanchor{,-plan,-manual}: replay the fork's commits one-by-one onto upstream (git auto-applies the clean ones), turning the 159-file wall into per-commit decisions. Measured: 206 granular commits, 0 residual conflicts, 3 logged decisions (all "respect upstream's deletion of pipelinesteps.txt"). Runs in an isolated worktree; never touches the current branch. - docs: correct the premise in README/conflict-map; add the re-anchor layer and a HANDOFF brief to land it. - CONTRIBUTING: point at reanchor-plan/reanchor and the handoff. The re-anchored branch also shares a real base with upstream, so future upstream changes merge cleanly too. Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
arena-ai-coding-agent
Bot
requested a review
from hyperpolymath
as a code owner
September 25, 2026 22:46
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
hyperpolymath
approved these changes
Sep 25, 2026
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.
Summary
Makes merging this fork's work into upstream (
JoshuaJewell/MetaManifold-WebUI) tractable, and keeps both sides runnable with zero extra effort. The two commits are tooling, config, and docs only — no application/analysis logic changes.The fork and upstream share only the root commit and then developed in parallel, so a one-shot
git mergesurfaces 159 conflicting files at once. This PR removes that wall three ways:.gitattributes,just merge-drivers).base, the default) to partially transitional to everything (full), with per-component toggles and automatic conflict triage (config/integration.toml,scripts/integrate.sh,just integrate …).scripts/reanchor.sh,just reanchor).It also makes the environment turnkey:
mise.tomlstays the single source of truth andjust bootstrap/setup-full/heal/doctornow cover the whole toolchain and the R lane (renv-restore), so a fresh clone always runs.Base check
hyperpolymath/MetaManifold-WebUI:main(engineering/tooling work lands on this fork perCONTRIBUTING.md)Changes
.gitattributes— lockfiles / build output markedmerge: unset,linguist-generated(never hand-merge a generated file).config/integration.toml+scripts/integrate.sh+just integrate …— profiles (base/transitional/full), per-componentaugment/suspend, conflicttriage(auto / component / human),verify.scripts/reanchor.sh+just reanchor{,-plan,-manual}— granular re-anchor onto upstream (isolated worktree; never touches the current branch).Justfile—doctor(full toolchain report),heal(repair),merge-drivers(opt-in lockfile auto-resolve),renv-restore;bootstrap/setup-fullnow cover the R lane and merge drivers.docs/integration/—README.md(guide),conflict-map-2026-09-25.md(measured),HANDOFF-granular-reanchor.md(brief to land it)..gitignore(trackdocs/integration/),CONTRIBUTING.md(pointer).Engineering checklist
Required
bun run check— N/A: nofrontend/changes (frontend untouched).scripts/check-spdx.sh/scripts/check-format.shpass (check-lint.shN/A: no TS changes).feat(integration):,feat(reanchor):).MPL-2.0code/scripts,CC-BY-SA-4.0docs)..env, or sequencing data.As applicable
CHANGELOG.md— tooling/docs PR; changelog entry optional.docs/reproducibility.md— environment unchanged (mise.tomluntouched; only additive Justfile lanes).Testing
reanchor.shvalidated end-to-end (plan+run): 206 granular commits, 0 residual conflicts, 3 logged decisions (all "respect upstream's deletion ofpipelinesteps.txt"); runs in an isolated worktree, auto-cleans, branch untouched.integrate.shvalidated:status/profiles/plan/triage/enable/disable/verify.mainwith no file overlap againstmain's newer commits.