Repository navigation
Conversation
native-config-networks fails intermittently with only "Fixture command must exit 0; captures retained", and its private captures are not uploaded, so the failing command and product refusal cannot be identified from hosted logs. Each failing fixture command now logs a fixed diagnostic: command class (hack verb or docker verb/action), checkout role, sequence, expected and actual exit, and the product's closed error code and effect-refusal stage/reason when present. A failed phase also logs a census of exact owned containers (service, storage carrier, fixture) by closed engine state. No argv values, output text or paths are printed. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Hosted sampling for HACK-1281 only; reverted before review. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The failing-command diagnostic now carries its duration, and a cleanup failure after an original failure logs its fixed assertion sentence (or withholds it) plus a second owned-object census. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Hosted sampling for HACK-1281 only; reverted before review. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Hosted sampling for HACK-1281 only; reverted before review. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…k census A non-canonical project container (for example a Compose recreate temporary) blocks every native command, including down --recover, with an ownership refusal. The failure census now reports such containers apart from canonical services by closed kind only. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A native command that failed with a plain error (for example a storage carrier refusal during a witness-bearing exec) mapped to the fixed E_COMPOSE_FAILED text without the closed stage/reason its owner had issued, and a command without --json never printed that boundary at all. Hosted native-config-networks failures therefore could not say which owner refused. The generic E_COMPOSE_FAILED translation now carries detail.native_compose_effect_refusal when the registry holds an issued diagnostic; the code and text are unchanged. Without --json, a coded error prints one more fixed line, "Refusal boundary: <stage> (<reason>); values omitted.", only for a known stage and reason pair read as own data. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… evidence The failing-command diagnostic read a human error code only from stderr as "ERROR E_X:", which no logger backend prints (clack writes "■ E_X: " to stdout), so every failing hack exec reported code null. It now reads the leading closed code and the closed refusal boundary line from either stream, ANSI stripped, for the clack, gum and console formats. In-container probe scripts now exit with closed codes for every failure (rejected or timed-out fetch, unreadable or unwritable marker), so a hack exec that exits 1 is the product, not an uncaught probe error. The failure census also logs each started checkout's saved stopped/pending operation and storage/hook pending flags. No values, text or paths. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Hosted sampling for HACK-1281 only; reverted before review. A third iteration crossed the 150-minute job budget, so a new iteration starts only within 55 minutes. Shards 1 and 2 add two CPU spinners and an fsync loop. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A storage carrier command refusal collapsed into one plain error, so its issued boundary reason was always "unclassified": a timed-out or cancelled child, an exhausted publication budget or a settlement that outlasted its three-second post-exit budget looked identical to a real identity mismatch. The command runner now keeps a closed cause with the same fixed refusal (probe-timeout, probe-cancel or probe-budget), and every carrier boundary reports it before the generic reason. No check, deadline, retention or recovery rule changes: an over-budget settlement still leaves the original command unsettled, as the new focused test replays with a slow parent sync. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Removes the hosted HACK-1281 sampling from tests/e2e/run.ts (every shard running only native-config-networks, repeated iterations and background CPU/fsync load on shards 1 and 2). Shard selection and a single runScenarios pass are restored exactly as on the merge base. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…re evidence A failing `down --recover` that stays incomplete issues no refusal boundary, so its diagnostic printed E_COMPOSE_FAILED with a null stage and reason. A command the runner killed at its budget printed no diagnostic at all. The command diagnostic now adds a closed `message` label for an exact fixed product sentence (stop-incomplete, operation-failed, native-state, -busy, -uncertain, -stale); any other or changed text yields null. A command the runner could not return logs its class, role, sequence, duration and a closed runner outcome (timeout, output-bound, group-unconfirmed, capture, other). No output, argv or path is printed. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Hosted sampling for HACK-1281 only; reverted before review. Every shard runs only native-config-networks under a host-stall monitor (event-loop lag and a product-shaped `ps` identity read every two seconds; numbers only). Shards 1 and 2 stop the CLI process 1.2 s of every 2 s during the first 20 saved exec commands after the created-recovery phase, replaying a host stall. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A recorded storage carrier command read process identity with a fixed one-second bound and settled within three seconds after exit. A host stall of the CLI longer than that resumes with the timer already due, so a healthy command refused after its daemon effect (probe-timeout or probe-budget). The refusal leaves the carrier intent uncertain: the next startup, exec or restart refuses, and `down --recover` stays incomplete by design. This is the native-config-networks failure signature in HACK-1281 (a product command exits 1, then cleanup also fails, with a created carrier and storage witness work pending). Identity reads now share the enclosing handshake or settlement budget, and the post-exit settlement budget is a finite 15 seconds. No check, record, retention, recovery rule or authority changes. An exhausted budget still refuses as probe-budget; the race also observes the abandoned work so its rejection cannot escape as an unhandled process error. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reverts fbf5cf6. Hosted results are recorded in the PR: on the pre-fix carrier (run 39643040488) both stalled shards failed with the HACK-1281 signature; on fc4095b (run 39644645624) both stalled shards passed all 20 stalled exec commands and all four shards passed. tests/e2e/run.ts and the scenario's stall hooks are back to their reviewed state. Refs HACK-1281 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Integration gate for merge batch b23: origin/next ec223cd + #356 (HACK-1281). Tree 11492e44. Closed after the batch squashes.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.