Skip to content

Commit 6ded637

Browse files
committed
Update publication candidate
1 parent 552c677 commit 6ded637

8 files changed

Lines changed: 390 additions & 12 deletions

File tree

changelog.d/1022.added renamed to .github/publication_candidates/usdata-gha26192882159-a1/changelog.d/1022.added

File renamed without changes.

changelog.d/1036.added renamed to .github/publication_candidates/usdata-gha26192882159-a1/changelog.d/1036.added

File renamed without changes.

changelog.d/1090.changed renamed to .github/publication_candidates/usdata-gha26192882159-a1/changelog.d/1090.changed

File renamed without changes.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"base_release_version": "1.115.5",
3+
"candidate_scope": "1.115.5-minor",
4+
"release_bump": "minor",
5+
"run_id": "usdata-gha26192882159-a1",
6+
"would_release_as_at_build_time": "1.116.0"
7+
}

.github/publication_scope.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"base_release_version": "1.115.4",
3-
"candidate_scope": "1.115.4-patch",
4-
"release_bump": "patch",
5-
"run_id": "usdata-gha26174297309-a1",
6-
"would_release_as_at_build_time": "1.115.5"
2+
"base_release_version": "1.115.5",
3+
"candidate_scope": "1.115.5-minor",
4+
"release_bump": "minor",
5+
"run_id": "usdata-gha26192882159-a1",
6+
"would_release_as_at_build_time": "1.116.0"
77
}

docs/engineering/pipeline-map.md

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ Stage base source-imputed datasets and policy database artifacts for the run
339339
| --- | --- | --- | --- | --- |
340340
| `in_source_imputed_s1g` source_imputed_*.h5 | `artifact` | `unknown` | `unknown` | |
341341
| `in_policy_db_s1g` policy_data.db | `artifact` | `unknown` | `unknown` | |
342-
| `hf_staging_base_s1g` HuggingFace staging/{candidate_version}/{run_id} | `external` | `unknown` | `unknown` | |
342+
| `hf_staging_base_s1g` HuggingFace staging/{candidate_version}-{run_id} | `external` | `unknown` | `unknown` | |
343343
| `stage_base_datasets` stage base datasets | `process` | `current` | `moving` | |
344344
| `out_staged_base_s1g` staged base datasets | `artifact` | `unknown` | `unknown` | |
345345

@@ -687,7 +687,7 @@ Promote validated staged artifacts to HuggingFace production paths
687687
| Node | Type | Status | Stability | API refs |
688688
| --- | --- | --- | --- | --- |
689689
| `in_validated_candidates_s5b` validated release candidates | `artifact` | `unknown` | `unknown` | |
690-
| `hf_staging_s5b` HuggingFace staging/{candidate_version}/{run_id} | `external` | `unknown` | `unknown` | |
690+
| `hf_staging_s5b` HuggingFace staging/{candidate_version}-{run_id} | `external` | `unknown` | `unknown` | |
691691
| `out_hf_prod` HuggingFace Production | `external` | `unknown` | `unknown` | |
692692
| `util_upload_s5b` data_upload.py | `utility` | `unknown` | `unknown` | |
693693
| `staging_upload` Upload Local H5s To Staging | `entrypoint` | `current` | `moving` | `modal_app.local_area.upload_to_staging` |
@@ -882,6 +882,14 @@ def _validate_housing_assistance_microsimulation(cls, data, time_period, microsi
882882

883883
Check formula-reconstructed housing assistance before export.
884884

885+
### `policyengine_us_data.release_promotion.candidate_builders.build_legacy_release_candidate_bundle`
886+
887+
```python
888+
def build_legacy_release_candidate_bundle(*, context: ReleasePromotionContext, rel_paths: Sequence[str], artifact_metadata_by_path: Mapping[str, Mapping[str, Any]] | None = None, validation_report_paths: Sequence[str] = (), validation_report_refs: Sequence[DiagnosticRef] = (), source_output_contract_path: str | None = None, diagnostics_manifest_path: str | None = None) -> ReleaseCandidateInputBundle
889+
```
890+
891+
Build a candidate bundle from the current legacy staged relative paths.
892+
885893
### `policyengine_us_data.calibration.publish_local_area.load_calibration_geography`
886894

887895
```python
@@ -1322,6 +1330,38 @@ def normalize_worker_response(*, worker_index: int, result: object) -> Coordinat
13221330

13231331
Normalize worker JSON into explicit fatal and nonfatal coordinator issues.
13241332

1333+
### `policyengine_us_data.release_promotion.artifacts.ReleaseArtifactSpec`
1334+
1335+
```python
1336+
class ReleaseArtifactSpec
1337+
```
1338+
1339+
Normalized identity for one artifact in a Stage 5 release candidate.
1340+
1341+
### `policyengine_us_data.release_promotion.candidate.ReleaseCandidateInputBundle`
1342+
1343+
```python
1344+
class ReleaseCandidateInputBundle
1345+
```
1346+
1347+
Typed Stage 5 input bundle describing a candidate ready for promotion.
1348+
1349+
### `policyengine_us_data.release_promotion.validation.build_release_candidate_shape_report`
1350+
1351+
```python
1352+
def build_release_candidate_shape_report(bundle: ReleaseCandidateInputBundle) -> ValidationReport
1353+
```
1354+
1355+
Describe candidate-bundle shape using the shared validation schema.
1356+
1357+
### `policyengine_us_data.release_promotion.context.ReleasePromotionContext`
1358+
1359+
```python
1360+
class ReleasePromotionContext
1361+
```
1362+
1363+
Canonical run, candidate, release, and destination identity for Stage 5.
1364+
13251365
### `modal_app.local_area._resolve_scope_fingerprint`
13261366

13271367
```python
@@ -1362,6 +1402,22 @@ def impute_source_variables(data: Dict[str, Dict[int, np.ndarray]], state_fips:
13621402

13631403
Re-impute ACS/SIPP/ORG/SCF variables from donor surveys.
13641404

1405+
### `policyengine_us_data.release_promotion.stage4_reader.build_release_candidate_bundle_from_stage4_contract`
1406+
1407+
```python
1408+
def build_release_candidate_bundle_from_stage4_contract(*, context: ReleasePromotionContext, output_contract: StageContract, inventory_records: Iterable[Mapping[str, Any]] = (), source_output_contract_path: str | None = None, validation_report_paths: Sequence[str] = (), validation_report_refs: Sequence[DiagnosticRef] = (), diagnostics_manifest_path: str | None = None) -> ReleaseCandidateInputBundle
1409+
```
1410+
1411+
Build a candidate bundle from a Stage 4 output contract shape.
1412+
1413+
### `policyengine_us_data.release_promotion.stage4_reader.read_stage4_release_candidate_bundle`
1414+
1415+
```python
1416+
def read_stage4_release_candidate_bundle(*, context: ReleasePromotionContext, output_contract_path: str | Path, output_inventory_path: str | Path | None = None, source_output_contract_path: str | None = None, validation_report_paths: Sequence[str] = (), validation_report_refs: Sequence[DiagnosticRef] = (), diagnostics_manifest_path: str | None = None) -> ReleaseCandidateInputBundle
1417+
```
1418+
1419+
Read a candidate bundle from Stage 4 contract and optional inventory files.
1420+
13651421
### `policyengine_us_data.build_datasets.artifacts.stage_1_artifact_specs`
13661422

13671423
```python

docs/generated/pipeline_api.json

Lines changed: 190 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1363,6 +1363,33 @@
13631363
"signature": "def compute_initial_weights(X_sparse, targets_df: 'pd.DataFrame') -> np.ndarray",
13641364
"source_file": "policyengine_us_data/calibration/unified_calibration.py"
13651365
},
1366+
"legacy_release_candidate_bundle_builder": {
1367+
"docstring": "Build a candidate bundle from the current legacy staged relative paths.",
1368+
"id": "legacy_release_candidate_bundle_builder",
1369+
"kind": "function",
1370+
"line": 38,
1371+
"metadata": {
1372+
"api_refs": [
1373+
"policyengine_us_data.release_promotion.candidate_builders.build_legacy_release_candidate_bundle"
1374+
],
1375+
"description": "Compatibility builder for Stage 5 candidates from legacy staged path sets.",
1376+
"id": "legacy_release_candidate_bundle_builder",
1377+
"label": "Legacy Release Candidate Bundle Builder",
1378+
"node_type": "library",
1379+
"pathways": [
1380+
"5_validate_and_promote_release"
1381+
],
1382+
"source_file": "policyengine_us_data/release_promotion/candidate_builders.py",
1383+
"stability": "moving",
1384+
"status": "transitional",
1385+
"validation_commands": [
1386+
"uv run pytest tests/unit/release_promotion/test_candidate.py"
1387+
]
1388+
},
1389+
"object_path": "policyengine_us_data.release_promotion.candidate_builders.build_legacy_release_candidate_bundle",
1390+
"signature": "def build_legacy_release_candidate_bundle(*, context: ReleasePromotionContext, rel_paths: Sequence[str], artifact_metadata_by_path: Mapping[str, Mapping[str, Any]] | None = None, validation_report_paths: Sequence[str] = (), validation_report_refs: Sequence[DiagnosticRef] = (), source_output_contract_path: str | None = None, diagnostics_manifest_path: str | None = None) -> ReleaseCandidateInputBundle",
1391+
"source_file": "policyengine_us_data/release_promotion/candidate_builders.py"
1392+
},
13661393
"load_calibration_geography": {
13671394
"docstring": "",
13681395
"id": "load_calibration_geography",
@@ -3105,6 +3132,114 @@
31053132
"signature": "def puf_clone_dataset(data: Dict[str, Dict[int, np.ndarray]], state_fips: np.ndarray, block_geoid: Optional[np.ndarray] = None, cd_geoid: Optional[np.ndarray] = None, county_fips: Optional[np.ndarray] = None, time_period: int = 2024, puf_dataset = None, skip_qrf: bool = False, dataset_path: Optional[str] = None) -> Dict[str, Dict[int, np.ndarray]]",
31063133
"source_file": "policyengine_us_data/calibration/puf_impute.py"
31073134
},
3135+
"release_artifact_spec": {
3136+
"docstring": "Normalized identity for one artifact in a Stage 5 release candidate.",
3137+
"id": "release_artifact_spec",
3138+
"kind": "class",
3139+
"line": 61,
3140+
"metadata": {
3141+
"api_refs": [
3142+
"policyengine_us_data.release_promotion.artifacts.ReleaseArtifactSpec"
3143+
],
3144+
"description": "Normalized per-artifact identity for a Stage 5 release candidate.",
3145+
"id": "release_artifact_spec",
3146+
"label": "ReleaseArtifactSpec",
3147+
"node_type": "library",
3148+
"pathways": [
3149+
"5_validate_and_promote_release"
3150+
],
3151+
"source_file": "policyengine_us_data/release_promotion/artifacts.py",
3152+
"stability": "moving",
3153+
"status": "transitional",
3154+
"validation_commands": [
3155+
"uv run pytest tests/unit/release_promotion/test_candidate.py"
3156+
]
3157+
},
3158+
"object_path": "policyengine_us_data.release_promotion.artifacts.ReleaseArtifactSpec",
3159+
"signature": "class ReleaseArtifactSpec",
3160+
"source_file": "policyengine_us_data/release_promotion/artifacts.py"
3161+
},
3162+
"release_candidate_input_bundle": {
3163+
"docstring": "Typed Stage 5 input bundle describing a candidate ready for promotion.",
3164+
"id": "release_candidate_input_bundle",
3165+
"kind": "class",
3166+
"line": 50,
3167+
"metadata": {
3168+
"api_refs": [
3169+
"policyengine_us_data.release_promotion.candidate.ReleaseCandidateInputBundle"
3170+
],
3171+
"description": "Typed Stage 5 input bundle describing artifacts eligible for release promotion.",
3172+
"id": "release_candidate_input_bundle",
3173+
"label": "ReleaseCandidateInputBundle",
3174+
"node_type": "library",
3175+
"pathways": [
3176+
"5_validate_and_promote_release"
3177+
],
3178+
"source_file": "policyengine_us_data/release_promotion/candidate.py",
3179+
"stability": "moving",
3180+
"status": "transitional",
3181+
"validation_commands": [
3182+
"uv run pytest tests/unit/release_promotion/test_candidate.py"
3183+
]
3184+
},
3185+
"object_path": "policyengine_us_data.release_promotion.candidate.ReleaseCandidateInputBundle",
3186+
"signature": "class ReleaseCandidateInputBundle",
3187+
"source_file": "policyengine_us_data/release_promotion/candidate.py"
3188+
},
3189+
"release_candidate_shape_report": {
3190+
"docstring": "Describe candidate-bundle shape using the shared validation schema.",
3191+
"id": "release_candidate_shape_report",
3192+
"kind": "function",
3193+
"line": 28,
3194+
"metadata": {
3195+
"api_refs": [
3196+
"policyengine_us_data.release_promotion.validation.build_release_candidate_shape_report"
3197+
],
3198+
"description": "Adapt Stage 5 release-candidate shape checks into the canonical validation report schema.",
3199+
"id": "release_candidate_shape_report",
3200+
"label": "Release Candidate Shape Report",
3201+
"node_type": "validation",
3202+
"pathways": [
3203+
"5_validate_and_promote_release"
3204+
],
3205+
"source_file": "policyengine_us_data/release_promotion/validation.py",
3206+
"stability": "moving",
3207+
"status": "transitional",
3208+
"validation_commands": [
3209+
"uv run pytest tests/unit/release_promotion/test_candidate.py"
3210+
]
3211+
},
3212+
"object_path": "policyengine_us_data.release_promotion.validation.build_release_candidate_shape_report",
3213+
"signature": "def build_release_candidate_shape_report(bundle: ReleaseCandidateInputBundle) -> ValidationReport",
3214+
"source_file": "policyengine_us_data/release_promotion/validation.py"
3215+
},
3216+
"release_promotion_context": {
3217+
"docstring": "Canonical run, candidate, release, and destination identity for Stage 5.",
3218+
"id": "release_promotion_context",
3219+
"kind": "class",
3220+
"line": 44,
3221+
"metadata": {
3222+
"api_refs": [
3223+
"policyengine_us_data.release_promotion.context.ReleasePromotionContext"
3224+
],
3225+
"description": "Typed Stage 5 run, candidate, release, and destination identity.",
3226+
"id": "release_promotion_context",
3227+
"label": "ReleasePromotionContext",
3228+
"node_type": "library",
3229+
"pathways": [
3230+
"5_validate_and_promote_release"
3231+
],
3232+
"source_file": "policyengine_us_data/release_promotion/context.py",
3233+
"stability": "moving",
3234+
"status": "transitional",
3235+
"validation_commands": [
3236+
"uv run pytest tests/unit/release_promotion/test_candidate.py"
3237+
]
3238+
},
3239+
"object_path": "policyengine_us_data.release_promotion.context.ReleasePromotionContext",
3240+
"signature": "class ReleasePromotionContext",
3241+
"source_file": "policyengine_us_data/release_promotion/context.py"
3242+
},
31083243
"resolve_scope_fingerprint": {
31093244
"docstring": "Compute the scope fingerprint while preserving pinned resume values.",
31103245
"id": "resolve_scope_fingerprint",
@@ -3463,11 +3598,65 @@
34633598
"signature": "def reconcile_ss_subcomponents(data: Dict[str, Dict[int, np.ndarray]], n_cps: int, time_period: int) -> None",
34643599
"source_file": "policyengine_us_data/calibration/puf_impute.py"
34653600
},
3601+
"stage4_release_candidate_bundle_builder": {
3602+
"docstring": "Build a candidate bundle from a Stage 4 output contract shape.",
3603+
"id": "stage4_release_candidate_bundle_builder",
3604+
"kind": "function",
3605+
"line": 48,
3606+
"metadata": {
3607+
"api_refs": [
3608+
"policyengine_us_data.release_promotion.stage4_reader.build_release_candidate_bundle_from_stage4_contract"
3609+
],
3610+
"description": "Build a Stage 5 candidate bundle from Stage 4 contract and inventory records.",
3611+
"id": "stage4_release_candidate_bundle_builder",
3612+
"label": "Stage 4 Release Candidate Bundle Builder",
3613+
"node_type": "library",
3614+
"pathways": [
3615+
"5_validate_and_promote_release"
3616+
],
3617+
"source_file": "policyengine_us_data/release_promotion/stage4_reader.py",
3618+
"stability": "moving",
3619+
"status": "transitional",
3620+
"validation_commands": [
3621+
"uv run pytest tests/unit/release_promotion/test_candidate.py"
3622+
]
3623+
},
3624+
"object_path": "policyengine_us_data.release_promotion.stage4_reader.build_release_candidate_bundle_from_stage4_contract",
3625+
"signature": "def build_release_candidate_bundle_from_stage4_contract(*, context: ReleasePromotionContext, output_contract: StageContract, inventory_records: Iterable[Mapping[str, Any]] = (), source_output_contract_path: str | None = None, validation_report_paths: Sequence[str] = (), validation_report_refs: Sequence[DiagnosticRef] = (), diagnostics_manifest_path: str | None = None) -> ReleaseCandidateInputBundle",
3626+
"source_file": "policyengine_us_data/release_promotion/stage4_reader.py"
3627+
},
3628+
"stage4_release_candidate_bundle_reader": {
3629+
"docstring": "Read a candidate bundle from Stage 4 contract and optional inventory files.",
3630+
"id": "stage4_release_candidate_bundle_reader",
3631+
"kind": "function",
3632+
"line": 126,
3633+
"metadata": {
3634+
"api_refs": [
3635+
"policyengine_us_data.release_promotion.stage4_reader.read_stage4_release_candidate_bundle"
3636+
],
3637+
"description": "Read Stage 4 output contract and inventory files into a Stage 5 candidate bundle.",
3638+
"id": "stage4_release_candidate_bundle_reader",
3639+
"label": "Stage 4 Release Candidate Bundle Reader",
3640+
"node_type": "library",
3641+
"pathways": [
3642+
"5_validate_and_promote_release"
3643+
],
3644+
"source_file": "policyengine_us_data/release_promotion/stage4_reader.py",
3645+
"stability": "moving",
3646+
"status": "transitional",
3647+
"validation_commands": [
3648+
"uv run pytest tests/unit/release_promotion/test_candidate.py"
3649+
]
3650+
},
3651+
"object_path": "policyengine_us_data.release_promotion.stage4_reader.read_stage4_release_candidate_bundle",
3652+
"signature": "def read_stage4_release_candidate_bundle(*, context: ReleasePromotionContext, output_contract_path: str | Path, output_inventory_path: str | Path | None = None, source_output_contract_path: str | None = None, validation_report_paths: Sequence[str] = (), validation_report_refs: Sequence[DiagnosticRef] = (), diagnostics_manifest_path: str | None = None) -> ReleaseCandidateInputBundle",
3653+
"source_file": "policyengine_us_data/release_promotion/stage4_reader.py"
3654+
},
34663655
"stage_1_dataset_artifact_specs": {
34673656
"docstring": "Return all artifact specs known to the Stage 1 dataset build.",
34683657
"id": "stage_1_dataset_artifact_specs",
34693658
"kind": "function",
3470-
"line": 230,
3659+
"line": 231,
34713660
"metadata": {
34723661
"api_refs": [
34733662
"policyengine_us_data.build_datasets.artifacts.stage_1_artifact_specs"

0 commit comments

Comments
 (0)