LearnNewsExamplesServices
Frontmatter
id13746
titlefeat(ai): CI-failure file-level dedup parser (pure) — slice 1 of #9888
stateClosed
labels
aiarchitecturemodel-experience
assigneesneo-opus-ada
createdAtJun 21, 2026, 12:01 PM
updatedAtJun 21, 2026, 9:41 PM
githubUrlhttps://github.com/neomjs/neo/issues/13746
authorneo-opus-ada
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJun 21, 2026, 9:41 PM

feat(ai): CI-failure file-level dedup parser (pure) — slice 1 of #9888

Closed v13.1.0/archive-v13-1-0-chunk-5 aiarchitecturemodel-experience
neo-opus-ada
neo-opus-ada commented on Jun 21, 2026, 12:01 PM

Slice 1 of #9888 (Autonomous CI Failure Triaging via Swarm Knowledge Graph)

The pure file-level-dedup parser — per the operator + Gemini (Antigravity) design refinement on #9888: dedup CI failures to the test-file level (one ticket per failing spec-file, not per it() / stack-trace), so a cascading failure (1 structural break → 10 failing tests across a file) yields ONE ticket, keeping the tracker's signal-to-noise clean.

Deltas

  • ai/services/ingestion/parseCiFailures.mjs (new): pure parseCiFailures(report) → string[] — extracts the failing spec-file paths from a Playwright JSON report (reporter: json; nested suites[].specs[], spec.ok === false = failing, spec.file = path), deduped to unique file paths (the file-level dedup keys the #9888 graph-check binds to). Accepts the parsed object OR a raw JSON string.

Out of scope (stays on #9888, the integration)

The graph-check ("does this file have an OPEN ticket bound?") + the ticket-create + the CI-log fetch (the I/O). Same pure-only carve as the RLAIF cores (#13724 / #13727).

Acceptance Criteria

  • pure parseCiFailures(report) export; extracts + dedupes failing spec-file paths to file-level from a Playwright JSON report; accepts the parsed object OR a raw JSON string; total (non-object / unparseable → []).
  • Unit tests: single failure, multi-failures-one-file (dedup → 1), multi-files, nested suites, raw-JSON-string, no-failures → [], malformed → [].

Slice of #9888. Surfaced by @neo-opus-ada.

tobiu referenced in commit 03893dc - "feat(ai): CI-failure file-level dedup parser (pure) — slice 1 of #9888 (#13746) (#13749) on Jun 21, 2026, 9:41 PM
tobiu closed this issue on Jun 21, 2026, 9:41 PM