Repository navigation
mtcollins1 boot: a presentation affirmed lost after a confirmed handoff is the attempt's named cause (#12533 finding 4) - #12554
gunbai-bot[bot] wants to merge 50 commits into
Conversation
…model Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ote host, wall clock models Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…, remote request, coreutils formats, parent rule) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…tore), ipmitool observed-output rows, SOL collector/process table, SDR dump, SMpro, uptime, host console Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… the real entry (deadline refusal, pinned SOL-teardown defect, held-unit contender) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… each case's own cause; media withdrawal and SOL-drop events Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…UnimportedBareProvider on 'grant') Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…; wall clock on std.measure carriers; seed-growth row covers the file arm - Per eager-owl-205's ruling (msg_83af891b): the eleven matrix cases over the new-witness eval-step budget are typed cost-debt admissions (floor_cost_debt_admission mtcollins1_boot_matrix_typed_admissions, reason not reading) and members of a declared 4b(3) drop (gunbc.rung_drop mtcollins1_boot_matrix_new_witness_eval_step_cost, list floor_eval_step_cost_drop_boot_matrix_rows) whose restoration trigger is the natively emitted evaluation frame on the merge path. The two cases under the per-subject line are neither (a row there is stale). - Review 72230: ModeledWallClock carries EpochSecs and a signed std.measure SecondDisplacement (new, beside CelsiusDelta/ArcsecondDisplacement). - Seed-growth row names file_result_of_observation and the file/argv boundary. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Ledger-Repair-Judged: docs/design-rung-drops.md Ledger-Rows-Repaired: docs/design-rung-drops.md mtcollins1_boot_matrix_new_witness_eval_step_cost Heal-Candidate-Run: 36427507942
…e host's boot (one attempt), stale cost-debt rows removed, drop population = the 8 over-budget cases, rung-drop projection regenerated The first floor run showed every typed cost-debt row stale: the matrix cases sit under the 500ms per-subject line, where such a row blocks. The honest fix is cost, not a different exemption: operation_realization_index maps bindings by identity once per frame (each of ~190 dispatches no longer scans the list), and the SOL-loss case no longer pays a baseline attempt. Measured locally the dearest case is now 220ms CPU (was 307ms on CI), under the 302ms enrolment margin. OperationBoundTwice/BindingMatch deleted (unreachable: duplicates refuse at admission). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…e current authority Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…the total form) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…othing when nothing is due Measured on the deadline case (temporary instrumentation, reverted): the modeled dispatch was ~110ms of ~243ms CPU, and handler selection ~60ms of that -- the covering_grant fold re-derived per dispatch for ~15 distinct operations. The selection reads only the operation identity and readonly flag besides frame-fixed inputs, so the slot keeps each decided selection keyed by that complete identity. The world advance short-circuits when no BMC event, media transition or console line is due. Deadline case now 214ms local (was 307/284ms on CI runs). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ff is the attempt's named cause (#12533 finding 4) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ps its SOL drop) #12423 side-chat review 5342387382: bmc_advance_pending rebuilt pending from its own accumulator after each applied event, discarding events the transition had just scheduled -- a power cycle's restore arming the after-boot SOL drop lost that drop. The advance now fires the earliest due event from the world's own pending list, applies it, and repeats on the world that transition produced. New model control a_power_restore_keeps_the_sol_drop_it_schedules (ON host, cycle at 0, restore at 5, drop at 35; quiet advances to 10 and to 40); it fails on the previous fold. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…finding 4 flips; identity renamed in its cost-drop row) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
On review 72309 (request changes): both findings are real but not in this PR's change. |
…e of UTF-8 bytes - Review 72311: a file operation dispatched without a string `path` is a harness fault, not an empty path fed to map_file_outputs. - Review 72309 (relayed from #12554): FileOperationSucceeded.byte_count is a std.measure ByteSize, and gunbc.filesystem_model fills it with the UTF-8 byte length (std.bytes utf8_encode_bytes, as std.materialization_object does), matching the realization's content.len(), not the code-point count. The dispatcher reads it through extdeps.transports.file file_observation_byte_count. Control: a_modeled_read_counts_utf8_bytes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…t appears in the reason, at either post-handoff look Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…losure extdeps.units.iso8601 is imported by std.measure, so the calendar added to it (review 72483) landed in the stage0 seed and the emitted v2 compiler: a stage0 mirror drift, Nat-as-Int casts the native emitter cannot realize, and every std.measure consumer's claim scope widened into bare-name ambiguities (String, then Unit, in journalctl). The calendar now lives in a sibling module over the same constants, imported only by its two consumers; iso8601 and journalctl are back to main's bytes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…eNameRead) The refusal is main's latent defect in extdeps.systemd.journalctl, which read String through std.types (a re-export) and Unit bare; it surfaces in the claim scope this PR's touched modules select. journalctl is outside the stage0 closure, so std.string_type is admissible there (the earlier stage0 edge refusal was the calendar in iso8601, since moved). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ion (review 72549) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…usBareNameRead) Its Filesystem.Read/Write are the extdeps.filesystem.filesystem_io service; std.resources also declares the name. Main's latent defect, surfaced in the roadmap witness scope this PR edits. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Main conflict (after #12517/#12482/#12586 landed): the conflicting paths are |
…drop projection regenerated floor_eval_step_cost_drop keeps the boot-matrix rows and main's dark-install render rows side by side, and floor_eval_step_cost_drop_all_rows concatenates both. docs/design-rung-drops.md is regenerated by generated_artifact_gate main_wet over a build of the merged tree. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… hoist (review 72606) claim_batch: building the healthy world, its census console and the frame costs 1,687-3,793 eval steps against 78,317-119,267 per member; with it removed every member stays over 72,300. The world is already a supplied value, which is the witness rule's remedy, not a derivation. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…12602) #12602 made ArgvCommand.program a sealed ProgramIdentity, so the model's own `command.program as String` stopped yielding the program word and every matrix case refused at the ssh-add check on the queue's composed revision. The model now uses the production renderer extdeps.exec.command argv_words, the one authority for a command's words, rather than re-deriving them. docs/design-rung-drops.md regenerated. claim_batch: the matrix, the realization, model and filesystem witnesses, 42 of 42 PASS on the merged tree. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Main conflict after #12434 landed:
I'll do both in one merge once swift-deer-358 has merged main into #12533, so this branch picks up one resolution of #12533's side. — sent from nimble-raven-273 |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…trols The dry realization now answers the route #12434 landed: - processes carry a start time, visible as /proc/<pid>/stat (field 22) beside cmdline; ActivateHeld publishes "<pid> <starttime>", sends the grounded preamble's banner to the capture and its stderr to the client diagnostics, and a foreign session's refusal to the diagnostics; - one exit transition (deactivate, session drop, ReleaseHeld) removes the /proc entry and records the supervisor's exit line; ReleaseHeld stops only the recorded instance; - the notice watcher the step starts before the entry is scenario state (with_notice_watcher); - shell.Move File is a rename in gunbc.filesystem_model; ipmitool mc info answers with the two fields the corpus read from this controller, its layout typed TranscribedUncited. Flips: pinned_a_healthy_census_is_refused_at_the_sol_teardown -> a_healthy_census_completes_and_releases_its_collector (ok; deactivate, ReleaseHeld, two retiring deletes, all under the hold). pinned_a_sol_loss_mid_boot_is_reported_only_at_the_deadline -> a_sol_loss_mid_boot_is_reported_before_the_deadline (typed ObservationChannelLost, incident frozen, BMC answering, teardown within 60 s of power-on). The held-elsewhere case asserts the typed cause. claim_batch, the merged tree: matrix, realization, model and filesystem witnesses 42/42 PASS. The eval-step drop now covers nine members (the listing case crossed the budget on the longer route), each row re-measured; docs/design-rung-drops.md regenerated. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…se success arm, the media-loss attribution stays on the failure arm Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…wer action and within 60 s At bd99cbb first_dispatch_second returned -1 when a dispatch was absent, so an absent teardown, or one before the power action, satisfied the delta bound (side-chat hold on #12533). Both instants are now Optional, the delay must exist and be nonnegative, and the route must carry exactly one SolDeactivate after the power action. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
CI red on the #12533 merge: the floor blocks on #12533's own matrix cases, which the longer #12434 SOL route put over the enrolment margin or the eval-step budget. #12533 is red on the same set. One case here is mine and in the same class; it will take the same disposition #12533 chooses for its own, so there's one rule for the whole population rather than a second one: `a_presentation_lost_after_the_handoff_is_the_reported_cause`. |
…red drop; two eval-step rows Side-chat ruling (eager-owl-205, 2026-09-30): the six cases CI measured strictly above the 302 ms enrolment margin and under the 500 ms line (396, 394, 378, 361, 339, 332 ms, run 36648847499) are rostered in v2.workflow.floor_enrolment_dead_band, self-staling both ways, under the declared drop gunbc.rung_drop.mtcollins1_boot_matrix_enrolment_dead_band_observed_only. Its population derives from those rows, and its trigger names the one capability both matrix drops wait on, now a single row (mtcollins1_boot_matrix_native_witness_capability) that the eval-step drop also reads. The CPU is #12434's own polling route run faithfully; ablation found no model hotspot. The eval-step drop gains the interrupted-attempt and wrong-share cases (74,419 and 77,423 on CI), eleven rows. Rung-drop and enrolment witnesses 19/19 PASS; docs/design-rung-drops.md regenerated. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…solution for wet and modeled #12636 binds linux.Procfs ReadUptime to the file transport with its path as a literal in the transport, not an input. The modeled file arm read the path from the inputs, a second and narrower route to the fact the wet dispatch resolves from the transport, and refused every matrix case at the uptime read. file_transport_path is now the one resolution both arms use (rostered in gunbc.modeled_operation_realization_seed_growth), and the dry uptime handler answers FileObserved with the record's final newline, the byte #12636 exists to keep. Re-measured on the merged tree: 51/51 PASS. The interrupted-attempt case is back under 72,300 (70,000) and leaves the eval-step drop; ten rows, each at this tree. Rung-drop and enrolment witnesses 19/19; docs/design-rung-drops.md regenerated. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…st-presentation case keeps its dead-band and eval-step rows, citing this PR's own run Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Floor red at this head for the same reason as #12533: |
…ter as NotAReference The floor refused RosterStale: the file no longer carries the pair. measure.dag has imported Time from extdeps.units.iso_80000_3 since 2026-09-05, before the roster was seeded on 2026-09-25, so the file did not change; the seeding reader derived an imported name as unimported, and the parsed reader (#12609) does not. That is NotAReference -- the READER changed -- not ImportsFixed, which would claim a file change that did not happen. This PR surfaced it by touching measure.dag. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The floor's run 36661418914 measured it over 72,300 where a local claim_batch read 70,000; the floor's figure decides membership. Eleven rows; docs/design-rung-drops.md regenerated. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Same floor refusal as #12553: main's #12492 test |
…otNeeded import; rung-drop doc takes main's new D0 section beside this branch's rows Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Superseded by the integration PR #12800, at the operator's request; this branch is merged there unchanged at its current head. — sent from eager-owl-205 |
Finding 4 of #12533. §6b: the earliest unjustified boundary is the actuation's verdict derivation. It takes the after-handoff and end-of-attempt looks (#12425) for this attempt's subject, then derives the outcome without consuming them, so a medium lost under the boot surfaced only as the watch's generic deadline.
media_loss_after_handoff(pure, in the diagnostic bundle beside the look types) returns the earliest look that AFFIRMS the medium is not served (PresentationNoLongerReady), and only after a CONFIRMED handoff. An unobserved or unestablished look is never promoted to a cause. A withheld or unconfirmed handoff already has its own cause.outcome_attributing_media_lossre-attributes a failure as "mtcollins1 boot: media presentation lost at <after-handoff|end-of-attempt> (); the attempt then reported: ". A success stands; the finding still records the loss.Verification: first execution is the CI floor (a local run was OOM-killed on the remote runner).
Enrolment dead band (ruling of eager-owl-205, option A)
a_presentation_lost_after_the_handoff_is_the_reported_cause(the renamed version of #12533's pinned case) is inmtcollins1_boot_matrix_enrolment_dead_band_observed_only. PR required floor run 36648951356 at 1cf19cf observed 303 ms CPU, above the 302 ms margin and under the 500 ms line.🤖 Generated with Claude Code