Skip to content

Update a namespace natively, as published PHP does - #551

Merged
rmcdaniel merged 4 commits into
mainfrom
rust-325-namespace-update
Oct 20, 2026
Merged

rmcdaniel merged 4 commits into
mainfrom
rust-325-namespace-update

Conversation

@rmcdaniel

Copy link
Copy Markdown
Member

Part of #325: namespace update, which the CLI uses and native lacked.

What changes

Native serves PUT /api/namespaces/{name} for admins, as published PHP's NamespaceController::update does:

  • a description replaces the stored one only when one is given;
  • retention follows PHP's rules:
    • a forever namespace that becomes bounded needs retention_days;
    • forever refuses days;
    • bounded refuses null days;
    • days run from 1 to 365;
  • a missing namespace is 404 namespace_not_found.

Native still has no retention pass, so the stored retention is not enforced yet.

Evidence

  • Parity probe. The namespace-isolation probe now updates its first namespace through the published SDK, after every other observation, and then tries to update a missing namespace. The contract checks both: only the description and retention change, updated_at advances, and the missing namespace gets PHP's exact refusal.
  • Local parity. In a local copy of the SQLite parity step, published PHP 2.5.14, embedded PHP and native passed, and the comparison passed.
  • Native test. namespace_updates_follow_published_retention_rules covers the retention rules.
  • Main merged. The branch includes current main (9c10bd0eb). The merged tree passed the SQLite execution suite.

🤖 Generated with Claude Code

durable-workflow-ops and others added 4 commits October 20, 2026 16:51
Native serves PUT /api/namespaces/{name} with PHP's description and
retention rules and its missing-namespace refusal. The namespace
isolation fixture now updates a namespace through the published SDK.

Part of #325.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rmcdaniel

Copy link
Copy Markdown
Member Author

94e396616 merges main (870eb3be3: #545 database TLS and #556 Python trust bundles), which changes no native code. This PR's parity run 39474587481 passed all 13 jobs on 8989535fb. I cancelled the duplicate run for the merge. The merge still needs PHPUnit and Sonar.

@rmcdaniel
rmcdaniel enabled auto-merge October 20, 2026 21:35
@sonarqubecloud

Copy link
Copy Markdown

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.

2 participants