autodev-cli 1.4.205 → 1.4.207

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.
@@ -0,0 +1,57 @@
1
+ /** Default re-send cadence (turns) when `profileEveryNTasks` is not set. */
2
+ export declare const DEFAULT_PROFILE_EVERY_N = 50;
3
+ /** File that persists the turn counter, under `<root>/.autodev/`. */
4
+ export declare const PROFILE_TURNS_FILE = ".autodev/.profile-turns";
5
+ /** Sentinel meaning "the profile has NEVER been delivered for this workspace". */
6
+ export declare const PROFILE_NEVER = -1;
7
+ export interface ProfileCadenceInput {
8
+ /**
9
+ * Turns since the profile was last injected, persisted across restarts.
10
+ * `PROFILE_NEVER` (-1) means it has never been delivered yet.
11
+ */
12
+ turnsSinceProfile: number;
13
+ /** `settings.profileEveryNTasks` (default 50). <= 0 disables the periodic refresh. */
14
+ profileInterval: number;
15
+ /**
16
+ * Does the model's context carry over INTO this turn (a persistent / resumed
17
+ * session)? Mirrors the loop's `wantResume` signal. When false the turn is
18
+ * stateless and the profile is sent EVERY turn.
19
+ */
20
+ contextPersists: boolean;
21
+ /**
22
+ * Force a (re)inclusion this turn regardless of the counter — e.g. a fresh
23
+ * session was just started (session reset) so the carried context is gone.
24
+ */
25
+ forceInclude?: boolean;
26
+ }
27
+ export interface ProfileCadenceResult {
28
+ /** Whether to inline the full profile in THIS dispatch. */
29
+ includeProfile: boolean;
30
+ /** The new `turnsSinceProfile` value to persist AFTER this turn. */
31
+ turnsSinceProfile: number;
32
+ }
33
+ /**
34
+ * Pure cadence decision. Given the persisted counter + the context-persistence
35
+ * signal, decide whether to inline the profile this turn and what counter to
36
+ * persist next.
37
+ *
38
+ * Counting mirrors the original in-memory gate: after an inclusion the counter
39
+ * becomes 1, then advances 1,2,…,interval; when it reaches `interval` the profile
40
+ * is re-included and the counter resets — so inclusions are exactly `interval`
41
+ * turns apart.
42
+ */
43
+ export declare function decideProfileInclusion(input: ProfileCadenceInput): ProfileCadenceResult;
44
+ /**
45
+ * Read the persisted turn counter for `root`. Returns `PROFILE_NEVER` when the
46
+ * file is absent/unreadable (so a brand-new workspace includes the profile on its
47
+ * first persistent turn). Never throws.
48
+ */
49
+ export declare function loadProfileTurns(root: string): number;
50
+ /** Persist the turn counter for `root`. Best-effort; never throws. */
51
+ export declare function saveProfileTurns(root: string, turnsSinceProfile: number): void;
52
+ /**
53
+ * Force the NEXT persistent turn to re-include the profile (counter → NEVER).
54
+ * Called when a fresh session is about to start (session reset) so the new
55
+ * context gets the pillars. Best-effort; never throws.
56
+ */
57
+ export declare function resetProfileTurns(root: string): void;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ // ---------------------------------------------------------------------------
3
+ // Profile/pillars cadence — decide how OFTEN the heavy AutoDev profile (the
4
+ // `<!-- AUTODEV:section:* -->` pillars assembled into `.autodev/PROGRAM.md` and
5
+ // inlined by writeCombinedFile when `includeProfile` is true) is re-sent into an
6
+ // agent's context.
7
+ //
8
+ // WHY THIS EXISTS
9
+ // The profile is large (tens of KB, dozens of pillars). On a PERSISTENT or
10
+ // RESUMED session (grok-acp, or any provider with resumeSession on) the model
11
+ // carries its context forward across turns, so the pillars stay loaded from the
12
+ // turn they were last injected — re-sending them every turn is pure waste and
13
+ // makes users report "it sends the whole profile on every message". On a
14
+ // STATELESS turn (fresh context each turn, no resume) the agent genuinely needs
15
+ // the protocol every turn, so it must NOT be throttled there.
16
+ //
17
+ // So: throttle ONLY when the context persists this turn; otherwise send every
18
+ // turn. The cadence counter is PERSISTED to `.autodev/.profile-turns` so the
19
+ // every-N cadence survives the agent's real execution model — including a
20
+ // per-turn-SPAWN provider where each turn is a fresh process (an in-memory
21
+ // counter would reset to 1 every spawn and re-dump the profile every turn), and
22
+ // a loop RESTART that resumes the same persistent session (an in-memory counter
23
+ // would reset to turn 1 and re-dump the profile on every restart).
24
+ //
25
+ // This module is intentionally tiny + pure so it can be unit-tested directly.
26
+ // ---------------------------------------------------------------------------
27
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
28
+ if (k2 === undefined) k2 = k;
29
+ var desc = Object.getOwnPropertyDescriptor(m, k);
30
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
31
+ desc = { enumerable: true, get: function() { return m[k]; } };
32
+ }
33
+ Object.defineProperty(o, k2, desc);
34
+ }) : (function(o, m, k, k2) {
35
+ if (k2 === undefined) k2 = k;
36
+ o[k2] = m[k];
37
+ }));
38
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
39
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
40
+ }) : function(o, v) {
41
+ o["default"] = v;
42
+ });
43
+ var __importStar = (this && this.__importStar) || (function () {
44
+ var ownKeys = function(o) {
45
+ ownKeys = Object.getOwnPropertyNames || function (o) {
46
+ var ar = [];
47
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
48
+ return ar;
49
+ };
50
+ return ownKeys(o);
51
+ };
52
+ return function (mod) {
53
+ if (mod && mod.__esModule) return mod;
54
+ var result = {};
55
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
56
+ __setModuleDefault(result, mod);
57
+ return result;
58
+ };
59
+ })();
60
+ Object.defineProperty(exports, "__esModule", { value: true });
61
+ exports.PROFILE_NEVER = exports.PROFILE_TURNS_FILE = exports.DEFAULT_PROFILE_EVERY_N = void 0;
62
+ exports.decideProfileInclusion = decideProfileInclusion;
63
+ exports.loadProfileTurns = loadProfileTurns;
64
+ exports.saveProfileTurns = saveProfileTurns;
65
+ exports.resetProfileTurns = resetProfileTurns;
66
+ const fs = __importStar(require("fs"));
67
+ const path = __importStar(require("path"));
68
+ /** Default re-send cadence (turns) when `profileEveryNTasks` is not set. */
69
+ exports.DEFAULT_PROFILE_EVERY_N = 50;
70
+ /** File that persists the turn counter, under `<root>/.autodev/`. */
71
+ exports.PROFILE_TURNS_FILE = '.autodev/.profile-turns';
72
+ /** Sentinel meaning "the profile has NEVER been delivered for this workspace". */
73
+ exports.PROFILE_NEVER = -1;
74
+ /**
75
+ * Pure cadence decision. Given the persisted counter + the context-persistence
76
+ * signal, decide whether to inline the profile this turn and what counter to
77
+ * persist next.
78
+ *
79
+ * Counting mirrors the original in-memory gate: after an inclusion the counter
80
+ * becomes 1, then advances 1,2,…,interval; when it reaches `interval` the profile
81
+ * is re-included and the counter resets — so inclusions are exactly `interval`
82
+ * turns apart.
83
+ */
84
+ function decideProfileInclusion(input) {
85
+ const { turnsSinceProfile, profileInterval, contextPersists, forceInclude } = input;
86
+ let includeProfile;
87
+ if (forceInclude) {
88
+ // A fresh session was just established — its context does NOT have the pillars.
89
+ includeProfile = true;
90
+ }
91
+ else if (!contextPersists) {
92
+ // Stateless turn: the model gets a fresh context, so it needs the protocol
93
+ // every turn. Never throttle here (that would leave it protocol-less 49/50).
94
+ includeProfile = true;
95
+ }
96
+ else {
97
+ // Persistent / resumed: the pillars are still in context from the last
98
+ // injection. Include only when never delivered yet, or every `interval` turns.
99
+ includeProfile = turnsSinceProfile < 0
100
+ || (profileInterval > 0 && turnsSinceProfile >= profileInterval);
101
+ }
102
+ // Advance / reset the persisted counter. After an inclusion the next turn starts
103
+ // the count at 1; otherwise increment (treating the NEVER sentinel as 0).
104
+ const base = turnsSinceProfile < 0 ? 0 : turnsSinceProfile;
105
+ const next = includeProfile ? 1 : base + 1;
106
+ return { includeProfile, turnsSinceProfile: next };
107
+ }
108
+ /**
109
+ * Read the persisted turn counter for `root`. Returns `PROFILE_NEVER` when the
110
+ * file is absent/unreadable (so a brand-new workspace includes the profile on its
111
+ * first persistent turn). Never throws.
112
+ */
113
+ function loadProfileTurns(root) {
114
+ try {
115
+ const raw = fs.readFileSync(path.join(root, exports.PROFILE_TURNS_FILE), 'utf8').trim();
116
+ const n = parseInt(raw, 10);
117
+ return Number.isFinite(n) ? n : exports.PROFILE_NEVER;
118
+ }
119
+ catch {
120
+ return exports.PROFILE_NEVER;
121
+ }
122
+ }
123
+ /** Persist the turn counter for `root`. Best-effort; never throws. */
124
+ function saveProfileTurns(root, turnsSinceProfile) {
125
+ try {
126
+ const p = path.join(root, exports.PROFILE_TURNS_FILE);
127
+ fs.mkdirSync(path.dirname(p), { recursive: true });
128
+ fs.writeFileSync(p, String(turnsSinceProfile), 'utf8');
129
+ }
130
+ catch { /* best effort — the cadence just falls back to in-memory behaviour */ }
131
+ }
132
+ /**
133
+ * Force the NEXT persistent turn to re-include the profile (counter → NEVER).
134
+ * Called when a fresh session is about to start (session reset) so the new
135
+ * context gets the pillars. Best-effort; never throws.
136
+ */
137
+ function resetProfileTurns(root) {
138
+ saveProfileTurns(root, exports.PROFILE_NEVER);
139
+ }
140
+ //# sourceMappingURL=profileCadence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileCadence.js","sourceRoot":"","sources":["../../src/core/profileCadence.ts"],"names":[],"mappings":"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"}
@@ -242,9 +242,14 @@ export interface AutodevSettings {
242
242
  */
243
243
  summaryEveryNTasks: number;
244
244
  /**
245
- * Re-send the full agent profile (includeProfile=true) every N completed tasks.
246
- * 0 = only send on the first task of each loop start.
247
- * Useful to keep long-running agents on protocol even in resumed sessions.
245
+ * Re-send the full agent profile/pillars (includeProfile=true) at most every N
246
+ * turns on a PERSISTENT/RESUMED session, where the profile stays in context from
247
+ * its last injection so re-sending every turn is pure waste. Default 50. The
248
+ * cadence counter is persisted to `.autodev/.profile-turns`, so the every-N
249
+ * schedule survives a loop restart / per-turn spawn (it is NOT re-dumped on every
250
+ * restart). 0 disables the periodic refresh (profile goes out only on the first
251
+ * turn of a fresh session). STATELESS turns (no resume) are never throttled — the
252
+ * profile is sent every turn there because the fresh context needs it.
248
253
  */
249
254
  profileEveryNTasks: number;
250
255
  /**
@@ -103,7 +103,7 @@ exports.SETTINGS_DEFAULTS = {
103
103
  maxStrandRetries: 3,
104
104
  pruneTodoEveryNTasks: 0,
105
105
  journalLearnEveryNTasks: 0,
106
- profileEveryNTasks: 0,
106
+ profileEveryNTasks: 50,
107
107
  compactEveryNTasks: 0,
108
108
  skillEveryNTasks: 0,
109
109
  memoryEveryNTasks: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"settingsLoader.js","sourceRoot":"","sources":["../../src/core/settingsLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settingsLoader.js","sourceRoot":"","sources":["../../src/core/settingsLoader.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,38 @@ export declare function saveAttachment(workspaceRoot: string, filename: string,
89
89
  * Used for reminder/check-in messages that bypass buildMessage().
90
90
  */
91
91
  export declare function writeMessageFile(root: string, content: string): string;
92
+ /**
93
+ * STANDING protocol prose — identical on every turn and task-INDEPENDENT.
94
+ *
95
+ * This is the "NEXT TASK" framing + the generic `### Steps required` explanation
96
+ * + the PRODUCED-DELIVERABLE / loop-runs-continuously hardening + the trailing
97
+ * PROGRAM.md pointer. It carries NO per-task values, so it can be delivered ONCE
98
+ * through a provider's native system prompt (Claude `appendSystemPrompt`) and then
99
+ * re-inlined only on the profile cadence (init + every ~50 turns) instead of on
100
+ * every single turn. The per-turn specifics (which line, the exact marker, the
101
+ * done line, attachments) live in {@link buildTaskCurrentBlock} and still ship
102
+ * every turn.
103
+ *
104
+ * This is the SINGLE SOURCE for the standing protocol text: both the inline
105
+ * every-50 refresh (via buildMessage) and the Claude system prompt (via the
106
+ * claude-tui provider) read it here, so the two can never drift apart.
107
+ *
108
+ * EXTERNAL CONSUMER: the leading `> **NEXT TASK TO BEGIN` prefix is matched by
109
+ * game_spec_gen/.../AutodevHooksDriver.php (outside this repo). Do NOT change
110
+ * that first line without coordinating with that consumer.
111
+ */
112
+ export declare function buildTaskProtocolBlock(): string;
113
+ /**
114
+ * PER-TURN dynamic block — the current task's concrete specifics. Shipped EVERY
115
+ * turn (never throttled): the `## Current task` header + id/text/todo/line, the
116
+ * exact `taskLine` / `doneLine` markers, any attachments + inlined attachment
117
+ * bodies, PLUS one always-present terse marking line.
118
+ *
119
+ * The marking line keeps the load-bearing TODO-marking contract (`[~]` → `[x]`)
120
+ * in EVERY turn even when the standing protocol block is throttled out — loop
121
+ * completion detection keys on that TODO transition, so it must never disappear.
122
+ */
123
+ export declare function buildTaskCurrentBlock(task: Task, todoPath: string, root: string): string;
92
124
  /**
93
125
  * Builds the agent message for a task, writing two separate files:
94
126
  * - `.autodev/AGENT_PROFILE.md` — profile instructions (frontmatter stripped)
@@ -41,6 +41,8 @@ exports.soulUpdatedReminder = soulUpdatedReminder;
41
41
  exports.resumedSessionReminder = resumedSessionReminder;
42
42
  exports.saveAttachment = saveAttachment;
43
43
  exports.writeMessageFile = writeMessageFile;
44
+ exports.buildTaskProtocolBlock = buildTaskProtocolBlock;
45
+ exports.buildTaskCurrentBlock = buildTaskCurrentBlock;
44
46
  exports.rebuildProfile = rebuildProfile;
45
47
  exports.buildMessage = buildMessage;
46
48
  const crypto = __importStar(require("crypto"));
@@ -411,14 +413,66 @@ function readOrEmpty(filePath) {
411
413
  return '';
412
414
  }
413
415
  }
414
- function buildTaskInstruction(task, todoPath, root, noCommit = false) {
416
+ /**
417
+ * STANDING protocol prose — identical on every turn and task-INDEPENDENT.
418
+ *
419
+ * This is the "NEXT TASK" framing + the generic `### Steps required` explanation
420
+ * + the PRODUCED-DELIVERABLE / loop-runs-continuously hardening + the trailing
421
+ * PROGRAM.md pointer. It carries NO per-task values, so it can be delivered ONCE
422
+ * through a provider's native system prompt (Claude `appendSystemPrompt`) and then
423
+ * re-inlined only on the profile cadence (init + every ~50 turns) instead of on
424
+ * every single turn. The per-turn specifics (which line, the exact marker, the
425
+ * done line, attachments) live in {@link buildTaskCurrentBlock} and still ship
426
+ * every turn.
427
+ *
428
+ * This is the SINGLE SOURCE for the standing protocol text: both the inline
429
+ * every-50 refresh (via buildMessage) and the Claude system prompt (via the
430
+ * claude-tui provider) read it here, so the two can never drift apart.
431
+ *
432
+ * EXTERNAL CONSUMER: the leading `> **NEXT TASK TO BEGIN` prefix is matched by
433
+ * game_spec_gen/.../AutodevHooksDriver.php (outside this repo). Do NOT change
434
+ * that first line without coordinating with that consumer.
435
+ */
436
+ function buildTaskProtocolBlock() {
437
+ // Relative file:// URI for the profile — works regardless of absolute workspace location.
438
+ const profileRef = `@file://./${exports.AGENT_PROFILE_FILE}`;
439
+ return `> **NEXT TASK TO BEGIN, DO NOT STOP WORK**
440
+
441
+ > **IMPORTANT:** Even if you have done a similar task before, this is a **new independent task** that requires real work. Do NOT just mark it done — actually complete the task fully.
442
+
443
+ ### Steps required
444
+
445
+ 1. Open the TODO file and find the task's line — the exact \`- [ ]\` marker is shown above under **Current task**.
446
+ 2. Mark it in-progress **before** starting: change \`[ ]\` to \`[~]\`
447
+ 3. **Actually do the work** described by the task text above. Follow all protocol instructions from your agent profile.
448
+ 3.1 Discover the real task by opening the attachment files related to the todo entry, which are part of the task instructions. The files are listed above and may include important context, data, or subtasks. They are embedded in the message for your convenience, so read them carefully.
449
+ 4. Only when a **concrete deliverable actually exists** — a file created or edited, a command run with its result, a verifiable change on disk — mark it complete: change the box to \`[x]\` with today's date (the exact done line is shown above under **Current task**).
450
+ 5. Continue to the next \`[ ]\` task in the TODO file — do not stop until all tasks are done.
451
+
452
+ > **A turn ends with a PRODUCED DELIVERABLE, never with an intention.** Do NOT reply that you *will* do X, *plan to* do X, or have *acknowledged* X — in THIS turn, actually produce X (an edit / a new file / a command result) and change the box to \`[x]\`. A turn that only restates the plan, describes what you would do, or says "I will continue" — without a file, an edit, or a command result — is **NOT progress** and does **NOT** count as done. Never write \`[x]\` unless the deliverable is really there; if you cannot finish it this turn, leave it \`[~]\` and produce as much real work as you can.
453
+
454
+ > This loop runs continuously. Each task dispatch is a fresh task. "Standing by", "already done", or "I will do it" is not acceptable — complete the work.
455
+
456
+ ---
457
+
458
+ **Full protocol and agent instructions:** ${profileRef}`;
459
+ }
460
+ /**
461
+ * PER-TURN dynamic block — the current task's concrete specifics. Shipped EVERY
462
+ * turn (never throttled): the `## Current task` header + id/text/todo/line, the
463
+ * exact `taskLine` / `doneLine` markers, any attachments + inlined attachment
464
+ * bodies, PLUS one always-present terse marking line.
465
+ *
466
+ * The marking line keeps the load-bearing TODO-marking contract (`[~]` → `[x]`)
467
+ * in EVERY turn even when the standing protocol block is throttled out — loop
468
+ * completion detection keys on that TODO transition, so it must never disappear.
469
+ */
470
+ function buildTaskCurrentBlock(task, todoPath, root) {
415
471
  const date = new Date().toISOString().slice(0, 10);
416
472
  // Full raw task marker line as it appears (or will appear) in TODO.md
417
473
  const taskId = task.id ? `[${task.id}] ` : '';
418
474
  const taskLine = `- [ ] ${taskId}${task.text}`;
419
475
  const doneLine = `- [x] ${date} ${taskId}${task.text}`;
420
- // Relative file:// URI for the profile — works regardless of absolute workspace location.
421
- const profileRef = `@file://./${exports.AGENT_PROFILE_FILE}`;
422
476
  // Inline attachment files from task.attachments (populated at parse time by todo.ts).
423
477
  // Only .md files are inlined as text — binary attachments (images, PDFs, etc.)
424
478
  // are listed in the header reference but not embedded.
@@ -437,41 +491,20 @@ function buildTaskInstruction(task, todoPath, root, noCommit = false) {
437
491
  }
438
492
  }
439
493
  const inlinedSection = inlinedFiles.length > 0
440
- ? `\n---\n\n## Message Content (inlined — do not try to open the file)\n\n${inlinedFiles.join('\n\n---\n\n')}\n`
494
+ ? `\n\n---\n\n## Message Content (inlined — do not try to open the file)\n\n${inlinedFiles.join('\n\n---\n\n')}\n`
441
495
  : '';
442
496
  const attachmentRef = task.attachments && task.attachments.length > 0
443
497
  ? `**Attachments:** ${task.attachments.map(p => `\`${p}\``).join(', ')}\n`
444
498
  : '';
445
- return `> **NEXT TASK TO BEGIN, DO NOT STOP WORK**
446
-
447
- ## Current task
499
+ return `## Current task
448
500
 
449
501
  **Task ID:** \`${taskId.trim() || '(no id)'}\`
450
502
  **Task text:** ${task.text}
451
503
  **TODO.md:** \`${todoPath}\` line ${task.line}
452
- ${attachmentRef}
453
- see in
454
- > **IMPORTANT:** Even if you have done a similar task before, this is a **new independent task** that requires real work. Do NOT just mark it done — actually complete the task fully.
455
-
456
- ### Steps required
457
-
458
- 1. Open \`${todoPath}\` and find line ${task.line}:
459
- \`${taskLine}\`
460
- 2. Mark it in-progress **before** starting: change \`[ ]\` to \`[~]\`
461
- 3. **Actually do the work** described by the task text above. Follow all protocol instructions from your agent profile.
462
- 3.1 Discover the real task by opening the attachment files related to the todo entry, which are part of the task instructions. The files are listed above and may include important context, data, or subtasks. They are embedded in the message for your convenience, so read them carefully.
463
- 4. Only when a **concrete deliverable actually exists** — a file created or edited, a command run with its result, a verifiable change on disk — mark it complete:
464
- \`${doneLine}\`
465
- 5. Continue to the next \`[ ]\` task in \`${todoPath}\` — do not stop until all tasks are done.
466
-
467
- > **A turn ends with a PRODUCED DELIVERABLE, never with an intention.** Do NOT reply that you *will* do X, *plan to* do X, or have *acknowledged* X — in THIS turn, actually produce X (an edit / a new file / a command result) and change the box to \`[x]\`. A turn that only restates the plan, describes what you would do, or says "I will continue" — without a file, an edit, or a command result — is **NOT progress** and does **NOT** count as done. Never write \`[x]\` unless the deliverable is really there; if you cannot finish it this turn, leave it \`[~]\` and produce as much real work as you can.
468
-
469
- > This loop runs continuously. Each task dispatch is a fresh task. "Standing by", "already done", or "I will do it" is not acceptable — complete the work.
470
-
471
- ---
504
+ ${attachmentRef}**Task marker (line ${task.line}):** \`${taskLine}\`
505
+ **Done line (write this only once a real deliverable exists):** \`${doneLine}\`
472
506
 
473
- **Full protocol and agent instructions:** ${profileRef}
474
- ${inlinedSection}`;
507
+ Mark this task \`[~]\` before starting and \`[x]\` only once a real deliverable exists on disk.${inlinedSection}`;
475
508
  }
476
509
  /**
477
510
  * Builds the agent message for a task, writing two separate files:
@@ -626,9 +659,6 @@ function buildMessage(task, root, todoDir, includeProfile = true,
626
659
  */
627
660
  resumedTurn = false) {
628
661
  (0, sessionState_1.autodevDir)(root);
629
- // Read the noCommit flag from the identity section frontmatter (media source).
630
- const identityFile = path.join(__dirname, '..', 'media', 'profile', '00-identity.md');
631
- const { meta } = parseFrontmatter(readOrEmpty(identityFile));
632
662
  // PROGRAM.md + skill deployment live on the PROFILE BUILD (rebuildProfile — run
633
663
  // once at loop start and on explicit Save & Rebuild), NOT on this per-message
634
664
  // path. buildMessage no longer rewrites PROGRAM.md, re-deploys skills, or
@@ -651,9 +681,24 @@ resumedTurn = false) {
651
681
  // not.) Creating it here (before soulUpdatedReminder) means the .soul-seen marker
652
682
  // records the skeleton's mtime silently on turn 1.
653
683
  (0, connect_1.ensureSoulSkeleton)(root);
654
- // Build the task trigger message — profile is loaded by agents via AGENTS.md → @.autodev/PROGRAM.md
684
+ // Build the task trigger message in two parts:
685
+ // - protocolBlock: STANDING prose (NEXT-TASK framing + Steps-required + the
686
+ // deliverable/loop hardening + PROGRAM.md pointer). Task-independent, so it
687
+ // rides the profile cadence (init + every ~50 turns) exactly like the heavy
688
+ // PROGRAM.md body already does. Also delivered once via Claude's native
689
+ // system prompt (claude-tui) from this SAME function.
690
+ // - currentBlock: PER-TURN specifics (## Current task + exact markers +
691
+ // attachments + the always-present `[~]`/`[x]` marking line). Ships EVERY
692
+ // turn so the TODO-marking contract that drives completion detection never
693
+ // drops out, even on a throttled turn.
655
694
  const todoPath = path.join(todoDir, 'TODO.md');
656
- const taskMessage = buildTaskInstruction(task, todoPath, root, meta.noCommit);
695
+ const protocolBlock = buildTaskProtocolBlock();
696
+ const currentBlock = buildTaskCurrentBlock(task, todoPath, root);
697
+ // Gate ONLY the standing protocol block on the includeProfile cadence; the
698
+ // current block is always present. When included, the protocol goes FIRST
699
+ // (NEXT-TASK framing), then the current task — matching the historical ordering
700
+ // where the framing preceded the task specifics.
701
+ const taskParts = includeProfile ? [protocolBlock, currentBlock] : [currentBlock];
657
702
  // System reminders that must precede the task text. The dispatcher feeds the
658
703
  // model from the messageFile (via writeCombinedFile), NOT from the returned
659
704
  // `prompt` string, so these MUST be written into the messageFile — otherwise
@@ -691,14 +736,14 @@ resumedTurn = false) {
691
736
  }
692
737
  }
693
738
  // Reminders FIRST, then the task text, written to the file the model reads.
694
- const messageBody = [...reminders, taskMessage].join('\n\n---\n\n');
739
+ const messageBody = [...reminders, ...taskParts].join('\n\n---\n\n');
695
740
  const messageFile = writeMessageFile(root, messageBody);
696
741
  // The combined `prompt` string mirrors the messageFile ordering for the
697
742
  // (currently unused) UI-provider path. The profile body is NOT inlined here —
698
743
  // it lives in PROGRAM.md on disk and is appended by writeCombinedFile at
699
744
  // dispatch (profile build owns PROGRAM.md; this path owns only the reminders +
700
745
  // task text).
701
- const parts = [...reminders, taskMessage];
746
+ const parts = [...reminders, ...taskParts];
702
747
  return { prompt: parts.join('\n\n---\n\n'), messageFile };
703
748
  }
704
749
  //# sourceMappingURL=messageBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"messageBuilder.js","sourceRoot":"","sources":["../src/messageBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messageBuilder.js","sourceRoot":"","sources":["../src/messageBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgHA,kEAGC;AAqDD,4CA4BC;AAoBD,0DAYC;AAeD,kDAoBC;AAsBD,wDAUC;AAqBD,wCA4BC;AAMD,4CAKC;AA4BD,wDAuBC;AAYD,sDAsCC;AAmBD,wCA2FC;AAyBD,oCAiGC;AAhrBD,+CAAiC;AACjC,uCAAyB;AACzB,2CAA6B;AAE7B,iDAA4C;AAC5C,yDAA2F;AAC3F,qDAAuD;AACvD,0DAA4D;AAC5D,uCAA+C;AAC/C,mDAAsD;AAEtD,8EAA8E;AAC9E,mEAAmE;AACnE,8EAA8E;AAE9E,2DAA2D;AAC3D,gFAAgF;AAChF,+EAA+E;AAC/E,mFAAmF;AACnF,sDAAsD;AACzC,QAAA,kBAAkB,GAAG,qBAAqB,CAAC;AACxD,6EAA6E;AAC7E,mFAAmF;AACnF,4EAA4E;AAC5E,oFAAoF;AACpF,MAAM,oBAAoB,GAAG,CAAC,2BAA2B,EAAE,qBAAqB,CAAC,CAAC;AAElF,wDAAwD;AAC3C,QAAA,YAAY,GAAG,mBAAmB,CAAC;AAEhD,uEAAuE;AAC1D,QAAA,eAAe,GAAG,+BAA+B,CAAC;AAE/D,kFAAkF;AAClF,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAC7D,MAAM,aAAa,GAAK,kCAAkC,CAAC;AAE3D;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,IAAY,EAAE,gBAA0B,EAAE;IACvE,gFAAgF;IAChF,+EAA+E;IAC/E,+EAA+E;IAC/E,iFAAiF;IACjF,MAAM,QAAQ,GAAG,4EAA4E,CAAC;IAC9F,gFAAgF;IAChF,kFAAkF;IAClF,4EAA4E;IAC5E,MAAM,KAAK,GAAG;QACZ,eAAe;QACf,kBAAkB;QAClB,YAAY,0BAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;QACpD,SAAS;QACT,8UAA8U;QAC9U,UAAU;QACV,aAAa;KACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,KAAK,MAAM,QAAQ,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,OAAO,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,8EAA8E;IAC9E,mEAAmE;IACnE,mFAAmF;IACnF,8EAA8E;IAC9E,gFAAgF;IAChF,gFAAgF;IAChF,kFAAkF;IAClF,sEAAsE;IACtE,+EAA+E;IAC/E,+EAA+E;IAC/E,6CAA6C;IAC7C,iCAAiC;IACjC,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,CAAC;QAAC,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,WAAW,GAAG,IAAI,CAAC;IAAC,CAAC;IACzG,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;YACpC,IAAI,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC,CAAC,4CAA4C;YACzG,IAAI,WAAW,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC,CAAC,gCAAgC;YACrG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,2BAA2B,CAAC,IAAY,EAAE,SAAiB;IACzE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,yBAAyB,GAAG,iCAAiC,CAAC;AACpE,MAAM,aAAa,GAAG,gCAAgC,CAAC;AACvD,MAAM,WAAW,GAAK,8BAA8B,CAAC;AAErD;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,IAAY,EAAE,YAAoB;IACjE,4EAA4E;IAC5E,0EAA0E;IAC1E,oDAAoD;IACpD,MAAM,OAAO,GAAG,6HAA6H,CAAC;IAC9I,MAAM,KAAK,GAAG,GAAG,aAAa,KAAK,OAAO,KAAK,WAAW,EAAE,CAAC;IAC7D,MAAM,QAAQ,GAAG,oEAAoE,CAAC;IAEtF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAC5D,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAaD;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,+EAA+E;IAC/E,4EAA4E;IAC5E,iFAAiF;IACjF,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACrC,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAChD,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACrB,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAAC,CAAC;QAC5C,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAAC,CAAC;QACxD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC;QAAC,CAAC;IAC/D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAI9E;;;;;;;;;;;GAWG;AACH,SAAgB,uBAAuB,CAAC,IAAY;IAClD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC;IACxD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;IAC/C,OAAO;QACL,mBAAmB;QACnB,iFAAiF;QACjF,sFAAsF;QACtF,oFAAoF;QACpF,qFAAqF;QACrF,wFAAwF;QACxF,oBAAoB;KACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACzD,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,CAAC;YAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,IAAI,GAAG,CAAC,CAAC;QAAC,CAAC;QAC7F,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC;gBAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/I,CAAC;QACD,yEAAyE;QACzE,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAC/C,OAAO;YACL,mBAAmB;YACnB,+FAA+F;YAC/F,uFAAuF;YACvF,oBAAoB;SACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,sBAAsB,CAAC,KAAa;IAClD,OAAO;QACL,mBAAmB;QACnB,wEAAwE;QACxE,gFAAgF;QAChF,kFAAkF;QAClF,gFAAgF;QAChF,kCAAkC;QAClC,oBAAoB;KACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAY,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IACpE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,SAAS,SAAS;IAChB,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;AAC1I,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAC5B,aAAqB,EACrB,QAAgB,EAChB,IAAqB,EACrB,OAAgB;IAEhB,+EAA+E;IAC/E,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,QAAQ,GAAG,OAAO,IAAI,GAAG,SAAS,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACtF,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;WAC3D,GAAG,SAAS,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,uBAAe,EAAE,SAAS,CAAC,CAAC;IACjE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,YAAY,CAAC;IAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC1C,mFAAmF;IACnF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC;WAC1D,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAAC,IAAY,EAAE,OAAe;IAC5D,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,SAAS,EAAE,KAAK,CAAC,CAAC;IAC7D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACnC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,sBAAsB;IACpC,0FAA0F;IAC1F,MAAM,UAAU,GAAG,aAAa,0BAAkB,EAAE,CAAC;IACrD,OAAO;;;;;;;;;;;;;;;;;;;4CAmBmC,UAAU,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CAAC,IAAU,EAAE,QAAgB,EAAE,IAAY;IAC9E,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,sEAAsE;IACtE,MAAM,MAAM,GAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAG,SAAS,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,SAAS,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAExD,sFAAsF;IACtF,+EAA+E;IAC/E,uDAAuD;IACvD,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxD,YAAY,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,OAAO,EAAE,CAAC,CAAC;YAC/E,CAAC;YAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;QAC5C,CAAC,CAAC,4EAA4E,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI;QAClH,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;QACnE,CAAC,CAAC,oBAAoB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QAC1E,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;iBAEQ,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS;iBAC1B,IAAI,CAAC,IAAI;iBACT,QAAQ,YAAY,IAAI,CAAC,IAAI;EAC5C,aAAa,uBAAuB,IAAI,CAAC,IAAI,UAAU,QAAQ;oEACG,QAAQ;;iGAEqB,cAAc,EAAE,CAAC;AAClH,CAAC;AAED;;;;;;;;GAQG;AACH;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,IAAY;IACzC,kFAAkF;IAClF,kFAAkF;IAClF,6EAA6E;IAC7E,gFAAgF;IAChF,0EAA0E;IAC1E,4EAA4E;IAC5E,4DAA4D;IAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC;IAC1D,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3E,EAAE,CAAC,aAAa,CAAC,aAAa,EAAE,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,yEAAyE,CAAC,CAAC;IAErF,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAC;IACjB,IAAI,QAA4D,CAAC;IACjE,IAAI,CAAC;QAAC,QAAQ,GAAG,IAAA,oCAAmB,EAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAEpE,qFAAqF;IACrF,gFAAgF;IAChF,6EAA6E;IAC7E,2EAA2E;IAC3E,gFAAgF;IAChF,mEAAmE;IACnE,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,QAAQ,EAAE,sBAAsB,IAAI,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,QAAQ,EAAE,iBAAiB,IAAI,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAA,oCAAmB,EAAC,eAAe,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACzE,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;QACtC,gBAAgB,GAAG,IAAA,wCAAqB,EAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QAAC,gBAAgB,GAAG,EAAE,CAAC;QAAC,YAAY,GAAG,EAAE,CAAC;IAAC,CAAC;IAErD,4EAA4E;IAC5E,6EAA6E;IAC7E,gFAAgF;IAChF,gFAAgF;IAChF,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAC9E,mCAAmC;IACnC,EAAE;IACF,uEAAuE;IACvE,iFAAiF;IACjF,qEAAqE;IACrE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACxE,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,oBAAoB,EAAE,CAAC;IAC3B,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACvD,8EAA8E;IAC9E,gFAAgF;IAChF,4EAA4E;IAC5E,IAAA,4BAAkB,EAAC,IAAI,CAAC,CAAC;IACzB,qBAAqB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC1C,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAE3C,4EAA4E;IAC5E,gFAAgF;IAChF,0EAA0E;IAC1E,6EAA6E;IAC7E,gFAAgF;IAChF,IAAI,CAAC;QAAC,IAAA,iCAAc,EAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,gEAAgE,CAAC,CAAC;IACxG,IAAI,CAAC;QAAC,IAAA,iCAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC,CAAC;IAElF,0EAA0E;IAC1E,gFAAgF;IAChF,gFAAgF;IAChF,+EAA+E;IAC/E,qFAAqF;IACrF,IAAI,CAAC;QACH,IAAI,QAAQ,EAAE,gBAAgB,KAAK,IAAI,EAAE,CAAC;YAAC,IAAA,mCAAmB,EAAC,IAAI,CAAC,CAAC;QAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAE7B,mFAAmF;IACnF,kFAAkF;IAClF,kFAAkF;IAClF,kFAAkF;IAClF,iFAAiF;IACjF,mFAAmF;IACnF,8DAA8D;IAC9D,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACrD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,iEAAiE,CAAC,CAAC;AAC/E,CAAC;AAED;oEACoE;AACpE,SAAS,oBAAoB;IAC3B,OAAO;QACL,wBAAwB;QACxB,EAAE;QACF,iEAAiE;QACjE,sEAAsE;QACtE,8EAA8E;QAC9E,EAAE;QACF,KAAK;QACL,EAAE;QACF,0BAA0B;QAC1B,EAAE;QACF,kBAAkB;QAClB,SAAS;QACT,uEAAuE;QACvE,+EAA+E;QAC/E,UAAU;QACV,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAgB,YAAY,CAC1B,IAAU,EACV,IAAY,EACZ,OAAe,EACf,cAAc,GAAG,IAAI;AACrB;;;;;;GAMG;AACH,WAAW,GAAG,KAAK;IAEnB,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAC;IAEjB,gFAAgF;IAChF,8EAA8E;IAC9E,0EAA0E;IAC1E,wDAAwD;IACxD,EAAE;IACF,+EAA+E;IAC/E,gFAAgF;IAChF,kEAAkE;IAClE,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,0BAAkB,CAAC,CAAC;IAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,yCAAyC,CAAC,CAAC;IACnF,CAAC;IACD,6EAA6E;IAC7E,4EAA4E;IAC5E,mFAAmF;IACnF,iFAAiF;IACjF,kFAAkF;IAClF,mDAAmD;IACnD,IAAA,4BAAkB,EAAC,IAAI,CAAC,CAAC;IACzB,+CAA+C;IAC/C,8EAA8E;IAC9E,gFAAgF;IAChF,gFAAgF;IAChF,4EAA4E;IAC5E,0DAA0D;IAC1D,0EAA0E;IAC1E,8EAA8E;IAC9E,+EAA+E;IAC/E,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAI,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClE,2EAA2E;IAC3E,0EAA0E;IAC1E,gFAAgF;IAChF,iDAAiD;IACjD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAElF,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,gDAAgD;IAChD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,iFAAiF;IACjF,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAAC,CAAC;IAC7C,CAAC;IACD,mFAAmF;IACnF,6EAA6E;IAC7E,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;IAC9B,IAAI,OAAO,EAAE,CAAC;QAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAEzC,4EAA4E;IAC5E,+EAA+E;IAC/E,6EAA6E;IAC7E,iFAAiF;IACjF,gFAAgF;IAChF,0EAA0E;IAC1E,gFAAgF;IAChF,oDAAoD;IACpD,IAAI,WAAW,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;IAC3C,CAAC;IAED,4EAA4E;IAC5E,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAExD,wEAAwE;IACxE,8EAA8E;IAC9E,yEAAyE;IACzE,+EAA+E;IAC/E,cAAc;IACd,MAAM,KAAK,GAAa,CAAC,GAAG,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC;IACrD,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC5D,CAAC"}
@@ -58,6 +58,7 @@ exports.runClaudeTuiClear = runClaudeTuiClear;
58
58
  exports.detectTuiRateLimit = detectTuiRateLimit;
59
59
  const fs = __importStar(require("fs"));
60
60
  const rateLimit_1 = require("../../rateLimit");
61
+ const messageBuilder_1 = require("../../messageBuilder");
61
62
  // ---------------------------------------------------------------------------
62
63
  // Per-workspace persistent client instances.
63
64
  // ---------------------------------------------------------------------------
@@ -193,6 +194,20 @@ async function getOrCreateClient(root, resumeSessionId, log, model) {
193
194
  return existing;
194
195
  }
195
196
  const lib = _getLib();
197
+ // Deliver the STANDING protocol ONCE via Claude's native system prompt, set at
198
+ // session init. The same text is sourced from buildTaskProtocolBlock() — the
199
+ // single source the inline every-50 refresh reads — so the system prompt and
200
+ // the periodic inline re-send can never diverge. Best-effort: if assembling the
201
+ // text throws, fall back to no append (the inline cadence still delivers it).
202
+ // If the client's init type does not accept the field it is simply ignored —
203
+ // the extra key on the Record<string, unknown> config is inert, never a crash.
204
+ let appendSystemPrompt;
205
+ try {
206
+ appendSystemPrompt = (0, messageBuilder_1.buildTaskProtocolBlock)();
207
+ }
208
+ catch {
209
+ appendSystemPrompt = undefined;
210
+ }
196
211
  const client = await lib.ClaudeClient.init({
197
212
  cwd: root,
198
213
  dangerouslySkipPermissions: true,
@@ -204,6 +219,7 @@ async function getOrCreateClient(root, resumeSessionId, log, model) {
204
219
  // process.env before this runs. Pass it through explicitly so it survives
205
220
  // regardless of whether the client merges or replaces the child env.
206
221
  env: { CI: 'true', ...(process.env['MCP_TIMEOUT'] ? { MCP_TIMEOUT: process.env['MCP_TIMEOUT'] } : {}) },
222
+ ...(appendSystemPrompt ? { appendSystemPrompt } : {}),
207
223
  ...(model ? { model: model.replace(/-1m$/i, '') } : {}),
208
224
  });
209
225
  _clients.set(root, client);