Skip to content

Z4-ARCH-D1-REST: development-plan error statuses into the shared classifier - #663

Merged
mergify[bot] merged 1 commit into
mainfrom
claude/z4-arch-d1-rest-error-status
Oct 8, 2026
Merged

mergify[bot] merged 1 commit into
mainfrom
claude/z4-arch-d1-rest-error-status

Conversation

@Cuarroc

@Cuarroc Cuarroc commented Oct 8, 2026 •

Copy link
Copy Markdown
Owner

Der Fehlertext-Klassifikator für die Entwicklungsplan-Routen steht jetzt im gemeinsamen error_status in api.rs (neue Variante StatusPolicy::Plan); die lokale Funktion in development_plan_access.rs ist 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::Plan mit den bisherigen Mustern (404/409/422/400, sonst 500); plan_response nutzt error_status(&reason, StatusPolicy::Plan); StatusPolicy und error_status sind pub(crate), damit der Zugriffstest in development_plan_access.rs sie nutzen kann. Neuer Test error_status_plan_policy_pins_every_development_plan_reason.
  • src-tauri/src/development_plan_access.rs: pub fn error_status und 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_CLASSIFIER zählt err.starts_with/contains in api.rs. Die 18 verschobenen Muster sind dieselben Zeilen wie zuvor in development_plan_access.rs, nur jetzt im überwachten gemeinsamen Klassifikator; es entsteht kein neues Muster. Sie stehen deshalb in architecture-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=1
  • bash scripts/ci/gates.sh lane prepush (Worktree, HEAD c8f2b8f) → Exit 0
  • Red-first: Test-First: src-tauri/src/api.rs::api::tests::error_status_plan_policy_pins_every_development_plan_reason; an der Merge-Base rot, weil StatusPolicy::Plan dort nicht existiert (Kompilierfehler).
  • Diff: 106 Einfügungen, 76 Löschungen.

NICHT ABGEDECKT

  • #[cfg(windows)]-Tests und die Windows-Arme von clippy (Linux-Lauf); die Windows-Bahn läuft in der Merge-Queue.
  • Browser-Smoke und Frontend-Build (Bahn linux, nicht prepush).
  • Zustand externer Dienste.

Review (Stufe A, Kandidat c8f2b8f)

ID Quelle Schwere Befund Disposition
— OpenAI (Codex GPT-6, Server) R1 — keine blockierenden Befunde approve @c8f2b8f
R663-G1 Google (Gemini 3.1 Pro, Server) R1 high 18 neue ERROR_TEXT_CLASSIFIER-Allowlist-Einträge (scripts/ci/architecture-drift.allow, src-tauri/src/api.rs) R2: WITHDRAWN. Die 18 Bedingungen stehen schon in development_plan_access.rs::error_status auf der Merge-Basis a167486; die PR verschiebt sie nur. Root hat das selbst geprüft: Die normalisierte Menge der alten starts_with/contains-Literale ist gleich der Menge der neuen Allowlist-Einträge, 18 = 18 (diff Exit 0).
R663-G1-FU Google R2 Folgearbeit Getypte Fehler-Vokabel (ERR_UNKNOWN/ERR_REFUSED, Regel 5) ist das bessere Ziel Follow-up-Paket, blockiert diese PR nicht

Ergebnis: OpenAI approve + Google approve (R2) am Head c8f2b8f. Root-Abnahme 2026-10-08 16:23Z.

🤖 Generated with Claude Code on the ProjectA server worker

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>
@Cuarroc
Cuarroc marked this pull request as ready for review October 8, 2026 16:22
@Cuarroc Cuarroc added the review-ok Pipeline: review disposition complete, no open high finding label Oct 8, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 8, 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-08T16:25:21.832582Z c8f2b8f 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: 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".

Comment thread src-tauri/src/api.rs
/// the table.
#[derive(Clone, Copy)]
enum StatusPolicy {
pub(crate) enum StatusPolicy {

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

@mergify

mergify Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Merge Queue Status

This pull request spent 19 minutes 4 seconds in the queue, including 15 minutes 58 seconds running CI.

Reason

The merge conditions cannot be satisfied due to failing checks

  • gates (windows)
  • gates (linux)
  • gates (windows)
  • red-first
  • Mergify Merge Protections

Failing checks:

Hint

You may have to fix your CI before adding the pull request to the queue again.
If you update this pull request, to fix the CI, it will automatically be requeued once the queue conditions match again.
If you think this was a flaky issue instead, you can requeue the pull request, without updating it, by posting a @mergifyio queue comment.

Waiting for
  • check-success = gates (windows)
  • any of: [🛡 GitHub repository ruleset rule main-pr-required-checks]
    • check-neutral = @github-actions/gates (windows)
    • check-skipped = @github-actions/gates (windows)
    • check-success = @github-actions/gates (windows)
All conditions
  • check-success = gates (windows)
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-neutral = @github-actions/gates (windows)
    • check-skipped = @github-actions/gates (windows)
    • check-success = @github-actions/gates (windows)
  • check-success = gates (linux)
  • check-success = red-first
  • github-review-approved [🛡 GitHub repository ruleset rule main-pr-required-checks]
  • label != do-not-merge
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-success = @github-actions/gates (linux)
    • check-neutral = @github-actions/gates (linux)
    • check-skipped = @github-actions/gates (linux)
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-success = @github-actions/red-first
    • check-neutral = @github-actions/red-first
    • check-skipped = @github-actions/red-first
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-neutral = @mergify/Mergify Merge Protections
    • check-skipped = @mergify/Mergify Merge Protections
    • check-success = @mergify/Mergify Merge Protections

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

@mergify mergify Bot added dequeued and removed queued labels Oct 8, 2026
@Cuarroc

Cuarroc commented Oct 8, 2026

Copy link
Copy Markdown
Owner Author

Requeue (Root, 19:23Z): the queue batch failed only on the Windows timing test store::development_capture::managed_tests::real_native_completed_receipt_survives_sqlite_writer_within_busy_timeout (native_managed_tests.rs:195/202, 'native host did not complete cleanly'). That is the known flake class of KNOWN_ISSUES.md:113 (sibling test, same message). Runs 37810056116 / 37814405700. Other queue batches passed in the same window. This PR does not touch the native capture.

@Mergifyio queue

@Cuarroc

Cuarroc commented Oct 8, 2026

Copy link
Copy Markdown
Owner Author

@Mergifyio requeue

@mergify mergify Bot added the queued label Oct 8, 2026
@mergify mergify Bot removed the dequeued label Oct 8, 2026
@mergify
mergify Bot merged commit 915f08b into main Oct 8, 2026
17 checks passed
@mergify

mergify Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

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

@mergify
mergify Bot deleted the claude/z4-arch-d1-rest-error-status branch October 8, 2026 20:56
@mergify mergify Bot removed the queued label Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review-ok Pipeline: review disposition complete, no open high finding

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant