Skip to content

chore(factory): name rewrite/main as the integration base - #977

Merged
cameri merged 1 commit into
mainfrom
chore/factory-integration-base
Oct 25, 2026
Merged

cameri merged 1 commit into
mainfrom
chore/factory-integration-base

Conversation

@chappie-daemon

Copy link
Copy Markdown
Collaborator

Why

The factory resolves a job's base in this order: an explicit --base, then integrationBase in .factory/config.json, then the remote default branch. This repository had no config file, so the fallback applied — and the default is main, which is the TypeScript tree that must not receive Rust work before cutover.

It nearly bit job 012-req-close-order today:

That was a catch, not a mechanism. A catch has to happen every time; a config file has to happen once.

What

{
  "integrationBase": "rewrite/main"
}

Three lines, no code. The factory skill documents this file as "the repository's own statement, committed, so every job in that repo agrees".

Verification

The file resolves as JSON and sits at the path the skill's base resolution reads (<repo>/.factory/config.json). It is not covered by .git/info/exclude, which excludes .factory/jobs/ and .factory/backlog.md only, so it tracks normally while the job folders stay local.

One note for whoever reviews this: it belongs on main because base resolution reads it from the primary checkout, which sits on main throughout the rewrite. If the checkout is switched to rewrite/main at cutover this file is already redundant by then.

Closes nothing. It removes a trap.

The factory resolves a job's base in this order: an explicit --base, then
`integrationBase` in .factory/config.json, then the remote default branch. This
repository has no config, so the fallback applied and the default is `main` —
the TypeScript tree that must not receive Rust work before cutover.

It nearly bit job 012: the local `rewrite/main` was still at `bca0f6f`, so the
worktree was cut from a tree missing the fourteen event strategies that landed in
#976. The job's manager caught it and fast-forwarded first, and recorded why in
`orchestrator.md` rather than relying on that catch repeating.

Naming the base here makes it the repository's own statement, so every job in
this repo agrees without a charter lookup or a per-job note.
@changeset-bot

changeset-bot Bot commented Oct 24, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: c9c0462

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@greptile-apps

greptile-apps Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] This change appears safe to merge.

Summary

Adds .factory/config.json with integrationBase set to rewrite/main.

  • Factory jobs now use rewrite/main as their integration base.

Reviews (1) · Last reviewed commit: "chore(factory): name rewrite/main as the..." · Reviewed by Greptile

@cameri
cameri merged commit 3b35377 into main Oct 25, 2026
13 checks passed
@cameri
cameri deleted the chore/factory-integration-base branch October 25, 2026 01:18
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.

2 participants