Implement Schema Diffing & Auto-Versioning
Priority
P1 (High) - Key differentiator feature
Labels
core
versioning
documentation
autodoc
P1
Estimated Effort
2-3 weeks
Description
Implement automatic SemVer version bumping based on schema changes. This is a key differentiator for Comline - developers don't manually version their schemas.
Versioning Rules (SemVer):
- Adding new fields → minor version bump (0.1.0 → 0.2.0)
- Changing existing fields → major version bump (0.1.0 → 1.0.0)
- Documentation/comment changes → patch bump (0.1.0 → 0.1.1)
Current State
Location:
core/src/schema/ir/diff/
core/src/autodoc/
core/src/package/config/ir/diff/
Framework exists but diff logic is incomplete.
TODO References
schema/ir/diff/mod.rs:25,51
package/config/ir/diff/versioning.rs:64
autodoc/document.rs:37,42
autodoc/schema.rs:24,43
Reference Documentation
See: docs/docs/knowledge/planning/ir-generation.md
Acceptance Criteria
Tasks
Example Output
📊 Schema Changes Detected:
- Added field `email` to struct `User` → MINOR bump
- Changed type of `age` from u8 to u16 → MAJOR bump
Version: 0.5.2 → 1.0.0 (MAJOR change due to breaking modification)
Generated: CHANGELOG.md
Dependencies
Blocks
None (can be developed in parallel with #4 and #6)
Implement Schema Diffing & Auto-Versioning
Priority
P1 (High) - Key differentiator feature
Labels
coreversioningdocumentationautodocP1Estimated Effort
2-3 weeks
Description
Implement automatic SemVer version bumping based on schema changes. This is a key differentiator for Comline - developers don't manually version their schemas.
Versioning Rules (SemVer):
Current State
Location:
core/src/schema/ir/diff/core/src/autodoc/core/src/package/config/ir/diff/Framework exists but diff logic is incomplete.
TODO References
schema/ir/diff/mod.rs:25,51package/config/ir/diff/versioning.rs:64autodoc/document.rs:37,42autodoc/schema.rs:24,43Reference Documentation
See:
docs/docs/knowledge/planning/ir-generation.mdAcceptance Criteria
Tasks
Example Output
Dependencies
Blocks
None (can be developed in parallel with #4 and #6)