zelari-code 2.53.0 → 2.54.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.
@@ -28,7 +28,7 @@ import { spineOrchestrationNote } from '../orchestration/facts.js';
28
28
  import { flushMemorySpineNotes, memorySinkFor } from '../memory/spineTelemetry.js';
29
29
  import { emitEvent, resolveHeadlessCwd, resolveHeadlessKey } from '../headless.js';
30
30
  import { isKrakenMode } from '../mode.js';
31
- import { buildSystemPromptSplit, systemMessagesFromSplit, getAllTools, KRAKEN_IDENTITY_MODULE, KRAKEN_LEAD_PLAYBOOK_MODULE, buildLanguagePolicyModuleFor } from '@zelari/core/skills';
31
+ import { buildSystemPromptSplit, systemMessagesFromSplit, assembleRequestMessages, isTrailingContextContent, resolvePromptLayout, getAllTools, KRAKEN_IDENTITY_MODULE, KRAKEN_LEAD_PLAYBOOK_MODULE, buildLanguagePolicyModuleFor } from '@zelari/core/skills';
32
32
  import { envNumber } from '../utils/envNumber.js';
33
33
  import { createStreamScrubber } from '../utils/streamScrub.js';
34
34
  import { promises as fs } from 'node:fs';
@@ -46,6 +46,7 @@ import { nativePackEnabled } from '../kraken/nativeVerification.js';
46
46
  import { runAdvisoryVerifierReview } from '../kraken/verifierLifecycle.js';
47
47
  import { buildModelContext, resourceStatusTail } from '../budget/modelContextBuilder.js';
48
48
  import { recordCompactionMetrics } from '../metrics.js';
49
+ import { flushMessageUsage, recordMessageUsage } from '../budget/messageUsage.js';
49
50
  import { openHeadlessSpine, seedHeadlessModelHistory, sessionStartedEvent } from '../headlessSpine.js';
50
51
  // HarnessState inc.3: shared final-NDJSON read-model emitter (ADR-0023 lens)
51
52
  // for this host + council/mission/kraken-graph (H1 inc.2 → inc.3).
@@ -352,7 +353,15 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
352
353
  parameters: t.function.parameters,
353
354
  }));
354
355
  const toolNames = tools.map((t) => t.name);
356
+ // Header/measurement shape: `[stable, volatile]` exactly as before M2.1 —
357
+ // the budget pipeline measures occupancy and fingerprints the system surface
358
+ // from this array, so keeping the pre-M2 bytes here leaves compaction policy
359
+ // and cache anchoring untouched. The WIRE shape is `wireSplit` below.
355
360
  let systemMessages;
361
+ // M2.1 wire split: the request layout moves the volatile segment out of the
362
+ // system prefix (see `initialMessages`). In the degraded fallback the single
363
+ // fallback system message becomes `stable` with an empty volatile part.
364
+ let wireSplit;
356
365
  let languageDirectiveContent;
357
366
  try {
358
367
  languageDirectiveContent = buildLanguagePolicyModuleFor(opts.task).content;
@@ -459,7 +468,12 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
459
468
  agentSkillConfigs: [],
460
469
  },
461
470
  });
462
- systemMessages = systemMessagesFromSplit(split);
471
+ // Measurement/header shape (pre-M2 bytes): occupancy + header fingerprint.
472
+ systemMessages = systemMessagesFromSplit(split, { includeVolatile: true });
473
+ // Wire shape (M2.1): the volatile segment is no longer a second system
474
+ // message — `initialMessages` places it as an EPHEMERAL trailing user
475
+ // message after the history (stable-only system prefix = cacheable).
476
+ wireSplit = split;
463
477
  }
464
478
  catch {
465
479
  // Minimal fallback if buildSystemPromptSplit fails — still include IP secrecy.
@@ -476,6 +490,9 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
476
490
  ].join('\n'),
477
491
  },
478
492
  ];
493
+ // Same single-message shape on the wire, expressed as a split so the
494
+ // request assembly stays uniform (no trailing context in this path).
495
+ wireSplit = { stable: systemMessages[0].content, volatile: '' };
479
496
  }
480
497
  // Exit-1/E1.2: prior turns come from the session spine (see
481
498
  // seedHeadlessModelHistory above) — user/assistant only, assistant
@@ -579,6 +596,20 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
579
596
  for await (const event of harness.run()) {
580
597
  progressRuntime.observe(event);
581
598
  spine.observe(event);
599
+ // M1.1 (cache-hit-rate plan): the headless path used to persist NO
600
+ // per-call usage at all (only compaction counters), so metrics.jsonl
601
+ // stayed cache-blind for every autonomous run. One `kind:'message'`
602
+ // row per LLM call, carrying the provider-verified cache split.
603
+ if (event.type === 'message_end' && event.usage) {
604
+ recordMessageUsage({
605
+ sessionId: passSessionId,
606
+ provider,
607
+ model,
608
+ promptTokens: event.usage.promptTokens,
609
+ completionTokens: event.usage.completionTokens,
610
+ cachedPromptTokens: event.usage.cachedPromptTokens ?? 0,
611
+ });
612
+ }
582
613
  if (event.type === 'message_start') {
583
614
  scrub.reset();
584
615
  }
@@ -634,6 +665,9 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
634
665
  };
635
666
  }
636
667
  const buildProgress = readBuildProgress();
668
+ // M1.1: drain the metrics queue before this call returns — the headless
669
+ // process must not exit with the last usage row still in memory.
670
+ await flushMessageUsage();
637
671
  return {
638
672
  finalReason,
639
673
  exitCode,
@@ -658,17 +692,26 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
658
692
  },
659
693
  });
660
694
  progressRuntime.beginTurn();
661
- const initialMessages = [
662
- ...systemMessages,
663
- ...historySeed,
664
- {
665
- role: 'user',
666
- content: effectiveTask,
667
- ...(opts.images && opts.images.length > 0
668
- ? { images: opts.images }
669
- : {}),
670
- },
671
- ];
695
+ // M2.1 (cache-hit-rate plan): the request seed is assembled by the layout
696
+ // helper — `trailing` (default) = [stable system][history][EPHEMERAL trailing
697
+ // context][task], `legacy` = [stable, volatile system][history][task]. The
698
+ // trailing message exists only in this array (the HTTP body): it must never
699
+ // reach the session spine or the seeded history, or the volatile context
700
+ // would duplicate on every turn.
701
+ const initialMessages = assembleRequestMessages({
702
+ split: wireSplit,
703
+ history: historySeed,
704
+ turn: [
705
+ {
706
+ role: 'user',
707
+ content: effectiveTask,
708
+ ...(opts.images && opts.images.length > 0
709
+ ? { images: opts.images }
710
+ : {}),
711
+ },
712
+ ],
713
+ layout: resolvePromptLayout(),
714
+ }).messages;
672
715
  let pass = await runSinglePass(initialMessages, sessionId);
673
716
  // E2.2: when strict mode is on and the gate stays blocked after the repair
674
717
  // pass, the run closes non-success (dedicated exit code + session status).
@@ -758,11 +801,18 @@ export async function runOneTurn(opts, provider, model, providerStream, extras)
758
801
  }
759
802
  // Same continuation shape as the write-retry: full prior messages
760
803
  // plus a hard user directive, so the model sees what it already did.
761
- const withSystem = [
762
- ...systemMessages,
763
- ...pass.messages.filter((m) => m.role !== 'system'),
764
- { role: 'user', content: repairPrompt },
765
- ];
804
+ // M2.1: the previous pass' trailing context is EPHEMERAL — drop it and
805
+ // let the assembler put a fresh one right before the repair directive,
806
+ // instead of carrying a stale volatile snapshot mid-transcript.
807
+ const withSystem = assembleRequestMessages({
808
+ split: wireSplit,
809
+ history: [],
810
+ turn: [
811
+ ...pass.messages.filter((m) => m.role !== 'system' && !isTrailingContextContent(m.content)),
812
+ { role: 'user', content: repairPrompt },
813
+ ],
814
+ layout: resolvePromptLayout(),
815
+ }).messages;
766
816
  progressRuntime.beginPass(true);
767
817
  markRepairTriggered();
768
818
  const repair = await runSinglePass(withSystem, `${sessionId}-check-repair`);
@@ -1 +1 @@
1
- {"version":3,"file":"runOneTurn.js","sourceRoot":"","sources":["../../../src/cli/headless/runOneTurn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runOneTurn.js","sourceRoot":"","sources":["../../../src/cli/headless/runOneTurn.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { useState, useRef, useCallback } from "react";
4
4
  import { AgentHarness } from "@zelari/core/harness";
5
5
  import { ingestLiveEvent } from "./observationStore.js";
6
6
  import { getMetricsLogger, recordCompactionMetrics } from "../metrics.js";
7
+ import { recordMessageUsage } from "../budget/messageUsage.js";
7
8
  import { calculateCost } from "../modelPricing.js";
8
9
  import { providerFromEnv, providerConfigFor, resolveActiveProvider, } from "../provider/openai-compatible.js";
9
10
  import { buildProviderStream } from "../provider/resolveStream.js";
@@ -32,7 +33,7 @@ import { memorySinkFor } from "../memory/spineTelemetry.js";
32
33
  import { createPermissionAskHandler } from "./permissionPicker.js";
33
34
  import { armPickerTimeout, askUserTimeoutMs } from "./askUserTimeout.js";
34
35
  import { defaultPermissionPolicy } from "../safety/toolPermissions.js";
35
- import { buildSystemPromptSplit, systemMessagesFromSplit, getAllTools, KRAKEN_IDENTITY_MODULE, KRAKEN_LEAD_PLAYBOOK_MODULE, buildLanguagePolicyModuleFor, } from "@zelari/core/skills";
36
+ import { buildSystemPromptSplit, assembleRequestMessages, resolvePromptLayout, getAllTools, KRAKEN_IDENTITY_MODULE, KRAKEN_LEAD_PLAYBOOK_MODULE, buildLanguagePolicyModuleFor, } from "@zelari/core/skills";
36
37
  import { hashStablePrompt } from "../state/fileStateStore.js";
37
38
  import { parseClarificationRequest, cleanAgentContent, createBrainEvent, } from "@zelari/core";
38
39
  import { createStreamScrubber } from "./streamScrub.js";
@@ -109,6 +110,15 @@ export function useChatTurn(params) {
109
110
  let historySeedLen = 0;
110
111
  // v1.36.0: system prefix count captured at seed-build time.
111
112
  let systemPrefixLen = 0;
113
+ // M2.1: ephemeral trailing-context messages of this request (0 in the
114
+ // `legacy` layout / degraded fallback). Part of the seed — so the
115
+ // finally snapshot must slice them off too, otherwise the volatile
116
+ // segment would re-enter rolling history and duplicate every turn.
117
+ let trailingSeedLen = 0;
118
+ // M2.1: the request seed assembled by the layout helper (trailing layout
119
+ // = [stable system][history][trailing context][user]). Undefined when the
120
+ // builder failed and the fallback system prompt was used.
121
+ let seedMessages;
112
122
  // v1.6.0: set true only after the stream loop completes without
113
123
  // throwing, so the finally snapshot is skipped on error (a failed
114
124
  // turn — provider 500, abort — must not pollute rolling history
@@ -564,6 +574,12 @@ export function useChatTurn(params) {
564
574
  // usable system prompt and the turn proceeds.
565
575
  // Cache Wars: stable/volatile split so plan/workspace updates do not
566
576
  // bust the cached prefix (identity + tools + platform).
577
+ // M2.1 (cache-hit-rate plan): volatile no longer sits BEFORE the
578
+ // history as a second system message — the layout helper moves it to an
579
+ // EPHEMERAL trailing user message after the history, so a workspace /
580
+ // plan / RAG change busts only the request tail. `ZELARI_PROMPT_LAYOUT=legacy`
581
+ // restores the pre-M2 shape.
582
+ const promptLayout = resolvePromptLayout();
567
583
  let systemMessages = [];
568
584
  let lastStableHash;
569
585
  try {
@@ -597,7 +613,20 @@ export function useChatTurn(params) {
597
613
  ragContext: undefined,
598
614
  });
599
615
  lastStableHash = hashStablePrompt(split.stable);
600
- systemMessages = systemMessagesFromSplit(split);
616
+ // M2.1: full request seed in the selected layout. `historyForModel`
617
+ // is final by now (post-compaction) and the current user turn is the
618
+ // last element, so the ephemeral trailing lands exactly between the
619
+ // history and the new turn.
620
+ const assembled = assembleRequestMessages({
621
+ split,
622
+ history: historyForModel,
623
+ turn: [{ role: "user", content: effectiveUserText }],
624
+ layout: promptLayout,
625
+ });
626
+ seedMessages = assembled.messages;
627
+ systemMessages = assembled.messages.slice(0, assembled.systemCount);
628
+ systemPrefixLen = assembled.systemCount;
629
+ trailingSeedLen = assembled.trailingCount;
601
630
  }
602
631
  catch {
603
632
  // Fallback: identity + platform/shell + tool list. Keeps the turn
@@ -614,13 +643,20 @@ export function useChatTurn(params) {
614
643
  ].join("\n");
615
644
  lastStableHash = hashStablePrompt(fallback);
616
645
  systemMessages = [{ role: "system", content: fallback }];
646
+ // No split prompt ⇒ no trailing context: the degraded fallback keeps
647
+ // its single system message (workspace inlined) and seedMessages
648
+ // stays undefined so the harness builds the plain seed below.
649
+ seedMessages = undefined;
650
+ trailingSeedLen = 0;
617
651
  }
618
652
  // v1.36.0: capture the ACTUAL system prefix length (1 from the
619
- // fallback builder, 2 from the stable/volatile split) — the finally
620
- // snapshot slices on this, fixing the off-by-one that leaked the
621
- // current user message into rolling history when 2 system messages
622
- // were present.
623
- systemPrefixLen = systemMessages.length;
653
+ // fallback builder, 2 from the legacy stable/volatile split) — the
654
+ // finally snapshot slices on this, fixing the off-by-one that leaked
655
+ // the current user message into rolling history when 2 system messages
656
+ // were present. M2.1: the split path already recorded the count from
657
+ // the assembled seed (stable-only ⇒ 1 + ephemeral trailing).
658
+ if (seedMessages === undefined)
659
+ systemPrefixLen = systemMessages.length;
624
660
  // v0.7.1 (A2): per-turn tool-call budget for single-prompt turns.
625
661
  // The harness cap is advisory anti-spam and is clamped by the active
626
662
  // ResourcePolicy epoch. ZELARI_MAX_TOOL_CALLS configures that one
@@ -647,14 +683,19 @@ export function useChatTurn(params) {
647
683
  // hardcode "openai-compatible" (the transport family) so snapshots
648
684
  // and telemetry mislabeled deepseek/glm/minimax routing.
649
685
  provider: envConfig.providerId,
650
- messages: [
651
- ...systemMessages,
652
- // v1.8.0: shared rolling history (agent/council/zelari) so short
653
- // answers bind to prior ---QUESTION--- blocks. Possibly empty
654
- // when ZELARI_HISTORY_TURNS=0.
655
- ...historyForModel,
656
- { role: "user", content: effectiveUserText },
657
- ],
686
+ // M2.1: the seed assembled by the layout helper when the split prompt
687
+ // built (trailing layout = [stable system][history][trailing
688
+ // context][user]); the degraded fallback keeps the plain
689
+ // [system][history][user] shape.
690
+ messages: seedMessages ??
691
+ [
692
+ ...systemMessages,
693
+ // v1.8.0: shared rolling history (agent/council/zelari) so short
694
+ // answers bind to prior ---QUESTION--- blocks. Possibly empty
695
+ // when ZELARI_HISTORY_TURNS=0.
696
+ ...historyForModel,
697
+ { role: "user", content: effectiveUserText },
698
+ ],
658
699
  tools: toolRegistry.toOpenAITools().map((t) => ({
659
700
  name: t.function.name,
660
701
  description: t.function.description,
@@ -827,6 +868,21 @@ export function useChatTurn(params) {
827
868
  totalTokens: event.usage.totalTokens,
828
869
  cachedPromptTokens: event.usage.cachedPromptTokens,
829
870
  });
871
+ // M1.1 (cache-hit-rate plan): persist the provider-verified
872
+ // usage as its own row, BEFORE it is only folded into the
873
+ // turn-level `kind: 'run'` cost. Without this, metrics.jsonl
874
+ // stayed cache-blind (cachedPromptTokens was never a field)
875
+ // and `--doctor` could not measure a hit rate offline.
876
+ // The session spine still drops usage on message_end — that
877
+ // enrich stays backlog M4.
878
+ recordMessageUsage({
879
+ sessionId,
880
+ provider: envConfig.providerId,
881
+ model: envConfig.model,
882
+ promptTokens: event.usage.promptTokens,
883
+ completionTokens: event.usage.completionTokens,
884
+ cachedPromptTokens: event.usage.cachedPromptTokens ?? 0,
885
+ });
830
886
  }
831
887
  // Message boundary: seal with a full scrub so the last tokens
832
888
  // inside the 16ms window are not dropped, then drain + reset.
@@ -1044,7 +1100,11 @@ export function useChatTurn(params) {
1044
1100
  // hardcoded "1 system" dropped the current user message from
1045
1101
  // rolling history whenever the builder emitted 2 system
1046
1102
  // messages (stable + volatile) and corrupted the cache prefix.
1047
- const seedLen = systemPrefixLen + historySeedLen + 1 /*user*/;
1103
+ // M2.1: the seed also carries the EPHEMERAL trailing context
1104
+ // message (trailingSeedLen) — slicing it off here is what keeps
1105
+ // the volatile segment out of rolling history (it would
1106
+ // otherwise re-enter the next turn and duplicate every turn).
1107
+ const seedLen = systemPrefixLen + historySeedLen + trailingSeedLen + 1 /*user*/;
1048
1108
  if (all.length > seedLen) {
1049
1109
  // Provider history: KEEP <think> (MiniMax-M3 interleaved tool
1050
1110
  // use requires full assistant content) and KEEP ---QUESTION---