zelari-code 2.0.0-alpha.4 → 2.0.0-alpha.6
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 +2 -2
- package/dist/cli/headless.js.map +1 -1
- package/dist/cli/headlessHistorySeed.test.js +158 -0
- package/dist/cli/headlessHistorySeed.test.js.map +1 -0
- package/dist/cli/headlessSessionEvent.test.js +83 -0
- package/dist/cli/headlessSessionEvent.test.js.map +1 -0
- package/dist/cli/headlessSpine.js +106 -1
- package/dist/cli/headlessSpine.js.map +1 -1
- package/dist/cli/hooks/useChatTurn.js +58 -7
- package/dist/cli/hooks/useChatTurn.js.map +1 -1
- package/dist/cli/kraken/verificationBridge.js +38 -3
- package/dist/cli/kraken/verificationBridge.js.map +1 -1
- package/dist/cli/kraken/verificationBridge.session.test.js +104 -0
- package/dist/cli/kraken/verificationBridge.session.test.js.map +1 -0
- package/dist/cli/kraken/verificationBridge.test.js +31 -1
- package/dist/cli/kraken/verificationBridge.test.js.map +1 -1
- package/dist/cli/legacyContextIsolation.test.js +64 -0
- package/dist/cli/legacyContextIsolation.test.js.map +1 -0
- package/dist/cli/main.bundled.js +853 -580
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/providerConfig.js +58 -49
- package/dist/cli/providerConfig.js.map +1 -1
- package/dist/cli/providerConfig.test.js +85 -0
- package/dist/cli/providerConfig.test.js.map +1 -0
- package/dist/cli/runHeadless.js +57 -45
- package/dist/cli/runHeadless.js.map +1 -1
- package/dist/cli/sessionManager.js +7 -0
- package/dist/cli/sessionManager.js.map +1 -1
- package/dist/cli/sessionReplayInvariant.test.js +187 -0
- package/dist/cli/sessionReplayInvariant.test.js.map +1 -0
- package/dist/cli/sessionSpine.js +42 -0
- package/dist/cli/sessionSpine.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* legacyContextIsolation — architectural gate for ADR-0024 (E1.5).
|
|
3
|
+
*
|
|
4
|
+
* Encodes the Exit-1 grep criteria as a CI test: the 1.x store and
|
|
5
|
+
* sessionManager must never feed the model context on a hot path. These are
|
|
6
|
+
* source-level assertions on purpose; the behavioral replay + invariant
|
|
7
|
+
* coverage lives in sessionReplayInvariant.test.ts.
|
|
8
|
+
*/
|
|
9
|
+
import { describe, expect, it } from 'vitest';
|
|
10
|
+
import { readFileSync } from 'node:fs';
|
|
11
|
+
import path from 'node:path';
|
|
12
|
+
import { fileURLToPath } from 'node:url';
|
|
13
|
+
// Source-level gate: resolve against THIS file, never process.cwd() — the
|
|
14
|
+
// core workspace runs `vitest run --root ../..` with cwd=packages/core, and
|
|
15
|
+
// a cwd-relative path would ENOENT there. From src/cli (and the compiled
|
|
16
|
+
// dist/cli twin, same depth) `../..` is always the repo root.
|
|
17
|
+
const REPO_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
|
|
18
|
+
function readCli(rel) {
|
|
19
|
+
return readFileSync(path.join(REPO_ROOT, 'src', 'cli', rel), 'utf8');
|
|
20
|
+
}
|
|
21
|
+
describe('ADR-0024 — legacy context isolation', () => {
|
|
22
|
+
it('budget pipeline measures the spine-derived seed, never the raw 1.x store', () => {
|
|
23
|
+
const src = readCli(path.join('hooks', 'useChatTurn.ts'));
|
|
24
|
+
expect(src).not.toContain('applyBudgetPolicyAsync(getHistory()');
|
|
25
|
+
// The declared discrete fallback (degraded/disabled spine) stays the only
|
|
26
|
+
// seed path that may read the 1.x store.
|
|
27
|
+
const fallbackUses = src.match(/spineSeed \?\? getHistory\(\)/g) ?? [];
|
|
28
|
+
expect(fallbackUses.length).toBe(1);
|
|
29
|
+
});
|
|
30
|
+
it('headless hot path touches opts.history only via the one-shot spine import', () => {
|
|
31
|
+
const src = readCli('runHeadless.ts');
|
|
32
|
+
const lines = src.split(/\r?\n/);
|
|
33
|
+
const optHistoryLines = lines.filter((l) => l.includes('opts.history'));
|
|
34
|
+
expect(optHistoryLines.length).toBeGreaterThan(0);
|
|
35
|
+
for (const line of optHistoryLines) {
|
|
36
|
+
expect(line).toContain('seedHeadlessModelHistory');
|
|
37
|
+
}
|
|
38
|
+
// No second history brain on the headless path.
|
|
39
|
+
expect(src).not.toContain('getHistory');
|
|
40
|
+
});
|
|
41
|
+
it('spine modules never import the 1.x sessionManager', () => {
|
|
42
|
+
for (const rel of ['sessionSpine.ts', 'headlessSpine.ts']) {
|
|
43
|
+
const src = readCli(rel);
|
|
44
|
+
expect(src).not.toMatch(/from\s+['"][^'"]*sessionManager/);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('strict done gate enforcement (E2.2)', () => {
|
|
49
|
+
it('headless kraken BUILD enforces the strict verdict on the run outcome', () => {
|
|
50
|
+
const src = readCli('runHeadless.ts');
|
|
51
|
+
expect(src).toContain('strictGateExitCode(after)');
|
|
52
|
+
expect(src).toMatch(/strictExit !== 0 \? 'stopped' : 'completed'/);
|
|
53
|
+
expect(src).toMatch(/if \(strictExit !== 0\) return strictExit;/);
|
|
54
|
+
});
|
|
55
|
+
it('the strict BUILD policy excludes verifier-llm evidence (LLM score alone is not done)', () => {
|
|
56
|
+
const policy = readFileSync(path.join(REPO_ROOT, 'packages', 'core', 'src', 'verification', 'completionPolicy.ts'), 'utf8');
|
|
57
|
+
expect(policy).toContain('STRICT_BUILD_POLICY');
|
|
58
|
+
const tiersBlock = policy.slice(policy.indexOf('DETERMINISTIC_EVIDENCE_TIERS'), policy.indexOf('STRICT_BUILD_POLICY'));
|
|
59
|
+
expect(tiersBlock).toContain("'tool-output'");
|
|
60
|
+
expect(tiersBlock).not.toContain("'verifier-llm'");
|
|
61
|
+
expect(policy).toMatch(/admissibleTiers/);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=legacyContextIsolation.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacyContextIsolation.test.js","sourceRoot":"","sources":["../../src/cli/legacyContextIsolation.test.ts"],"names":[],"mappings":"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"}
|