Skip to content

Remove administrator asset copies and unused admin routes - #122

Merged
SaladDay merged 1 commit into
mainfrom
codex/remove-admin-copies
Sep 25, 2026
Merged

SaladDay merged 1 commit into
mainfrom
codex/remove-admin-copies

Conversation

@SaladDay

@SaladDay SaladDay commented Sep 25, 2026 •

Copy link
Copy Markdown
Collaborator

Remove administrator asset copying and the Core routes the Web no longer uses. This is part of the approved Core/Web boundary: /core/v1 serves only the Web console and operator scripts. The Web copy UI was removed in #116.

Change

  • Removed routes:

    • POST /core/v1/admin/copies, along with every administrator copy write path, its queries and generated code;
    • GET /core/v1/admin/startup-configuration;
    • GET /core/v1/admin/runtime-history/capabilities.

    The matching AdminClient methods and types are removed too, and so is the console allowlist entry.

  • History is kept: there is no migration and no table is dropped. admin_resource_owners still feeds the historical source: "admin_copy" provenance read. admin_asset_copies is kept only because tables are never dropped. Historical audit entries, including their result_ids, still list.

  • Audit helper: it no longer takes copy mappings. New rows record result_ids: [], and every remaining administrator write still commits its audit atomically.

  • Acceptance script: official_admin_management.py now runs its single real-model Turn on the source Project's own assets. The creation key is revoked while the Turn runs, and the replacement key completes the Turn and writes. Isolation is checked in both directions. Cleanup goes through the administrator route.

  • Unchanged: the public /v1 routes, including /v1/agents/core/startup-configuration, which a later batch removes. The public OpenAPI is unchanged.

Validation

  • Directed api, store and console tests, 609 client tests, and pnpm typecheck for the whole repo, including apps/web.
  • Real Core from the branch: the three removed routes return 404, and the acceptance script passes with run_model=false. The model Turn was not run for real, because no hosted Runtime was available; it compiles and imports under the pinned SDK.
  • Full make check (server mode) passed on 2f17fb3d. Playwright browser cases were skipped on the server (Chrome unavailable; user-approved skip).
  • An independent blind review by a fresh Claude subagent found one P1: acceptance-script cleanup used a revoked key. It also found one P2 (doc gaps) and P3 nits: dead code, wording, and narrowed acceptance checks. All were small, local fixes, verified by tests and the gate without a second review round.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

Drop POST /core/v1/admin/copies with its store write paths and copy-only
queries, and GET /core/v1/admin/startup-configuration and
/runtime-history/capabilities. The console allowlist no longer forwards them.
AdminClient loses copyResources, getRuntimeHistoryCapabilities,
retrieveStartupConfiguration and the AdminCopy* types.

Keep admin_resource_owners, which still reports source "admin_copy" for
earlier copies, and admin_asset_copies under the no-drop rule. Historical
copy audit entries keep their result_ids; new audit rows record none.
The public /v1 startup-configuration and capability routes are unchanged.

The admin acceptance script now runs its one real Turn on the source
Project's own assets, revokes the creation key while that Turn runs,
continues with a replacement key, and reads Session state for cleanup
through the administrator route.
@SaladDay
SaladDay merged commit 75bfdce into main Sep 25, 2026
2 of 3 checks passed
@SaladDay
SaladDay deleted the codex/remove-admin-copies branch October 7, 2026 06:38
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.

1 participant