Mengapa
Sebelum PR #266 (pin tree-sitter<0.26), setiap run CI segfault di test_large_file_parsing.py dan mengabort SELURUH suite (exit 139) sebelum test lain jalan — jadi CI tidak pernah benar-benar hijau di full suite. Setelah #266, suite jalan tuntas (CI run 29249756715: 16 failed, 2515 passed). 3 sudah diperbaiki di PR #270 (sarif SyntaxError + _auto_setup regresi). Sisa 13 failure ini pre-existing (mayoritas repro di Windows DAN Linux — bukan env-only) dan perlu triase + fix.
Bukti: CI run 29249756715 job "Test Suite" — 13 nama di bawah persis dari log itu.
13 Failure (grup per area)
A. Formatter/output layer drift (kemungkinan dari #195 umbrella refactor)
test_formatters_phase2::test_help_lists_new_formats — --format choices di argparse cuma {json,markdown,ai,sarif,compact,graphml} (6), tapi CodeLens klaim 11 formatter (text/junit-xml/emacs/vim/gitlab-sast hilang dari choices).
test_confidence::test_dead_code_json_output_has_schema_version — KeyError schema_version
test_confidence::test_secrets_json_output_has_schema_version — KeyError schema_version
test_confidence::test_json_format_has_schema_version — KeyError schema_version
B. Search pagination (compact)
test_compact_format::test_search_offset_advances — KeyError matches
test_compact_format::test_search_pagination — KeyError status
C. scan performance / timeout
test_cli::test_scan_with_format_long_does_not_crash — TimeoutExpired 60s (scan . --format json men-scan dir scripts/ nyata; >120s lokal fresh)
test_cli::test_scan_with_format_short_does_not_crash — TimeoutExpired 60s (-f json)
→ Dua angle: (1) test cuma perlu cek argparse, harusnya scan fixture kecil bukan .; (2) scan penuh scripts/ >120s = kandidat perf regresi terpisah.
D. diff-scope / misc
test_diff_scope::test_diff_base_before_subcommand — -1 not greater than -1
test_diff_scope::test_valid_ref_produces_diff_scope_in_output — No JSON in output
test_cli::TestCheckCommandArgs::test_check_full_cli_invocation_with_positional — check <ws> --format json output kosong (bukan JSON)
test_codelensignore::test_actual_target_dir_is_ignored — assert False is True
test_hybrid_engine::test_deep_unsupported_command_sets_hint — path bug scripts/scripts/codelens.py (test path construction)
Konteks
Failure ini bukan regresi baru — mayoritas repro di Windows DAN Linux, tapi selalu tertutupi karena segfault test_large_file_parsing.py mengabort pytest (exit 139) sebelum test lain jalan. Setelah PR #266 (pin tree-sitter<0.26) menghilangkan segfault, suite jalan tuntas dan 13 failure ini muncul — pertama kalinya full-suite Linux bisa dilihat. Grup A (formatter choices + schema_version) kemungkinan drift dari #195 umbrella refactor.
Tujuan
CI Test Suite job hijau di Linux — atau tiap failure sisa didokumentasikan eksplisit sebagai env-only dengan bukti. Tiap dari 13 diklasifikasi (longstanding vs regresi + commit penyebab); yang genuine (output-contract drift) diperbaiki.
Constraint
- JANGAN skip test buta untuk "menghijaukan" CI — grup A/B indikasi bug produk nyata (output shape drift). Skip = menyembunyikan bug.
- JANGAN longgarkan assertion tanpa root-cause; klasifikasi vs baseline dulu.
- Boleh dipecah jadi sub-issue per-area kalau satu PR terlalu besar; tiap sub-issue tetap 5 blok.
Metodologi triase (WAJIB per item)
Untuk tiap failure: clone bersih di commit pra-#195 (c722f4a atau lebih lama), jalankan test spesifik. Kalau gagal di baseline juga → longstanding (fix product/test). Kalau lolos di baseline → regresi dari refactor tertentu (bisect). JANGAN skip test buta — grup A/B/C indikasi bug produk nyata (output shape drift), bukan cuma test-debt.
Definition of Done
Mengapa
Sebelum PR #266 (pin tree-sitter<0.26), setiap run CI segfault di
test_large_file_parsing.pydan mengabort SELURUH suite (exit 139) sebelum test lain jalan — jadi CI tidak pernah benar-benar hijau di full suite. Setelah #266, suite jalan tuntas (CI run 29249756715: 16 failed, 2515 passed). 3 sudah diperbaiki di PR #270 (sarif SyntaxError +_auto_setupregresi). Sisa 13 failure ini pre-existing (mayoritas repro di Windows DAN Linux — bukan env-only) dan perlu triase + fix.Bukti: CI run 29249756715 job "Test Suite" — 13 nama di bawah persis dari log itu.
13 Failure (grup per area)
A. Formatter/output layer drift (kemungkinan dari #195 umbrella refactor)
test_formatters_phase2::test_help_lists_new_formats—--formatchoices di argparse cuma{json,markdown,ai,sarif,compact,graphml}(6), tapi CodeLens klaim 11 formatter (text/junit-xml/emacs/vim/gitlab-sast hilang dari choices).test_confidence::test_dead_code_json_output_has_schema_version— KeyErrorschema_versiontest_confidence::test_secrets_json_output_has_schema_version— KeyErrorschema_versiontest_confidence::test_json_format_has_schema_version— KeyErrorschema_versionB. Search pagination (compact)
test_compact_format::test_search_offset_advances— KeyErrormatchestest_compact_format::test_search_pagination— KeyErrorstatusC. scan performance / timeout
test_cli::test_scan_with_format_long_does_not_crash— TimeoutExpired 60s (scan . --format jsonmen-scan dirscripts/nyata; >120s lokal fresh)test_cli::test_scan_with_format_short_does_not_crash— TimeoutExpired 60s (-f json)→ Dua angle: (1) test cuma perlu cek argparse, harusnya scan fixture kecil bukan
.; (2) scan penuh scripts/ >120s = kandidat perf regresi terpisah.D. diff-scope / misc
test_diff_scope::test_diff_base_before_subcommand—-1 not greater than -1test_diff_scope::test_valid_ref_produces_diff_scope_in_output— No JSON in outputtest_cli::TestCheckCommandArgs::test_check_full_cli_invocation_with_positional—check <ws> --format jsonoutput kosong (bukan JSON)test_codelensignore::test_actual_target_dir_is_ignored— assert False is Truetest_hybrid_engine::test_deep_unsupported_command_sets_hint— path bugscripts/scripts/codelens.py(test path construction)Konteks
Failure ini bukan regresi baru — mayoritas repro di Windows DAN Linux, tapi selalu tertutupi karena segfault
test_large_file_parsing.pymengabort pytest (exit 139) sebelum test lain jalan. Setelah PR #266 (pin tree-sitter<0.26) menghilangkan segfault, suite jalan tuntas dan 13 failure ini muncul — pertama kalinya full-suite Linux bisa dilihat. Grup A (formatter choices + schema_version) kemungkinan drift dari #195 umbrella refactor.Tujuan
CI
Test Suitejob hijau di Linux — atau tiap failure sisa didokumentasikan eksplisit sebagai env-only dengan bukti. Tiap dari 13 diklasifikasi (longstanding vs regresi + commit penyebab); yang genuine (output-contract drift) diperbaiki.Constraint
Metodologi triase (WAJIB per item)
Untuk tiap failure: clone bersih di commit pra-#195 (
c722f4aatau lebih lama), jalankan test spesifik. Kalau gagal di baseline juga → longstanding (fix product/test). Kalau lolos di baseline → regresi dari refactor tertentu (bisect). JANGAN skip test buta — grup A/B/C indikasi bug produk nyata (output shape drift), bukan cuma test-debt.Definition of Done
Test Suitejob hijau di Linux (0 failed), atau failure sisa didokumentasikan eksplisit sebagai env-only dengan bukti