CtrlK
BlogDocsLog inGet started
Tessl Logo

martinfrancois/java-streams

Help AI coding agents use Java Streams and Collectors well in new code, review, and cleanup without replacing one antipattern with another.

100

2.17x
Quality

100%

Does it follow best practices?

Impact

100%

2.17x

Average score across 4 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-4/

{
  "context": "Main eval weighted implementation: Java 24 blocking per-element remote checks should use bounded Gatherers.mapConcurrent rather than parallelStream or unbounded async work. Scenario 01 intentionally covers Java 24 bounded remote-call guidance with a domain-specific decision carrier while accepting any clear non-null carrier that preserves the Offer plus Availability association. Hosted benchmark provenance is pending rerun for the current active suite.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Creates coherent Java 24 artifact",
      "description": "Creates OfferAvailability.java with the requested method, nested types, imports, and Java 24-compatible code.",
      "max_score": 25
    },
    {
      "name": "Preserves offer behavior",
      "description": "Returns only offers whose AvailabilityApi.lookup decision has show() true and sorts the final returned offers by rank, then id.",
      "max_score": 50
    },
    {
      "name": "Uses bounded Gatherers.mapConcurrent",
      "description": "Uses Gatherers.mapConcurrent with an explicit bounded concurrency value of at most 8 to perform the blocking AvailabilityApi.lookup calls inside the stream chain.",
      "max_score": 225
    },
    {
      "name": "Carries offer with availability decision",
      "description": "Keeps each Offer associated with its Availability decision using a clear non-null carrier such as a small record, Map.Entry, or equivalent pair, then filters by Availability.show() before mapping back to Offer.",
      "max_score": 100
    },
    {
      "name": "Rejects weak concurrency choices",
      "description": "Does not use parallelStream(), .parallel(), unbounded CompletableFuture fan-out, or shared mutable state for collecting remote check results.",
      "max_score": 75
    },
    {
      "name": "Keeps implementation focused",
      "description": "Avoids unrelated caching, retries, dependencies, API redesign, or broad concurrency framework changes.",
      "max_score": 25
    }
  ]
}

README.md

tile.json