8000 T73 — Close the race between the cohort lock and the shim's leaf join · Issue #2559 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T73 — Close the race between the cohort lock and the shim's leaf join #2559

Closed

Description

@norrietaylor

Task

slice size difficulty model who estimated lines
Round-two conditions closed S needs care strongest an agent 160 (60 code, 100 tests)

A process injected while a blocking member's admit runs ends in the blocked leaf and is recorded.

Covers:

  • BEP-018

Layers:

  • inject:
    • crates/minimald/src/box_runtime.rs: after the shim joins its leaf, Host::command checks the cohort again under the lock and moves the shim into the blocked leaf and records it, or refuses the injection
    • crates/minimald/src/box_runtime/tests.rs: the interleaving test
    • cargo nextest run -p minimald an_admit_between_injection_leaf_and_the_join_ends_in_the_blocked_leaf

Waits on:

Plan block
### T73 — Close the race between the cohort lock and the shim's leaf join
  slice: S10
  kind: task
  covers: BEP-018
  size: S
  est: 60 code, 100 tests
  executor: agent
  difficulty: needs care
  model: strongest
  diagnostics: the daemon log names an injected process that the post-join check moved into the blocked leaf
  observability: one debug line per post-join move
  layers:
    - inject:
      - crates/minimald/src/box_runtime.rs: after the shim joins its leaf, `Host::command` checks the cohort again under the lock and moves the shim into the blocked leaf and records it, or refuses the injection
      - crates/minimald/src/box_runtime/tests.rs: the interleaving test
      test: cargo nextest run -p minimald an_admit_between_injection_leaf_and_the_join_ends_in_the_blocked_leaf
  produces: none
  consumes: none
  proof: A process injected while a blocking member's admit runs ends in the blocked leaf and is recorded.
  depends on:
    - blocked by #2534

Generated by Claude Code

Activity

  1. added
    kind:featureA new feature or capability. Applied by the inbox-route classifier.
    on Oct 25, 2026
  2. norrietaylor commented on Oct 26, 2026

    @norrietaylor
    MemberAuthor

    The epic owner added this residual to the plan on 2026-10-26 as T73 (slice S10). Its body is now the rendered task. The residual text it replaces is kept below.

    Residual text

    Residual filed from T53 #2553, arch condition C2 at ecdb372 (review thread 4370706134), epic #1501.

    Situation

    Host::command in crates/minimald/src/box_runtime.rs calls injection_leaf, which takes and releases the cohort lock before the shim joins its leaf. When a blocking member's CohortQuic443::admit runs in that interval, move_in finds the box's own leaf empty and returns Ok. The shim then joins the box's own leaf, is not recorded (adopt is false), and sends UDP 443 until the block lifts, against Networking §5.3 line 150.

    What closes this

    • After the shim joins its leaf, the daemon checks the cohort again under the lock: if the cohort blocks and the shim is in the box's own leaf, it moves the shim into the blocked leaf and records it, or refuses the injection. The check runs after the join, not before.
    • A test interleaves a blocking admit between injection_leaf and the join and pins that the injected process ends in the blocked leaf, recorded.

    Generated by Claude Code

  3. changed the title [-]Close the injection race between the cohort lock and the shim's leaf join (BEP-018)[/-] [+]T73 — Close the race between the cohort lock and the shim's leaf join[/+] on Oct 26, 2026
  4. added
    kind:taskA task the plan skill rendered; the body carries ## Task
    size:SUnder 200 net lines; one PR
    model:strongestThe strongest model available: unknown ground, or large work that needs care
    and removed
    kind:featureA new feature or capability. Applied by the inbox-route classifier.
    on Oct 26, 2026
  5. minimal-foundry commented on Oct 26, 2026

    @minimal-foundry
    < 72A0 div class="footer__7ecx1m FooterContainer__CesLbt">on Oct 26, 2026
    Contributor

    Done. #2595 merged.

    branch agent/2559-close-the-race-between-the-cohort-lock-and-the-s · epic #1501 · PR #2595

    round outcome job
    1 pushed 1740ce5c
    2 pushed e20f61a0
    3 pushed b36406a5
    1 pushed 17beffbb

    Updated 2026-10-26T08:34:09.421Z.

  • Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      kind:taskA task the plan skill rendered; the body carries ## Taskmodel:strongestThe strongest model available: unknown ground, or large work that needs caresize:SUnder 200 net lines; one PR

      Type

      No type

      Projects

      No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions

        0