sibyl-system 1.5.1 → 1.6.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/README.md +9 -1
- package/dist/cli.js +4 -4
- package/dist/index.js +6 -6
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -223,6 +223,13 @@ Summary:
|
|
|
223
223
|
unreachable to group/other regardless of umask — v1.4.0 private-dir law) —
|
|
224
224
|
role homes, transcripts, pidfiles, CHECKSUMS.
|
|
225
225
|
- Voter/worker turns run with `bash`, `edit`, and `write` disabled per prompt.
|
|
226
|
+
- Supply-chain seating (v1.6.0): actions SHA-pinned, CI installs with
|
|
227
|
+
`--ignore-scripts`, weekly scheduled `npm audit` witnessed server-side by the
|
|
228
|
+
pre-publish liveness gate (fresh green run bound to the released commit).
|
|
229
|
+
Honest status ledger of every vector, open or closed: [OPEN-VECTORS.md](OPEN-VECTORS.md).
|
|
230
|
+
- Engine sessions this product spawns are retained under bounded ages
|
|
231
|
+
(`npm run reap`, dry-run by default; audit conveners >= 90 days per owner
|
|
232
|
+
ruling, reconciliation face preserved in the sealed manifest).
|
|
226
233
|
|
|
227
234
|
## Architecture (`src/`)
|
|
228
235
|
|
|
@@ -282,7 +289,8 @@ PLAN→MINT→DISPATCH→AGGREGATE pipeline over ordinary child sessions.
|
|
|
282
289
|
|
|
283
290
|
```bash
|
|
284
291
|
npm run typecheck # tsc --noEmit, strict + noUncheckedIndexedAccess + exactOptionalPropertyTypes
|
|
285
|
-
npm test # full unit suite, fully offline (no network, no LLM;
|
|
292
|
+
npm test # full unit suite, fully offline (no network, no LLM; 497 at v1.6.0 — the run prints the exact count)
|
|
293
|
+
npm run reap # session-retention reaper: dry-run manifest by default; -- --apply deletes via the engine API
|
|
286
294
|
npm run coverage # offline suite + coverage floor ratchet (lines 55 / branches 80 / funcs 90 — floors only move up; CI door)
|
|
287
295
|
npm run build # esbuild bundle → dist/index.js + dist/cli.js (ESM)
|
|
288
296
|
node smoke/run-smoke.mjs # offline smoke of the shipped surface (see smoke/README.md)
|
package/dist/cli.js
CHANGED
|
@@ -14288,8 +14288,8 @@ function registry() {
|
|
|
14288
14288
|
var globalRegistry = globalThis.__zod_globalRegistry;
|
|
14289
14289
|
|
|
14290
14290
|
// node_modules/zod/v4/core/compile.js
|
|
14291
|
-
var INVALID = Symbol.for("zod.compile.invalid");
|
|
14292
|
-
var FALLBACK_FLAG = Symbol.for("zod.compile.fallback");
|
|
14291
|
+
var INVALID = /* @__PURE__ */ Symbol.for("zod.compile.invalid");
|
|
14292
|
+
var FALLBACK_FLAG = /* @__PURE__ */ Symbol.for("zod.compile.fallback");
|
|
14293
14293
|
var ZodCompileAsyncError = class extends Error {
|
|
14294
14294
|
constructor(message = "z.compile does not support async refinements, transforms, or checks") {
|
|
14295
14295
|
super(message);
|
|
@@ -18077,7 +18077,7 @@ var nonoptionalProcessor = (schema, ctx, _json, params) => {
|
|
|
18077
18077
|
const seen = ctx.seen.get(schema);
|
|
18078
18078
|
seen.ref = def.innerType;
|
|
18079
18079
|
};
|
|
18080
|
-
var UNREPRESENTABLE_DEFAULT = Symbol();
|
|
18080
|
+
var UNREPRESENTABLE_DEFAULT = /* @__PURE__ */ Symbol();
|
|
18081
18081
|
function serializeDefaultValue(value, schema, ctx, json2, params) {
|
|
18082
18082
|
let unrepresentable = false;
|
|
18083
18083
|
const serialized = JSON.stringify(value, (_, val) => {
|
|
@@ -20841,7 +20841,7 @@ function fromJSONSchema(schema, params) {
|
|
|
20841
20841
|
}
|
|
20842
20842
|
|
|
20843
20843
|
// node_modules/zod/v4/core/visit.js
|
|
20844
|
-
var RESOLVING = Symbol("z.visit/resolving");
|
|
20844
|
+
var RESOLVING = /* @__PURE__ */ Symbol("z.visit/resolving");
|
|
20845
20845
|
function visit(schema, fnOrHandlers) {
|
|
20846
20846
|
const fn = typeof fnOrHandlers === "function" ? fnOrHandlers : (node2, rewritten) => {
|
|
20847
20847
|
const h = fnOrHandlers[node2._zod.def.type];
|
package/dist/index.js
CHANGED
|
@@ -12952,8 +12952,8 @@ function registry() {
|
|
|
12952
12952
|
var globalRegistry = globalThis.__zod_globalRegistry;
|
|
12953
12953
|
|
|
12954
12954
|
// node_modules/zod/v4/core/compile.js
|
|
12955
|
-
var INVALID = Symbol.for("zod.compile.invalid");
|
|
12956
|
-
var FALLBACK_FLAG = Symbol.for("zod.compile.fallback");
|
|
12955
|
+
var INVALID = /* @__PURE__ */ Symbol.for("zod.compile.invalid");
|
|
12956
|
+
var FALLBACK_FLAG = /* @__PURE__ */ Symbol.for("zod.compile.fallback");
|
|
12957
12957
|
var ZodCompileAsyncError = class extends Error {
|
|
12958
12958
|
constructor(message = "z.compile does not support async refinements, transforms, or checks") {
|
|
12959
12959
|
super(message);
|
|
@@ -16741,7 +16741,7 @@ var nonoptionalProcessor = (schema, ctx, _json, params) => {
|
|
|
16741
16741
|
const seen = ctx.seen.get(schema);
|
|
16742
16742
|
seen.ref = def.innerType;
|
|
16743
16743
|
};
|
|
16744
|
-
var UNREPRESENTABLE_DEFAULT = Symbol();
|
|
16744
|
+
var UNREPRESENTABLE_DEFAULT = /* @__PURE__ */ Symbol();
|
|
16745
16745
|
function serializeDefaultValue(value, schema, ctx, json2, params) {
|
|
16746
16746
|
let unrepresentable = false;
|
|
16747
16747
|
const serialized = JSON.stringify(value, (_, val) => {
|
|
@@ -19505,7 +19505,7 @@ function fromJSONSchema(schema, params) {
|
|
|
19505
19505
|
}
|
|
19506
19506
|
|
|
19507
19507
|
// node_modules/zod/v4/core/visit.js
|
|
19508
|
-
var RESOLVING = Symbol("z.visit/resolving");
|
|
19508
|
+
var RESOLVING = /* @__PURE__ */ Symbol("z.visit/resolving");
|
|
19509
19509
|
function visit(schema, fnOrHandlers) {
|
|
19510
19510
|
const fn = typeof fnOrHandlers === "function" ? fnOrHandlers : (node2, rewritten) => {
|
|
19511
19511
|
const h = fnOrHandlers[node2._zod.def.type];
|
|
@@ -21505,7 +21505,7 @@ async function artifactHash(raw, dir) {
|
|
|
21505
21505
|
}
|
|
21506
21506
|
function buildAuditTool(deps) {
|
|
21507
21507
|
return tool({
|
|
21508
|
-
description: "SIBYL independent audit lane: convenes the three-councilor consult from a FRESH engine-provisioned root session (structurally non-kin to any drafting chain), so the ballot enters the effective path without the caller's identity touching it. Emits an audit receipt \u2014 auditor session id (retained,
|
|
21508
|
+
description: "SIBYL independent audit lane: convenes the three-councilor consult from a FRESH engine-provisioned root session (structurally non-kin to any drafting chain), so the ballot enters the effective path without the caller's identity touching it. Emits an audit receipt \u2014 auditor session id (retained >=90 days, then reconcilable via the sealed reap manifests), artifact sha256 bound at start and end, verdict face. REFUSES (no receipt) if the fresh convener resolves to anything but INDEPENDENT, or the artifact drifts mid-ballot (VOID).",
|
|
21509
21509
|
args: {
|
|
21510
21510
|
artifact: tool.schema.string().min(1).describe("Path to the artifact, or its inline content (multi-line)."),
|
|
21511
21511
|
goal: tool.schema.string().min(1).describe("The question the audit must answer.")
|
|
@@ -21556,7 +21556,7 @@ async function auditExecute(deps, args, ctx) {
|
|
|
21556
21556
|
return [
|
|
21557
21557
|
`SIBYL AUDIT RECEIPT run=${runId}`,
|
|
21558
21558
|
` verdict=${v?.verdict ?? "unknown"} (${counts}) rules=${rules}`,
|
|
21559
|
-
` auditor-convener=${auditor} (fresh engine-provisioned root; session row
|
|
21559
|
+
` auditor-convener=${auditor} (fresh engine-provisioned root; session row retained >=90 days, after which sealed reap manifests carry the reconciliation face)`,
|
|
21560
21560
|
` requested-by=${caller} \u2014 recorded as ledger data only; it neither convenes nor votes`,
|
|
21561
21561
|
` artifact-sha256=${shaStart} (re-hashed after the ballot, identical \u2014 the receipt binds to these bytes)`,
|
|
21562
21562
|
"",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sibyl-system",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Sibyl-System: democratic-centralism review chamber (one conclusion, one voice) + fail-closed council voting + dynamic swarm plugin for OpenCode",
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
"build": "esbuild src/index.ts --bundle --format=esm --platform=node --outfile=dist/index.js && esbuild src/cli.ts --bundle --format=esm --platform=node --banner:js='#!/usr/bin/env node' --outfile=dist/cli.js",
|
|
34
34
|
"test": "node --import ./tools/register-ts.mjs --test test/*.test.ts",
|
|
35
35
|
"coverage": "node --import ./tools/register-ts.mjs --test --experimental-test-coverage \"--test-coverage-include=src/**\" --test-coverage-lines=55 --test-coverage-branches=80 --test-coverage-functions=90 test/*.test.ts",
|
|
36
|
-
"prepack": "npm run build"
|
|
36
|
+
"prepack": "npm run build",
|
|
37
|
+
"reap": "node --no-warnings scripts/session-reap.mjs"
|
|
37
38
|
},
|
|
38
39
|
"dependencies": {
|
|
39
40
|
"@opencode-ai/plugin": "1.19.4",
|
|
@@ -41,7 +42,7 @@
|
|
|
41
42
|
},
|
|
42
43
|
"devDependencies": {
|
|
43
44
|
"@types/node": "^22",
|
|
44
|
-
"esbuild": "^0.
|
|
45
|
+
"esbuild": "^0.28.2",
|
|
45
46
|
"typescript": "^5"
|
|
46
47
|
},
|
|
47
48
|
"bin": {
|