@thebattlearena/corner 0.9.1-beta.70 → 0.10.1-beta.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -26
- package/package.json +1 -1
- package/plugin/.claude-plugin/plugin.json +1 -1
- package/ring/agents/cornerman.md +32 -6
- package/ring/agents/rudo.md +2 -1
- package/ring/agents/wrestler.md +19 -4
- package/ring/hooks/hooks.json +42 -0
- package/ring/scripts/bout-stats-render.mjs +366 -0
- package/ring/scripts/bout-stats.mjs +360 -0
- package/ring/scripts/brief-build.mjs +130 -0
- package/ring/scripts/brief-guard.mjs +154 -0
- package/ring/scripts/brief.mjs +272 -0
- package/ring/scripts/compact-hook.mjs +110 -0
- package/ring/scripts/config.mjs +25 -1
- package/ring/scripts/contract-endpoints.mjs +163 -0
- package/ring/scripts/contract-preview.mjs +34 -14
- package/ring/scripts/fight.mjs +27 -0
- package/ring/scripts/findings.mjs +82 -3
- package/ring/scripts/format-gate.mjs +723 -0
- package/ring/scripts/format-worker.mjs +120 -0
- package/ring/scripts/front-routes.mjs +345 -0
- package/ring/scripts/judges-card.mjs +324 -3
- package/ring/scripts/lookout.mjs +22 -4
- package/ring/scripts/mask-guard.mjs +34 -1
- package/ring/scripts/page-embed.mjs +112 -0
- package/ring/scripts/play-by-play.mjs +155 -7
- package/ring/scripts/preparation-collect.mjs +177 -0
- package/ring/scripts/preparation.mjs +547 -0
- package/ring/scripts/round-bell.mjs +9 -2
- package/ring/scripts/rule-ids.mjs +124 -0
- package/ring/scripts/tech-plan-log.mjs +81 -0
- package/ring/scripts/tech-plan.mjs +191 -0
- package/ring/scripts/verdicts-log.mjs +75 -0
- package/ring/scripts/verdicts.mjs +205 -0
- package/ring/skills/play-by-play/SKILL.md +235 -33
- package/ring/skills/play-by-play/templates/blocks.css +196 -0
- package/ring/skills/play-by-play/templates/chronicle.html +358 -55
- package/ring/skills/play-by-play/templates/endpoints-view.js +1153 -0
- package/ring/skills/play-by-play/templates/interview-form.js +516 -0
- package/ring/skills/play-by-play/templates/now-panel.js +719 -0
- package/ring/skills/referee/SKILL.md +181 -56
- package/ring/skills/referee/references/api-diagram.md +56 -0
- package/ring/skills/referee/references/precedents.md +11 -0
- package/ring/skills/referee/references/rulebook.md +97 -6
- package/ring/skills/referee/templates/api-diagram.html +115 -0
- package/ring/skills/referee/templates/cornerman-batch.md +17 -11
- package/ring/skills/referee/templates/cornerman-concept.md +28 -30
- package/ring/skills/referee/templates/cornerman-range.md +16 -11
- package/ring/skills/referee/templates/escalation.md +7 -1
- package/ring/skills/referee/templates/round-bell-body.md +4 -0
- package/ring/skills/referee/templates/wrestler-brief.md +28 -41
- package/ring/skills/referee/templates/wrestler-cutoff.md +4 -0
- package/ring/skills/referee/templates/wrestler-resume.md +4 -0
- package/ring/skills/sparring/SKILL.md +13 -4
- package/ring/skills/sparring/templates/contrato.md +29 -0
- package/ring/skills/sparring/templates/rudo-brief.md +7 -0
- package/ring/skills/title-defense/SKILL.md +2 -2
- package/ring/skills/weigh-in/SKILL.md +6 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Contracts proposed · {{slug}} · <repo>
|
|
2
|
+
|
|
3
|
+
<!-- One entry per endpoint or data model a rudo adds or changes, written the moment it proposes
|
|
4
|
+
it, before implementing it. Nothing here is approved: the referee bout that refactors this
|
|
5
|
+
sparring opens with these bases, draws them and takes them to the judge (§2b) before any code
|
|
6
|
+
depends on them. Keep each entry current when the rudo changes it; never delete one, mark it
|
|
7
|
+
`dropped` with why. -->
|
|
8
|
+
|
|
9
|
+
## Endpoints
|
|
10
|
+
|
|
11
|
+
### `<METHOD> <path>` · <repo> · <new | changed | dropped>
|
|
12
|
+
|
|
13
|
+
- **What it is for:** <the screen or action that calls it>.
|
|
14
|
+
- **Request:** <path and query params, body fields with type and whether required>.
|
|
15
|
+
- **Response:** <status and shape, fields with type; pagination when it lists>.
|
|
16
|
+
- **Errors:** <status · code · when>.
|
|
17
|
+
- **Scoping:** <tenant / workspace / user it is filtered by>.
|
|
18
|
+
- **Shortcut taken:** <what the sparring skipped here: no DTO, no auth check, a mock… | none>.
|
|
19
|
+
|
|
20
|
+
## Data models
|
|
21
|
+
|
|
22
|
+
### `<table or entity>` · <repo> · <new | changed | dropped>
|
|
23
|
+
|
|
24
|
+
- **Columns:** <name · type · nullable / default / unique / index>, one per line; a changed column
|
|
25
|
+
as `old → new`.
|
|
26
|
+
- **Relations:** <→ other table, cardinality, ON DELETE rule>.
|
|
27
|
+
- **Where it lives in the sparring:** <`tools/<file>.sql`, the entity path, or a JSON mock>.
|
|
28
|
+
- **Backfill of existing rows:** <none | how>.
|
|
29
|
+
- **Shortcut taken:** <a JSON column instead of a table, no index, no tenant FK… | none>.
|
|
@@ -34,6 +34,13 @@ Credentials (by NAME, never a value): <NAME, NAME | none>. Locally they live in
|
|
|
34
34
|
Real sends: <none | which channel really sends (reply, call, email) and the variable with the
|
|
35
35
|
judge's own destinations: `SPARRING_ALLOWED_<KIND>`, closed by default, the rest `not_allowlisted`>.
|
|
36
36
|
|
|
37
|
+
Contracts: every endpoint or data model you add or change, write it to
|
|
38
|
+
`<sparring dir>/contrato-<repo>.md`, your repo's own file (the other rudos write theirs at the same
|
|
39
|
+
time: read them, never write them; the template is `<absolute ring path>/skills/sparring/templates/contrato.md`) the moment you
|
|
40
|
+
propose it, before implementing it: method, path, request, response, errors and scoping; table,
|
|
41
|
+
columns, relations and where it lives. Keep it current when you change it; a dropped one is marked
|
|
42
|
+
`dropped`, never deleted. It is what the judge reviews first after a KO.
|
|
43
|
+
|
|
37
44
|
Gate: typecheck only: `<command>`, through one-at-a-time.
|
|
38
45
|
Database: additive only (new tables or columns, English names), and never against production.
|
|
39
46
|
forbidAiTrailers is <true|false>.
|
|
@@ -57,8 +57,8 @@ list, judges card, `decisions.md` and `rebounds.md`, and the same `mask-guard` r
|
|
|
57
57
|
`--raw` to see the body as is when something looks off. Add human PR comments (`gh pr view <pr> --comments`).
|
|
58
58
|
**A review whose commit is not the PR head is stale**: it describes code that no longer
|
|
59
59
|
exists; re-request instead of acting on it.
|
|
60
|
-
2. **Verify and classify** with a cornerman in concept mode (`
|
|
61
|
-
|
|
60
|
+
2. **Verify and classify** with a cornerman in concept mode (`brief.mjs cornerman <pr> --mode
|
|
61
|
+
concept`, with the model and effort it prints, read-only), giving it every finding. Each one gets a class and a severity
|
|
62
62
|
with one line of business impact ("a contact is lost", "cross-tenant read", "double side
|
|
63
63
|
effect", "reporting only"):
|
|
64
64
|
- **BUG-INTRODUCED**: this PR created it.
|
|
@@ -178,6 +178,12 @@ Do not ask about what you detected: show it and let the human correct it if they
|
|
|
178
178
|
native files under each of its paths). While a bout is active, `mask-guard` locks the gates of
|
|
179
179
|
every venue and the heavy commands of every declared venue (simulators, emulators, native
|
|
180
180
|
builds), and blocks a commit of a native file the judge did not approve.
|
|
181
|
+
- `format` is optional: `{ "tsconfig": "<path>" }` names the tsconfig sort-imports reads the
|
|
182
|
+
aliases from. Omit it when the repo's own sort-imports script passes `--tsconfig` or the root
|
|
183
|
+
has `tsconfig.json`: ring takes it from there, so the hooks sort as the repo's `sort` script
|
|
184
|
+
does. Write it when neither holds (a monorepo whose aliases live in one app's tsconfig). Tell
|
|
185
|
+
the human if the repo has no `node_modules/.bin/prettier` or `sort-imports`: ring formats with
|
|
186
|
+
what the repo installs and never downloads them.
|
|
181
187
|
- `delegation` can be omitted when it is `referee`. Write it explicitly only if the human chose
|
|
182
188
|
`human`, or if they want the choice visible in the file.
|
|
183
189
|
- `precedents` is optional: omit it to use `.claude/ring-precedents.md` when that file exists.
|