idx-cli/tests/fixtures
hermes a5cfdd79b4 fix: handle spaced KSEI PDF headers (SHARE CODE vs SHARE_CODE)
Newer KSEI above1 PDFs use spaces in column headers (SHARE CODE,
INVESTOR NAME, INVESTOR CLASSIFICATION) instead of the underscored
form (SHARE_CODE, INVESTOR_NAME, INVESTOR_TYPE) that the parser
schema markers expected.  This caused valid holder-register PDFs to
be misclassified as LegacyAboveFivePercent (false positive on
REKENING TAMPUNGAN KSEI text in the data), blocking import.

Changes:
- Add normalize_stext_for_classification() that replaces spaces with
  underscores inside text="..." attributes before schema marker
  matching, so both old and new header layouts are recognized
- Add INVESTOR_CLASSIFICATION to HOLDER_REGISTER_SCHEMA_MARKERS and
  HEADER_LABELS to match the renamed column
- Update ANNOUNCEMENT_WRAPPER and ABOVE_FIVE marker constants to use
  underscores (matching the normalized text)
- Add test fixture and test case for the spaced-header layout
- Bump version to 0.2.3

Tested against the live June 2026 KSEI PDF (as_of 2026-05-29):
  idx ownership import --url <latest-pdf-url>
  -> Imported 7124 rows for 956 tickers (as of 2026-05-29)
2026-07-29 04:21:54 +00:00
..
bing_buyers_bbca.json feat(ownership): complete ownership intelligence module 2026-03-07 21:10:58 +00:00
bing_holders_bbca.json feat(ownership): complete ownership intelligence module 2026-03-07 21:10:58 +00:00
chart_bbca_1d.json test(api): add yahoo fixtures, mock-provider errors, and CLI integration coverage 2026-03-05 18:28:40 +00:00
chart_bbca_3mo.json test(api): add yahoo fixtures, mock-provider errors, and CLI integration coverage 2026-03-05 18:28:40 +00:00
chart_bbca_with_gap.json chore: prepare v0.2.1 release 2026-04-06 17:47:20 +07:00
idx_announcement_kepemilikan.json ownership: add IDX above1 discovery and import 2026-03-30 11:57:14 +07:00
ksei_above1_spaced_stext_excerpt.xml fix: handle spaced KSEI PDF headers (SHARE CODE vs SHARE_CODE) 2026-07-29 04:21:54 +00:00
ksei_above1_stext_excerpt.xml test: add real above1 parser fixture 2026-03-30 13:06:39 +07:00
ksei_above1_stext_excerpt_prev.xml Add ownership snapshot sync 2026-03-31 19:28:13 +07:00
ksei_above5_stext_excerpt.xml Complete batch 2 ownership import hardening 2026-03-30 16:40:32 +07:00
ksei_announcement_wrapper_stext_excerpt.xml Complete batch 2 ownership import hardening 2026-03-30 16:40:32 +07:00
ksei_balancepos_20260130_excerpt.txt Add KSEI archive fallback import 2026-03-31 19:29:00 +07:00
ksei_balancepos_20260227_excerpt.txt Add KSEI archive fallback import 2026-03-31 19:29:00 +07:00
ksei_investor_type_stext_excerpt.xml Complete batch 2 ownership import hardening 2026-03-30 16:40:32 +07:00
ksei_stext_sample.xml feat(ownership): complete ownership intelligence module 2026-03-07 21:10:58 +00:00
msn_chart_bbca_3mo.json feat(api): add MSN Finance as alternative data provider 2026-03-06 10:19:10 +00:00
msn_earnings_bbca.json test: fixture test 2026-03-26 18:33:08 +07:00
msn_financials_bbca.json test: fixture test 2026-03-26 18:33:08 +07:00
msn_insights_bbca.json test: fixture test msn-only 2026-03-27 16:44:45 +07:00
msn_keyratios_bbca.json chore: prepare v0.2.1 release 2026-04-06 17:47:20 +07:00
msn_keyratios_industry_only.json chore: prepare v0.2.1 release 2026-04-06 17:47:20 +07:00
msn_news_bbca.json test: fixture test 2026-03-26 18:33:08 +07:00
msn_profile_bbca.json test: fixture test msn-only 2026-03-27 16:44:45 +07:00
msn_quote_bbca.json feat(api): add MSN Finance as alternative data provider 2026-03-06 10:19:10 +00:00
msn_screener_id_topperfs.json test: fixture test 2026-03-26 18:33:08 +07:00
msn_sentiment_bbca.json test: fixture test 2026-03-26 18:33:08 +07:00
quotesummary_bbca.json feat(fundamental): add fundamental analysis suite (growth, valuation, risk, compare) 2026-03-06 05:54:37 +00:00