Repository navigation
feat(wars): the arena's decision layer is TRI; JEV is only a comparison arm - #1178
Merged
Merged
Conversation
…on arm Renames the variable factor from the external jev-decision-layer to tri-decision-layer: the judge is the t27c compiler itself (OBSERVED, the spec is its own source), so an arm is accepted only when the compiler and the acceptance gates accept its patch. The Bee + JEV arm stays in the ledger purely as a comparison baseline. Co-Authored-By: Crush:glm-4.5
github-actions Bot
added a commit
that referenced
this pull request
Sep 26, 2026
feat(wars): the arena's decision layer is TRI; JEV is only a comparison arm (#1178) Renames the variable factor from the external jev-decision-layer to tri-decision-layer: the judge is the t27c compiler itself (OBSERVED, the spec is its own source), so an arm is accepted only when the compiler and the acceptance gates accept its patch. The Bee + JEV arm stays in the ledger purely as a comparison baseline. Co-Authored-By: Crush:glm-4.5
Merged
19 of 21 tasks
dmitrii-f-t27
pushed a commit
to dmitrii-f-t27/trinity
that referenced
this pull request
Oct 1, 2026
… arena The protocol's variable factor has been the TRI decision layer since gHashTag#1178, but no arm used it. bee-tri is that arm: the same Bee, prompt, tools and budget, with t27c on PATH while it works. A judged or complete experiment now needs a sealed bee-baseline and bee-tri run; JEV stays a comparison arm. The ledger gains three real gHashTag/t27 issues (4614, 4695, 4613), six sealed runs and 48 measurements: acceptance by the issues' own commands, Queen verdict, elapsed, tool calls, patch lines, and three new metrics (total-tokens, judge-calls, mutants-killed). All six arms pass; each pair kills the same mutants; the TRI arms found three tool defects. A new experiment state, "judged", records that every arm ran without declaring a winner, because the executor model id is not written to this repository. A test shows a judged experiment without a sealed TRI run is refused, and that promoting one to complete without a model id is refused. The view: a campaign-at-a-glance strip, a head-to-head grid of every experiment (a row opens it), a scoreboard that shows only measured metrics with a relative bar per row and lists the rest as not measured, and five lanes. Checked: check:wars, test:wars-spec (26/26), check:aria, check:queen-languages, check:queen-responsive, the typecheck ratchet (no file gained errors) and the viewport contract, whose only failure (.queen27-sectors-empty) fails identically on main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011vMJx1ZWk2hq58jyEecRBY
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rename the wars decision layer from JEV to TRI: the compiler is the judge
Summary
The wars arena's decision layer was labelled "jev-decision-layer", which
mislabeled the component that accepts an arm only when the compiler and
acceptance gates accept its patch. Renamed to "tri-decision-layer" across
the SSOT spec (specs/queen/wars.t27), the generator, generated projections,
UI labels (EN+RU), module copy, and QA contracts. The bee-jev arm is kept
as a comparison-only arm.
{ "version": 1, "head_sha": "0770abb994bfa78ab1310dff60d273da67392871", "summary": "Rename jev-decision-layer to tri-decision-layer across the wars SSOT spec, generator, generated projections, UI labels and QA contracts; keep bee-jev as a comparison arm only.", "changes": [ "specs/queen/wars.t27: VARIABLE_FACTOR, TRI_ROLE/_EVIDENCE/_SOURCE, spec asserts", "scripts/queen-wars-from-spec.mjs: required keys, validation, renamed output keys (jevRole -> triRole)", "src/lib/queenWars.generated.ts, public/queen/wars.json, public/queen/wars.t27 regenerated", "QueenWars.tsx and src/lib/queenModules.ts labels EN+RU", "qa/queen-wars-contract.mjs and scripts/queen-wars-from-spec.test.mjs updated" ], "tests": [ { "command": "node scripts/queen-wars-from-spec.test.mjs", "result": "all spec projection tests pass", "status": "passed", "evidence": "tests exit 0 locally on head 0770abb9" }, { "command": "node qa/queen-wars-contract.mjs && node qa/agents-spec-contract.mjs", "result": "both contract checks pass", "status": "passed", "evidence": "both qa scripts exit 0 locally" }, { "command": "npx tsc --noEmit -p .", "result": "no type errors", "status": "passed", "evidence": "tsc --noEmit printed nothing, exit 0" }, { "command": "node scripts/typecheck-ratchet.mjs", "result": "at baseline 179/26, no new files", "status": "passed", "evidence": "ratchet output equals baseline 179 across 26" } ], "limitations": [ "Historical mentions of jev remain only as the bee-jev comparison arm identifier" ], "tags": ["wars", "tri", "rename", "spec", "queen"], "blog": { "title": "The arena's decision layer is TRI", "summary": "The judge of the wars arena is the compiler: an arm is accepted only when the compiler and acceptance gates accept its patch.", "outline": [ "Why the decision layer was mislabeled JEV and what it actually does: it ranks typed choices and never generates the patch.", "The rename path: spec-first change in wars.t27, generator validation, regenerated projections, EN+RU UI labels, QA contracts updated.", "What stays untouched: the bee-jev arm remains in the arena purely as a comparison arm, with its own role text.", "Why the judge must be exact: an arm earns TRI only when the compiler and the acceptance gates accept its patch." ] } }