Skip to content

carry forward: the work on queen-1308 that conflicted with the base - #331

Merged
gHashTag merged 1 commit into
feat/queen-supervisorfrom
carry/queen-1308
Sep 4, 2026
Merged

gHashTag merged 1 commit into
feat/queen-supervisorfrom
carry/queen-1308

Conversation

@gHashTag

@gHashTag gHashTag commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Carried forward from origin/queen-1308 onto a fresh branch off the current base. No force-push, no branch deletion — the original branch is the evidence that the work happened and is untouched.

Only what the base genuinely lacks was carried; hunks whose substance the base already has by another route were dropped, because re-applying superseded work is how a fix gets reverted by a merge.

Three independent refuters were pointed at this carry — did it re-apply something the base already had, did it drop something the base lacks, does the quoted verification actually prove anything. At least two failed to break it. Merges cleanly against the current base, checked with git merge-tree before this PR was opened.

… onto the supervisor base

Carry-forward of origin/queen-1308 onto origin/feat/queen-supervisor. The bee
branch was cut before the tree-loader hardening landed, so the two edits met
inside queen-public-research.ts. Applied by hand, hunk by hunk, so the base's
newer work is not reverted by a merge.

CARRIED, because the base has none of it:

- queen-dispatch.ts: `WorkerCapacityBreakdown` and `workerCapacityBreakdown()`,
  the one authority that answers WHICH capacity a total is made of - connected
  credentials, lanes per credential, effective capacity - three integers and
  nothing that can be inverted into a secret. `configuredWorkerCapacity()` now
  delegates to it, so the number dispatch allocates against and the number the
  public endpoint explains cannot diverge.
- queen-dispatch.ts: `keysFor` trims before it judges. ' key' and 'key' in two
  boxes were counted as two credentials on one rate limit; a whitespace-only
  value was counted as configured. The trimmed value is also the stored one, so
  the count and the selection read the same list.
- queen-public-research.ts: the route reads the breakdown instead of the bare
  count and spreads the anonymous factors into `workers`.
- Both test files, including the closure assertions that no planted value, no
  provider variable name and no key_index-shaped field leaves the endpoint.

ADAPTED to the base, which the bee branch could not have seen:

- tests/api/queen-tree-load.test.ts pins the route with `workerCapacity: () => 0`.
  That file does not exist on queen-1308. Renaming the dep without it would have
  left that route reading the REAL environment. Repointed at the breakdown.
- The carried factorisation table configures OPENAI_API_KEY_2, a suffixed name
  absent from both cleanup lists. Bun runs the api tests in one process, so it
  survived into queen-public-research.test.ts and made "nothing is connected"
  read one connected credential. Added to both KEYS lists.

DROPPED as superseded: nothing. Every hunk's substance was absent from the base.

Not reverted: the branch predates `isTreeLoadFailure` / `TreeLoadFailure`, which
the base added to turn a wrong-shape tech-tree.json into a 503 instead of a 500
on a wildcard-CORS public endpoint. That handling is untouched here.

Closes browseros-ai#1308

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@gHashTag
gHashTag merged commit 2a8017b into feat/queen-supervisor Sep 4, 2026
12 of 16 checks passed
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

❌ Tests failed — 13/2039 failed

Suite Passed Failed Skipped
✅ agent 80/80 0 0
✅ build 9/9 0 0
✅ cdp-protocol 5/5 0 0
✅ eval 93/93 0 0
✅ server-agent 272/272 0 0
❌ server-api 901/941 10 30
✅ server-browser 6/6 0 0
✅ server-integration 10/11 0 1
✅ server-lib 273/273 0 0
✅ server-root 64/64 0 0
✅ server-skills 31/31 0 0
❌ server-tools 237/240 3 0
✅ shared 14/14 0 0
Failed tests
  • server-api — queen skip reason parity > every marker is on a non-comment line of the Swift sources
  • server-api — queen skip reason parity > every skipped.append site classifies to a named category
  • server-api — the bee verdict block > takes the last block when there are two
  • server-api — the migration block, applied to a real PostgreSQL > creates every object it promises, and survives a second boot
  • server-api — the live gate > ran, or its absence is on the record
  • server-api — route-guard audit over src/api/server.ts > sees the full route table
  • server-api — route-guard audit over src/api/server.ts > reports zero unguarded mounts once the reasoned allowlist is applied
  • server-api — route-guard audit over src/api/server.ts > reports exactly the six reasoned exceptions when the allowlist is dropped
  • server-api — route-guard audit over src/api/server.ts > splits the sixteen /queen mounts into 5 public-read, 6 wrapper-guarded and 5 allowlisted shells
  • server-api — probeGatewayReady > aborts the pending request instead of leaving it hanging
  • server-tools — navigation tools > new_hidden_page opens a hidden tab
  • server-tools — navigation tools > show_page restores a hidden page to visible
  • server-tools — window tools > create_hidden_window creates and closes a hidden window

View workflow run

gHashTag added a commit that referenced this pull request Sep 4, 2026
…, and close-done kept its own copy of the rule (#360)

`tri why` warned ahead: all nine remaining accepted branches conflict, so nothing
can land, close-done will close nothing, and the pipeline stops as soon as those
boundaries are all that is left. Four of the nine were finished work.

THE ROUTE NO COMPARISON OF BYTES CAN TAKE. `isLanded` had four routes -
ancestry, an identical merged tree, a patch-id match, and a hand-applied change.
Every one of them compares CONTENT. They are all blind to the thing this loop
does constantly: when a bee's branch goes stale, I re-cut its change against the
current base and squash-merge THAT. The carry is a new commit with a new tree and
a new patch-id, so nothing content-shaped connects it back, and the bee's
original branch becomes permanent debt - re-offered every round, conflicting
every round, holding its boundary fenced for ever.

So read the message. L1 of this repository is "no code merged without
`Closes #N`", which makes the message a load-bearing record and not a courtesy:

  browseros-ai#1310  landed as PR #330
  browseros-ai#1308  landed as PR #331
  browseros-ai#1362  `Closes browseros-ai#1362` in a base commit
  browseros-ai#1421  carried by a commit that says "Carries the browseros-ai#1421 work it belongs with"

Nine conflicting branches became six. The matching is done in JavaScript rather
than in git's regex, because two rounds ago a BRE read as a JavaScript regex
convicted a bee - the dialect belongs somewhere it is known.

AND THE TIGHTENING BROKE THE CASE IT WAS WRITTEN FOR. I required `(#N)` to end
the line, to reject "unlike (browseros-ai#1421), this does X". One minute later browseros-ai#1310 stopped
being recognised: a squash subject here reads
`feat(queen): explain idle paid slots (browseros-ai#1310) (#330)` - the issue first, then the
pull request. A trailing CHAIN of references is a subject; a parenthesis in the
middle of a sentence is not.

CLOSE-DONE KEPT ITS OWN COPY OF THE RULE. It had the tree test and nothing else,
for weeks, while `land.mjs` grew four more routes it never learned. A rule
transcribed twice is two rules that agree until somebody edits one - which is L2
of this repository, and it had happened here in the file that decides whether an
issue may be closed. It asks `land.mjs` now.

What remains is real debt and is reported as such: browseros-ai#1387, browseros-ai#1302 and browseros-ai#1303 carry
880 insertions of finished work outside the base, all three with their issues
already CLOSED - the inverse of the false statement close-done exists to prevent.
A conflict is still reported for a person and never resolved by guessing.

selftest 144 pass 0 fail.

Co-authored-by: Dmitrii Vasilev <trackgmedernj@hotmail.com>
gHashTag added a commit that referenced this pull request Sep 4, 2026
… rebase" was advice toward deleting finished code (#361)

`land` reported nine conflicts and one remedy: rebase, or close as superseded.
Taking that advice on browseros-ai#1302 would have destroyed landed work.

browseros-ai#1302 is "expose Queen billing mode and quota authority in public research
status", 205 insertions, accepted, its issue already closed. Replaying it onto
today's base would have:

  - deleted `WorkerCapacityBreakdown`, which is browseros-ai#1308's work, carried and merged
    as PR #331 after this branch was cut
  - deleted the tree-load-failure handling the base gained since
  - REINTRODUCED a non-ASCII ellipsis into a path redaction the base already
    performs in ASCII - breaking L3 in the same stroke

That branch is not waiting for a rebase. It is superseded in part, and what
survives is a small delta belonging on today's base as new work. A conflict says
two sides touched the same lines; it says nothing about which side is behind,
and the advice depends entirely on that.

So the report measures it: how far has the base travelled on the conflicting
files since the fork point?

  CONFL queen-1302  2 conflicting file(s): ...queen-public-research.ts, ...test.ts
        | the base moved on these since the fork: N commit(s), M insertions -
        a rebase would replay OLD code over new; re-file what survives against
        today's base

It is a measurement, not a verdict. The person still decides, with the number
that decides it.

AND THE COUNT WAS INFLATED. `git merge-tree --name-only` interleaves prose with
paths - "Auto-merging X" and "CONFLICT (add/add): Merge conflict in X" are
commentary about the file named on the line above. Counting them reported "6
conflicting path(s)" for two files. An inflated number is how a report stops
being read, and this one had been doubling every conflict it printed.

The reason line is no longer truncated to 96 characters either, which had been
cutting off exactly the half that says what to do.

selftest 145 pass 0 fail.

Co-authored-by: Dmitrii Vasilev <trackgmedernj@hotmail.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.

1 participant