Skip to content

test(mla): #110-B Review-Minors aus dem Follow-up-Pool (#110) - #114

Merged
Toqsick merged 3 commits into
mainfrom
night/pool-b
Oct 1, 2026
Merged

Toqsick merged 3 commits into
mainfrom
night/pool-b

Conversation

@Toqsick

@Toqsick Toqsick commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Basis-SHA: 506eb88 (main) · Branch: night/pool-b · 2 Commits · 6 Dateien, +82/−12

Pool-Position B aus Issue #110 (Review-Minors aus dem Task-6-Review der MLA-Next-Kette). Umgesetzt im Nachtlauf 2026-09-30 (Queue-Automation, Worktree-isoliert), hier veröffentlicht. Reine Test-/Doku-/Naming-Fixes an der la_core-Parser- und Runner-Grenze.

Was drin ist

  1. README-Zeilenref-Drift — Paritäts-Tabelle nachgezogen (linux_system.dart :22→:26, :13-14→:13-15, :53→:57), Bug-Notiz-Ref :11→:13-15; zusätzlich „TLD-Allowlist"→„TLD-Flag-Liste" und die stale .ai-Raster-Aussage korrigiert (.ai ist seit 643da93 geflaggt; Beispiel jetzt .store).
  2. count≤0-Kante — Entscheidung PIN — neuer Test count 0 or negative yields every entry, not an empty list pinnt count=0 und −1 → alle Einträge. Mutationsbeleg gefahren (Mutante count<=0 → empty failt).
  3. Spawn-Test Fall 6 — voller Fehlervertrag statt isNotEmpty: output isEmpty (Runner hardcodet "" auf dem ProcessException-Pfad) + error contains "No such file or directory".
  4. Spawn-Test 8 — exakte Präfixkette PATH=$parentPath statt startsWith("PATH=/").
  5. ALLOWED_TLDS → FLAGGED_TLDS — Rename (Definition + einzige Usage), Kommentar dokumentiert den Misnomer; README-Prosa an 2 Stellen mitgezogen.

Gates — tatsächlich ausgeführt (2026-09-30, auf 64ba632)

Gate Ausgabe
bash tool/check-versions.sh version 0.8.0 is consistent
Root dart format --output=none --set-exit-if-changed lib test Formatted 123 files (0 changed)
flutter analyze No issues found!
la_core dart format / dart analyze / dart test 24 files (0 changed) · No issues found! · +62: All tests passed!
flutter test +208: All tests passed!
additional/python unittest discover Ran 53 tests / OK

Keine roten Gates. Nicht ausgeführt: build-deb.sh (kein Packaging-Bezug, CI baut im PR), manuelle Gate-0-Checks (Basti).

Review

Dual-Review (2 parallele Subagenten) auf dem Branch-Diff: A (Korrektheit) NEEDS_FIXES — 2 Minors (Parser-Doccomment dokumentierte die count-Kante nicht; VERIFY.md:354 stale .ai-Gegenwartsform) → gefixt in 3b1aaaf. B (Vollständigkeit/Spec) READY_FOR_PR — alle 5 Checkboxen erfüllt, Scope exakt 4 Dateien, Gates eigenständig grün. Re-Review A: beide Minors gefixt ⇒ gesamt READY_FOR_PR.

Bewusst offen

README:137 :19-Ref (vorbestehend, außerhalb des B-Buchstabens) — als Minor notiert.

Rückfallplan

git revert 64ba632 3b1aaaf genügt — 2 Test-Dateien, 1 README, 1 Python-Test, 1 Parser-Doccomment, 1 VERIFY-Zeile. Kein Produktionscode außer dem Doccomment, keine Unit, kein Packaging, polkit-Trinität unberührt.

Kein Merge ohne gesonderte Freigabe.

🤖 Generated with Claude Code

…-Asserts, FLAGGED_TLDS

- test/fixtures/README.md: Paritäts-Tabelle auf linux_system.dart:26/:13-15/:57
  nachgezogen (Drift aus dem #94-Task-5-Fix), Bug-Notiz-Ref :11→:13-15,
  TLD-Allowlist→TLD-Flag-Liste umbenannt und die stale .ai-Raster-Aussage
  korrigiert (.ai ist seit 643da93 in der Liste; Beispiel jetzt .store).
- parsePsOutput count≤0-Kante als Test gepinnt (Verhalten: alle Einträge,
  kein Produktions-Caller); Mutationsbeleg: count<=0→empty schlägt fehl.
- Spawn-Test Fall 6: voller Fehler-Vertrag gepinnt (output isEmpty + error
  enthält die OS-Lookup-Meldung, toolchain-gemessen 'No such file or
  directory' statt isNotEmpty-Blob).
- Spawn-Test 8: exakte Präfixkette statt startsWith("PATH=/") — der
  Kind-Prozess sieht exakt den Parent-PATH.
- ALLOWED_TLDS→FLAGGED_TLDS (Misnomer, #110-B): Liste ist die
  Flag-Liste des Detektionsmusters, keine Allowlist.

Gates (night/pool-b @ 506eb88): check-versions ok; dart format 123/0
(Flutter-Dart 3.13.4); flutter analyze 0; la_core format 24/0 + analyze 0
+ test +62; flutter test +208; python 53/53. Snap-dart format-Drift-Befund
(111 changed) war Binärpfad-Artefakt, dokumentiert im Handoff.
- F1 (Reviewer A): Parser-Doccomment um die count≤0-Kante ergänzt —
  'A count of 0 or less disables the limit: every valid entry is
  returned.' Der Test-Kommentar-Bezug ('documented in the parser's doc
  comment') ist damit wahr; vorher dokumentierte der Doc nur positive
  counts und widersprach der Kante milde.
- F2 (Reviewer A): VERIFY.md:354 stale .ai-Aussage in Vergangenheitsform
  korrigiert ('seit 643da93 in der Flag-Liste') — Gegenwart-Form war seit
  Task 3 des Follow-up-PRs falsch.
- Handoff #110-B-Sektion in VERIFY.md (Status, Umsetzung je Checkbox,
  Reviewer-Verdicts A NEEDS_FIXES→fixed / B READY_FOR_PR, Gatetabelle,
  Rückfallplan, Grenzen).

Verdict gesamt: READY_FOR_PR (A Minors gefixt, B ohne Blocker).
Copilot AI balanced review requested due to automatic review settings October 1, 2026 15:54

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

The exact PATH test uses unquoted shell expansion, making it fail for valid PATH values containing whitespace or glob characters.

Review effort: Balanced
Findings: 1 Medium severity

Open (1)
What changed in this PR

Implements Issue #110 pool item B with parser/runner tests and documentation corrections.

Changes:

  • Pins parsePsOutput behavior for non-positive counts.
  • Strengthens process-runner assertions.
  • Renames the TLD detection constant and updates documentation.
File Description
test/​process_command_runner_test.dart Strengthens process failure and PATH assertions.
test/​fixtures/​README.md Corrects references and TLD terminology.
packages/​la_core/​test/​parsers_test.dart Tests non-positive count behavior.
packages/​la_core/​lib/​src/​parsers/​process.dart Documents count semantics.
docs/​mla-next/​VERIFY.md Records implementation and verification details.
additional/​python/​tests/​test_fixture_leak_check.py Renames the TLD detection constant.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.


expect(result.success, isTrue);
expect(result.output.trim(), startsWith("PATH=/"));
expect(result.output.trim(), "PATH=$parentPath");
@Toqsick
Toqsick merged commit 0ca532b into main Oct 1, 2026
1 check passed
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.

2 participants