d3b67fa47320f3cd3713f21412f4db013b706bed
27 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
d3b67fa473 |
Refresh latest IPO candidates
Request: Run the scheduled HK IPO analyst refresh as of 2026-06-24T07:00:26Z, refresh online archive facts first, rebuild the analysis dataset, write the latest Chinese broad candidate report, mirror it to reports/README.md, and preserve stage discipline. Changes: - Refreshed HKEX English and Chinese current-listing pages, rolling recent-listing coverage, current HKEX document searches, VBKR/Jieli live T0.95 market heat, ipohk external history, Yahoo same-day D1 evidence, and A/H quote/FX evidence. - Archived 5 still-actionable T0_95_final_heat rows for 00668, 02697, 03952, 06715, and 06915 while leaving post-deadline names on their last pre-deadline heat snapshots. - Rebuilt analysis_model_v0_dataset.csv and related snapshots for 2026-06-24T07:00:26Z. - Updated reports/2026-06-24_latest_ipo_candidates_analysis.md in Simplified Chinese and mirrored identical content to reports/README.md. - Kept unofficial heat in ipo_market_heat only, preserved official T1 demand from HKEX allotment-result sources, and kept 02335/06106 D1 rows labelled as in-session rather than final D1 confirmation. Verification: - git diff --check - git diff --cached --check - Rebuilt analysis dataset for 2026-06-24T07:00:26Z with 312 rows - Python check that reports/README.md matches the dated report and all unresolved current/recent tickers are covered in the risk table - Python check that 5 current-run heat rows are T0_95_final_heat with provider VBKR/Jieli and active heat tickers have no official ipo_demand rows - Python check that 02335 and 06106 official T1 fields match HKEX allotment results - Python check that 89 source_refs archived at 2026-06-24T07:00:26Z use repo-relative paths, files exist, and hashes match Next useful context: - At 15:00 HKT, only 00668, 02697, 03952, 06715, and 06915 remained still-actionable by public subscription timetable; 06715 crossed 10x heat and upgraded to a small secondary candidate. - 02335 and 06106 have refreshed 2026-06-24 Yahoo D1 rows before the Hong Kong close; treat them as in-session execution evidence, not final D1 review labels. - T2 grey-market remains a source-strategy data_gap for recent June IPOs without approved reproducible evidence. |
||
|
|
e60e4b8a6f |
Refresh latest IPO candidates
Request: Run the scheduled HK IPO analyst refresh as of 2026-06-24T05:23:44Z, refresh online archive facts first, rebuild the analysis dataset, write the latest Chinese broad candidate report, mirror it to reports/README.md, and preserve stage discipline. Changes: - Refreshed HKEX English and Chinese current-listing pages, rolling recent-listing coverage, the due HKEX document task for 02667, VBKR/Jieli live market heat, ipohk external history, Yahoo price-performance evidence, and A/H quote/FX evidence. - Archived 5 still-actionable T0_95_final_heat rows for 00668, 02697, 03952, 06715, and 06915 while leaving post-deadline names on their last pre-deadline heat snapshots. - Rebuilt analysis_model_v0_dataset.csv and related snapshots after the archive refresh. - Wrote reports/2026-06-24_latest_ipo_candidates_analysis.md in Simplified Chinese and mirrored the same content to reports/README.md. - Kept unofficial heat in ipo_market_heat only, preserved official T1 demand from HKEX allotment-result sources, and labeled 02335/06106 D1 rows as in-session rather than final D1 confirmation in the report. Verification: - git diff --check - Rebuilt analysis dataset for 2026-06-24T05:23:44Z - Python check that reports/README.md matches the dated report and all unresolved current/recent tickers are covered - Python check that 5 current-run heat rows are T0_95_final_heat with provider VBKR/Jieli and active heat tickers have no official ipo_demand rows - Python check that 02335 and 06106 official T1 fields match HKEX allotment results - Python check that 68 source_refs archived at 2026-06-24T05:23:44Z use repo-relative paths, files exist, and hashes match - Python check that analysis_model_v0_dataset.csv has 312 rows and the expected analysis_as_of Next useful context: - At 13:23 HKT, the 6/24 10:00 deadline group was already closed, leaving only 00668, 02697, 03952, 06715, and 06915 as still-actionable subscription names. - Yahoo returned 02335 and 06106 D1 daily rows before the Hong Kong close; treat them as D1 in-session execution evidence, not final D1 review labels. - T2 grey-market remains a source-strategy data_gap for recent June IPOs without approved reproducible evidence. |
||
|
|
05b127d50a |
Refresh latest IPO candidates
Request: Run the scheduled HK IPO analyst refresh as of 2026-06-23T23:00:03Z, refresh online archive facts first, rebuild the analysis dataset, write the latest Chinese broad candidate report, mirror it to reports/README.md, and preserve stage discipline. Changes: - Refreshed HKEX current-listing pages, current HKEX document searches, VBKR/Jieli T0.95 market heat, ipohk external history, and A/H quote evidence at the new as-of timestamp. - Preserved unofficial subscription heat only in ipo_market_heat and kept official T1 demand fields sourced from HKEX allotment-result documents. - Marked due or Hong Kong-time elapsed T2 grey-market source-strategy gaps for 01392, 02335, 02667, 06067, 06106, 06132, and 06675. - Backfilled 06675 stock_short_name from archived Yahoo shortName evidence and rebuilt analysis_model_v0_dataset.csv. - Updated reports/2026-06-23_latest_ipo_candidates_analysis.md and mirrored the same content to reports/README.md with actionable ranking, fundamentals, unresolved-D1 risk/reward coverage, closed/waiting names, A/H overlay, recent 30-day review, guardrails, and sources. Verification: - git diff --check - Rebuilt analysis dataset for 2026-06-23T23:00:03Z - Python check that reports/README.md matches the dated report and required current/recent tickers are present - Python check that 23:00Z heat has 8 T0_95_final_heat rows and active heat tickers have no official ipo_demand rows - Python check that 02335 and 06106 official T1 fields match HKEX allotment results - Python check that 77 source refs archived at 2026-06-23T23:00:03Z use repo-relative paths, files exist, and hashes match - Python check that T2 data gaps are marked for 01392, 02335, 02667, 06067, 06106, 06132, and 06675 Next useful context: - VBKR/Jieli heat values for the 8 still-actionable names were unchanged from 15:00Z but now have a fresh 23:00Z observed_at. - 02335 and 06106 have official T1 demand, but D1 had not opened by the report as-of time; T2 remains a source-strategy data_gap. - 00901 Yahoo D1 fetch still returns 404; ipohk remains only a third-party cross-check. |
||
|
|
5b9835c289 |
Refresh latest IPO candidates
Request: Run the scheduled HK IPO analyst refresh as of 2026-06-23T15:00:19Z, refresh online archive facts first, rebuild the analysis dataset, write the latest Chinese broad candidate report, mirror it to reports/README.md, and preserve stage discipline. Changes: - Refreshed HKEX current-listing pages, VBKR/Jieli T0.95 market heat, ipohk external history, A/H quote evidence, and current HKEX document searches. - Archived official HKEX allotment-result PDFs and extracted text for 02335 and 06106; parsed official T1 demand into ipo_demand without copying market heat into official fields. - Rebuilt analysis_model_v0_dataset.csv and refreshed sync/source snapshots. - Updated reports/2026-06-23_latest_ipo_candidates_analysis.md and mirrored the same content to reports/README.md, including current ranking, fundamentals, unresolved-D1 risk/reward table, closed/waiting names, 30-day review, guardrails, and sources. Verification: - git diff --check - Rebuilt analysis dataset for 2026-06-23T15:00:19Z - Python check that reports/README.md matches the dated report and required new facts are present - Python check that 15:00Z heat has 8 ipo_market_heat rows and current actionable names have no official ipo_demand rows - Python check that 02335 and 06106 official T1 fields match HKEX allotment results - Python check that 77 source refs archived at 2026-06-23T15:00:19Z use repo-relative paths, files exist, and hashes match Next useful context: - 02335 and 06106 now have official T1 demand, but D1/T2 remain data_gap until listing-day evidence is archived. - 00901 Yahoo D1 fetch still returns 404; ipohk remains only a third-party cross-check. |
||
|
|
406a81a196 |
Refresh latest IPO candidate report
Request: Update the latest HK IPO candidate report with fresh market heat and enforce the new Chinese-name report format. Changes: - Archived the 2026-06-23 10:59Z VBKR/Jieli heat snapshot and HKEX Chinese current listings page. - Backfilled current IPO Chinese names from the HKEX Chinese page, leaving 06228 as data_gap because the official Chinese page lists only the foreign issuer name. - Refreshed A-share and HKD/CNY raw quote JSON for the A/H overlay. - Rebuilt analysis snapshots and refreshed the 2026-06-23 latest report plus reports/README.md with dedicated Chinese-name columns. Verification: - git diff --check - Confirmed reports/README.md and reports/2026-06-23_latest_ipo_candidates_analysis.md are identical. - Checked the report contains the 2026-06-23T10:59:36Z timestamp and latest heat source path. - Checked old English company-name labels are absent from the refreshed reports. Next useful context: - 06228 remains a Chinese-name data_gap unless an official Chinese issuer name source appears. |
||
|
|
5f94bbfde9 |
Refresh latest HK IPO report with A/H and T2 overlays
Request: - Regenerate the latest HK IPO candidate report. - Include current IPO candidate refresh, updated subscription heat, A/H dual-listed pricing analysis for 03661 and 01688, and T2 grey-market review context. Changes: - Refreshed HKEX current-listing, VBKR/Jieli T0.95 heat, ipohk external history, sync-state, and analysis-model snapshots as of 2026-06-23T08:53:26Z. - Archived raw Yahoo chart evidence for 300661.SZ, 002600.SZ, and HKD/CNY so the A/H discount overlay has a reproducible local source. - Regenerated reports/2026-06-23_latest_ipo_candidates_analysis.md and mirrored it to reports/README.md. - Added the generated model v0 report from the rebuilt analysis dataset. - Marked T2 grey-market evidence quality explicitly: ipohk grey-market returns are Tier 3 historical summaries, while newer June IPOs remain data_gap. Verification: - Confirmed reports/README.md matches the dated latest report with cmp. - Ran git diff --check and git diff --cached --check. - Verified all repo-relative paths referenced by the latest report exist. - Verified source_refs paths are repo-relative, existing, and hash-matching. - Recomputed A/H overlay values from archived raw JSON: 03661 discount about 46.2%, 01688 discount about 45.1%. Next useful context: - The 2026-06-23T08:53:26Z heat snapshot leaves the same 8 currently actionable candidates as the 07:00 refresh, with small heat updates. - 02335 and 06106 still have no official T1 demand rows in the project archive. - A/H discounts are valuation anchors, not direct arbitrage, because the A and H shares are not fungible. |
||
|
|
a7dcc09927 |
Refresh latest HK IPO candidate report
Request: - Run the scheduled hk-ipo-analyst refresh as of 2026-06-23T07:00:25Z. - Refresh the latest IPO candidate universe and online facts through the archivist before analysis. - Rebuild the analysis dataset and publish the latest broad candidate report in Simplified Chinese. Changes: - Archived the HKEX current new-listing page for 2026-06-23 and added the new 00668 prospectus plus extracted text. - Archived a fresh VBKR/Jieli T0.95 market-heat snapshot with 8 still-actionable rows while leaving same-day closed names out of the live T0.95 set. - Archived 06067 and 06132 D1 price-performance responses, refreshed ipohk external history, and archived the 06067 2026-06-23 allotment-results clarification PDF. - Rebuilt data/snapshots/analysis_model_v0_dataset.csv after the archive refresh. - Wrote reports/2026-06-23_latest_ipo_candidates_analysis.md and mirrored the same content to reports/README.md. Verification: - Ran archive_hkex_current_new_listings.py, archive_hkex_documents.py, backfill_t1_demand_from_text.py, archive_t0_5_market_heat.py, archive_price_performance.py, archive_ipohk_history.py, extract_pdf_text.py, update_sync_state.py, and build_analysis_dataset.py with as-of 2026-06-23T07:00:25Z. - Confirmed reports/README.md matches the dated report with cmp. - Ran git diff --check and git diff --cached --check. - Checked source_refs paths are repo-relative, existing, and hash-matching. - Checked the latest 8 T0.95 live heat rows remain separate from official T1 demand rows. Next useful context: - As of 2026-06-23T07:00:25Z, 02335 and 06106 still have no archived official T1 demand rows and remain T1 data_gap names. - 06067 D1 was positive at about +30.0%, while 06132 D1 was negative at about -49.6%, reinforcing the 18A-B risk guardrail. - The 2026-06-23 HKEX current page shows 00668 as a new live candidate; its first VBKR/Jieli heat snapshot was only 0.32x. |
||
|
|
9e51fa87cf |
Refresh latest HK IPO candidate report
Request: - Run the scheduled hk-ipo-analyst refresh as of 2026-06-22T23:00:18Z. - Refresh the IPO candidate universe and latest online facts through the archivist before analysis. - Rebuild the analysis dataset and publish the latest broad candidate report in Simplified Chinese. Changes: - Re-archived the HKEX current new-listing page at the requested as-of time and refreshed sync state. - Archived a fresh VBKR/Jieli T0.95 market-heat snapshot for the 13 actionable candidates while keeping unofficial heat in ipo_market_heat. - Refreshed ipohk external history, reran official HKEX document/T1 demand and price-performance refreshes, and rebuilt analysis_model_v0_dataset.csv. - Rewrote reports/2026-06-22_latest_ipo_candidates_analysis.md for the 23:00Z snapshot and mirrored it to reports/README.md. Verification: - Ran archive_hkex_current_new_listings.py, archive_hkex_documents.py, backfill_t1_demand_from_text.py, archive_t0_5_market_heat.py, archive_price_performance.py, archive_ipohk_history.py, and build_analysis_dataset.py with as-of 2026-06-22T23:00:18Z. - Confirmed reports/README.md matches the dated report with cmp. - Ran git diff --check and git diff --cached --check. - Checked source_refs paths are repo-relative, existing, and hash-matching. - Checked the latest 13 T0.95 live heat rows remain separate from official T1 demand rows. Next useful context: - The 23:00Z VBKR/Jieli heat values matched the prior 15:47Z values for the 13 active candidates. - No new official T1 rows were available for 06106 or 02335 as of 2026-06-22T23:00:18Z; keep them as T1 data_gap names. - Yahoo price refresh wrote no new internal D1 rows; 00901 remains an internal D1 data_gap. |
||
|
|
dc09888c49 |
Refresh latest HK IPO candidate report
Request: - Run the scheduled hk-ipo-analyst refresh as of 2026-06-22T15:47:32Z. - Refresh the IPO candidate universe and network facts through the archivist before analysis. - Rebuild the analysis dataset and publish the latest broad candidate report in Simplified Chinese. Changes: - Archived the HKEX current new-listing page, new official allotment-result PDFs for 06067 and 06132, extracted text, a fresh VBKR/Jieli T0.95 market-heat snapshot, ipohk external history, and recent Yahoo price-performance responses. - Updated structured SQLite facts and CSV snapshots, including official T1 demand for 06067 and 06132 while keeping live subscription heat in ipo_market_heat. - Rebuilt data/snapshots/analysis_model_v0_dataset.csv after the archive refresh. - Rewrote reports/2026-06-22_latest_ipo_candidates_analysis.md and mirrored the same content to reports/README.md. Verification: - Ran archive_hkex_current_new_listings.py, archive_hkex_documents.py, backfill_t1_demand_from_text.py, archive_t0_5_market_heat.py, archive_price_performance.py, archive_ipohk_history.py, and build_analysis_dataset.py with as-of 2026-06-22T15:47:32Z. - Confirmed reports/README.md matches the dated report with cmp. - Ran git diff --check and git diff --cached --check. - Checked source_refs paths are repo-relative and existing. - Checked the latest 13 T0.95 live heat rows remain separate from official T1 demand rows. Next useful context: - 06067 and 06132 now have official T1 demand in the archive; 06106 and 02335 remain T1 data_gap names as of this run. - The 15:47Z VBKR/Jieli live heat values matched the earlier 13:57Z values for active candidates. - Price refresh still has provider gaps for some historical tickers, including internal D1 price data for 00901. |
||
|
|
8ef1e78d58 |
Refresh IPO candidates with latest heat
Request: - Update the current HK IPO candidates after subscription multiples changed again. - Refresh the candidate ranking and defensive risk/reward view. Changes: - Archived the 2026-06-22T13:57:38Z VBKR/Jieli T0.95 market-heat snapshot. - Re-archived the HKEX current new-listing page and rebuilt snapshots/model dataset. - Updated the June 22 candidates report with the latest heat multiples, ranking, execution guidance, and defensive score table. - Refreshed the model report analysis timestamp. Verification: - Ran git diff --check and git diff --cached --check. - Confirmed SQLite PRAGMA integrity_check = ok. - Parsed changed CSV snapshots and confirmed 13 latest T0_95_final_heat rows. - Checked the current candidate ranking against data/snapshots/analysis_model_v0_dataset.csv. |
||
|
|
e746cae035 |
Refresh HK IPO heat ranking
Request: - Update the latest Hong Kong IPO candidate list and rescore it based on subscription multiples. Changes: - Archived the 2026-06-22 HKEX Main Board New Listing Information page, adding 02697, 03952, 06715, and 06915 to the current candidate set. - Archived and extracted the four new prospectuses, refreshed current HKEX document facts, and rebuilt the v0 analysis dataset to 311 rows. - Archived a 2026-06-22T08:55:00Z VBKR/Jieli market-heat snapshot and wrote only still-actionable T0.95 rows to avoid look-ahead leakage for already-closed IPOs. - Improved prospectus date parsing for split weekday/month text, glued noon/commence phrases, and current new-listing expected listing-date updates. - Added a Chinese 2026-06-22 latest IPO report ranking candidates after the subscription-multiple overlay. Verification: - Ran py_compile for archive_hkex_documents.py, archive_t0_5_market_heat.py, archive_hkex_current_new_listings.py, and build_analysis_dataset.py. - Re-ran HKEX current-page seeding, document archiving, market-heat archiving, and analysis dataset build as of 2026-06-22T08:55:00Z. - Ran git diff --check and git diff --cached --check. - Ran SQLite integrity_check and foreign_key_check. - Verified source_refs paths, file existence, and SHA-256 hashes. Next useful context: - 01956 is the only current candidate with both strong T0 structure and >100x actionable heat in this snapshot. - Recheck 03952 and 06715 near the 2026-06-25 cutoff; their structure is strong but 2026-06-22 heat is below 10x. - Official T1 allotment facts for 06067 and 06132 were still unavailable at this archive timestamp. |
||
|
|
e346690bb7 |
Archive current HKEX IPO candidates
Request: - Use the analyst workflow to analyze the latest Hong Kong IPOs, connect their source data, and produce a current report. Changes: - Added a current HKEX New Listing Information page seeder that archives the official page, seeds visible tickers, and records source_refs. - Archived current HKEX prospectus and allotment-result sources for the 16 visible Main Board candidates and extracted their text. - Extended prospectus parsing for offer price, derived gross proceeds, HDR offerings, and listing-date text extracted with split characters. - Rebuilt the analysis dataset and added a Chinese 2026-06-21 latest IPO report separating live T0 watchlist names from past-cutoff T1/D1 candidates. Verification: - Ran py_compile for update_recent_ipo_list.py, archive_hkex_current_new_listings.py, archive_hkex_documents.py, and build_analysis_dataset.py. - Re-ran HKEX current page seeding, document archiving, and analysis dataset build as of 2026-06-21T08:44:59Z. - Ran git diff --check and git diff --cached --check. - Ran SQLite integrity_check and foreign_key_check. - Verified source_refs paths, file existence, SHA-256 hashes, and report source paths. Next useful context: - Capture T0.95 market heat before the 2026-06-23 and 2026-06-24 order cutoffs before converting the new watchlist into execution calls. - Treat 02667 as a stale/special HKEX page item until a fresh June timetable or official result appears. |
||
|
|
e0c194e115 |
Update June 18 IPO analysis
Request: - Refresh today's HK IPO analyst view for the current candidate set. Changes: - Refreshed the 2026 HKEX new-listing report archive and synchronized source hashes across 2026 report-backed rows. - Re-ran HKEX document archiving for 01392, 06067, 06132, 02335, and 06106; no official T1 allotment facts were available at 2026-06-18T08:16:33Z. - Rebuilt the v0 analysis dataset and model report as of 2026-06-18T08:16:33Z. - Added a Chinese 2026-06-18 cross-candidate analysis update that treats 06106/02335 as past standard subscription cutoff, flags 01392 for a post-23:00 HKT T1 refresh, and lists newly visible HKEX page tickers as pending archivist work. Verification: - Ran scripts/update_recent_ipo_list.py for 2026-01-01 through 2026-06-18. - Ran scripts/archive_hkex_documents.py for 01392,06067,06132,02335,06106. - Ran scripts/build_analysis_dataset.py as of 2026-06-18T08:16:33Z. - Ran git diff --check and git diff --cached --check. - Ran py_compile for the touched workflow scripts. - Ran SQLite integrity_check and foreign_key_check. - Verified durable report paths exist and source_refs have no missing paths or hash mismatches. Next useful context: - Re-run archivist after 2026-06-18T15:00:00Z to capture 01392 allotment results if published. - Add a seed/archive path for current HKEX New Listing Information page candidates before scoring 02672, 01191, 09637, 09630, 06228, 03661, 01956, 02272, 01688, and 02667. |
||
|
|
fb7bf3af7d |
Analyze latest HK IPO candidates
Request: - Use the project analyst workflow to analyze the latest upcoming Hong Kong IPO candidates. Changes: - Refreshed recent HK IPO target coverage through 2026-06-17 and archived current HKEX source updates. - Archived 06675 allotment results and D1 Yahoo price performance for boundary-case review. - Archived a 2026-06-17 T0.5 VBKR/Jieli market-heat snapshot for still-actionable 02335 and 06106. - Rebuilt the v0 analysis dataset and snapshots at 2026-06-17T08:20:00Z. - Added a Chinese horizontal analyst report ranking 06106, 02335, 06132, 06067, 01392, with 06675 separated as a T1/D1 review sample. Verification: - Ran SQLite PRAGMA integrity_check and foreign_key_check. - Ran git diff --check and git diff --cached --check. - Confirmed report source paths exist. Next useful context: - 06106 is the top still-actionable T0.5 candidate at this as-of time. - 02335 needs another pre-deadline heat sample before a stronger call. - 01392, 06067, and 06132 are now mainly waiting for T1 official allotment results. |
||
|
|
222f55c140 |
Add T0.5 market heat IPO analysis
Request: - Test whether subscription-period T0.5 market heat data can be captured and incorporated into IPO analysis. Changes: - Add an ipo_market_heat table for non-official market-heat snapshots. - Add a VBKR/Jieli archive script for expected margin subscription multiples. - Archive the 2026-06-15T18:40:00Z heat snapshot for 01392, 02335, 06067, 06106, and 06132. - Add an experimental T0.5 overlay rule file and a Chinese cross-IPO trial report. - Update archivist and analyst skills so T0.5 remains separate from official T1 allotment demand. Verification: - .venv/bin/python -m py_compile scripts/archive_t0_5_market_heat.py scripts/build_analysis_dataset.py scripts/update_sync_state.py - Python sqlite3 PRAGMA integrity_check returned ok and foreign_key_check returned zero rows. - Confirmed 5 ipo_market_heat rows and 5 t0_5_market_heat source_refs for the frozen snapshot. - git diff --cached --check Next useful context: - T0.5 data is non-official and should be resampled during the subscription window, then compared against T1 official allotment results. |
||
|
|
a2ec016769 |
Add selected T0 horizontal IPO report
Request: - Combine the currently selected T0 IPO reports into one cross-sectional analysis report. Changes: - Add a Chinese horizontal T0 report comparing 01392, 02335, 06067, 06106, and 06132. - Rank the selected IPOs by the current T0 model and short-exit discipline focused on T2/D1 selling. - Backfill 02335's Chinese company name from its Chinese HKEX prospectus and archive the source PDF plus extracted text. - Refresh the v0 analysis dataset and sync-state snapshots at 2026-06-15T18:20:00Z. Verification: - .venv/bin/python -m py_compile scripts/build_analysis_dataset.py scripts/generate_ipo_report.py scripts/extract_pdf_text.py scripts/update_sync_state.py - Python sqlite3 PRAGMA integrity_check returned ok and foreign_key_check returned zero rows. - Confirmed 02335 Chinese source_ref, extracted text manifest row, and selected horizontal report content. - git diff --cached --check Next useful context: - Untracked PDF exports of individual reports and the horizontal report were left out of this focused commit. |
||
|
|
fcb795b583 |
Add 02335 T0 analyst report
Request: - Generate an analyst report for HK IPO ticker 02335. Changes: - Archived the official HKEXnews 02335 prospectus PDF and extracted text under project-relative data paths. - Seeded 02335 T0 prospectus facts, source references, sync state, and analysis snapshots. - Generated reports/2026-06-15_02335_T0_prospectus_analysis.md in Simplified Chinese with concrete T0/T1/T2/D1 dates and short-exit T2/D1 discipline. - Made PDF text extraction tolerant of invalid Unicode surrogate characters emitted by pypdf. Verification: - Compiled archive_hkex_documents.py, generate_ipo_report.py, build_analysis_dataset.py, extract_pdf_text.py, and update_sync_state.py. - Ran SQLite integrity_check and foreign_key_check. - Verified the archived 02335 PDF hash, extracted-text manifest row, and analysis dataset row. - Ran git diff --check. Next useful context: - 02335 is currently T0_prospectus; T1_allotment is pending for 2026-06-23. |
||
|
|
42c18131e8 |
Add 06067 T0 analyst report
Request: - Generate an analyst report for HK IPO ticker 06067. Changes: - Archived the official HKEXnews 06067 prospectus PDF and extracted text under project-relative data paths. - Seeded 06067 T0 prospectus facts, source references, sync state, and analysis snapshots. - Generated reports/2026-06-15_06067_T0_prospectus_analysis.md in Simplified Chinese with concrete T0/T1/T2/D1 dates and short-exit T2/D1 discipline. - Updated the HKEX document archiver so over-allotment shares are only recorded when the prospectus supports them, with explicit no-option cases stored as zero. Verification: - Compiled archive_hkex_documents.py, generate_ipo_report.py, build_analysis_dataset.py, extract_pdf_text.py, and update_sync_state.py. - Ran SQLite integrity_check and foreign_key_check. - Verified the archived 06067 PDF hash, extracted-text manifest row, and analysis dataset row. - Ran git diff --check. Next useful context: - 06067 is currently T0_prospectus; T1_allotment is pending for 2026-06-22. |
||
|
|
77b405e4f3 |
Add T0 analyst reports for active IPOs
Request: - Analyze HK IPO ticker 01392 with the analyst skill. - Preserve the in-flight 06132 archive/report work already created for the prior request. Changes: - Archived official HKEX prospectus PDFs and extracted text for 01392 and 06132. - Seeded structured T0 facts into the SQLite archive and refreshed CSV snapshots and sync state. - Rebuilt the v0 analysis dataset and model calibration report. - Generated Simplified Chinese T0 prospectus-stage analyst reports for 01392 and 06132. - Adjusted report stage calendars so T2 uses the previous business day before D1 when listing is separated from allocation by a weekend. Verification: - Compiled modified Python scripts with in-memory syntax checks. - Ran SQLite quick_check and foreign_key_check. - Confirmed DB row counts match CSV snapshots for key tables. - Verified 01392/06132 source paths are repo-relative, raw files exist, hashes match, and PDF text manifest rows are ok. - Ran git diff --cached --check. Next useful context: - 01392 T1 is due on 2026-06-18; rerun analyst after allotment results are archived. - 06132 T1 is due on 2026-06-22; rerun analyst after allotment results are archived. |
||
|
|
6d05056609 |
Backfill structured T1 demand from archived text
Request: - Use archivist to close the 137 T1 ipo_demand source-only gaps using extracted PDF text. Changes: - Add an incremental T1 demand text backfill script. - Parse existing allotment-result extracted text into ipo_demand. - Archive linked Summary PDFs from old HKEX HTML allotment-result pages. - Correct allotment-result selection to prefer primary result announcements over clarification or supplemental notices. - Add robust line-aware allotment parsing and document the workflow in archivist and README. - Record the backfill result in a report. Execution: - Selected 137 source-only T1 demand gaps. - Wrote 137 ipo_demand rows, increasing ipo_demand from 154 to 291 rows. - Archived 38 new HKEX allotment-result PDFs and extracted their text. - Confirmed an incremental rerun selects 0 gaps and writes 0 rows. Verification: - Ran git diff --cached --check. - Ran py_compile for archive_hkex_documents.py and backfill_t1_demand_from_text.py. - Checked SQLite integrity and foreign keys. - Confirmed DB row counts match CSV snapshots. - Verified no T1 complete row is missing ipo_demand. - Verified source_refs paths/files/hashes and PDF extracted-text manifest hashes. Next useful context: - T1 demand structure is complete for listed rows; 06106 and 06675 remain pending_not_due. - T2 grey-market and due price-performance gaps remain separate archivist priorities. - Analyst output should be regenerated before using the new T1 demand facts for scoring. |
||
|
|
5f9546b16c |
Improve IPO archive gap handling
Request: - Rework archivist handling for stubborn T0/T1 HKEX document gaps and unresolved T2 grey-market gaps. Changes: - Query HKEXnews titleSearchServlet with IPO-date windows instead of only the latest title-search page. - Recognize SHARE OFFER listing documents and archive official HTML allotment-result notices when no PDF is published. - Mark source-only allotment completion clearly when structured demand parsing is not yet covered. - Add a reusable grey-market gap marker and archivist source policy for T2 data. - Archive newly discovered HKEX raw sources, update SQLite, and refresh CSV snapshots. - Treat raw evidence files as binary in Git attributes. Verification: - Ran py_compile for archive_hkex_documents.py, update_sync_state.py, and mark_grey_market_gaps.py. - Ran HKEX document archive backfill and grey-market gap marker. - Checked SQLite integrity, foreign keys, source paths, source hashes, and DB-vs-snapshot row counts. - Ran git diff --cached --check after marking raw archives binary. Next useful context: - T0 is now complete for 293 tickers. - T1 has 291 complete and 2 pending_not_due tickers. - T2 has 291 blocked gaps pending an approved grey-market source strategy. |
||
|
|
078f56998b |
Backfill IPO price performance history
Request:
- Adjust archivist after the audit findings and update historical data.
Changes:
- Teach the archivist skill to close audit-discovered gaps in priority order.
- Add scripts/archive_price_performance.py for due D1/D5/D20/D60 price-performance backfills.
- Document the price-performance backfill command in README.
- Archive raw Yahoo Finance chart responses under repo-relative data/raw/{ticker}/ paths.
- Populate price_performance with D1/D5/D20/D60 checkpoints and refresh source_refs, sync_runs, sync_tasks, and ticker_sync_state snapshots.
Execution:
- Ran .venv/bin/python scripts/archive_price_performance.py --as-of 2026-06-15T10:00:00Z.
- Selected 291 due price-performance tickers.
- Archived 273 price-history sources and wrote 1063 price-performance rows.
- Re-ran .venv/bin/python scripts/archive_hkex_documents.py --as-of 2026-06-15T10:05:00Z for the remaining open T0/T1 tasks; no additional completed T0/T1 stages resulted.
Verification:
- Compiled the new price-performance script.
- Ran git diff --check.
- Checked SQLite integrity and foreign keys.
- Confirmed database row counts match CSV snapshots.
- Verified all 979 source_refs use valid repo-relative paths, have files, have hashes, and SHA256 hashes match.
- Confirmed no generated Python caches or SQLite transient files remain.
Next useful context:
- price_performance now has 1063 rows: D1 273, D5 272, D20 267, D60 251.
- Remaining due price-performance gaps are 18 tickers where Yahoo history was unavailable or the request failed.
- T0/T1 gaps remain at T0 93 and T1 77; T2 grey-market remains unresolved pending a reproducible source strategy.
|
||
|
|
9aab267f80 |
Run full HKEX document backfill
Request: - Remove small-batch guidance and execute the HKEX document archiver across all open T0/T1 sync tasks in one run. Changes: - Make archive_hkex_documents.py process every open T0/T1 ticker by default when --limit is omitted. - Add per-ticker progress output and keep full refreshes moving if one ticker fails. - Suppress noisy pypdf warnings during large official document extraction. - Update archivist and README instructions to show the full-run command without batch notes. - Archive official HKEXnews prospectus and allotment-results PDFs under repo-relative data/raw paths. - Refresh hk_ipo.sqlite and CSV snapshots for parsed T0/T1 fields, source_refs, sync_runs, sync_tasks, and ticker_sync_state. Execution: - Ran .venv/bin/python scripts/archive_hkex_documents.py --as-of 2026-06-15T09:00:00Z. - Selected 284 open T0/T1 tickers, processed 210 tickers, and archived 398 source files. - Left 74 tickers as missing target docs because title search did not return target prospectus/allotment documents for this pass. Verification: - Parsed archivist scripts with Python ast. - Confirmed README, archivist skill, and archiver script no longer contain batch guidance. - Ran git diff --check. - Checked SQLite integrity and DB/snapshot row counts. - Verified 706 source_refs use relative local paths, all files exist, and SHA256 hashes match. Next useful context: - Current source_refs count is 706 and ipo_demand count is 134. - Sync ledger now reports 414 complete, 1595 pending_due, and 42 pending_not_due states. |
||
|
|
993d7b26fa |
Backfill first HKEX IPO document batch
Request:
Start progressively filling detailed information for recent HK IPO targets.
Changes:
- Add scripts/archive_hkex_documents.py to map tickers to HKEXnews stock IDs, select official prospectus and allotment-results PDFs, archive them under data/raw/{ticker}, parse high-confidence T0/T1 facts, export snapshots, and refresh sync state.
- Document the small-batch HKEX document backfill workflow in README.md and the archivist skill.
- Archive prospectus and allotment-results PDFs for 00901, 01081, 01779, 02290, 02553, and 03388.
- Fill T0 details including application dates, expected allotment date, board lot, minimum subscription amount, and offer-share counts for the six tickers.
- Fill T1 allotment-demand details including valid/successful applications, public subscription level, international placees, international subscription level, and final offer-share allocations.
- Refresh source_refs, ipo_master, offering_terms, ipo_demand, ticker_sync_state, and sync_tasks snapshots.
Verification:
- Ran archive_hkex_documents.py in a first small batch and re-ran corrected tickers after parser hardening.
- Parsed project Python scripts with ast.parse.
- Checked SQLite integrity and DB-to-snapshot row counts.
- Verified source_refs paths are repo-relative, source files exist, and SHA-256 hashes match.
- Confirmed batch field completeness for the six processed tickers.
- Ran git diff --check and git diff --cached --check.
- Checked for Python cache and SQLite transient files.
Next useful context:
- This batch added about 55MB of official HKEXnews PDFs.
- Sync state now has 16 complete stages, 1993 pending_due stages, and 42 pending_not_due stages.
- Continue with small --limit batches because HKEXnews title search can include historical or postponed offering documents for the same stock code.
|
||
|
|
c65b20a1c4 |
Archive recent HKEX IPO targets
Request: Use the project archivist workflow to update IPO target coverage for the most recent three-year window. Changes: - Add scripts/update_recent_ipo_list.py to discover HKEXnews annual new listing reports, archive XLSX sources, parse subscription-relevant IPO rows, and update SQLite plus snapshots. - Add new_listing_report_entries to preserve annual report row-level evidence. - Archive 2023-2026 Main Board new listing reports and 2024-2026 GEM new listing reports. - Seed 290 report-backed IPO targets for 2023-06-15 through 2026-06-15, skipping 10 non-IPO rows without numeric offer prices. - Refresh ipo_master, missing offering_terms fields, source_refs, ticker_sync_state, and sync_tasks. - Add openpyxl as the XLSX parser dependency and document the archivist refresh flow. - Limit sync summary output while keeping the full queue in SQLite and CSV snapshots. Verification: - Ran update_recent_ipo_list.py for 2023-06-15 to 2026-06-15 with as-of 2026-06-15T07:30:00Z. - Parsed project Python scripts with ast.parse. - Checked SQLite integrity and DB-to-snapshot row counts. - Verified source_refs paths are repo-relative, files exist, and SHA-256 hashes match. - Ran git diff --check and git diff --cached --check. - Checked for Python cache and SQLite transient files. Next useful context: - ipo_master now has 293 tickers; new_listing_report_entries has 290 report-backed targets. - Current sync queue has 2005 open tasks and 42 waiting_until_due tasks for deeper per-ticker archival stages. |
||
|
|
eae427d85b |
Add PDF text extraction workflow
Request: - Provide a way to install or develop a PDF extraction tool for archived HK IPO documents. Changes: - Add requirements.txt with pypdf as the lightweight PDF text extraction dependency. - Add scripts/extract_pdf_text.py to extract text from PDF source_refs into repo-relative data/extracted_text files. - Add extracted text outputs and an extracted_text_manifest snapshot for the six archived HKEXnews PDFs. - Document the extraction workflow in README.md. - Ignore .venv and keep generated SQLite/Python transient files out of git. - Use extracted text to verify the 06106 full prospectus, update source_refs, remove the related data gap, and fill 06106 offering terms. Verification: - Installed python3.14-venv system support, created a local .venv, and installed requirements.txt. - Re-ran scripts/bootstrap_historical_data.py and scripts/extract_pdf_text.py. - Verified extracted text paths and hashes against data/snapshots/extracted_text_manifest.csv. - Verified SQLite integrity and snapshot row counts. - Ran git diff --cached --check and searched durable files for machine-specific absolute paths. |
||
|
|
7a8c648d87 |
Bootstrap HK IPO historical archive
Request: - Use the project archivist workflow to update historical IPO data. Changes: - Add an embedded SQLite archive at data/hk_ipo.sqlite. - Add schema/hk_ipo.schema.sql and scripts/bootstrap_historical_data.py for reproducible archive generation. - Archive HKEXnews source PDFs for 06658, 06675, and 06106 under repo-relative data/raw paths. - Export Git-friendly snapshots for ipo_master, offering_terms, ipo_demand, source_refs, and data_gaps. - Add .gitignore rules for Python cache and SQLite transient files. Verification: - Re-ran the bootstrap script successfully. - Ran PRAGMA integrity_check on the SQLite database. - Verified source_refs paths are repo-relative, files exist, and SHA-256 hashes match. - Verified snapshot row counts match SQLite table counts. - Ran git diff --check and searched generated durable files for machine-specific absolute paths. |