ultra11y 5.34.2 → 5.35.0
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.opencode/plugins/ultra11y.js +1 -1
- package/README.md +19 -3
- package/package.json +1 -1
- package/scripts/ultra11y.mjs +531 -298
- package/skills/review-a11y/SKILL.md +1 -1
- package/skills/review-a11y/scripts/ultra11y.mjs +531 -298
- package/skills/ultra11y/SKILL.md +7 -6
- package/skills/ultra11y/references/ci.md +9 -3
- package/skills/ultra11y/references/harnesses.md +11 -0
- package/skills/ultra11y/references/judgment.md +16 -7
- package/skills/ultra11y/references/runbook.md +10 -5
- package/skills/ultra11y/scripts/ultra11y.mjs +531 -298
- package/src/agent-codex.ts +257 -0
- package/src/cli.ts +75 -43
- package/src/llm.ts +14 -14
- package/src/types.ts +1 -1
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "ultra11y",
|
|
11
11
|
"source": "./",
|
|
12
12
|
"description": "Automatic accessibility review of the code under change before every commit, push and pull request, plus full WCAG 2.2 AA / RGAA audits and conformance deliverables on demand.",
|
|
13
|
-
"version": "5.
|
|
13
|
+
"version": "5.35.0",
|
|
14
14
|
"author": { "name": "maxgfr" },
|
|
15
15
|
"homepage": "https://github.com/maxgfr/ultra11y",
|
|
16
16
|
"repository": "https://github.com/maxgfr/ultra11y",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ultra11y",
|
|
3
3
|
"description": "Accessibility for WCAG 2.2 AA and country standards (RGAA…): an automatic review of the code under change before every commit, push and pull request, plus full audits and conformance deliverables on demand.",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.35.0",
|
|
5
5
|
"author": { "name": "maxgfr" },
|
|
6
6
|
"homepage": "https://github.com/maxgfr/ultra11y",
|
|
7
7
|
"repository": "https://github.com/maxgfr/ultra11y",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ultra11y",
|
|
3
3
|
"description": "Accessibility for WCAG 2.2 AA and country standards (RGAA…): an automatic review of the code under change before every commit, push and pull request, plus full audits and conformance deliverables on demand.",
|
|
4
|
-
"version": "5.
|
|
4
|
+
"version": "5.35.0",
|
|
5
5
|
"author": { "name": "maxgfr", "url": "https://github.com/maxgfr" },
|
|
6
6
|
"homepage": "https://github.com/maxgfr/ultra11y",
|
|
7
7
|
"repository": "https://github.com/maxgfr/ultra11y",
|
|
@@ -27,7 +27,7 @@ import { fileURLToPath } from "node:url";
|
|
|
27
27
|
// Ownership marker: `ultra11y install --opencode` refuses to overwrite a plugin file that
|
|
28
28
|
// does not carry it, so a user's own ultra11y.js is never clobbered.
|
|
29
29
|
const ULTRA11Y_OPENCODE_PLUGIN = "ULTRA11Y_OPENCODE_PLUGIN";
|
|
30
|
-
const ULTRA11Y_PLUGIN_VERSION = "5.
|
|
30
|
+
const ULTRA11Y_PLUGIN_VERSION = "5.35.0";
|
|
31
31
|
|
|
32
32
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
33
33
|
|
package/README.md
CHANGED
|
@@ -153,7 +153,7 @@ ultra11y pages --in <audit.json> --format report [--split page] [--out <dir>]
|
|
|
153
153
|
ultra11y pages discover --sitemap <url> | --crawl <url> [--depth <n>] [--max <n>] [--write] # build the page sample
|
|
154
154
|
ultra11y dev [--port <n>] [--standard <pack>] | dev --next # live overlay while you build + dashboard
|
|
155
155
|
ultra11y criteria [<sc>] [--list] [--standard <pack> [--theme <N>]] [--generate] [--json] [--lang auto|en|fr]
|
|
156
|
-
ultra11y judge --in <audit.json> [--standard <pack>] [--
|
|
156
|
+
ultra11y judge --in <audit.json> [--standard <pack>] [--runner api|claude|codex] [--model <id>] [--apply] # API or local subscription CLI
|
|
157
157
|
ultra11y check --report <md> [--standard <pack>] [--quiet] [--json]
|
|
158
158
|
ultra11y verify --report <md> [--standard <pack>] [--semantic] [--apply <verdicts.json>] [--max-verify <n>] [--json]
|
|
159
159
|
ultra11y verify --report <md> [--conformities <ledger|adjudication.json> | --no-conformities] # also put the claimed CONFORMITIES on trial
|
|
@@ -431,8 +431,22 @@ prompt are `verify --manual`'s own, and the verdicts pass through the **same fai
|
|
|
431
431
|
an agent's do. An unjustified `C`, an `NC` citing a line that does not resolve, a verdict for a
|
|
432
432
|
criterion nobody asked about, or an incomplete run are all refused — and a rejected
|
|
433
433
|
adjudication leaves the audit untouched. All-`manual` with reasons is accepted, because that is
|
|
434
|
-
a correct answer.
|
|
435
|
-
|
|
434
|
+
a correct answer. Choose the transport explicitly:
|
|
435
|
+
|
|
436
|
+
```sh
|
|
437
|
+
# Anthropic Messages API
|
|
438
|
+
ANTHROPIC_API_KEY=… ultra11y judge --in audits/audit-latest.json --runner api --apply
|
|
439
|
+
|
|
440
|
+
# Local CLI subscriptions; each reuses that CLI's existing login
|
|
441
|
+
ultra11y judge --in audits/audit-latest.json --runner claude --apply
|
|
442
|
+
ultra11y judge --in audits/audit-latest.json --runner codex --apply
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
`--runner cli` remains an alias of `claude` for existing scripts. The Codex runner invokes
|
|
446
|
+
`codex exec` ephemerally, read-only, offline, without repository rules, hooks or user config;
|
|
447
|
+
it uses the model attached to the ChatGPT account unless `--model` is given. Its subscription
|
|
448
|
+
has no per-run dollar-budget flag, so `--max-budget-usd` is rejected for Codex rather than
|
|
449
|
+
pretending to enforce a ceiling. Use `--timeout` and `--max` to bound the local run.
|
|
436
450
|
|
|
437
451
|
The GitHub Action wires this as `adjudicate: api`, and offers `adjudicate: agent` as the other
|
|
438
452
|
half — the same worklist handed to a `claude-code-action` run, which can **open the cited files**
|
|
@@ -442,6 +456,8 @@ never from an input, and **skip themselves when it is absent** — which is exac
|
|
|
442
456
|
pull request looks like, so the job stays green and the criteria stay « à évaluer ». See
|
|
443
457
|
`references/ci.md` for the cost per run and for `gate-adjudicated`, which lets a model-ruled
|
|
444
458
|
non-conformity fail the build at the price of a red/green that no longer reproduces.
|
|
459
|
+
ChatGPT-subscription authentication stays local: public CI does not receive or manufacture a
|
|
460
|
+
Codex subscription secret.
|
|
445
461
|
|
|
446
462
|
### Optional dynamic tier (axe-core)
|
|
447
463
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ultra11y",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.35.0",
|
|
4
4
|
"description": "Audit HTML/CSS/JSX against WCAG 2.2 AA and produce a dated compliance report, or author/review accessible markup (native-HTML-first). A skills.sh agent skill: an install-free static engine (bundled, no npm install) plus the agent's judgment, with check/verify gates against hallucinated non-conformities, and pluggable in-repo standards packs (RGAA France first; Section 508 & EN 301 549 next).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@10.33.0",
|