idx-cli/ROADMAP.md
0xrsydn 1cd8a4b191 fix(ownership): accept the register's new CONTROLLER_OR_AFFILIATE column
IDX's above-1% register as of 30 Oct 2026 (peng-2026-10-00029) inserts a
CONTROLLER_OR_AFFILIATE column after INVESTOR_CLASSIFICATION. The header
check rejected any column it did not know, so `ownership import` failed
with PARSEERROR and `releases`/`ticker` had nothing to show.

Accept that one column by name and skip it; any other unknown column is
still rejected, so the above-5% and investor-type workbooks stay out.
Storing the flag is a follow-up (ROADMAP).

The fixture is an 11-row excerpt of the real October workbook (disclaimer
rows, header, BBCA and ZYRX). The full file imports 7,149 rows across 961
tickers; live ownership smoke: 4 passed, 0 failed, no 403.

Claude-Session: https://claude.ai/code/session_01RqPPVeVDrnLoP7NUZmLRxY
2026-11-03 15:44:50 +07:00

2.6 KiB

Roadmap

Open work only. Shipped behavior is described in README.md and docs/; history lives in git.

Stocks

  • market summary: IHSG index and market breadth
  • market movers: top gainers, losers, and volume
  • market sectors: sector performance overview
  • screen query "<EXPR>": filter stocks by expression
  • screen presets / screen run <PRESET>: built-in screener presets (graduate screen out of stocks only if these grow into a richer workflow)
  • Multi-period financial statements (today financials is single-period)
  • Order book (bid/offer depth): no free, login-free source exists. IDX sells delayed depth to vendors and Stockbit's needs a user login. Revisit if a permitted source appears; do not ship the closing best bid/offer as one.
  • Bandarmology follow-ups: a daily series (per-session readings and the cumulative top-N net) and a price-move phase (quiet accumulation, markup), calibration of the top_concentration_v1 thresholds across more sessions, and a market-wide foreign flow screen from one IDX trading summary
  • News beyond MSN in news / get_company (docs/IDX_NEWS.md): Google News RSS per ticker, and IDX disclosures and exchange news through a maintainer-published feed

Ownership

  • Store the register's CONTROLLER_OR_AFFILIATE flag (from the 30 Oct 2026 report; about 1,200 controller and 950 affiliate rows) and show it in ticker, entity and changes, so a controller's moves stand apart. Needs a DB column, the snapshot format, and blank for older reports.

Workflow

  • watchlist: named symbol sets usable by other commands
  • alerts: price alerts with a daemon
  • CSV/TSV output
  • Additional providers (Alpha Vantage, Twelve Data, IDX official)

Agent integration

  • JSON Schema export for command output
  • Composite analyze command (quote, fundamentals, ownership, sentiment)

Known limits

  • stocks broker and stocks bandar show only IPOT's top 10 buyers and sellers, ranked by gross lots, with figures of a million and more rounded to one decimal.
  • stocks flow --source idx depends on IDX's Cloudflare passing a curl-impersonate profile (only curl_safari184 in October 2026) and on the network; the default IPOT source rounds to one decimal.
  • Yahoo can return 429 from datacenter IPs; requests retry with backoff but can still fail.
  • stocks technical reports the SMA200 trend as unavailable when fewer than 200 daily candles are returned.
  • MSN's low-pe screen returned no priced stocks on 2026-10-14 (upstream; other filters work).
  • MSN history for IDX is price-only (1mo, 3mo, 1y); Yahoo stays the default OHLCV source.