Land admin password management and interpreter path fix pinned by Dev #211

Merged
weichen merged 4 commits from fix/execenv-python-sandbox-path into main 2026-10-18 09:36:56 +00:00
Owner

Land the admin password management and managed-interpreter path fix that Dev main already pins and runs.

Why:

  • Dev main pins modules/backend at b00e192 (Dev PR #606, deployed to 8788/ECS), but that commit only lives on fix/execenv-python-sandbox-path / feature/auth-one-time-password; Backend main never received it. Any Dev pin back to Backend main (next: U8 #210) would silently roll back admin password creation/reset.
  • No new code: the three commits were reviewed and verified in Dev task feature-auth-password-management and feature-execenv-python-sandbox-path (archived cards on Dev main).

What (relative to merge base ab12fea4):

  • b8b3493 Enable admin password creation and reset: POST /api/admin/users accepts an optional password or returns a generated initialPassword (Cache-Control: no-store); admin reset returns a random temporaryPassword with mustChangePassword; Store.CreateAdminPasswordAccount writes account, hash and audit in one transaction.
  • 5f65059 Clarify admin reset contract (tests).
  • b00e192 Execute the managed interpreter through its real path (env doctor resolves the symlink; same intent as #207 already on main, merges cleanly).

Evidence:

  • git merge-tree main+b00e192 and U8(7b379d2)+b00e192: no conflicts.
  • Host local verification (SELF) of the combined tree main+U8+this branch: GOWORK=off go build ./... && go vet ./... && go test -count=1 ./... all packages ok (pkg/identity TestDSNFileMode needs umask 022; local umask 0077 makes the 0644 fixture 0600 — environment-only, passes in CI).
  • Authoritative: this PR's CI.

Impact:

  • Backend main catches up with what Dev already runs; no behavior change for deployed Dev.

Refs:

  • Dev PR #606; Backend #210 (U8 r2, merges after this)
Land the admin password management and managed-interpreter path fix that Dev main already pins and runs. Why: - Dev main pins `modules/backend` at `b00e192` (Dev PR #606, deployed to 8788/ECS), but that commit only lives on `fix/execenv-python-sandbox-path` / `feature/auth-one-time-password`; Backend main never received it. Any Dev pin back to Backend main (next: U8 #210) would silently roll back admin password creation/reset. - No new code: the three commits were reviewed and verified in Dev task `feature-auth-password-management` and `feature-execenv-python-sandbox-path` (archived cards on Dev main). What (relative to merge base `ab12fea4`): - `b8b3493` Enable admin password creation and reset: `POST /api/admin/users` accepts an optional `password` or returns a generated `initialPassword` (`Cache-Control: no-store`); admin reset returns a random `temporaryPassword` with `mustChangePassword`; `Store.CreateAdminPasswordAccount` writes account, hash and audit in one transaction. - `5f65059` Clarify admin reset contract (tests). - `b00e192` Execute the managed interpreter through its real path (`env doctor` resolves the symlink; same intent as #207 already on main, merges cleanly). Evidence: - `git merge-tree` main+b00e192 and U8(7b379d2)+b00e192: no conflicts. - Host local verification (SELF) of the combined tree main+U8+this branch: `GOWORK=off go build ./... && go vet ./... && go test -count=1 ./...` all packages ok (`pkg/identity` TestDSNFileMode needs umask 022; local umask 0077 makes the 0644 fixture 0600 — environment-only, passes in CI). - Authoritative: this PR's CI. Impact: - Backend main catches up with what Dev already runs; no behavior change for deployed Dev. Refs: - Dev PR #606; Backend #210 (U8 r2, merges after this)
weichen added 3 commits 2026-10-18 09:35:19 +00:00
Execute the managed interpreter through its real path
ci / vet-and-test (pull_request) Successful in 1m6s
b00e192440
Why: the sandbox hides /home and only remounts the resolved Python prefix, so executing python/current/bin/python3 failed before the base layer could be imported.
Evidence: go test ./internal/tools/ -run TestResolveInterpreterFollowsManagedSymlink passed, and env doctor against the built base layer printed doctor ok (SELF).
Impact: run_python and env doctor follow the symlink into the mounted prefix or /usr/bin/python3. The layer and the prefix mount stay the same.
Refs: Agent-System-Backend PR 207
Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit 28544cfe5d)
weichen added 1 commit 2026-10-18 09:35:31 +00:00
Merge branch 'main' into fix/execenv-python-sandbox-path
governance / governance (pull_request) Successful in 17s
ci / vet-and-test (pull_request) Successful in 1m4s
78ae39702d
weichen merged commit a670d2b246 into main 2026-10-18 09:36:56 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: weichen/Agent-System-Backend#211