Official macro observations
The launched macro snapshot requires five series:
NBS is collected from
www.stats.gov.cn/english/PressRelease/; SAFE is
collected from www.safe.gov.cn/safe/. Both sources have bounded request
budgets, manual redirect handling, response-size limits, robots preflight,
source-host allowlists, and reviewed attribution requirements. The macro
seeder does not use a proxy to bypass a rejected source decision.
The following reviewed candidates remain explicit unavailable observations
instead of being silently omitted:
pboc_aggregate_financing_flowpboc_new_rmb_loanspboc_policy_liquidity_operationgacc_exportsgacc_importsgacc_trade_balance
www.pbc.gov.cn robots policy disallows
the reviewed paths or terms review is incomplete. GACC candidates remain
blocked when english.customs.gov.cn cannot pass the TLS/source preflight.
Their missing observations remain unavailable.
M2 through an official republication
pboc_m2_yoy has one additional reviewed source binding at the
Shanghai Financial Portal. The
portal credits the People’s Bank of China. The observation and its provenance
identify Shanghai as the actual republisher and retain the PBOC credit.
This binding does not open direct PBOC access or supply other PBOC series.
The August report
states August 2026 M2 growth of 7.5%, with a Shanghai publication date of
15 September 2026. This is a day-precision republication date, not an original
PBOC release timestamp or an NBS database publication date. The subsequent
quarter report supplies September monthly M2 growth of 7.2% and is dated
15 October 2026. The adapter discovers the newest national report on the
reviewed listing, including half-year and quarter titles, and extracts only
the M2 month-end observation. It does not confuse the balance, M1 or M0 with
the M2 growth rate.
The HTTPS robots endpoint returned a normal
404 on 24 October 2026. The existing runtime records this as
no_rules_published. Each run checks robots before the listing and article,
uses verified HTTPS with manual redirects, and has a six-request limit and a
15-second total fetch deadline for this optional source.
The portal’s copyright statement,
section 2, requires users of republications to retain the credited source.
Ingestion is limited to numeric facts and publication metadata with source
credit and a link to the article. Article prose and third-party media are not
redistributed.
M2 uses a 50-day observation-age limit. The
July report
was republished on 17 August, 48 days after the preceding June month-end.
The limit includes the macro worker’s next 36-hour interval. A newer retrieval
does not make an old observation current. Source failures preserve the last successful publication
and retrieval clocks and expose the failed attempt separately. M2 remains
optional for the five-series launch gate. Existing stored v2 payloads with a
null PBOC M2 row remain valid; the Shanghai binding requires its own matching
publisher preflight. These code contracts do not establish deployment or
production acceptance.
Revisions and direction
Each official observation retains its observation period, publication time, retrieval time, source URL, vintage ID, revision sequence, and supersession state. A correction creates or updates a traceable vintage; it does not rewrite the historical point-in-time record. Direction is calculated only when the published series contract supplies a valid comparison. Missing comparison values remain unavailable. The snapshot is launch-ready only when all five required observations are valid and within their individual age budgets. Transport freshness and snapshot completeness are written as separate seed metadata. Only a published snapshot records a completed run, so a rejected snapshot is retried on the next macro bundle tick (08:00 and 09:00 UTC daily) instead of waiting out the 36-hour interval. The transport metadata carries no content age until the canonical snapshot is published. The post-publication hook records the published content age before the completion marker. Validation or publication failures therefore leavechinaMacro health at STALE_CONTENT while preserving the last-good snapshot.
GET /api/economic/v1/get-china-macro-snapshot reads the canonical
economic:china:macro:v2 seed and never fans out to upstream publishers on a
cache miss. The macro Railway member runs every 36 hours.
Release calendar
The release calendar reads the current NBS calendar fromwww.stats.gov.cn.
Loan Prime Rate dates are generated from the reviewed Chinese business-day
calendar and marked provisional, then promoted to verified only when the
corresponding ChinaMoney/CFETS notice is found on www.chinamoney.com.cn.
Failure of the required NBS calendar fails the calendar build. Failure of
ChinaMoney verification leaves LPR dates provisional and records the source
decision; it does not relabel them as verified.
Policy and enforcement events
The policy lane polls six official agencies:
Each agency is limited to one listing request and at most three reviewed
document fetches per run, with a 400 ms same-host cadence. Listing responses
are capped at 750 KB and documents at 2 MB. URLs must match the reviewed host
and path contract.
The deterministic taxonomy emits:
consultation_draftannouncement_guidancefinal_ruleadministrative_approval_restrictioninvestigationenforcement_penaltyeffective_date_changeamendment_correction_repeal_supersessionunknown
error;
healthy agencies continue independently.
