Skip to content

Document onboarding notifications toggle and menu-extra memory section - #5

Open
ronaldmannak wants to merge 6 commits into
masterfrom
claude/sharp-ptolemy-huv57q
Open

Document onboarding notifications toggle and menu-extra memory section#5
ronaldmannak wants to merge 6 commits into
masterfrom
claude/sharp-ptolemy-huv57q

Conversation

@ronaldmannak

Copy link
Copy Markdown
Contributor

Summary

Keeps the Install and Run getting-started page in sync with two shipped, user-facing changes merged in the source repos since the last documentation run. Both are grounded in current source, not point-in-time PR descriptions.

Changes

  • Onboarding options list — added the Allow notifications toggle to the list of settings the first-run flow can set. The onboarding Customize page ships this toggle alongside the four already documented (OnboardingWizardView.swift: SettingRow(icon: "bell.fill", title: "Allow notifications", …)). Its request/permission behaviour was fixed in PicoServer #36.
  • Menu extra Memory section — the menu-extra description previously listed only status, Start/Stop, and the address+copy button. Documented the Memory section it also shows: the Apps/MLX/Free bar and legend, the memory Pressure indicator, and the GB/% legend toggle added in PicoServer #37 (MenuExtraView.swift, MemoryGauge.swift).

Evidence

$ python3 .claude/skills/write-software-docs/scripts/check_markdown.py --strict \
    docs/user-guide/getting-started/install-and-run-pico-ai-server.md
Checked 1 file(s): 0 error(s), 0 warning(s)

Both facts verified against the current ronaldmannak/PicoServer main (HEAD at the #37 merge, ed4ba14): the five onboarding SettingRow titles and the Memory header's GB/% button + SegmentedMemoryBar legend/pressure UI.

Not done on purpose

  • PicoCore #54 (RAM-based tier recommendation / "Reasoning" tier rename) — not documented. The onboarding RAM-tier catalog is still in flux: the source marks the Reasoning-tier models as TODO placeholders that render as "Coming soon" (empty models array) and flags the Qwen3 repo IDs/size estimates as needing verification. Documenting an in-flux, partly-placeholder picker now would risk inaccuracy; deferred until the tiers stabilize.
  • PicoServer #35 (onboarding-finish wiring) — no doc change needed. The page already states the onboarding flow opens the WebUI and applies the network/login/sleep settings; #35 makes that behaviour actually fire, so the existing text is now accurate rather than aspirational.
  • Other merged PRs in the window (CI signing, external-dependency/Package.resolved fixes, test rebalancing, agent-guidance docs) are internal and not user-facing.

🤖 Generated with Claude Code


Generated by Claude Code

- Add the 'Allow notifications' toggle to the onboarding options list
  (PicoServer onboarding Customize page).
- Describe the menu extra's Memory section: the Apps/MLX/Free bar and
  legend, the memory Pressure indicator, and the GB/% legend toggle
  (PicoServer #37).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Mvyyqz4fzYoDdkYE8qLgNi

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the user guide documentation for Pico AI Server, adding 'Allow notifications' to the onboarding flow settings and introducing a description of the 'Memory' section in the menu extra. The review feedback suggests minor phrasing improvements to enhance clarity and technical precision, such as using 'lets you configure' instead of 'can set', 'memory usage' instead of 'memory use', and 'toggle' instead of 'switch'.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

1. Launch Pico AI Server.
2. Complete the first-run flow.
The onboarding flow can set `Allow local network connections`, `Broadcast Bonjour`, `Open at login`, and `Prevent sleep`.
The onboarding flow can set `Allow notifications`, `Allow local network connections`, `Broadcast Bonjour`, `Open at login`, and `Prevent sleep`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using "lets you configure" or "allows you to configure" is more precise than "can set", as these are user-adjustable toggles in the onboarding wizard rather than settings applied automatically by the flow.

Suggested change
The onboarding flow can set `Allow notifications`, `Allow local network connections`, `Broadcast Bonjour`, `Open at login`, and `Prevent sleep`.
The onboarding flow lets you configure `Allow notifications`, `Allow local network connections`, `Broadcast Bonjour`, `Open at login`, and `Prevent sleep`.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied in 410fb4d — changed "can set" to "lets you configure". Agreed: these are user-adjustable toggles on the onboarding Customize page, not settings the flow applies on its own, so the reworded phrasing is more accurate.


Generated by Claude Code

With that setting off, Pico AI Server binds to `127.0.0.1`.
6. Use the menu extra when you need quick control.
When the server is running, it shows the status, a `Start` or `Stop` button, and an IP-based server address with a copy button.
The `Memory` section breaks down memory use across `Apps`, `MLX`, and `Free` with a bar and legend, and shows a memory `Pressure` indicator. Use the `GB`/`%` button in the `Memory` header to switch the legend between gigabytes and percentages.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using "memory usage" is more standard in technical documentation than "memory use". Additionally, "toggle" is a more precise term than "switch" for a two-state button.

Suggested change
The `Memory` section breaks down memory use across `Apps`, `MLX`, and `Free` with a bar and legend, and shows a memory `Pressure` indicator. Use the `GB`/`%` button in the `Memory` header to switch the legend between gigabytes and percentages.
The `Memory` section breaks down memory usage across `Apps`, `MLX`, and `Free` with a bar and legend, and shows a memory `Pressure` indicator. Use the `GB`/`%` button in the `Memory` header to toggle the legend between gigabytes and percentages.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Applied in 410fb4d — "memory use" → "memory usage" and "switch" → "toggle" for the two-state GB/% control. Both read more precisely; done.


Generated by Claude Code

claude added 2 commits July 21, 2026 10:14
- 'can set' -> 'lets you configure' (onboarding toggles are user choices)
- 'memory use' -> 'memory usage'; 'switch' -> 'toggle' for the GB/% control

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Mvyyqz4fzYoDdkYE8qLgNi
PicoServer's first-run flow was rebuilt (PRs #35, #36, #38, #42) into a
four-page wizard — Welcome, Model, Access, Ready — and the old Customize
page (notifications, open-at-login, prevent-sleep toggles) was removed.

- Fix the now-stale onboarding line in Install and Run: the first-run flow
  no longer configures notifications, open-at-login, or prevent-sleep.
- Add a First-Run Setup walkthrough page covering all four wizard pages,
  including RAM-based model tier selection (Fast / Balanced / Reasoning)
  and the This-Mac-only vs local-network access choice with Bonjour.
- Document Open at Login and Prevent automatic sleep in Configure Settings,
  where they now live after moving out of onboarding.
- Wire the new page into the sidebar and renumber Getting Started siblings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D8KgyxEFCWzt6ebEC7SKng

Copy link
Copy Markdown
Contributor Author

Follow-up commit: onboarding redesign (PicoServer #35/#36/#38/#42)

After this PR was first opened, PicoServer merged a redesign of the first-run flow that supersedes what this PR originally documented. PR #42 ("Reduce onboarding to Welcome, Model, Access, Ready") replaced the old Customize page and removed the Allow notifications, Open at login, and Prevent sleep toggles from onboarding entirely. That made this PR's earlier edit to Install and Run — which listed Allow notifications as an onboarding option — inaccurate.

The new commit (d7a6b83) reconciles the docs with the shipped four-page wizard:

  • Install and Run — corrected the first-run line; it no longer claims onboarding configures notifications / open-at-login / prevent-sleep. The menu-extra Memory section paragraph from the earlier commit is unchanged (still accurate).
  • New page: First-Run Setup (first-run-setup.md) — walkthrough of all four wizard pages: Welcome, Model (RAM-based tier selection — Fast / Balanced / Reasoning — with the recommended tier preselected), Access (This Mac only vs. Devices on my local network, with the nested Bonjour toggle), and Ready (live status/model/access/address, Open Chat, Copy address). Wired into the sidebar.
  • Configure Settings — documented Open at Login and Prevent automatic sleep while Pico is running under the Server Mode section, where they now live after moving out of onboarding.

On the previously-deferred PicoCore #54 ("Reasoning" tier / RAM recommendation)

This PR's original "Not done on purpose" note deferred documenting the tiers because the Reasoning catalog was in flux. The new First-Run Setup page documents the tier flow and terminology (Fast / Balanced / Reasoning, RAM-based recommendation) — all verified against current main source — but deliberately still omits specific model names, sizes, and per-RAM availability, since UseCase.swift flags those as needing verification. So the caution behind the original deferral is preserved.

All four touched Markdown files pass check_markdown.py --strict (0 errors / 0 warnings).


Generated by Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d7a6b83560

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

2. Complete the first-run flow.
The onboarding flow can set `Allow local network connections`, `Broadcast Bonjour`, `Open at login`, and `Prevent sleep`.
2. Complete the first-run setup.
The setup wizard has four pages — Welcome, Model, Access, and Ready. It downloads a first model, chooses who can connect, and starts the server for you. For a step-by-step walkthrough, see [First-Run Setup](./first-run-setup.md).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Qualify first-run model downloads

When the user continues without selecting a model, this promise is inaccurate: the new First-Run Setup page later says Pico allows continuing without a model and downloading one later from Settings. Readers who hit that supported path will expect setup to have started a download or left a model ready, so this should be qualified to say it downloads only when a model is selected and not already present.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 912707c. You're right — this contradicted the First-Run Setup page, which documents that continuing without a model is a supported path. Reworded to: "It downloads the model you pick (you can skip and add one later), lets you choose who can connect, and starts the server for you." The download is now stated as conditional on picking a model, and skipping is called out explicitly.


Generated by Claude Code

Comment on lines +16 to +20
- Pico shows a short list of options — such as **Fast**, **Balanced**, and **Reasoning** — sized for your Mac's memory.
- One option is preselected and marked **Recommended** for this Mac; the page subtitle names it (for example, "Balanced is recommended for this Mac. You can add or switch models later.").
- Each row shows the model name and its total download size.
- The continue button reflects your choice: **Download _tier_ · _size_** for a model that is not on disk yet, or **Use _tier_** for one you already have.
- You can continue without choosing. If no model is available yet, Pico asks you to confirm, and you can download one later in Settings.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Qualify placeholder model tiers

When a tier such as Reasoning is rendered as a coming-soon placeholder rather than a downloadable choice, this list makes it look like a selectable model option and the following bullets say every row has a model name, size, and Download _tier_ · _size_ path. That sends users looking for a model the wizard does not offer yet, so mark placeholder tiers as unavailable or omit them from the selectable-model flow.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 912707c. The Model-page bullets now distinguish selectable options from unavailable ones. UseCase in PicoCore renders an unavailable tier with unavailableReason — either "Coming soon" (empty models array) or "Requires N GB RAM" — and gates selection on isAvailable, so the docs now match that:

Each selectable option shows its model name and total download size. An option that isn't available yet is labeled Coming soon, and one that needs more memory than your Mac has shows its RAM requirement instead — neither can be selected.

The Recommended badge and the Download tier · size / Use tier button text are both now scoped to selectable options, so a placeholder tier no longer reads as a downloadable choice.


Generated by Claude Code

- Install and Run: the wizard downloads the model you pick, and picking
  one is optional (you can skip and add later), not an unconditional
  "downloads a first model".
- First-Run Setup: distinguish selectable options from ones shown as
  "Coming soon" or gated by a RAM requirement; the model name, size, and
  Download/Use button apply only to selectable options.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D8KgyxEFCWzt6ebEC7SKng

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 912707c942

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

sidebar_position: 2
---

The first time you launch Pico AI Server, a setup wizard walks you through four pages — **Welcome**, **Model**, **Access**, and **Ready**. By the end you have a model downloading (or ready), you have chosen who can reach the server, and the server is running. This page explains each page so you know what every choice does.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Qualify the no-model setup outcome

When the user takes the supported skip path documented later on this page (You can continue without choosing...download one later in Settings), setup ends with no model downloading and no ready model, so this intro still over-promises the result. The fresh evidence is that the unconditional claim remains in the new First-Run Setup page after the Install page was qualified; make the outcome conditional on selecting a model so the no-model setup path does not violate the repository's no-invented-behavior rule.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 14fd040. The intro no longer promises a model unconditionally. It now reads: "By the end you have chosen who can reach the server and the server is running; if you picked a model, it is downloading or already ready (you can also skip that step and add a model later)." That matches the documented skip path later on the page, so the no-model outcome is no longer over-promised.


Generated by Claude Code

claude added 2 commits July 22, 2026 10:32
The First-Run Setup intro still promised "a model downloading (or ready)"
unconditionally, which contradicts the documented skip path. Reworded so
the model outcome is conditional on picking one.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D8KgyxEFCWzt6ebEC7SKng
Head off the same no-model-path contradiction elsewhere on the page:
- Model step: note that picking a model is optional ("or skip it").
- Ready step: the Model detail row only appears when a model was chosen,
  so qualify it ("the model you chose (when you picked one)").

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D8KgyxEFCWzt6ebEC7SKng

Copy link
Copy Markdown
Contributor Author

@codex review

All P2 findings from the reviews of d7a6b83 and 912707c are addressed in 14fd040 and cdf3340 (the model-download outcome is now consistently conditional across both the Install and First-Run Setup pages). Requesting a fresh review of the current head cdf3340 to confirm convergence.


Generated by Claude Code

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Keep them coming!

Reviewed commit: cdf3340738

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

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.

2 participants