Repository navigation
refactor(settings): extract CategoriesPanel from SettingsView (ARCH-08e) - #247
Conversation
Move the learningError span and the category list JSX into settings/CategoriesPanel.tsx together with CATEGORY_LABELS and LEARNING_CATEGORIES, which only this JSX used. State, hooks and the category/learning handlers stay in SettingsView and arrive as props. No-Test: pure view extraction with unchanged DOM and handler arguments; the existing SettingsView integration tests cover the category list. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c21bdb7b3e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| import GeneralTab from "./settings/GeneralTab"; | ||
| import MasterPromptTab from "./settings/MasterPromptTab"; | ||
| import UpdatesTab from "./settings/UpdatesTab"; | ||
| import CategoriesPanel from "./settings/CategoriesPanel"; |
There was a problem hiding this comment.
Füge einen gültigen No-Test-Trailer hinzu
Für diesen Commit schlägt BASE_SHA=bfebaf1 HEAD_SHA=2f70dbc bash scripts/ci/red-first.sh --plan reproduzierbar mit Exit 1 fehl, weil die Commit-Nachricht nur die Markdown-Zeile **No-Test:** ... enthält; das Gate akzeptiert ausschließlich eine Zeile, die unmittelbar mit No-Test: (oder einem der anderen zulässigen Trailer) beginnt. Damit können weder der verpflichtende Prepush-Lauf noch der erforderliche red-first-Check grün werden; ergänze einen echten Klartext-Trailer wie No-Test: pure view extraction.
AGENTS.md reference: AGENTS.md:L155-L158
Useful? React with 👍 / 👎.
|
Queued — the merge queue status continues in this comment ↓. |
|
@Mergifyio queue |
Merge Queue Status
This pull request spent 10 minutes 36 seconds in the queue, including 10 minutes 21 seconds running CI. Required conditions to merge
|
Dieser PR verschiebt nur die Liste der Agent-Kategorien aus der Einstellungsansicht in eine eigene Datei. Der Quellvergleich zeigt unveränderte Inhalte und Aufrufe; die Oberfläche wurde nicht visuell geprüft. Der eigene Prüflauf und das unabhängige Review sind abgeschlossen.
Report
What changed (ARCH-08e, mechanical split of ARCH-08): the
learningErrorspan and theul.category-listJSX moved fromsrc/components/SettingsView.tsxinto newsrc/components/settings/CategoriesPanel.tsx, together withCATEGORY_LABELSandLEARNING_CATEGORIES(only that JSX used them). Props:categories,profiles,learning,learningError,handleCategoryChange,handleToggleLearning. State, hooks and handlers stay in the parent. Adds.pa/task_arch08e.md. Diff: 3 files, +152/-94 (246 lines).Evidence (HEAD c21bdb7, clean tree, pushed;
git ls-remoteequals HEAD):bash scripts/ci/gates.sh lane prepush→ exit 0, run in this worktree at that HEAD (log kept on the build server, header shows HEAD c21bdb7)npx tsc --noEmit→ exit 0npx vitest run src/components/SettingsView→ exit 0 (25 tests passed)No-Test: pure view extraction, DOM and handler arguments unchanged; covered by the existing Settings integration tests.
NICHT ABGEDECKT:
#[cfg(windows)]tests and the Windows lane (runs in the merge queue); GUI/visual check and browser smoke; frontend build and workflow gates of thelinuxlane (not part ofprepush); external services. Source equivalence only, no runtime claim. Dependency graph tooling was not available; scouting was by exact source inspection.Review: independent Tier-B review accepted for this unchanged candidate; see disposition below.
Review disposition — Tier B, round 1 (coordinator)
Bound to
c21bdb7b3e256b5e22e73f6195fdbcdf46034ce0againstbfebaf17c05bce3eae12c3c261ddebc0671189e3, accepted by the coordinator 2026-10-03 22:22 CEST. No source changed after this review.Independent reviewer: OpenAI Codex GPT-6.1 Sol, medium, actual native turn_context 20:13:33.579Z / ChatGPT subscription, different model vendor from the Claude Sonnet author. Complete report in task
f77911e8-4141-4fdf-ac0e-f63959f3432dwas read: APPROVE, no introduced defect. Git diff/show/diff-check commands exit 0; complete 246-line patch and full parent/panel blobs inspected.The base category JSX (SettingsView:866–939) matches CategoriesPanel:49–122 after removing only leading indentation. Both constants match exactly. Reversing the authorized import/constant/JSX moves reconstructs the complete base parent, preserving all state/handlers, profiles, budgets and updater safety logic. Six props use
profiles, notprofileList; callback types, Employee exclusion, historical Queen, learning default/set/placeholders, profile disabling/null/order and existing helper import are unchanged.NICHT ABGEDECKT: review is source only; no reviewer tests/builds/gates/browser/GUI/runtime or screenshots. Graph project/generation/coverage unknown. Author prepush covers Linux only. Real Windows-specific validation awaits the merge-queue lane; PR Windows success is a stub. Full Linux browser smoke/frontend build/workflow gates and external services were not proved by local prepush. Source parity does not establish observed appearance or runtime behavior.