OpenSpec-native workflow guardrails
Why
specsync already syncs OpenSpec changes to tracker issues, but the repo still
describes mostly the sync mechanics. To make dogfooding robust and consistent,
the project should explicitly follow OpenSpec lifecycle guardrails (validate,
status checks, and predictable change hygiene) as part of normal development.
Without these guardrails, we risk:
- malformed OpenSpec changes reaching sync,
- inconsistent behavior between contributors,
- treating OpenSpec as optional documentation rather than the planning source of
truth.
What
Define and enforce an OpenSpec-native way of working in this repository:
- Validate OpenSpec changes before sync/push in CI.
- Document the expected lifecycle (
propose -> tasks -> apply -> sync).
- Keep
specsync resilient by continuing to read files directly when the
OpenSpec CLI is unavailable, while optionally using OpenSpec CLI status
checks where appropriate.
This change is process and guardrails first. It does not change provider
behavior or linking logic.
Scope
- README guidance for OpenSpec lifecycle discipline.
- CI checks that validate OpenSpec change structure before running sync.
- Developer workflow notes for issue-first and spec-first paths.
Out of scope:
- replacing existing markdown parsing with OpenSpec CLI-only integration
- provider features (GitHub/MCP/pluggable providers)
- linker or conflict-resolution behavior
Tasks
Tasks: OpenSpec-native workflow guardrails
1. Documentation
2. CI guardrails
3. Runtime behavior boundaries
OpenSpec-native workflow guardrails
Why
specsyncalready syncs OpenSpec changes to tracker issues, but the repo stilldescribes mostly the sync mechanics. To make dogfooding robust and consistent,
the project should explicitly follow OpenSpec lifecycle guardrails (validate,
status checks, and predictable change hygiene) as part of normal development.
Without these guardrails, we risk:
truth.
What
Define and enforce an OpenSpec-native way of working in this repository:
propose -> tasks -> apply -> sync).specsyncresilient by continuing to read files directly when theOpenSpec CLI is unavailable, while optionally using OpenSpec CLI status
checks where appropriate.
This change is process and guardrails first. It does not change provider
behavior or linking logic.
Scope
Out of scope:
Tasks
Tasks: OpenSpec-native workflow guardrails
1. Documentation
specsync pull) and spec-first (specsync) paths as equally valid.statusshould be used and how it maps to stage labels2. CI guardrails
3. Runtime behavior boundaries