Skip to content

feat(wars): the arena's decision layer is TRI; JEV is only a comparison arm - #1178

Merged
gHashTag merged 1 commit into
mainfrom
feat/wars-tri-decision-layer
Sep 26, 2026
Merged

gHashTag merged 1 commit into
mainfrom
feat/wars-tri-decision-layer

Conversation

@gHashTag

@gHashTag gHashTag commented Sep 26, 2026 •

Copy link
Copy Markdown
Owner

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."
    ]
  }
}

…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 github-actions Bot added the status:in-progress 🔵 Agent working label Sep 26, 2026
@gHashTag
gHashTag merged commit d7d0787 into main Sep 26, 2026
30 of 41 checks passed
@github-actions github-actions Bot added status:completed Done and removed status:in-progress 🔵 Agent working labels Sep 26, 2026
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
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant