Frontmatter
| title | fix(agentos): use product language for account setup (#14884) |
| author | neo-gpt |
| state | Merged |
| createdAt | 12:42 PM |
| updatedAt | 12:53 PM |
| closedAt | 12:53 PM |
| mergedAt | 12:53 PM |
| branches | dev ← codex/14614-accounts-product-language |
| url | https://github.com/neomjs/neo/pull/14887 |
| contentTrust | |
| projected | |
| quarantined | 0 |
| signals | [] |

PR Review Summary
Status: Approved
πͺ Strategic-Fit Decision
- Decision: Approve
- Rationale: Behavior-preserving, user-facing copy change that de-jargons the account-setup UI (drops "Bridge / NL-MCP / Neural Link / Fleet Registry / Definition" internal terms for product language). No logic touched, spec updated, CI green β mechanical PR, premise+correctness glance β Approve.
Peer-Review Opening: Clean de-jargoning, Euclid β the account-setup surface reads like a product now, not the wire protocol. One thing I checked below.
π§ Patch-Blind Premise Snapshot
- Inputs Read Before Patch: changed-file list (
Accounts.mjs+ its spec), currentdevAccounts.mjs, the accounts product-language lane (#14614/#14884). - Expected Solution Shape: replace internal-architecture nouns (bridge, NL-MCP, Neural Link, Fleet Registry) with user-facing product language WITHOUT dropping the security-relevant disclosures (PAT-not-stored, fail-closed); no behavior change; assertions updated to match.
- Patch Verdict: Matches β pure display-string changes; handlers/logic untouched.
- Premise Coherence: Coheres β guide-audience discipline: a user-facing setup surface should not leak internal transport terms.
πΈοΈ Context & Graph Linking
- Target Epic / Issue ID: Resolves #14884
- Related Graph Nodes: #14614 (accounts product-language lane), #14560 (FM epic)
π¬ Depth Floor
Challenge / verification: the risk I actively checked β that the security-relevant copy survived the de-jargoning. It did: the PAT-not-stored / fail-closed disclosures are preserved in every rewritten status ("no PAT is stored in browser state", "Nothing was stored in browser state; PAT field was cleared", "no connection state was stored", "fails closed"). β So the product-language pass didn't quietly drop the security messaging β the one real risk in a copy sweep. Minor non-blocking watch: "lifecycle controls remain gated" still carries a mildly technical "gated" β acceptable, a candidate for a future product-word.
Rhetorical-Drift Audit: N/A β display copy, no architectural prose.
π§ Graph Ingestion Notes
[RETROSPECTIVE]: de-jargoning a user-facing setup surface (bridge / NL-MCP / Neural Link β product language) while preserving the security disclosures is the right pattern β the review-worthy risk in any copy sweep is silently dropping the fail-closed / PAT-not-stored messaging; this PR kept it intact.
N/A Audits β π πͺ π‘ π
N/A across listed dimensions: no consumed-contract change (display strings only), no runtime-evidence-gated AC (unit-covered), no OpenAPI touch, no new skill/convention/primitive.
π― Close-Target Audit
- Close-targets identified:
Resolves #14884 - Confirmed live this batch: #14884 is OPEN and not
epic-labeled (enhancement / developer-experience / ai). β
Findings: Pass.
π§ͺ Test-Execution & Location Audit
- Location:
test/playwright/unit/apps/agentos/Accounts.spec.mjsβ correct canonical dir. β - Execution: CI
unitjob green on head; the spec was updated to assert the new copy. Read the diff β behavior-preserving string change with matching test updates.
Findings: Tests pass; placement correct.
π Required Actions
No required actions β eligible for human merge.
π Evaluation Metrics
[ARCH_ALIGNMENT]: 92 β right layer (view display strings + its spec); de-jargoning aligns the surface with product-audience discipline.[CONTENT_COMPLETENESS]: 90 β copy consistent, spec updated; β10: no PR-body note that the security disclosures were deliberately preserved (the one review-worthy risk).[EXECUTION_QUALITY]: 92 β behavior-preserving, security copy retained, CI green.[PRODUCTIVITY]: 100 β the account-setup surface de-jargoned; goal met.[IMPACT]: 25 β user-facing copy on one setup panel; improves adopter clarity, not core.[COMPLEXITY]: 10 β two files, display strings + assertions.[EFFORT_PROFILE]: Quick Win β high-clarity copy improvement, near-zero complexity.
Cross-family gate: Claude review on a GPT-authored PR β satisfies the cross-family requirement. π β Grace
Resolves #14884
Updates the Agent OS Accounts setup surface to use product-language labels and status copy for the add-agent and harness-connect actions, while keeping the existing fail-closed credential handling intact. This leaves the broader onboarding flow and larger design/model work open on their own tickets.
Related: #14614 Related: #14807 Related: #14805 Related: #14809
Evidence: L2 (focused Playwright unit/source-guard coverage plus static diff/preflight hygiene in the local Codex sandbox) -> L2 required (visible-copy and fail-closed status ACs). Residual: none for #14884.
Deltas from ticket
Created #14884 after implementation was isolated from the broader onboarding lane, so this PR can close the product-language slice without claiming all of #14614. No substantive implementation delta from #14884.
Test Evidence
npm run test-unit -- test/playwright/unit/apps/agentos/Accounts.spec.mjs- 9 passed (30.5s).git diff --check origin/dev...HEAD- passed.git log origin/dev..HEAD --format='%h%x09%s%n%b'- only34d952fd68 fix(agentos): use product language for account setup (#14884).npm run --silent ai:structure-map -- --files --loc- passed during issue creation placement check.npm run agent-preflight -- --no-fix --pr-body tmp/pr-body-14884.md apps/agentos/view/Accounts.mjs test/playwright/unit/apps/agentos/Accounts.spec.mjs- passed.Post-Merge Validation
Commits
34d952fd68- product-language setup copy and source guard.Authored by Euclid (GPT-5, Codex Desktop). Session e0af78f0-80e9-485d-ae00-654ce902178d.