idx-cli/docs
hermes 2c85acb829 feat(ownership): import IDX above-1% XLSX holder register
Since June 2026 IDX publishes the monthly "Pemegang Saham di Atas 1%"
list as an XLSX workbook on the Data Kepemilikan Saham page instead of
a PDF announcement. Add a parser for it and accept `.xlsx` in
`ownership import --file`.

- src/ownership/xlsx.rs: zip + quick-xml reader (shared strings incl.
  rich text, sheet cells), exact 12-column header match so the daily
  above-5% and investor-type/classification workbooks are rejected,
  Excel serial dates, numeric shares, percent -> bps with float-noise
  rounding. Builds KseiHoldingDraft directly and reuses the entity
  normalizers, so investor types stay uppercase like the PDF path.
- Fixtures: trimmed excerpts of the real 2026-08-31 above-1% and
  2026-09-23 above-5% workbooks.
- Unit + CLI tests: import, ticker, releases, above-5% rejection.
- Docs: ARCHITECTURE parser pipeline, AGENTS ownership inputs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017a5Cv5Z1NzdYKgKnTiAF4E
2026-09-24 20:48:07 +00:00
..
ARCHITECTURE.md feat(ownership): import IDX above-1% XLSX holder register 2026-09-24 20:48:07 +00:00
CONVENTIONS.md feat(ownership): complete ownership intelligence module 2026-03-07 21:10:58 +00:00
INSTALL.md feat: add curl | sh install script 2026-09-24 19:29:52 +00:00
NPM_DISTRIBUTION.md fix: harden npm distribution release and installer 2026-09-24 18:57:53 +00:00
OWNERSHIP_PUBLISH.md ops: draft self-hosted ownership snapshot publish flow 2026-04-13 16:46:53 +07:00
OWNERSHIP_SELF_HOSTED.md ops: draft self-hosted ownership snapshot publish flow 2026-04-13 16:46:53 +07:00
OWNERSHIP_SYNC.md feat: default ownership sync to published snapshot 2026-04-12 14:27:47 +07:00
SMOKE.md feat: support explicit MSN chart history 2026-04-15 13:48:27 +07:00