improve specification versioning

Signed-off-by: Onur Özkan <work@onurozkan.dev>
This commit is contained in:
Onur Özkan committed 2026-07-17 10:57:14 +03:00
1 parent ceba320a96
commit 4c6ee111e8
8 files changed
+64 -28

No files matched your search

+5 -2
View File
@@ -28,7 +28,10 @@ The repository is currently in infrastructure setup. Formal project specificatio
Formal specs should be colocated with the code or board package they govern.
- Implementation-linked specs should use versioned sidecar filenames such as `control_loop.v0.1.0.spec.md` next to the related module or package.
- Implementation-linked specs should use stable sidecar filenames such as `control_loop.spec.md` next to the related module or package.
- Version history should live inside the same spec file as additional spec entries, not in the filename.
- Each appended spec entry should begin with version marker such as `# --- version: 0.1.0 ---`.
- Inside a spec entry, `#` is reserved for version markers and content headings should start at `##`.
- Rust items should link to those sidecar specs through `#[spec("...")]`.
- Missing linked spec files must fail compilation.
@@ -37,6 +40,6 @@ Example:
```rust
use kaptan_spec::spec;
#[spec("control_loop.v0.1.0.spec.md")]
#[spec("control_loop.spec.md")]
pub struct ControlLoop;
```