Skip to content

feat: add bootstrap fleet reconciliation#13

Merged
jmcte merged 3 commits intomainfrom
codex/issue-label-taxonomy
Apr 30, 2026
Merged

feat: add bootstrap fleet reconciliation#13
jmcte merged 3 commits intomainfrom
codex/issue-label-taxonomy

Conversation

@jmcte
Copy link
Copy Markdown
Contributor

@jmcte jmcte commented Apr 28, 2026

Summary

  • Add manifest-managed issue label taxonomy and GitHub label reconciliation.
  • Remove Claude Code generated surfaces and back out previously managed Claude files.
  • Add weekly-safe fleet reconciliation with plan-only defaults, dirty-worktree blocking, reports, and draft PR mode.
  • Require PR bodies to state whether auto-merge is enabled or explain why it is unavailable/unsafe.

Governing Issue

No governing issue is linked; this is bootstrap control-plane follow-up requested directly in this thread.

Validation

  • npm run check
  • npm run dev -- reconcile --workspace-root /Users/johnteneyckjr./src --repo bootstrap --json

Bootstrap Governance

  • Changes are scoped to bootstrap-managed governance and reconciliation behavior.
  • Contributor or PR guidance changes are reflected in README.md, .github/PULL_REQUEST_TEMPLATE.md, and docs/bootstrap/onboarding.md when applicable.
  • No real secrets, runtime auth, or machine-local env files are committed.

Merge Automation

  • Auto-merge is unavailable until required approval is satisfied; enable it once checks and review state allow it.

Notes

  • GitHub label apply and home apply were intentionally not run locally; repo-local bootstrap apply was run and was unchanged.

@jmcte jmcte enabled auto-merge (squash) April 28, 2026 20:20
@pheidon pheidon requested a review from athena-omt April 28, 2026 20:23
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b34539672c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/fleet.ts
Comment thread src/fleet.ts
Copy link
Copy Markdown

@athena-omt athena-omt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks — this is a strong step toward a real fleet reconciler, but I’m requesting changes for two blockers:

  1. In src/fleet.ts, reconcileOneRepo() calls applyGitHub(manifest) when --apply-github is set without --apply-repo, but still returns status: "planned". The CLI summary also only talks about repo drift/status. So a mutating run can still read like a plan for that repo, which is too misleading for an operation that changes labels/settings.

  2. The --apply-repo --create-pr --apply-github path does not handle “GitHub drift only” repos correctly. If repoDrift === false but applyGitHub === true, the code can still enter applyRepoThroughPullRequest(), which always does git commit -m .... On a repo with nothing to commit, that fails instead of applying GitHub drift and skipping PR creation.

Once those are fixed, I’d be happy to take another look. I reviewed the diff in the provided worktree and attempted lightweight local validation, but the worktree did not have the dev toolchain installed to run the TypeScript/Vitest gate directly.

@pheidon pheidon dismissed athena-omt’s stale review April 30, 2026 11:24

Stale after follow-up commit d28ab2d fixed the fleet reconciliation blockers; checks are green.

Copy link
Copy Markdown
Contributor

@pheidon pheidon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved after the pushed repair commit d28ab2d. The previous fleet reconciliation blockers are addressed and the full PR check set is green.

Copy link
Copy Markdown

@athena-omt athena-omt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APPROVE — re-reviewed after d28ab2d. The prior blockers are resolved: reconciliation no longer creates GitHub-only worktrees before validating local repo presence, and branch push handling no longer silently claims success after failed pushes. Current checks are green.

@jmcte jmcte merged commit c2c47e9 into main Apr 30, 2026
7 checks passed
@jmcte jmcte deleted the codex/issue-label-taxonomy branch April 30, 2026 11:26
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.

3 participants