Skip to content

Deepen Harness settings behind one Setup interaction - #456

Merged
JacobStephens2 merged 2 commits into
mainfrom
issue-454
Oct 6, 2026
Merged

JacobStephens2 merged 2 commits into
mainfrom
issue-454

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Summary

Concentrate installed-Harness selection and all six Model/Effort interactions behind one semantic Setup effect.

 Setup effects
- installed-Harness query + six catalog/check operations
+ ask_harness_settings(current) -> settled choice | retention | error

 Harness interaction
+ selection -> discovery/checks -> canonicalization/retries -> complete answer
+ terminal interface: read(prompt), say(line)

Closes #454

Evidence

  • Before: registered_order_and_enter_defaults_produce_one_complete_answer failed at the new interaction with Harness selection not yet implemented.
    After: all 27 complete Harness interaction tests pass, including defaults, clearing, distinct validation rules, atomic retention and interruption.

  • All 48 Setup effect tests pass. Existing regressions pass: 18 process-tree tests, 17 terminal/command Setup tests and 8 first-offer tests.

  • Normal checks: cargo fmt --check and cargo clippy --all-targets -- -D warnings pass. cargo test passes: 1222 tests across 39 test binaries, 0 failures.

  • GitHub CI passes on Ubuntu and macOS. Both platform artifacts also pass the release checks.

Test seams

  • harness::settings::ask: scripted terminal transcripts and semantic results, with isolated executable/catalog stand-ins and controlled PATH.
  • Setup's ask_harness_settings effect: received defaults, complete accepted-result persistence, complete retention and errors before writes.
  • Existing command/PTY Setup, first Run offer and owned-process cleanup regressions.

Merge Danger

Door: two-way

An ownership refactor that can be reverted without migrating User config or Credentials.

Blast Radius: Setup

Interactive Setup and the first Run's Setup offer use the deepened Harness interaction.

Unaddressed findings

Standards

  1. Call-order/count assertions in the Setup effect test (src/setup.rs): general testing guidance discourages observing collaborator sequences. Kept because Deepen Harness settings behind one Setup interaction #454 explicitly requires a once-only semantic interaction, recorded defaults and effect-order coverage at this agreed seam (Decisions 6 and 15).
  2. Possible duplicated default-answer/EOF helpers (src/harness/settings.rs, src/setup/questions.rs): kept these small helpers local to their respective question flows to preserve ownership and the narrow Harness interface; a shared question utility offers limited benefit in this refactor.

Spec

None. The independent Spec review reported no findings.

Built with codex · gpt-6.1-sol · xhigh

@JacobStephens2
JacobStephens2 merged commit 15288b9 into main Oct 6, 2026
13 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-454 branch October 6, 2026 21:39
This was referenced Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deepen Harness settings behind one Setup interaction

1 participant