docs(fork): Chromeria install, rebase routine and GitHub-hosted CI - #9
Merged
Merged
Conversation
lukemaj
force-pushed
the
chore/6-fork-maintenance
branch
from
September 25, 2026 12:03
3e3e8b4 to
357bf34
Compare
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: unavailable · PR result: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
Fork stays a small topic-commit stack on upstream main: docs/fork.md describes the model, scripts/fork-rebase.sh absorbs upstream updates with per-file conflict reports and proof-gated pushes, scripts/fork-check.sh enforces the model, and .github/workflows/fork.yml runs it on every PR. No upstream-owned files are modified. Refs #6
fork-check.sh and fork-rebase.sh are driven against throwaway git fixtures: new-file pass, unallowlisted-edit fail, allowlist pass, merge-commit fail, missing-doc fail, no-proof push refusal and no-main push refusal. Refs #6
…b-hosted CI Document building, installing and updating the Chromeria desktop app, land absorptions on main with --force-with-lease after proof, allowlist every fork edit of upstream files, remap the PR and main CI workflows from Blacksmith to GitHub-hosted runners, and run the routine's proof in a host-neutral environment. Refs #6. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Refs #6. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Refs #6. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
lukemaj
force-pushed
the
chore/6-fork-maintenance
branch
from
September 25, 2026 12:42
2c5f346 to
f156c64
Compare
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.
The fork needs a daily-usable Chromeria build, a maintainable commit-stack model on upstream
pingdotgg/t3code, and CI that actually runs. Fork PRs queued forever on Blacksmith runners the fork does not have.Changes
docs/fork.md, "Chromeria desktop app"): build withpnpm dist:desktop:dmg:arm64, install next to T3 Code (Alpha) withdittoplus ad-hoccodesign --force --deep --sign -, update by rebuilding. Gotchas: never run both apps on the same T3 home at once (useopen -na /Applications/Chromeria.app --env T3CODE_HOME=...for a separate home), no auto-update, permissions may be asked again after each rebuild, sharedt3code://scheme, port fallback from 3773. Verified on this Mac: the build producedrelease/Chromeria-0.0.42-arm64.dmg(1m41s), bundle idmd.toolbox.chromeria; the DMG's app failscodesign --verifyas built and passes after the ad-hoc re-sign (rehearsed in a temp dir). Installing it is your step.scripts/fork-rebase.sh,scripts/fork-check.sh,scripts/fork-upstream-edits.txt,scripts/fork-maintenance.test.ts,.github/workflows/fork.yml. Topic PRs squash-merge into one stack commit each. An upstream absorption rewritesmain, which no GitHub merge can do without copying upstream commits under new hashes. So an absorption is proven on its own branch and lands withgit push --force-with-lease=main:<old> origin <branch>:mainafter your approval (documented in "Routine").fork-check.shpasses on this branch.ci.ymlandmobile-fingerprint-check.ymlremapblacksmith-*-ubuntu-2404toubuntu-24.04andblacksmith-*-macos-*tomacos-15. Release, deploy, preview and Windows workflows keep Blacksmith labels because they need upstream secrets and must not run here.fork.ymlnow checks the PR head instead of GitHub's merge ref, which the stack check rejected as a merge commit.ELECTRON_RUN_AS_NODE, resolvesTMPDIRand drops/opt/homebrewfromPATH. On this Mac those three cause about 50 upstream test failures without any fork change.Dropped from the earlier candidate: the
build-desktop-artifact.tsprobe edit (now on main via #10) and the stale Project Direction duplicate. The branch is rebased onorigin/maindbc38aff9.Proof on
2c5f346f0pnpm install --frozen-lockfile,vp run -r typecheck,vp lint,vp fmt --check: exit 0.vp run -r test: the only branch failure missing from main's failure list isapps/webopenVsxThemes.test.ts(15s timeout under full-suite load). It passes alone on the branch (10/10) and in the Linux CI Test job. Becausevp run -rstops at the first failing package,apps/serverran separately on the branch: 50 failures, all among main's 51 (the known Mac-specificThreadSettlementReactorprotected-worktree cases,/varvs/private/var, and brew/npm-prefix cases).scripts/fork-maintenance.test.ts: 6/6.kniponThreadsToolkitRegistrationLive(unused export inapps/server/src/mcp/McpHttpServer.ts). feat(threads): production child threads in Agents panel plus threads MCP toolkit (#8) #10 added it, this PR does not touch that file, and it needs a follow-up there. The timing comparison with upstream Blacksmith is on Fork maintenance: commit stack on upstream, rebase routine and CI #6.Upstream absorption
Lands after this merge on its own branch through
scripts/fork-rebase.sh, recorded on #6 and in its PR. A squash merge here would have folded upstream commits into one fork commit and broken the stack.Refs #6.
Model and harness: Claude Opus 5.5 (1M context), Claude Code.
🤖 Generated with Claude Code