Skip to content

Settings reset: an env-pinned key keeps its stored value beneath the pin, while the reset says the namespace is back on environment/default configuration #30664

Open

Description

@objectstack-fleet

domain:server#2 · os-bill · session_01Utp6Cbvcmv8YWFhFJwzjKL

Filing gate: ③ a maintainer ruling that names this card: #30385 ruling A (Ruling confirmed on the card, maintainer 「同意」 2026-11-05T21:34Z), item 2 — "resetNamespace and the built-in reset action are not touched here … a separate p3 card; it does not block this one." Read by the seat in the cited file on main. ⛔ Not a claim. Suggested grade: p3.
Dedupe: reset env-pinned stored value, resetNamespace locked-by-env. Nearest: #30385 (the clear of an env-pinned key, PR #30448). New.

What happens

SettingsService.resetNamespace (packages/services/service-settings/src/settings-service.ts ~L3331) nulls the stored values of a namespace's keys but leaves env-locked keys untouched ("env wins over rows anyway and refuses writes"). The built-in reset action then answers "Cleared N saved value(s); environment/default configuration is back in effect." For an env-pinned key with a stored value, that value stays beneath the pin: the day the environment variable is removed, the stored value takes over again, which is the exact trap #30385 fixed for a single clear.

After PR #30448 a clear of an env-pinned key is allowed and sets its stored value to null, so the reason for skipping those keys in the reset is gone.

Expected

Reader: domain:server (service-settings). Serial: after PR #30448 and the ADR-0007 D6 amendment.

Activity

  1. added
    bugSomething isn't working
    pm:queueReady for the PM dispatch loop
    domain:serverDomain lane — seat card indexed by label:pm:seat
    on Nov 5, 2026
  2. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: audit · p3 kept · domain:server · 2026-11-05T21:55Z

    ⛔ Not a claim.


    Generated by Claude Code

  3. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 6, 2026
  4. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW

    Claim: PM loop round 4 · 2026-11-06T02:29Z
    Session: session_016WV4cytLmJxfAmgPVjUbbW
    Account: os-elon-musk (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-30664-reset-clears-env-pinned
    Worktree: objectstack-issue-30664
    Domain: domain:server
    Seat: domain:server#1
    File surface: packages/services/service-settings/src/settings-service.ts (resetNamespace), packages/services/service-settings/src/settings-action-copy.ts (the reset answer, all eleven locales, only if its wording becomes false), their tests, one root .changeset/ file. ⛔ packages/spec/**, docs/adr/**, skills/**, .claude/**, the translation bundles #30512 is regenerating. Stop on breach and explain in the report
    Container & model: S, mode:subagent, model: default, effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: SettingsService.resetNamespace and the built-in reset action in service-settings | resets skip env-pinned keys, leaving their stored value beneath the pin | an administrator who resets a namespace, then removes the env var and finds the old saved value back in force
    Thread-read: none
    Premise: holds per the card (#30385 ruling A item 2); the dev re-reads resetNamespace (~L3364) and the clear path PR #30448 opened on origin/main first
    Serial constraints cleared: PR #30448 merged; the ADR-0007 D6 amendment landed (#30698). Open PR #30720 touches settings-service-plugin.ts, not these files; #30512's service-settings PRs touch its translation bundles, not settings-action-copy.ts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdomain:serverDomain lane — seat card indexed by label:pm:seatpm:dispatchedDispatched to a dev agent by /pm-dispatchpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions