From 57352f24665732b5ed5bcf2476a1a998f8adc113 Mon Sep 17 00:00:00 2001 From: AI Issue Solver Date: Fri, 26 Jun 2026 00:35:55 +0200 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20L=C3=B6se=20Issue=20#446=20=E2=80=94?= =?UTF-8?q?=20Update=20README=20for=20current=20solver=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Automatisch gelöst mit AI Issue Solver (Modell: openrouter_direct) Issue: https://github.com/SaJaToGu/ai-issue-solver/issues/446 --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 588ab95..28f2706 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,10 @@ ist als wiederverwendbarer Codex-Skill unter verfügbar und kann vom Solver über `--auto-model` oder von eigenen Tools über `helpers/recommend_model.sh` aufgerufen werden. +**Sicherheit:** Um Fehler zu vermeiden, führen partielle Patch-Anwendungen +oder Fehler bei Reject-Artefakten zu einem sofortigen Abbruch (Hard-Stop) +und erstellen keine Pull Requests. + **Run-Reports auswerten:** Die von Schritt 3 erzeugten Run-Reports, Provider-Scorecards und OpenCode-Diagnosen werden durch [`.agents/skills/solver-reporting/`](.agents/skills/solver-reporting/SKILL.md) @@ -165,12 +169,12 @@ Die erste Workflow-Runde ist abgeschlossen: Analyse, Backlog-Issues, KI-Bearbeitung, PR-Erstellung, CI und Tests laufen. Als nächstes soll der Morpheus-Style Workflow komfortabler werden: -- mehrere Issues parallel mit begrenzter Worker-Zahl lösen -- laufende Jobs, PRs und Fehler in einer lokalen Übersicht anzeigen +- mehrere Issues parallel mit begrenzter Worker-Zahl lösen (teilweise implementiert) +- laufende Jobs, PRs und Fehler in einer lokalen Übersicht anzeigen (Dashboard) - offene PRs und Issues nach einem Lauf automatisch zusammenfassen -- gemergte AI-PRs nach dem Review sicher bereinigen +- gemergte AI-PRs nach dem Review sicher bereinigen (post_merge_cleanup.py) -Der geplante Backlog dafür liegt in [docs/BACKLOG/open.md](docs/BACKLOG/open.md). +Die verbleibenden Backlog-Items befinden sich in [docs/BACKLOG/open.md](docs/BACKLOG/open.md). --- From 83e414ada13b471a402bcd12584d9027aacbbc64 Mon Sep 17 00:00:00 2001 From: MiniMax Date: Fri, 26 Jun 2026 01:11:33 +0200 Subject: [PATCH 2/3] docs(readme): extend #446 fix with dynamic-discovery + recently-removed-patterns guards MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Extends PR #447 (liquid/lfm-2.5-1.2b-instruct:free initial fix that hard-stopped cleanly after §57+§60, but covered only partial scope of Issue #446). User reviewed and asked for two missing points: 1. **OpenCode Free Models (dynamisch)**: new block in README that explains scripts/model_catalog.py as the live source of truth for free-model discovery (with cache + static fallback, 'missing' / 'stale' classification, --verify-opencode and --list-opencode-free-models CLI paths). 2. **Recently-Removed-Patterns-Guard**: new block that explains the docs/AGENTS.md 'Recently Removed Patterns' table the solve prompt now consults before re-introducing a recently-removed pattern. Lists the two current entries (static free_models removed by PR #439; $20/$20 cost-cap defaults replaced by $15/$50 + staggered warnings in PR #437). Notes that the guard is 'soft' (worker explains in the PR body if needed) and that maintainers update the table in every removal PR. PR #447 also kept its earlier additions (Hard-Stop-Sicherheit absatz + Backlog-Status-Update). Closes #446 (now full scope). --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 28f2706..e0525ef 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,28 @@ Tools über `helpers/recommend_model.sh` aufgerufen werden. oder Fehler bei Reject-Artefakten zu einem sofortigen Abbruch (Hard-Stop) und erstellen keine Pull Requests. +**OpenCode Free Models (dynamisch):** Die Liste der freien OpenCode-Modelle +wird nicht mehr statisch im Code gepflegt. Stattdessen lädt +[`scripts/model_catalog.py`](scripts/model_catalog.py) den Live-Stand von +`~/.opencode/bin/opencode models` (mit Cache und statischem Fallback), +klassifiziert Kandidaten anhand von `-free`-Suffix und expliziten +Allow-Listen wie `opencode/big-pickle`, und meldet veraltete bzw. +nicht mehr verfügbare Slugs als `missing` oder `stale`. Die Solver-Hilfen +`--verify-opencode`, `--list-opencode-free-models` und das Reviewer-Prompt +verwenden denselben Mechanismus. + +**Recently-Removed-Patterns-Guard:** Damit der Solver nicht versehentlich +ein Pattern re-introduziert, das in einem kürzlich gemergten PR explizit +entfernt wurde, liest der Solve-Prompt die Maintainer-Tabelle in +[`docs/AGENTS.md`](docs/AGENTS.md) (Abschnitt „Recently Removed Patterns"). +Aktuelle Einträge sind z.B. die statische `free_models`-Liste (entfernt +in PR #439, ersetzt durch dynamische Discovery) und der Hart-Cost-Cap +`$20/$20` (ersetzt durch `$15/$50` plus abgestufte Budget-Ratio-Warnungen +in PR #437). Der Guard ist **soft**: er weist den Solver an, das Pattern +im PR-Body zu erklären, falls er es für notwendig hält, statt es +stillschweigend wieder einzubauen. Maintainer pflegen die Tabelle in +jedem PR, der absichtlich ein Pattern entfernt. + **Run-Reports auswerten:** Die von Schritt 3 erzeugten Run-Reports, Provider-Scorecards und OpenCode-Diagnosen werden durch [`.agents/skills/solver-reporting/`](.agents/skills/solver-reporting/SKILL.md) From 3ad749a8da2aa49b130e2652a82f71e6e0856b66 Mon Sep 17 00:00:00 2001 From: MiniMax Date: Fri, 26 Jun 2026 06:40:15 +0200 Subject: [PATCH 3/3] docs(readme): drop inaccurate 'Reviewer-Prompt uses model_catalog'-claim MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User live-review feedback on PR #447 (2026-06-26, second pass): the README block 'OpenCode Free Models (dynamisch)' claimed that the Reviewer-Prompt also uses the model_catalog.py mechanism. Code review shows scripts/review_pr.py does NOT consult model_catalog.py — it loads reviewer prompt files and does role-routing only. The claim was incorrect / overstated. Fix: scope the statement to the solver helpers that do use model_catalog.py ('--verify-opencode', '--list-opencode-free-models'). The reviewer path is unrelated and does not need a static model list, but also does not actively consult the dynamic discovery. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e0525ef..3f2fe9c 100644 --- a/README.md +++ b/README.md @@ -58,8 +58,8 @@ wird nicht mehr statisch im Code gepflegt. Stattdessen lädt klassifiziert Kandidaten anhand von `-free`-Suffix und expliziten Allow-Listen wie `opencode/big-pickle`, und meldet veraltete bzw. nicht mehr verfügbare Slugs als `missing` oder `stale`. Die Solver-Hilfen -`--verify-opencode`, `--list-opencode-free-models` und das Reviewer-Prompt -verwenden denselben Mechanismus. +`--verify-opencode` und `--list-opencode-free-models` verwenden denselben +Mechanismus. **Recently-Removed-Patterns-Guard:** Damit der Solver nicht versehentlich ein Pattern re-introduziert, das in einem kürzlich gemergten PR explizit