chore: disable CEP sync and break upstream tether#243
Conversation
Systematic now evolves independently from CEP. This removes the automated sync infrastructure while preserving the CLI converter and historical provenance data for reference. Removed: - .github/workflows/sync-cep.yaml (daily sync workflow) - scripts/check-cep-upstream.ts (upstream change detection) - tests/unit/check-cep-upstream.test.ts (precheck tests) - .opencode/commands/sync-cep.md (sync orchestration command) - .opencode/skills/convert-cc-defs/ (conversion skill) Preserved: - src/lib/converter.ts (CLI still supports ad-hoc conversions) - src/lib/manifest.ts (manifest read/write/validate) - sync-manifest.json (historical provenance record) - All bundled skills and agents (already converted) Updated AGENTS.md to reflect independent evolution.
fro-bot
left a comment
There was a problem hiding this comment.
Verdict: CONDITIONAL
The PR removes CEP sync infrastructure correctly, but 4 integration tests fail because they reference deleted files. The PR description incorrectly states "305/305 pass".
Blocking issues
-
4 failing integration tests in
tests/integration/opencode.test.ts:- Line 281:
sync-cep workflow simulation > runs sync-cep command with dry-run prompt— reads deleted.opencode/commands/sync-cep.mdviabuildSyncCepTestConfig() - Lines 421-457:
convert-cc-defs skill discoverabilitydescribe block (3 tests) — reads deleted.opencode/skills/convert-cc-defs/SKILL.md
The entire
sync-cep workflow simulationdescribe block (lines 217-294) andconvert-cc-defs skill discoverabilitydescribe block (lines 420-458) need to be removed fromtests/integration/opencode.test.ts. - Line 281:
-
Dead helper functions in
tests/integration/opencode.test.ts:buildSyncCepTestConfig()(lines 48-73) — only used by deleted testbuildSyncPrompt()(lines 75-95) — only used by deleted testsshouldRunSync()(lines 97-99) — only used by deleted testsPrecheckSummarytype usage — only used by deleted tests
These should be removed along with the test blocks that use them.
Non-blocking concerns
-
Stale reference in
skills/orchestrating-swarms/SKILL.mdline 317: "From the `compound-engineering` plugin" should be updated to "From the Systematic plugin" or removed. This aligns with the stated goal of transitioning to independent evolution. -
Dead test fixtures (lines 218-249): The
fixturesarray insync-cep workflow simulationis only used bybuilds sync prompt for $nameandbuilds sync prompt with exit code 2 and errorstests, which test helper functions that are now orphaned. Consider removing these tests as well if the helpers are removed.
Missing tests
None — this is a cleanup PR removing functionality, not adding new features.
Risk assessment (LOW) + rationale
- Likelihood of regression: LOW — the deleted code was sync infrastructure that has been disabled. The remaining converter, manifest, and plugin code is untouched.
- Security exposure: LOW — removed automation that talked to external repos; no security-sensitive code affected.
- Blast radius: LOW — only affects the sync workflow which is now disabled. Core plugin functionality (skills, agents, bootstrap, config hooks) is unaffected.
Run Summary
| Field | Value |
|---|---|
| Event | pull_request |
| Repository | marcusrbrown/systematic |
| Run ID | 23619739984 |
| Cache | hit |
| Session | ses_2d3dfbccbffeeH574l11K8fl4t |
Address PR review feedback: - Delete sync-cep workflow simulation describe block (11 tests) - Delete convert-cc-defs skill discoverability describe block (3 tests) - Remove dead helpers: buildSyncCepTestConfig, buildSyncPrompt, shouldRunSync, PrecheckSummary type - Remove unused imports: extractCommandFrontmatter, parseFrontmatter - Fix stale compound-engineering reference in orchestrating-swarms Verification: - Build: exit 0 - Typecheck: exit 0 - Lint: 54 files, no fixes - Unit tests: 305/305 pass (12 files) - Integration tests: 19/19 pass (2 files)
fro-bot
left a comment
There was a problem hiding this comment.
Verdict: PASS
The PR correctly removes CEP sync infrastructure. Build, typecheck, lint, and all 324 tests pass. The second commit addressed the test failures identified in the initial review.
Blocking issues
None
Non-blocking concerns
None
Missing tests
None — cleanup PR removing functionality, not adding new features.
Risk assessment (LOW) + rationale
- Likelihood of regression: LOW — deleted code was sync infrastructure now disabled. Core plugin functionality (skills, agents, bootstrap, config hooks) untouched.
- Security exposure: LOW — removed automation talking to external repos; no security-sensitive code affected.
- Blast radius: LOW — only affects disabled sync workflow. Remaining converter, manifest, and plugin code preserved.
Run Summary
| Field | Value |
|---|---|
| Event | pull_request |
| Repository | marcusrbrown/systematic |
| Run ID | 23620536756 |
| Cache | hit |
| Session | ses_2d3dfbccbffeeH574l11K8fl4t |
Summary
Systematic now evolves independently from CEP. This PR removes the automated sync infrastructure, marking the transition from "CEP mirror" to "independent project with its own direction."
.github/workflows/sync-cep.yaml)scripts/check-cep-upstream.ts) and its tests.opencode/commands/sync-cep.md).opencode/skills/convert-cc-defs/)AGENTS.mdto reflect independent evolutionWhat's preserved
src/lib/converter.ts— CLI still supports ad-hoc CC→OpenCode conversions viasystematic convertsrc/lib/manifest.ts— manifest read/write/validate for provenance auditingsync-manifest.json— historical provenance record (when each definition was last synced, from which upstream commit)Verification
Next steps (post-merge)
See PR description below for the full roadmap.
Roadmap: Systematic's Independent Evolution
Phase 1: Cleanup (immediate follow-ups)
claude-permissions-optimizer,test-xcode) and may need removal or significant reworkcompound-engineeringreferences — ~30 references remain indeepen-plan/SKILL.md,orchestrating-swarms/SKILL.md, and other files not yet touched by sync fixessrc/lib/converter.tsstill has CEP-specific patterns; consider whether to keep it minimal or deprecate entirelydocs/or adding a header marking it as historicalsync-ceplabeled issuesPhase 2: Native Development (near-term)
orchestrating-swarmsskill is heavily CC-specific (TeammateAPI); design an OpenCode-native equivalent usingtask()with background executionPhase 3: Advanced Capabilities (medium-term)