Complete Show first-launch setup slice #3

Merged
jwilger merged 7 commits from slice/show-first-launch-setup into main 2026-05-17 10:21:22 -07:00
Owner

Summary

  • Implements all Show first-launch setup scenarios from the first-launch setup event model.
  • Adds Rust-native Cucumber/PTTY acceptance coverage for the compiled binary.
  • Adds devtooling/CI guardrails for the slice: generated Clippy lint-policy enforcement, cargo deny CI coverage, and filtered Lefthook checks.
  • Splits local unit checks from acceptance checks: just test runs unit-level checks, just accept runs black-box Cucumber acceptance scenarios with optional ACCEPT_FEATURES and ACCEPT_NAME filters.
  • Runs acceptance only in CI or on demand locally, not on every commit/push.

Verification

  • just test-first-launch-setup ''
  • just test
  • ACCEPT_FEATURES=tests/features/first_launch_setup.feature ACCEPT_NAME='No setup exists yet' just accept
  • just fmt
  • just clippy
  • just deny
  • lefthook validate

Notes

  • Uses a temporary .eddy/bootstrap/learner_setup_status.json bootstrap projection until the planned server-owned EventCore read model exists.
  • The setup screen indicates an environment API-key default without rendering raw secret values.
  • deny.toml now allows Apache-2.0, MIT, and Unlicense dependency licenses for the published crates compiled by this workspace.
## Summary - Implements all `Show first-launch setup` scenarios from the first-launch setup event model. - Adds Rust-native Cucumber/PTTY acceptance coverage for the compiled binary. - Adds devtooling/CI guardrails for the slice: generated Clippy lint-policy enforcement, `cargo deny` CI coverage, and filtered Lefthook checks. - Splits local unit checks from acceptance checks: `just test` runs unit-level checks, `just accept` runs black-box Cucumber acceptance scenarios with optional `ACCEPT_FEATURES` and `ACCEPT_NAME` filters. - Runs acceptance only in CI or on demand locally, not on every commit/push. ## Verification - `just test-first-launch-setup ''` - `just test` - `ACCEPT_FEATURES=tests/features/first_launch_setup.feature ACCEPT_NAME='No setup exists yet' just accept` - `just fmt` - `just clippy` - `just deny` - `lefthook validate` ## Notes - Uses a temporary `.eddy/bootstrap/learner_setup_status.json` bootstrap projection until the planned server-owned EventCore read model exists. - The setup screen indicates an environment API-key default without rendering raw secret values. - `deny.toml` now allows Apache-2.0, MIT, and Unlicense dependency licenses for the published crates compiled by this workspace.
test: run first-launch acceptance in routine gate
Some checks failed
CI / Format check (pull_request) Successful in 6s
CI / Clippy (pull_request) Successful in 17s
CI / Dependency policy (pull_request) Failing after 11s
CI / Test (pull_request) Successful in 27s
CI / Build (pull_request) Successful in 23s
CI / Request auto_review semantic review (pull_request) Has been skipped
de94d139d5
chore: enforce generated clippy lint policy
Some checks failed
CI / Format check (pull_request) Successful in 6s
CI / Clippy (pull_request) Successful in 20s
CI / Dependency policy (pull_request) Failing after 11s
CI / Test (pull_request) Successful in 30s
CI / Build (pull_request) Successful in 21s
CI / Request auto_review semantic review (pull_request) Has been skipped
60881eca78
chore: split acceptance from unit checks
All checks were successful
CI / Format check (pull_request) Successful in 6s
CI / Acceptance (pull_request) Successful in 30s
CI / Request auto_review semantic review (pull_request) Successful in 1s
CI / Clippy (pull_request) Successful in 22s
CI / Dependency policy (pull_request) Successful in 12s
CI / Test (pull_request) Successful in 32s
CI / Build (pull_request) Successful in 36s
7ff6babd1a
jwilger deleted branch slice/show-first-launch-setup 2026-05-17 10:21:22 -07:00
Sign in to join this conversation.
No description provided.