Real-time transport layer for Java AI agents. Build once with @Agent — deliver over WebSocket, SSE, gRPC, and WebTransport/HTTP3. Talk MCP, A2A and AG-UI.
This report presents the forensic synthetic code analysis of Atmosphere/atmosphere, a Java project with 3,785 GitHub stars. SynthScan v2.0 examined 564,930 lines of code across 3522 source files, recording 1332 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 10.8 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 1332 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | CHANGELOG.md | 1775 | `io.reactivex.rxjava3.disposables.Disposable.dispose()` on the Runner | CODE |
| CRITICAL | …hat/src/main/resources/static/assets/index-D4eVYlWB.js | 16 | `,d="/",b="*",y="",x="comment",S="declaration";function z(q,O){if(typeof q!="string")throw new TypeError("First argument | CODE |
| CRITICAL | …hat/src/main/resources/static/assets/index-D4eVYlWB.js | 43 | `))}function m(S,z,M,q){const O=M.enter("tableCell"),Z=M.enter("phrasing"),j=M.containerPhrasing(S,{...q,before:h,after: | CODE |
| CRITICAL | …ent/src/main/resources/static/assets/index-DozlASgy.js | 10 | `,d=`/`,f=`*`,p=``,m=`comment`,h=`declaration`;function g(e,t){if(typeof e!=`string`)throw TypeError(`First argument mus | CODE |
| CRITICAL | …ent/src/main/resources/static/assets/index-DozlASgy.js | 37 | `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a} | CODE |
| CRITICAL | …ent/src/main/resources/static/assets/index-Cv-qlzxh.js | 10 | `,m="/",b="*",y="",x="comment",S="declaration";function C(V,O){if(typeof V!="string")throw new TypeError("First argument | CODE |
| CRITICAL | …ent/src/main/resources/static/assets/index-Cv-qlzxh.js | 37 | `))}function d(S,C,H,V){const O=H.enter("tableCell"),Z=H.enter("phrasing"),X=H.containerPhrasing(S,{...V,before:h,after: | CODE |
| CRITICAL | …eam/src/main/resources/static/assets/index-DPWEbRUU.js | 12 | `,p="/",b="*",y="",x="comment",S="declaration";function w(X,z){if(typeof X!="string")throw new TypeError("First argument | CODE |
| CRITICAL | …eam/src/main/resources/static/assets/index-DPWEbRUU.js | 39 | `))}function m(S,w,U,X){const z=U.enter("tableCell"),Z=U.enter("phrasing"),H=U.containerPhrasing(S,{...X,before:h,after: | CODE |
| CRITICAL | …eam/src/main/resources/static/assets/index-DM_p-7F0.js | 12 | `,p="/",b="*",y="",x="comment",S="declaration";function w(X,z){if(typeof X!="string")throw new TypeError("First argument | CODE |
| CRITICAL⚡ | …eam/src/main/resources/static/assets/index-DM_p-7F0.js | 39 | `))}function m(S,w,U,X){const z=U.enter("tableCell"),Z=U.enter("phrasing"),H=U.containerPhrasing(S,{...X,before:h,after: | CODE |
| CRITICAL | …eam/src/main/resources/static/assets/index-C2FnegHt.js | 16 | `,d="/",b="*",y="",x="comment",S="declaration";function w(V,D){if(typeof V!="string")throw new TypeError("First argument | CODE |
| CRITICAL⚡ | …eam/src/main/resources/static/assets/index-C2FnegHt.js | 43 | `))}function m(S,w,B,V){const D=B.enter("tableCell"),U=B.enter("phrasing"),j=B.containerPhrasing(S,{...V,before:h,after: | CODE |
| CRITICAL | …eam/src/main/resources/static/assets/index-D-TcU3Ko.js | 12 | `,p="/",b="*",y="",x="comment",S="declaration";function w(X,z){if(typeof X!="string")throw new TypeError("First argument | CODE |
| CRITICAL | …eam/src/main/resources/static/assets/index-D-TcU3Ko.js | 39 | `))}function m(S,w,U,X){const z=U.enter("tableCell"),Z=U.enter("phrasing"),H=U.containerPhrasing(S,{...X,before:h,after: | CODE |
| CRITICAL | …oom/src/main/resources/static/assets/index-CK6N8HJC.js | 16 | `,d="/",b="*",y="",x="comment",S="declaration";function w(N,z){if(typeof N!="string")throw new TypeError("First argument | CODE |
| CRITICAL | …oom/src/main/resources/static/assets/index-CK6N8HJC.js | 43 | `))}function m(S,w,q,N){const z=q.enter("tableCell"),Z=q.enter("phrasing"),j=q.containerPhrasing(S,{...N,before:h,after: | CODE |
| CRITICAL | …springboot/checkpoint/CheckpointGovernanceE2ETest.java | 88 | assertTrue(org.atmosphere.coordinator.commitment.Ed25519CommitmentSigner.verify( | CODE |
| CRITICAL | …hat/src/main/resources/static/assets/index-eE4plDPY.js | 16 | `,m="/",b="*",y="",x="comment",S="declaration";function w(q,O){if(typeof q!="string")throw new TypeError("First argument | CODE |
| CRITICAL | …hat/src/main/resources/static/assets/index-eE4plDPY.js | 43 | `))}function d(S,w,B,q){const O=B.enter("tableCell"),F=B.enter("phrasing"),G=B.containerPhrasing(S,{...q,before:h,after: | CODE |
| CRITICAL | …springboot/personalassistant/LangChain4jLlmConfig.java | 51 | return dev.langchain4j.model.openai.OpenAiStreamingChatModel.builder() | CODE |
| CRITICAL | …hat/src/main/resources/static/assets/index-CiZfy-P_.js | 16 | `,d=`/`,f=`*`,p=``,m=`comment`,h=`declaration`;function g(e,t){if(typeof e!=`string`)throw TypeError(`First argument mus | CODE |
| CRITICAL | …hat/src/main/resources/static/assets/index-CiZfy-P_.js | 43 | `))}function c(e,t,n,r){let i=n.enter(`tableCell`),o=n.enter(`phrasing`),s=n.containerPhrasing(e,{...r,before:a,after:a} | CODE |
| CRITICAL | …ols/src/main/resources/static/assets/index-CnyuWngM.js | 16 | `,p="/",b="*",y="",x="comment",S="declaration";function w(G,_){if(typeof G!="string")throw new TypeError("First argument | CODE |
| CRITICAL | …ols/src/main/resources/static/assets/index-CnyuWngM.js | 43 | `))}function m(S,w,U,G){const _=U.enter("tableCell"),B=U.enter("phrasing"),H=U.containerPhrasing(S,{...G,before:h,after: | CODE |
| CRITICAL | …/resources/atmosphere/console/assets/index-C_AzfApa.js | 50 | `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.ch | CODE |
| CRITICAL⚡ | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 382 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL⚡ | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 384 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL⚡ | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 386 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL⚡ | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 451 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL⚡ | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 453 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL⚡ | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 455 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL⚡ | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 457 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL⚡ | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 459 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL⚡ | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 461 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL⚡ | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 463 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 335 | @org.springframework.boot.autoconfigure.condition.ConditionalOnBean(FactResolver.class) | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 361 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 404 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 421 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 423 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 474 | var config = org.atmosphere.ai.identity.OAuthOboConfig.builder( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 537 | org.atmosphere.ai.cost.CostAccountantHolder.install(accountant); | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 547 | org.atmosphere.ai.cost.CostAccountantHolder.reset(); | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 601 | org.atmosphere.ai.resume.RunRegistryHolder.install(registry); | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 615 | org.atmosphere.ai.resume.RunRegistryHolder.reset(); | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 674 | return org.springframework.boot.autoconfigure.condition.ConditionOutcome.match( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 678 | return org.springframework.boot.autoconfigure.condition.ConditionOutcome.noMatch( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 715 | org.atmosphere.ai.resume.DurableRunSpineHolder.install( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 754 | org.atmosphere.ai.resume.DurableRunSpineHolder.reset(); | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 826 | var recorderConfig = new org.atmosphere.ai.tape.TapeRecorder.Config( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 829 | var installed = org.atmosphere.ai.tape.TapeSupport.install(store, recorderConfig); | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 884 | org.atmosphere.ai.tape.TapeSupport.uninstall(recorder); | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 917 | @org.springframework.beans.factory.annotation.Value( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 1069 | var builder = org.atmosphere.ai.routing.RoutingLlmClient.builder( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 1085 | builder.route(org.atmosphere.ai.routing.RoutingLlmClient.RoutingRule.contentBased( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 1099 | builder.route(org.atmosphere.ai.routing.RoutingLlmClient.RoutingRule.modelBased( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 1114 | builder.route(org.atmosphere.ai.routing.RoutingLlmClient.RoutingRule.costBased( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 1129 | builder.route(org.atmosphere.ai.routing.RoutingLlmClient.RoutingRule.latencyBased( | CODE |
| CRITICAL | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 1159 | var clientBuilder = org.atmosphere.ai.llm.OpenAiCompatibleClient.builder() | CODE |
| 315 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .claude/workflows/doc-drift-audit.js | 13 | // ── Scope ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/workflows/doc-drift-audit.js | 16 | // ── Schemas ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/workflows/doc-drift-audit.js | 73 | // ── Inventory ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .claude/workflows/doc-drift-audit.js | 96 | // ── Audit → Verify (pipelined per group) ──────────────────────────────────── | COMMENT |
| MEDIUM | .claude/workflows/doc-drift-audit.js | 198 | // ── Synthesize ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/install.sh | 14 | # ── Colors ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/install.sh | 31 | # ── Detect platform ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/install.sh | 40 | # ── Check prerequisites ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/install.sh | 60 | # ── Download ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/install.sh | 72 | # ── Install ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/install.sh | 127 | # ── Uninstall ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/install.sh | 155 | # ── Main ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 31 | # ── Helpers ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | cli/e2e-test-cli-runtime.sh | 115 | # ── Cleanup ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | cli/e2e-test-cli-runtime.sh | 123 | # ── Align CLI pinned version with the locally-built SNAPSHOT ───────────────── | COMMENT |
| MEDIUM⚡ | cli/e2e-test-cli-runtime.sh | 135 | # ── Prerequisites ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 159 | # ── 1. atmosphere run spring-boot-chat boots and responds ─────────────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 193 | # ── 2. atmosphere run --port 9999 overrides port ──────────────────────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 217 | # ── 3. atmosphere run --env FOO=BAR propagates env ────────────────────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 262 | # ── 4. Second atmosphere run uses cache ───────────────────────────────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 286 | # ── 5. atmosphere new chat-test then standalone compile ─────────────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 313 | # ── 6. atmosphere new ai-test --template ai-chat then compile ───────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 330 | # ── 7. atmosphere new agent-test --template agent then compile ──────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 349 | # ── 8. atmosphere import --trust with fixture skill then compile ──────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 390 | # ── 9. Corrupted cache JAR triggers re-download ──────────────────────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 442 | # ── 10. atmosphere run nonexistent-sample exits non-zero ──────────────────── | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 457 | # ── Summary ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | cli/test-cli.sh | 472 | # ── --runtime scaffold + compile ────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 18 | # ── Helpers ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 73 | # ── Prerequisites ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 91 | # ── 1. samples.json Integrity ────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 155 | # ── 2. CLI: version ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 164 | # ── 3. CLI: help ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 177 | # ── 4. CLI: list ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 188 | # ── 5. CLI: list --tag ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 201 | # ── 6. CLI: list --category ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 210 | # ── 6b. CLI: list --tag + --category (combined filter, bug fix #1) ──────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 250 | # ── 6c. CLI: info for all samples ───────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 265 | # ── 7. CLI: info ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 281 | # ── 8. CLI: info unknown sample ──────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 293 | # ── 9. CLI: run (validation only, no Java) ───────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 305 | # ── 10. CLI: unknown command ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 317 | # ── 11. CLI: install (menu rendering) ────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 340 | # ── 12. CLI: new (validation, no network) ───────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 395 | # ── 12b. CLI: new (network — gated by ATMOSPHERE_NETWORK_TESTS=1) ───────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 530 | # ── 12c. CLI: --runtime overlay ──────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 696 | # ── --force: strip pre-pinned adapters before injecting ─────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 757 | # ── 12d. CLI: new --routing ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 921 | # ── 13. npx: create-atmosphere-app ───────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 1010 | # ── 14. samples.json <-> filesystem consistency ──────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 1058 | # ── Import command tests ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 1279 | # ── Plugins command tests ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 1290 | # ── Skills command tests (offline) ───────────────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 1312 | # ── Remote import tests (require network) ───────────────────────────────── | COMMENT |
| MEDIUM | cli/test-cli.sh | 1363 | # ── Summary ───────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/ComposeGenerator.java | 104 | // ── Descriptors ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/ComposeGenerator.java | 126 | // ── Parsed state ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/ComposeGenerator.java | 216 | // ── Parsing ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/ComposeGenerator.java | 366 | // ── Interactive prompts ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | generator/ComposeGenerator.java | 459 | // ── Model building ─────────────────────────────────────────────────────── | COMMENT |
| 327 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .claude/hooks/check-drift-log.sh | 4 | # session transcript and blocks the stop if .harness/drift-log.md was not | COMMENT |
| MEDIUM⚡ | cli/test-cli.sh | 604 | # via a tiny harness script. | COMMENT |
| MEDIUM⚡ | cli/test-cli.sh | 611 | # Stand-alone harness that calls apply_runtime_overlay with the env the | COMMENT |
| MEDIUM | cli/test-cli.sh | 777 | # Stand-alone harness that calls inject_routing_block with the env the real CLI | COMMENT |
| MEDIUM | …hat/src/main/resources/static/assets/index-OzgSzYqM.js | 9 | `).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function $(e,t,n,r,i,a){switch(n){case`children`:typeof r==` | CODE |
| MEDIUM | …hat/src/main/resources/static/assets/index-D4eVYlWB.js | 9 | `).replace(d1,"")}function Qp(e,t){return t=Xp(t),Xp(e)===t}function He(e,t,l,i,o,c){switch(l){case"children":typeof i== | CODE |
| MEDIUM | …ent/src/main/resources/static/assets/index-DozlASgy.js | 9 | `).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function $(e,t,n,r,a,o){switch(n){case`children`:typeof r==` | CODE |
| MEDIUM | …ent/src/main/resources/static/assets/index-Cv-qlzxh.js | 9 | `).replace(m1,"")}function Ym(t,e){return e=qm(e),qm(t)===e}function Ht(t,e,n,i,o,c){switch(n){case"children":typeof i== | CODE |
| MEDIUM | …eam/src/main/resources/static/assets/index-DPWEbRUU.js | 9 | `).replace(b1,"")}function Vp(e,t){return t=Gp(t),Gp(e)===t}function He(e,t,l,i,o,c){switch(l){case"children":typeof i== | CODE |
| MEDIUM | …eam/src/main/resources/static/assets/index-DPWEbRUU.js | 48 | $2`),a}function zm({text:n,isStreaming:a,dark:r,markdown:u=!0}){let s={alignSelf:"flex-start",background:r?"#1a1d23":"#f | CODE |
| MEDIUM | …eam/src/main/resources/static/assets/index-DM_p-7F0.js | 9 | `).replace(b1,"")}function Vp(e,t){return t=Gp(t),Gp(e)===t}function He(e,t,l,i,o,c){switch(l){case"children":typeof i== | CODE |
| MEDIUM⚡ | …eam/src/main/resources/static/assets/index-DM_p-7F0.js | 48 | $2`),a}function zm({text:n,isStreaming:a,dark:r,markdown:u=!0}){let s={alignSelf:"flex-start",background:r?"#1a1d23":"#f | CODE |
| MEDIUM | …eam/src/main/resources/static/assets/index-C2FnegHt.js | 9 | `).replace(S1,"")}function Vp(e,t){return t=Gp(t),Gp(e)===t}function He(e,t,l,r,o,c){switch(l){case"children":typeof r== | CODE |
| MEDIUM⚡ | …eam/src/main/resources/static/assets/index-C2FnegHt.js | 52 | $2`),i}function zm({text:n,isStreaming:i,dark:a,markdown:u=!0}){let s={alignSelf:"flex-start",background:a?"#1a1d23":"#f | CODE |
| MEDIUM | …eam/src/main/resources/static/assets/index-D-TcU3Ko.js | 9 | `).replace(b1,"")}function Vp(e,t){return t=Gp(t),Gp(e)===t}function He(e,t,l,i,o,c){switch(l){case"children":typeof i== | CODE |
| MEDIUM | …eam/src/main/resources/static/assets/index-D-TcU3Ko.js | 48 | $2`),a}function zm({text:n,isStreaming:a,dark:r,markdown:u=!0}){let s={alignSelf:"flex-start",background:r?"#1a1d23":"#f | CODE |
| MEDIUM | …ebsocket-chat/src/main/webapp/assets/index-BMRJJR-V.js | 9 | `).replace(Tm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …ebsocket-chat/src/main/webapp/assets/index-DWDY8nsU.js | 9 | `).replace(zm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …ebsocket-chat/src/main/webapp/assets/index-BsllcpoS.js | 9 | `).replace(zm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function dt(t,e,l,a,n,u){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …ebsocket-chat/src/main/webapp/assets/index-BxBeInLO.js | 9 | `).replace(Tm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …ebsocket-chat/src/main/webapp/assets/index-CIZq-mlf.js | 9 | `).replace(Tm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …ebsocket-chat/src/main/webapp/assets/index-BxwKG3BY.js | 9 | `).replace(Tm,"")}function Xr(t,l){return l=xr(l),xr(t)===l}function ht(t,l,e,a,u,n){switch(e){case"children":typeof a== | CODE |
| MEDIUM | …ebsocket-chat/src/main/webapp/assets/index-DS-QCsQg.js | 9 | `).replace(bm,"")}function Xr(t,e){return e=Yr(e),Yr(t)===e}function ot(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …oom/src/main/resources/static/assets/index-CK6N8HJC.js | 9 | `).replace(k1,"")}function Vp(e,t){return t=Gp(t),Gp(e)===t}function Ye(e,t,l,r,o,c){switch(l){case"children":typeof r== | CODE |
| MEDIUM | samples/chat/src/main/webapp/assets/index-BmKafLqa.js | 9 | `).replace(bm,"")}function Xr(t,e){return e=Yr(e),Yr(t)===e}function ot(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | samples/chat/src/main/webapp/assets/index-LDUlLb3c.js | 9 | `).replace(zm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | samples/chat/src/main/webapp/assets/index-BHjBss3P.js | 9 | `).replace(Tm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | samples/chat/src/main/webapp/assets/index-C398ftzm.js | 9 | `).replace(Tm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | samples/chat/src/main/webapp/assets/index-2yumWARR.js | 9 | `).replace(Tm,"")}function Xr(t,l){return l=xr(l),xr(t)===l}function ht(t,l,e,a,u,n){switch(e){case"children":typeof a== | CODE |
| MEDIUM | samples/chat/src/main/webapp/assets/index-CxrbjYx1.js | 9 | `).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function $(e,t,n,r,i,a){switch(n){case`children`:typeof r==` | CODE |
| MEDIUM | samples/chat/src/main/webapp/assets/index-C25pX8Gj.js | 9 | `).replace(Tm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | samples/chat/src/main/webapp/assets/index-DzMclxQa.js | 9 | `).replace(zm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function dt(t,e,l,a,n,u){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …hat/src/main/resources/static/assets/index-eE4plDPY.js | 9 | `).replace(y1,"")}function Xp(e,t){return t=Qp(t),Qp(e)===t}function je(e,t,l,a,o,c){switch(l){case"children":typeof a== | CODE |
| MEDIUM⚡ | …-personal-assistant/src/main/resources/application.yml | 17 | # Deep-agent harness — three surfaces, no app-wide flag needed here: | COMMENT |
| MEDIUM⚡ | …-personal-assistant/src/main/resources/application.yml | 19 | # (harness() defaults to {Harness.ALL}) — the PrimaryAssistant | COMMENT |
| MEDIUM⚡ | …-personal-assistant/src/main/resources/application.yml | 20 | # coordinator keeps fleet delegation on this way; harness = {} opts | COMMENT |
| MEDIUM⚡ | …-personal-assistant/src/main/resources/application.yml | 23 | # UpstreamMcpAgent declares harness = {Harness.ALL} for its | COMMENT |
| MEDIUM⚡ | …-personal-assistant/src/main/resources/application.yml | 27 | # 3. The app-wide atmosphere.ai.harness.enabled flag is tri-state: | COMMENT |
| MEDIUM⚡ | …-personal-assistant/src/main/resources/application.yml | 29 | # bare @AiEndpoint the full harness, false is the kill switch that | COMMENT |
| MEDIUM⚡ | …-personal-assistant/src/main/resources/application.yml | 30 | # beats every annotation; atmosphere.ai.harness.exclude-paths carves | COMMENT |
| MEDIUM⚡ | …-personal-assistant/src/main/resources/application.yml | 33 | # (/api/console/info, "harness" section). | COMMENT |
| MEDIUM | …hat/src/main/resources/static/assets/index-CiZfy-P_.js | 9 | `).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function $(e,t,n,r,a,o){switch(n){case`children`:typeof r==` | CODE |
| MEDIUM | …ver/src/main/resources/static/assets/index-BqocV04G.js | 9 | `).replace(zm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function dt(t,e,l,a,n,u){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …les/grpc-chat/src/main/webapp/assets/index-Dw6ZZe4e.js | 9 | `).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function $(e,t,n,r,i,a){switch(n){case`children`:typeof r==` | CODE |
| MEDIUM | …/resources/META-INF/resources/assets/index-C6ptyLtU.js | 9 | `).replace(Tm,"")}function Xr(t,l){return l=xr(l),xr(t)===l}function ht(t,l,e,a,u,n){switch(e){case"children":typeof a== | CODE |
| MEDIUM | …/resources/META-INF/resources/assets/index-NTiSnV2A.js | 9 | `).replace(Tm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …/resources/META-INF/resources/assets/index-BJXLWKR1.js | 9 | `).replace(bm,"")}function Xr(t,e){return e=Yr(e),Yr(t)===e}function ot(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …/resources/META-INF/resources/assets/index-x8WTS4-r.js | 9 | `).replace(Tm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …/resources/META-INF/resources/assets/index-CT8n5VER.js | 9 | `).replace(Tm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …/resources/META-INF/resources/assets/index-Iu5YiP6K.js | 9 | `).replace(zm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function ht(t,e,l,a,u,n){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …/resources/META-INF/resources/assets/index-Dk-yzV_g.js | 9 | `).replace(zm,"")}function Qr(t,e){return e=Yr(e),Yr(t)===e}function dt(t,e,l,a,n,u){switch(l){case"children":typeof a== | CODE |
| MEDIUM | …ot-reattach-harness/src/main/resources/application.yml | 7 | # The reattach harness is a CI-only surface; leave auth off so the | COMMENT |
| MEDIUM | …ols/src/main/resources/static/assets/index-CnyuWngM.js | 9 | `).replace(y1,"")}function Qp(e,t){return t=Xp(t),Xp(e)===t}function He(e,t,l,r,o,c){switch(l){case"children":typeof r== | CODE |
| MEDIUM | scripts/validate-doc-thirdparty-versions.sh | 23 | # .harness/thirdparty-version-allowlist.txt holds documented exceptions. | COMMENT |
| MEDIUM | scripts/validate-backend-class-refs.sh | 20 | # (2) appear in `.harness/external-class-allowlist.txt` (third-party | COMMENT |
| MEDIUM⚡ | scripts/validate-no-private-handle.sh | 18 | # - Skips `.harness/sessions/` (transient session transcripts that are | COMMENT |
| MEDIUM⚡ | scripts/validate-no-private-handle.sh | 22 | # `.harness/private-handle-allowlist.txt` (line-based glob list, `#` | COMMENT |
| MEDIUM | scripts/validate-doc-version-alignment.sh | 20 | # - skips .harness/drift-log.md, CHANGELOG.md and the site's whats-new.md | COMMENT |
| MEDIUM | scripts/validate-doc-version-alignment.sh | 22 | # - honours .harness/doc-version-allowlist.txt for documented exceptions. | COMMENT |
| MEDIUM | scripts/validate-blog-claims.sh | 4 | # Validates every claim in .harness/blog-claims.json against a git ref | COMMENT |
| 46 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | jreleaser.yml | 61 | # BOM-managed dependency versions (the Quarkus extension pattern). | COMMENT |
| LOW | .claude/hooks/check-drift-log.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | cli/e2e-test-runtime-overlay.sh | 1 | #!/bin/sh | COMMENT |
| LOW | cli/e2e-test-runtime-overlay.sh | 101 | # Args: | COMMENT |
| LOW | cli/e2e-test-runtime-overlay.sh | 181 | # cap the boot at 300s, but separating download from boot makes the | COMMENT |
| LOW | cli/e2e-test-runtime-overlay.sh | 241 | # SIGTERM and let the cleanup trap mop up if the JVM stalls. | COMMENT |
| LOW | cli/e2e-test-runtime-overlay.sh | 281 | # Why no --force boot test: | COMMENT |
| LOW | cli/e2e-test-cli-runtime.sh | 1 | #!/bin/sh | COMMENT |
| LOW | cli/sdkman/publish.sh | 1 | #!/bin/sh | COMMENT |
| LOW | samples/spring-boot-chat/frontend/src/App.tsx | 381 | COMMENT | |
| LOW | …here/samples/springboot/a2astartup/CeoCoordinator.java | 221 | // that would leak confidential financials to the board, over-commit the | COMMENT |
| LOW | …ingboot/guardedemail/GuardedEmailAgentApplication.java | 121 | // The allowlist + the @Sink-derived TaintRules are the entire | COMMENT |
| LOW | …-classroom/src/main/resources/atmosphere-policies.yaml | 1 | # | COMMENT |
| LOW | …sphere/samples/springboot/aiclassroom/AiClassroom.java | 121 | "{\"type\":\"presence\",\"action\":\"%s\",\"memberId\":\"%s\",\"count\":%d}", | COMMENT |
| LOW | …pring-boot-rag-chat/src/main/resources/application.yml | 1 | # Atmosphere RAG Chat - Configuration | COMMENT |
| LOW | …-personal-assistant/src/main/resources/application.yml | 1 | server: | COMMENT |
| LOW | …-personal-assistant/src/main/resources/application.yml | 21 | # an agent down to a bare loop. See ResearchAgent. | COMMENT |
| LOW | …-personal-assistant/src/main/resources/application.yml | 41 | # fail-fast default. Production apps should leave fail-fast on. | COMMENT |
| LOW | …spring-boot-ai-chat/src/main/resources/application.yml | 21 | # which needs the token-less console to render the Decisions tab, opts out at | COMMENT |
| LOW | …spring-boot-ai-chat/src/main/resources/application.yml | 41 | # LLM_MODEL: model name (e.g. gemini-2.5-flash, gpt-4o, llama3.2) | COMMENT |
| LOW | samples/grpc-chat/frontend/src/gen/atmosphere_pb.ts | 1 | // | COMMENT |
| LOW | …s/springboot/browseragent/BrowserAgentApplication.java | 41 | @SpringBootApplication | COMMENT |
| LOW | …-boot-one-dep-agent/src/main/resources/application.yml | 1 | # One dependency + a single @Agent class = a running streaming chat app. | COMMENT |
| LOW | …-boot-one-dep-agent/src/main/resources/application.yml | 21 | # reads LLM_API_KEY / OPENAI_API_KEY / GEMINI_API_KEY (and LLM_MODEL / | COMMENT |
| LOW | …nance-chat/src/main/resources/atmosphere-policies.yaml | 1 | # Microsoft Agent Governance Toolkit YAML schema, enforced by Atmosphere. | COMMENT |
| LOW | …re/samples/springboot/msgovernance/PoliciesConfig.java | 181 | // Compose the full policy list. Order matters: | COMMENT |
| LOW | …-tools/src/main/resources/application-routing-cost.yml | 1 | # Offline COST-based model-routing demo — proves Atmosphere 4 blog §7 | COMMENT |
| LOW | …ols/src/main/resources/application-routing-latency.yml | 1 | # Offline LATENCY-based model-routing demo — proves Atmosphere 4 blog §7 | COMMENT |
| LOW | .harness/thirdparty-version-allowlist.txt | 1 | # Allowlist for scripts/validate-doc-thirdparty-versions.sh (substring match | COMMENT |
| LOW | .harness/atmosphere-doc-version-allowlist.txt | 1 | # Exceptions for scripts/validate-atmosphere-doc-version.sh | COMMENT |
| LOW | .harness/doc-version-allowlist.txt | 1 | # Allowlist for scripts/validate-doc-version-alignment.sh | COMMENT |
| LOW | .harness/url-allowlist.txt | 1 | # Allowlist for scripts/check-website-urls.sh (substring match against the URL). | COMMENT |
| LOW | .harness/orphan-class-allowlist.txt | 1 | # Orphan-class allowlist for scripts/validate-no-orphan-classes.sh | COMMENT |
| LOW | .harness/doc-symbol-allowlist.txt | 1 | # Allowlist for scripts/validate-doc-symbols.sh | COMMENT |
| LOW | .harness/external-class-allowlist.txt | 1 | # Allowlist for validate-backend-class-refs.sh | COMMENT |
| LOW | .harness/private-handle-allowlist.txt | 1 | # Paths exempt from scripts/validate-no-private-handle.sh. | COMMENT |
| LOW | .harness/enumeration-allowlist.txt | 1 | # Allowlist for validate-capability-claims.sh's "N of M runtimes" denominator | COMMENT |
| LOW | scripts/validate-doc-thirdparty-versions.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/sign-skillcards.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/sign-skillcards.sh | 21 | # mode exists so you can prove the round-trip locally | COMMENT |
| LOW | scripts/verify-skillcards.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/validate-backend-class-refs.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/validate-no-private-handle.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/validate-no-private-handle.sh | 21 | # - Skips any path matching an entry in | COMMENT |
| LOW | scripts/validate-doc-version-alignment.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/validate-doc-version-alignment.sh | 21 | # (append-only history that legitimately quotes superseded versions); | COMMENT |
| LOW | scripts/validate-blog-claims.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/validate-blog-claims.sh | 21 | # atmosphere-ai-spring-boot-starter had NEVER existed on Maven Central, so | COMMENT |
| LOW | scripts/validate-blog-claims.sh | 41 | # | COMMENT |
| LOW | scripts/validate-no-beta-on-main.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/validate-no-beta-on-main.sh | 41 | else | COMMENT |
| LOW | scripts/validate-doc-symbols.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/test-channels-manual.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/promote-changelog.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | scripts/sample-startup-smoke.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/pre-push-validate.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/pre-push-validate.sh | 141 | echo "Scope: committed changes only (working tree and untracked files ignored)" | COMMENT |
| LOW | scripts/architectural-validation.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/architectural-validation.sh | 461 | # `@org.junit.jupiter.api.Disabled("reason")` with a tracking comment, not via | COMMENT |
| LOW | scripts/release-gate-samples.sh | 1 | #!/usr/bin/env bash | COMMENT |
| 179 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CHANGELOG.md | 1118 | `https://atmosphere.async-io.org/extensions/guardrails/v1`. | CODE |
| MEDIUM | CHANGELOG.md | 1396 | ### Added — Observability, grounded facts, guardrails, flow viewer (`1df67cdd7d`) | COMMENT |
| MEDIUM | README.md | 179 | See the full [capability matrix](modules/ai/README.md#capability-matrix) for text streaming, tool calling, structured ou | CODE |
| MEDIUM | README.md | 196 | | [Compliance evidence](https://atmosphere.github.io/docs/tutorial/32-owasp-agentic-matrix/) | `atmosphere-ai`, `atmosph | CODE |
| MEDIUM | README.md | 318 | | Governance & verification | [Governance](https://atmosphere.github.io/docs/reference/governance/) · [Agent scope](http | CODE |
| MEDIUM | README.md | 331 | | [atmosphere-skills](https://github.com/Atmosphere/atmosphere-skills) | Curated agent skill files: personality, tools, | CODE |
| MEDIUM | docs/runtime-selection.md | 160 | # applied to the scaffold's pom.xml) | COMMENT |
| MEDIUM | cli/e2e-test-runtime-overlay.sh | 251 | # scaffold + boot + assert. The CLI is the only path to several runtimes | COMMENT |
| MEDIUM | cli/e2e-test-runtime-overlay.sh | 289 | # after force-swap. The other candidate samples (multi-agent) have their | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 6 | # scaffold-then-compile, and error handling. Requires Java 21+ and Maven. | COMMENT |
| MEDIUM⚡ | cli/e2e-test-cli-runtime.sh | 128 | # script runs, so point the CLI at that version for the scaffold-then-compile | COMMENT |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 332 | # — it was stale scaffolding hidden behind earlier failures in CI.) | COMMENT |
| MEDIUM⚡ | cli/test-cli.sh | 472 | # ── --runtime scaffold + compile ────────────────────────────────── | COMMENT |
| MEDIUM⚡ | cli/test-cli.sh | 473 | # For each scaffold-and-compile overlay runtime, scaffold ai-chat with | COMMENT |
| MEDIUM⚡ | cli/test-cli.sh | 594 | # parse arguments far enough to call apply_runtime_overlay AFTER scaffolding, | COMMENT |
| MEDIUM | cli/test-cli.sh | 411 | # Portable Maven wrapper: scaffold must be runnable with just a JDK (the | COMMENT |
| MEDIUM | cli/test-cli.sh | 423 | # Reactor-internal GIB files must NOT leak into a standalone scaffold. | COMMENT |
| MEDIUM | cli/test-cli.sh | 516 | # shipped without scaffold coverage and went unscaffoldable for days | COMMENT |
| MEDIUM | cli/test-cli.sh | 760 | # default (the scaffold is byte-identical without it). Like the --runtime | COMMENT |
| MEDIUM | cli/test-cli.sh | 778 | # provides. \$1 = template, \$2 = scaffold dir. | COMMENT |
| MEDIUM | cli/test-cli.sh | 792 | # Build a scaffold-shaped dir holding a COPY of the real ai-chat application.yml | COMMENT |
| MEDIUM | cli/test-cli.sh | 842 | # No-op: a scaffold dir with NO application.yml must warn + return 0 (graceful; | COMMENT |
| MEDIUM | cli/test-cli.sh | 843 | # the routing block is optional, it must not break scaffolding). | COMMENT |
| MEDIUM | cli/test-cli.sh | 898 | # Network-gated end-to-end: scaffold a real ai-chat with --routing and confirm | COMMENT |
| MEDIUM | cli/homebrew/atmosphere.rb | 5 | # scaffolding new projects, and exploring the Atmosphere framework. | COMMENT |
| MEDIUM | generator/test-compose.sh | 2 | # Integration tests for `atmosphere compose` — generates multi-agent projects and verifies they compile. | COMMENT |
| MEDIUM⚡ | …eam/src/main/resources/static/assets/index-DM_p-7F0.js | 48 | $2`),a}function zm({text:n,isStreaming:a,dark:r,markdown:u=!0}){let s={alignSelf:"flex-start",background:r?"#1a1d23":"#f | CODE |
| MEDIUM⚡ | …eam/src/main/resources/static/assets/index-DM_p-7F0.js | 48 | $2`),a}function zm({text:n,isStreaming:a,dark:r,markdown:u=!0}){let s={alignSelf:"flex-start",background:r?"#1a1d23":"#f | CODE |
| MEDIUM⚡ | …eam/src/main/resources/static/assets/index-C2FnegHt.js | 52 | $2`),i}function zm({text:n,isStreaming:i,dark:a,markdown:u=!0}){let s={alignSelf:"flex-start",background:a?"#1a1d23":"#f | CODE |
| MEDIUM⚡ | …eam/src/main/resources/static/assets/index-C2FnegHt.js | 52 | $2`),i}function zm({text:n,isStreaming:i,dark:a,markdown:u=!0}){let s={alignSelf:"flex-start",background:a?"#1a1d23":"#f | CODE |
| MEDIUM | samples/spring-boot-rag-chat/README.md | 1 | # Atmosphere RAG Agent Sample | COMMENT |
| MEDIUM | samples/spring-boot-rag-chat/README.md | 71 | ## RAG Injection Safety (on by default) | COMMENT |
| MEDIUM | …pring-boot-rag-chat/src/main/resources/application.yml | 1 | # Atmosphere RAG Chat - Configuration | COMMENT |
| MEDIUM | …g-chat/src/main/resources/docs/atmosphere-ai-module.md | 38 | ## Context Providers (RAG) | COMMENT |
| MEDIUM | …hat/src/main/resources/static/assets/index-eE4plDPY.js | 52 | $2`),i}function xT({text:n,isStreaming:i,dark:r,markdown:u=!0}){let s={alignSelf:"flex-start",background:r?"#1a1d23":"#f | CODE |
| MEDIUM | samples/spring-boot-ms-governance-chat/README.md | 21 | │ ├── FaqRetrievalInterceptor.java # RAG-lite: FAQ snippet into request metadata | CODE |
| MEDIUM | …nance-chat/src/main/resources/atmosphere-policies.yaml | 122 | # ── Tier 6: common agentic-hijack probes (audit-only) ─────────────────── | COMMENT |
| MEDIUM | .harness/drift-log.md | 189 | | 29 | An earlier project memory referenced the JS resilience roadmap as "auth → offline queue → history sync → presence | CODE |
| MEDIUM | .harness/drift-log.md | 501 | | 53 | `modules/ai/src/main/java/org/atmosphere/ai/memory/LongTermMemory.java:25` Javadoc read "Backed by a `FactStore` | CODE |
| MEDIUM | .harness/drift-log.md | 549 | ## 2026-05-22 — Hallucinated head SHA in `gh run cancel` filter (`docs/drift-log-sha-hallucination`) | COMMENT |
| MEDIUM | .harness/drift-log.md | 588 | | 56 | `CHANGELOG.md` `[Unreleased]` SKILLCARD entry (the squashed `ac146ca308 feat(ai,harness): NVIDIA-style verified a | CODE |
| MEDIUM | .harness/drift-log.md | 840 | | 68 | The Quarkus medium-4 subagent (the one that hit spec mismatches and stopped before completing) reported verbatim: | CODE |
| MEDIUM | .harness/drift-log.md | 1068 | | 95 | `modules/ai/src/main/java/org/atmosphere/ai/bridge/package-info.java:29` listed ``{@code GrpcProtocolBridge} — {@ | CODE |
| MEDIUM | scripts/validate-no-private-handle.sh | 7 | # Background: a "no more hallucinations" review on 2026-05-23 caught the | COMMENT |
| MEDIUM | scripts/promote-changelog.py | 13 | # match the project's no-hallucination rule. | COMMENT |
| MEDIUM | .github/workflows/cli-e2e.yml | 83 | # ATMOSPHERE_NETWORK_TESTS=1) — for every overlay runtime, scaffold | COMMENT |
| MEDIUM | .github/workflows/cli-e2e.yml | 127 | # Compile the scaffold against the locally-built SNAPSHOT (installed | COMMENT |
| MEDIUM | .github/workflows/e2e.yml | 73 | # agent, orchestration-primitives, admin-coverage) are now mapped — | COMMENT |
| MEDIUM | .github/workflows/e2e.yml | 97 | # admin-coverage, and orchestration-primitives specs are now | COMMENT |
| MEDIUM | .github/workflows/cli-install.yml | 86 | # exec the CLI, but the first scaffold step fails with | COMMENT |
| MEDIUM⚡ | .github/workflows/foundation-e2e.yml | 339 | # RAG console on port 8080, keyless. Proves @Command slash commands | COMMENT |
| MEDIUM⚡ | .github/workflows/foundation-e2e.yml | 342 | # RAG retrieval. Keyless → deterministic DemoAgentRuntime. | COMMENT |
| MEDIUM | …osphere/spring/boot/AtmosphereAiEndpointRegistrar.java | 53 | // Quarkus-native classpaths pick up guardrails too — Spring beans win | COMMENT |
| MEDIUM | …osphere/spring/boot/AtmosphereAiAutoConfiguration.java | 187 | // registrar applied guardrails to the default endpoint only and | COMMENT |
| MEDIUM | …osphere/spring/boot/AtmosphereAiEndpointRegistrar.java | 52 | // plain-servlet / Quarkus-native classpaths pick up guardrails too — | COMMENT |
| MEDIUM | …main/java/org/atmosphere/a2a/types/AgentExtension.java | 30 | * <li>{@code https://atmosphere.async-io.org/extensions/guardrails/v1} — | COMMENT |
| MEDIUM | …main/java/org/atmosphere/a2a/types/AgentExtension.java | 42 | "https://atmosphere.async-io.org/extensions/guardrails/v1"; | CODE |
| MEDIUM | …phere/spring/boot/ai/OneDependencyAgentWiringTest.java | 85 | // the classpath. The registrar is what bridges guardrails / RAG- and | COMMENT |
| MEDIUM | …phere/spring/boot/ai/OneDependencyAgentWiringTest.java | 92 | // fired — the registrar is what bridges guardrails / RAG- and memory- | COMMENT |
| MEDIUM | …st/java/org/atmosphere/mcp/McpProtocolHandlerTest.java | 673 | // The default handler from setUp() uses the 4-param constructor (no guardrails) | COMMENT |
| 18 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/obsidian-vault-setup/SKILL.md | 42 | ### Step 1: Verify prerequisites | COMMENT |
| LOW | .claude/skills/obsidian-vault-setup/SKILL.md | 54 | ### Step 2: Clone atmosphere-vault | COMMENT |
| LOW | .claude/skills/obsidian-vault-setup/SKILL.md | 66 | ### Step 3: Install plugins | COMMENT |
| LOW | .claude/skills/obsidian-vault-setup/SKILL.md | 76 | ### Step 4: Create claude_docs symlink | COMMENT |
| LOW | .claude/skills/obsidian-vault-setup/SKILL.md | 94 | ### Step 5: Open vault in Obsidian | COMMENT |
| LOW | .claude/skills/obsidian-vault-setup/SKILL.md | 102 | ### Step 6: Verify sync flow | COMMENT |
| LOW⚡ | samples/spring-boot-multi-agent-startup-team/README.md | 128 | // Step 1: Research (sequential) | COMMENT |
| LOW⚡ | samples/spring-boot-multi-agent-startup-team/README.md | 132 | // Step 2: Strategy + Finance (parallel) | COMMENT |
| LOW⚡ | samples/spring-boot-multi-agent-startup-team/README.md | 139 | // Step 3: Writer synthesis | COMMENT |
| LOW⚡ | samples/spring-boot-multi-agent-startup-team/README.md | 143 | // Step 4: CEO LLM synthesis | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 210 | // Step 1: Create instance and inject fields | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 214 | // Step 2: Parse skill file | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 232 | // Step 3: Scan @Command methods | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 236 | // Step 4: Find @Prompt method | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 241 | // Step 5: Resolve AI infrastructure | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 265 | // Step 6: Parse @Fleet and resolve agents | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 275 | // Step 7: Validate fleet | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 372 | // Step 9: Register handler | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 382 | // Step 10: Register protocol bridges | COMMENT |
| LOW | …sphere/coordinator/processor/CoordinatorProcessor.java | 286 | // Step 8: Create AgentFleet and AiEndpointHandler with injectable | COMMENT |
| LOW | …sphere/coordinator/processor/CoordinatorProcessor.java | 423 | // Step 11: Log fleet topology | COMMENT |
| LOW⚡ | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 159 | // Step 3: Scan @Command methods | COMMENT |
| LOW⚡ | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 163 | // Step 4: Find @Prompt or use synthetic default | COMMENT |
| LOW⚡ | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 169 | // Step 5: Resolve AI infrastructure | COMMENT |
| LOW | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 124 | // Step 1: Create instance and inject fields | COMMENT |
| LOW | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 139 | // Step 2: Parse skill file → system prompt | COMMENT |
| LOW | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 196 | // Step 6: Create AgentHandler | COMMENT |
| LOW | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 275 | // Step 7: Register handler at /atmosphere/agent/{name} | COMMENT |
| LOW | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 317 | // Step 12: Log summary | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …e/samples/springboot/guardedemail/DemoPlanRuntime.java | 0 | { "goal": "summarize", "steps": [ { "label": "fetch", "toolname": "fetch_emails", "arguments": { "folder": "inbox" }, "r | STRING |
| HIGH | …va/org/atmosphere/admin/ai/VerifierControllerTest.java | 0 | { "goal": "summarize", "steps": [ { "label": "fetch", "toolname": "fetch_emails", "arguments": { "folder": "inbox" }, "r | STRING |
| HIGH | …st/java/org/atmosphere/verifier/PlanAndVerifyTest.java | 0 | { "goal": "summarize", "steps": [ { "label": "fetch", "toolname": "fetch_emails", "arguments": { "folder": "inbox" }, "r | STRING |
| HIGH | …va/org/atmosphere/verifier/WorkflowJsonParserTest.java | 0 | { "goal": "summarize", "steps": [ { "label": "fetch", "toolname": "fetch_emails", "arguments": { "folder": "inbox" }, "r | STRING |
| HIGH | …c/test/java/org/atmosphere/verifier/VerifyCliTest.java | 0 | { "goal": "summarize", "steps": [ { "label": "fetch", "toolname": "fetch_emails", "arguments": { "folder": "inbox" }, "r | STRING |
| HIGH | …/mcp/src/test/java/org/atmosphere/mcp/McpMrtrTest.java | 0 | "_meta":{ "io.modelcontextprotocol/protocolversion":"2026-07-28", "io.modelcontextprotocol/clientinfo":{"name":"c","vers | STRING |
| HIGH | …est/java/org/atmosphere/mcp/McpTasksExtensionTest.java | 0 | "_meta":{ "io.modelcontextprotocol/protocolversion":"2026-07-28", "io.modelcontextprotocol/clientinfo":{"name":"c","vers | STRING |
| HIGH | …/mcp/src/test/java/org/atmosphere/mcp/McpAppsTest.java | 0 | "_meta":{ "io.modelcontextprotocol/protocolversion":"2026-07-28", "io.modelcontextprotocol/clientinfo":{"name":"c","vers | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | atmosphere.js/tests/unit/webtransport.test.ts | 88 | function createMockTransportInstance( | CODE |
| LOW | atmosphere.js/src/hooks/svelte/messageHistory.ts | 40 | export function createMessageHistoryStore( | CODE |
| LOW | …here.js/src/hooks/react/useExternalConnectionStatus.ts | 97 | export function useExternalConnectionStatus( | CODE |
| LOW | modules/crewai/sidecar/tests/test_sessions_lifecycle.py | 45 | def test_post_session_drains_then_delete_is_idempotent(app_with_crew) -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_sessions_lifecycle.py | 73 | def test_delete_during_stream_cancels_producer() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools_in_sessions.py | 69 | def test_session_with_tools_injects_them_on_each_agent() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools_in_sessions.py | 104 | def test_session_with_tools_calls_callback_when_tool_fires() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools_in_sessions.py | 166 | def test_session_without_tools_works_unchanged() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools_in_sessions.py | 216 | def test_session_with_system_prompt_threads_into_backstory() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_wire_shape.py | 66 | def test_session_emits_session_then_tokens_then_usage_then_done() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_wire_shape.py | 136 | def test_crew_failure_during_stream_emits_error_frame() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_wire_shape.py | 165 | def test_rejects_oversized_message() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_health.py | 20 | def test_health_returns_ok_with_version(client) -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 51 | def test_build_remote_tool_pydantic_schema() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 84 | def test_build_remote_tool_unknown_type_falls_back_to_any(caplog) -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 103 | def test_remote_tool_posts_to_callback() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 144 | def test_remote_tool_propagates_error() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 167 | def test_remote_tool_propagates_http_error() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 187 | def test_build_remote_tool_rejects_empty_callback_url() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 197 | def test_inject_tools_into_crew_appends_to_each_agent() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 216 | def test_inject_tools_handles_none_tools_field() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 227 | def test_inject_tools_noop_when_no_tools() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 239 | def test_apply_system_prompt_prepends_block_to_backstory() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 256 | def test_apply_system_prompt_idempotent() -> None: | CODE |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 272 | def test_apply_system_prompt_noop_on_empty() -> None: | CODE |
| LOW | …/main/java/org/atmosphere/mcp/ToolResponseHandler.java | 40 | public class ToolResponseHandler implements AtmosphereHandler { | CODE |
| LOW | …/ai/langchain4j/ToolAwareStreamingResponseHandler.java | 48 | class ToolAwareStreamingResponseHandler implements StreamingChatResponseHandler { | CODE |
| LOW | …ai/langchain4j/AtmosphereStreamingResponseHandler.java | 34 | public class AtmosphereStreamingResponseHandler implements StreamingChatResponseHandler { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 210 | // Step 1: Create instance and inject fields | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 214 | // Step 2: Parse skill file | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 232 | // Step 3: Scan @Command methods | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 236 | // Step 4: Find @Prompt method | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 241 | // Step 5: Resolve AI infrastructure | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 265 | // Step 6: Parse @Fleet and resolve agents | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 275 | // Step 7: Validate fleet | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 372 | // Step 9: Register handler | COMMENT |
| LOW⚡ | …sphere/coordinator/processor/CoordinatorProcessor.java | 382 | // Step 10: Register protocol bridges | COMMENT |
| LOW | …sphere/coordinator/processor/CoordinatorProcessor.java | 286 | // Step 8: Create AgentFleet and AiEndpointHandler with injectable | COMMENT |
| LOW | …sphere/coordinator/processor/CoordinatorProcessor.java | 423 | // Step 11: Log fleet topology | COMMENT |
| LOW⚡ | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 159 | // Step 3: Scan @Command methods | COMMENT |
| LOW⚡ | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 163 | // Step 4: Find @Prompt or use synthetic default | COMMENT |
| LOW⚡ | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 169 | // Step 5: Resolve AI infrastructure | COMMENT |
| LOW | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 124 | // Step 1: Create instance and inject fields | COMMENT |
| LOW | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 139 | // Step 2: Parse skill file → system prompt | COMMENT |
| LOW | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 196 | // Step 6: Create AgentHandler | COMMENT |
| LOW | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 275 | // Step 7: Register handler at /atmosphere/agent/{name} | COMMENT |
| LOW | …ava/org/atmosphere/agent/processor/AgentProcessor.java | 317 | // Step 12: Log summary | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/sign-skillcards.sh | 27 | # Usage: | COMMENT |
| LOW | scripts/verify-skillcards.sh | 10 | # Usage: | COMMENT |
| LOW⚡ | scripts/validate-no-private-handle.sh | 28 | # Usage: | COMMENT |
| LOW | scripts/validate-blog-claims.sh | 30 | # Usage: | COMMENT |
| LOW⚡ | scripts/test-channels-manual.sh | 9 | # Usage: | COMMENT |
| LOW | scripts/pre-push-validate.sh | 18 | # Usage: | COMMENT |
| LOW | scripts/architectural-validation.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/release-gate-samples.sh | 32 | # Usage: | COMMENT |
| LOW⚡ | scripts/regen-capability-snapshot.sh | 21 | # Usage: | COMMENT |
| LOW | scripts/regen-skillcards.sh | 34 | # Usage: | COMMENT |
| LOW | scripts/validate-dangling-doc-comments.sh | 21 | # Usage: | COMMENT |
| LOW | scripts/scan-skillcards.sh | 31 | # Usage: | COMMENT |
| LOW | scripts/benchmarks/run-streaming-load.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/benchmarks/run-jmh.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/benchmarks/vt-pinning-check.sh | 9 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cli/install.sh | 123 | printf " atmosphere new my-app # Create a new project\n" | CODE |
| MEDIUM | cli/e2e-test-cli-runtime.sh | 354 | # Create a minimal fixture skill file | COMMENT |
| MEDIUM | cli/test-cli.sh | 1064 | # Create a test skill file with YAML frontmatter and ## Tools | COMMENT |
| MEDIUM | cli/homebrew/atmosphere.rb | 25 | # Create a wrapper that sets JAVA_HOME and links samples.json | COMMENT |
| MEDIUM | cli/homebrew/atmosphere.rb | 46 | atmosphere new my-app # Create a project | CODE |
| MEDIUM | …-classroom/src/main/resources/atmosphere-policies.yaml | 4 | # This file is loaded by PoliciesConfig at startup and parsed into | COMMENT |
| MEDIUM⚡ | scripts/validation-patterns.toml | 2 | # This file defines patterns that indicate code quality anti-patterns. | COMMENT |
| MEDIUM | .github/workflows/release-4x.yml | 706 | # Create the ZIP with the well-formed layout | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/promote-changelog.py | 19 | CODE | |
| LOW | modules/crewai/sidecar/tests/test_sessions_lifecycle.py | 20 | CODE | |
| LOW | modules/crewai/sidecar/tests/conftest.py | 22 | CODE | |
| LOW | modules/crewai/sidecar/tests/test_tools_in_sessions.py | 21 | CODE | |
| LOW | modules/crewai/sidecar/tests/test_wire_shape.py | 21 | CODE | |
| LOW | modules/crewai/sidecar/tests/test_health.py | 15 | CODE | |
| LOW | modules/crewai/sidecar/tests/test_tools.py | 20 | CODE | |
| LOW | …rewai/sidecar/src/atmosphere_crewai_bridge/sessions.py | 30 | CODE | |
| LOW | …s/crewai/sidecar/src/atmosphere_crewai_bridge/tools.py | 45 | CODE | |
| LOW | …rewai/sidecar/src/atmosphere_crewai_bridge/__init__.py | 27 | CODE | |
| LOW | …/crewai/sidecar/src/atmosphere_crewai_bridge/stream.py | 41 | CODE | |
| LOW | …les/crewai/sidecar/src/atmosphere_crewai_bridge/app.py | 27 | CODE | |
| LOW | …les/crewai/sidecar/src/atmosphere_crewai_bridge/app.py | 40 | CODE | |
| LOW | …rewai/sidecar/src/atmosphere_crewai_bridge/__main__.py | 23 | CODE | |
| LOW | …ai/sidecar/src/atmosphere_crewai_bridge/crew_loader.py | 35 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .harness/drift-log.md | 660 | | 58 | 22 committed files referenced the project maintainer by a private role-play handle defined only in their local `~ | CODE |
| LOW | …a/org/atmosphere/ai/filter/PiiRedactionFilterTest.java | 44 | assertEquals("[REDACTED]", filter.redact("user@example.com")); | CODE |
| LOW | …a/org/atmosphere/ai/filter/PiiRedactionFilterTest.java | 68 | assertFalse(result.contains("user@example.com")); | CODE |
| LOW | …a/org/atmosphere/ai/filter/PiiRedactionFilterTest.java | 90 | assertFalse(parsed.data().contains("user@example.com")); | CODE |
| LOW | …a/org/atmosphere/ai/filter/PiiRedactionFilterTest.java | 128 | assertEquals("***", customFilter.redact("user@example.com")); | CODE |
| LOW | …a/org/atmosphere/ai/filter/PiiRedactionFilterTest.java | 155 | assertEquals("user@example.com", customFilter.redact("user@example.com")); | CODE |
| LOW | …i/embabel/AtmosphereEmbabelEnvironmentPostProcessor.kt | 85 | if (apiKey != null) "real" else "placeholder", | CODE |
| LOW | …va/org/atmosphere/channels/slack/SlackChannelTest.java | 60 | channel = new SlackChannel("xoxb-fake-token", SIGNING_SECRET, MAPPER); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …rewai/sidecar/src/atmosphere_crewai_bridge/sessions.py | 38 | logger = logging.getLogger(__name__) | CODE |
| LOW | …s/crewai/sidecar/src/atmosphere_crewai_bridge/tools.py | 55 | logger = logging.getLogger(__name__) | CODE |
| LOW | …rewai/sidecar/src/atmosphere_crewai_bridge/__init__.py | 31 | __all__ = ["__version__"] | CODE |
| LOW | …/crewai/sidecar/src/atmosphere_crewai_bridge/stream.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | …les/crewai/sidecar/src/atmosphere_crewai_bridge/app.py | 44 | logger = logging.getLogger(__name__) | CODE |
| LOW | …rewai/sidecar/src/atmosphere_crewai_bridge/__main__.py | 35 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ai/sidecar/src/atmosphere_crewai_bridge/crew_loader.py | 43 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/crewai/sidecar/src/atmosphere_crewai_bridge/stream.py | 247 | except Exception as exc: # noqa: BLE001 — boundary; log and emit error | CODE |
| LOW | …/crewai/sidecar/src/atmosphere_crewai_bridge/stream.py | 294 | except Exception as exc: # noqa: BLE001 — fall through to non-stream | CODE |
| LOW | …/crewai/sidecar/src/atmosphere_crewai_bridge/stream.py | 346 | except Exception as exc: # noqa: BLE001 — best-effort | CODE |
| LOW | …les/crewai/sidecar/src/atmosphere_crewai_bridge/app.py | 200 | except Exception as exc: # noqa: BLE001 — boundary | CODE |
| LOW | …les/crewai/sidecar/src/atmosphere_crewai_bridge/app.py | 223 | except Exception as exc: # noqa: BLE001 — boundary | CODE |
| LOW | …les/crewai/sidecar/src/atmosphere_crewai_bridge/app.py | 235 | except Exception as exc: # noqa: BLE001 — boundary; do not block on | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …s/crewai/sidecar/src/atmosphere_crewai_bridge/tools.py | 164 | Build a single CrewAI ``BaseTool`` subclass from a descriptor. The returned tool is a pydantic-validated CrewAI too | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/promote-changelog.py | 49 | CODE | |
| LOW | modules/crewai/sidecar/tests/test_wire_shape.py | 32 | CODE | |
| LOW | …/crewai/sidecar/src/atmosphere_crewai_bridge/stream.py | 165 | CODE |