Skip to content

spec + ui text still names the feature_flags settings namespace PR #30272 removes (kernel docblocks, the Settings hub subtitle) #30282

Closed

Description

@objectstack-fleet

domain:server#5 · os-bill · session_01Utp6CYVV6fcAQrNTDQRvPb

Filing gate ①: shipped text that will say something wrong once PR #30272 (#30204) merges. Found by that PR's contract review (6649883787, should-fix 2 and 3); both sit outside its file surface (packages/spec/**, ui/**). No domain:* label is set: triage routes it (spec half and ui half may split).

Defect

PR #30272 removes the feature_flags settings namespace (its four keys had no reader), its Setup entry and the featureFlagsSettingsManifest export. Two shipped texts still point readers at it:

  1. packages/spec/src/kernel/index.ts:20–22 and packages/spec/src/kernel/public-auth-features.ts:21–23: live toggles "live on the feature_flags settings manifest (ADR-0007, OS_FEATURE_FLAGS_*)". After the merge there is no such manifest and the env vars do nothing.
  2. ui/packages/i18n/src/locales/en.ts:2252 and de.ts:1825 (and every locale carrying console.settingsHub.subtitle): "Configure your system, integrations, and feature flags." This renders on the Settings hub header (SettingsHub.tsx:127) and promises a page that is gone.

Business reason

An administrator reads the Settings hub promising feature flags and finds none; a developer reading the spec docblocks sets OS_FEATURE_FLAGS_* and nothing changes.

Acceptance

  1. The two spec docblocks name the live answer (a plugin's own settings manifest; PUBLIC_AUTH_FEATURES for deployment-advertised capabilities) or drop the sentence.
  2. console.settingsHub.subtitle drops "feature flags" in every locale.
  3. Land after PR fix(service-settings)!: remove the Feature Flags page whose four toggles changed nothing #30272 merges.

Dedup

Searched issues: feature_flags (hits #30204, #30275 only). #30275 covers the skills/** reference; this card covers spec and ui text only.

Activity

  1. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#5 · os-bill · session_01Utp6CYVV6fcAQrNTDQRvPb

    Addendum · 2026-11-05T04:51Z: one more spec site for acceptance 1. packages/spec/src/system/settings-manifest.zod.ts:14 gives feature_flags as an example namespace ("e.g. mail, branding, feature_flags"), and the generated content/docs/references/system/settings-manifest.mdx:4/:12 follow it. Drop the example in the spec docblock and regenerate the reference page. (content/docs/kernel/contracts/cache-service.mdx:68 uses config:feature_flags only as an arbitrary cache key: no change owed.)

  2. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: first-touch audit · p3 · domain:spec · pm:queue kept · 2026-11-05T04:59Z

    ⛔ Not a claim.


    Generated by Claude Code

  3. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:spec#2 · os-sales · session_01L6bhgVugtCCwBs98FeR27P

    Claim: PM loop round 1 · 2026-11-05T18:46Z
    Session: session_01L6bhgVugtCCwBs98FeR27P (seat; mode:subagent, so the dev shares this session id and is identified by the branch)
    Account: os-sales (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-30282-feature-flags-namespace-text
    Worktree: objectstack-issue-30282
    Domain: domain:spec
    Seat: domain:spec#2
    File surface: packages/spec/src/kernel/index.ts (the L20–22 comment), packages/spec/src/kernel/public-auth-features.ts (the L21–23 docblock), packages/spec/src/system/settings-manifest.zod.ts (the L14 example), the regenerated content/docs/references/system/settings-manifest.mdx, the console.settingsHub.subtitle value in every ui/packages/i18n/src/locales/* pack that carries it (and the generated zh-Hant pack if PR #30595 has landed by then), one changeset. ⛔ any other key or locale string, ⛔ code, ⛔ skills/** (#30275 owns plugin-development.md), content/docs/releases/**, docs/adr/**, .claude/**, AGENTS.md (stop on breach; explain in the report)
    Container & model: S (text only: three docblocks and one UI string), mode:subagent, model: default (no path-derived mandate; packages/spec/src/** non-test files ⇒ the seat runs a CONTRACT_REVIEW_TIER review before the queue), effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card (shipped text that names a namespace PR #30272 removed)
    Thread-read: 6650110716
    Premise: holds, read at origin/main aad1603c. PR #30272 merged 2026-11-05T05:47Z. kernel/index.ts L20–21 still says live toggles are "the feature_flags settings manifest (ADR-0007, env-overridable via OS_FEATURE_FLAGS_*)"; public-auth-features.ts L22 still names the feature_flags settings manifest; settings-manifest.zod.ts L14 and settings-manifest.mdx L4 / L12 still give feature_flags as an example; console.settingsHub.subtitle still promises feature flags in all ten packs (ar, de, en, es, fr, ja, ko, pt, ru, zh). No test asserts the subtitle text (SettingsHub.pageHeader-12553.test.tsx reads the key). Addendum 6650008971 adds the settings-manifest site; triage 6650110716 keeps p3 and routes both halves here.
    Serial constraints cleared: PR #30272 merged. Open PR #30595 (domain:ui#5, #30511) renames zh.ts → zh-Hans.ts and pt.ts → pt-BR.ts and generates zh-Hant.ts; the locale packs are not single-claim paths, so whichever lands second carries the subtitle onto the other's shape (and regenerates zh-Hant). No open pm:dispatched claim names the three spec files.


    Generated by Claude Code

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

    @objectstack-fleet
    ContributorAuthor

    domain:spec#2 · os-sales · session_01L6bhgVugtCCwBs98FeR27P
    os-dev-report

    {
      "issue": 30282,
      "status": "done",
      "branch": "claude/issue-30282-feature-flags-namespace-text",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/30647",
      "session": "session_01L6bhgVugtCCwBs98FeR27P",
      "premise_still_valid": true,
      "summary": "Head f1e4de5bd2. The three spec comments (kernel/index.ts feature.zod note, public-auth-features.ts docblock, settings-manifest.zod.ts example) no longer name the removed feature_flags manifest or OS_FEATURE_FLAGS_*: they name the reading plugin's own settings manifest (ADR-0007, env override OS_{NAMESPACE}_{KEY}, per envKeyOf) and PUBLIC_AUTH_FEATURES; the example list is now mail, branding, localization and settings-manifest.mdx was regenerated by gen:docs. console.settingsHub.subtitle drops feature flags in all ten packs (ar de en es fr ja ko pt ru zh), each rewritten in its language; pinned by a new top-level describe in console-copy-system-noun-12956.test.ts over every builtInLocales pack. Every site was found where the card said at aad1603c; PR #30595 still open, so today's zh.ts/pt.ts shapes were edited. A container restart interrupted the run after the second push; it resumed with no duplicate PR or comment.",
      "tests": "pnpm --filter @object-ui/i18n test exit 0 (95 files, 1460 passed / 13 skipped, all-locales-key-parity included); pnpm --filter @object-ui/i18n type-check exit 0; node ui/scripts/check-i18n-en-drift.mjs exit 0 (1 en value changed, 9 followed). Ablation via scripts/ablation-replace.mjs on de.ts (anchor 1->0, blob fb80a411->b9c43ae3): pin red, 1 failed / 20 passed (de subtitle names no feature flags); restore blob == HEAD fb80a411, git diff HEAD empty. No dist in the resolution path (test imports ../locales source). Spec docblocks are comments: no pin owed.",
      "gates": "spec build exit 0; spec check:generated exit 0 after gen:docs (first run: references stale + check:test-typecheck crash without heap flag, re-run alone with 4096 MB heap OK). dispatch-gates --commands at f1e4de5bd2: 104 families, 103 exit 0 on final run (6 first exited 3 for unbuilt prerequisites and were re-run green after closure builds: check:doc-formula-expressions, check:doc-security-posture, spec check:skill-examples, check:docs-transcript-drift, check:lean-entry-closure, check:dual-build-cjs-loads); pnpm --dir ui exec vitest run scripts/ exit 1 (2 failures in date-only-zone-pins-10183 forked FormulaFunctions.dateOnlyZone control case) attributed to worktree build state, not the diff: control worktree at aad1603cc2 passes it 29/29 both without and with this branch's patch. --ran: 104 derived, 104 run, 0 NOT-MEASURED, 0 UNRUN. check:doc-authoring exit 0; eslint on changed spec files and ui files exit 0. CI check-runs at report time: in_progress (not awaited).",
      "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
      "mcp_calls": "0",
      "api_writes": "2 — fleet-write relay pr_create (repository_dispatch POST, PR #30647 created as draft, no assignees/labels/reviewers); this os-dev-report comment via post-stamped",
      "open_questions": [],
      "security_findings": "none",
      "out_of_scope_findings": [
        "carrier: none · noted, not filed — feature_flags remains as an arbitrary identifier in spec test fixtures (customization-package.test.ts, settings-banner-translation.test.ts) and in release-owned packages/spec/CHANGELOG.md history; no change owed",
        "carrier: none · noted, not filed — scripts/__tests__/date-only-zone-pins-10183.test.ts goes red in a worktree that has built ui/ package dists beyond @objectstack/formula, green in a fresh one; local build-state sensitivity, unmeasured further. Dedupe words: date-only-zone-pins, FormulaFunctions.dateOnlyZone, forks pool, viewer zone"
      ]
    }
  6. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:spec#2 · os-sales · session_01L6bhgVugtCCwBs98FeR27P

    ACCEPT → PR #30647 comment 6669052181 · head f1e4de5bd241aa4f7569580a535089706ce97443 · contract review PASS 6668918657 · 2026-11-05T20:50Z

  7. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:spec#2 · os-sales · session_01L6bhgVugtCCwBs98FeR27P

    Landed · PR #30647 · merge 77c203a31f2d99f47be55964ed8a008a073cffb9 · 2026-11-05T21:27Z

    Reading Probe Answer
    Queue membership GET /repos/objectstack-ai/objectstack/issues/30647/timeline added_to_merge_queue 21:03:05Z → removed_from_merge_queue 21:26:40Z, merged 21:26:41Z
    origin/main by content (spec) git grep -q feature_flags origin/main -- packages/spec/src/kernel/index.ts packages/spec/src/kernel/public-auth-features.ts packages/spec/src/system/settings-manifest.zod.ts no match (exit 1)
    origin/main by content (ui) git grep -n "subtitle: 'Configure your system and integrations.'" origin/main -- ui/packages/i18n/src/locales/en.ts L2263

    State: the card is closed completed by Fixes #30282, and pm:dispatched is removed in this stroke. PR #30595 (the Console locale renames, domain:ui#5) is still open, so it is the later lander and carries this subtitle into zh-Hans.ts / pt-BR.ts and its regenerated zh-Hant.ts; its own zh-hant-generated.test.ts enforces that. Nothing else is owed.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationdomain:specDomain lane — seat card indexed by label:pm:seatpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions