holistic 0.4.1 → 0.5.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.2 - 2026-03-26
4
+
5
+ Published the README heading fix that should have landed with the prior patch release.
6
+
7
+ - Renamed the README section heading from `What it feels like now` to `What it feels like with HOLISTIC` so the public docs match the intended wording.
8
+ - Re-published the package so npm and GitHub both reflect the corrected README copy.
9
+
3
10
  ## 0.4.1 - 2026-03-26
4
11
 
5
12
  Polished the public README language and improved how Holistic surfaces top-level command failures.
package/README.md CHANGED
@@ -57,7 +57,7 @@ Holistic fixes that by making the repo the source of truth.
57
57
 
58
58
  ---
59
59
 
60
- ## What it feels like now 🌿
60
+ ## What it feels like with HOLISTIC 🌿
61
61
 
62
62
  Run one setup command on a machine:
63
63
 
package/dist/cli.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { HandoffInput, HolisticState, SessionDiff, SessionRecord } from './core/types.js';
2
+ export declare function renderHelpText(): string;
2
3
  export declare function renderResumeOutput(body: string): string;
3
4
  export declare function finalizeDraftHandoffInput(session: SessionRecord, input: HandoffInput): HandoffInput;
4
5
  export declare function renderDiff(fromSession: SessionRecord, toSession: SessionRecord, diff: SessionDiff): string;
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAA4C,YAAY,EAAE,aAAa,EAAgB,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAgGvJ,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAyED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,GAAG,YAAY,CAcnG;AAMD,wBAAgB,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAoE1G;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CA4DzD"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAA4C,YAAY,EAAE,aAAa,EAAgB,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA2EvJ,wBAAgB,cAAc,IAAI,MAAM,CA0BvC;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAyED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,GAAG,YAAY,CAcnG;AAMD,wBAAgB,UAAU,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAoE1G;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CA4DzD"}
package/dist/cli.js CHANGED
@@ -10,7 +10,7 @@ import { bootstrapHolistic, initializeHolistic, refreshHolisticHooks } from './c
10
10
  import { printSplash, printSplashError, renderSplash } from './core/splash.js';
11
11
  import { requestAutoSync } from './core/sync.js';
12
12
  import { runDaemonTick } from './daemon.js';
13
- import { applyHandoff, clearDraftHandoff, checkpointState, computeSessionDiff, continueFromLatest, draftHandoffFile, getResumePayload, getRuntimePaths, loadSessionById, loadState, readDraftHandoff, saveState, startNewSession, withStateLock, } from './core/state.js';
13
+ import { applyHandoff, clearDraftHandoff, checkpointState, computeSessionDiff, continueFromLatest, draftHandoffFile, getResumePayload, getRuntimePaths, loadSessionById, loadState, maybeWriteAutoDraftHandoff, normalizeCompletionSignalMetadata, reactivateArchivedSession, readDraftHandoff, saveState, startNewSession, withStateLock, } from './core/state.js';
14
14
  function parseArgs(argv) {
15
15
  const [command = "help", ...rest] = argv;
16
16
  const flags = {};
@@ -68,25 +68,35 @@ function getVersion() {
68
68
  return "unknown";
69
69
  }
70
70
  }
71
- function printHelp() {
72
- process.stdout.write(`Holistic CLI v${getVersion()}
71
+ export function renderHelpText() {
72
+ return `Holistic CLI v${getVersion()}
73
73
 
74
74
  Usage:
75
75
  holistic init [--install-daemon] [--install-hooks] [--platform win32|darwin|linux] [--interval 30] [--remote origin] [--state-ref refs/holistic/state] [--state-branch holistic/state]
76
76
  holistic bootstrap [--platform win32|darwin|linux] [--interval 30] [--remote origin] [--state-ref refs/holistic/state] [--state-branch holistic/state] [--install-daemon false] [--install-hooks false] [--configure-mcp false]
77
77
  holistic start [--agent codex|claude|antigravity|gemini|copilot|cursor|goose|gsd|gsd2] [--continue] [--json]
78
78
  holistic resume [--agent codex|claude|antigravity|gemini|copilot|cursor|goose|gsd|gsd2] [--continue] [--json]
79
- holistic checkpoint --reason "<reason>" [--goal "<goal>"] [--status "<status>"] [--plan "<step>"]...
79
+ holistic checkpoint --reason "<reason>" [--goal "<goal>"] [--status "<status>"] [--plan "<step>"]... [--completion-kind natural-breakpoint|task-complete|slice-complete|milestone-complete] [--completion-source agent|system] [--completion-recorded-at <iso8601>]
80
80
  holistic checkpoint --fixed "<bug>" [--fix-files "<file>"] [--fix-risk "<what reintroduces it>"]
81
81
  holistic handoff [--draft] [--summary "<summary>"] [--next "<step>"]...
82
82
  holistic start-new --goal "<goal>" [--title "<title>"] [--plan "<step>"]...
83
83
  holistic status
84
84
  holistic diff --from "<session-id>" --to "<session-id>" [--format text|json]
85
+ holistic search --id "<session-id>" [--format text|json]
85
86
  holistic serve
86
87
  holistic watch [--agent codex|claude|antigravity|gemini|copilot|cursor|goose|gsd|gsd2] [--interval 60]
87
88
 
89
+ Checkpoint examples:
90
+ holistic checkpoint --reason "tests passed" --status "Focused verification is green" --completion-kind natural-breakpoint --completion-source agent
91
+ holistic checkpoint --reason "feature complete" --status "Ready for handoff" --completion-kind task-complete --completion-source agent
92
+
93
+ Use checkpoint at natural breakpoints like tests passed, bug fixed, feature complete, focus change, or before compaction. Use handoff as the final safety valve when the session is ending.
94
+
88
95
  'holistic start' is an alias for 'holistic resume'.
89
- `);
96
+ `;
97
+ }
98
+ function printHelp() {
99
+ process.stdout.write(renderHelpText());
90
100
  }
91
101
  export function renderResumeOutput(body) {
92
102
  return `${renderSplash({ message: "loading project recap..." })}${body}`;
@@ -101,7 +111,7 @@ function refreshHooksBeforeCommand(rootDir) {
101
111
  reportHookWarnings(hookResult.warnings);
102
112
  }
103
113
  function persistLocked(rootDir, state, paths) {
104
- writeDerivedDocs(paths, state);
114
+ writeDerivedDocs(paths, state, { mode: "runtime" });
105
115
  state.repoSnapshot = captureRepoSnapshot(rootDir);
106
116
  saveState(paths, state, { locked: true });
107
117
  return state;
@@ -120,7 +130,7 @@ function runtimeScript(name) {
120
130
  const runtimeDir = path.dirname(currentFile);
121
131
  const useStripTypes = extension === ".ts";
122
132
  return {
123
- scriptPath: path.resolve(runtimeDir, `${name}${useStripTypes ? ".ts" : ".js"}`),
133
+ scriptPath: path.resolve(runtimeDir, `${name}${useStripTypes ? ".ts" : ".ts"}`),
124
134
  useStripTypes,
125
135
  };
126
136
  }
@@ -395,7 +405,7 @@ async function handleResume(rootDir, parsed) {
395
405
  }
396
406
  async function handleCheckpoint(rootDir, parsed) {
397
407
  refreshHooksBeforeCommand(rootDir);
398
- const nextState = mutateState(rootDir, (state) => {
408
+ const nextState = mutateState(rootDir, (state, paths) => {
399
409
  const regressions = listFlag(parsed.flags, "regression");
400
410
  const fixed = firstFlag(parsed.flags, "fixed");
401
411
  if (fixed) {
@@ -425,8 +435,15 @@ async function handleCheckpoint(rootDir, parsed) {
425
435
  references: listFlag(parsed.flags, "ref"),
426
436
  impacts: listFlag(parsed.flags, "impact"),
427
437
  regressions,
438
+ completionSignal: normalizeCompletionSignalMetadata({
439
+ kind: firstFlag(parsed.flags, "completion-kind"),
440
+ source: firstFlag(parsed.flags, "completion-source"),
441
+ recordedAt: firstFlag(parsed.flags, "completion-recorded-at"),
442
+ }),
428
443
  };
429
- return checkpointState(rootDir, state, input);
444
+ const nextState = checkpointState(rootDir, state, input);
445
+ maybeWriteAutoDraftHandoff(paths, nextState);
446
+ return nextState;
430
447
  });
431
448
  process.stdout.write(`Checkpoint saved for ${nextState.activeSession?.id ?? "session"}.\nBranch: ${nextState.activeSession?.branch ?? "unknown"}\nChanged files: ${nextState.activeSession?.changedFiles.length ?? 0}\nHistory doc: ${nextState.docIndex.historyDoc}\nRegression watch: ${nextState.docIndex.regressionDoc}\n`);
432
449
  requestAutoSync(rootDir, "checkpoint");
@@ -580,6 +597,8 @@ async function handleDiff(rootDir, parsed) {
580
597
  return 1;
581
598
  }
582
599
  const { state, paths } = loadState(rootDir);
600
+ reactivateArchivedSession(paths, from);
601
+ reactivateArchivedSession(paths, to);
583
602
  const fromSession = loadSessionById(state, paths, from);
584
603
  const toSession = loadSessionById(state, paths, to);
585
604
  if (!fromSession || !toSession) {
@@ -598,6 +617,43 @@ async function handleDiff(rootDir, parsed) {
598
617
  process.stdout.write(renderDiff(fromSession, toSession, diff));
599
618
  return 0;
600
619
  }
620
+ async function handleSearch(rootDir, parsed) {
621
+ const sessionId = firstFlag(parsed.flags, "id");
622
+ const format = firstFlag(parsed.flags, "format", "text");
623
+ if (!sessionId) {
624
+ process.stderr.write("Error: --id is required for search.\n");
625
+ return 1;
626
+ }
627
+ const { state, paths } = loadState(rootDir);
628
+ reactivateArchivedSession(paths, sessionId);
629
+ const session = loadSessionById(state, paths, sessionId);
630
+ if (!session) {
631
+ process.stderr.write(`Error: Session "${sessionId}" not found.\n`);
632
+ return 1;
633
+ }
634
+ if (format === "json") {
635
+ printJson(session);
636
+ return 0;
637
+ }
638
+ const lines = [];
639
+ lines.push(`Session: ${session.id}`);
640
+ lines.push(`Title: ${session.title}`);
641
+ lines.push(`Agent: ${session.agent}`);
642
+ lines.push(`Branch: ${session.branch}`);
643
+ lines.push(`Status: ${session.status}`);
644
+ lines.push(`Started: ${session.startedAt}`);
645
+ lines.push(`Ended: ${session.endedAt ?? "active"}`);
646
+ lines.push(`Goal: ${session.currentGoal}`);
647
+ lines.push(`Latest: ${session.latestStatus}`);
648
+ if (session.workDone.length > 0) {
649
+ lines.push(`Work done: ${session.workDone.join("; ")}`);
650
+ }
651
+ if (session.nextSteps.length > 0) {
652
+ lines.push(`Next steps: ${session.nextSteps.join("; ")}`);
653
+ }
654
+ process.stdout.write(lines.join("\n") + "\n");
655
+ return 0;
656
+ }
601
657
  async function handleServe(rootDir) {
602
658
  refreshHooksBeforeCommand(rootDir);
603
659
  printSplashError({
@@ -672,6 +728,8 @@ async function main() {
672
728
  return handleStatus(rootDir);
673
729
  case "diff":
674
730
  return handleDiff(rootDir, parsed);
731
+ case "search":
732
+ return handleSearch(rootDir, parsed);
675
733
  case "serve":
676
734
  return handleServe(rootDir);
677
735
  case "watch":
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
1
  import type { HolisticState, RuntimePaths } from './types.js';
2
- export declare function writeDerivedDocs(paths: RuntimePaths, state: HolisticState): void;
2
+ export interface WriteDerivedDocsOptions {
3
+ mode?: "full" | "runtime";
4
+ }
5
+ export declare function writeDerivedDocs(paths: RuntimePaths, state: HolisticState, options?: WriteDerivedDocsOptions): void;
3
6
  //# sourceMappingURL=docs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/core/docs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAA8B,YAAY,EAAiC,MAAM,YAAY,CAAC;AAs5BzH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAoChF"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/core/docs.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAA8B,YAAY,EAAiC,MAAM,YAAY,CAAC;AAi6BzH,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAqFD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,GAAE,uBAA4B,GAAG,IAAI,CAqCvH"}
package/dist/core/docs.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { renderCliFallbackNote } from './cli-fallback.js';
4
- import { readArchivedSessions } from './state.js';
4
+ import { readAllSessions } from './state.js';
5
5
  function renderSessionCloseBlock(hasMcp) {
6
6
  if (hasMcp) {
7
7
  return `## Before ending this session\n\nCall \`holistic_handoff\` with a summary of what you did and what should happen next. This keeps repo memory current for the next agent.\n`;
@@ -286,7 +286,7 @@ Every agent working in this repo should:
286
286
  4. If the Holistic daemon is installed, assume passive capture is already running in the background.
287
287
  5. Use the repo-local Holistic helper for explicit recap or recovery flows in this repo.
288
288
  6. Recap the current state for the user and ask whether to continue, tweak the plan, or start something new.
289
- 7. Record a checkpoint when focus changes, before likely context compaction, and before handoff.
289
+ 7. Record a checkpoint when focus changes, when tests passed in the current verification pass, when a bug is fixed (example: "bug fixed"), when a feature is complete (example: "feature complete"), before likely context compaction, and before handoff. If your client exposes "/checkpoint" or "/handoff" wrappers, treat them as safety valves; otherwise use the repo-local Holistic helper commands below.
290
290
 
291
291
  ${resumeFallbackNote}
292
292
 
@@ -384,9 +384,13 @@ ${resumeFallbackNote}
384
384
  Use the repo-local Holistic helper for checkpoints in this repo:
385
385
 
386
386
  - when the task focus changes
387
+ - when tests passed in the current verification pass
388
+ - when you fix a bug that should not regress
389
+ - when a feature is complete or ready for review
387
390
  - before likely context compaction
388
- - after meaningful progress
389
- - when you fix something another agent might accidentally re-break later
391
+ - before handoff
392
+
393
+ If your client exposes \`/checkpoint\` or \`/handoff\` wrappers, treat them as safety valves for those moments. Otherwise, use the explicit repo-local commands below.
390
394
 
391
395
  Use the repo-local Holistic helper with \`watch\` if you want foreground background checkpoints while working manually.
392
396
 
@@ -442,9 +446,13 @@ ${resumeFallbackNote}
442
446
  Use the repo-local Holistic helper for checkpoints in this repo when:
443
447
 
444
448
  - the task focus changes
449
+ - tests passed and you reached a clean breakpoint
450
+ - you fixed a bug that should not regress
451
+ - a feature is complete or ready for review
445
452
  - you are about to compact or clear context
446
- - you finish a meaningful chunk of work
447
- - you fix or alter behavior that could regress later
453
+ - before handoff
454
+
455
+ If your client exposes \`/checkpoint\` or \`/handoff\` wrappers, treat them as safety valves. Otherwise, use the explicit repo-local commands below.
448
456
 
449
457
  Include impact notes and regression risks when they matter.
450
458
 
@@ -633,7 +641,7 @@ const ADAPTER_PROFILES = [
633
641
  },
634
642
  ];
635
643
  function renderProjectHistory(paths, state) {
636
- const sessions = state.activeSession ? [state.activeSession, ...readArchivedSessions(paths)] : readArchivedSessions(paths);
644
+ const sessions = state.activeSession ? [state.activeSession, ...readAllSessions(paths)] : readAllSessions(paths);
637
645
  const body = sessions.length === 0
638
646
  ? "No archived sessions yet. Use handoffs to build durable project history."
639
647
  : sessions.map((session) => {
@@ -669,7 +677,7 @@ function renderProjectHistory(paths, state) {
669
677
  return `# Project History\n\nThis archive is the durable memory of what agents changed, why they changed it, and what the project impact was. Review it before revisiting a feature area.\n\n${body}\n`;
670
678
  }
671
679
  function renderRegressionWatch(paths, state) {
672
- const sessions = (state.activeSession ? [state.activeSession, ...readArchivedSessions(paths)] : readArchivedSessions(paths))
680
+ const sessions = (state.activeSession ? [state.activeSession, ...readAllSessions(paths)] : readAllSessions(paths))
673
681
  .filter((session) => session.regressionRisks.length > 0 || session.regressionRisksStructured?.length || session.impactNotes.length > 0 || session.impactNotesStructured?.length || session.workDone.length > 0);
674
682
  const body = sessions.length === 0
675
683
  ? "No regression watch items yet. Add them during checkpoints and handoffs when a change must stay fixed."
@@ -798,10 +806,13 @@ function renderRootAgentDoc(agentName, commandName, hasMcp) {
798
806
 
799
807
  **After significant work or on any git commit (hook fires automatically):**
800
808
  - Run \`holistic checkpoint --reason '<what you just did>'\`
809
+ - Prefer checkpoints at natural breakpoints like tests passed, bug fixed, feature complete, focus change, or before compaction.
810
+ - If your client exposes \`/checkpoint\`, you can use it as the safety valve for the same action.
801
811
  - To record a fix that must not regress: \`holistic checkpoint --fixed '<bug>' --fix-files '<file>' --fix-risk '<what reintroduces it>'\`
802
812
 
803
813
  **At the end of every session:**
804
814
  - Run \`holistic handoff\` - this opens a dialog to capture the summary and prepares a pending handoff commit.
815
+ - If your client exposes \`/handoff\`, it is the matching session-end safety valve.
805
816
  - If you want the Holistic files committed, make that git commit explicitly.
806
817
 
807
818
  **Never touch files listed in the KNOWN FIXES section of HOLISTIC.md without reading that section first.**
@@ -810,8 +821,8 @@ ${renderSessionCloseBlock(hasMcp)}`;
810
821
  }
811
822
  function renderRootHistoryMd(paths, state) {
812
823
  const sessions = state.activeSession
813
- ? [state.activeSession, ...readArchivedSessions(paths)]
814
- : readArchivedSessions(paths);
824
+ ? [state.activeSession, ...readAllSessions(paths)]
825
+ : readAllSessions(paths);
815
826
  const header = `# History - ${state.projectName}
816
827
 
817
828
  _Append-only log of every Holistic session. Newest entries at the bottom._
@@ -841,41 +852,106 @@ _Append-only log of every Holistic session. Newest entries at the bottom._
841
852
  });
842
853
  return header + entries.join("\n---\n\n") + "\n";
843
854
  }
844
- export function writeDerivedDocs(paths, state) {
855
+ function normalizeRelativePath(value) {
856
+ return value.replaceAll("\\", "/");
857
+ }
858
+ function relativeToRoot(paths, absolutePath) {
859
+ return normalizeRelativePath(path.relative(paths.rootDir, absolutePath));
860
+ }
861
+ function readConfiguredTrackedPaths(paths) {
862
+ const configPath = path.join(paths.holisticDir, "config.json");
863
+ if (!fs.existsSync(configPath)) {
864
+ return null;
865
+ }
866
+ try {
867
+ const config = JSON.parse(fs.readFileSync(configPath, "utf8"));
868
+ const trackedPaths = config.sync?.trackedPaths;
869
+ if (!Array.isArray(trackedPaths) || trackedPaths.length === 0) {
870
+ return null;
871
+ }
872
+ return trackedPaths.map((trackedPath) => normalizeRelativePath(String(trackedPath)));
873
+ }
874
+ catch {
875
+ return null;
876
+ }
877
+ }
878
+ function runtimeWriteSurface(paths) {
879
+ const configured = readConfiguredTrackedPaths(paths);
880
+ if (configured && configured.length > 0) {
881
+ return configured;
882
+ }
883
+ const defaults = [
884
+ relativeToRoot(paths, paths.masterDoc),
885
+ relativeToRoot(paths, paths.holisticDir),
886
+ ];
887
+ if (paths.rootHistoryDoc) {
888
+ defaults.push(relativeToRoot(paths, paths.rootHistoryDoc));
889
+ }
890
+ return defaults;
891
+ }
892
+ function shouldWritePath(paths, absolutePath, mode) {
893
+ if (mode === "full") {
894
+ return true;
895
+ }
896
+ const relativePath = relativeToRoot(paths, absolutePath);
897
+ const surface = runtimeWriteSurface(paths);
898
+ return surface.some((trackedPath) => relativePath === trackedPath || relativePath.startsWith(`${trackedPath}/`));
899
+ }
900
+ function writeTextFileIfChanged(filePath, content) {
901
+ if (fs.existsSync(filePath)) {
902
+ try {
903
+ if (fs.readFileSync(filePath, "utf8") === content) {
904
+ return;
905
+ }
906
+ }
907
+ catch {
908
+ }
909
+ }
910
+ fs.writeFileSync(filePath, content, "utf8");
911
+ }
912
+ function writeDerivedDoc(paths, filePath, content, mode) {
913
+ if (!shouldWritePath(paths, filePath, mode)) {
914
+ return;
915
+ }
916
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
917
+ writeTextFileIfChanged(filePath, content);
918
+ }
919
+ export function writeDerivedDocs(paths, state, options = {}) {
920
+ const mode = options.mode ?? "full";
845
921
  fs.mkdirSync(paths.holisticDir, { recursive: true });
846
922
  fs.mkdirSync(paths.contextDir, { recursive: true });
847
923
  fs.mkdirSync(paths.adaptersDir, { recursive: true });
848
924
  fs.mkdirSync(paths.sessionsDir, { recursive: true });
849
- fs.writeFileSync(paths.masterDoc, renderHolisticMd(state), "utf8");
850
- fs.writeFileSync(paths.agentsDoc, renderAgentsMd(state), "utf8");
851
- fs.writeFileSync(paths.currentPlanDoc, renderCurrentPlan(state), "utf8");
852
- fs.writeFileSync(paths.protocolDoc, renderProtocol(state), "utf8");
853
- fs.writeFileSync(paths.historyDoc, renderProjectHistory(paths, state), "utf8");
854
- fs.writeFileSync(paths.regressionDoc, renderRegressionWatch(paths, state), "utf8");
855
- fs.writeFileSync(paths.zeroTouchDoc, renderZeroTouchDoc(state), "utf8");
856
- fs.writeFileSync(`${paths.contextDir}/README.md`, renderContextReadme(state), "utf8");
925
+ fs.mkdirSync(paths.archiveSessionsDir, { recursive: true });
926
+ writeDerivedDoc(paths, paths.masterDoc, renderHolisticMd(state), mode);
927
+ writeDerivedDoc(paths, paths.agentsDoc, renderAgentsMd(state), mode);
928
+ writeDerivedDoc(paths, paths.currentPlanDoc, renderCurrentPlan(state), mode);
929
+ writeDerivedDoc(paths, paths.protocolDoc, renderProtocol(state), mode);
930
+ writeDerivedDoc(paths, paths.historyDoc, renderProjectHistory(paths, state), mode);
931
+ writeDerivedDoc(paths, paths.regressionDoc, renderRegressionWatch(paths, state), mode);
932
+ writeDerivedDoc(paths, paths.zeroTouchDoc, renderZeroTouchDoc(state), mode);
933
+ writeDerivedDoc(paths, `${paths.contextDir}/README.md`, renderContextReadme(state), mode);
857
934
  for (const profile of ADAPTER_PROFILES) {
858
935
  const fileName = profile.commandName === "claude" ? "claude-cowork.md" : `${profile.commandName}.md`;
859
- fs.writeFileSync(path.join(paths.adaptersDir, fileName), renderAdapter(state, profile), "utf8");
936
+ writeDerivedDoc(paths, path.join(paths.adaptersDir, fileName), renderAdapter(state, profile), mode);
860
937
  }
861
938
  if (paths.rootClaudeDoc) {
862
- fs.writeFileSync(paths.rootClaudeDoc, renderRootAgentDoc("Claude/Cowork", "claude", true), "utf8");
939
+ writeDerivedDoc(paths, paths.rootClaudeDoc, renderRootAgentDoc("Claude/Cowork", "claude", true), mode);
863
940
  }
864
941
  if (paths.rootGeminiDoc) {
865
- fs.writeFileSync(paths.rootGeminiDoc, renderRootAgentDoc("Gemini", "gemini", false), "utf8");
942
+ writeDerivedDoc(paths, paths.rootGeminiDoc, renderRootAgentDoc("Gemini", "gemini", false), mode);
866
943
  }
867
944
  if (paths.rootHistoryDoc) {
868
- fs.writeFileSync(paths.rootHistoryDoc, renderRootHistoryMd(paths, state), "utf8");
945
+ writeDerivedDoc(paths, paths.rootHistoryDoc, renderRootHistoryMd(paths, state), mode);
869
946
  }
870
947
  if (paths.rootCursorRulesDoc) {
871
- fs.writeFileSync(paths.rootCursorRulesDoc, renderCursorRules(state), "utf8");
948
+ writeDerivedDoc(paths, paths.rootCursorRulesDoc, renderCursorRules(state), mode);
872
949
  }
873
950
  if (paths.rootWindsurfRulesDoc) {
874
- fs.writeFileSync(paths.rootWindsurfRulesDoc, renderWindsurfRules(state), "utf8");
951
+ writeDerivedDoc(paths, paths.rootWindsurfRulesDoc, renderWindsurfRules(state), mode);
875
952
  }
876
953
  if (paths.rootCopilotInstructionsDoc) {
877
- fs.mkdirSync(path.dirname(paths.rootCopilotInstructionsDoc), { recursive: true });
878
- fs.writeFileSync(paths.rootCopilotInstructionsDoc, renderCopilotInstructions(state), "utf8");
954
+ writeDerivedDoc(paths, paths.rootCopilotInstructionsDoc, renderCopilotInstructions(state), mode);
879
955
  }
880
956
  }
881
957
  //# sourceMappingURL=docs.js.map