feat(installer): first-run UX — interim slice of the v2 spec (copy, naming, location fix, clearer errors)#307
Open
LukasWodka wants to merge 4 commits into
Open
feat(installer): first-run UX — interim slice of the v2 spec (copy, naming, location fix, clearer errors)#307LukasWodka wants to merge 4 commits into
LukasWodka wants to merge 4 commits into
Conversation
…o-detect, real errors
Line-by-line pass over the one-command install experience, driven by a real
production run that failed opaquely on a mistyped location zone ("berlin").
- Bootstrap: reframe supply-chain verification as plain-language reassurance
(drop cosign/manifest/keyless jargon and the alarming "cosign not found"),
lowercase brand, drop the redundant "Running… environment setup" line.
- Welcome banner: drop the inaccurate "nothing modified outside ~/.tracebloc
and Docker" promise (the installer also brew-installs Docker + system deps);
fix brand casing on the sudo prompt.
- Step 1: de-duplicate the Apple-Silicon messaging and warn on the real
limitation (no GPU training on macOS) rather than on the chip itself.
- Step 3 (provision): auto-detect the carbon-reporting zone from the system
timezone via the OS's own zone.tab (no network call, no embedded zone list
to drift) and let the user Enter-to-accept / override / skip; surface the
ACTUAL client-create failure inline (e.g. an unrecognized zone) instead of a
generic "see the log".
- Step 4 + summary + PowerShell: advertise the shipped dataset commands
(dataset push/rm → data ingest/delete).
- Drop internal ticket refs (RFC-0001 R8) that leaked into user-facing errors.
Tests: provision, bootstrap, install-cli, summary bats suites green (50/50).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Author
|
👋 Heads-up — Code review queue is at 34 / 30 Above the WIP limit. The team convention is to review existing PRs before opening new work. Open PRs currently in Code review (oldest first):
Pull from review before opening new work. (This is a nudge from the kanban WIP check, not a block.) |
…-led next steps, location fixes Interim slice of the installer UX v2 spec (full restructure gated on the next CLI release): - Banner: drop the vendor value-prop lines (bash + ps1) — the trust claim lives in the verified connected summary. - vendors → other collaborators everywhere user-facing; training phrased as gated on the user's approval. - Next steps rewritten around the goal: ingest data → create your use case (real /my-use-cases URL) → invite other collaborators; dashboard + CLI help demoted to footnotes. - "Name this machine" → "Name this client" (entity noun rule). - Location prompt: fix the live skip-path bug — the released CLI (v0.5.1) hard-requires --location when it can't prompt, so a blank/skip answer doomed the create with a buried error. Now: Enter accepts the detected zone; no detection → re-ask (3 tries) instead of minting a doomed request; unattended runs fall back to the detected zone silently. Tests: 67/68 bats green (1 pre-existing environmental failure on validate_config, identical on develop). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Regenerate scripts/manifest.sha256 (7 script hashes changed by the copy pass) — the Static analysis drift check diffs it against the tree. - Update two bats assertions to the new user-facing strings: the no-name fatal now says 'name for this client' (noun rule) and the bootstrap happy path prints 'installer files verified'. Caught by Linux CI only: on macOS, bats silently passes failing [[ ]] assertions (bash 3.2 errexit quirk), so local green was misleading. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Interim slice of the installer first-run UX v2 spec (tracebloc/backend#992): every improvement that is safe against the released CLI (v0.5.1) ships here; the full 4-section restructure is gated on tracebloc/cli#137 + tracebloc/cli#138 reaching a release.
Originally opened as a line-by-line UX pass off a real failed prod install (a typed city —
berlin— died with only "see the log"); extended with the spec's copy decisions.What's in
Bootstrap / banner
cosign/manifestjargon, no alarming "not found"); lowercase brand; redundant "Running… environment setup" line dropped.Step 1 (GPU) — Apple-Silicon messaging de-duplicated; ⚠ on the real limitation (no GPU training on macOS), not on the chip.
Step 3 (provision)
Name this machine→Name this client(noun rule: machine = hardware, client = tracebloc entity).zone.tab, no network) and offered as the Enter-default. Fixes a live prod bug: the shipped prompt says "optional", but v0.5.1'sclient createhard-requires--locationwhen it can't prompt — so skipping doomed the create with the error buried in the log. Now: Enter accepts the detected zone; no detection → re-ask (3 tries) instead of minting a doomed request; unattended runs fall back to the detected zone silently. (Prompt disappears entirely once cli#137 ships.)"berlin" isn't a recognized carbon zone) instead of "see the log".Summary — next steps rewritten around the goal chain: ingest data → create your use case (
https://ai.tracebloc.io/my-use-cases) → invite other collaborators; training explicitly gated on the user's approval; dashboard +tracebloc --helpdemoted to footnotes.Step 4 / Windows — stale
dataset push/rm→data ingest/delete; internal ticket refs (RFC-0001 R8) removed from user-facing errors.Testing
bats: 67/68 across provision, bootstrap, install-cli, summary, common (the 1 failure is the pre-existing environmentalvalidate_configcase — fails identically on untouched develop). Auto-detect verified on macOS (Europe/Berlin→DE). Syntax-checked; summary trust-claim assertions still pass.Follow-ups (filed)
<firstname>-NN,--locationoptionalauth status --check, backend connect confirmation🤖 Generated with Claude Code