diff --git a/CHANGELOG.md b/CHANGELOG.md index cac3637..672c273 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -105,3 +105,7 @@ Initial implementation. — state, usage and the last dozen journal entries, printed and gone. A flow peek shows the stage chain and recurses into the current stage's run. +- The init wizard's full-permission confirm now defaults to Yes (the + recommended choice) and its warning spells out that runs and flows + (audit → triage → patch → verify) fail closed without it; doctor's + scoped-mode message says the same. diff --git a/internal/bootstrap/doctor.go b/internal/bootstrap/doctor.go index 93e7fdc..9df004a 100644 --- a/internal/bootstrap/doctor.go +++ b/internal/bootstrap/doctor.go @@ -42,7 +42,7 @@ func Doctor(ctx context.Context, state *State, log LogFn) (*DoctorReport, error) if state.FullPermission { add("permission-mode", true, "full (consented at init): harnesses run with all tools auto-approved") } else { - add("permission-mode", true, "scoped (fail-closed): permission requests abort runs with exit 2 — the harness's skills need `traust-cli init --full-permission`") + add("permission-mode", true, "scoped (fail-closed): permission requests abort runs with exit 2 — skills and flows (audit → triage → patch → verify) need `traust-cli init --full-permission`") } // Traust checkout + venv. diff --git a/internal/tui/init.go b/internal/tui/init.go index aa7847d..dcd06e0 100644 --- a/internal/tui/init.go +++ b/internal/tui/init.go @@ -24,6 +24,9 @@ func RunInitWizard(defaultWorkspace, defaultForge string, detected []string, def Ref: "latest", ToolchainProfile: "none", Harness: defaultHarness, + // Full permission is the recommended default: the harness's skills + // cannot run unattended without it, so the confirm highlights Yes. + FullPermission: true, } harnessOptions := []huh.Option[string]{} @@ -73,9 +76,10 @@ func RunInitWizard(defaultWorkspace, defaultForge string, detected []string, def ), huh.NewGroup( huh.NewConfirm(). - Title("Run skills with full permissions?"). - Description("The traust harness's skills REQUIRE unattended tool use (bash, file writes) — "+ - "without full permission they fail closed on the first permission request. "+ + Title("Run skills with full permissions? (recommended)"). + Description("The traust harness's skills REQUIRE unattended tool use (bash, file writes). "+ + "WARNING: without full permission, runs and flows (audit → triage → patch → verify) "+ + "fail closed on the first permission request — most workflows will not complete. "+ "With it, your harness runs with all tools auto-approved "+ "(claude --dangerously-skip-permissions, crush --yolo, codex --dangerously-bypass-approvals-and-sandbox). "+ "S9 isolation still applies: agents run from the harness root and never load the audit target's configuration.").