fix: rename the Inbox feature toggle label to match the sidebar (#3673)

Co-authored-by: nova28 <17953305+nova28@users.noreply.github.com>
Co-authored-by: Carlos Florencio <carlosmflorencio@gmail.com>
This commit is contained in:
Henry
2026-09-15 17:31:45 +08:00
committed by GitHub
parent cc33b2a813
commit b2efea3892
5 changed files with 99 additions and 4 deletions
+13 -2
View File
@@ -6,6 +6,7 @@ requirements:
system_design:
- ../../specs/ui/system-design/needs-you-inbox-01.md
- ../../specs/ui/system-design/needs-you-inbox-02.md
- ../../specs/ui/system-design/needs-you-inbox-03.md
legacy_specs: []
---
@@ -18,7 +19,8 @@ bundle genuinely waiting on a human and lets the operator answer it without
leaving the page, per
[requirements](../../specs/ui/requirements/needs-you-inbox.md) and
[system design](../../specs/ui/system-design/needs-you-inbox-01.md) (part 2:
[control flow, failure, persistence, security](../../specs/ui/system-design/needs-you-inbox-02.md)).
[control flow, failure, persistence, security](../../specs/ui/system-design/needs-you-inbox-02.md);
part 3: [visual and copy contract](../../specs/ui/system-design/needs-you-inbox-03.md)).
This feature was built through Kandev's own spec-driven-development workflow
(5 spec-review rounds, 4 build rounds, security/test/code review, an
@@ -50,8 +52,9 @@ document's own "Out of scope" section for the full list.
## Work orders
- [x] [Task 01: Needs-you Inbox delivery](task-01-needs-you-inbox-delivery.md)
- [x] [Task 02: Inbox feature-toggle terminology](task-02-inbox-label-alignment.md)
Single work order; no dependents.
Task 02 depends on Task 01 and records the follow-up display-name alignment.
## Verification results
@@ -63,3 +66,11 @@ worktree); desktop and mobile E2E specs for the answer-in-place flow pass;
scripts/lint-spec-files.py --all` passes.
PR: https://github.com/kdlbs/kandev/pull/3641
## Task 02 results
The follow-up label alignment keeps the stable feature identity, configuration,
route, and runtime behavior unchanged. The runtime flag and public configuration
reference now use `Inbox`, matching the destination copy contract in Part 3.
Follow-up PR: https://github.com/kdlbs/kandev/pull/3673
@@ -0,0 +1,56 @@
---
id: "02-inbox-label-alignment"
title: "Align Inbox feature-toggle terminology"
status: done
wave: 2
depends_on:
- "01-needs-you-inbox-delivery"
plan: "plan.md"
requirements:
- REQ-UI-NEEDS-YOU-INBOX-001
acceptance_criteria:
- AC-UI-NEEDS-YOU-INBOX-001.1
system_design:
- ../../specs/ui/system-design/needs-you-inbox-03.md
---
# Task 02: Align Inbox feature-toggle terminology
## Summary
Align the runtime feature-toggle label and public configuration reference with
the Inbox destination name. Keep the runtime flag identity and behavior unchanged.
## Acceptance
- The Feature Toggles page shows `Inbox` for `features.needsYouInbox`.
- The label matches the Inbox destination copy contract outside the Office-mode
collision case described by D4.
- The key, environment variable, route, defaults, persistence, restart behavior,
and effective feature value remain unchanged.
- The public configuration reference uses `Inbox`.
- The registry test pins the display label and its existing metadata.
## Verification
- `go test -tags fts5 ./internal/runtimeflags/...` passed.
- `node --test .github/scripts/pr-docs.test.cjs` passed: 52 tests.
- The local documentation coverage evaluator reported `status: covered` with no
errors for the changed runtime file and this delivery package.
- `node --test scripts/validate-public-docs.test.mjs` passed: 62 tests.
- `node scripts/validate-public-docs.mjs` passed: 46 published docs pages.
- `git diff --check` passed.
## Files
- `apps/backend/internal/runtimeflags/registry.go`
- `apps/backend/internal/runtimeflags/registry_test.go`
- `docs/public/configuration.md`
## Results
The registry label is `Inbox`. The metadata test protects the label and stable
runtime-flag metadata. The public configuration reference matches the label.
No runtime behavior or route identity changed.
Follow-up PR: https://github.com/kdlbs/kandev/pull/3673
+1 -1
View File
@@ -508,7 +508,7 @@ Copying this entire file is unnecessary and can freeze old defaults in a deploym
| `features.multiTenancy` | `KANDEV_FEATURES_MULTI_TENANCY` | off | Experimental organizations above authenticated users. Requires `features.auth`; startup is refused otherwise. |
| `features.dynamicAgentRouting` | `KANDEV_FEATURES_DYNAMIC_AGENT_ROUTING` | off | Experimental dynamic profiles with ordered provider-error fallback. |
| `features.canvases` | `KANDEV_FEATURES_CANVASES` | off | Experimental agent-authored isolated web-app canvases for tasks and workspaces. High risk. |
| `features.needsYouInbox` | `KANDEV_FEATURES_NEEDS_YOU_INBOX` | off | Needs-you Inbox for clarification questions across tasks in the active workspace. |
| `features.needsYouInbox` | `KANDEV_FEATURES_NEEDS_YOU_INBOX` | off | Inbox for clarification questions across tasks in the active workspace. |
| `features.officeSessionIdentity` | `KANDEV_FEATURES_OFFICE_SESSION_IDENTITY` | on | Office participant sessions: each participant agent gets its own session per task. The live `(task_id, agent_profile_id)` pair is guarded in-transaction, not by a table-level index. Pre-existing duplicate rows are retained and resolved by selection. Two Kandev processes must not write the same SQLite file. |
| `features.agentSurvival` | `KANDEV_FEATURES_AGENT_SURVIVAL` | off | Experimental. Lets the `agentctl` control server and its running agents outlive a backend restart or upgrade, for the `local_pc` and worktree executors only. The restarted backend takes the surviving server over and reconnects to the sessions still running on it. **Unavailable on Windows**, where surviving the backend means giving up the Job Object that guarantees agent processes are cleaned up. |
| `debug.devMode` | `KANDEV_DEBUG_DEV_MODE` | off | High-risk diagnostic endpoints and ACP frame logging. |