generation and pipeline scheduling
- Add benchmark infrastructure (Criterion) for parser performance
testing
- Enhance decorator parsing with new types: Pipe, Parallel, Daemon,
Health, and Unknown
- Improve parser to track line numbers and handle nested braces
correctly
- Add implicit `@after` dependencies for pipeline functions in
topological sort
- Introduce `use_template` flag in builder to support trivial script
execution
- Update bake function signature to accept Cli parameters and privilege
detection
- Refactor error handling with structured `ScriptGenerationFailed`
variant
- Extend integration tests for privilege dropping, engine execution, and
bake phase
- Comment out daemon and apt modules temporarily for refactoring
handling
- Add new bake module with parser, scheduler, decorator, and builder
- Implement topological sorting for functions with @after dependencies
- Add error handling for circular dependencies and unknown dependencies
- Introduce constants module for shared path definitions
- Add BakeError type (renamed from BuilderError) with new variants
- Add PrebakeStage::Never variant for "never drop privileges"
- Simplify decorator parsing and clean up comments
- Remove RustyVault and rust-tongsuo submodules as they are unused
(temporarily)
- Update .gitignore to include .ruff_cache
workflow
- Rename crate/library/binary from workshop-executor to workshop-baker
- Remove unused modules (decorator, parser, schedule, variable) from lib
- Implement stage-based privilege dropping with prebake_drop_privilege()
- Add dry-run support in executor and CLI
- Add bootstrap.sh template script for user/workspace setup
- Add PrebakeStage::from_str() and Default impl
- Add get_drop_after() function for security config
- Fix version matching to handle "1.0" format variants
- Fix UPM all_managers() to return custom::Custom
- Add Python integration tests with Docker
- Simplify examples/prebake.yml to match template