Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
b62d08d
feat: Add AST versioning system with automatic migration support
adiman9 Mar 21, 2026
98687b9
docs: Add comprehensive AST versioning guide
adiman9 Mar 21, 2026
55c6993
docs: Add version sync warnings and tests
adiman9 Mar 21, 2026
273ab7c
chore: Change default AST version to 0.0.1
adiman9 Mar 21, 2026
1d6540f
fix: Address clippy warnings in AST versioning module
adiman9 Mar 21, 2026
5df9efe
fix: Use CURRENT_AST_VERSION constant instead of hardcoded version
adiman9 Mar 21, 2026
c824e3d
fix: Make sync tests fail explicitly when source file not found
adiman9 Mar 21, 2026
3061508
docs: Fix duplicate match arm in versioning guide example
adiman9 Mar 21, 2026
cf4ea26
docs: Fix incorrect semver bump examples in versioning guide
adiman9 Mar 21, 2026
1791986
fix: Address code review feedback on AST versioning
adiman9 Mar 21, 2026
262be58
fix: Address code review feedback on error messages and examples
adiman9 Mar 21, 2026
73ad7b4
fix: Remove Serialize derive from Versioned*Spec enums to prevent dup…
adiman9 Mar 21, 2026
51fde69
fix: Clarify UnsupportedVersion error message to mention migration su…
adiman9 Mar 21, 2026
32d7427
docs: Fix guide to use CURRENT_AST_VERSION constant in match guard
adiman9 Mar 21, 2026
6809f1a
fix: Use CURRENT_AST_VERSION in test assertions instead of hardcoded …
adiman9 Mar 21, 2026
da49bf9
fix: Address code review feedback on into_latest, test assertions, an…
adiman9 Mar 21, 2026
0201869
docs: Add warnings about Versioned*Spec limitations and fix detect_as…
adiman9 Mar 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions cli/src/commands/sdk.rs
Original file line number Diff line number Diff line change
Expand Up @@ -246,13 +246,9 @@ fn load_stack_spec(
let ast_json = fs::read_to_string(&ast.path)
.with_context(|| format!("Failed to read stack file: {}", ast.path.display()))?;

let stack_spec: hyperstack_interpreter::ast::SerializableStackSpec =
serde_json::from_str(&ast_json).with_context(|| {
format!(
"Failed to deserialize stack AST from {}",
ast.path.display()
)
})?;
// Use versioned loader for automatic version detection and migration
let stack_spec = hyperstack_interpreter::versioned::load_stack_spec(&ast_json)
.with_context(|| format!("Failed to load stack AST from {}", ast.path.display()))?;

if stack_spec.entities.is_empty() {
return Err(anyhow::anyhow!(
Expand Down
Loading
Loading