sibyl-system 1.3.4 → 1.3.5

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.
Files changed (2) hide show
  1. package/dist/index.js +5 -4
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -31992,10 +31992,11 @@ var LINEAGE_MIN_WINDOWS = 3;
31992
31992
  function sampleWindows(text) {
31993
31993
  const total = Math.floor(text.length / LINEAGE_CHUNK);
31994
31994
  if (total < LINEAGE_MIN_WINDOWS) return [];
31995
- const step = Math.max(1, Math.floor(total / LINEAGE_SAMPLES));
31995
+ const step = Math.max(1, Math.ceil(total / LINEAGE_SAMPLES));
31996
31996
  const out = [];
31997
- for (let i = 0; i < total; i += step) out.push(text.slice(i * LINEAGE_CHUNK, (i + 1) * LINEAGE_CHUNK));
31998
- return out.slice(0, LINEAGE_SAMPLES);
31997
+ for (let i = 0; i < total && out.length < LINEAGE_SAMPLES; i += step)
31998
+ out.push(text.slice(i * LINEAGE_CHUNK, (i + 1) * LINEAGE_CHUNK));
31999
+ return out;
31999
32000
  }
32000
32001
  function beginLineage(artifact) {
32001
32002
  if (artifact.kind !== "path" || artifact.mtimeMs === void 0) return null;
@@ -32056,7 +32057,7 @@ function scanMessages(rows, convenerIndex, sid, artifact, lg) {
32056
32057
  const label = `${p.tool ?? "tool"}@${sid}:${String(mi)}`;
32057
32058
  for (const cand of partCandidates(p)) {
32058
32059
  if (artifact.kind === "path" && cand.includes(artifact.text.trim())) {
32059
- return `${lineageVerdict({ ...lg, matched: /* @__PURE__ */ new Map([[0, label]]) }, artifact)}; full-text containment in ${label}`;
32060
+ return `content-lineage evidence: the FULL text of ${artifact.source} appears verbatim in ${label} (convener-chain tool input, before the file's mtime) \u2014 the chain wrote these bytes elsewhere and moved them here; the chain cannot sit on both sides of this ballot`;
32060
32061
  }
32061
32062
  for (const [wi, chunk] of lg.chunks.entries()) {
32062
32063
  if (!lg.matched.has(wi) && cand.includes(chunk)) lg.matched.set(wi, label);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sibyl-system",
3
- "version": "1.3.4",
3
+ "version": "1.3.5",
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",