docs(sync): require post-conversion fixup checks#240
Conversation
marcusrbrown
commented
Mar 26, 2026
- add mandatory post-conversion sed fixup guidance to sync workflow
- document ordered replacement phases, exclusions, and edge-case review
- add required grep verification for remaining refs and over-conversions
- update quality checklist to require fixup execution and verification
- align markdown file loop to include tracked and untracked changed files
- add mandatory post-conversion sed fixup guidance to sync workflow - document ordered replacement phases, exclusions, and edge-case review - add required grep verification for remaining refs and over-conversions - update quality checklist to require fixup execution and verification - align markdown file loop to include tracked and untracked changed files
fro-bot
left a comment
There was a problem hiding this comment.
Verdict: CONDITIONAL
The PR correctly adds mandatory post-conversion sed fixup guidance to the sync workflow. Well-structured documentation with ordered sed phases, clear exclusion rules, and mandatory grep verification. One blocking concern: the orchestrating-swarms skill will cause CHECK 1 to false-positive.
Blocking issues
orchestrating-swarmswill false-positive CHECK 1 — The CHECK 1 grep pattern includesTaskCreateandAskUserQuestion. Theorchestrating-swarmsskill intentionally documents CC'sTaskCreateAPI in code blocks as aspirational reference (see its frontmatter: "Aspirational Note: This skill documents swarm orchestration patterns from CEP's Teammate API"). The sed pass won't touch these (it's limited to prose text), but the grep verification will flag them. Sinceskills/orchestrating-swarms/SKILL.mdis not in the exclusion table, CHECK 1 will fail on every run.
Fix: Addskills/orchestrating-swarms/SKILL.mdto the Phase 2c exclusion table with a note thatTaskCreateandAskUserQuestionin code blocks are intentional CC API references. Alternatively, add agrep -v '^skills/orchestrating-swarms/SKILL\.md$'to the file loop exclusion in sync-cep.md.
Non-blocking concerns
-
CHECK 2 blind spot — The over-conversion regex (
\.opencode/\.opencode/,config/opencode/\.config/) only catches double-conversion patterns. It won't detect single.opencode/(e.g.,~/.config/opencode/→~/.config/opencode/.opencode/from a bad catch-all). The ordered sed phases (specific-before-general) mitigate this, so the risk is low. -
sync-manifest.jsonexclusion is implicit — The exclusion table documents it, and the file loop excludes it by nature of operating on.mdfiles, but the sync-cep.md file loop doesn't explicitlygrep -vthe manifest path like it does forclaude-permissions-optimizer. This is fine since the manifest is JSON, but an explicit exclusion would be more defensive.
Missing tests
None — this is pure documentation. No TypeScript code changes.
Risk assessment (LOW) + rationale
This PR is documentation-only. It:
- Adds guidance to an existing workflow, does not change compiled code
- Introduces no breaking changes to the plugin API (config/tool/system.transform hooks are untouched)
- No changes to bundled skills/agents/commands in
skills/,agents/,commands/ - The sed patterns are ordered correctly (specific-before-general) to prevent double-conversion
- Exclusion logic correctly handles
sync-manifest.json(JSON, not.md) andclaude-permissions-optimizer(CC refs intentional) - The verification grep patterns are comprehensive for the known failure modes
The primary risk (false-positive on orchestrating-swarms) is addressable with a one-line exclusion and does not affect the mechanical correctness of the sed pass itself.
Run Summary
| Field | Value |
|---|---|
| Event | pull_request |
| Repository | marcusrbrown/systematic |
| Run ID | 23574487544 |
| Cache | hit |
| Session | ses_2d8075b85ffeRRrVsIaOIkSdWF |