amicus 4.9.1 → 4.9.3
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/plugin.json +1 -1
- package/CHANGELOG.md +139 -0
- package/README.md +1 -1
- package/bin/amicus.js +6 -0
- package/docs/configuration.md +52 -0
- package/docs/usage.md +4 -1
- package/electron/main.js +25 -2
- package/electron/setup-ui-alias-groups.js +161 -0
- package/electron/setup-ui-alias-script.js +70 -4
- package/electron/setup-ui-aliases.js +25 -21
- package/electron/setup-ui.js +11 -1
- package/package.json +1 -1
- package/schemas/council-verdict.schema.json +10 -0
- package/src/cli-handlers-doctor.js +9 -16
- package/src/cli-handlers.js +17 -1
- package/src/council/run-retry-window.js +62 -0
- package/src/council/run-retry.js +7 -10
- package/src/council/run-stage2.js +47 -3
- package/src/council/tally.js +12 -0
- package/src/council/verdict-seats-reviewed.js +60 -0
- package/src/council/verdict.js +23 -0
- package/src/headless.js +90 -9
- package/src/utils/api-key-validation.js +183 -94
- package/src/utils/config.js +43 -1
- package/src/utils/degrade.js +8 -0
- package/src/utils/doctor-credit-check.js +61 -0
- package/src/utils/doctor-key-auth-check.js +271 -0
- package/src/utils/live-probes.js +53 -0
- package/src/utils/model-fetcher.js +2 -0
- package/src/utils/model-output-limit.js +124 -0
- package/src/utils/openrouter-credit.js +104 -0
- package/src/utils/session-status.js +73 -0
- package/src/utils/ttft.js +17 -6
package/src/utils/ttft.js
CHANGED
|
@@ -9,12 +9,23 @@
|
|
|
9
9
|
* blank the way `utils/result-schema.js`'s already is.
|
|
10
10
|
*
|
|
11
11
|
* `ttftMs` is produced once — in `src/headless.js`'s poll loop, as a
|
|
12
|
-
* `Date.now()` delta — and then passes
|
|
12
|
+
* `Date.now()` delta — and then passes five EMIT GATES on its way to a
|
|
13
13
|
* document: `headless.js`'s three returns, `sidecar/fanout-leg.js`'s leg patch,
|
|
14
|
-
* `utils/result-schema.js :: buildRunResult`,
|
|
15
|
-
* `council/run-stats-entry.js :: buildRunStatsEntry
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* `utils/result-schema.js :: buildRunResult`,
|
|
15
|
+
* `council/run-stats-entry.js :: buildRunStatsEntry`, and
|
|
16
|
+
* `council/tally.js :: tally`'s runStats re-projection. Every gate used to spell
|
|
17
|
+
* its own `typeof x === 'number'` test, which is five chances to disagree and
|
|
18
|
+
* five ways to publish a value both schemas forbid.
|
|
19
|
+
*
|
|
20
|
+
* ⚠️ The fifth gate is different in KIND from the four above it, which is why it
|
|
21
|
+
* was missed for a release (#202). Those four are PRODUCERS — each writes the
|
|
22
|
+
* field onto a document it is building. `tally.js` is a RE-PROJECTION: it copies
|
|
23
|
+
* an already-built row through a hand-maintained allowlist, so omitting the field
|
|
24
|
+
* there does not fail to produce it, it DESTROYS one already produced. Between
|
|
25
|
+
* v4.9.0 and v4.9.1 that is exactly what happened — the probe wrote real values
|
|
26
|
+
* into tally-input.json and every one was stripped before tally.json and
|
|
27
|
+
* verdict.json, the only run artifacts CI uploads (MEASURED, run 33030485388:
|
|
28
|
+
* 11 of 12 rows carried it going in, 0 of 12 coming out).
|
|
18
29
|
*
|
|
19
30
|
* ⚠️ `typeof` is not the schema's contract. `schemas/run.schema.json` and
|
|
20
31
|
* `schemas/council-tally.schema.json` both declare this field
|
|
@@ -35,7 +46,7 @@
|
|
|
35
46
|
* already means "no honest measurement was made", and a dishonest number is
|
|
36
47
|
* exactly that. `0` itself stays a real, emittable measurement.
|
|
37
48
|
*
|
|
38
|
-
* ⚠️
|
|
49
|
+
* ⚠️ Four of the five gates import this. The one that does not,
|
|
39
50
|
* `council/run-stats-entry.js`, is pinned REQUIRE-FREE (P3,
|
|
40
51
|
* tests/council/run-stats-entry.test.js — the pin fires on the character
|
|
41
52
|
* sequence anywhere in that file, comments included) so require-free consumers
|