ci(smoke-agent-linux): waive JLine's Java 22 FFM provider in the bytecode gate - #459
Conversation
… gate The first real run of the agent smoke failed its class-file check: JLine 4.4.6 ships org/jline/terminal/impl/ffm (25 classes) as major 66. That package is only discovered through META-INF/jline/providers/ffm; on Java 21 JLine selects its JNI provider, and forcing FFM falls back to a dumb terminal instead of failing (checked on 21.0.10). Waive exactly that package; any other class above 65 still fails the gate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QSXAwbXqx9u5xsMArMvgT8
|
Two checks are red that are not caused by this PR:
Both jobs run in the The check that matters here is Generated by Claude Code |
|



Summary
smoke-agent-linuxfails onmain(run 36320808474, job 108667860018) in its "Verify Java 21 bytecode" step. The cause is JLine 4.4.6, which shipsorg/jline/terminal/impl/ffm/*(25 classes) as class-file major 66 (Java 22).META-INF/jline/providers/ffm. On Java 21, JLine uses its JNI provider; if FFM is forced, it falls back to a dumb terminal instead of failing (checked on 21.0.10). The classes are never loaded on the runtime the agent targets.--allow 'llama-atmosphere-agent-*:org/jline/terminal/impl/ffm/*'for that one package. Any other class above major 65 in the agent jar still fails the gate. The waiver is documented in CLAUDE.md's agent section.smoke-agent-linuxis required by bothpublish-snapshotandpublish-release, so this blocks every snapshot and release until merged. The fix was pushed after #458 merged, so it never reachedmain.Test plan
--help, the 2 + 2 answer, and theread_filemarker round.Related issues / PRs
Follow-up to #457 and #458.
Checklist
CONTRIBUTING.mdandCODE_OF_CONDUCT.md🤖 Generated with Claude Code
https://claude.ai/code/session_01QSXAwbXqx9u5xsMArMvgT8
Generated by Claude Code