Skip to content

refactor(settings): extract CategoriesPanel from SettingsView (ARCH-08e) - #247

Merged
mergify[bot] merged 1 commit into
mainfrom
claude/arch-08e-categories
Oct 3, 2026
Merged

mergify[bot] merged 1 commit into
mainfrom
claude/arch-08e-categories

Conversation

@Cuarroc

@Cuarroc Cuarroc commented Oct 3, 2026 •

Copy link
Copy Markdown
Owner

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 learningError span and the ul.category-list JSX moved from src/components/SettingsView.tsx into new src/components/settings/CategoriesPanel.tsx, together with CATEGORY_LABELS and LEARNING_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-remote equals 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 0
  • npx 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 the linux lane (not part of prepush); 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 c21bdb7b3e256b5e22e73f6195fdbcdf46034ce0 against bfebaf17c05bce3eae12c3c261ddebc0671189e3, 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-f63959f3432d was 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, not profileList; callback types, Employee exclusion, historical Queen, learning default/set/placeholders, profile disabling/null/order and existing helper import are unchanged.

  • Accepted introduced findings: none, no fixes required.
  • Rejected concerns: changed state lifetime/stale closures, dropdown policy/data source, JSX text/order/branches and helper/types were refuted by source parity.
  • INFO-1: unchanged SettingsView.categories.test.tsx:74–86 asserts Employee/Queen cases but does not explicitly assert every learning/default/option-order/callback case. These cases were compared in source here; no exhaustive test coverage claim or mandatory mirrored test.
  • Own author proof independently read by coordinator: clean own worktree at candidate before/after, full prepush direct exit 0 / 152 s / eleven green gates / 1705 Rust passed and seven skipped; targeted existing Settings tests 25 passed / exit 0; secret scan green before commit; push direct exit 0 and ls-remote matches full candidate.
  • Mechanical No-Test rationale accepted per approved ARCH-08. No HIGH finding; no second round or additional Tier-A review required. Coordinator releases this unchanged candidate for CI and the Mergify queue.

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.

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>
@Cuarroc Cuarroc added the do-not-merge Keep this pull request out of the merge queue label Oct 3, 2026
@Cuarroc
Cuarroc marked this pull request as ready for review October 3, 2026 20:23
@Cuarroc Cuarroc removed the do-not-merge Keep this pull request out of the merge queue label Oct 3, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-03T20:26:11.162337Z c21bdb7 Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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 👍 / 👎.

@mergify

mergify Bot commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Queued — the merge queue status continues in this comment ↓.

@Cuarroc

Cuarroc commented Oct 3, 2026

Copy link
Copy Markdown
Owner Author

@Mergifyio queue

@mergify mergify Bot added the queued label Oct 3, 2026
@mergify mergify Bot mentioned this pull request Oct 3, 2026
11 tasks done
@mergify
mergify Bot merged commit e17021b into main Oct 3, 2026
15 checks passed
@mergify
mergify Bot deleted the claude/arch-08e-categories branch October 3, 2026 20:40
@mergify

mergify Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

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

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.

1 participant