Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"artifact_location":null,"build_id":"populace-us-2024-stacked-f001-s578-asec1688-acs15316-20260807T195238Z-a8371572","code_pin":"2cdebe97c2cb2fb9ceded8229e0eac5fe7c93ad1","cost_usd":null,"disposition":"failed","gate_verdicts":{"pipeline_error":{"receipt":"local://~/PolicyEngine/_buildo-runtime/out/smoke-f001-verify/logbook-receipts/populace-us-2024-stacked-f001-s578-asec1688-acs15316-20260807T195238Z-a8371572/error.json#/error_type","verdict":"error"}},"identity_digest":"4a4fa930ea0006afe2951e13653a439bb2446d9fac2ef3f76e8ec3c54557dc5b","input_pins_digest":"59587db52a879614fa55989c47b30bfe689e4c035296c306bf788e781670b682","phases_reached":["attempt_started","configured","inputs_verified","sources_loaded","assembled","source_prepared","gap_filled","error"],"pipeline":"us-stacked-pool","prediction_id":null,"prev_row_digest":"f3cffe9403ae4c0fc6c0142b070eab84bfb30f1d79ce6f82b46f092a2f679b61","row_digest":"5d9c36bfa61b6dd4c387d1f05493b83b316739c1c109acb224d8158a78bcf3cd","rung":"f001","seed":578,"ts":"2026-08-07T19:52:38.128902Z","wall_seconds":1142.094794250006}
1 change: 1 addition & 0 deletions logbook.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@
{"artifact_location":null,"build_id":"populace-us-2024-pool-inc2-run5","code_pin":"edc298dd","cost_usd":122,"disposition":"failed","gate_verdicts":{"terminal":{"attempt_count":5,"cost_basis":"source approximate aggregate total (~$122)","identity_derivation":"sha256(canonical_json(synthetic_identity_material))","input_pins":{"acs_household":{"sha256":"8281008e53de98f0ef81e7a2ee5a8725991dda1ecfd2713ead73246425e515d0","size_bytes":251500587},"acs_person":{"sha256":"afdc6d90c6e2f0bab365ed32d95ba4c4d8ac651162f46ac7861295b2dc469894","size_bytes":602847146},"acs_rent_donor":{"sha256":"0b319b496f19a6913066f9c5ea572edfda3d78a187be6f375846617d0b441bd4","size_bytes":472220686},"asec_raw_stage":{"sha256":"7c4d162622e309b1eb5d5104a3754b8c16a3ac5748cd4bcb4466ca100ea007df","size_bytes":649947635},"processed_puf":{"sha256":"7669f5b5281f20080e77204f9bd4aabfad0aa101fa283e22caf9ba8d61d4d6df","size_bytes":316939164},"puf_source_year":{"sha256":"0a7fd643edb1acc55c507db795914b41d232922be78c149b58d111f4672499df","size_bytes":126034649}},"input_pins_digest_derivation":"sha256(canonical_json(input_pins))","ledger_disposition_mapping":"failed","receipt":"source://_buildo-runtime/ledger-backfill/run_era_facts.md#run-5","salvage":"primary-QRF directory and stage profile","source_disposition":"abandoned","synthetic_identity_material":{"build_id":"populace-us-2024-pool-inc2-run5","code_pins":["edc298dd"],"identity_kind":"aggregate_no_terminal_artifact","input_pins_digest":"3460b49b48bc30e87183319dd96f18fe19b68c354e4956931f0a667a3818b691","terminal_disposition":"failed"},"terminal_rule":"no-attempt-5","timestamp_basis":"inferred lower bound: 2026-08-01T00:00:00-04:00","verdict":"failed","wall_seconds_basis":"unavailable across five attempts"}},"identity_digest":"0bc7f1cd877fbcd827276709e623b4a3cdf0a440602f7b52e956e950b38b4d36","input_pins_digest":"3460b49b48bc30e87183319dd96f18fe19b68c354e4956931f0a667a3818b691","phases_reached":["primary_qrf"],"pipeline":"us-pool-inc2","prediction_id":null,"prev_row_digest":"970a0b861c57fc6a8ee227cf6d59ecc428235fd6f615b8dcd0252d05d9044f22","row_digest":"482ba1b23e741d4d8513b8b0da65eceacf65a48b1af583fe74bcb007c4d939de","rung":"f100","seed":null,"ts":"2026-08-01T04:00:00.000000Z","wall_seconds":null}
{"artifact_location":null,"build_id":"populace-us-2024-pool-inc2-run6","code_pin":"9a4dea7f","cost_usd":65,"disposition":"superseded","gate_verdicts":{"terminal":{"attempt_count":7,"cost_basis":"source approximate aggregate total (~$65)","identity_derivation":"sha256(canonical_json(synthetic_identity_material))","input_pins":{"acs_household":{"sha256":"8281008e53de98f0ef81e7a2ee5a8725991dda1ecfd2713ead73246425e515d0","size_bytes":251500587},"acs_person":{"sha256":"afdc6d90c6e2f0bab365ed32d95ba4c4d8ac651162f46ac7861295b2dc469894","size_bytes":602847146},"acs_rent_donor":{"sha256":"0b319b496f19a6913066f9c5ea572edfda3d78a187be6f375846617d0b441bd4","size_bytes":472220686},"asec_raw_stage":{"sha256":"51e9fafcd6f16140018fa90c7afbeb6d79008bfc8c122e437d23a399b30553fe","size_bytes":653410492},"processed_puf":{"sha256":"7669f5b5281f20080e77204f9bd4aabfad0aa101fa283e22caf9ba8d61d4d6df","size_bytes":316939164},"puf_source_year":{"sha256":"0a7fd643edb1acc55c507db795914b41d232922be78c149b58d111f4672499df","size_bytes":126034649}},"input_pins_digest_derivation":"sha256(canonical_json(input_pins))","phase_precision":"qrf_transferred denotes the banked QRF transfer; the full ACS transfer was not banked","planned_code_pin":"8ac0d7e0","receipt":"source://_buildo-runtime/ledger-backfill/run_era_facts.md#run-6","related_prediction_ids":["p001","p002"],"superseded_by":"populace-us-2024-pool-inc2-run7","synthetic_identity_material":{"build_id":"populace-us-2024-pool-inc2-run6","code_pins":["9a4dea7f"],"identity_kind":"aggregate_no_terminal_artifact","input_pins_digest":"59587db52a879614fa55989c47b30bfe689e4c035296c306bf788e781670b682","terminal_disposition":"superseded"},"timestamp_basis":"first attempt dispatch at 2026-08-03 07:28 ET","verdict":"superseded","wall_seconds_basis":"inferred span through deliberate stop around 2026-08-04 05:10 ET"}},"identity_digest":"0fe8096ef4fb4bc69059368a3acace0d74d9918fdbb2b2595fe7ee3d59996478","input_pins_digest":"59587db52a879614fa55989c47b30bfe689e4c035296c306bf788e781670b682","phases_reached":["assembled","qrf_transferred"],"pipeline":"us-pool-inc2","prediction_id":"p001","prev_row_digest":"482ba1b23e741d4d8513b8b0da65eceacf65a48b1af583fe74bcb007c4d939de","row_digest":"568338e206af0fa7d6fbecd2a54c513264838932504d9b8576f127f1fc1d7e77","rung":"f100","seed":null,"ts":"2026-08-03T11:28:00.000000Z","wall_seconds":78120}
{"artifact_location":"local://_buildo-runtime/out/inc2-pool-run7/","build_id":"populace-us-2024-pool-inc2-run7","code_pin":"1c1fc717","cost_usd":47.5,"disposition":"failed","gate_verdicts":{"agreement":{"checked_pairs":131,"manifest_failure_message_count":108,"receipt":"local://_buildo-runtime/out/inc2-pool-run7/agreement.json","receipt_sha256":"2e32de4acd1eec16277eb1be0facf8277e82d947d6b9fbcd9de7032ad5c2aea6","related_prediction_ids":["p005","p006","p007","p008"],"source_summary_failure_count":104,"verdict":"failed"},"terminal":{"attempt_count":3,"base_checkpoint_identity":"b1c3f8862dbcd7f9e8a20fdd25419ea7b7465f130769a3433a91bff2b0f4d64a","cost_basis":"midpoint of source approximate residual range $40-$55","cost_estimate_method":"midpoint","cost_source_range_usd":[40,55],"identity_derivation":"terminal pool artifact sha256","initial_code_pin":"ea12600e","input_pins":{"acs_household":{"sha256":"8281008e53de98f0ef81e7a2ee5a8725991dda1ecfd2713ead73246425e515d0","size_bytes":251500587},"acs_person":{"sha256":"afdc6d90c6e2f0bab365ed32d95ba4c4d8ac651162f46ac7861295b2dc469894","size_bytes":602847146},"acs_rent_donor":{"sha256":"0b319b496f19a6913066f9c5ea572edfda3d78a187be6f375846617d0b441bd4","size_bytes":472220686},"asec_raw_stage":{"sha256":"51e9fafcd6f16140018fa90c7afbeb6d79008bfc8c122e437d23a399b30553fe","size_bytes":653410492},"processed_puf":{"sha256":"7669f5b5281f20080e77204f9bd4aabfad0aa101fa283e22caf9ba8d61d4d6df","size_bytes":316939164},"puf_source_year":{"sha256":"0a7fd643edb1acc55c507db795914b41d232922be78c149b58d111f4672499df","size_bytes":126034649}},"input_pins_digest_derivation":"sha256(canonical_json(input_pins))","receipt":"source://_buildo-runtime/ledger-backfill/run_era_facts.md#run-7","terminal_code_pin":"1c1fc717","timestamp_basis":"first attempt dispatch at 2026-08-04 04:18 ET","verdict":"failed","wall_seconds_basis":"inferred span through final verdict at 2026-08-04 19:06 ET"}},"identity_digest":"d5fdb55aaf8d37857b0ef8760526fa76cb0231c6c773efb12f15f022cdd8bdd6","input_pins_digest":"59587db52a879614fa55989c47b30bfe689e4c035296c306bf788e781670b682","phases_reached":["assembled","transferred","simulated","publication","agreement"],"pipeline":"us-pool-inc2","prediction_id":"p005","prev_row_digest":"568338e206af0fa7d6fbecd2a54c513264838932504d9b8576f127f1fc1d7e77","row_digest":"f3cffe9403ae4c0fc6c0142b070eab84bfb30f1d79ce6f82b46f092a2f679b61","rung":"f100","seed":0,"ts":"2026-08-04T08:18:00.000000Z","wall_seconds":53280}
{"artifact_location":null,"build_id":"populace-us-2024-stacked-f001-s578-asec1688-acs15316-20260807T195238Z-a8371572","code_pin":"2cdebe97c2cb2fb9ceded8229e0eac5fe7c93ad1","cost_usd":null,"disposition":"failed","gate_verdicts":{"pipeline_error":{"receipt":"local://~/PolicyEngine/_buildo-runtime/out/smoke-f001-verify/logbook-receipts/populace-us-2024-stacked-f001-s578-asec1688-acs15316-20260807T195238Z-a8371572/error.json#/error_type","verdict":"error"}},"identity_digest":"4a4fa930ea0006afe2951e13653a439bb2446d9fac2ef3f76e8ec3c54557dc5b","input_pins_digest":"59587db52a879614fa55989c47b30bfe689e4c035296c306bf788e781670b682","phases_reached":["attempt_started","configured","inputs_verified","sources_loaded","assembled","source_prepared","gap_filled","error"],"pipeline":"us-stacked-pool","prediction_id":null,"prev_row_digest":"f3cffe9403ae4c0fc6c0142b070eab84bfb30f1d79ce6f82b46f092a2f679b61","row_digest":"5d9c36bfa61b6dd4c387d1f05493b83b316739c1c109acb224d8158a78bcf3cd","rung":"f001","seed":578,"ts":"2026-08-07T19:52:38.128902Z","wall_seconds":1142.094794250006}
26 changes: 19 additions & 7 deletions packages/microcosm-build/tests/test_logbook_backfill.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,23 +16,32 @@
ARCHIVE = ROOT / "logbook.jsonl"
SPOOL = ROOT / "logbook-spool"

# The archive is append-only: rows after the seed arrive one per real build
# attempt. The #628 backfill seed itself is immutable, so its fidelity pins
# apply to the archive's first 26 rows forever — never to the whole file.
SEED_ROW_COUNT = 26


def test_backfill_archive_and_operator_spool_match_end_to_end() -> None:
rows = load_logbook_file(ARCHIVE)
spool_rows = load_spool_rows(SPOOL)

assert len(rows) == 26
assert len(rows) >= SEED_ROW_COUNT
assert rows == spool_rows
assert [row.build_id for row in rows] == [
row.build_id for row in sorted(rows, key=lambda row: (row.ts, row.build_id))
]
assert Counter(row.disposition for row in rows) == {
seed = rows[:SEED_ROW_COUNT]
assert Counter(row.disposition for row in seed) == {
"published": 22,
"certified": 1,
"failed": 2,
"superseded": 1,
}
assert {row.rung for row in rows} == {"f100"}
assert {row.rung for row in seed} == {"f100"}
assert [row.build_id for row in seed] == [
row.build_id for row in sorted(seed, key=lambda row: (row.ts, row.build_id))
]
# Post-seed rows extend the chain in order; every row names its parent.
for parent, child in zip(rows, rows[1:], strict=False):
assert child.prev_row_digest == parent.row_digest


def test_backfill_contains_all_hf_releases_and_three_run_era_rows() -> None:
Expand All @@ -55,7 +64,10 @@ def test_backfill_contains_all_hf_releases_and_three_run_era_rows() -> None:


def test_run_era_backfill_marks_inferences_and_prediction_links() -> None:
run5, run6, run7 = load_logbook_file(ARCHIVE)[-3:]
by_build_id = {row.build_id: row for row in load_logbook_file(ARCHIVE)}
run5, run6, run7 = (
by_build_id[f"populace-us-2024-pool-inc2-run{n}"] for n in (5, 6, 7)
)

assert [run5.cost_usd, run6.cost_usd, run7.cost_usd] == [122, 65, 47.5]
assert [run5.prediction_id, run6.prediction_id, run7.prediction_id] == [
Expand Down
Loading