Some checks failed
CI / Lint (bash) (push) Has been cancelled
CI / Lint (markdown) (push) Has been cancelled
CI / Lint (nickel) (push) Has been cancelled
CI / Lint (nushell) (push) Has been cancelled
CI / Lint (rust) (push) Has been cancelled
CI / Code Coverage (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / Build (macos-latest) (push) Has been cancelled
CI / Build (ubuntu-latest) (push) Has been cancelled
CI / Build (windows-latest) (push) Has been cancelled
CI / Benchmark (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
CI / License Compliance (push) Has been cancelled
Three independent copies of `match field.field_type` existed across
executor.rs, backends/cli.rs, and nickel/roundtrip.rs — each with
different feature gaps (missing options_from, missing RepeatingGroup,
duplicate filter_options_from).
- Canonical implementation: InquireBackend::execute_field_sync (pub(crate))
- Added previous_results: &HashMap<String, Value> parameter — enables
options_from filtering for dependent Select fields, previously absent
in the cli.rs copy
- filter_options_from moved to backends/cli.rs (pub(crate)), removed from
executor.rs and roundtrip.rs
- Legacy sync path (execute_with_base_dir, execute, load_and_execute_from_file)
gated on #[cfg(feature = "cli")] — correct: they call InquireBackend directly
- Net: -346 lines, 0 behavior regressions, 36 tests passing
fix(docs): repair five doctests broken against current API
- FormDefinition struct fields renamed (title→name, display_items→elements):
lib.rs, prelude.rs updated to use form_parser::parse_toml()
- confirm() takes 3 args (prompt, default, formatter): lib.rs, prompt_api.rs
- advanced.rs: replaced 8 nonexistent trait methods with 7 real FormBackend methods
- cli_loader.rs: ignore→no_run with concrete inline struct
docs(arch): add architecture.md with positioning, BackendFactory, execution model