Skip to content

πŸŽ™οΈ task - fix(review): the prose-tally fallback enrolls a deaf clone and always malfunctionsΒ #538

Open

Description

@ehm-seaturtle

πŸ¦«πŸŽ™οΈ dispatch to foreman

πŸ’§ task enqueued
   β”œβ”€ priority = ?
   β”œβ”€ yieldage = ?
   └─ leverage = ?

title
fix(review): the prose-tally fallback enrolls a deaf clone and always malfunctions
description

πŸŒ™ dream: the prose-tally fallback enrolls a deaf clone and always malfunctions

  • kind: fix
  • owner: ehmpathy / rhachet (reseed β€” the defect lives in the clone-enroll mechanism this repo consumes)
  • caught: 2026-09-14

.the cue that fired

driving stone 5.1.execution.from_vision, both l3 peer reviewers malfunctioned at i022, and then
malfunctioned identically at i023 after a retry. the reproduction is what turned the diagnosis
from "transient, retry-class" (my i022 takens, disproven) into "systematic" β€” the same failure
on two independent rounds is not weather.

the stderr, verbatim, from both lanes both rounds:

😢 clone enrolled β€” deaf, so it cannot hear a `say`
   └─ 🎧 rhx clone get @:a8c311e6 --tail 50

Warn: no stdin data received in 3s, proceeding without it. If piping from a slow command,
redirect stdin explicitly: < /dev/null to skip, or wait longer.

πŸ’₯ malfunction: review tally fallback failed (the sub-brain that tallies a prose review could
not be reached). see .agent/repo=bhrain/role=reviewer/briefs/contract.reviewer-output.md

.the gap, precisely

when a reviewer emits prose rather than the two numeric lines contract.reviewer-output
mandates, the guard cannot read a verdict deterministically, so it falls back to
getReviewCountsViaBrain β€” a sub-brain that tallies the prose.

that fallback enrolls its tally clone as deaf (clone enrolled β€” deaf, so it cannot hear a say``), then hands the prose to it over stdin. a deaf clone cannot receive the stdin say,
so after a 3s idle the harness gives up (`no stdin data received in 3s`) and the tally clone reads
an empty prompt. the tally then fails, and the guard reports `πŸ’₯ malfunction`.

β‡’ this fails 100% of the time for every prose reviewer, not intermittently. the deaf-enroll and
the stdin-delivery contradict each other by construction, so no retry can succeed.

the second harm β€” it is adjacent to rule.forbid.failhide: both l3 prose reviews found zero
blockers
(r10: "the core concurrency mechanism is solid and well-clamped"; r11: "No new
blocking architectural defect"
). a clean review is reported to the driver as a malfunction that
blocks passage β€” the exact inversion contract.reviewer-output warns of ("a silent 0/0 would read
as a clean approval where in truth no verdict was seen"
β€” here its mirror: a real 0/0 reads as a
malfunction).

evidence: reproduced at i022 and i023, both l3 lanes, identical stderr. verified against the
malfunction message, which names the fallback and cites the reviewer-output contract.

.the shape of the fix

two grains, and the local one is already applied:

  1. the root (reseed to ehmpathy/rhachet): the tally fallback must either enrol its clone
    not-deaf so it can receive the say, or deliver the prose over -p (the prompt flag) rather
    than stdin. either closes the contradiction. this is a change to rhachet's clone-enroll / tally
    path, outside this repo β€” hence a reseed dream.

  2. the local unblock (applied this round): append the numeric-contract requirement to both l3
    reviewer prompts in the guard, so each reviewer emits N blockers / N nitpicks and the
    deterministic parser reads the verdict β€” the broken fallback is never reached. this is a
    guard edit on an unsealed route, and the .guard is not in the hashed artifact set, so the l1
    cache stays live.

.why it is not done in this round

the root fix is not this repo's to make β€” it lives in rhachet's clone-enroll mechanism, so it
reseeds rather than lands here. the local unblock is applied (the guard-prompt edit), which is
what lets this stone converge; the reseed carries the systemic repair so the next prose reviewer,
in any repo, does not meet the same wall.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions