Skip to content

Staged TUI console wizard - #368

Merged
jonathanweinberg merged 6 commits into
mainfrom
codex/staged-tui-console-wizard-367
Jul 6, 2026
Merged

Staged TUI console wizard#368
jonathanweinberg merged 6 commits into
mainfrom
codex/staged-tui-console-wizard-367

Conversation

@jonathanweinberg

Copy link
Copy Markdown
Owner

Summary

  • Adds the staged ShareSurfer text-console layer and guided ownership import wizard work from issue TUI: console layer foundation and ownership import wizard (staged TUI slices 1-3) #367.
  • Wires the release-root launcher into the new Start-ShareSurfer menu by default while preserving -ConfigPath startup replay.
  • Makes menu command previews match the executed commands and avoids silent ownership-header skips when no suggestion exists.

Validation

  • git diff --check => passed
  • pwsh -NoLogo -NoProfile -File tests/Invoke-ShareSurferTests.ps1 => 131/131 tests passed
  • npm --prefix interface/standalone-dashboard run test => 53/53 tests passed
  • npm --prefix interface/standalone-dashboard run build => passed

jonathanweinberg and others added 6 commits July 6, 2026 13:35
Adds the cancellation mechanism contract, wide-CSV header entry
requirements, P5-E warnings return shape for Slice 2, startup
cancel-path cleanup in Slice 4, test-migration note for Slice 1
shims, and deliberately-deferred items (collector readiness
command, START-HERE.md) to Open Follow-Up.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Staged TUI slices 1-3 from the 2026-07-06 spec:

- New internal Private/ShareSurfer.Console.ps1: choice/text/boolean/
  multi-select state machines, capability detection (with
  SHARESURFER_PLAIN_CONSOLE override), render-to-string screens with a
  single output sink, return-based cancellation (Action 'Cancelled'),
  zero-character key filtering, and compatibility shims for the #364
  prompt names.
- Ownership header interview is now a guided wizard: step counter,
  suggested header, numbered header list with /text filtering and
  free-typed entry, per-field explanations, and a return shape that
  carries interview warnings into the mapping profile (P5-E).
- Source classification uses the console layer with return-based
  cancel; Join and mapping-profile entry points decide what cancel
  means and keep the existing operator-cancel messages.
- Cancelled interviews write no partial mapping profile output.
- Docs updated to describe the wizard screens and controls.

Suite: 126/126 (6 new tests: key translation, multi-select, text
prompt, wizard render/filter, classification cancel, profile
warnings + cancel).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Staged TUI slice 4:

- Read-ShareSurferAssistantText, Read-ShareSurferStartupChoice, and
  Read-ShareSurferStartupBoolean are thin wrappers over the console
  text/boolean machines with identical prompt consumption.
- Forbidden-OU selection uses the multi-select engine (toggle by
  number/range, A/C, Enter keeps current selection, Q keeps existing
  values); OUs supplied via -ForbiddenOu that are not listed by the
  directory are preserved.
- CSV picker screens render to strings through the console sink.
- Startup interactive flow gains step breadcrumbs (1-4) and a
  selections summary before the assistant runs, marking missing
  optional inputs plainly.
- A failed or cancelled guided ownership setup now blanks
  never-created output paths so saved startup configs stop naming
  files that do not exist (fifth-pass finding P5-F).
- New lint-style test pins Read-Host usage to the console layer and
  the approved Join flow shells; new render test covers the startup
  selections screen.

Suite: 128/128.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Staged TUI slice 5:

- New exported Start-ShareSurfer command renders a start menu over the
  existing flows: preflight, ownership inputs, scan (guided startup or
  saved-config replay), validate export, package standalone dashboard,
  stop-gate review, and support bundle.
- Each entry shows a readiness state derived from the files that
  already record progress (owner-mapping.csv, ownership-enrichment.csv,
  sharesurfer-startup.config.json, shares.csv, evidence_confidence.csv,
  collection_errors.csv, port_protocol_checks.csv).
- Every selection previews the exact command before anything runs;
  runnable entries confirm with Y/N and call the real commands directly
  (no Invoke-Expression). Entries that need information the menu does
  not have (preflight targets, support bundle) stay preview-plus-guidance.
- Menu state lives entirely in the existing JSON/CSV files; quitting
  loses nothing.
- Entirely on the console layer: readiness and screen builders are
  pure functions with tests; no new Read-Host (lint test still pins
  usage to the console layer and approved shells).

Suite: 130/130.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jonathanweinberg
jonathanweinberg merged commit a588206 into main Jul 6, 2026
4 checks passed
@jonathanweinberg
jonathanweinberg deleted the codex/staged-tui-console-wizard-367 branch July 6, 2026 20:45
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.

1 participant