Expand description
smix-recorder — host-side recorder for smix test sessions.
Ported from now-retired TS sources (was legacy/src/recorder/{session,generator-*,cleanup}.ts, retired in v3.22).
Cement crate, smix-specific (depends on smix-sdk’s App).
§Architecture (v2.0 c3 lock-in)
The user runs a test session against smix via smix_sdk::App, but
routes the calls through RecordingApp (a wrapper that delegates
every side-effecting method to the underlying App AND pushes a
matching IRAction into a RecordSession buffer). At the end
of the session, a generator emits an equivalent test file:
generator_rust::generate_rust— emit a Rustcargo test-style source file targeting the smix-sdk public surfacegenerator_maestro_yaml::generate_maestro_yaml— emit a maestro-compatible yaml flow (cross-tool compatibility)
cleanup::cleanup optionally pipes either output through the
claude CLI for a constrained AI cleanup pass (naming, wait_for
injection between phases). Cleanup is a sweetener; callers should
fall back to the raw output on cleanup failure.
Re-exports§
pub use cleanup::CleanupConfig;pub use cleanup::CleanupError;pub use cleanup::cleanup;pub use generator_maestro_yaml::generate_maestro_yaml;pub use generator_rust::generate_rust;pub use session::RecordSession;pub use session::RecordingApp;
Modules§
- cleanup
- Claude CLI cleanup pass — sweetener for generated test source.
- generator_
maestro_ yaml IRAction[]→ maestro yaml flow.- generator_
rust IRAction[]→ Rust test-source string.- session
RecordSession+RecordingApp— host-side capture wrappers.
Structs§
- Recorder
Error - Recorder-side failure, distinct from SDK-side ExpectationFailure. CLI / SDK consumers may surface this directly or wrap with context.
Enums§
- IRAction
- One user-visible side-effecting step in a recorded session.
- Recorder
Error Reason - Reasons a recorder session might fail. v2.0 c4 extended with three
cleanup-*variants to surface claude-CLI AI-cleanup failures distinctly from the recording itself.