Skip to content

fix(profiles): include sync with archive workflows - #1663

Merged
clay-good merged 4 commits into
mainfrom
codex/fix-archive-sync-dependency
Aug 19, 2026
Merged

fix(profiles): include sync with archive workflows#1663
clay-good merged 4 commits into
mainfrom
codex/fix-archive-sync-dependency

Conversation

@clay-good

@clay-good clay-good commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Risk: low. Adds a missing dependency to profile resolution. Existing profiles that already include sync are untouched.

What was wrong

A custom profile could select the archive or bulk-archive workflow without selecting sync. The generated archive workflow then called a sync workflow that was never installed, so archive either stopped or improvised the main-spec update. Legacy Codex prompt migration could produce the same broken combination.

What changes

Selecting either archive workflow now pulls in sync automatically, in both profile resolution and Codex migration.

Why it's safe

Custom profiles stay user-owned: accepting an unchanged selection does not convert it to a core preset or rewrite the user's raw workflow list. Sync is never duplicated or reordered when already present.

Proof

Reproduced on main with a propose/explore/apply/archive profile: 4 skills generated, archive referencing an absent workflow. Now 5 are generated, including sync. Update regressions start from pre-fix archive-only installs and prove repair for both skills and commands. CI green on all three platforms.

Fixes #1650

Summary by CodeRabbit

  • Bug Fixes

    • Custom profiles using archive or bulk-archive workflows now automatically include the required sync workflow.
    • Sync skills and command files are installed consistently across supported delivery options.
    • Legacy archive prompts are correctly replaced when updating applicable profiles.
    • Profile updates no longer overwrite custom workflow selections when only delivery settings change.
  • Improvements

    • Interactive profile configuration better preserves existing custom settings and workflow choices.
    • Workflow notices now accurately reflect the workflows selected for installation.

@clay-good
clay-good requested a review from a team as a code owner August 14, 2026 22:35
@clay-good
clay-good requested review from TabishB and removed request for a team August 14, 2026 22:35
@coderabbitai

coderabbitai Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 1919d11d-e2bb-443e-9c3d-67a4cc6e37b4

📥 Commits

Reviewing files that changed from the base of the PR and between 5798c09 and 8727b30.

📒 Files selected for processing (1)
  • src/commands/config.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/commands/config.ts

Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

Custom profiles that select archive or bulk-archive now receive sync automatically. Initialization, update, and interactive configuration paths apply resolved workflows and preserve custom selections when only delivery settings change.

Changes

Archive Sync Dependency

Layer / File(s) Summary
Resolve archive workflow dependencies
src/core/profiles.ts, test/core/profiles.test.ts
Custom profiles insert sync before archive or bulk-archive when absent. Tests verify ordering, reference preservation, and input immutability.
Apply resolved workflows and report missing items
src/core/update.ts, test/core/init.test.ts, test/core/update.test.ts
Initialization and update paths install sync artifacts. Update notices use validated desiredWorkflows. Legacy Codex workflow inference filters recognized workflows. Tests cover delivery modes and archive prompt replacement.
Preserve custom configuration
src/commands/config.ts, test/commands/config-profile.test.ts
Interactive configuration preserves custom workflows when selections do not change or when only delivery settings change. Tests cover unchanged, delivery-only, and combined changes.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: ⚪ Minimal · up to 8727b

This localized change ensures archive workflows include their required sync dependency while preserving existing profile selections; no actionable merge-blocking risk remains beyond normal checks and review.

Possibly related PRs

Suggested reviewers: tabishb, alfred-openspec

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the primary change: adding sync when archive workflows are selected.
Linked Issues check ✅ Passed The changes satisfy issue #1650 by generating sync for archive workflows and applying the dependency during legacy Codex migration.
Out of Scope Changes check ✅ Passed The configuration changes preserve custom profile ownership and support the stated workflow dependency without introducing unrelated scope.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/fix-archive-sync-dependency

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 19, 2026

Copy link
Copy Markdown

Deploying openspec-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: 8727b30
Status: ✅  Deploy successful!
Preview URL: https://e0e8859e.openspec-docs.pages.dev
Branch Preview URL: https://codex-fix-archive-sync-depen.openspec-docs.pages.dev

View logs

@clay-good
clay-good added this pull request to the merge queue Aug 19, 2026
Merged via the queue into main with commit cf06d45 Aug 19, 2026
18 checks passed
@clay-good
clay-good deleted the codex/fix-archive-sync-dependency branch August 19, 2026 20:31
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.

Feedback: archive-change skill delegates to a skill that openspec init never generates

2 participants