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.
Files changed (33) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/headless.js.map +1 -1
  3. package/dist/cli/headlessHistorySeed.test.js +158 -0
  4. package/dist/cli/headlessHistorySeed.test.js.map +1 -0
  5. package/dist/cli/headlessSessionEvent.test.js +83 -0
  6. package/dist/cli/headlessSessionEvent.test.js.map +1 -0
  7. package/dist/cli/headlessSpine.js +106 -1
  8. package/dist/cli/headlessSpine.js.map +1 -1
  9. package/dist/cli/hooks/useChatTurn.js +58 -7
  10. package/dist/cli/hooks/useChatTurn.js.map +1 -1
  11. package/dist/cli/kraken/verificationBridge.js +38 -3
  12. package/dist/cli/kraken/verificationBridge.js.map +1 -1
  13. package/dist/cli/kraken/verificationBridge.session.test.js +104 -0
  14. package/dist/cli/kraken/verificationBridge.session.test.js.map +1 -0
  15. package/dist/cli/kraken/verificationBridge.test.js +31 -1
  16. package/dist/cli/kraken/verificationBridge.test.js.map +1 -1
  17. package/dist/cli/legacyContextIsolation.test.js +64 -0
  18. package/dist/cli/legacyContextIsolation.test.js.map +1 -0
  19. package/dist/cli/main.bundled.js +853 -580
  20. package/dist/cli/main.bundled.js.map +4 -4
  21. package/dist/cli/providerConfig.js +58 -49
  22. package/dist/cli/providerConfig.js.map +1 -1
  23. package/dist/cli/providerConfig.test.js +85 -0
  24. package/dist/cli/providerConfig.test.js.map +1 -0
  25. package/dist/cli/runHeadless.js +57 -45
  26. package/dist/cli/runHeadless.js.map +1 -1
  27. package/dist/cli/sessionManager.js +7 -0
  28. package/dist/cli/sessionManager.js.map +1 -1
  29. package/dist/cli/sessionReplayInvariant.test.js +187 -0
  30. package/dist/cli/sessionReplayInvariant.test.js.map +1 -0
  31. package/dist/cli/sessionSpine.js +42 -0
  32. package/dist/cli/sessionSpine.js.map +1 -1
  33. 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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"}