Repository navigation
Z4-ARCH-D1-REST: development-plan error statuses into the shared classifier - #663
Conversation
Add StatusPolicy::Plan to api.rs error_status and delete the local development_plan_access::error_status. Status codes per reason are unchanged; the old table test moves to api.rs and also pins the 400s. The 18 moved patterns are added to architecture-drift.allow: they are the same classifier lines, now inside the scanned shared classifier. Test-First: src-tauri/src/api.rs::api::tests::error_status_plan_policy_pins_every_development_plan_reason Co-Authored-By: Claude <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: c8f2b8fafa
ℹ️ 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".
| /// the table. | ||
| #[derive(Clone, Copy)] | ||
| enum StatusPolicy { | ||
| pub(crate) enum StatusPolicy { |
There was a problem hiding this comment.
Add a recognized red-first trailer
When this exact commit is checked against its parent, BASE_SHA=a167486 HEAD_SHA=9c66043 bash scripts/ci/red-first.sh --plan exits 1 because the message only embeds Test-First: ... inside a - Red-first: bullet; the gate recognizes only a line beginning with Test-First:, Regression-For:, or No-Test:. Add the test reference as a standalone trailer so this source-changing commit can pass the mandatory red-first gate.
AGENTS.md reference: AGENTS.md:L213-L216
Useful? React with 👍 / 👎.
Merge Queue Status
This pull request spent 19 minutes 4 seconds in the queue, including 15 minutes 58 seconds running CI. ReasonThe merge conditions cannot be satisfied due to failing checks
Failing checks: HintYou may have to fix your CI before adding the pull request to the queue again. Waiting for
All conditions
Requeued — the merge queue status continues in this comment ↓. |
|
Requeue (Root, 19:23Z): the queue batch failed only on the Windows timing test @Mergifyio queue |
|
@Mergifyio requeue |
Merge Queue Status
This pull request spent 14 minutes 6 seconds in the queue, including 13 minutes 42 seconds running CI. Required conditions to merge
|
Der Fehlertext-Klassifikator für die Entwicklungsplan-Routen steht jetzt im gemeinsamen
error_statusinapi.rs(neue VarianteStatusPolicy::Plan); die lokale Funktion indevelopment_plan_access.rsist gelöscht. Die HTTP-Status je Fehlergrund bleiben identisch, der bisherige Tabellentest ist in die gemeinsame Pin-Tabelle gewandert und prüft jetzt zusätzlich die 400er. ARCH-D1 als Ganzes bleibt offen; dieses Paket erledigt nur den vierten Klassifikator.Report
Was geändert
src-tauri/src/api.rs:StatusPolicy::Planmit den bisherigen Mustern (404/409/422/400, sonst 500);plan_responsenutzterror_status(&reason, StatusPolicy::Plan);StatusPolicyunderror_statussindpub(crate), damit der Zugriffstest indevelopment_plan_access.rssie nutzen kann. Neuer Testerror_status_plan_policy_pins_every_development_plan_reason.src-tauri/src/development_plan_access.rs:pub fn error_statusund der lokale Tabellentest entfernt; die beiden Aufrufe im Zugriffstest laufen über den gemeinsamen Klassifikator.scripts/ci/architecture-drift.allow: 18 Zeilen (siehe unten).Architecture drift: Das Gate
ERROR_TEXT_CLASSIFIERzählterr.starts_with/containsinapi.rs. Die 18 verschobenen Muster sind dieselben Zeilen wie zuvor indevelopment_plan_access.rs, nur jetzt im überwachten gemeinsamen Klassifikator; es entsteht kein neues Muster. Sie stehen deshalb inarchitecture-drift.allow. Das ist eine Reviewfrage für den Gate-Eigentümer (keine stille Freigabe).Belege
rg -n "fn error_status" src-tauri/src/development_plan_access.rs→ 0 Treffer (Exit 1 = keine Treffer)cargo test --bin projecta error_status→ Exit 0 (2 passed)cargo test --bin projecta development_plan→ Exit 0 (26 passed)bash scripts/ci/red-first.sh --plan→ Exit 0, count=1, specs=1bash scripts/ci/gates.sh lane prepush(Worktree, HEAD c8f2b8f) → Exit 0Test-First: src-tauri/src/api.rs::api::tests::error_status_plan_policy_pins_every_development_plan_reason; an der Merge-Base rot, weilStatusPolicy::Plandort nicht existiert (Kompilierfehler).NICHT ABGEDECKT
#[cfg(windows)]-Tests und die Windows-Arme von clippy (Linux-Lauf); die Windows-Bahn läuft in der Merge-Queue.linux, nichtprepush).Review (Stufe A, Kandidat
c8f2b8f)ERROR_TEXT_CLASSIFIER-Allowlist-Einträge (scripts/ci/architecture-drift.allow,src-tauri/src/api.rs)development_plan_access.rs::error_statusauf der Merge-Basisa167486; die PR verschiebt sie nur. Root hat das selbst geprüft: Die normalisierte Menge der altenstarts_with/contains-Literale ist gleich der Menge der neuen Allowlist-Einträge, 18 = 18 (diffExit 0).ERR_UNKNOWN/ERR_REFUSED, Regel 5) ist das bessere ZielErgebnis: OpenAI approve + Google approve (R2) am Head
c8f2b8f. Root-Abnahme 2026-10-08 16:23Z.🤖 Generated with Claude Code on the ProjectA server worker