Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

tests: attribute early Claude containment refusal child exit 137

Open
#2,367 4 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
bun, typescript
Domain
testing

Research direction

Start with tests/autonomous-containment.test.ts:24-32 and the failing Claude refusal case; reproduce using the bounded, unprivileged setup and command described in the issue. Capture the child’s executable identity, exit or signal, and relevant diagnostics to distinguish fixture lifecycle, external termination, and containment failure without weakening assertions or changing containment authority. Done means evidence explains the exit 137, or the failed receipt is preserved and non-reproduction is reported honestly.

Written by the indexing model from the issue text.

Description

area: backends needs: repro priority: p2 type: test

Context

During the explicitly authorized #1945 endpoint investigation on unmodified main 0d780605fe1ea9a281cce947b1f0074f3f3e7acc, a restored full-file offline control failed before a Claude refusal fixture returned its receipt. Both temporary diagnostic files had been restored byte-for-byte and git diff --exit-code passed before execution.

probe (tests/autonomous-containment.test.ts:24-32) expected the outer bubblewrap child to exit 0 but received 137, with no stderr diagnostic in that assertion. The failing case was claude autonomous containment > refusal: a host that cannot establish the restricted envelope refuses before any worker or inference, 45.15 ms. The Claude hostile case, Pi hostile case and Pi refusal case passed. Full result: 3 pass / 1 fail / 212 expectations / 14.10 seconds.

This is distinct from #1945's connected-versus-ECONNREFUSED assertion. No containment escape, OOM cause, intentional exit or signal sender is established. Available kernel-log inspection supplied no attribution. An earlier instrumented full-file control passed 4 cases / 219 expectations under the same selected Bun version; it does not erase this failure.

Out of scope

No timeout increases, retry-until-green, weaker child exit assertion, removed offline guards or production containment change.

Scope

Needs scoping/reproduction: capture the child's actual exit/signal and attributable process/resource diagnostics around this early refusal-path termination. Do not infer OOM or SIGKILL causality solely from numeric exit 137.

Acceptance criteria

  • Capture or explain an early refusal-path child exit 137 with actual executable/process identity, exit/signal and relevant diagnostics.
  • Distinguish a fixture lifecycle fault, external termination and resource failure without changing containment authority or original assertions.
  • Preserve this failed receipt and report non-reproduction honestly; define a scoped correction only once evidence supports it.

Verification

Local command: bun run test tests/autonomous-containment.test.ts under a bounded unprivileged user/network namespace with only loopback up and an empty route table, normal test preload, credential-free environment, frozen copied dependencies and successful full build. Tests ran Bun 1.4.2 (744846f84), matching the #2359 hosted runtime; installed Claude SDK 0.3.293, Pi SDK 0.99.2, adapters 0.43.1. Local host/runner equivalence is not claimed. No retry was run after this failure.

Contract impact

None for investigation. No implementation or exported surface change is selected.

2026-10-18 routing: this is a standalone-by-reference verification-boundary finding related to #736. Its native child list is at the 100-child API limit; no existing child was displaced. No priority or release commitment is selected for this unattributed investigation.

2026-10-20 triage at main af0547c2d4d197ed3766f2817cf56eb5f0486ab4: priority p2 sorts this wanted, unscheduled attribution work. Preserve needs: repro, the bounded observations/non-reproductions and their original source identities; no causal repair, current release urgency or new runtime result is inferred. No milestone or readiness is added.

Dominant language
TypeScript
Stars
1
Forks
0
Avg merge
4h 40m
Merged PRs (30d)
953

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from schlessera/brain-kit

All issues in schlessera/brain-kit

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.