AI Slop Code Risk Monitor

microsoft/flint-chart

SlopCodeMonitor badge for microsoft/flint-chart Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

🪄 Flint is a visualization language that lets AI agents reliably create expressive, good-looking charts from simple, human-editable chart specs.

0.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for microsoft/flint-chart, a TypeScript project with 4,520 GitHub stars. SynthScan examined 2,410,604 lines of code across 3780 source files, recording 1055 pattern matches distributed across 16 syntactic categories. The legacy adjusted pattern signal is 0.9 (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.

0.9
Adjusted Signal
0.9
Raw Pattern Score
100%
Time Factor
2026-11-01
Last Push
4.5K
Stars
TypeScript
Language
2.4M
Lines of Code
3.8K
Files
1.1K
Pattern Hits
2026-10-31
Scan Date
0.01
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.0/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.4/100 · LOW

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

Agent Over-Engineering Ratio 3.9/100 · LOW

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

PR Review Velocity Impact 4.4/100 · LOW

Which changes need focused human review? 1055 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 9HIGH 20MEDIUM 460LOW 566

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 1055 distinct pattern matches across 16 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.

Decorative Section Separators456 hits · 1474 pts
SeverityFileLineSnippetContext
MEDIUMpackages/flint-py/tools/run_full_eval.py133 # ─── Report ─────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/flint-py/tools/run_full_eval.py160 # ─── Executive summary ────────────────────────────────────────────────COMMENT
MEDIUMpackages/flint-py/tools/run_full_eval.py191 # ─── Methodology ───────────────────────────────────────────────────────COMMENT
MEDIUMpackages/flint-py/tools/run_full_eval.py225 # ─── Breakdown tables ──────────────────────────────────────────────────COMMENT
MEDIUMpackages/flint-py/tools/run_full_eval.py262 # ─── Gap analysis ──────────────────────────────────────────────────────COMMENT
MEDIUMpackages/flint-py/tools/run_full_eval.py284 # ─── MISMATCH detail (should be empty now) ─────────────────────────────COMMENT
MEDIUMpackages/flint-py/tools/run_full_eval.py298 # ─── JS_ERROR detail ──────────────────────────────────────────────────COMMENT
MEDIUMpackages/flint-py/tools/run_full_eval.py312 # ─── Notes on key compatibility fixes applied during this port ────────COMMENT
MEDIUM…flint-py/tests/unit/test_chart_option_applicability.py19# ── stackMode ───────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…flint-py/tests/unit/test_chart_option_applicability.py77# ── independentYAxis ────────────────────────────────────────────────────────COMMENT
MEDIUM…flint-py/tests/unit/test_chart_option_applicability.py111# ── showPercent ─────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…flint-py/tests/unit/test_chart_option_applicability.py142# ── xAxisType / yAxisType ───────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/flint-py/tests/unit/test_sort_action.py12# ── get — derive control value from base encodings ─────────────────────────COMMENT
MEDIUM⚡packages/flint-py/tests/unit/test_sort_action.py67# ── isApplicable — type-aware visibility gate ──────────────────────────────COMMENT
MEDIUM⚡packages/flint-py/tests/unit/test_sort_action.py87# ── set — compose the override onto the category channel ──────────────────COMMENT
MEDIUM⚡packages/flint-py/tests/unit/test_sort_action.py127# ── end-to-end: override composed by the compiler ─────────────────────────COMMENT
MEDIUM⚡packages/flint-py/tests/unit/test_zero_baseline.py68# ── offer eligibility ───────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/flint-py/tests/unit/test_zero_baseline.py131# ── override propagation ────────────────────────────────────────────────────COMMENT
MEDIUMpackages/flint-py/flint/core/decisions.py227# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/decisions.py229# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/decisions.py298# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/decisions.py300# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/decisions.py324# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/decisions.py326# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/decisions.py347# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/decisions.py349# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/decisions.py386# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/decisions.py388# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/decisions.py400# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/decisions.py402# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py208# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py210# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py222# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py224# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py235# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py237# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py268# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py270# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py403# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py405# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py413# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py415# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py495# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py497# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py533# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py535# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py543# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡packages/flint-py/flint/core/field_semantics.py545# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py16# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py18# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py42# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py44# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py164# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py166# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py356# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py358# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py385# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py387# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py435# ---------------------------------------------------------------------------COMMENT
MEDIUMpackages/flint-py/flint/core/field_semantics.py437# ---------------------------------------------------------------------------COMMENT
396 more matches not shown…
Hyper-Verbose Identifiers340 hits · 350 pts
SeverityFileLineSnippetContext
LOWscripts/gen-chart-reference.ts536function renderInteractionSupportTable(locale: 'en' | 'zh-CN'): string {CODE
LOWpackages/flint-py/tests/test_fixtures.py104def test_fixture_matches_js_reference(slug: str, path: Path, assemble_vegalite) -> None:CODE
LOW…flint-py/tests/unit/test_chart_option_applicability.py27def test_stack_mode_applicable_when_color_bound():CODE
LOW…flint-py/tests/unit/test_chart_option_applicability.py40def test_stack_mode_not_applicable_without_color_channel():CODE
LOW⚡…flint-py/tests/unit/test_chart_option_applicability.py71def test_area_opacity_only_applicable_for_layered_multi_series():CODE
LOW⚡…flint-py/tests/unit/test_chart_option_applicability.py85def test_independent_y_axis_applicable_when_faceted():CODE
LOW…flint-py/tests/unit/test_chart_option_applicability.py98def test_independent_y_axis_not_applicable_when_not_faceted():CODE
LOW⚡…flint-py/tests/unit/test_chart_option_applicability.py125def test_show_percent_applicable_for_additive_single_sign_measure():CODE
LOW⚡…flint-py/tests/unit/test_chart_option_applicability.py133def test_show_percent_not_applicable_for_mixed_sign_measure():CODE
LOW⚡…flint-py/tests/unit/test_chart_option_applicability.py166def test_x_axis_type_applicable_for_date_like_x_with_modest_distinct():CODE
LOW⚡…flint-py/tests/unit/test_chart_option_applicability.py171def test_x_axis_type_forces_discrete_nominal_when_user_picks_nominal():CODE
LOW⚡…flint-py/tests/unit/test_chart_option_applicability.py177def test_x_axis_type_not_applicable_for_plain_categorical_x():CODE
LOW…flint-py/tests/unit/test_chart_option_applicability.py191def test_y_axis_type_offered_for_date_like_temporal_y():CODE
LOW…flint-py/tests/unit/test_chart_option_applicability.py204def test_y_axis_type_forces_discrete_nominal_when_user_picks_nominal():CODE
LOWpackages/flint-py/tests/unit/test_bar_table_facet.py25def test_hoists_column_facets_around_hconcat_bar_table_and_wraps():CODE
LOWpackages/flint-py/tests/unit/test_bar_table_facet.py59def test_rolls_rows_up_within_each_facet_without_undefined_facet():CODE
LOWpackages/flint-py/tests/unit/test_bar_table_facet.py95def test_computes_percentage_totals_within_each_facet():CODE
LOW⚡packages/flint-py/tests/unit/test_encoding_shorthand.py19def test_coerce_expands_bare_string():CODE
LOW⚡packages/flint-py/tests/unit/test_encoding_shorthand.py23def test_coerce_expands_strings_in_list():CODE
LOW⚡packages/flint-py/tests/unit/test_encoding_shorthand.py30def test_coerce_passes_through_objects():CODE
LOW⚡packages/flint-py/tests/unit/test_encoding_shorthand.py37def test_normalize_mixes_shorthand_and_full():CODE
LOW⚡packages/flint-py/tests/unit/test_encoding_shorthand.py43def test_shorthand_spec_matches_explicit_spec():CODE
LOW…ges/flint-py/tests/unit/test_closed_domain_stacking.py9def test_drops_intrinsic_clamp_when_color_series_stacks_past_bound():CODE
LOW…ges/flint-py/tests/unit/test_closed_domain_stacking.py30def test_drops_intrinsic_clamp_when_repeated_categories_stack_without_color():CODE
LOW…ges/flint-py/tests/unit/test_closed_domain_stacking.py50def test_detects_overflow_on_negative_side_even_when_signed_totals_cancel():CODE
LOW…ges/flint-py/tests/unit/test_closed_domain_stacking.py71def test_keeps_intrinsic_domain_for_non_stacking_chart():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py14def test_get_returns_none_when_no_sort_is_set():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py19def test_get_reads_value_sort_referencing_measure_channel():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py27def test_get_treats_bare_label_sort_as_default():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py35def test_get_treats_unrepresentable_sorts_as_default():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py43def test_get_detects_horizontal_orientation():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py51def test_get_returns_none_when_category_axis_is_temporal():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py59def test_get_returns_none_when_both_axes_are_quantitative():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py69def test_is_applicable_when_discrete_category_and_measure_pair_exists():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py74def test_is_not_applicable_for_temporal_x_time_series():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py82def test_is_not_applicable_when_no_measure_axis_exists():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py92def test_set_value_desc_writes_sortby_measure_descending():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py98def test_set_default_clears_both_sort_fields():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py105def test_set_does_not_mutate_input_encodings():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py110def test_set_targets_category_channel_under_horizontal_orientation():CODE
LOW⚡packages/flint-py/tests/unit/test_sort_action.py118def test_set_is_noop_when_no_discrete_category_axis():CODE
LOWpackages/flint-py/tests/unit/test_sort_action.py138def test_value_desc_override_sorts_bar_x_axis_by_measure():CODE
LOWpackages/flint-py/tests/unit/test_sort_action.py152def test_no_override_leaves_template_default_ordering():CODE
LOWpackages/flint-py/tests/unit/test_sort_action.py165def test_value_desc_applies_when_measure_type_is_auto():CODE
LOWpackages/flint-py/tests/unit/test_sort_action.py179def test_value_desc_overrides_field_intrinsic_ordinal_ordering():CODE
LOWpackages/flint-py/tests/unit/test_log_scale.py36def test_offers_log_x_on_wide_range_axis():CODE
LOWpackages/flint-py/tests/unit/test_log_scale.py41def test_does_not_offer_log_on_narrow_axis():CODE
LOW⚡packages/flint-py/tests/unit/test_log_scale.py55def test_unset_follows_engine_recommendation_log():CODE
LOW⚡packages/flint-py/tests/unit/test_log_scale.py62def test_false_override_forces_linear_axis():CODE
LOW⚡packages/flint-py/tests/unit/test_log_scale.py68def test_true_forces_log_axis_when_not_recommended():CODE
LOWpackages/flint-py/tests/unit/test_log_scale.py94def test_symlog_for_true_toggle_with_zeros_in_data():CODE
LOWpackages/flint-py/tests/unit/test_log_scale.py109def test_never_offers_log_on_bar_chart():CODE
LOWpackages/flint-py/tests/unit/test_log_scale.py123def test_offers_log_only_on_value_axis_of_line_chart():CODE
LOWpackages/flint-py/tests/unit/test_log_scale.py142def test_get_chart_options_matches_rendered_spec_options():CODE
LOWpackages/flint-py/tests/unit/test_filter_overflow.py36def test_preserves_encounter_order_when_no_sort_is_selected():CODE
LOWpackages/flint-py/tests/unit/test_filter_overflow.py47def test_uses_canonical_semantic_order_when_available():CODE
LOWpackages/flint-py/tests/unit/test_filter_overflow.py62def test_uses_selected_value_sort():CODE
LOWpackages/flint-py/tests/unit/test_banded_label_angle.py9def test_rotates_many_wide_numeric_labels_on_banded_ordinal_x_axis():CODE
LOWpackages/flint-py/tests/unit/test_banded_label_angle.py23def test_keeps_few_short_numeric_labels_horizontal():CODE
LOWpackages/flint-py/tests/unit/test_banded_label_angle.py41def test_continuous_quantitative_x_axis_left_to_vl_overlap_handling():CODE
280 more matches not shown…
Hallucination Indicators9 hits · 90 pts
SeverityFileLineSnippetContext
CRITICALpackages/flint-mcp/tests/board.test.ts127 expect(again._meta.flint.board.charts.map((chart: any) => chart.id)).toEqual(['countries', 'by-country']);CODE
CRITICALpackages/flint-mcp/tests/board.test.ts200 expect(shown._meta.flint.board.charts.map((chart: any) => chart.view)).toEqual([undefined, 'table']);CODE
CRITICALpackages/flint-js/tests/plan-honour.test.ts49 if (node.encoding?.y?.axis?.values) node.encoding.y.axis.values = node.encoding.y.axis.values.slice(1);CODE
CRITICALpackages/flint-js/tests/smoke.test.ts956 const expectedOrder = vegaLite.encoding.y.scale.domain.filter((value: string) =>CODE
CRITICALpackages/flint-js/tests/theme-legend-rows.test.ts400 expect(narrow.encoding.color.legend.title.join(' ')).toBe('Olympic delegations by country');CODE
CRITICALpackages/flint-js/tests/theme-legend-rows.test.ts653 expect(spec.encoding.color.legend.title.join(' ')).toBe(title);CODE
CRITICALpackages/flint-js/tests/temporal-parse.test.ts99 const tick = cj.options.scales.x.ticks.callback(Date.UTC(2025, 0, 1));CODE
CRITICALpackages/flint-js/tests/lane-tooltips.test.ts39 const label = config.options.plugins.tooltip.callbacks.label({ dataset, dataIndex: index, formattedValue: '42', CODE
CRITICALpackages/flint-js/tests/vegalite-format.test.ts196 expect(items.map(item => Number(item.datum.value))).toEqual(spec.encoding.x.axis.values.map((value: string) CODE
Over-Commented Block96 hits · 81 pts
SeverityFileLineSnippetContext
LOWpackages/flint-mcp/ui/src/ChartView.tsx641COMMENT
LOWpackages/flint-mcp/ui/src/render.ts161 // relies on them (e.g. the Bar Table's `datasets.__bt_displayTable` andCOMMENT
LOWpackages/flint-py/flint/vegalite/assemble.py121 size_ceiling = chart_spec.get("canvasSize")COMMENT
LOWpackages/flint-py/flint/vegalite/assemble.py521 # agent, another renderer) reads to know which controls to surface and howCOMMENT
LOW…kages/flint-py/flint/vegalite/templates/candlestick.py61 "value": "#ae1325",COMMENT
LOWpackages/flint-js/src/core/analyze.ts61 // Detect array-valued encodings (static series), validate, and fold data.COMMENT
LOWpackages/flint-js/src/core/analyze.ts81 // that, e.g., a value-sort correctly suppresses the field's canonicalCOMMENT
LOWpackages/flint-js/src/core/analyze.ts101 if ((choice === 'temporal' || choice === 'nominal') && typedRawEncodings[axis]?.field) {COMMENT
LOWpackages/flint-js/src/core/compute-layout.ts921 }COMMENT
LOWpackages/flint-js/src/core/compute-layout.ts1381 // --- Square cells ---COMMENT
LOWpackages/flint-js/src/core/compute-layout.ts1461 }COMMENT
LOWpackages/flint-js/src/core/compute-layout.ts1521COMMENT
LOWpackages/flint-js/src/core/compute-layout.ts1981 // For median |display_slope| = 1: H/W = 1/median(|s_norm|),COMMENT
LOWpackages/flint-js/src/core/compute-layout.ts2081COMMENT
LOWpackages/flint-js/src/core/semantic-types.ts221// The typeHierarchy map and its helper functions (getParentType,COMMENT
LOWpackages/flint-js/src/core/theme/ground.ts241 // An editorial house takes the value axis away — no spine, no ruler — soCOMMENT
LOWpackages/flint-js/src/core/theme/ground.ts661 return true;COMMENT
LOWpackages/flint-js/src/core/theme/ground.ts681// mark itself is the value; a lone number stamped on it would name one of fourCOMMENT
LOWpackages/flint-js/src/core/theme/ground.ts1101 const orient = axisOrient(channel, spec?.placement, channel === indexChannel);COMMENT
LOWpackages/flint-js/src/core/theme/ground.ts1141 // `whenAmbiguous` is a question about the field: `Jan Feb Mar` needsCOMMENT
LOWpackages/flint-js/src/core/theme/ground.ts1281 // Which placements grounding can offer at all. `inline` needs a labelCOMMENT
LOWpackages/flint-js/src/core/theme/ground.ts1381 // colour is the reason the number is worth printing, not a reason toCOMMENT
LOWpackages/flint-js/src/core/theme/ground.ts1421 ? 'the mark carries several measures at once — there is no single value to print, and the measure axCOMMENT
LOWpackages/flint-js/src/core/theme/ground.ts1481 ? measureValueLabels([1], { format: '.0%', text: valueLabel })COMMENT
LOWpackages/flint-js/src/core/theme/ground.ts1501 // — not the band. A single series keeps the whole band and can lean aCOMMENT
LOWpackages/flint-js/src/core/theme/ground.ts1521 const stacked = ctx.stacked || ctx.positional?.stacked;COMMENT
LOWpackages/flint-js/src/core/theme/ground.ts1821COMMENT
LOWpackages/flint-js/src/core/theme/ground.ts1941 // undeclared house gets the same quiet structural grey a declaredCOMMENT
LOWpackages/flint-js/src/core/theme/ground.ts2041 // the world, because there is no boundary to see.COMMENT
LOWpackages/flint-js/src/core/theme/value-label-format.ts141 // the house wrote it.COMMENT
LOWpackages/flint-js/src/core/theme/value-label-format.ts181COMMENT
LOW…ages/flint-js/src/test-data/line-area-stretch-tests.ts381 // -----------------------------------------------------------------------COMMENT
LOWpackages/flint-js/src/test-data/area-tests.ts1// Copyright (c) Microsoft Corporation.COMMENT
LOWpackages/flint-js/src/test-data/area-tests.ts61COMMENT
LOWpackages/flint-js/src/test-data/area-tests.ts81 // Excluded: T×T, Q×T — date-pair data doesn't suit area charts.COMMENT
LOWpackages/flint-js/src/test-data/scatter-tests.ts1// Copyright (c) Microsoft Corporation.COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts121// Semantic type: { semanticType: "Rating", intrinsicDomain: [1, 5] }COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts161 rating: { semanticType: 'Score', intrinsicDomain: [1, 5] },COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts221// AND the semantic type is in the allow-list (Population, GDP, etc.)COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts321 };COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts421//COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts501 revenue: { semanticType: 'Amount', unit: 'USD' },COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts641 genPriceEurCurrencyTest(),COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts741COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts781 },COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts881 y: makeEncodingItem('ytd_change'),COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts921 },COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1061 };COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1161 },COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1221// Semantic type: "Duration" + unit: "min" → "42 min" on axisCOMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1261 x: makeEncodingItem('task'),COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1321}COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1361 },COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1461 },COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1561COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1601 encodingMap: {COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1701 },COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1761// ============================================================================COMMENT
LOWpackages/flint-js/src/test-data/semantic-tests.ts1861}COMMENT
LOWpackages/flint-js/src/test-data/bar-tests.ts1// Copyright (c) Microsoft Corporation.COMMENT
36 more matches not shown…
Unused Imports66 hits · 64 pts
SeverityFileLineSnippetContext
LOWpackages/flint-py/tools/build_results_page.py19CODE
LOWpackages/flint-py/tools/run_full_eval.py11CODE
LOWpackages/flint-py/tools/run_full_eval.py15CODE
LOWpackages/flint-py/tests/test_fixtures.py8CODE
LOW…flint-py/tests/unit/test_chart_option_applicability.py2CODE
LOWpackages/flint-py/tests/unit/test_bar_table_facet.py6CODE
LOWpackages/flint-py/tests/unit/test_encoding_shorthand.py2CODE
LOW…ges/flint-py/tests/unit/test_closed_domain_stacking.py2CODE
LOWpackages/flint-py/tests/unit/test_sort_action.py2CODE
LOWpackages/flint-py/tests/unit/test_log_scale.py2CODE
LOWpackages/flint-py/tests/unit/test_filter_overflow.py1CODE
LOWpackages/flint-py/tests/unit/test_banded_label_angle.py2CODE
LOWpackages/flint-py/tests/unit/test_zero_baseline.py2CODE
LOWpackages/flint-py/tests/unit/test_axis_format.py2CODE
LOWpackages/flint-py/flint/core/filter_overflow.py3CODE
LOWpackages/flint-py/flint/core/decisions.py3CODE
LOWpackages/flint-py/flint/core/types.py7CODE
LOWpackages/flint-py/flint/core/field_semantics.py3CODE
LOWpackages/flint-py/flint/core/type_registry.py7CODE
LOWpackages/flint-py/flint/core/encoding_overrides.py7CODE
LOWpackages/flint-py/flint/core/semantic_types.py3CODE
LOWpackages/flint-py/flint/core/semantic_types.py8CODE
LOWpackages/flint-py/flint/core/compute_layout.py3CODE
LOWpackages/flint-py/flint/core/compute_layout.py6CODE
LOWpackages/flint-py/flint/core/compute_layout.py7CODE
LOWpackages/flint-py/flint/core/compute_layout.py7CODE
LOWpackages/flint-py/flint/core/encoding_actions.py9CODE
LOWpackages/flint-py/flint/core/color_decisions.py3CODE
LOWpackages/flint-py/flint/core/js_date.py33CODE
LOWpackages/flint-py/flint/core/resolve_semantics.py3CODE
LOWpackages/flint-py/flint/core/resolve_semantics.py12CODE
LOWpackages/flint-py/flint/vegalite/__init__.py1CODE
LOWpackages/flint-py/flint/vegalite/__init__.py1CODE
LOWpackages/flint-py/flint/vegalite/assemble.py2CODE
LOWpackages/flint-py/flint/vegalite/instantiate_spec.py2CODE
LOWpackages/flint-py/flint/vegalite/templates/bar_table.py2CODE
LOWpackages/flint-py/flint/vegalite/templates/jitter.py2CODE
LOWpackages/flint-py/flint/vegalite/templates/gantt.py5CODE
LOW…flint-py/flint/vegalite/templates/connected_scatter.py7CODE
LOWpackages/flint-py/flint/vegalite/templates/line.py2CODE
LOWpackages/flint-py/flint/vegalite/templates/kpi_card.py2CODE
LOWpackages/flint-py/flint/vegalite/templates/kpi_card.py5CODE
LOWpackages/flint-py/flint/vegalite/templates/slope.py6CODE
LOWpackages/flint-py/flint/vegalite/templates/lollipop.py2CODE
LOWpackages/flint-py/flint/vegalite/templates/radar.py2CODE
LOWpackages/flint-py/flint/vegalite/templates/radar.py5CODE
LOWpackages/flint-py/flint/vegalite/templates/radar.py6CODE
LOWpackages/flint-py/flint/vegalite/templates/radar.py6CODE
LOWpackages/flint-py/flint/vegalite/templates/__init__.py2CODE
LOWpackages/flint-py/flint/vegalite/templates/pie.py2CODE
LOW…ckages/flint-py/flint/vegalite/templates/geo_lookup.py7CODE
LOWpackages/flint-py/flint/vegalite/templates/map.py7CODE
LOWpackages/flint-py/flint/vegalite/templates/waterfall.py2CODE
LOW…kages/flint-py/flint/vegalite/templates/candlestick.py2CODE
LOWpackages/flint-py/flint/vegalite/templates/utils.py4CODE
LOWpackages/flint-py/flint/vegalite/templates/density.py2CODE
LOW…ckages/flint-py/flint/vegalite/templates/range_area.py6CODE
LOWpackages/flint-py/flint/vegalite/templates/bump.py2CODE
LOWpackages/flint-py/flint/vegalite/templates/scatter.py2CODE
LOWpackages/flint-py/flint/vegalite/templates/bar.py2CODE
6 more matches not shown…
Empty Error Handlers12 hits · 60 pts
SeverityFileLineSnippetContext
HIGHpackages/flint-py/tools/run_full_eval.py66except (TypeError, ValueError):CODE
HIGHpackages/flint-py/tests/test_fixtures.py77except (TypeError, ValueError):CODE
HIGHpackages/flint-py/flint/core/filter_overflow.py194except Exception:CODE
HIGHpackages/flint-py/flint/core/decisions.py109except ValueError:CODE
HIGHpackages/flint-py/flint/core/semantic_types.py149except Exception:CODE
HIGHpackages/flint-py/flint/core/semantic_types.py156except Exception:CODE
HIGHpackages/flint-py/flint/core/js_date.py136except Exception:CODE
HIGHpackages/flint-py/flint/core/js_date.py173except Exception:CODE
HIGHpackages/flint-py/flint/vegalite/assemble.py704except (TypeError, ValueError):CODE
HIGHpackages/flint-py/flint/vegalite/assemble.py743except Exception:CODE
HIGHpackages/flint-py/flint/vegalite/templates/radar.py59except (TypeError, ValueError):CODE
HIGHpackages/flint-py/flint/vegalite/templates/bar.py336except Exception:CODE
Cross-Language Confusion7 hits · 35 pts
SeverityFileLineSnippetContext
HIGHpackages/flint-py/flint/__init__.py3The TypeScript reference serializes specs with ``JSON.stringify(spec, null, 2)``;STRING
HIGHpackages/flint-py/flint/core/encoding_overrides.py31 # JS: `if (override !== undefined)`. In Python `chart_properties.get(key)COMMENT
HIGHpackages/flint-py/flint/core/resolve_semantics.py292 # JS String(null) => "null"; but JSON null typically not in temporal fields; preserveCOMMENT
HIGHpackages/flint-py/flint/vegalite/assemble.py567 # undefined). This also tidies up nested control option entries thatCOMMENT
HIGHpackages/flint-py/flint/vegalite/assemble.py77 nested control options like ``{value: undefined, label: "Default"}`` whichSTRING
HIGHpackages/flint-py/flint/vegalite/templates/bar_table.py625 "datum.__bt_others_num === 1 || datum.__bt_others === true" if can_trim else NoneCODE
HIGHpackages/flint-py/flint/vegalite/templates/kpi_card.py24 """Emulate JS Number.toLocaleString(undefined, {maximumFractionDigits: 2}).STRING
Deep Nesting31 hits · 30 pts
SeverityFileLineSnippetContext
LOWpackages/flint-py/tools/run_full_eval.py44CODE
LOWpackages/flint-py/tools/run_full_eval.py73CODE
LOWpackages/flint-py/tests/unit/test_zero_baseline.py19CODE
LOWpackages/flint-py/flint/core/filter_overflow.py12CODE
LOWpackages/flint-py/flint/core/filter_overflow.py162CODE
LOWpackages/flint-py/flint/core/decisions.py89CODE
LOWpackages/flint-py/flint/core/compute_layout.py182CODE
LOWpackages/flint-py/flint/core/compute_layout.py789CODE
LOWpackages/flint-py/flint/core/compute_layout.py988CODE
LOWpackages/flint-py/flint/core/resolve_semantics.py241CODE
LOWpackages/flint-py/flint/core/resolve_semantics.py312CODE
LOWpackages/flint-py/flint/vegalite/assemble.py109CODE
LOWpackages/flint-py/flint/vegalite/assemble.py595CODE
LOWpackages/flint-py/flint/vegalite/assemble.py688CODE
LOWpackages/flint-py/flint/vegalite/instantiate_spec.py47CODE
LOWpackages/flint-py/flint/vegalite/instantiate_spec.py523CODE
LOWpackages/flint-py/flint/vegalite/templates/bar_table.py85CODE
LOWpackages/flint-py/flint/vegalite/templates/bar_table.py139CODE
LOWpackages/flint-py/flint/vegalite/templates/jitter.py12CODE
LOWpackages/flint-py/flint/vegalite/templates/kpi_card.py53CODE
LOWpackages/flint-py/flint/vegalite/templates/radar.py10CODE
LOWpackages/flint-py/flint/vegalite/templates/radar.py28CODE
LOWpackages/flint-py/flint/vegalite/templates/radar.py261CODE
LOWpackages/flint-py/flint/vegalite/templates/__init__.py58CODE
LOWpackages/flint-py/flint/vegalite/templates/__init__.py59CODE
LOWpackages/flint-py/flint/vegalite/templates/map.py184CODE
LOWpackages/flint-py/flint/vegalite/templates/utils.py309CODE
LOWpackages/flint-py/flint/vegalite/templates/bump.py23CODE
LOWpackages/flint-py/flint/vegalite/templates/bar.py230CODE
LOWpackages/flint-py/flint/vegalite/templates/bar.py387CODE
LOWpackages/flint-py/flint/vegalite/templates/area.py22CODE
Structural Annotation Overuse12 hits · 20 pts
SeverityFileLineSnippetContext
LOWdocs/design-stretch-model.md1191### Step 1: 1D PressureCOMMENT
LOWdocs/design-stretch-model.md1197### Step 2: Area stretchCOMMENT
LOWdocs/design-stretch-model.md1208### Step 3: Biased split to X and YCOMMENT
LOWdocs/design-stretch-model.md1225### Step 4: Canvas sizingCOMMENT
LOWdocs/zh-CN/design-stretch-model.md986### Step 1: 1D PressureCOMMENT
LOWdocs/zh-CN/design-stretch-model.md992### Step 2: Area stretchCOMMENT
LOWdocs/zh-CN/design-stretch-model.md1003### Step 3: Biased split to X and YCOMMENT
LOWdocs/zh-CN/design-stretch-model.md1020### Step 4: Canvas sizingCOMMENT
LOW⚡packages/flint-js/src/docs/design-stretch-model.md930### Step 1: 1D PressureCOMMENT
LOW⚡packages/flint-js/src/docs/design-stretch-model.md936### Step 2: Area stretchCOMMENT
LOW⚡packages/flint-js/src/docs/design-stretch-model.md945### Step 3: Biased split to X and YCOMMENT
LOWpackages/flint-js/src/docs/design-stretch-model.md962### Step 4: Canvas sizingCOMMENT
Excessive Try-Catch Wrapping12 hits · 12 pts
SeverityFileLineSnippetContext
LOWpackages/flint-py/tools/build_results_page.py81 except Exception as exc:CODE
LOWpackages/flint-py/tools/build_results_page.py90 except Exception as exc:CODE
LOWpackages/flint-py/tools/run_full_eval.py110 except Exception as e:CODE
LOWpackages/flint-py/tests/test_fixtures.py94 except Exception as e: # noqa: BLE001CODE
MEDIUMpackages/flint-py/tests/test_fixtures.py91def assemble_vegalite():CODE
LOWpackages/flint-py/flint/core/filter_overflow.py194 except Exception:CODE
LOWpackages/flint-py/flint/core/semantic_types.py149 except Exception:CODE
LOWpackages/flint-py/flint/core/semantic_types.py156 except Exception:CODE
LOWpackages/flint-py/flint/core/js_date.py136 except Exception:CODE
LOWpackages/flint-py/flint/core/js_date.py173 except Exception:CODE
LOWpackages/flint-py/flint/vegalite/assemble.py743 except Exception:CODE
LOWpackages/flint-py/flint/vegalite/templates/bar.py336 except Exception:CODE
Fake / Example Data8 hits · 10 pts
SeverityFileLineSnippetContext
LOWpackages/flint-py/flint/core/filter_overflow.py119 "placeholder": placeholder,CODE
LOW⚡packages/flint-py/flint/vegalite/instantiate_spec.py382 "test": f"datum.label == '{trunc['placeholder']}'",CODE
LOW⚡packages/flint-py/flint/vegalite/instantiate_spec.py389 enc["scale"]["domain"] = [*trunc["keptValues"], trunc["placeholder"]]CODE
LOW⚡packages/flint-py/flint/vegalite/instantiate_spec.py393 enc["legend"]["values"] = [*trunc["keptValues"], trunc["placeholder"]]CODE
LOW…rc/playground/new-theme-test/research/mayo-clinic.json63 { "file": "/Users/chenwang/.copilot/session-state/86038611-3930-46cf-af6d-24a4a5cf3420/files/theme-refs/mayo-clinic/CODE
LOW…rc/playground/new-theme-test/research/mayo-clinic.json63 { "file": "/Users/chenwang/.copilot/session-state/86038611-3930-46cf-af6d-24a4a5cf3420/files/theme-refs/mayo-clinic/CODE
LOW…/src/playground/new-theme-test/themes/human-managed.ts348 proposal: '`ink.series.missing: "#ADADAD"` with `marks.missing: "placeholder" | "gap" | "omit"`.',CODE
LOW…/playground/new-theme-test/themes/pinterest-gestalt.ts339 proposal: '`ink.series.patterns` (hatch angle, spacing, ink) and a missing-data policy `marks.missing: "gap" | "plCODE
Cross-Language Confusion (JS/TS)1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHpackages/flint-js/src/core/kpi-format.ts33 print(value: unknown, said?: string): string;CODE
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/codeql.yml56 # If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize howCOMMENT
LOW…te/src/playground/new-theme-test/research/metlife.json88 { "rule": "Assign series colours in the fixed extended order: #0090DA, #333333, #00ACA0, #DB0A5B, #F2F2F2, #007ABC, CODE
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUMpackage-lock.json8765 "resolved": "https://ms-feed-2.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/robust-predicatCODE
Modern AI Meta-Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
MEDIUM…nd/theme-lab-assets/population-waterfall.mckinsey.json9 "Connectors kept but thinned to a 0.8px #d3dce1 hairline. They are scaffolding for reading the steps, not data, and CODE
Modern Structural Boilerplate1 hit · 1 pts
SeverityFileLineSnippetContext
LOWpackages/flint-py/flint/vegalite/__init__.py3__all__ = ["assemble_vegalite", "get_chart_options"]CODE