Upload documents. Run hard rules. Get readiness feedback.
Eligibility is a separate product from prospectus drafting. AI extracts facts and drafts feedback; a deterministic engine compares confirmed numbers to listing thresholds — never inventing values.
Four stages
AI where reading text helps; code where thresholds must be exact.
1 · Extraction
Reads PDF / DOCX / XLSX / JSON into quantifiable fields and narrative excerpts (Mode B: confirm before hard use).
2 · Hard inspection
Pure Python vs versioned YAML thresholds across HK / A-share / SGX boards. No LLM imports.
3 · Qualitative
LLM reviews unquantifiable substance signals (concentration, independence, controls, …).
4 · Feedback
Plain-language readiness + what to improve, tied to shortfalls and missing inputs.
End-to-end flow
Structured fields and uploads both feed the same hard engine. Provider choice lives in eligibility settings — separate from drafting.
Structured fields
Manual · no AI
Uploaded documents
AI extraction
Confirm values
Mode B · unconfirmed = MISSING_INPUT
Hard rule engine
Deterministic · no AI
Qualitative signals
LLM
Feedback + scorecard
Diagnostic · not legal advice
How companies submit information
A profit test or market-cap floor is not a judgment call. LLMs must not invent numbers or pick rule limbs. The hard path is auditable, reproducible, and regression-tested.
Structured fields
No AI requiredEnter profit, revenue, market cap, continuity, FX, and related fields. Values go straight into the issuer envelope for hard comparison.
Uploaded materials
AI extractionUpload audited statements or diligence files. The eligibility extraction agent (not Agent1 drafting) pulls fields and narrative text; deal params stay hard-entered.
Why hard thresholds never use AI
A profit test or market-cap floor is not a judgment call. LLMs must not invent numbers or pick rule limbs. The hard path is auditable, reproducible, and regression-tested.
Standalone package
Lives under eligibility/ — does not depend on Agent1 / Agent2 drafting graphs.
Own inference settings
/diagnostic/settings stores providers separately from drafting Settings.
Hard rule engine
YAML packs for HKEX, PRC boards, and SGX. No LLM imports on this path.
Feedback layer
Answers “ready to discuss?” and lists gaps — not exchange approval.
Status model
Markets and boards covered
PASS
Resolved value meets the threshold.
SHORTFALL
Resolved value falls short.
MISSING_INPUT
Value absent or not confirmed.
INDETERMINATE
Value present but cannot be compared (e.g. missing FX).
NOT_EVALUATED
Gate authored but not run this phase / qualitative pending evidence.
TRIGGERED
Qualitative signal fired for review (soft layer).
Markets and boards covered
Eligibility reconstructs issuer data, compares thresholds, and flags gaps. It does not decide listing approval or write a prospectus.
Hong Kong Main Board, GEM, Ch. 8A / 18A / 18C, public float
PRC Main Board, STAR, ChiNext, BSE + CSRC preconditions
SGX Mainboard and Catalist
Multi-market packs encoded from the update/ threshold master
Diagnostic only — humans finalize.
Eligibility reconstructs issuer data, compares thresholds, and flags gaps. It does not decide listing approval or write a prospectus.