|
2724 | 2724 | "docstring": "Promote a completed pipeline run to production.\n\n1. Verify run status is \"completed\"\n2. Promote every staged artifact in one Hugging Face commit\n3. Upload/copy every artifact to GCS\n4. Finalize release_manifest.json, tag the release, and update\n version_manifest.json\n5. Update run status to \"promoted\"\n\nArgs:\n run_id: The run ID to promote.\n candidate_version: Candidate staging scope used for staged source files.\n release_version: Stable version used for final release metadata.\n\nReturns:\n Summary message.", |
2725 | 2725 | "id": "promote_pipeline_run", |
2726 | 2726 | "kind": "function", |
2727 | | - "line": 1902, |
| 2727 | + "line": 1908, |
2728 | 2728 | "metadata": { |
2729 | 2729 | "api_refs": [ |
2730 | 2730 | "modal_app.pipeline.promote_run" |
|
3003 | 3003 | "docstring": "Run the full pipeline end-to-end.\n\nArgs:\n branch: Git branch to build from.\n gpu: GPU type for regional calibration.\n epochs: Training epochs for regional calibration.\n national_gpu: GPU type for national calibration.\n national_epochs: Training epochs for national.\n num_workers: Number of parallel H5 workers.\n n_clones: Number of clones for H5 building.\n skip_national: Skip national calibration/H5.\n resume_run_id: Resume a previously failed run.\n clear_checkpoints: Wipe ALL checkpoints before building\n (default False). Normally not needed \u2014 checkpoints are\n scoped by commit SHA, so stale ones from other commits\n are cleaned automatically. Use True only to force a\n full rebuild of the current commit.\n candidate_version: Candidate staging scope used for HF staging.\n release_version: Final stable release version. Usually empty until\n promotion.\n base_release_version: Stable release current when this candidate was\n built.\n release_bump: Intended SemVer bump for this candidate.\n sha_override: Exact source SHA deployed by GitHub Actions. When\n provided, this is recorded instead of reading the current\n branch tip.\n run_id: Cross-system run ID created by GitHub.\n run_context: Serialized run context from the launcher workflow.\n modal_app_name: Deployed Modal app name for this run.\n modal_environment: Modal environment used for this run.\n chunked_matrix: Build the calibration matrix in clone-household\n chunks instead of the non-chunked path. Opt-in; default off.\n chunk_size: Clone-household columns per chunk when\n ``chunked_matrix`` is True.\n parallel_matrix: Fan chunked matrix building across Modal\n workers via ``build_matrix_chunk_worker``. Only meaningful\n when ``chunked_matrix`` is True; ignored otherwise.\n num_matrix_workers: Number of Modal workers when\n ``parallel_matrix`` is True.\n\nReturns:\n The run ID for use with promote.", |
3004 | 3004 | "id": "run_modal_pipeline", |
3005 | 3005 | "kind": "function", |
3006 | | - "line": 899, |
| 3006 | + "line": 905, |
3007 | 3007 | "metadata": { |
3008 | 3008 | "api_refs": [ |
3009 | 3009 | "modal_app.pipeline.run_pipeline" |
|
3339 | 3339 | "signature": "def validate_staging(branch: str, run_id: str, version: str = '') -> Dict", |
3340 | 3340 | "source_file": "modal_app/local_area.py" |
3341 | 3341 | }, |
| 3342 | + "validation_core_artifact_resolver": { |
| 3343 | + "docstring": "Resolve logical validation artifact names to stage-contract references.", |
| 3344 | + "id": "validation_core_artifact_resolver", |
| 3345 | + "kind": "class", |
| 3346 | + "line": 71, |
| 3347 | + "metadata": { |
| 3348 | + "api_refs": [ |
| 3349 | + "policyengine_us_data.validation_core.context.ValidationArtifactResolver" |
| 3350 | + ], |
| 3351 | + "description": "Resolve logical validation artifact names to canonical stage-contract artifact references.", |
| 3352 | + "id": "validation_core_artifact_resolver", |
| 3353 | + "label": "ValidationArtifactResolver", |
| 3354 | + "node_type": "library", |
| 3355 | + "pathways": [ |
| 3356 | + "cross_stage_validation" |
| 3357 | + ], |
| 3358 | + "source_file": "policyengine_us_data/validation_core/context.py", |
| 3359 | + "stability": "stable", |
| 3360 | + "status": "current", |
| 3361 | + "validation_commands": [ |
| 3362 | + "uv run pytest tests/unit/test_validation_core.py" |
| 3363 | + ] |
| 3364 | + }, |
| 3365 | + "object_path": "policyengine_us_data.validation_core.context.ValidationArtifactResolver", |
| 3366 | + "signature": "class ValidationArtifactResolver", |
| 3367 | + "source_file": "policyengine_us_data/validation_core/context.py" |
| 3368 | + }, |
| 3369 | + "validation_core_check": { |
| 3370 | + "docstring": "One executable validation check with stable identity and dependencies.", |
| 3371 | + "id": "validation_core_check", |
| 3372 | + "kind": "class", |
| 3373 | + "line": 63, |
| 3374 | + "metadata": { |
| 3375 | + "api_refs": [ |
| 3376 | + "policyengine_us_data.validation_core.checks.ValidationCheck" |
| 3377 | + ], |
| 3378 | + "description": "Stable declaration for one executable validation check and its artifact dependencies.", |
| 3379 | + "id": "validation_core_check", |
| 3380 | + "label": "ValidationCheck", |
| 3381 | + "node_type": "library", |
| 3382 | + "pathways": [ |
| 3383 | + "cross_stage_validation" |
| 3384 | + ], |
| 3385 | + "source_file": "policyengine_us_data/validation_core/checks.py", |
| 3386 | + "stability": "stable", |
| 3387 | + "status": "current", |
| 3388 | + "validation_commands": [ |
| 3389 | + "uv run pytest tests/unit/test_validation_core.py" |
| 3390 | + ] |
| 3391 | + }, |
| 3392 | + "object_path": "policyengine_us_data.validation_core.checks.ValidationCheck", |
| 3393 | + "signature": "class ValidationCheck", |
| 3394 | + "source_file": "policyengine_us_data/validation_core/checks.py" |
| 3395 | + }, |
| 3396 | + "validation_core_context": { |
| 3397 | + "docstring": "Read-only context passed to validation checks.", |
| 3398 | + "id": "validation_core_context", |
| 3399 | + "kind": "class", |
| 3400 | + "line": 119, |
| 3401 | + "metadata": { |
| 3402 | + "api_refs": [ |
| 3403 | + "policyengine_us_data.validation_core.context.ValidationContext" |
| 3404 | + ], |
| 3405 | + "description": "Read-only cross-stage validation context with canonical stage identity.", |
| 3406 | + "id": "validation_core_context", |
| 3407 | + "label": "ValidationContext", |
| 3408 | + "node_type": "library", |
| 3409 | + "pathways": [ |
| 3410 | + "cross_stage_validation" |
| 3411 | + ], |
| 3412 | + "source_file": "policyengine_us_data/validation_core/context.py", |
| 3413 | + "stability": "stable", |
| 3414 | + "status": "current", |
| 3415 | + "validation_commands": [ |
| 3416 | + "uv run pytest tests/unit/test_validation_core.py" |
| 3417 | + ] |
| 3418 | + }, |
| 3419 | + "object_path": "policyengine_us_data.validation_core.context.ValidationContext", |
| 3420 | + "signature": "class ValidationContext", |
| 3421 | + "source_file": "policyengine_us_data/validation_core/context.py" |
| 3422 | + }, |
| 3423 | + "validation_core_report_writer": { |
| 3424 | + "docstring": "Write validation report outputs generated by output strategies.", |
| 3425 | + "id": "validation_core_report_writer", |
| 3426 | + "kind": "class", |
| 3427 | + "line": 171, |
| 3428 | + "metadata": { |
| 3429 | + "api_refs": [ |
| 3430 | + "policyengine_us_data.validation_core.writers.ValidationReportWriter" |
| 3431 | + ], |
| 3432 | + "artifacts_in": [ |
| 3433 | + "ValidationReport" |
| 3434 | + ], |
| 3435 | + "artifacts_out": [ |
| 3436 | + "validation_report.json", |
| 3437 | + "validation_findings.jsonl" |
| 3438 | + ], |
| 3439 | + "description": "Write canonical validation artifacts using configurable output strategies.", |
| 3440 | + "id": "validation_core_report_writer", |
| 3441 | + "label": "ValidationReportWriter", |
| 3442 | + "node_type": "library", |
| 3443 | + "pathways": [ |
| 3444 | + "cross_stage_validation" |
| 3445 | + ], |
| 3446 | + "source_file": "policyengine_us_data/validation_core/writers.py", |
| 3447 | + "stability": "stable", |
| 3448 | + "status": "current", |
| 3449 | + "validation_commands": [ |
| 3450 | + "uv run pytest tests/unit/test_validation_core.py" |
| 3451 | + ] |
| 3452 | + }, |
| 3453 | + "object_path": "policyengine_us_data.validation_core.writers.ValidationReportWriter", |
| 3454 | + "signature": "class ValidationReportWriter", |
| 3455 | + "source_file": "policyengine_us_data/validation_core/writers.py" |
| 3456 | + }, |
| 3457 | + "validation_core_runner": { |
| 3458 | + "docstring": "Run validation suites and aggregate canonical stage-contract reports.", |
| 3459 | + "id": "validation_core_runner", |
| 3460 | + "kind": "class", |
| 3461 | + "line": 35, |
| 3462 | + "metadata": { |
| 3463 | + "api_refs": [ |
| 3464 | + "policyengine_us_data.validation_core.runner.ValidationRunner" |
| 3465 | + ], |
| 3466 | + "artifacts_out": [ |
| 3467 | + "ValidationReport" |
| 3468 | + ], |
| 3469 | + "description": "Shared runner that executes validation suites and aggregates canonical ValidationReport output.", |
| 3470 | + "id": "validation_core_runner", |
| 3471 | + "label": "ValidationRunner", |
| 3472 | + "node_type": "library", |
| 3473 | + "pathways": [ |
| 3474 | + "cross_stage_validation" |
| 3475 | + ], |
| 3476 | + "source_file": "policyengine_us_data/validation_core/runner.py", |
| 3477 | + "stability": "stable", |
| 3478 | + "status": "current", |
| 3479 | + "validation_commands": [ |
| 3480 | + "uv run pytest tests/unit/test_validation_core.py" |
| 3481 | + ] |
| 3482 | + }, |
| 3483 | + "object_path": "policyengine_us_data.validation_core.runner.ValidationRunner", |
| 3484 | + "signature": "class ValidationRunner", |
| 3485 | + "source_file": "policyengine_us_data/validation_core/runner.py" |
| 3486 | + }, |
| 3487 | + "validation_core_suite": { |
| 3488 | + "docstring": "Ordered validation checks for one stage or substage boundary.", |
| 3489 | + "id": "validation_core_suite", |
| 3490 | + "kind": "class", |
| 3491 | + "line": 116, |
| 3492 | + "metadata": { |
| 3493 | + "api_refs": [ |
| 3494 | + "policyengine_us_data.validation_core.checks.ValidationSuite" |
| 3495 | + ], |
| 3496 | + "description": "Ordered cross-stage validation suite for a canonical stage or substage boundary.", |
| 3497 | + "id": "validation_core_suite", |
| 3498 | + "label": "ValidationSuite", |
| 3499 | + "node_type": "library", |
| 3500 | + "pathways": [ |
| 3501 | + "cross_stage_validation" |
| 3502 | + ], |
| 3503 | + "source_file": "policyengine_us_data/validation_core/checks.py", |
| 3504 | + "stability": "stable", |
| 3505 | + "status": "current", |
| 3506 | + "validation_commands": [ |
| 3507 | + "uv run pytest tests/unit/test_validation_core.py" |
| 3508 | + ] |
| 3509 | + }, |
| 3510 | + "object_path": "policyengine_us_data.validation_core.checks.ValidationSuite", |
| 3511 | + "signature": "class ValidationSuite", |
| 3512 | + "source_file": "policyengine_us_data/validation_core/checks.py" |
| 3513 | + }, |
3342 | 3514 | "verify_runtime_seams": { |
3343 | 3515 | "docstring": "Verify deployed-image imports and subprocess seams.", |
3344 | 3516 | "id": "verify_runtime_seams", |
|
0 commit comments