Skip to content

docs: clarify managed backend defaults#2426

Merged
senamakel merged 1 commit into
tinyhumansai:mainfrom
sunilkumarvalmiki:codex/2422-readme-backend-clarity
May 23, 2026
Merged

docs: clarify managed backend defaults#2426
senamakel merged 1 commit into
tinyhumansai:mainfrom
sunilkumarvalmiki:codex/2422-readme-backend-clarity

Conversation

@sunilkumarvalmiki
Copy link
Copy Markdown
Contributor

@sunilkumarvalmiki sunilkumarvalmiki commented May 21, 2026

Summary

  • Clarifies the README headline and early-beta note so local storage and managed services are visible before onboarding.
  • Updates the integrations/model-routing README bullets to state when OAuth, tool calls, search, and model routing use OpenHuman-hosted paths by default.
  • Adds a GitBook onboarding warning that separates local Memory Tree/vault/runtime state from hosted sign-in, routing, and managed Composio flows.
  • Tightens English onboarding/backend copy so the default path no longer implies a fully local-only or no-data-to-backend posture.

Problem

Issue #2422 points out that current public copy can read as more local-only than the product defaults actually are. On current main, the README leads with private/simple positioning while later default flows use hosted sign-in, model routing, search proxying, and managed Composio OAuth/tool calls. The onboarding copy also said OpenHuman could manage everything or that no personal data/messages/keys are sent to servers, which is too broad for the managed backend path.

Solution

This PR keeps the current default product model, but makes the boundary explicit:

  • Local by default for Memory Tree, Markdown vault, workspace config, and local runtime state.
  • Managed by default for account sign-in, model routing/proxying, web search proxying, and Composio-backed OAuth/tool calls.
  • Custom/local setup remains available for users who bring their own model, search, or Composio credentials, with hosted features/triggers called out as still requiring backend infrastructure.

No runtime behavior changes are included.

Submission Checklist

  • N/A: Tests added or updated ? documentation and copy clarification only; existing i18n/onboarding tests were run.
  • N/A: Diff coverage >= 80% ? no executable logic changed; focused tests and typecheck were run instead.
  • N/A: Coverage matrix updated ? documentation/copy-only change.
  • N/A: Affected feature IDs listed ? no coverage matrix feature row changed.
  • No new external network dependencies introduced.
  • N/A: Manual smoke checklist updated ? no release-cut behavior changed.
  • N/A: Linked issue closed via Closes #NNN ? I don't want to shit on your parade but please read the README.md and comment #2422 has broader audit/remediation asks; this PR addresses the README/onboarding clarity slice only.

Impact

Documentation and English UI copy only. The user-visible effect is clearer expectation-setting during README review and onboarding/settings screens. No desktop, core, Tauri, CLI, API, performance, migration, or compatibility behavior changes.

Related

Validation Run

  • pnpm i18n:check
  • pnpm --dir app exec vitest run --config test/vitest.config.ts src/lib/i18n/__tests__/coverage.test.ts src/lib/i18n/__tests__/I18nContext.test.tsx src/pages/onboarding/__tests__/OnboardingLayout.test.tsx src/pages/onboarding/pages/__tests__/ContextPage.test.tsx ? 4 files / 53 tests passed
  • pnpm typecheck
  • app/node_modules/.bin/prettier.CMD --check src/lib/i18n/en.ts src/lib/i18n/chunks/en-1.ts src/lib/i18n/chunks/en-3.ts
  • git diff HEAD --check

Validation Blocked

  • command: git push fork HEAD:refs/heads/codex/2422-readme-backend-clarity without --no-verify
  • error: pre-push hook runs broader repository checks; cargo check --manifest-path app/src-tauri/Cargo.toml failed because app/src-tauri/vendor/tauri-cef/crates/tauri/Cargo.toml is missing in this worktree, and lint:commands-tokens fails on existing command-token guard output outside this diff.
  • impact: unrelated to this docs/copy change; branch was pushed with --no-verify after the focused validation above passed.

Behavior Changes

  • Intended behavior change: none.
  • User-visible effect: clearer managed-backend and local-state wording in README, GitBook onboarding, and English onboarding/settings copy.

Summary by CodeRabbit

  • Documentation
    • Clarified “Upfront” messaging: what is stored locally (memory, Markdown vault, workspace config, runtime state) versus default managed services (sign-in, model routing, OAuth/tool calls, web search proxying).
    • Revised onboarding/runtime copy and feature bullets (Simple vs Run Custom), including optional local AI support and “under one subscription” model-routing phrasing.
    • Noted that some voice, OAuth, and search flows may route data via hosted brokers and updated cloud privacy guidance.

Review Change Stack

@sunilkumarvalmiki sunilkumarvalmiki requested a review from a team May 21, 2026 08:28
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 21, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5ed5e79a-47db-412d-bde1-2346703fb6ea

📥 Commits

Reviewing files that changed from the base of the PR and between 1cdb854 and a14fd17.

📒 Files selected for processing (5)
  • README.md
  • app/src/lib/i18n/chunks/en-1.ts
  • app/src/lib/i18n/chunks/en-3.ts
  • app/src/lib/i18n/en.ts
  • gitbooks/overview/getting-started.md
✅ Files skipped from review due to trivial changes (3)
  • gitbooks/overview/getting-started.md
  • README.md
  • app/src/lib/i18n/en.ts

📝 Walkthrough

Walkthrough

Updates to marketing, onboarding i18n, backend copy, and docs to state which components run locally (memory, vault, workspace state, runtime) and which default to managed services (sign‑in, model routing, web search proxying, Composio/OAuth).

Changes

Local vs. Managed Service Transparency

Layer / File(s) Summary
Public marketing messaging
README.md
Headline/tagline replaced; new "Local + managed services, upfront" copy and adjusted feature bullets explaining on-device Memory Tree/Markdown vault/workspace state and default managed backend responsibilities (sign-in, model routing, search proxying, Composio/OAuth).
Onboarding runtime selection and configuration UI
app/src/lib/i18n/chunks/en-1.ts, app/src/lib/i18n/en.ts
Reworded runtime-choice step (Simple vs Run Custom) and updated Custom step defaults for Inference, Voice (managed STT/TTS note), OAuth/Connections (Composio brokerage), and Web Search (managed proxy/key note).
Backend settings transparency copy
app/src/lib/i18n/chunks/en-3.ts, app/src/lib/i18n/en.ts
Replaced cloud backend description and privacy note to state models are routed through the backend and that prompts/selected context may be sent to the configured backend/provider; advises local mode for supported on-device workloads.
Getting started documentation
gitbooks/overview/getting-started.md
Added a warning callout clarifying which components run locally (Memory Tree, vault, workspace config, runtime state) vs. which default to OpenHuman-hosted services, and referenced custom credential/setup paths where applicable.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • senamakel

Poem

🐰 A rabbit's note on what's in sight
Local vaults keep memories tight,
Managed roads bring helpers near,
Labels clear so choices appear.
Hooray — the paths are plain and bright!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: clarify managed backend defaults' accurately and concisely summarizes the main objective of the pull request—updating documentation to clarify which features are managed-by-default versus local-by-default.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (4)
gitbooks/overview/getting-started.md (1)

38-40: 💤 Low value

Consider breaking the long final sentence for readability.

The warning hint is excellent transparency messaging, but the last sentence is complex. Consider splitting it:

"Use the custom setup paths if you want to bring your own model, search, or Composio credentials. Note that some hosted features and real-time integration triggers still require the managed backend."

This preserves all the information while making it easier to parse.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@gitbooks/overview/getting-started.md` around lines 38 - 40, The final
sentence inside the warning hint is long and hard to parse; split it into two
sentences as suggested so it's clearer: in the {% hint style="warning" %} block
update the long sentence that begins "Use the custom setup paths if you want to
bring your own model, search, or Composio credentials; some hosted features and
real-time integration triggers still require the managed backend." into two
sentences (e.g., "Use the custom setup paths if you want to bring your own
model, search, or Composio credentials. Note that some hosted features and
real-time integration triggers still require the managed backend.") so the
content is easier to read while preserving the same meaning.
app/src/lib/i18n/chunks/en-1.ts (1)

255-260: 💤 Low value

Optional: Strengthen line 259 by removing passive voice.

Current: "Can keep supported workloads on your machine"
Suggested: "Keep supported workloads on your machine"

The modal "Can" weakens the benefit statement. Since this is describing what the custom mode enables, the active voice is clearer and more direct.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@app/src/lib/i18n/chunks/en-1.ts` around lines 255 - 260, Update the
localization entry for onboarding.runtimeChoice.custom.f3 to use active voice by
replacing "Can keep supported workloads on your machine" with "Keep supported
workloads on your machine"; locate the string in en-1.ts under the
onboarding.runtimeChoice.custom keys and change the value for
onboarding.runtimeChoice.custom.f3 accordingly so the modal copy is more direct.
README.md (2)

71-71: 💤 Low value

Consider simplifying this sentence for readability.

The sentence is technically accurate but quite long. Consider breaking it into two sentences for easier scanning:

"Managed integrations use OpenHuman's Composio connector layer. OAuth handshakes and integration tool calls are proxied through the managed backend by default."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 71, The sentence starting "Managed integrations are
backend-proxied through OpenHuman's Composio connector layer, so OAuth
handshakes and integration tool calls use the managed backend path by
default..." is too long and should be split for readability; replace it with two
sentences such as "Managed integrations use OpenHuman's Composio connector
layer. OAuth handshakes and integration tool calls are proxied through the
managed backend by default." and then leave the following clause about
configuring direct mode with your own Composio API key and hosting webhooks
unchanged.

75-75: 💤 Low value

Optional: Clarify "under one subscription" phrasing.

The phrase "choose and proxy the right LLM (reasoning, fast, or vision) under one subscription" mixes technical routing details with billing/subscription messaging. Consider separating these concerns:

"By default, model routing uses the OpenHuman backend to select and proxy the right LLM for each workload (reasoning, fast, or vision). One subscription includes all models."

This makes the technical function and the billing benefit distinct.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 75, Split the combined technical-and-billing sentence
about model routing into two clear sentences: update the README's "model
routing" sentence to state that the OpenHuman backend selects and proxies the
appropriate LLM for each workload (reasoning, fast, or vision), and add a
separate sentence clarifying that one subscription includes access to all
models; edit the existing paragraph where the phrase "choose and proxy the right
LLM (reasoning, fast, or vision) under one subscription" appears to implement
this separation.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@app/src/lib/i18n/chunks/en-1.ts`:
- Around line 255-260: Update the localization entry for
onboarding.runtimeChoice.custom.f3 to use active voice by replacing "Can keep
supported workloads on your machine" with "Keep supported workloads on your
machine"; locate the string in en-1.ts under the onboarding.runtimeChoice.custom
keys and change the value for onboarding.runtimeChoice.custom.f3 accordingly so
the modal copy is more direct.

In `@gitbooks/overview/getting-started.md`:
- Around line 38-40: The final sentence inside the warning hint is long and hard
to parse; split it into two sentences as suggested so it's clearer: in the {%
hint style="warning" %} block update the long sentence that begins "Use the
custom setup paths if you want to bring your own model, search, or Composio
credentials; some hosted features and real-time integration triggers still
require the managed backend." into two sentences (e.g., "Use the custom setup
paths if you want to bring your own model, search, or Composio credentials. Note
that some hosted features and real-time integration triggers still require the
managed backend.") so the content is easier to read while preserving the same
meaning.

In `@README.md`:
- Line 71: The sentence starting "Managed integrations are backend-proxied
through OpenHuman's Composio connector layer, so OAuth handshakes and
integration tool calls use the managed backend path by default..." is too long
and should be split for readability; replace it with two sentences such as
"Managed integrations use OpenHuman's Composio connector layer. OAuth handshakes
and integration tool calls are proxied through the managed backend by default."
and then leave the following clause about configuring direct mode with your own
Composio API key and hosting webhooks unchanged.
- Line 75: Split the combined technical-and-billing sentence about model routing
into two clear sentences: update the README's "model routing" sentence to state
that the OpenHuman backend selects and proxies the appropriate LLM for each
workload (reasoning, fast, or vision), and add a separate sentence clarifying
that one subscription includes access to all models; edit the existing paragraph
where the phrase "choose and proxy the right LLM (reasoning, fast, or vision)
under one subscription" appears to implement this separation.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d48c0cc8-485d-4b24-ab94-063ded091037

📥 Commits

Reviewing files that changed from the base of the PR and between bf6f25e and 61f0f6d.

📒 Files selected for processing (5)
  • README.md
  • app/src/lib/i18n/chunks/en-1.ts
  • app/src/lib/i18n/chunks/en-3.ts
  • app/src/lib/i18n/en.ts
  • gitbooks/overview/getting-started.md

coderabbitai[bot]
coderabbitai Bot previously approved these changes May 21, 2026
@senamakel senamakel merged commit 1a852cd into tinyhumansai:main May 23, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

working A PR that is being worked on by the team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants