@ai-ecoverse/slicc-bios 1.17.0 → 1.17.2
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
CHANGED
|
@@ -519,7 +519,7 @@ npm run lint
|
|
|
519
519
|
|
|
520
520
|
`npm start` serves `src/` on <http://127.0.0.1:8080/>. There is no build step. To change what the BIOS installs, edit `src/packages/package.json` and refresh both lockfiles in that directory with `npm install --package-lock-only` and `npx pnpm@12 install --lockfile-only`; npm and pnpm resolve the dependency tree, the BIOS and the updater only replay it. A test fails when the two lockfiles pin different packages. `npm install` also installs the [lefthook](https://lefthook.dev) pre-commit hook, which runs Biome, the no-comment check, the no-unit-tests-in-git guard, and the diff-coverage check described below.
|
|
521
521
|
|
|
522
|
-
`npm test` runs the integration tests with `node --test` against Chromium (fetched by `playwright-core`), driven directly over the DevTools protocol by the [harness from slicc-shared-web](https://github.com/ai-ecoverse/slicc-shared-web#integration-test-harness); `test/integration/chrome.mjs` only says what to serve and which CDN requests to intercept. Every run leaves behind:
|
|
522
|
+
`npm test` runs the integration tests with `node --test` against Chromium (fetched by `playwright-core`), driven directly over the DevTools protocol by the [harness from slicc-shared-web](https://github.com/ai-ecoverse/slicc-shared-web#integration-test-harness); `test/integration/chrome.mjs` only says what to serve and which CDN requests to intercept. It sets `SLICC_CDP_PORTS=9300-9309` unless it's already set, for every test run (`npm test`, `test:cert`, the canary's shards), and CI, the canary and the cert review set it for the whole job, so nothing in a test run attaches to a developer's own Chrome on 127.0.0.1:9222–9229 (slicc-cdp 1.27 and later look there by default). Every run leaves behind:
|
|
523
523
|
|
|
524
524
|
- `coverage/` – V8 coverage of the page, the shared worker, and the service worker as `lcov.info` plus an HTML report.
|
|
525
525
|
- `artifacts/<suite>/<test>/` – a screenshot of each tab at the end of the test, a `console.log` of every page and worker, and the minidump of any renderer or browser crash.
|
|
@@ -531,9 +531,9 @@ No test calls a real model. Every test serves an empty `packages/agent/` project
|
|
|
531
531
|
|
|
532
532
|
### CI
|
|
533
533
|
|
|
534
|
-
`ci.yml` runs on pull requests, the merge queue and pushes to `main`. A `ci / plan` job ([`scripts/ci/plan.mjs`](scripts/ci/plan.mjs)) splits the integration tests into 14 shards: each `guard-set-*.test.mjs` becomes one item per detach variant of the pinned guard vectors (run with `GUARD_VARIANTS`), every other test file is one item, and the items go in a random order, seeded with the run id, to the least-loaded shard by the times in [`scripts/ci/durations.json`](scripts/ci/durations.json), the longest items first. Each shard (`ci / integration (s01)` …) runs its items with [`scripts/ci/shard.mjs`](scripts/ci/shard.mjs), one `node --test` per set
|
|
534
|
+
`ci.yml` runs on pull requests, the merge queue and pushes to `main`. A `ci / plan` job ([`scripts/ci/plan.mjs`](scripts/ci/plan.mjs)) splits the integration tests into 14 shards: each `guard-set-*.test.mjs` becomes one item per detach variant of the pinned guard vectors (run with `GUARD_VARIANTS`), every other test file is one item, and the items go in a random order, seeded with the run id, to the least-loaded shard by the times in [`scripts/ci/durations.json`](scripts/ci/durations.json), the longest items first. Each shard (`ci / integration (s01)` …) runs its items with [`scripts/ci/shard.mjs`](scripts/ci/shard.mjs), one `node --test` per guard-set file with its variants (the other files join the first), counting a test the guard-set helper reports for that run's guard-set file, keeps the harness's artifacts and coverage from every run, and writes its verdict line. `ci / test`, the required check, fails without a passing verdict from every shard the plan named.
|
|
535
535
|
|
|
536
|
-
The pull request's number mod 4 picks an arm of a two-by-two experiment, for its runs and its merge queue runs alike (pushes to `main` are control): 0 is control, 1 cancels the other shards when one fails (`fail-fast`), 2 runs the files with a failing test once more and passes the shard when they pass (`retry`, skipped when it wouldn't fit the shard's 62 minutes), and 3 does both. The plan, with the arm, the seed and each shard's items, is in the job summary and the `experiment-plan` artifact; each shard's record (`artifacts/experiment/<shard>.json`: its groups, the first run and any retry with their exit codes, counts and failed files) is in its `integration-<shard>` artifact. After 100 pull requests the arms are compared on time to merge, merge queue failures, and the time a pull request waits on CI.
|
|
536
|
+
The pull request's number mod 4 picks an arm of a two-by-two experiment, for its runs and its merge queue runs alike (pushes to `main` are control): 0 is control, 1 cancels the other shards when one fails (`fail-fast`), 2 runs the files with a failing test once more and passes the shard when they pass (`retry`, skipped when it wouldn't fit the shard's 62 minutes), and 3 does both. The plan, with the arm, the seed and each shard's items, is in the job summary and the `experiment-plan` artifact; each shard's record (`artifacts/experiment/<shard>.json`: its groups, the first run and any retry with their exit codes, counts and failed files) is in its `integration-<shard>` artifact, with each item's time and every test that failed and then passed on the retry. `ci / test` joins them into `summary.json` (the `experiment-summary` artifact), and for each test that flipped it files an issue labeled `flaky-test`, or comments on the open one for that test, with the run, the arm, the shard and the first run's error ([`scripts/ci/summary.mjs`](scripts/ci/summary.mjs)); this step never fails the check, and a fork's read-only token files nothing. `node scripts/ci/durations.mjs` refreshes `durations.json` with the median times of the last 40 runs' summaries. After 100 pull requests the arms are compared on time to merge, merge queue failures, and the time a pull request waits on CI.
|
|
537
537
|
|
|
538
538
|
## Hosting
|
|
539
539
|
|
package/package.json
CHANGED
package/src/packages/certs.json
CHANGED
|
@@ -91,6 +91,10 @@
|
|
|
91
91
|
"integrity": "sha512-YSmqvEOQMcwu3aQrPZ4W1XpHl+O7Sm4QE7MOtG4wnfjx8go2XakagTHrPiPE199GQ2QuQAJE+dluRNZn3bB4cg==",
|
|
92
92
|
"sha256": "67fa941ce0afe790b60ade22c0014658fb5d0ef993e35437c43144361f3f82b3"
|
|
93
93
|
},
|
|
94
|
+
"@ai-ecoverse/slicc-cdp@1.27.2": {
|
|
95
|
+
"integrity": "sha512-u/uqQOoXYeFG408UDpFwz4mvUY1ZY0DfFLHJ0SekBSLiI+U6xZusnOCL+rBYGxlA4Wlh5GcyI3pAawSwChtGBA==",
|
|
96
|
+
"sha256": "5590b782ef16297828a55083e79333a73733a96c0447f59174fb798ce5e8bfb7"
|
|
97
|
+
},
|
|
94
98
|
"@ai-ecoverse/slicc-clipboard@1.0.2": {
|
|
95
99
|
"integrity": "sha512-p7b1h85qkiU0LKjNLCLiU7GVXjGigkyR2+VUCInM1cZo2yjLFxr7tGAOO09e6OG9nB7XKiQn3W88wb3s0gxy+g==",
|
|
96
100
|
"sha256": "1bd73c6ae4c5c0dc149ba6a301e7615a78bf4b97ff88c5b0f6eb7d8e270588aa"
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"name": "slicc-bios-packages",
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"@ai-ecoverse/slicc-browsers": "1.8.4",
|
|
10
|
-
"@ai-ecoverse/slicc-cdp": "1.
|
|
10
|
+
"@ai-ecoverse/slicc-cdp": "1.27.2",
|
|
11
11
|
"@ai-ecoverse/slicc-clipboard": "1.0.2",
|
|
12
12
|
"@ai-ecoverse/slicc-kernel": "1.124.2",
|
|
13
13
|
"@ai-ecoverse/slicc-spectrum": "1.86.4",
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
"node_modules/@ai-ecoverse/slicc-cdp": {
|
|
49
|
-
"version": "1.
|
|
50
|
-
"resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-cdp/-/slicc-cdp-1.
|
|
51
|
-
"integrity": "sha512-
|
|
49
|
+
"version": "1.27.2",
|
|
50
|
+
"resolved": "https://registry.npmjs.org/@ai-ecoverse/slicc-cdp/-/slicc-cdp-1.27.2.tgz",
|
|
51
|
+
"integrity": "sha512-u/uqQOoXYeFG408UDpFwz4mvUY1ZY0DfFLHJ0SekBSLiI+U6xZusnOCL+rBYGxlA4Wlh5GcyI3pAawSwChtGBA==",
|
|
52
52
|
"license": "Apache-2.0",
|
|
53
53
|
"workspaces": [
|
|
54
54
|
"packages/sliccy-browser"
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"description": "Packages the BIOS installs from npm into OPFS, pinned by package-lock.json and pnpm-lock.yaml",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@ai-ecoverse/slicc-browsers": "1.8.4",
|
|
7
|
-
"@ai-ecoverse/slicc-cdp": "1.
|
|
7
|
+
"@ai-ecoverse/slicc-cdp": "1.27.2",
|
|
8
8
|
"@ai-ecoverse/slicc-clipboard": "1.0.2",
|
|
9
9
|
"@ai-ecoverse/slicc-kernel": "1.124.2",
|
|
10
10
|
"@ai-ecoverse/slicc-spectrum": "1.86.4",
|
|
@@ -12,8 +12,8 @@ importers:
|
|
|
12
12
|
specifier: 1.8.4
|
|
13
13
|
version: 1.8.4
|
|
14
14
|
'@ai-ecoverse/slicc-cdp':
|
|
15
|
-
specifier: 1.
|
|
16
|
-
version: 1.
|
|
15
|
+
specifier: 1.27.2
|
|
16
|
+
version: 1.27.2
|
|
17
17
|
'@ai-ecoverse/slicc-clipboard':
|
|
18
18
|
specifier: 1.0.2
|
|
19
19
|
version: 1.0.2
|
|
@@ -99,8 +99,8 @@ packages:
|
|
|
99
99
|
resolution: {integrity: sha512-SQGv6pPAsMvnhNI2L7ShDukO2hD61ZZotsTq0PmBVyoglwThB3loSFdUtjUqGI3z6Ds83nZ6UBOSoJVPmqF4Uw==}
|
|
100
100
|
engines: {node: '>=24'}
|
|
101
101
|
|
|
102
|
-
'@ai-ecoverse/slicc-cdp@1.
|
|
103
|
-
resolution: {integrity: sha512-
|
|
102
|
+
'@ai-ecoverse/slicc-cdp@1.27.2':
|
|
103
|
+
resolution: {integrity: sha512-u/uqQOoXYeFG408UDpFwz4mvUY1ZY0DfFLHJ0SekBSLiI+U6xZusnOCL+rBYGxlA4Wlh5GcyI3pAawSwChtGBA==}
|
|
104
104
|
engines: {node: '>=24'}
|
|
105
105
|
hasBin: true
|
|
106
106
|
|
|
@@ -202,7 +202,7 @@ snapshots:
|
|
|
202
202
|
|
|
203
203
|
'@ai-ecoverse/slicc-browsers@1.8.4': {}
|
|
204
204
|
|
|
205
|
-
'@ai-ecoverse/slicc-cdp@1.
|
|
205
|
+
'@ai-ecoverse/slicc-cdp@1.27.2': {}
|
|
206
206
|
|
|
207
207
|
'@ai-ecoverse/slicc-clipboard@1.0.2': {}
|
|
208
208
|
|