Skip to content

BMC onboarding: Redfish PasswordChangeRequired is the factory phase; srv13 credential - #13570

Closed
briansrls wants to merge 2 commits into
mainfrom
bmc-password-change-required
Closed

briansrls wants to merge 2 commits into
mainfrom
bmc-password-change-required

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

OpenBMC 03.22.00 on the ASRock ALTRAD8UD-1L2T answers every request made with
the published credential with HTTP 403 and the DMTF Base registry message
PasswordChangeRequired, admitting only a PATCH of the account's Password
(a wrong password is 401). gunbc.tools.bmc_onboard read that 403 as a failed
factory login: the probe fell through to "custody holds no stored credential"
(CredentialStateUnknown) and the acquire step stopped, so a freshly flashed BMC
could not be onboarded although the rotation it demands is the one
bmc_rotate_credential performs.

extdeps.bmc.redfish redfish_password_change_verdict reads
@Message.ExtendedInfo[].MessageId (top level, as bmcweb sends it, or inside the
standard error object) for a Base.*.PasswordChangeRequired id;
factory_login_accepted admits the published credential on success or on that
verdict, and both the probe and the acquire step use it.

srv13 (operator naming, carried here from #13552): HostIdentity and hostname
rows, srv13_baseboard (board and BMC endpoint as first contact observed them),
srv13_onboarding_plan, and srv13_converge_credential through the token-source
selection. Run 2026-10-08: factory 403 -> secret bmc-srv13-admin created,
version 1 stored and read back -> PATCH -> re-auth 200; factory now 401.

Witness: redfish_password_change 2/2, over the 403 body captured from srv13
plus Base/non-Base/success/plain-text controls.

Sweep of every witness importing a changed module (fresh claim_batch), at PR open, still running:

dag/test/claim/approval_device_enrolment_code_witness_test.dag tests=7 PASS=7 FAIL=0
dag/test/claim/approval_keyring_converge_witness_test.dag tests=10 PASS=10 FAIL=0
dag/test/claim/approval_ntfy_deployment_witness_test.dag tests=17 PASS=17 FAIL=0
dag/test/claim/approve_ios_project_witness_test.dag tests=19 PASS=19 FAIL=0
dag/test/claim/auth/managed_host_boot_federation_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/auth/standing_operator_grant_mtjade1_witness_test.dag tests=10 PASS=10 FAIL=0
dag/test/claim/bmc/bmc_health_reader_witness_test.dag tests=8 PASS=8 FAIL=0
dag/test/claim/bmc/bmc_readback_target_witness_test.dag tests=5 PASS=5 FAIL=0
dag/test/claim/bmc/redfish_password_change_witness_test.dag tests=2 PASS=2 FAIL=0
dag/test/claim/build_cache_latency_probe_witness_test.dag tests=7 PASS=7 FAIL=0
dag/test/claim/ci/ci_deploy_target_host_witness_test.dag tests=16 PASS=16 FAIL=0
dag/test/claim/compile_permit_scope_observe_witness_test.dag tests=13 PASS=13 FAIL=0
dag/test/claim/cooling_qualification_witness_test.dag tests=16 PASS=16 FAIL=0
dag/test/claim/dgx_spark_witness_test.dag tests=35 PASS=35 FAIL=0
dag/test/claim/executor_privileged_operation_witness_test.dag tests=14 PASS=14 FAIL=0
dag/test/claim/fabric/fabric_cell_acquire_witness_test.dag tests=20 PASS=18 FAIL=2
FAIL witness_acquire_observed_boundary_digest_equals_the_desired_spelling
FAIL witness_acquire_observed_six_second_quota_matches_desired_threads
dag/test/claim/fabric/fabric_cell_converge_witness_test.dag tests=23 PASS=23 FAIL=0
dag/test/claim/fabric/fabric_cell_effect_witness_test.dag tests=8 PASS=8 FAIL=0
dag/test/claim/fabric/fabric_cell_evidence_algebra_witness_test.dag tests=6 PASS=5 FAIL=1
FAIL evidence_full_value_is_order_independent
dag/test/claim/fabric/fabric_cell_host_root_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/fabric/fabric_cell_observe_witness_test.dag tests=46 PASS=42 FAIL=4
FAIL witness_observer_converged_probe_classifies_as_satisfied
FAIL witness_observer_unconsumed_probe_entries_refuse_rather_than_vanishing
FAIL witness_observer_unconsumed_refusals_are_order_independent
FAIL witness_observer_duplicate_unconsumed_probes_are_one_refusal
dag/test/claim/fan_tach_assessment_witness_test.dag tests=17 PASS=17 FAIL=0

The fabric_cell_acquire (2) and fabric_cell_evidence_algebra (1) failures reproduce identically on origin/main 9f52972.

🤖 Generated with Claude Code

…ry phase; srv13 plan

OpenBMC 03.22.00 on the ASRock ALTRAD8UD-1L2T answers every request made with
the published credential with HTTP 403 and the DMTF Base registry message
PasswordChangeRequired, admitting only a PATCH of the account's Password
(a wrong password is 401). gunbc.tools.bmc_onboard read that 403 as a failed
factory login: the probe fell through to "custody holds no stored credential"
(CredentialStateUnknown) and the acquire step stopped, so a freshly flashed BMC
could not be onboarded although the rotation it demands is the one
bmc_rotate_credential performs.

extdeps.bmc.redfish redfish_password_change_verdict reads
@Message.ExtendedInfo[].MessageId (top level, as bmcweb sends it, or inside the
standard error object) for a Base.*.PasswordChangeRequired id;
factory_login_accepted admits the published credential on success or on that
verdict, and both the probe and the acquire step use it.

srv13 (operator naming, carried here from #13552): HostIdentity and hostname
rows, srv13_baseboard (board and BMC endpoint as first contact observed them),
srv13_onboarding_plan, and srv13_converge_credential through the token-source
selection. Run 2026-10-08: factory 403 -> secret bmc-srv13-admin created,
version 1 stored and read back -> PATCH -> re-auth 200; factory now 401.

Witness: redfish_password_change 2/2, over the 403 body captured from srv13
plus Base/non-Base/success/plain-text controls.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-08T02:53:32.603339Z b2213d0 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b2213d0a31

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread dag/extdeps/bmc/redfish.dag Outdated
Comment on lines +187 to +190
match json_field(obj: doc, key: "error") {
FieldRead { value: err } =>
if redfish_extended_info_requires_password_change(holder: err) { RedfishPasswordChangeRequired } else { RedfishPasswordChangeNotIndicated }
_ => RedfishPasswordChangeNotIndicated

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Fall back to the Redfish error code

When a controller reports PasswordChangeRequired only in error.code and omits @Message.ExtendedInfo, this arm returns RedfishPasswordChangeNotIndicated, causing a fresh BMC to fall through to custody and fail onboarding. The Redfish error-response rules instruct clients to inspect extended info first and fall back to code when it is absent (DMTF Redfish specification); parse error.code with the same message-ID predicate as a fallback.

Useful? React with 👍 / 👎.

@briansrls

Copy link
Copy Markdown
Contributor Author

Witness sweep complete (fresh claim_batch, every witness importing a changed module): 136 files, 2289 tests, 2132 pass, 86 fail, 2 files refuse to typecheck.

Every failing file reproduces identically on origin/main 9f52972 (same counts; the two type refusals are the same optional-vs-required == lines, outside this diff):

fabric_cell_acquire 18/20, fabric_cell_evidence_algebra 5/6, fabric_cell_observe 42/46
MAIN dag/test/claim/host/host_converge_slice1_witness_test.dag PASS=0 FAIL=0 typeerr=2
MAIN dag/test/claim/machine_intake/mtcollins1_physical_orientation_witness_test.dag PASS=0 FAIL=0 typeerr=2
MAIN dag/test/claim/machine_intake/sol_hold_stdin_wet_witness_test.dag PASS=0 FAIL=31 typeerr=0
MAIN dag/test/claim/runner/browser_ready_label_real_path_witness_test.dag PASS=0 FAIL=2 typeerr=0
MAIN dag/test/claim/runner/runner_slot_retirement_witness_test.dag PASS=62 FAIL=1 typeerr=0
MAIN dag/test/claim/spark/pair_serving_d0_real_execution_witness_test.dag PASS=0 FAIL=17 typeerr=0
MAIN dag/test/claim/spark/spark_serving_offer_route_witness_test.dag PASS=3 FAIL=27 typeerr=0
MAIN dag/test/claim/spark/spark_training_ready_witness_test.dag PASS=12 FAIL=1 typeerr=0

[exited with code 0]

No failure is introduced by this PR.

Full per-file results:

dag/test/claim/approval_device_enrolment_code_witness_test.dag tests=7 PASS=7 FAIL=0
dag/test/claim/approval_keyring_converge_witness_test.dag tests=10 PASS=10 FAIL=0
dag/test/claim/approval_ntfy_deployment_witness_test.dag tests=17 PASS=17 FAIL=0
dag/test/claim/approve_ios_project_witness_test.dag tests=19 PASS=19 FAIL=0
dag/test/claim/auth/managed_host_boot_federation_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/auth/standing_operator_grant_mtjade1_witness_test.dag tests=10 PASS=10 FAIL=0
dag/test/claim/bmc/bmc_health_reader_witness_test.dag tests=8 PASS=8 FAIL=0
dag/test/claim/bmc/bmc_readback_target_witness_test.dag tests=5 PASS=5 FAIL=0
dag/test/claim/bmc/redfish_password_change_witness_test.dag tests=2 PASS=2 FAIL=0
dag/test/claim/build_cache_latency_probe_witness_test.dag tests=7 PASS=7 FAIL=0
dag/test/claim/ci/ci_deploy_target_host_witness_test.dag tests=16 PASS=16 FAIL=0
dag/test/claim/compile_permit_scope_observe_witness_test.dag tests=13 PASS=13 FAIL=0
dag/test/claim/cooling_qualification_witness_test.dag tests=16 PASS=16 FAIL=0
dag/test/claim/dgx_spark_witness_test.dag tests=35 PASS=35 FAIL=0
dag/test/claim/executor_privileged_operation_witness_test.dag tests=14 PASS=14 FAIL=0
dag/test/claim/fabric/fabric_cell_acquire_witness_test.dag tests=20 PASS=18 FAIL=2
dag/test/claim/fabric/fabric_cell_converge_witness_test.dag tests=23 PASS=23 FAIL=0
dag/test/claim/fabric/fabric_cell_effect_witness_test.dag tests=8 PASS=8 FAIL=0
dag/test/claim/fabric/fabric_cell_evidence_algebra_witness_test.dag tests=6 PASS=5 FAIL=1
dag/test/claim/fabric/fabric_cell_host_root_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/fabric/fabric_cell_observe_witness_test.dag tests=46 PASS=42 FAIL=4
dag/test/claim/fan_tach_assessment_witness_test.dag tests=17 PASS=17 FAIL=0
dag/test/claim/fleet/fabric_allocation_store_substrate_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/fleet/fleet_capacity_control_witness_test.dag tests=9 PASS=9 FAIL=0
dag/test/claim/fleet/fleet_capacity_panel_witness_test.dag tests=12 PASS=12 FAIL=0
dag/test/claim/fleet/fleet_converge_launch_environment_scope_witness_test.dag tests=20 PASS=20 FAIL=0
dag/test/claim/fleet/fleet_converge_launch_scope_non_interference_test.dag tests=5 PASS=5 FAIL=0
dag/test/claim/fleet/fleet_convergence_verdict_witness_test.dag tests=7 PASS=7 FAIL=0
dag/test/claim/fleet/fleet_converge_plan_witness_test.dag tests=86 PASS=86 FAIL=0
dag/test/claim/fleet/fleet_health_observe_witness_test.dag tests=5 PASS=5 FAIL=0
dag/test/claim/fleet/fleet_intent_memory_witness_test.dag tests=15 PASS=15 FAIL=0
dag/test/claim/fleet/fleet_intent_network_witness_test.dag tests=10 PASS=10 FAIL=0
dag/test/claim/fleet/fleet_observation_producers_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/fleet/fleet_runner_connectivity_witness_test.dag tests=23 PASS=0 FAIL=0
dag/test/claim/fleet/fleet_site_locale_witness_test.dag tests=24 PASS=24 FAIL=0
dag/test/claim/fleet/fleet_wireless_link_witness_test.dag tests=39 PASS=39 FAIL=0
dag/test/claim/fleet_host_assembly_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/github_app_registry_witness_test.dag tests=54 PASS=54 FAIL=0
dag/test/claim/harness_turn_admission_witness_test.dag tests=8 PASS=8 FAIL=0
dag/test/claim/host/cap_raise_retirement_order_witness_test.dag tests=13 PASS=13 FAIL=0
dag/test/claim/host_credential_custody_converge_witness_test.dag tests=37 PASS=37 FAIL=0
dag/test/claim/host_health_assessment_witness_test.dag tests=17 PASS=17 FAIL=0
dag/test/claim/host/host_allocation_conservation_test.dag tests=31 PASS=31 FAIL=0
dag/test/claim/host/host_converge_slice1_witness_test.dag tests=18 PASS=0 FAIL=0
dag/test/claim/host/host_disk_reclaim_witness_test.dag tests=8 PASS=8 FAIL=0
dag/test/claim/host/host_reach_identity_probe_witness_test.dag tests=11 PASS=11 FAIL=0
dag/test/claim/host/host_standup_assimilation_deduction_witness_test.dag tests=11 PASS=11 FAIL=0
dag/test/claim/host/host_standup_spine_witness_test.dag tests=21 PASS=21 FAIL=0
dag/test/claim/host/managed_host_boot_witness_test.dag tests=9 PASS=9 FAIL=0
dag/test/claim/host/managed_host_forged_probe_witness_test.dag tests=5 PASS=5 FAIL=0
dag/test/claim/host/managed_host_unit_hold_forged_probe_witness_test.dag tests=4 PASS=4 FAIL=0
dag/test/claim/host/managed_host_unit_hold_witness_test.dag tests=17 PASS=17 FAIL=0
dag/test/claim/host/managed_host_witness_test.dag tests=5 PASS=5 FAIL=0
dag/test/claim/host/megarac_managed_host_witness_test.dag tests=11 PASS=11 FAIL=0
dag/test/claim/install_transport_qualification_witness_test.dag tests=8 PASS=8 FAIL=0
dag/test/claim/machine_intake/ampere_smpro_observation_witness_test.dag tests=32 PASS=32 FAIL=0
dag/test/claim/machine_intake/dimm_physical_orientation_forged_probe_witness_test.dag tests=2 PASS=2 FAIL=0
dag/test/claim/machine_intake/dimm_physical_orientation_witness_test.dag tests=4 PASS=4 FAIL=0
dag/test/claim/machine_intake/host_capture_sol_crlf_witness_test.dag tests=2 PASS=2 FAIL=0
dag/test/claim/machine_intake/host_capture_sol_nul_fill_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/machine_intake/megarac_kvm_still_witness_test.dag tests=21 PASS=21 FAIL=0
dag/test/claim/machine_intake/megarac_sensor_observation_witness_test.dag tests=11 PASS=11 FAIL=0
dag/test/claim/machine_intake/mtcollins1_bmc_secure_standing_witness_test.dag tests=4 PASS=4 FAIL=0
dag/test/claim/machine_intake/mtcollins1_boot_acceptance_matrix_test.dag tests=29 PASS=29 FAIL=0
dag/test/claim/machine_intake/mtcollins1_boot_diagnostic_bundle_witness_test.dag tests=71 PASS=71 FAIL=0
dag/test/claim/machine_intake/mtcollins1_boot_run_witness_test.dag tests=35 PASS=35 FAIL=0
dag/test/claim/machine_intake/mtcollins1_connectx4lx_observation_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/machine_intake/mtcollins1_physical_orientation_witness_test.dag tests=16 PASS=0 FAIL=0
dag/test/claim/machine_intake/mtcollins1_power_on_account_witness_test.dag tests=28 PASS=28 FAIL=0
dag/test/claim/machine_intake/smpro_internal_error_witness_test.dag tests=21 PASS=21 FAIL=0
dag/test/claim/machine_intake/sol_hold_stdin_wet_witness_test.dag tests=31 PASS=0 FAIL=31
dag/test/claim/micron_dram_module_witness_test.dag tests=8 PASS=8 FAIL=0
dag/test/claim/os_install_deduction_witness_test.dag tests=14 PASS=14 FAIL=0
dag/test/claim/runner/browser_ready_label_real_path_witness_test.dag tests=2 PASS=0 FAIL=2
dag/test/claim/runner/host_width_facts_witness_test.dag tests=2 PASS=0 FAIL=0
dag/test/claim/runner/runner_attempt_launch_witness_test.dag tests=18 PASS=18 FAIL=0
dag/test/claim/runner/runner_broker_progress_watchdog_witness_test.dag tests=13 PASS=13 FAIL=0
dag/test/claim/runner/runner_browser_ready_label_witness_test.dag tests=4 PASS=4 FAIL=0
dag/test/claim/runner/runner_capacity_operator_access_witness_test.dag tests=8 PASS=8 FAIL=0
dag/test/claim/runner/runner_capacity_plan_witness_test.dag tests=19 PASS=19 FAIL=0
dag/test/claim/runner/runner_capacity_realize_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/runner/runner_connectivity_recovery_witness_test.dag tests=20 PASS=20 FAIL=0
dag/test/claim/runner/runner_connectivity_repair_plan_witness_test.dag tests=2 PASS=2 FAIL=0
dag/test/claim/runner/runner_host_file_converge_witness_test.dag tests=49 PASS=49 FAIL=0
dag/test/claim/runner/runner_lifecycle_witness_test.dag tests=12 PASS=0 FAIL=0
dag/test/claim/runner/runner_local_state_witness_test.dag tests=27 PASS=27 FAIL=0
dag/test/claim/runner/runner_microvm_attempt_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/runner/runner_microvm_guest_bring_up_witness_test.dag tests=5 PASS=5 FAIL=0
dag/test/claim/runner/runner_microvm_lifecycle_witness_test.dag tests=30 PASS=30 FAIL=0
dag/test/claim/runner/runner_microvm_network_apply_witness_test.dag tests=9 PASS=9 FAIL=0
dag/test/claim/runner/runner_microvm_network_converge_witness_test.dag tests=13 PASS=13 FAIL=0
dag/test/claim/runner/runner_microvm_network_witness_test.dag tests=34 PASS=34 FAIL=0
dag/test/claim/runner/runner_microvm_slot_controller_witness_test.dag tests=14 PASS=14 FAIL=0
dag/test/claim/runner/runner_microvm_witness_test.dag tests=48 PASS=48 FAIL=0
dag/test/claim/runner/runner_password_session_tool_converge_witness_test.dag tests=7 PASS=7 FAIL=0
dag/test/claim/runner/runner_replace_incarnation_seam_witness_test.dag tests=4 PASS=4 FAIL=0
dag/test/claim/runner/runner_slot_census_typed_argv_witness_test.dag tests=8 PASS=8 FAIL=0
dag/test/claim/runner/runner_slot_installation_state_witness_test.dag tests=8 PASS=8 FAIL=0
dag/test/claim/runner/runner_slot_population_census_witness_test.dag tests=9 PASS=9 FAIL=0
dag/test/claim/runner/runner_slot_provision_witness_test.dag tests=36 PASS=36 FAIL=0
dag/test/claim/runner/runner_slot_retirement_witness_test.dag tests=63 PASS=62 FAIL=1
dag/test/claim/runner/runner_unit_file_witness_test.dag tests=27 PASS=27 FAIL=0
dag/test/claim/runner/unit_hold_store_provision_witness_test.dag tests=2 PASS=2 FAIL=0
dag/test/claim/session_reservation_policy_witness_test.dag tests=11 PASS=11 FAIL=0
dag/test/claim/session_residency_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/shell/shell_dag_slot_population_census_read_witness_test.dag tests=4 PASS=4 FAIL=0
dag/test/claim/spark/native_serving_resumable_apply_witness_test.dag tests=38 PASS=38 FAIL=0
dag/test/claim/spark/native_serving_roce_transport_witness_test.dag tests=28 PASS=28 FAIL=0
dag/test/claim/spark/pair_incumbent_identity_witness_test.dag tests=10 PASS=10 FAIL=0
dag/test/claim/spark/pair_serving_d0_real_execution_witness_test.dag tests=17 PASS=0 FAIL=17
dag/test/claim/spark/pair_serving_d0_release_witness_test.dag tests=23 PASS=23 FAIL=0
dag/test/claim/spark/pair_serving_d0_witness_test.dag tests=23 PASS=23 FAIL=0
dag/test/claim/spark/rank_memory_path_join_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/spark/serving_arm_launch_witness_test.dag tests=12 PASS=12 FAIL=0
dag/test/claim/spark/serving_deployment_selection_witness_test.dag tests=71 PASS=71 FAIL=0
dag/test/claim/spark/serving_load_probe_witness_test.dag tests=48 PASS=48 FAIL=0
dag/test/claim/spark/serving_load_runner_witness_test.dag tests=4 PASS=4 FAIL=0
dag/test/claim/spark/spark_cell_role_witness_test.dag tests=2 PASS=2 FAIL=0
dag/test/claim/spark/spark_fabric_rail_witness_test.dag tests=3 PASS=3 FAIL=0
dag/test/claim/spark/spark_fabric_reach_witness_test.dag tests=3 PASS=3 FAIL=0
dag/test/claim/spark/spark_fabric_switch_witness_test.dag tests=10 PASS=10 FAIL=0
dag/test/claim/spark/spark_first_party_serving_witness_test.dag tests=16 PASS=16 FAIL=0
dag/test/claim/spark/spark_host_commitment_witness_test.dag tests=26 PASS=26 FAIL=0
dag/test/claim/spark/spark_llama_cpp_rpc_witness_test.dag tests=21 PASS=21 FAIL=0
dag/test/claim/spark/spark_oobe_execution_placement_witness_test.dag tests=23 PASS=23 FAIL=0
dag/test/claim/spark/spark_pair_serving_apply_witness_test.dag tests=5 PASS=5 FAIL=0
dag/test/claim/spark/spark_pair_serving_desired_witness_test.dag tests=10 PASS=10 FAIL=0
dag/test/claim/spark/spark_serving_offer_route_witness_test.dag tests=30 PASS=3 FAIL=27
dag/test/claim/spark/spark_training_ready_witness_test.dag tests=13 PASS=12 FAIL=1
dag/test/claim/spark/spark_vllm_observed_witness_test.dag tests=28 PASS=28 FAIL=0
dag/test/claim/spark/vllm_serving_launch_witness_test.dag tests=4 PASS=4 FAIL=0
dag/test/claim/spatial_placement_witness_test.dag tests=13 PASS=13 FAIL=0
dag/test/claim/toolchain_coherence_witness_test.dag tests=6 PASS=6 FAIL=0
dag/test/claim/typed_argv_exec_realization_witness_test.dag tests=21 PASS=21 FAIL=0
dag/test/claim/vllm_memory_receipt_witness_test.dag tests=8 PASS=8 FAIL=0
src/v2/test/lens_disposition_redundancy/disposition_redundancy_test.dag tests=28 PASS=28 FAIL=0

…and JsonValue, no wildcards

The required floor refused NonFoldResidueRosterDiverged on two wildcard arms over
closed coproducts in extdeps.bmc.redfish. Every arm is now spelled, so a new
variant reaches a compile refusal rather than the default.

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

gunbai-bot Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Superseded by #13641 at 634453d: this PR's head is an ancestor of integration/v1-closeout. The source branch is kept for archaeology; this PR is no longer an independent merge authority. — sent from neat-wolf-604

@gunbai-bot gunbai-bot Bot closed this Oct 9, 2026
@gunbai-bot gunbai-bot Bot mentioned this pull request Oct 10, 2026
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