AI Slop Code Risk Monitor

ta4j/ta4j

SlopCodeMonitor badge for ta4j/ta4j Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

A Java library for technical analysis.

2.2 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for ta4j/ta4j, a Java project with 2,524 GitHub stars. SynthScan examined 540,442 lines of code across 1833 source files, recording 240 pattern matches distributed across 11 syntactic categories. The legacy adjusted pattern signal is 2.2 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

2.2
Adjusted Signal
2.2
Raw Pattern Score
100%
Time Factor
2026-10-30
Last Push
2.5K
Stars
Java
Language
540.4K
Lines of Code
1.8K
Files
240
Pattern Hits
2026-10-31
Scan Date
0.04
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 1.1/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 82 finding(s).

Hallucinated Dependency & Supply Chain Risk 7.2/100 · LOW

Are imports declared and package/API names verified? 75 finding(s).

Agent Over-Engineering Ratio 2.5/100 · LOW

Are wrappers, guards, and repeated structures necessary? 84 finding(s).

PR Review Velocity Impact 9.5/100 · LOW

Which changes need focused human review? 240 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 75HIGH 0MEDIUM 83LOW 82

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 240 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hallucination Indicators75 hits · 810 pts
SeverityFileLineSnippetContext
CRITICALta4j-core/src/test/java/org/ta4j/core/TestUtils.java133 org.junit.jupiter.api.Assertions.assertEquals(expected.getBarSeries().getBarCount(),CODE
CRITICALta4j-core/src/test/java/org/ta4j/core/TestUtils.java223 org.junit.jupiter.api.Assertions.assertEquals(expected.getBarSeries().getBarCount(),CODE
CRITICAL⚡…core/analysis/elliott/ElliottResearchOutcomesTest.java313 .confidence(org.ta4j.core.indicators.elliott.ElliottConfidence.zero(tape.numFactory()))CODE
CRITICAL⚡…core/analysis/elliott/ElliottResearchOutcomesTest.java321 final org.ta4j.core.indicators.elliott.ElliottWaveAnalysisResult.BaseScenarioAssessment assessment = new orgCODE
CRITICAL⚡…core/analysis/elliott/ElliottResearchOutcomesTest.java326 final org.ta4j.core.indicators.elliott.walkforward.ElliottWaveOutcome.EventOutcome released = new org.ta4j.cCODE
CRITICAL…a4j/core/analysis/elliott/BlockBootstrapNullsTest.java283 .withNumFactory(org.ta4j.core.num.DoubleNumFactory.getInstance())CODE
CRITICAL…a4j/core/analysis/elliott/BlockBootstrapNullsTest.java510 .withNumFactory(org.ta4j.core.num.DoubleNumFactory.getInstance())CODE
CRITICAL…a4j/core/analysis/elliott/BlockBootstrapNullsTest.java515 final Num close = org.ta4j.core.num.DoubleNum.valueOf(closes[index]);CODE
CRITICAL⚡…alysis/elliott/swing/SlopeChangeSwingDetectorTest.java56 org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class,CODE
CRITICAL⚡…alysis/elliott/swing/SlopeChangeSwingDetectorTest.java58 org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class,CODE
CRITICAL⚡…alysis/elliott/swing/SlopeChangeSwingDetectorTest.java60 org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class,CODE
CRITICAL…rg/ta4j/core/indicators/KalmanFilterIndicatorTest.java218 if (numFactory == org.ta4j.core.num.DoubleNumFactory.getInstance()) {CODE
CRITICAL…tors/forecast/AnalogReturnProjectionIndicatorTest.java51 org.ta4j.core.indicators.helpers.LogReturnIndicator returns = new org.ta4j.core.indicators.helpers.LogReturnIndiCODE
CRITICAL…tors/forecast/AnalogReturnProjectionIndicatorTest.java72 new org.ta4j.core.indicators.helpers.LogReturnIndicator(series));CODE
CRITICAL…tors/forecast/AnalogReturnProjectionIndicatorTest.java613 org.ta4j.core.indicators.helpers.LogReturnIndicator returns = new org.ta4j.core.indicators.helpers.LogReturnIndiCODE
CRITICAL⚡…re/indicators/elliott/ElliottConfidenceScorerTest.java187 assertThat(timeScoreA.doubleValue()).isCloseTo(0.5, org.assertj.core.api.Assertions.within(0.01));CODE
CRITICAL⚡…re/indicators/elliott/ElliottConfidenceScorerTest.java188 assertThat(timeScoreB.doubleValue()).isCloseTo(0.5, org.assertj.core.api.Assertions.within(0.01));CODE
CRITICAL⚡…re/indicators/elliott/ElliottConfidenceScorerTest.java189 assertThat(timeScoreC.doubleValue()).isCloseTo(0.5, org.assertj.core.api.Assertions.within(0.01));CODE
CRITICAL…re/indicators/elliott/ElliottConfidenceScorerTest.java230 assertThat(timeScore.doubleValue()).isCloseTo(0.5, org.assertj.core.api.Assertions.within(0.01));CODE
CRITICAL⚡…re/indicators/elliott/ElliottConfidenceScorerTest.java268 assertThat(altScoreA.doubleValue()).isCloseTo(0.5, org.assertj.core.api.Assertions.within(0.01));CODE
CRITICAL⚡…re/indicators/elliott/ElliottConfidenceScorerTest.java269 assertThat(altScoreB.doubleValue()).isCloseTo(0.5, org.assertj.core.api.Assertions.within(0.01));CODE
CRITICAL⚡…re/indicators/elliott/ElliottConfidenceScorerTest.java270 assertThat(altScoreC.doubleValue()).isCloseTo(0.5, org.assertj.core.api.Assertions.within(0.01));CODE
CRITICAL…re/indicators/elliott/ElliottConfidenceScorerTest.java312 assertThat(altScore.doubleValue()).isCloseTo(0.5, org.assertj.core.api.Assertions.within(0.01));CODE
CRITICAL…re/indicators/elliott/ElliottConfidenceScorerTest.java335 assertThat(compScore.doubleValue()).isCloseTo(0.6, org.assertj.core.api.Assertions.within(0.01));CODE
CRITICAL…re/indicators/elliott/ElliottConfidenceScorerTest.java348 org.assertj.core.api.Assertions.within(0.01));CODE
CRITICAL⚡…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java2084 assertThat(assessment.structureScore()).isCloseTo(0.824, org.assertj.core.data.Offset.offset(1.0e-12));CODE
CRITICAL⚡…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java2085 assertThat(assessment.ruleScore()).isCloseTo(0.7533333333333333, org.assertj.core.data.Offset.offset(1.0e-12));CODE
CRITICAL⚡…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java2087 org.assertj.core.data.Offset.offset(1.0e-12));CODE
CRITICAL⚡…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java2088 assertThat(assessment.strengthScore()).isCloseTo(0.825, org.assertj.core.data.Offset.offset(1.0e-12));CODE
CRITICAL⚡…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java2089 assertThat(assessment.fitScore()).isCloseTo(0.795, org.assertj.core.data.Offset.offset(1.0e-12));CODE
CRITICAL⚡…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java2099 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1109 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1141 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1173 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1210 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1247 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1290 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1329 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1379 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1422 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1468 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1531 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1562 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1588 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1625 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1653 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1687 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1723 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1787 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java1931 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java2071 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java2132 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java2164 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/indicators/elliott/ElliottWaveAnalysisRunnerTest.java2196 NumFactory factory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…j/core/indicators/zigzag/ZigZagStateIndicatorTest.java60 final IllegalArgumentException fourArgument = org.junit.jupiter.api.Assertions.assertThrows(CODE
CRITICAL…icators/zigzag/RecentZigZagSwingHighIndicatorTest.java169 org.junit.jupiter.api.Assertions.assertThrows(IllegalArgumentException.class,CODE
CRITICAL…a/org/ta4j/core/indicators/zigzag/ZigZagStateTest.java14 private final NumFactory numFactory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…a/drawdown/MonteCarloMaximumDrawdownCriterionTest.java361 NumFactory decimalFactory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…a/drawdown/MonteCarloMaximumDrawdownCriterionTest.java381 NumFactory decimalFactory = org.ta4j.core.num.DecimalNumFactory.getInstance();CODE
CRITICAL…/org/ta4j/core/walkforward/WalkForwardMetricsTest.java137 return org.assertj.core.data.Offset.offset(offset);CODE
15 more matches not shown…
Decorative Section Separators79 hits · 262 pts
SeverityFileLineSnippetContext
MEDIUMscripts/prepare-release.sh4# =============================================================================COMMENT
MEDIUM⚡scripts/prepare-release.sh26# =============================================================================COMMENT
MEDIUM⚡scripts/prepare-release.sh36# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/prepare-release.sh38# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/prepare-release.sh46# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/prepare-release.sh48# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/prepare-release.sh103# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/prepare-release.sh105# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/prepare-release.sh136# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/prepare-release.sh138# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/prepare-release.sh156# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/prepare-release.sh158# -----------------------------------------------------------------------------COMMENT
MEDIUM⚡scripts/validate-central-metadata.sh4# =============================================================================COMMENT
MEDIUM⚡scripts/validate-central-metadata.sh13# =============================================================================COMMENT
MEDIUM⚡scripts/resolve-release-tags.sh4# =============================================================================COMMENT
MEDIUM⚡scripts/resolve-release-tags.sh17# =============================================================================COMMENT
MEDIUMscripts/tests/test_resolve_release_tags.sh4# =============================================================================COMMENT
MEDIUMscripts/tests/test_resolve_release_tags.sh8# =============================================================================COMMENT
MEDIUMscripts/tests/test_prepare_release.sh4# =============================================================================COMMENT
MEDIUMscripts/tests/test_prepare_release.sh12# =============================================================================COMMENT
MEDIUMscripts/tests/test_prepare_release.sh69# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh71# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh137# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh139# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh174# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh176# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh208# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh210# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh261# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh263# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh289# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh291# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_prepare_release.sh329# -----------------------------------------------------------------------------COMMENT
MEDIUMscripts/tests/test_release_helpers.sh4# =============================================================================COMMENT
MEDIUMscripts/tests/test_release_helpers.sh8# =============================================================================COMMENT
MEDIUMscripts/tests/test_validate_central_metadata.sh4# =============================================================================COMMENT
MEDIUMscripts/tests/test_validate_central_metadata.sh8# =============================================================================COMMENT
MEDIUM.github/workflows/release-scheduler.yml75 # -----------------------COMMENT
MEDIUM.github/workflows/release-scheduler.yml77 # -----------------------COMMENT
MEDIUM.github/workflows/release-scheduler.yml267 # -----------------------COMMENT
MEDIUM.github/workflows/release-scheduler.yml269 # -----------------------COMMENT
MEDIUM.github/workflows/release-scheduler.yml374 # -----------------------COMMENT
MEDIUM.github/workflows/release-scheduler.yml376 # -----------------------COMMENT
MEDIUM.github/workflows/release-scheduler.yml451 # -----------------------COMMENT
MEDIUM.github/workflows/release-scheduler.yml453 # -----------------------COMMENT
MEDIUM.github/workflows/release-scheduler.yml844 # -----------------------COMMENT
MEDIUM.github/workflows/release-scheduler.yml846 # -----------------------COMMENT
MEDIUM.github/workflows/release-scheduler.yml934 # -----------------------COMMENT
MEDIUM.github/workflows/release-scheduler.yml936 # -----------------------COMMENT
MEDIUM.github/workflows/prepare-release.yml33 # -----------------------COMMENT
MEDIUM.github/workflows/prepare-release.yml35 # -----------------------COMMENT
MEDIUM.github/workflows/prepare-release.yml241 # -----------------------COMMENT
MEDIUM.github/workflows/prepare-release.yml243 # -----------------------COMMENT
MEDIUM.github/workflows/prepare-release.yml418 # -----------------------COMMENT
MEDIUM.github/workflows/prepare-release.yml420 # -----------------------COMMENT
MEDIUM.github/workflows/prepare-release.yml439 # -----------------------COMMENT
MEDIUM.github/workflows/prepare-release.yml441 # -----------------------COMMENT
MEDIUM.github/workflows/prepare-release.yml518 # -----------------------COMMENT
MEDIUM.github/workflows/prepare-release.yml520 # -----------------------COMMENT
MEDIUM.github/workflows/prepare-release.yml757 # -----------------------COMMENT
19 more matches not shown…
Verbosity Indicators21 hits · 38 pts
SeverityFileLineSnippetContext
LOW…4j-examples/src/main/java/ta4jexamples/Quickstart.java57 // Step 1: Load historical price dataCOMMENT
LOW⚡…4j-examples/src/main/java/ta4jexamples/Quickstart.java70 // Step 2: Create indicatorsCOMMENT
LOW⚡…4j-examples/src/main/java/ta4jexamples/Quickstart.java78 // Step 3: Build trading rulesCOMMENT
LOW⚡…4j-examples/src/main/java/ta4jexamples/Quickstart.java93 // Step 4: Run backtestCOMMENT
LOW⚡…4j-examples/src/main/java/ta4jexamples/Quickstart.java100 // Step 5: Analyze resultsCOMMENT
LOW…4j-examples/src/main/java/ta4jexamples/Quickstart.java126 // Step 6: Visualize the strategyCOMMENT
LOW…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java84 // Step 1: Load historical price data from Yahoo FinanceCOMMENT
LOW…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java115 // Step 2: Create base indicatorsCOMMENT
LOW…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java158 // Step 3: Build advanced trading rulesCOMMENT
LOW⚡…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java203 // Step 4: Run backtestCOMMENT
LOW⚡…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java210 // Step 5: Advanced performance analysisCOMMENT
LOW…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java253 // Step 6: Visualize the strategy with multiple subchartsCOMMENT
LOW…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java287 // Step 7: Explain advanced conceptsCOMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java87 // Step 1: Load historical price data from CoinbaseCOMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java118 // Step 2: Create advanced indicatorsCOMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java157 // Step 3: Build trend-following strategy with risk managementCOMMENT
LOW⚡…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java192 // Step 4: Run backtestCOMMENT
LOW⚡…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java199 // Step 5: Performance analysis with transaction costsCOMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java273 // Step 6: Compare strategies (with and without trailing stop)COMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java295 // Step 7: Visualize the strategyCOMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java330 // Step 8: Explain advanced conceptsCOMMENT
Structural Annotation Overuse21 hits · 38 pts
SeverityFileLineSnippetContext
LOW…4j-examples/src/main/java/ta4jexamples/Quickstart.java57 // Step 1: Load historical price dataCOMMENT
LOW⚡…4j-examples/src/main/java/ta4jexamples/Quickstart.java70 // Step 2: Create indicatorsCOMMENT
LOW⚡…4j-examples/src/main/java/ta4jexamples/Quickstart.java78 // Step 3: Build trading rulesCOMMENT
LOW⚡…4j-examples/src/main/java/ta4jexamples/Quickstart.java93 // Step 4: Run backtestCOMMENT
LOW⚡…4j-examples/src/main/java/ta4jexamples/Quickstart.java100 // Step 5: Analyze resultsCOMMENT
LOW…4j-examples/src/main/java/ta4jexamples/Quickstart.java126 // Step 6: Visualize the strategyCOMMENT
LOW…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java84 // Step 1: Load historical price data from Yahoo FinanceCOMMENT
LOW…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java115 // Step 2: Create base indicatorsCOMMENT
LOW…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java158 // Step 3: Build advanced trading rulesCOMMENT
LOW⚡…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java203 // Step 4: Run backtestCOMMENT
LOW⚡…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java210 // Step 5: Advanced performance analysisCOMMENT
LOW…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java253 // Step 6: Visualize the strategy with multiple subchartsCOMMENT
LOW…ava/ta4jexamples/backtesting/YahooFinanceBacktest.java287 // Step 7: Explain advanced conceptsCOMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java87 // Step 1: Load historical price data from CoinbaseCOMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java118 // Step 2: Create advanced indicatorsCOMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java157 // Step 3: Build trend-following strategy with risk managementCOMMENT
LOW⚡…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java192 // Step 4: Run backtestCOMMENT
LOW⚡…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java199 // Step 5: Performance analysis with transaction costsCOMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java273 // Step 6: Compare strategies (with and without trailing stop)COMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java295 // Step 7: Visualize the strategyCOMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java330 // Step 8: Explain advanced conceptsCOMMENT
Over-Commented Block32 hits · 32 pts
SeverityFileLineSnippetContext
LOW…e/analysis/event/EventMutualInformationResultTest.java241 // per nonempty sample group, so a direct construction or deserializedCOMMENT
LOW…a/org/ta4j/core/indicators/MassIndexIndicatorTest.java61 public void massIndexUsing3And8BarCounts() {COMMENT
LOW…/org/ta4j/core/indicators/ConnorsRSIIndicatorTest.java81COMMENT
LOW…tatistics/DynamicTimeWarpingDistanceIndicatorTest.java1141 assertTrue(distance.isPositive());COMMENT
LOW…g/ta4j/core/indicators/averages/EDMAIndicatorTest.java101 // When calculate(i) is called, it returns results.get(i - displacement).COMMENT
LOW…rg/ta4j/core/indicators/candles/DojiIndicatorTest.java321 public void zeroRangeFactorOnlyQualifiesZeroBody() {COMMENT
LOW…a4j/core/serialization/IndicatorSerializationTest.java381 assertThat(exception.getMessage()).contains("Unknown indicator type: CircularTestIndicator");COMMENT
LOW…ain/java/org/ta4j/core/research/ParameterResearch.java881 if (!(parsed >= d.from() && parsed <= d.to())) {COMMENT
LOW…n/java/org/ta4j/core/research/ParticleSwarmEngine.java321 // them here: without it the sweep cursor can wrap around within oneCOMMENT
LOW…rg/ta4j/core/analysis/elliott/BlockBootstrapNulls.java361 }COMMENT
LOW…/core/analysis/event/EventMutualInformationResult.java201 double normalized = normalizedMutualInformation.doubleValue();COMMENT
LOW…re/analysis/event/EventMutualInformationEvaluator.java241 }COMMENT
LOW…re/analysis/event/EventMutualInformationEvaluator.java321 Num ratio = jointProbability.dividedBy(predictorProbability.multipliedBy(targetProbability));COMMENT
LOW…ain/java/org/ta4j/core/indicators/CachedIndicator.java521 // Cross-series dependencies are reconciled in the same pass so aCOMMENT
LOW…ain/java/org/ta4j/core/indicators/CachedIndicator.java581 if (cache.isWriteLockedByCurrentThread()) {COMMENT
LOW…e/indicators/statistics/DynamicTimeWarpingSupport.java81 // derived mean differs from a direct accumulation only by finalCOMMENT
LOW…e/indicators/statistics/DynamicTimeWarpingSupport.java241 // operands to the larger scale, and halve both with aCOMMENT
LOW…re/indicators/statistics/CorrelationWindowSupport.java201 // means and centered sums stay finite and the ratio equals theCOMMENT
LOW…rg/ta4j/core/indicators/statistics/CusumIndicator.java241 // such as 1e-400 through doubleValue() collapses it to zero.COMMENT
LOW…/core/indicators/statistics/EwmaVarianceIndicator.java241 // Only the variance leg collapsed. Re-anchor it on the seedCOMMENT
LOW…/core/indicators/statistics/EwmaVarianceIndicator.java281 }COMMENT
LOW…rs/statistics/event/EventSynchronizationIndicator.java241 // retained begin index to the first retained bar; this indicator'sCOMMENT
LOW…rs/statistics/event/EventSynchronizationIndicator.java341 // before the post-scan snapshot comparison below. Retry theCOMMENT
LOW…j-core/src/main/java/org/ta4j/core/num/DecimalNum.java741 // remainder 0 <= b < 1COMMENT
LOW…org/ta4j/core/criteria/ProcessCapabilityCriterion.java201 // Capability ratios are computed in the deviation-normalized domain,COMMENT
LOW…org/ta4j/core/criteria/ProcessCapabilityCriterion.java221 // mean by the same scale separately rounds both quotients for aCOMMENT
LOW…ore/criteria/pnl/AbstractProfitLossRatioCriterion.java141 }COMMENT
LOWscripts/prepare-release.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/validate-central-metadata.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/resolve-release-tags.sh1#!/usr/bin/env bashCOMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java121COMMENT
LOW…in/java/ta4jexamples/backtesting/CoinbaseBacktest.java161 // Entry rule: Buy when MACD crosses above signal line (bullish crossover)COMMENT
Example Usage Blocks3 hits · 7 pts
SeverityFileLineSnippetContext
LOW⚡scripts/prepare-release.sh19# Usage:COMMENT
LOW⚡scripts/validate-central-metadata.sh10# Usage:COMMENT
LOW⚡scripts/resolve-release-tags.sh9# Usage:COMMENT
Modern AI Meta-Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM…e/indicators/statistics/SinglePrecisionNumFactory.java83 // (ULP(1.0f) is about 1.2e-7), so precision-aware guardrails such asCOMMENT
MEDIUM…re/src/main/java/org/ta4j/core/serialization/AGENTS.md30## Serialization guardrailsCOMMENT
Excessive Try-Catch Wrapping4 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUM⚡scripts/prepare-release.sh148 print(f"Error: invalid release version '{version}' (expected major.minor.patch)", file=sys.stderr)CODE
LOW.github/workflows/prepare-release.yml160 except Exception as exc:CODE
LOW.github/workflows/publish-release.yml139 except Exception as exc:CODE
LOW.github/workflows/github-release.yml176 except Exception as exc:CODE
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…e/indicators/CorrentropyKalmanWeightIndicatorTest.java71 // contributed to the robust estimate.COMMENT
TODO Padding1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…dicators/statistics/PeriodicalGrowthRateIndicator.java99 // TODO: implement Num.floor()COMMENT
Hyper-Verbose Identifiers1 hit · 1 pts
SeverityFileLineSnippetContext
LOW.github/workflows/prepare-release.yml608 async function findManagedIssuesForVersion() {CODE