Skip to content

Add NZ QES weekly earnings levels and PREFU 2026 earnings assumptions (G8-d3) - #382

Merged
MaxGhenis merged 3 commits into
mainfrom
nzhub/g8d3-awe-qes-prefu
Oct 23, 2026
Merged

MaxGhenis merged 3 commits into
mainfrom
nzhub/g8d3-awe-qes-prefu

Conversation

@MaxGhenis

Copy link
Copy Markdown
Contributor

G8-d3: ingest 26 Stats NZ Table 7 all-sector FTE earnings levels (ordinary
QEMQ.SBSZ9A and total QEMQ.SBSZ9Z), Jun 2023–Jun 2026, plus seven Treasury
PREFU Table 4.1 C17:I17 annual ordinary-time earnings percentage changes.

Publisher qualification: PREFU D6 is Forecast4, but C22:D22 footnote 4 says
all measures except real/nominal GDP are actuals. Preserve Forecast4 verbatim;
2025 and 2026 earnings are observations, 2027–2031 source_projection. This
source-backed qualification supersedes the task's preliminary 2026 forecast
classification. All seven economic assumptions use Treasury's model_output
measurement-basis precedent; no survey instrument is invented.

Invariants and checks:

  • Publisher bytes unchanged: SHA-256, exact byte length, source URL and
    fetched_at checked against staged receipts in the independent audit and
    pinned by each package's artifact tests.
    Three manifests carry source licence/attribution and canonical raw/nz keys
    generated by this worktree's chronicle.artifacts.build_r2_key. Remote R2
    upload and verification are explicitly pending hub; no upload claimed.
  • Every fact is one literal publisher cell: independent tests pin all 26 QES
    and all 7 PREFU exact cells/values; selectors have scale 1, no divisor,
    rounding or ranges. No computed growth rates, averages, factors, aging,
    reconciliation, imputation, target activation or model bindings.
  • Each QES quarter/series appears once: 2025 vintage rows13–16 own Jun2023–
    Mar2024; 2026 rows13–21 own Jun2024–Jun2026. Tests separately compare the
    ten overlapping publisher cells for exact agreement and reject a duplicate
    Jun2024 from the older vintage. Full 16-sheet QES used ranges preserved;
    other sectors/overtime/change blocks/worksheets emit no facts.
  • QES periods use existing quarter:YYYY-Qn convention and calendar quarter
    coverage; pay-week definition is recorded only in notes and attributed to
    the hub-supplied methodology. Treasury periods use existing opening-year
    fiscal_year:2024–2030, with original years-ending-June2025–2031 labels.
    Off-year tests prove no build-year restamping for either publisher.
  • Every record set visibly declares provenance_class. QES survey_aggregate
    names Quarterly Employment Survey (QES); Treasury model_output follows
    merged Treasury/OBR economic-publication convention. Both publishers keep
    explicit assertion values. Dedicated repository-wide provenance surface
    node passed (1 test); final result is in .hub-report.txt.
  • Every dimension/value has a label, retaining series, component, FTE,
    all-sector/actual adjustment scope and Treasury column status/footnotes3,4.
    Explicit canonical equality constraints match source filters; consumer
    contract/raw-facts validators and suite agent acceptance check this.
  • Guard regressions independently pin all 42 QES guard coordinates and all 22
    Treasury metadata/year/status/footnote coordinates plus 7 numeric guards.
    Expected-red scratch probes: QES 45 failures (42 guard mutations,2 P→R
    column shifts,1 duplicate-vintage YAML); Treasury 28 guard failures plus
    one B17 row-label failure and7 row-shift exact-cell failures. No publisher
    workbook bytes were mutated; mutants used copied YAML/in-memory cells.
  • Independent ledger-source-fidelity PASS and ledger-boundary PASS reviews
    read all 33 cells, periods, receipt/storage fields and final constraint maps.
  • validate-package CLI passes for each package at year2023; three separate
    single-source build_bundle calls run build-suite and pass all 12 acceptance
    checks with lineage 1.0. Source-cell counts 17427, 17298, 872. Optional external
    Axiom validation is skipped (one standard suite acceptance warning each);
    bundle warnings and duplicate keys are zero. Single-source output trees
    deleted immediately; full bundle/full suite never run. Targeted pytest,
    lint and surface-node results are recorded with counts in .hub-report.txt.

Final verification: 111 distinct targeted cases pass: QES 64 (57 + 7
corrected test-only guard-normalization reruns), PREFU 43 (42 + 1 corrected
test-only validator-call rerun), NZ roster/CLI 3 and provenance surface 1.
The required node is
tests/test_chronicle_source_package.py::test_every_source_package_record_set_declares_provenance_class
Every pytest invocation used -p no:cacheprovider --basetemp=.hub-scratch/pytest
-o tmp_path_retention_policy=failed, with basetemp deleted after completion.
Ruff check and changed-test format checks pass; git diff --check passes.
Detailed commands, expected-red evidence and final counts are in the report
and .hub-scratch/{qes-test-results.txt,treasury/test-results.txt}.

Exact measured bundle delta from base aa288c3,
at build year2023 (separate single-source builds; no whole bundle):

  • stats-nz-qes-average-weekly-earnings-june-2025:8 facts,1 package,1 table,
    publisher stats_nz, country:NZ8, person8, four quarter periods2 each.
  • stats-nz-qes-average-weekly-earnings-june-2026:18 facts,1 package,1 table,
    publisher stats_nz, country:NZ18, person18, nine quarter periods2 each.
  • treasury-prefu26-economic-assumptions:7 facts,1 package,1 table,
    publisher treasury, country:NZ7, government7, seven fiscal periods1 each.
  • Combined:+33 facts,+3 packages,+3 tables; +0 publisher/geography/period/
    entity keys,+0 warnings,+0 aggregate/semantic duplicates,+0 skipped sources.
    by_source:stats_nz+26,treasury+7; by_entity:person+26,government+7;
    by_geography:country:NZ+33 (the sole key; already present).
  • by_period exact increments (all keys already exist):
    quarter:2023-Q2: +2
    quarter:2023-Q3: +2
    quarter:2023-Q4: +2
    quarter:2024-Q1: +2
    quarter:2024-Q2: +2
    quarter:2024-Q3: +2
    quarter:2024-Q4: +2
    quarter:2025-Q1: +2
    quarter:2025-Q2: +2
    quarter:2025-Q3: +2
    quarter:2025-Q4: +2
    quarter:2026-Q1: +2
    quarter:2026-Q2: +2
    fiscal_year:2024: +1
    fiscal_year:2025: +1
    fiscal_year:2026: +1
    fiscal_year:2027: +1
    fiscal_year:2028: +1
    fiscal_year:2029: +1
    fiscal_year:2030: +1
  • New table keys/counts:
    stats_nz:Quarterly Employment Survey June 2025 quarter, Table 7: Average weekly earnings for FTEs, by sector =8
    stats_nz:Quarterly Employment Survey June 2026 quarter, Table 7: Average weekly earnings for FTEs, by sector =18
    treasury:PREFU 2026 Table 4.1 - Key economic assumptions for fiscal forecasts =7
  • Default pins are base plus this delta only: facts1579296,packages408,
    publishers56,tables350,geographies102613,periods523,entities12,warnings122;
    stats_nz2041,treasury146,person521345,government3569,country:NZ6164.
    Full structured evidence: .hub-scratch/bundle-delta.json. Hub can re-pin
    additively if parallel NZ packages land first. No commit/push/GitHub action
    performed in this lane; this file supplies the proposed commit message.

Rebased by the NZ hub onto chronicle main acbedb5 (which includes #379, G8-d4).
The bundle pins are main's values plus this package's measured delta:
fact_count 1,579,313; source packages 408; stats_nz 2,058; treasury 146;
country:NZ 6,165; person 521,362.

Hub landing record

  • Raw objects on R2: the hub published all three workbooks with this worktree's Chronicle code and streamed each back; SHA-256 matches the manifest:

    • raw/nz/stats_nz/qes_average_weekly_earnings_june_2025/2025/25053dcb…/quarterly-employment-survey-june-2025-quarter.xlsx
    • raw/nz/stats_nz/qes_average_weekly_earnings_june_2026/2026/1af2e7e3…/quarterly-employment-survey-june-2026-quarter.xlsx
    • raw/nz/treasury/treasury-prefu26-economic-assumptions/2026/e2486375…/prefu26-charts-data.xlsx

    The committed manifests are unchanged by the publish.

  • Rebase: the build ran on aa288c3. The hub rebased onto main acbedb5, which carries Stats NZ regional resident population at 30 June 2023 (NZ, G8-d4) #379 (G8-d4), and set the bundle pins to main's values plus this package's measured delta.

  • Re-runs on the rebased branch: test_chronicle_nz_qes_earnings.py 64 passed; test_chronicle_nz_prefu_earnings.py 43 passed; the NZ curated-sources bundle node passed. CI runs the full-bundle node.

  • Why: these facts are evidence for the NZ hub's declared earnings-ageing factors (Max d1599). Chronicle stores the facts only; Microcosm computes the factors (G8-r2).

Facts-only source packages; no published number. Needs Max: no.

🤖 Generated with Claude Code

MaxGhenis and others added 3 commits October 22, 2026 23:22
G8-d3: ingest 26 Stats NZ Table 7 all-sector FTE earnings levels (ordinary
QEMQ.SBSZ9A and total QEMQ.SBSZ9Z), Jun 2023–Jun 2026, plus seven Treasury
PREFU Table 4.1 C17:I17 annual ordinary-time earnings percentage changes.

Publisher qualification: PREFU D6 is Forecast4, but C22:D22 footnote 4 says
all measures except real/nominal GDP are actuals. Preserve Forecast4 verbatim;
2025 and 2026 earnings are observations, 2027–2031 source_projection. This
source-backed qualification supersedes the task's preliminary 2026 forecast
classification. All seven economic assumptions use Treasury's model_output
measurement-basis precedent; no survey instrument is invented.

Invariants and checks:
- Publisher bytes unchanged: SHA-256, exact byte length, source URL and
  fetched_at checked against staged receipts in the independent audit and
  pinned by each package's artifact tests.
  Three manifests carry source licence/attribution and canonical raw/nz keys
  generated by this worktree's chronicle.artifacts.build_r2_key. Remote R2
  upload and verification are explicitly pending hub; no upload claimed.
- Every fact is one literal publisher cell: independent tests pin all 26 QES
  and all 7 PREFU exact cells/values; selectors have scale 1, no divisor,
  rounding or ranges. No computed growth rates, averages, factors, aging,
  reconciliation, imputation, target activation or model bindings.
- Each QES quarter/series appears once: 2025 vintage rows13–16 own Jun2023–
  Mar2024; 2026 rows13–21 own Jun2024–Jun2026. Tests separately compare the
  ten overlapping publisher cells for exact agreement and reject a duplicate
  Jun2024 from the older vintage. Full 16-sheet QES used ranges preserved;
  other sectors/overtime/change blocks/worksheets emit no facts.
- QES periods use existing quarter:YYYY-Qn convention and calendar quarter
  coverage; pay-week definition is recorded only in notes and attributed to
  the hub-supplied methodology. Treasury periods use existing opening-year
  fiscal_year:2024–2030, with original years-ending-June2025–2031 labels.
  Off-year tests prove no build-year restamping for either publisher.
- Every record set visibly declares provenance_class. QES survey_aggregate
  names Quarterly Employment Survey (QES); Treasury model_output follows
  merged Treasury/OBR economic-publication convention. Both publishers keep
  explicit assertion values. Dedicated repository-wide provenance surface
  node passed (1 test); final result is in .hub-report.txt.
- Every dimension/value has a label, retaining series, component, FTE,
  all-sector/actual adjustment scope and Treasury column status/footnotes3,4.
  Explicit canonical equality constraints match source filters; consumer
  contract/raw-facts validators and suite agent acceptance check this.
- Guard regressions independently pin all 42 QES guard coordinates and all 22
  Treasury metadata/year/status/footnote coordinates plus 7 numeric guards.
  Expected-red scratch probes: QES 45 failures (42 guard mutations,2 P→R
  column shifts,1 duplicate-vintage YAML); Treasury 28 guard failures plus
  one B17 row-label failure and7 row-shift exact-cell failures. No publisher
  workbook bytes were mutated; mutants used copied YAML/in-memory cells.
- Independent ledger-source-fidelity PASS and ledger-boundary PASS reviews
  read all 33 cells, periods, receipt/storage fields and final constraint maps.
- validate-package CLI passes for each package at year2023; three separate
  single-source build_bundle calls run build-suite and pass all 12 acceptance
  checks with lineage 1.0. Source-cell counts 17427, 17298, 872. Optional external
  Axiom validation is skipped (one standard suite acceptance warning each);
  bundle warnings and duplicate keys are zero. Single-source output trees
  deleted immediately; full bundle/full suite never run. Targeted pytest,
  lint and surface-node results are recorded with counts in .hub-report.txt.

Final verification: 111 distinct targeted cases pass: QES 64 (57 + 7
corrected test-only guard-normalization reruns), PREFU 43 (42 + 1 corrected
test-only validator-call rerun), NZ roster/CLI 3 and provenance surface 1.
The required node is
  tests/test_chronicle_source_package.py::test_every_source_package_record_set_declares_provenance_class
Every pytest invocation used -p no:cacheprovider --basetemp=.hub-scratch/pytest
-o tmp_path_retention_policy=failed, with basetemp deleted after completion.
Ruff check and changed-test format checks pass; git diff --check passes.
Detailed commands, expected-red evidence and final counts are in the report
and .hub-scratch/{qes-test-results.txt,treasury/test-results.txt}.

Exact measured bundle delta from base aa288c3,
at build year2023 (separate single-source builds; no whole bundle):
- stats-nz-qes-average-weekly-earnings-june-2025:8 facts,1 package,1 table,
  publisher stats_nz, country:NZ8, person8, four quarter periods2 each.
- stats-nz-qes-average-weekly-earnings-june-2026:18 facts,1 package,1 table,
  publisher stats_nz, country:NZ18, person18, nine quarter periods2 each.
- treasury-prefu26-economic-assumptions:7 facts,1 package,1 table,
  publisher treasury, country:NZ7, government7, seven fiscal periods1 each.
- Combined:+33 facts,+3 packages,+3 tables; +0 publisher/geography/period/
  entity keys,+0 warnings,+0 aggregate/semantic duplicates,+0 skipped sources.
  by_source:stats_nz+26,treasury+7; by_entity:person+26,government+7;
  by_geography:country:NZ+33 (the sole key; already present).
- by_period exact increments (all keys already exist):
  quarter:2023-Q2: +2
  quarter:2023-Q3: +2
  quarter:2023-Q4: +2
  quarter:2024-Q1: +2
  quarter:2024-Q2: +2
  quarter:2024-Q3: +2
  quarter:2024-Q4: +2
  quarter:2025-Q1: +2
  quarter:2025-Q2: +2
  quarter:2025-Q3: +2
  quarter:2025-Q4: +2
  quarter:2026-Q1: +2
  quarter:2026-Q2: +2
  fiscal_year:2024: +1
  fiscal_year:2025: +1
  fiscal_year:2026: +1
  fiscal_year:2027: +1
  fiscal_year:2028: +1
  fiscal_year:2029: +1
  fiscal_year:2030: +1
- New table keys/counts:
  stats_nz:Quarterly Employment Survey June 2025 quarter, Table 7: Average weekly earnings for FTEs, by sector =8
  stats_nz:Quarterly Employment Survey June 2026 quarter, Table 7: Average weekly earnings for FTEs, by sector =18
  treasury:PREFU 2026 Table 4.1 - Key economic assumptions for fiscal forecasts =7
- Default pins are base plus this delta only: facts1579296,packages408,
  publishers56,tables350,geographies102613,periods523,entities12,warnings122;
  stats_nz2041,treasury146,person521345,government3569,country:NZ6164.
  Full structured evidence: .hub-scratch/bundle-delta.json. Hub can re-pin
  additively if parallel NZ packages land first. No commit/push/GitHub action
  performed in this lane; this file supplies the proposed commit message.

Rebased by the NZ hub onto chronicle main acbedb5 (which includes #379, G8-d4).
The bundle pins are main's values plus this package's measured delta:
fact_count 1,579,313; source packages 408; stats_nz 2,058; treasury 146;
country:NZ 6,165; person 521,362.

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The hub published the three G8-d3 workbooks to their raw/nz keys and verified
each by SHA-256 read-back (2026-10-23). The evidence notes and the NZ source
checklist now say so, tick the checklist's raw/nz column, and cite the
manifest-recorded fetch receipts instead of the lane's untracked
.hub-sources/receipts.jsonl (chronicle#382 review, non-blocking finding).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The NZ suite gains three packages (two QES vintages and PREFU 2026), so the
alias-drift tests now expect 70 NZ sources and packages on disk (was 67), and
the canonical raw-key check expects five Treasury artifacts (was four). These
pins sit outside the files the build lane ran; CI's surface job caught them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MaxGhenis

Copy link
Copy Markdown
Contributor Author

Merge audit (NZ hub): head 860212a. Independent reviews, GPT-6.1 Sol via Subfleet:

  • 20261022-232331: APPROVE at b11a990. All 33 values match publisher cells; footnote 4 and opening-year fiscal handling correct; bundle pins = main + delta; 107 mutation probes red.
  • 20261022-233515: APPROVE at dfbb17f (docs-only R2-verified wording).
  • 20261023-015438: APPROVE at 860212a (NZ count pins 67→70, treasury 4→5; 74 tests).

The R2 raw objects were published and verified by SHA-256 read-back on 2026-10-23. CI: gh pr checks exit 0 (bundle, checks, surface). Merging with a merge commit, as #379.

@MaxGhenis
MaxGhenis merged commit 8f4cfd5 into main Oct 23, 2026
3 checks passed
@MaxGhenis
MaxGhenis deleted the nzhub/g8d3-awe-qes-prefu branch October 23, 2026 07:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant