@azure-id/orc 0.56.0 → 1.0.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/CHANGELOG.md +228 -0
- package/README-id.md +143 -53
- package/README.md +124 -103
- package/bin/build-agents.js +18 -11
- package/bin/cli.js +4139 -315
- package/bin/onboarding-content.js +0 -3
- package/bin/test-run.js +491 -0
- package/bin/verify-contracts.js +4256 -3277
- package/bin/verify-package.js +563 -498
- package/bin/webui/api.js +1186 -1163
- package/bin/webui/app.html +9 -0
- package/bin/webui/css/06-responsive.css +120 -108
- package/bin/webui/css/panels/extra.css +29 -0
- package/bin/webui/css/panels/lanes.css +134 -0
- package/bin/webui/css/panels/settings.css +79 -3
- package/bin/webui/fixtures/extra.js +2036 -1934
- package/bin/webui/fixtures/flow.js +2 -2
- package/bin/webui/fixtures/index.js +503 -486
- package/bin/webui/fixtures/lanes.js +218 -0
- package/bin/webui/fixtures/settings.js +261 -34
- package/bin/webui/fixtures/stats.js +3 -3
- package/bin/webui/i18n/TERMS.md +135 -134
- package/bin/webui/i18n/en/extra.json +345 -313
- package/bin/webui/i18n/en/lanes.json +29 -0
- package/bin/webui/i18n/en/nav.json +1 -0
- package/bin/webui/i18n/en/overview.json +2 -0
- package/bin/webui/i18n/en/settings.json +16 -5
- package/bin/webui/i18n/id/extra.json +345 -313
- package/bin/webui/i18n/id/lanes.json +29 -0
- package/bin/webui/i18n/id/nav.json +1 -0
- package/bin/webui/i18n/id/overview.json +2 -0
- package/bin/webui/i18n/id/settings.json +15 -4
- package/bin/webui/js/01-i18n.js +1 -0
- package/bin/webui/js/panels/extra.js +3199 -3011
- package/bin/webui/js/panels/lanes.js +259 -0
- package/bin/webui/js/panels/overview.js +10 -0
- package/bin/webui/js/panels/settings.js +149 -3
- package/package.json +3 -3
- package/templates/agents/MODEL-MAPPING.md +23 -35
- package/templates/agents/orc-executor-opus-4-7-high.md +1 -1
- package/templates/agents/orc-executor-opus-4-7-med.md +1 -1
- package/templates/agents/orc-executor-opus-4-8-high.md +1 -1
- package/templates/agents/orc-executor-opus-5-high.md +1 -1
- package/templates/agents/orc-executor-opus-5-low.md +1 -1
- package/templates/agents/orc-executor-opus-5-med.md +1 -1
- package/templates/agents/orc-retro-opus-5-med.md +73 -73
- package/templates/agents/orc-retro-sonnet-5-high.md +72 -72
- package/templates/agents/orc-trace-writer-haiku-4-5.md +107 -107
- package/templates/commands/orc-route.md +1 -1
- package/templates/commands/orc.md +1 -1
- package/templates/skills/_shared/README.md +7 -3
- package/templates/skills/_shared/config-precedence.md +198 -0
- package/templates/skills/_shared/drift-recovery.md +1 -1
- package/templates/skills/_shared/extra-dispatch.md +292 -6
- package/templates/skills/_shared/interview.md +1 -1
- package/templates/skills/_shared/opus5-only.md +9 -7
- package/templates/skills/_shared/phases/README.md +82 -0
- package/templates/skills/{orc/references → _shared/phases}/analyst-gates.md +15 -3
- package/templates/skills/_shared/phases/execution.md +143 -0
- package/templates/skills/{orc/references → _shared/phases}/house-rules.md +13 -1
- package/templates/skills/{orc/references → _shared/phases}/intake.md +15 -2
- package/templates/skills/_shared/phases/mock-example.md +56 -0
- package/templates/skills/{orc/references → _shared/phases}/plan-handoff.md +16 -3
- package/templates/skills/_shared/phases/planning.md +135 -0
- package/templates/skills/_shared/phases/preflight.md +76 -0
- package/templates/skills/_shared/phases/review.md +53 -0
- package/templates/skills/_shared/phases/scoring.md +65 -0
- package/templates/skills/{orc/references → _shared/phases}/security-checklist.md +12 -1
- package/templates/skills/_shared/phases/security.md +55 -0
- package/templates/skills/_shared/phases/ship.md +88 -0
- package/templates/skills/{orc/references/stop-and-resume.md → _shared/phases/stop-resume.md} +169 -160
- package/templates/skills/_shared/phases/summary.md +48 -0
- package/templates/skills/_shared/phases/testgen.md +51 -0
- package/templates/skills/{orc/references/trace-protocol.md → _shared/phases/trace.md} +49 -6
- package/templates/skills/_shared/phases/verify.md +70 -0
- package/templates/skills/{orc/references → _shared/phases}/wave-grouping.md +14 -2
- package/templates/skills/{orc/references → _shared/phases}/wiki-consult.md +13 -1
- package/templates/skills/_shared/read-ladder.md +48 -0
- package/templates/skills/context-combiner/SKILL.md +214 -187
- package/templates/skills/orc/README.md +148 -150
- package/templates/skills/orc/SKILL.md +70 -358
- package/templates/skills/orc/config.md +137 -389
- package/templates/skills/orc/examples/full-run-mock.md +1 -1
- package/templates/skills/orc/references/effort-and-mode.md +16 -18
- package/templates/skills/orc/references/phases/intake.md +47 -0
- package/templates/skills/orc/references/phases/integration.md +19 -0
- package/templates/skills/orc/references/preflight-report.md +4 -4
- package/templates/skills/orc/references/ultra-mode.md +117 -123
- package/templates/skills/orc/schemas/planning-output.md +279 -279
- package/templates/skills/orc/subskills/orc-planner/SKILL.md +260 -264
- package/templates/skills/orc/subskills/orc-pr/stack-gate.md +4 -1
- package/templates/skills/orc-aftermath/SKILL.md +153 -136
- package/templates/skills/orc-analyze/SKILL.md +247 -220
- package/templates/skills/orc-analyze/references/branching.md +51 -51
- package/templates/skills/orc-analyze/references/thin-input.md +1 -1
- package/templates/skills/orc-analyze-mini/SKILL.md +128 -112
- package/templates/skills/orc-boundary/SKILL.md +244 -208
- package/templates/skills/orc-brainstorm/SKILL.md +372 -339
- package/templates/skills/orc-budget/SKILL.md +243 -225
- package/templates/skills/orc-challenge/README.md +1 -1
- package/templates/skills/orc-challenge/SKILL.md +293 -255
- package/templates/skills/orc-challenge/examples/council-full-roster.md +1 -1
- package/templates/skills/orc-claude/SKILL.md +216 -199
- package/templates/skills/orc-diy/README.md +2 -1
- package/templates/skills/orc-diy/SKILL.md +129 -70
- package/templates/skills/orc-diy/references/blocks/analyze.md +1 -1
- package/templates/skills/orc-diy/references/compile.md +21 -7
- package/templates/skills/orc-diy/references/flow-schema.md +2 -2
- package/templates/skills/orc-doc/SKILL.md +44 -7
- package/templates/skills/orc-explain/SKILL.md +19 -0
- package/templates/skills/orc-export/SKILL.md +26 -5
- package/templates/skills/orc-fast/SKILL.md +215 -187
- package/templates/skills/orc-grill/SKILL.md +233 -207
- package/templates/skills/orc-handoff/SKILL.md +223 -204
- package/templates/skills/orc-learn/SKILL.md +176 -156
- package/templates/skills/orc-mini/SKILL.md +41 -23
- package/templates/skills/orc-pact/SKILL.md +250 -218
- package/templates/skills/orc-pattern/SKILL.md +149 -124
- package/templates/skills/orc-poly/SKILL.md +237 -216
- package/templates/skills/orc-poly/references/gather.md +1 -1
- package/templates/skills/orc-pr-driver/SKILL.md +196 -167
- package/templates/skills/orc-pr-driver/references/orc-run-split.md +1 -1
- package/templates/skills/orc-pr-setup/SKILL.md +212 -184
- package/templates/skills/orc-quick/README.md +2 -2
- package/templates/skills/orc-quick/SKILL.md +346 -313
- package/templates/skills/orc-quick/references/dispatch-gate.md +12 -4
- package/templates/skills/orc-retro/SKILL.md +244 -222
- package/templates/skills/orc-retro/examples/retro-mock.md +171 -171
- package/templates/skills/orc-route/SKILL.md +183 -165
- package/templates/skills/orc-verify/SKILL.md +100 -86
- package/templates/skills/orc-wiki/SKILL.md +55 -206
- package/templates/skills/orc-wiki/references/phases/phase-0.md +71 -0
- package/templates/skills/orc-wiki/references/phases/phase-1.md +35 -0
- package/templates/skills/orc-wiki/references/phases/phase-2.md +52 -0
- package/templates/skills/orc-wiki/references/phases/phase-3.md +57 -0
- package/templates/skills/orc-wiki/references/phases/phase-3c.md +36 -0
- package/templates/agents/orc-advisor-fable-5.md +0 -50
- package/templates/agents/orc-analyst-fable-5.md +0 -115
- package/templates/agents/orc-judge-fable-5.md +0 -79
- package/templates/agents/orc-planner-fable-5.md +0 -152
- package/templates/agents/orc-reviewer-fable-5.md +0 -57
- package/templates/skills/_shared/fable5-override.md +0 -56
- package/templates/skills/orc-diy/references/blocks/execution.md +0 -42
- package/templates/skills/orc-diy/references/blocks/mock-example.md +0 -22
- package/templates/skills/orc-diy/references/blocks/planning.md +0 -34
- package/templates/skills/orc-diy/references/blocks/review.md +0 -18
- package/templates/skills/orc-diy/references/blocks/scoring.md +0 -16
- package/templates/skills/orc-diy/references/blocks/security.md +0 -25
- package/templates/skills/orc-diy/references/blocks/ship.md +0 -25
- package/templates/skills/orc-diy/references/blocks/summary.md +0 -18
- package/templates/skills/orc-diy/references/blocks/testgen.md +0 -17
- package/templates/skills/orc-diy/references/blocks/trace.md +0 -28
- package/templates/skills/orc-diy/references/blocks/verify.md +0 -25
package/bin/webui/i18n/TERMS.md
CHANGED
|
@@ -1,134 +1,135 @@
|
|
|
1
|
-
# Panel wording — the term list
|
|
2
|
-
|
|
3
|
-
> One page. It exists so the next two hundred strings stay consistent, because
|
|
4
|
-
> without it a wording pass drifts back within two releases.
|
|
5
|
-
|
|
6
|
-
The panel's **instruction text** is written in Simplified Technical English
|
|
7
|
-
(ASD-STE100 in spirit, not in certification). Instruction text is anything the
|
|
8
|
-
user must **act on**: a button, a field label, a hint, an error, a gate, a
|
|
9
|
-
countdown, an install or connect step.
|
|
10
|
-
|
|
11
|
-
**Rationale prose keeps its voice** and only gets shorter. Sentences like *"It
|
|
12
|
-
stops someone at your keyboard, not someone who copied the file"* draw a
|
|
13
|
-
distinction STE has no vocabulary for; flattened, they become true and useless.
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## The rule that is not negotiable
|
|
18
|
-
|
|
19
|
-
> **NEVER simplify a CLI-computed value.**
|
|
20
|
-
|
|
21
|
-
A state word, an exit reason, a doctor message, a config key, a model id, a
|
|
22
|
-
provider id, a path, a band or a command is **not prose** and is not the panel's
|
|
23
|
-
to rewrite. A simplified state word is a state that does not exist — the same
|
|
24
|
-
failure as a translated config key.
|
|
25
|
-
|
|
26
|
-
This applies to `bin/cli.js --json` output in every panel, in every language.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## How to write an instruction
|
|
31
|
-
|
|
32
|
-
- One instruction per sentence.
|
|
33
|
-
- 20 words maximum.
|
|
34
|
-
- Active voice, present tense, "you" as the subject.
|
|
35
|
-
- The condition comes **before** the action: *"If the test is green, save the key."*
|
|
36
|
-
- No phrasal verb where a single verb exists.
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## One word, one meaning
|
|
41
|
-
|
|
42
|
-
Pick the left column. Never use the right column for the same idea.
|
|
43
|
-
|
|
44
|
-
| use | never |
|
|
45
|
-
|---|---|
|
|
46
|
-
| **connect** (make a connection to a provider) | add, link, hook up, set up |
|
|
47
|
-
| **test** (prove a connection answers) | probe, ping, check, try |
|
|
48
|
-
| **delete** (remove permanently) | remove, forget, drop, clear, wipe |
|
|
49
|
-
| **save** (write and keep) | store, persist, remember |
|
|
50
|
-
| **enable** / **disable** | turn on, turn off, switch on, activate |
|
|
51
|
-
| **configure** | set up, sort out |
|
|
52
|
-
| **run** (execute a command) | fire, kick off, trigger, invoke |
|
|
53
|
-
| **open** (a file, a window, a terminal) | bring up, pull up, launch |
|
|
54
|
-
| **install** | get, grab, pull |
|
|
55
|
-
| **refresh** (read again) | reload, re-fetch, sync |
|
|
56
|
-
| **stop** (end before it finishes) | halt, abort, kill, cancel |
|
|
57
|
-
| **wait** | hold, pause, hang on |
|
|
58
|
-
| **choose** | pick, select from |
|
|
59
|
-
| **show** | display, render, surface |
|
|
60
|
-
| **key** (a credential value) | token, secret, api key |
|
|
61
|
-
| **passphrase** (what opens the vault) | password, phrase, secret |
|
|
62
|
-
| **deadline** (when a saved passphrase ends) | expiry, timeout, TTL, lifetime |
|
|
63
|
-
| **connection** (a configured profile) | profile, endpoint, provider link |
|
|
64
|
-
| **document** | doc, file, artefact |
|
|
65
|
-
| **section** | part, chunk, block |
|
|
66
|
-
| **command** | line, invocation |
|
|
67
|
-
|
|
68
|
-
Two exceptions, both because they are the CLI's own words and the rule above
|
|
69
|
-
outranks this table:
|
|
70
|
-
|
|
71
|
-
- `profile` where the CLI prints `profile`;
|
|
72
|
-
- `ping`, `probe` and `forget` where they are the **name of a command**
|
|
73
|
-
(`orc extra ping`, `orc extra session --forget`).
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## Where each rule applies
|
|
78
|
-
|
|
79
|
-
| STE, strictly | keep the voice |
|
|
80
|
-
|---|---|
|
|
81
|
-
| button and control labels | the honesty sentences (the passphrase deadline, `tok=none`, "zero reroutes is not evidence") |
|
|
82
|
-
| field labels and hints | the boundary card |
|
|
83
|
-
| error and refusal text | the "why this design" notes |
|
|
84
|
-
| every gate and countdown sentence | trace-format explanations |
|
|
85
|
-
| install and connect steps | |
|
|
86
|
-
| the passphrase modal, **end to end** — it is a procedure and it cannot be dismissed | |
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Keys that keep their voice
|
|
91
|
-
|
|
92
|
-
The default is STE: **a new key is instruction text unless it is listed here.**
|
|
93
|
-
Opting out is a deliberate line in a diff somebody reads, which is the same
|
|
94
|
-
shape as the contract-lint table.
|
|
95
|
-
|
|
96
|
-
These are the sentences doing the most work in this subsystem, and STE has no
|
|
97
|
-
vocabulary for the distinctions they draw. Flattened, they become true and
|
|
98
|
-
useless. The test parses this fenced list by name.
|
|
99
|
-
|
|
100
|
-
```prose-keys
|
|
101
|
-
extra.boundary.leaves
|
|
102
|
-
extra.boundary.whom
|
|
103
|
-
extra.boundary.cannot
|
|
104
|
-
extra.boundary.fence
|
|
105
|
-
extra.boundary.probe
|
|
106
|
-
extra.providers.subWhy
|
|
107
|
-
extra.providers.noModels
|
|
108
|
-
extra.providers.stale
|
|
109
|
-
extra.routing.gapWhy
|
|
110
|
-
extra.gate.hiddenWhy
|
|
111
|
-
extra.cost.noRate
|
|
112
|
-
extra.cost.sourcesWhy
|
|
113
|
-
extra.live.noReport
|
|
114
|
-
extra.tools.subWhy
|
|
115
|
-
extra.tools.altNone
|
|
116
|
-
extra.tools.neverElevates
|
|
117
|
-
extra.add.vaultWarn
|
|
118
|
-
extra.session.honesty
|
|
119
|
-
extra.lanes.subWhy
|
|
120
|
-
extra.guard.subWhy
|
|
121
|
-
extra.recovery.noteWhy
|
|
122
|
-
extra.
|
|
123
|
-
extra.slots.
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
—
|
|
134
|
-
|
|
1
|
+
# Panel wording — the term list
|
|
2
|
+
|
|
3
|
+
> One page. It exists so the next two hundred strings stay consistent, because
|
|
4
|
+
> without it a wording pass drifts back within two releases.
|
|
5
|
+
|
|
6
|
+
The panel's **instruction text** is written in Simplified Technical English
|
|
7
|
+
(ASD-STE100 in spirit, not in certification). Instruction text is anything the
|
|
8
|
+
user must **act on**: a button, a field label, a hint, an error, a gate, a
|
|
9
|
+
countdown, an install or connect step.
|
|
10
|
+
|
|
11
|
+
**Rationale prose keeps its voice** and only gets shorter. Sentences like *"It
|
|
12
|
+
stops someone at your keyboard, not someone who copied the file"* draw a
|
|
13
|
+
distinction STE has no vocabulary for; flattened, they become true and useless.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## The rule that is not negotiable
|
|
18
|
+
|
|
19
|
+
> **NEVER simplify a CLI-computed value.**
|
|
20
|
+
|
|
21
|
+
A state word, an exit reason, a doctor message, a config key, a model id, a
|
|
22
|
+
provider id, a path, a band or a command is **not prose** and is not the panel's
|
|
23
|
+
to rewrite. A simplified state word is a state that does not exist — the same
|
|
24
|
+
failure as a translated config key.
|
|
25
|
+
|
|
26
|
+
This applies to `bin/cli.js --json` output in every panel, in every language.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## How to write an instruction
|
|
31
|
+
|
|
32
|
+
- One instruction per sentence.
|
|
33
|
+
- 20 words maximum.
|
|
34
|
+
- Active voice, present tense, "you" as the subject.
|
|
35
|
+
- The condition comes **before** the action: *"If the test is green, save the key."*
|
|
36
|
+
- No phrasal verb where a single verb exists.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## One word, one meaning
|
|
41
|
+
|
|
42
|
+
Pick the left column. Never use the right column for the same idea.
|
|
43
|
+
|
|
44
|
+
| use | never |
|
|
45
|
+
|---|---|
|
|
46
|
+
| **connect** (make a connection to a provider) | add, link, hook up, set up |
|
|
47
|
+
| **test** (prove a connection answers) | probe, ping, check, try |
|
|
48
|
+
| **delete** (remove permanently) | remove, forget, drop, clear, wipe |
|
|
49
|
+
| **save** (write and keep) | store, persist, remember |
|
|
50
|
+
| **enable** / **disable** | turn on, turn off, switch on, activate |
|
|
51
|
+
| **configure** | set up, sort out |
|
|
52
|
+
| **run** (execute a command) | fire, kick off, trigger, invoke |
|
|
53
|
+
| **open** (a file, a window, a terminal) | bring up, pull up, launch |
|
|
54
|
+
| **install** | get, grab, pull |
|
|
55
|
+
| **refresh** (read again) | reload, re-fetch, sync |
|
|
56
|
+
| **stop** (end before it finishes) | halt, abort, kill, cancel |
|
|
57
|
+
| **wait** | hold, pause, hang on |
|
|
58
|
+
| **choose** | pick, select from |
|
|
59
|
+
| **show** | display, render, surface |
|
|
60
|
+
| **key** (a credential value) | token, secret, api key |
|
|
61
|
+
| **passphrase** (what opens the vault) | password, phrase, secret |
|
|
62
|
+
| **deadline** (when a saved passphrase ends) | expiry, timeout, TTL, lifetime |
|
|
63
|
+
| **connection** (a configured profile) | profile, endpoint, provider link |
|
|
64
|
+
| **document** | doc, file, artefact |
|
|
65
|
+
| **section** | part, chunk, block |
|
|
66
|
+
| **command** | line, invocation |
|
|
67
|
+
|
|
68
|
+
Two exceptions, both because they are the CLI's own words and the rule above
|
|
69
|
+
outranks this table:
|
|
70
|
+
|
|
71
|
+
- `profile` where the CLI prints `profile`;
|
|
72
|
+
- `ping`, `probe` and `forget` where they are the **name of a command**
|
|
73
|
+
(`orc extra ping`, `orc extra session --forget`).
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Where each rule applies
|
|
78
|
+
|
|
79
|
+
| STE, strictly | keep the voice |
|
|
80
|
+
|---|---|
|
|
81
|
+
| button and control labels | the honesty sentences (the passphrase deadline, `tok=none`, "zero reroutes is not evidence") |
|
|
82
|
+
| field labels and hints | the boundary card |
|
|
83
|
+
| error and refusal text | the "why this design" notes |
|
|
84
|
+
| every gate and countdown sentence | trace-format explanations |
|
|
85
|
+
| install and connect steps | |
|
|
86
|
+
| the passphrase modal, **end to end** — it is a procedure and it cannot be dismissed | |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Keys that keep their voice
|
|
91
|
+
|
|
92
|
+
The default is STE: **a new key is instruction text unless it is listed here.**
|
|
93
|
+
Opting out is a deliberate line in a diff somebody reads, which is the same
|
|
94
|
+
shape as the contract-lint table.
|
|
95
|
+
|
|
96
|
+
These are the sentences doing the most work in this subsystem, and STE has no
|
|
97
|
+
vocabulary for the distinctions they draw. Flattened, they become true and
|
|
98
|
+
useless. The test parses this fenced list by name.
|
|
99
|
+
|
|
100
|
+
```prose-keys
|
|
101
|
+
extra.boundary.leaves
|
|
102
|
+
extra.boundary.whom
|
|
103
|
+
extra.boundary.cannot
|
|
104
|
+
extra.boundary.fence
|
|
105
|
+
extra.boundary.probe
|
|
106
|
+
extra.providers.subWhy
|
|
107
|
+
extra.providers.noModels
|
|
108
|
+
extra.providers.stale
|
|
109
|
+
extra.routing.gapWhy
|
|
110
|
+
extra.gate.hiddenWhy
|
|
111
|
+
extra.cost.noRate
|
|
112
|
+
extra.cost.sourcesWhy
|
|
113
|
+
extra.live.noReport
|
|
114
|
+
extra.tools.subWhy
|
|
115
|
+
extra.tools.altNone
|
|
116
|
+
extra.tools.neverElevates
|
|
117
|
+
extra.add.vaultWarn
|
|
118
|
+
extra.session.honesty
|
|
119
|
+
extra.lanes.subWhy
|
|
120
|
+
extra.guard.subWhy
|
|
121
|
+
extra.recovery.noteWhy
|
|
122
|
+
extra.demotion.noteWhy
|
|
123
|
+
extra.slots.subWhy
|
|
124
|
+
extra.slots.keepsSlotWhy
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## What is NOT checked automatically
|
|
130
|
+
|
|
131
|
+
There is no STE checker in this repo and there is not going to be one: a real
|
|
132
|
+
one needs the approved dictionary, which is licensed. A test asserts the cheap
|
|
133
|
+
half — no string in the STE set is over 20 words, and no banned synonym appears
|
|
134
|
+
— and the rest is this page plus review. A checker that half-works would be
|
|
135
|
+
worse than none, because people would trust it.
|