@ai-ecoverse/slicc-kernel 1.136.6 → 1.136.8
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 +1 -1
- package/dist/kernel-worker.js +1 -1
- package/dist/node-process-worker.js +15 -8
- package/dist/node-process-worker.js.map +2 -2
- package/dist/node.js +1 -1
- package/dist/process-worker.js +15 -8
- package/dist/process-worker.js.map +2 -2
- package/dist/types/process/process-runtime.d.ts +4 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1219,7 +1219,7 @@ Releases are cut by semantic-release on every push to `main`, in two jobs, and o
|
|
|
1219
1219
|
|
|
1220
1220
|
Every change is certified in its pull request, before it merges (`cert-review-pr.yml`, next section), and `cert-review` is a required check of the merge queue, so every commit on `main`, and every release built from it, was certified first. A release is then **verified on npm** (`release / verify on npm` in `release.yml`, `tools/cert-review/verify.mjs`), in code, for every tag the run made:
|
|
1221
1221
|
|
|
1222
|
-
- It waits up to an hour for npm to serve the version (an accepted publish can take a while to appear; 1.125.4 took 55 min). `release-recover` logs `npm publish`'s own output every time, and says PASS for a version it published only once npm serves it (the tarball answers) with `dist.integrity` equal to the tarball it packed; a version npm took but doesn't serve so after 25 min is `release-recover: INCOMPLETE`, and the publish job fails (#1228: 1.134.2 was taken, never served, and still read as PASS). A version semantic-release itself just published is handed to this job instead. A version npm still doesn't serve after the hour, and doesn't list, while a newer one of ours is its `latest`, ends with `verify: SKIPPED <name>@<version>: never served by npm; superseded by <latest>` (the gate takes SKIPPED like PASS); only after the whole wait, since a slow version can appear late and must not go unverified. SKIPPED writes no certified line, so nothing downstream reads it as certified; if npm serves a skipped version later, the coordinator's merge watchdog notes it within 10 min (any version that appears below npm's `latest`), and the coordinator re-runs `release / verify on npm` in that version's Release run for the normal verdict, the certified line or the supply-chain alert. One npm still doesn't serve, with nothing newer or a version list it can't read, is a "not served yet, re-run" failure, never a supply-chain alert. It then downloads the tarball and checks `dist.integrity` (sha512), the SLSA v1 provenance (the tarball's sha512 is its subject; `release.yml` on `refs/heads/main`, a GitHub-hosted builder; `gitCommit` = `gitHead` = the tag, on `main`), and `npm audit signatures`. npm serves a version's attestations a little after the version itself, so a 404 from the attestations, a missing `dist.attestations`, an `npm view` or network error while looking for them, or `npm audit signatures`' E404 on them, is retried within the same hour: it's a supply-chain alert only once the version has been served for 30 min, its packument has stopped changing for 10, and the attestations still answer 404, or the hour has run out. Any other status, or attestations that don't match, fail at once. A version that `release-recover.mjs` skipped because npm's `latest` is newer (#837) has nothing to verify.
|
|
1222
|
+
- It waits up to an hour for npm to serve the version (an accepted publish can take a while to appear; 1.125.4 took 55 min). `release-recover` logs `npm publish`'s own output every time, and says PASS for a version it published only once npm serves it (the tarball answers) with `dist.integrity` equal to the tarball it packed; the reference is the `integrity` of `npm publish --json`'s own report, the bytes npm uploaded (a separate pack isn't byte-identical; 1.136.1 was served fine and still read as not served), and it publishes from the folder, never a tarball, so the packument keeps `gitHead`; an exit 0 without a report fails, and a version npm says is already published has no report, so it's only checked for being served; a version npm took but doesn't serve so after 25 min is `release-recover: INCOMPLETE`, and the publish job fails (#1228: 1.134.2 was taken, never served, and still read as PASS). A version semantic-release itself just published is handed to this job instead. A version npm still doesn't serve after the hour, and doesn't list, while a newer one of ours is its `latest`, ends with `verify: SKIPPED <name>@<version>: never served by npm; superseded by <latest>` (the gate takes SKIPPED like PASS); only after the whole wait, since a slow version can appear late and must not go unverified. SKIPPED writes no certified line, so nothing downstream reads it as certified; if npm serves a skipped version later, the coordinator's merge watchdog notes it within 10 min (any version that appears below npm's `latest`), and the coordinator re-runs `release / verify on npm` in that version's Release run for the normal verdict, the certified line or the supply-chain alert. One npm still doesn't serve, with nothing newer or a version list it can't read, is a "not served yet, re-run" failure, never a supply-chain alert. It then downloads the tarball and checks `dist.integrity` (sha512), the SLSA v1 provenance (the tarball's sha512 is its subject; `release.yml` on `refs/heads/main`, a GitHub-hosted builder; `gitCommit` = `gitHead` = the tag, on `main`), and `npm audit signatures`. npm serves a version's attestations a little after the version itself, so a 404 from the attestations, a missing `dist.attestations`, an `npm view` or network error while looking for them, or `npm audit signatures`' E404 on them, is retried within the same hour: it's a supply-chain alert only once the version has been served for 30 min, its packument has stopped changing for 10, and the attestations still answer 404, or the hour has run out. Any other status, or attestations that don't match, fail at once. A version that `release-recover.mjs` skipped because npm's `latest` is newer (#837) has nothing to verify.
|
|
1223
1223
|
- It then writes `certified @ai-ecoverse/slicc-kernel@<v> sha256=<64 hex> (covers <first>–<v>; ci: <run>; pr-certified: <each merged pull request's cert-review at its merge>; known: <open known-issue issues>)` into the GitHub release's notes, between `<!-- cert-verify -->` markers. homescoop's ci reads exactly that prefix and re-hashes the npm tarball against it. `covers` starts after the last version npm serves, so a skipped version is covered by the next. Notes that already carry the identical line stay unchanged. A pull request's `cert-review` is the newest finished one (success, failure or error) on its head at or before its merge, or the newest pending one if none had finished. A re-review that a later `ready_for_review`, `reopened` or `cert-review-approved` event starts on the same head, still pending at the merge or ending after it, doesn't change what the merge queue saw, and a status posted after the merge can't change a release's line.
|
|
1224
1224
|
- A mismatch writes no line. The job is red with a `supply-chain alert`, and so is a line already in the notes with another sha256.
|
|
1225
1225
|
|
package/dist/kernel-worker.js
CHANGED
|
@@ -7098,7 +7098,7 @@ function satisfies(version, range2) {
|
|
|
7098
7098
|
}
|
|
7099
7099
|
|
|
7100
7100
|
// src/version.ts
|
|
7101
|
-
var KERNEL_VERSION = true ? "1.136.
|
|
7101
|
+
var KERNEL_VERSION = true ? "1.136.8" : "0.0.0-dev";
|
|
7102
7102
|
var OS_RELEASE = "6.0.0-slicc";
|
|
7103
7103
|
function procVersion() {
|
|
7104
7104
|
return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
|
|
@@ -6699,7 +6699,7 @@ var KERNEL_VERSION, OS_RELEASE;
|
|
|
6699
6699
|
var init_version = __esm({
|
|
6700
6700
|
"src/version.ts"() {
|
|
6701
6701
|
"use strict";
|
|
6702
|
-
KERNEL_VERSION = true ? "1.136.
|
|
6702
|
+
KERNEL_VERSION = true ? "1.136.8" : "0.0.0-dev";
|
|
6703
6703
|
OS_RELEASE = "6.0.0-slicc";
|
|
6704
6704
|
}
|
|
6705
6705
|
});
|
|
@@ -13843,11 +13843,19 @@ function identify(transport, init) {
|
|
|
13843
13843
|
function liveParent(imports, parent, glue) {
|
|
13844
13844
|
wrapImport(imports, "getppid", glue, () => parent);
|
|
13845
13845
|
}
|
|
13846
|
-
function
|
|
13846
|
+
function seedInherited(transport, seeded) {
|
|
13847
|
+
const bits = inheritedSignals(transport);
|
|
13848
|
+
seeded.bits |= bits;
|
|
13849
|
+
return bits;
|
|
13850
|
+
}
|
|
13851
|
+
function signalMasks(m, seeded = { bits: 0 }) {
|
|
13847
13852
|
const mask = m.sliccSigMask;
|
|
13848
13853
|
const caught = mask?.(0) ?? -1;
|
|
13849
13854
|
if (!mask || caught === -1) return null;
|
|
13850
|
-
|
|
13855
|
+
const ignored = mask(1);
|
|
13856
|
+
const defaults = seeded.bits & ~ignored & ~caught;
|
|
13857
|
+
seeded.bits &= ~defaults;
|
|
13858
|
+
return { caught, ignored, restart: mask(2), ...defaults ? { defaults } : {} };
|
|
13851
13859
|
}
|
|
13852
13860
|
function reportGrowth(imports, publish, glue) {
|
|
13853
13861
|
wrapImport(imports, "resizeHeap", glue, (resize) => (...args) => {
|
|
@@ -13951,13 +13959,12 @@ function sigpipeSpared(transport) {
|
|
|
13951
13959
|
return r.ok && !(r.kind === "json" && r.json === "terminate");
|
|
13952
13960
|
}
|
|
13953
13961
|
async function runWasmProcess(init, port3, deps = {}) {
|
|
13962
|
+
const seeded = { bits: 0 };
|
|
13954
13963
|
const signals = new SignalGate(
|
|
13955
|
-
createSyncSabTransport(init.sab, port3, {
|
|
13956
|
-
memory: () => memory?.buffer.byteLength ?? 0
|
|
13957
|
-
}),
|
|
13964
|
+
createSyncSabTransport(init.sab, port3, { memory: () => memory?.buffer.byteLength ?? 0 }),
|
|
13958
13965
|
new Int32Array(init.sab, 0, SAB_HEADER_I32),
|
|
13959
13966
|
{
|
|
13960
|
-
masks: () => signalMasks(module),
|
|
13967
|
+
masks: () => signalMasks(module, seeded),
|
|
13961
13968
|
raise: (sig) => module.sliccRaise?.(sig),
|
|
13962
13969
|
timer: (which) => {
|
|
13963
13970
|
const running2 = module;
|
|
@@ -13990,7 +13997,7 @@ async function runWasmProcess(init, port3, deps = {}) {
|
|
|
13990
13997
|
sliccPid: id.pid,
|
|
13991
13998
|
sliccPpid: id.ppid,
|
|
13992
13999
|
sliccEnv: init.env,
|
|
13993
|
-
sliccKernel: { sigInherited: () =>
|
|
14000
|
+
sliccKernel: { sigInherited: () => seedInherited(transport, seeded) },
|
|
13994
14001
|
print: say(1),
|
|
13995
14002
|
printErr: say(2),
|
|
13996
14003
|
instantiateWasm(imports, done) {
|