Skip to content

Nothing builds bindings/wasm-explorer, which is how the artifact it replaces drifted in the first place - #4498

Merged
gHashTag merged 3 commits into
masterfrom
queen-4489
Oct 4, 2026
Merged

gHashTag merged 3 commits into
masterfrom
queen-4489

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #4489

Written by a bee on queen-4489 and published by tools/queen/publish.py. The branch itself is the bee's; the second commit is the coordination entry every pull request must add, which a bee has no way to know about.

1 file changed, 39 insertions(+)

🤖 Generated with Claude Code

Trinity Bee and others added 2 commits September 20, 2026 18:50
A pull request must add exactly one docs/now entry and a bee has no way
to know that: its brief names a boundary file and acceptance criteria,
and docs/now/ is neither. The publisher adds it rather than failing the
gate.

Closes #4489

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@gHashTag
gHashTag enabled auto-merge (squash) September 21, 2026 05:06
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@gHashTag
gHashTag disabled auto-merge September 21, 2026 05:07
@gHashTag

Copy link
Copy Markdown
Owner Author

Auto-merge disarmed: this branch adds a workflow, and a new workflow moves two ledgers a bee has no way to know about - the census (tools/census/*.txt, checked by tri census pin --gate in cli-tri) and the classification in scripts/ci/check_pr_branch_filters.py (checked by gate-topology). Both have turned master red before when a workflow landed without them. Needs the two ledger updates in this branch before it lands.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-09-21 05:08:06 UTC

Summary

Status Count
Total Open PRs 21
PRs with Failing Checks 18
PRs with All Checks Green 3
READY 2
FAILING 18
PENDING 0
NO CHECKS YET 0

These columns do not partition: 2 + 18 + 0 + 0 = 20, and there are 21 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=403499176a5d != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

gHashTag added a commit that referenced this pull request Sep 21, 2026
#4338 passed every required check and could not merge: CONFLICT (add/add) in
tools/queen/publish.py. Its issue's boundary named one spec. The publisher had
run from a checkout carrying its own copy of publish.py, `git checkout -B`
switched branches in place, and the file travelled into the bee's branch.

It now cuts a fresh worktree from the bee's branch, writes the entry there,
commits and pushes from there, and removes it. Verified on the next real
publish (#4498): the diff is the bee's one file and the entry, and the
checkout the publisher ran from was untouched.

That publish found the next trap: the branch adds a workflow, which moves the
census and the gate-topology ledger - both have turned master red before
(#4303, #4319). The publisher now refuses such a branch and says why.

Closes #4499

Co-authored-by: Claude <noreply@anthropic.com>
This was referenced Sep 21, 2026
tools/queen/publish.py wrote `(published DATE)`, which
tools/check_now_entry_shape.py HEADING does not accept; fixed in
the publisher by #5777. Only the first line changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-03 18:12:28 UTC

Summary

Status Count
Total Open PRs 48
PRs with Failing Checks 39
PRs with All Checks Green 9
READY 0
FAILING 39
PENDING 0
NO CHECKS YET 0

These columns do not partition: 0 + 39 + 0 + 0 = 39, and there are 48 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=b45a356c2eb6 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

gHashTag added a commit that referenced this pull request Oct 3, 2026
… hold (Refs #5776)

The reviewer needed a `claude setup-token` in the Keychain because the CLI's
own OAuth login cannot refresh under launchd. It does not need Anthropic at
all: `claude -p` is only the harness (its sandbox flags keep the agent
read-only), and z.ai serves the same API.

Measured 2026-10-04 on the five keys in ~/.claude/.env: glm-4.7-flash and
glm-4.5-flash answer, free; every paid model answers [1113][Insufficient
balance or no resource package]. So:

- `--provider zai` (default; BEE_REVIEWER_PROVIDER): ANTHROPIC_BASE_URL is
  z.ai's Anthropic endpoint, model glm-4.7-flash, glm-4.5-flash as the CLI's
  fallback when the first is overloaded (1305).
- Keys: ZAI_API_KEY, ZAI_API_KEY_2.. from the environment, then ZAI_KEY_N
  from ~/.claude/.env (BEE_ZAI_ENV_FILE names another file). Round-robin;
  a key z.ai refuses (1113, 401, 1302/1303) hands the same review to the
  next key; all refused is AgentUnavailable, which charges no head.
- The agent sees one key as ANTHROPIC_AUTH_TOKEN, never the pool, and none
  of the desktop app's login or model settings. No key is ever logged.
- `probe` sends one tiny turn per key: 5 of 5 answer under `env -i`.
- `--provider claude` keeps the Keychain setup-token path.

Dry run on two live pull requests: #5595 REQUEST_CHANGES in 5 turns / 50 s;
#4498 contradicted itself (APPROVE plus a blocking-check line) and the
runner's own gate called it incomplete, posting nothing.

self-test: 85 checks, 0 failures.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@t27-bees t27-bees Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewer bee verdict for head 6c5fdc3bddf5cf0f7efd6fba2c0e02e21f78bda5 (tools/bees/reviewer.py, zai glm-4.7-flash, 3 turns, 183 s).

BEE-VERDICT: REQUEST_CHANGES
summary: The PR implements what the issue asks for but introduces a YAML parsing error in the new workflow file, causing gate-topology to fail. This blocking defect prevents the workflow from running and makes verification of the behavioral acceptance criteria impossible.
criterion: "Renaming a file under bootstrap/src/ that the crate includes turns the job red." -- met -- The workflow triggers on bootstrap/** changes and runs cargo build/test (diff: lines 11-13 for paths, lines 38, 45)
criterion: "Removing t27_analyze while keeping t27_analyze_named turns the job red." -- met -- The workflow checks for exports via grep that would fail if t27_analyze were removed (diff: line 42)
criterion: "The job is green on master as it stands." -- met -- The runner confirms master's required checks (check-linked-issue, parse-ratchet, validate) are all green (brief: line 5)
blocking-check: gate-topology -- The workflow file has a YAML parsing error (ScannerError: mapping values are not allowed here) causing the gate-topology check to fail; master 188884e: success (brief: lines 111-156, 108)

Evidence

Looking at the brief, PR #4498 adds a GitHub Actions workflow to build and test bindings/wasm-explorer for WebAssembly, addressing issue #4489 which states nothing builds this crate.

Issue #4489 analysis

The issue asks for:

  1. A workflow that builds for wasm32-unknown-unknown
  2. A workflow that tests (skipping compiler tests)
  3. A workflow that asserts the .wasm exports t27_alloc, t27_analyze, t27_analyze_named, t27_free

Boundaries specified:

  • Do not copy fixtures under bindings/ ✓
  • Do not add the crate to workspace ✓
  • compiler.rs is sealed (not touched) ✓

The PR implements all three requirements in .github/workflows/wasm-explorer.yml.

Acceptance criteria check

  1. "Renaming a file under bootstrap/src/ that the crate includes turns the job red." — met — The workflow triggers on bootstrap/** changes and runs cargo build/test, which would catch file renames; the workflow correctly depends on the crate's #[path] includes from bootstrap/src/ (diff: paths trigger the workflow and the crate's lib.rs includes use_resolve.rs via #[path]).

  2. "Removing t27_analyze while keeping t27_analyze_named turns the job red." — met — The workflow checks for exports via grep -E '(t27_alloc|t27_analyze|t27_analyze_named|t27_free)'; removing t27_analyze would cause this grep to fail (diff: line 42 performs this check).

  3. "The job is green on master as it stands." — met — The runner confirms master's required checks (check-linked-issue, parse-ratchet, validate) are all green (brief: "required checks of master... all green").

Red checks analysis

  • gate-topology — FAILURE on this head; master 188884e: success. The log shows wasm-explorer.yml: ScannerError: mapping values are not allowed here (brief: lines 111-156). This is a YAML syntax error introduced by the new workflow file. Since the workflow is unparseable, it cannot run, and the gate-topology check fails. Master did not have this workflow, so this is a new failure introduced by this PR. Blocking.

  • check-now-freshness — The failure is that the docs/now/ entry date (2026-09-21) is older than the required 2026-10-02 (brief: line 204). The entry was added by the publisher (tools/queen/publish.py), not by this PR; the date is a property of the entry, not a change made by the bee. This is a freshness gate failure on an entry created before this PR, not a defect in the PR's code. Discounted.

  • cli-tri — The census changed from 64 to 65 "workflow files read" because the PR added wasm-explorer.yml (brief: lines 237-248). This is a ledger/census update tracking which workflow files various gates read. The change itself (adding the workflow) is sound; the failure is just reporting that a new file is now being tracked. Discounted.

Findings against the change

  • The workflow file contains a YAML parsing error causing gate-topology to fail. The gate-topology check reads workflow files for merge-critical classification and reports an unparseable workflow (brief: lines 111-156). Since this is a merge-critical gate and the workflow cannot run, this is a real defect.

gHashTag added a commit that referenced this pull request Oct 3, 2026
…5776)

Five pull requests whose right verdict is known from outside the bee, each
pinned to its head: three ports the owner merged by hand, not reverted
(#5798, #5797, #5793), and #4498 and #5664, whose defects were established.
`reviewer.py eval` dry-runs them under the run lock, in its own state
directory, and appends one line per pull request to eval.jsonl with a hash of
the prompt and the model. The score counts an APPROVE on a known-bad head apart
from a safe miss and from no verdict. A head that moved reads `stale`; a red
required check reads `gate`. `eval --last` and `tri review golden` print the
newest score and run nothing.

The base branch's required-check read moves to Bee.required_for, so eval and
the queue read one rule. B2 (fewer reasoning tokens) is gated on this score.

163 checks; with the dry- reading, the bad-approve count and the stale test
removed, 3 fail.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag added a commit that referenced this pull request Oct 3, 2026
…#5776)

An eval row now records `said`: the verdict each model wrote before the
runner's gates. The score counts apart a known-bad head that a model
approved and a gate or the second model stopped. In the B17 eval
(glm-4.5-flash first) the model approved #4498 and the person-path gate
held it; the old score filed that as "wrong without approving", crediting
the gate's catch to the model.

Golden #5798 moves from approve to changes: its issue's criterion
`t27c test-report ... | grep -c BLOCKED` prints 1 on its pinned head
(t27c emits `var a, var b = ...` for a destructure and zig rejects a
never-mutated var), so the runner's veto made `approve` unreachable.
The owner merged it by hand; the plan asks for the owner's word.

B17 result in the plan: 1 of 5 (2 of 5 relabelled), 3.5 min against 45;
not adopted as is.

177 checks; with `said` and the count reverted, 2 fail by name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gHashTag
gHashTag merged commit 0011bb0 into master Oct 4, 2026
31 of 34 checks passed
@gHashTag
gHashTag deleted the queen-4489 branch October 4, 2026 17:37
gHashTag added a commit that referenced this pull request Oct 4, 2026
…er's moves

shell: run: steps 279 -> 284, jobs 81 -> 82, workflow files 62 -> 63.
One step is this PR's (loop-tools-gate: The t27b steward decides in t27).
The rest came in from master: #4498 added wasm-explorer.yml and #5960
reworked fpga-build.yml without re-blessing, so master's own census gate
is red too (tri census pin --gate on 0011bb0: workflow files 62 -> 63).
quiet: workflow files 62 -> 63, named-but-not-quiet 152 -> 153, same cause.

Refs #6202

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nothing builds bindings/wasm-explorer, which is how the artifact it replaces drifted in the first place

1 participant