Add OpenSpec change for Windows managed local admin account (#43488)#48725
Add OpenSpec change for Windows managed local admin account (#43488)#48725getvictor wants to merge 3 commits into
Conversation
Proposal, design, capability specs, tasks, and the verified engineering spec for creating a hidden _fleetadmin break-glass admin on Windows hosts during OOBE enrollment (fleetd-created, password escrowed to Fleet). Sub-issues #48720-#48724. Claude-Session: https://claude.ai/code/session_019zNzvuWwhFMiwBKojUnfdH
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
|
@coderabbitai review |
|
/review |
✅ Action performedReview finished.
|
WalkthroughThis change adds a new Changes
Sequence Diagram(s)No sequence diagram applicable; this change consists solely of metadata addition. Possibly related issues
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Pull request overview
Adds an OpenSpec planning change set for the “Windows: Create a local admin account” story (#43488), capturing the proposal, design decisions, requirements/scenarios, and an implementation task checklist (no production code changes).
Changes:
- Introduces a new OpenSpec change directory under
openspec/changes/windows-local-admin-account/with proposal/design/specs/tasks. - Documents three capability specs covering config/GitOps, Windows provisioning + escrow, and password access constraints.
- Adds a detailed engineering spec (with anchors, QA scenarios, and sub-issue breakdown) to guide implementation work in follow-on PRs.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| openspec/changes/windows-local-admin-account/.openspec.yaml | OpenSpec change metadata (schema + created date). |
| openspec/changes/windows-local-admin-account/design.md | Design decisions, goals/non-goals, risks, and migration plan for the Windows managed local admin account feature. |
| openspec/changes/windows-local-admin-account/engineering-spec.md | Detailed end-to-end engineering spec including flow diagram, API notes, and implementation guidance. |
| openspec/changes/windows-local-admin-account/proposal.md | High-level “why/what/impact” proposal for the feature and its capabilities. |
| openspec/changes/windows-local-admin-account/specs/managed-local-account-config/spec.md | Requirements/spec for per-platform managed local account enablement, aliasing, premium gating, and GitOps round-trip. |
| openspec/changes/windows-local-admin-account/specs/windows-managed-account-password-access/spec.md | Requirements/spec for Windows password retrieval, rotation constraints, and UI surfacing. |
| openspec/changes/windows-local-admin-account/specs/windows-managed-local-account-provisioning/spec.md | Requirements/spec for orbit notification gating, device-side account creation, escrow, crash-safety, and version skew behavior. |
| openspec/changes/windows-local-admin-account/tasks.md | Implementation checklist mapped to sub-issues #48720–#48724. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| #### Scenario: Legacy write reflects on the new surface | ||
| - **WHEN** a client sets `setup_experience.enable_managed_local_account: true` via `PATCH /setup_experience` | ||
| - **THEN** `GET /config` returns `true` for both `setup_experience.enable_managed_local_account` and `apple_settings.managed_local_account_settings.enabled` | ||
|
|
| ### Requirement: Rotation unavailable for Windows | ||
| `POST /api/v1/fleet/hosts/{id}/managed_account_password/rotate` SHALL reject Windows hosts with an error stating rotation is not available for Windows (rotation ships in #43489), and the rotation cron MUST never select Windows-shaped rows (NULL `command_uuid`, NULL `account_uuid`). | ||
|
|
Code Review by Qodo
1.
|
Escrow endpoint no longer rejects when the team setting was toggled off after the notification (prevents orphaning a created account with an unrecoverable password), verifies Windows eligibility via the MDM enrollment instead of host.Platform alone (empty during early OOBE), and the illustrative migration SQL matches the existing column charset. Claude-Session: https://claude.ai/code/session_019zNzvuWwhFMiwBKojUnfdH
Correct the host detail JSON path to mdm.os_settings.managed_local_account (managed_local_account lives on HostMDMOSSettings, not directly under mdm), harmonize the Windows-shaped row definition used by the rotation cron scenarios, and use full API paths consistently. Claude-Session: https://claude.ai/code/session_019zNzvuWwhFMiwBKojUnfdH
Related issue: #43488 (planning artifacts only, does not resolve the story)
Checklist for submitter
If some of the following don't apply, delete the relevant line.
changes/,orbit/changes/oree/fleetd-chrome/changes.See Changes files for more information. (Not applicable: OpenSpec planning documents only, no user-visible change.)
Details
Adds the OpenSpec change
openspec/changes/windows-local-admin-account/for the "Windows: Create a local admin account" story (#43488):proposal.md: why and what, with three new capabilities declareddesign.md: key decisions with alternatives (fleetd over Accounts CSP, device-side password generation with escrow-up, table reuse, deprecated fields as aliases), risks, migration planspecs/: requirement/scenario specs formanaged-local-account-config,windows-managed-local-account-provisioning, andwindows-managed-account-password-accesstasks.md: implementation checklist mapped to sub-issues Windows local admin account: managed_local_account_settings config surface and GitOps #48720 to Windows local admin account: documentation and engineering QA #48724engineering-spec.md: the full engineering spec with verified code anchors (copied into the change directory becauseai/is gitignored)No code changes. Implementation lands through the sub-issues.
https://claude.ai/code/session_019zNzvuWwhFMiwBKojUnfdH
Summary by CodeRabbit