mirror of
https://github.com/0xrsydn/idx-cli.git
synced 2026-11-07 09:45:36 +00:00
feat(ownership): build snapshots from XLSX with monthly history
- build-latest-ownership-snapshot.sh: discover with a wider limit and add --history <n> to import the n previous supported above-1% XLSX months (one per as-of date, oldest first) before the latest, so `idx ownership changes` works straight from a synced snapshot. - publish-ownership-snapshot.sh: pass --history through (for the clan-private systemd timer via extraArgs). - publish-ownership-snapshot.yml: `history` input (default 5). - Docs: publish/self-hosted flow now describes the XLSX source, observed upload days (2nd-3rd of the month), and --history. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017a5Cv5Z1NzdYKgKnTiAF4E
This commit is contained in:
parent
bb39e98fab
commit
c2d2734739
5 changed files with 66 additions and 9 deletions
|
|
@ -45,9 +45,11 @@ nix develop --command scripts/build-latest-ownership-snapshot.sh \
|
|||
|
||||
The script performs these steps:
|
||||
|
||||
1. `idx -o json ownership discover --family above1 --limit 1`
|
||||
1. `idx -o json ownership discover --family above1 --limit 50` (newest supported
|
||||
report first; XLSX from the Data Kepemilikan Saham page since June 2026)
|
||||
2. verifies the discovered report is the current supported import path
|
||||
3. imports that PDF into an isolated temp ownership DB
|
||||
3. imports that report (plus `--history <n>` earlier months, oldest first) into
|
||||
an isolated temp ownership DB
|
||||
4. checks that the imported release metadata is non-empty and tied to the same
|
||||
source URL
|
||||
5. runs `scripts/build-ownership-snapshot.sh` to emit the SQLite artifact and
|
||||
|
|
|
|||
|
|
@ -38,7 +38,9 @@ nix develop --command scripts/publish-ownership-snapshot.sh \
|
|||
That helper:
|
||||
|
||||
1. optionally builds `idx`
|
||||
2. discovers the latest supported IDX/KSEI PDF
|
||||
2. discovers the latest supported IDX/KSEI above-1% report (XLSX on the IDX
|
||||
Data Kepemilikan Saham page since the 2026-05-29 report; PDF announcements
|
||||
before that)
|
||||
3. imports it into an isolated temp DB
|
||||
4. emits the SQLite snapshot and manifest
|
||||
5. ensures the stable GitHub release exists
|
||||
|
|
@ -66,7 +68,13 @@ The sample timer uses:
|
|||
- `RandomizedDelaySec=30m`
|
||||
|
||||
That is intentionally conservative. The ownership source is monthly, but the
|
||||
exact publish day can drift. Start with an early-month schedule and adjust after
|
||||
exact publish day can drift. Observed XLSX upload times (HTTP Last-Modified):
|
||||
2026-06-03, 2026-07-02 03:55Z, 2026-08-02 01:50Z, 2026-09-02 03:51Z, so a run
|
||||
on the 2nd can occasionally land before the file exists; the 3rd is safer.
|
||||
|
||||
Pass `--history <n>` (for example via `services.idxOwnershipPublish.extraArgs =
|
||||
[ "--history" "5" ];` in `clan-private`) to include earlier months so
|
||||
`idx ownership changes` works straight from the synced snapshot. Start with an early-month schedule and adjust after
|
||||
observing a few real runs.
|
||||
|
||||
## Clan Integration Later
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue