Skip to content

chore: triage D01, D10 and the [BLOCKED] hook exit-code finding #319

Description

@pacphi

Why

The v5 review sent these to v4 for triage under Decision 4 (ledger G8).

In scope

Reproduce each on 4.0.0-alpha.60; give each a disposition and, when exit-critical, a card.

Out of scope

Fixing them here.

Acceptance criteria

  • Each item has a recorded disposition
  • Exit-critical items have their own alpha.61 card

Dependencies

Blocked by: None

Blocks: #320

Plan

Verification

Each acceptance criterion is checked on the pull request.

Activity

  1. added this to the 4.0.0-alpha.61 milestone on Oct 1, 2026
  2. added
    v4.0.0Routing: v4.0.0 board
    size:SOne module plus tests; under a day
    ws:remediationRemediation leftovers and bugs
    on Oct 1, 2026
  3. pacphi commented on Oct 2, 2026

    @pacphi
    OwnerAuthor

    Triage, 2026-10-02, with the maintainer's approval of each disposition (option A on all three).

    "[BLOCKED]" hook exit-code finding (Superpowers vs. the rUv Stack audit): reproduced, upstream-fixed, not exit-critical.

    • Ruflo's pre-bash helper prints [BLOCKED] Dangerous command detected: rm -rf / and then exits 1. Claude Code treats exit 1 as a non-blocking error; only exit 2 blocks. Ruflo's own code comment says so: "exit 2 blocks execution; exit 1 is non-blocking".
    • I ran the helper from each published @claude-flow/cli release on a dangerous command. Releases 3.5.19 through 3.51.0 (every one sampled, including 3.47.0, the version on the maintainer's machine) exit 1. 3.51.1, published 2026-10-02 16:10Z, exits 2. The diff between 3.51.0 and 3.51.1 is that one line plus its comment.
    • A project's copy of the helper, written by an older ruflo init, keeps the old behaviour. ak's own OpenCode template blocks on the [BLOCKED] text, so only the Claude Code hook path was exposed.
    • Disposition: not exit-critical for alpha.61. Carried as beta.1 card test: flag project hook helpers whose pre-bash exits 1 on [BLOCKED] #428 (ak audit hooks diagnostic for a helper that exits 1 after [BLOCKED]). Raising the Ruflo support floor is decided separately.

    D10 (an unexplained "31MX" fragment in terminal output): closed as not reproducible without a capture. No raw capture was available. Reopen if one turns up.

    D01 (Usage, History and Models stay empty until the browser is refreshed): still open, waiting on one check on the maintainer's machine. I could not reproduce it: in a real browser against fixture transcripts (main), a cold load and a reload were identical on Usage, Observability, Overview and System, and Usage showed its sessions on first load. The report probably depends on the size of a real transcript corpus, so the maintainer will open the dashboard cold once on the Mac and click Usage. If it shows empty until reload, this becomes a defect with a card; if not, it closes as not reproducible with a first-load regression test carried into P6.

    This card closes when D01 has a recorded disposition.


    Generated by Claude Code

  4. pacphi commented on Oct 2, 2026

    @pacphi
    OwnerAuthor

    D01 now has its disposition, so every item on this card does.

    D01 (Usage, History and Models stay empty until the browser is refreshed): not reproducible as stated; carried into P6 as a first-load requirement.

    • On 2026-10-02 the maintainer opened the dashboard cold on 4.0.0-alpha.60 (ak --version), on the Mac with a real corpus: 1,034 sessions in the 14-day window. The first screen took almost 10 s to appear. Usage took a little over 5 s and Observability a little over 5 s. Nothing was empty once it appeared, and the screenshots show Usage (sessions, cost, tokens, cache and the cost-per-day chart) and Observability (Live) fully populated. The maintainer did not need a reload.
    • Earlier I could not reproduce it either: in a real browser against fixture transcripts, cold load and reload were identical on every primary tab.
    • The likely source of the report is the wait itself. With a large corpus a panel can read as empty for 5 to 10 s before its data arrives, and a reload then feels like the fix because the server's cache is warm. This is a reading of the evidence, not a confirmed cause.
    • Disposition: not a defect to fix in alpha.61. P6 rewrites the Usage readers, so the requirement goes to P6-12 (feat: Usage and Observability follow the scope filter #374): on a corpus of about 1,000 sessions, no Usage or Observability panel reads as empty while its data loads, and a test loads each panel cold.

    Result for the card

    • "[BLOCKED]" finding: reproduced, upstream-fixed in 3.51.1, not exit-critical; beta.1 card test: flag project hook helpers whose pre-bash exits 1 on [BLOCKED] #428.
    • D10: closed as not reproducible without a capture.
    • D01: not reproducible; first-load requirement carried to P6-12.
    • Nothing is exit-critical, so no alpha.61 card is needed. Both acceptance lines are met.

    Generated by Claude Code

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

    size:SOne module plus tests; under a dayv4.0.0Routing: v4.0.0 boardws:remediationRemediation leftovers and bugs

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions