Tell strangers the first-run order and name --ios-version on missing runtimes - #14
Merged
Merged
Conversation
…runtimes. Why: Public Use it mixed install options with hello world and did not say the app is the preferred host setup. Hello world acquired a lease without stopping on unavailable or repair_needed capacity. The app missing-CLI screen led with SIMBROKER_CLI_PATH. host init --bootstrap-config failed with runtime-not-found without naming --ios-version. Changed: README and getting-started now order Homebrew CLI, cask, then Set Up This Mac / Complete first-time setup (or host init --bootstrap-config and service start) before hello world. Capacity check gates lease acquire. Missing-CLI copy leads with the brew formula and Refresh. runtime-not-found errors name --ios-version and xcrun simctl list runtimes. Default starter iOS stays 18. Verification: npm run agent:verify -- --profile spec-only --paths README.md,docs/getting-started.md,docs/status.md,docs/test/front-door.test.mjs,CHANGELOG.md,spec/build-and-test.md,app/Sources/SharedViews.swift,app/Sources/BrokerOnboardingCommands.swift,app/Tests/BrokerOnboardingCommandsTests.swift,broker-core/index.mjs,broker-core/test/broker-core.test.mjs,broker-core/test/support/simctl-fixture.mjs,client/test/simbroker.test.mjs,client/command-dispatch.mjs --session-dir task-sessions/first-run-onboarding-20260819 npm run agent:verify -- --profile implementation --paths README.md,docs/getting-started.md,docs/status.md,docs/test/front-door.test.mjs,CHANGELOG.md,spec/build-and-test.md,app/Sources/SharedViews.swift,app/Sources/BrokerOnboardingCommands.swift,app/Tests/BrokerOnboardingCommandsTests.swift,broker-core/index.mjs,broker-core/test/broker-core.test.mjs,broker-core/test/support/simctl-fixture.mjs,client/test/simbroker.test.mjs,client/command-dispatch.mjs --session-dir task-sessions/first-run-onboarding-20260819 node --test docs/test/front-door.test.mjs npm run test:app:focus -- SimulatorBrokerAppTests/BrokerOnboardingCommandsTests Affected: README.md docs/getting-started.md docs/status.md docs/test/front-door.test.mjs CHANGELOG.md spec/build-and-test.md app/Sources/BrokerOnboardingCommands.swift app/Sources/SharedViews.swift app/Tests/BrokerOnboardingCommandsTests.swift broker-core/index.mjs broker-core/test/broker-core.test.mjs broker-core/test/support/simctl-fixture.mjs client/command-dispatch.mjs client/test/simbroker.test.mjs Refs: spec/build-and-test.md docs/getting-started.md Session: task-sessions/first-run-onboarding-20260819
…command. Why: The playbook told readers to stop on top-level unavailable or repair_needed. Those strings live on purposes[].status. It also sent unavailable capacity to doctor and a bare simulators repair, which cannot create missing aliases and fails without --alias. Changed: Hello world, getting-started, status, changelog, and front-door tests now read purposes[].status. unavailable previews with capacity reconcile. repair_needed uses doctor then simulators repair --alias. Verification: npm run agent:verify -- --profile spec-only --paths README.md,docs/getting-started.md,docs/status.md,docs/test/front-door.test.mjs,CHANGELOG.md,spec/build-and-test.md --session-dir task-sessions/first-run-capacity-gate-20260819 node --test docs/test/front-door.test.mjs Affected: README.md docs/getting-started.md docs/status.md docs/test/front-door.test.mjs CHANGELOG.md spec/build-and-test.md Refs: #14 spec/build-and-test.md Session: task-sessions/first-run-capacity-gate-20260819
Why: Finish Local Broker Installation told strangers to brew install then Refresh, but the app only looked at SIMBROKER_CLI_PATH, install.json, and the clone-install default bin. Homebrew writes prefix bin/simbroker and does not write install.json, so Refresh stayed on the missing-CLI screen. Changed: CLI search now checks Homebrew prefix bin after explicit overrides and install.json, then falls back to the clone-install default bin. Unit tests pin that order. Verification: npm run agent:verify -- --profile spec-only --paths app/Sources/BrokerSnapshotLoader.swift,app/Tests/BrokerRuntimePathsTests.swift,CHANGELOG.md,spec/build-and-test.md --session-dir task-sessions/homebrew-cli-discovery-20260819 npm run agent:verify -- --profile implementation --paths app/Sources/BrokerSnapshotLoader.swift,app/Tests/BrokerRuntimePathsTests.swift,CHANGELOG.md,spec/build-and-test.md --session-dir task-sessions/homebrew-cli-discovery-20260819 npm run test:app:focus -- SimulatorBrokerAppTests/BrokerRuntimePathsTests Affected: app/Sources/BrokerSnapshotLoader.swift app/Tests/BrokerRuntimePathsTests.swift CHANGELOG.md spec/build-and-test.md Refs: #14 spec/build-and-test.md Session: task-sessions/homebrew-cli-discovery-20260819
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.
Why
Public first-run copy mixed install options with hello world, did not name the app setup surface, and acquired a lease even when capacity was unavailable. The missing-CLI screen led with
SIMBROKER_CLI_PATH.host init --bootstrap-configfailed withruntime-not-foundwithout naming--ios-version.Changed
host init --bootstrap-configthenservice start) → hello world only after a host config exists. Homebrew does not create simulators.capacity check --purpose agent-ui-sessionand stops onunavailable/repair_neededwithdoctor/simulators repair.brew install fiveonecode/simulator-broker/simbrokerand Refresh.runtime-not-foundnames--ios-versionandxcrun simctl list runtimes. Default starter iOS stays18.Verification
spec-onlypassed.implementationpassed.agent:completepassed.Session
task-sessions/first-run-onboarding-20260819