Files
hk-ipo/rules/rule_change_log.md
T
geometrybase 58ad869f84 Refresh IPO analysis model calibration
Request:
- Re-analyze the IPO model using the updated historical archive after T1 demand backfill.

Changes:
- Regenerate the v0 analysis dataset from the current SQLite archive.
- Refresh the v0 calibration report with expanded T1 coverage and new empirical bucket rates.
- Update the report template to show pending T1 rows and field-level blanks.
- Clarify v0 limitations and record why the score formula stays unchanged for this refresh.

Verification:
- Ran scripts/build_analysis_dataset.py against data/hk_ipo.sqlite.
- Ran py_compile for scripts/build_analysis_dataset.py.
- Checked dataset row count, T1 demand coverage, source-only T1 gaps, and repo-relative paths.
- Ran git diff --check.

Next useful context:
- T1 structured coverage is now 291 rows, with 06106 and 06675 still pending_not_due.
- The high-conviction T1 bucket remains differentiated, but middle and low buckets are still not monotonic enough for a v1 rule change.
2026-06-15 14:05:34 +00:00

52 lines
2.4 KiB
Markdown

# Rule Change Log
## 2026-06-15 - Refresh `ipo_score_v0` after T1 demand backfill
Request:
- Re-analyze the model using the known historical archive after T1 demand text backfill.
Change:
- Regenerated `data/snapshots/analysis_model_v0_dataset.csv` from the current SQLite archive.
- Refreshed `reports/2026-06-15_analysis_model_v0.md` with the expanded T1 demand coverage and new empirical calibration.
- Kept the `ipo_score_v0` score formula unchanged because the expanded sample still shows non-monotonic middle and low score buckets.
- Updated model limitations to reflect that T1 is structurally complete for listed rows, while field-level NULLs remain when source documents do not explicitly state a field.
Rationale:
- T1 structured coverage increased from 154 to 291 rows after archivist backfilled demand facts from extracted PDF text.
- The high-conviction bucket remains clearly differentiated, but the rest of the calibration is not strong enough to justify a v1 rule change.
- Avoiding a threshold rewrite here preserves the feedback loop: future rule changes should be tied to reviewed predictions and named error cases.
Verification:
- Rebuilt the analysis dataset and model report from `data/hk_ipo.sqlite`.
- Confirmed post-listing returns remain labels only and are not score inputs.
- Confirmed durable source paths remain repo-relative.
## 2026-06-15 - Introduce `ipo_score_v0`
Request:
- Start digesting the downloaded IPO archive and build the first analyst model.
Change:
- Added `rules/ipo_score_v0.yaml` as the initial transparent scoring baseline.
- Added `scripts/build_analysis_dataset.py` to generate a feature dataset and calibration report from `data/hk_ipo.sqlite`.
- Added `data/snapshots/analysis_model_v0_dataset.csv` as the first model-ready snapshot.
- Added `reports/2026-06-15_analysis_model_v0.md` to document coverage, calibration, and known gaps.
Rationale:
- The archive now has enough T0 facts and D1/D5/D20/D60 labels to support a repeatable baseline.
- T1 demand data is partially structured and highly informative where available.
- T2 grey-market data remains blocked until a reliable source exists, so it is excluded from v0.
Verification:
- Generated the dataset from the current SQLite archive.
- Confirmed the model keeps post-listing returns as labels only.
- Recorded non-monotonic middle buckets as a limitation rather than overfitting them away.