6 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
baff1c42ec
|
refactor(core): eliminate field execution duplication, fix stack-unsafe retry, O(1) context passing
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 / Benchmark (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
CI / License Compliance (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
Deduplication
- Consolidate three copies of match field.field_type into InquireBackend::execute_field_sync
as single canonical implementation (backends/cli.rs)
- Add previous_results param to execute_field_sync (pub(crate)); propagate options_from
filtering previously absent from the cli.rs copy
- Move filter_options_from to backends/cli.rs pub(crate); remove duplicate copies from
executor.rs and nickel/roundtrip.rs (-346 lines, 0 behavior regressions)
- Gate legacy sync path (execute_with_base_dir, execute, load_and_execute_from_file)
on #[cfg(feature = "cli")]
Retry fix
- Replace unbounded recursive retry in execute_field_sync with loop+continue (O(1) stack)
RenderContext clone cost
- Change RenderContext.results from HashMap<String, Value> to Arc<HashMap<String, Value>>
- Change executor accumulators to Arc in execute_with_backend_complete,
execute_with_backend_tw execute_with_backend_tw execute_with_backend_tw execute_with_backend_tw execute_with_bante execute_won: execute_with_backend_tw execute_with_backend_tw execute_with_backend_tw execute_count==1 (guaranteed at each insert site)
- typedialog-ai/backend.rs: &context.results -> context.results.iter() for Arc deref
Doctests
- Fix five broken doctests: FormDefinition fields renamed, confirm() arity, FormBackend
methods replaced, cli_loader ignore -> no_run with concr methods replaced, cli_loader ignore -> no_run with concr methods reken methods replaced, cli_loader ignore -> no_run with concr methods replaced, clsync path
- docs/architecture.md Known Technical Debt: all items resolved, section closed
EOF
|
||
|
|
52f73a1b3f
|
refactor(core): eliminate field execution duplication and fix stack-unsafe retry
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
- Consolidate three copies of match field.field_type into InquireBackend::execute_field_sync
as single canonical implementation (backends/cli.rs)
- Add previous_results param to execute_field_sync (pub(crate)); propagate options_from
filtering previously absent from the cli.rs copy
- Move filter_options_from to backends/cli.rs pub(crate); remove duplicate copies from
executor.rs and nickel/roundtrip.rs (-346 lines, 0 behavior regressions)
- Gate legacy sync path (execute_with_base_dir, execute, load_and_execute_from_file)
on #[cfg(feature = "cli")]
- Replace unbounded recursive retry in execute_field_sync with loop+continue (O(1) stack)
- Fix five broken doctests: FormDefinition fields renamed, confirm() arity, FormBackend
methods replaced, cli_loader ignore -> no_run with concrete struct
- Add docs/architecture.md: positioning, BackendFactory mechanics, three-phase execution,
CLI field execution contract, legacy sync path, known technical debt
EOF
|
||
|
|
d7ebcf7c5e
|
refactor(core): consolidate CLI field execution into single dispatch point
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
|
||
|
|
16d7a7c442
|
chore: add --open for browser url to backend web
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 / Benchmark (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
CI / License Compliance (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
|
||
|
|
1c0b92e67e
|
feat: add unified dispatcher for all backends via typedialog command
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 / Benchmark (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
CI / License Compliance (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
- Implement dispatcher allowing access to web, tui, ai, ag, prov-gen via single entry point - Add 5 new subcommands with 3-line help format (description + usage + options) - Update CLI help text with backend examples and quick start - Update README.md with unified command interface section - Maintain backward compatibility with direct binary invocation - All backends now accessible: typedialog web/tui/ai/ag/prov-gen ✓ Tests pass, no compiler warnings |
||
|
|
9ca1bfb8cf
|
chore: new projet folders structure |