greprag 5.65.1 → 5.65.3

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 (63) hide show
  1. package/dist/codex-chip-hooks.js +2 -2
  2. package/dist/codex-chip-hooks.js.map +1 -1
  3. package/dist/commands/agent-doctrine-file.d.ts +27 -9
  4. package/dist/commands/agent-doctrine-file.js +74 -47
  5. package/dist/commands/agent-doctrine-file.js.map +1 -1
  6. package/dist/commands/agents.d.ts +2 -2
  7. package/dist/commands/agents.js +167 -48
  8. package/dist/commands/agents.js.map +1 -1
  9. package/dist/commands/codex-chip/command.js +4 -2
  10. package/dist/commands/codex-chip/command.js.map +1 -1
  11. package/dist/commands/codex-chip/goals.d.ts +3 -3
  12. package/dist/commands/codex-chip/goals.js +3 -3
  13. package/dist/commands/codex-chip/goals.js.map +1 -1
  14. package/dist/commands/codex-chip/help.d.ts +1 -1
  15. package/dist/commands/codex-chip/help.js +4 -3
  16. package/dist/commands/codex-chip/help.js.map +1 -1
  17. package/dist/commands/codex-chip/model.d.ts +6 -2
  18. package/dist/commands/codex-chip/model.js +12 -2
  19. package/dist/commands/codex-chip/model.js.map +1 -1
  20. package/dist/commands/codex-chip/native.js +2 -2
  21. package/dist/commands/codex-chip/native.js.map +1 -1
  22. package/dist/commands/codex-chip/prompt.js +8 -5
  23. package/dist/commands/codex-chip/prompt.js.map +1 -1
  24. package/dist/commands/codex-chip/selection.d.ts +5 -4
  25. package/dist/commands/codex-chip/selection.js +28 -9
  26. package/dist/commands/codex-chip/selection.js.map +1 -1
  27. package/dist/commands/codex-model-policy.d.ts +1 -1
  28. package/dist/commands/codex-model-policy.js +17 -6
  29. package/dist/commands/codex-model-policy.js.map +1 -1
  30. package/dist/commands/codex.js +1 -1
  31. package/dist/commands/init.js +19 -2
  32. package/dist/commands/init.js.map +1 -1
  33. package/dist/commands/load-primer-reminder.js +1 -1
  34. package/dist/commands/load-primer-reminder.js.map +1 -1
  35. package/dist/commands/mechanic-spawn.js +2 -3
  36. package/dist/commands/mechanic-spawn.js.map +1 -1
  37. package/dist/commands/opencode-chip-mission.d.ts +4 -4
  38. package/dist/commands/opencode-chip-mission.js.map +1 -1
  39. package/dist/commands/opencode-chip-store.d.ts +2 -2
  40. package/dist/commands/opencode-chip.js +3 -2
  41. package/dist/commands/opencode-chip.js.map +1 -1
  42. package/dist/commands/parity.js +1 -1
  43. package/dist/commands/skill-mirror-reminder.d.ts +3 -4
  44. package/dist/commands/skill-mirror-reminder.js +13 -8
  45. package/dist/commands/skill-mirror-reminder.js.map +1 -1
  46. package/dist/commands/skill.js +28 -0
  47. package/dist/commands/skill.js.map +1 -1
  48. package/dist/index.js +7 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/native-skill-mirror.d.ts +30 -0
  51. package/dist/native-skill-mirror.js +230 -0
  52. package/dist/native-skill-mirror.js.map +1 -0
  53. package/dist/opencode-plugin.bundle.js +9 -4
  54. package/dist/skill-mirror-client.d.ts +2 -5
  55. package/dist/skill-mirror-client.js +18 -6
  56. package/dist/skill-mirror-client.js.map +1 -1
  57. package/dist/skill-mirror-files.d.ts +6 -0
  58. package/dist/skill-mirror-files.js +51 -0
  59. package/dist/skill-mirror-files.js.map +1 -0
  60. package/package.json +1 -1
  61. package/skill/greprag/docs/codex-chip.md +4 -6
  62. package/skill/templates/chip-leader.md +37 -15
  63. package/skill/templates/codex-chip-spawn.md +40 -28
@@ -7,9 +7,13 @@ function chipPrompt(manifest, _cliCommand = 'greprag') {
7
7
  const executionPath = manifest.codex.runtime === 'native' && !manifest.codex.nativeCwd
8
8
  ? 'the Codex-provided isolated worktree for this task'
9
9
  : (0, model_1.chipExecutionPath)(manifest);
10
- const mechanicSetup = manifest.codex.role === 'mechanic'
10
+ const mechanicSetup = (0, model_1.chipMissionKind)(manifest) === 'fix'
11
11
  ? '- Run `greprag load mechanic` before diagnosis or edits.\n'
12
12
  : '';
13
+ // adr: adr/codex-lead-native-goal.md
14
+ const leaderSetup = manifest.codex.role === 'leader'
15
+ ? '- Create a native top-level mission goal with `create_goal`, then run `get_goal` and verify the active goal names this mission before any child fanout.\n'
16
+ : '';
13
17
  const native = manifest.codex.runtime === 'native';
14
18
  const reportInstruction = native
15
19
  ? '- Commit the completed durable result, including report-only artifacts, then reply to the LEAD in the native Codex task thread with status, commit hash, checks, caveats, and archive clearance.'
@@ -17,9 +21,8 @@ function chipPrompt(manifest, _cliCommand = 'greprag') {
17
21
  return `${(0, model_1.chipTitle)(manifest)}
18
22
 
19
23
  Setup — do this FIRST:
20
- ${mechanicSetup}- Stay in ${executionPath}; read AGENTS instructions and the session-start recap, then inspect the current repository state.
21
- - If scripts/worktree-bootstrap.cjs exists, run \`node scripts/worktree-bootstrap.cjs\` before repository tests; pristine worktrees do not include gitignored dist.
22
- - Do not create a second worktree. This isolated worktree is fully writable; there are no leases, read-only mode, or goal gates.
24
+ ${mechanicSetup}${leaderSetup}- Stay in ${executionPath}; read AGENTS instructions and the session-start recap, then inspect the current repository state.
25
+ - Do not create a second worktree. This isolated worktree is fully writable; there are no leases, read-only mode, or GrepRAG goal gates.
23
26
  - The durable manifest is ${manifest.id}; it is task bookkeeping, not a scope or permission gate.
24
27
 
25
28
  Task:
@@ -30,6 +33,6 @@ ${reportInstruction}
30
33
  Report when done:
31
34
  - In your final response to the parent, include the commit hash, concise result, checks, and caveats.
32
35
  - Include \`Clearance: safe to archive\` when no follow-up is needed, or \`Clearance: keep open because ...\` when the lead should not archive yet.
33
- - Landing: do not merge, push, deploy, or delete the worktree — the parent reviews the result and cleans up the task. One exception (adr/codex-landing-doctrine.md): if the Task above begins \`FIX:\` (a fix-spawn mission), its Phase 3 landing contract governs — merge your branch to main yourself after peer conferral; cleanup stays native via archive clearance; push/release stays operator-gated.`;
36
+ - Landing: do not merge, push, deploy, or delete the worktree — the parent reviews the result and cleans up the task. One exception (adr/codex-landing-doctrine.md): if this task begins \`FIX:\` (a fix-spawn mission), its Phase 3 landing contract governs — merge your branch to main yourself after peer conferral; cleanup stays native via archive clearance; push/release stays operator-gated.`;
34
37
  }
35
38
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/commands/codex-chip/prompt.ts"],"names":[],"mappings":";;AAGA,gCA4BC;AA/BD,mCAAqE;AAErE,mEAAmE;AACnE,SAAgB,UAAU,CAAC,QAAsB,EAAE,WAAW,GAAG,SAAS;IACxE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS;QACpF,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,IAAA,yBAAiB,EAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;QACtD,CAAC,CAAC,4DAA4D;QAC9D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;IACnD,MAAM,iBAAiB,GAAG,MAAM;QAC9B,CAAC,CAAC,kMAAkM;QACpM,CAAC,CAAC,yNAAyN,CAAC;IAC9N,OAAO,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC;;;EAG7B,aAAa,aAAa,aAAa;;;4BAGb,QAAQ,CAAC,EAAE;;;EAGrC,QAAQ,CAAC,IAAI;;EAEb,iBAAiB;;;;;6YAK0X,CAAC;AAC9Y,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/commands/codex-chip/prompt.ts"],"names":[],"mappings":";;AAGA,gCA+BC;AAlCD,mCAAsF;AAEtF,mEAAmE;AACnE,SAAgB,UAAU,CAAC,QAAsB,EAAE,WAAW,GAAG,SAAS;IACxE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS;QACpF,CAAC,CAAC,oDAAoD;QACtD,CAAC,CAAC,IAAA,yBAAiB,EAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,aAAa,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,KAAK,KAAK;QACvD,CAAC,CAAC,4DAA4D;QAC9D,CAAC,CAAC,EAAE,CAAC;IACP,qCAAqC;IACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;QAClD,CAAC,CAAC,2JAA2J;QAC7J,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC;IACnD,MAAM,iBAAiB,GAAG,MAAM;QAC9B,CAAC,CAAC,kMAAkM;QACpM,CAAC,CAAC,yNAAyN,CAAC;IAC9N,OAAO,GAAG,IAAA,iBAAS,EAAC,QAAQ,CAAC;;;EAG7B,aAAa,GAAG,WAAW,aAAa,aAAa;;4BAE3B,QAAQ,CAAC,EAAE;;;EAGrC,QAAQ,CAAC,IAAI;;EAEb,iBAAiB;;;;;wYAKqX,CAAC;AACzY,CAAC"}
@@ -1,13 +1,14 @@
1
- import { ChipManifest, ChipRole } from './model';
1
+ import { ChipManifest, ChipRole, MissionKind } from './model';
2
2
  import { CodexModelEffort } from '../codex-model-policy';
3
3
  export declare const COMPLEXITY_SIGNALS: readonly ["orchestration", "multi-chip-integration", "architecture-api-schema", "cross-cutting-ownership", "ambiguous-synthesis", "high-risk-correctness", "novel-multi-hypothesis-diagnosis"];
4
- export declare function resolveChipRole(args: string[]): ChipRole;
4
+ export declare function resolveChipRole(args: string[], task?: string): ChipRole;
5
+ export declare function resolveMissionKind(_args: string[], task?: string): MissionKind;
5
6
  export declare function resolveNativeTimeout(args: string[], fallback?: number): number;
6
- export declare function resolveChipModel(args: string[], role?: ChipRole): {
7
+ export declare function resolveChipModel(args: string[], role?: ChipRole | 'fix'): {
7
8
  profile: 'standard' | 'complex' | 'custom';
8
9
  model: string;
9
10
  effort: CodexModelEffort;
10
11
  };
11
- export declare function resolveChipSelection(args: string[], selectedBy: string, role?: ChipRole): NonNullable<ChipManifest['codex']['selection']>;
12
+ export declare function resolveChipSelection(args: string[], selectedBy: string, role?: ChipRole, missionKind?: MissionKind): NonNullable<ChipManifest['codex']['selection']>;
12
13
  export declare function resolveDesktopThinking(effort: string | undefined): CodexModelEffort;
13
14
  export declare function assertNativeModelSelection(selection: NonNullable<ChipManifest['codex']['selection']>, verifiedOverride: boolean): void;
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.COMPLEXITY_SIGNALS = void 0;
4
4
  exports.resolveChipRole = resolveChipRole;
5
+ exports.resolveMissionKind = resolveMissionKind;
5
6
  exports.resolveNativeTimeout = resolveNativeTimeout;
6
7
  exports.resolveChipModel = resolveChipModel;
7
8
  exports.resolveChipSelection = resolveChipSelection;
@@ -21,17 +22,34 @@ function flag(args, name) {
21
22
  const index = args.indexOf(name);
22
23
  return index >= 0 ? args[index + 1] : undefined;
23
24
  }
24
- function resolveChipRole(args) {
25
+ function taskIsFixMission(task) {
26
+ return /^FIX:\s+/i.test((task || '').trimStart());
27
+ }
28
+ function resolveChipRole(args, task) {
25
29
  const requested = flag(args, '--role');
26
30
  const legacyLeader = args.includes('--leader');
27
- if (requested && !['planner', 'leader', 'worker', 'advisor', 'mechanic'].includes(requested)) {
28
- throw new Error('--role must be planner, leader, worker, advisor, or mechanic.');
31
+ if (requested === 'mechanic') {
32
+ throw new Error('--role mechanic is retired. Use a FIX mission from `greprag fix spawn`; it selects chip.fix and loads mechanic doctrine.');
33
+ }
34
+ if (requested === 'fix') {
35
+ throw new Error('FIX is a mission kind, not a role. Use a first-line `FIX: <one friction unit>` mission from `greprag fix spawn`.');
36
+ }
37
+ if (requested && !['planner', 'leader', 'worker', 'advisor'].includes(requested)) {
38
+ throw new Error('--role must be planner, leader, worker, or advisor.');
29
39
  }
30
40
  if (legacyLeader && requested && requested !== 'leader') {
31
41
  throw new Error('--leader and --role must select the same role.');
32
42
  }
43
+ if (taskIsFixMission(task)) {
44
+ if (requested)
45
+ throw new Error('A FIX mission must not set --role; mission kind selects chip.fix.');
46
+ return 'worker';
47
+ }
33
48
  return requested || (legacyLeader ? 'leader' : 'worker');
34
49
  }
50
+ function resolveMissionKind(_args, task) {
51
+ return taskIsFixMission(task) ? 'fix' : 'standard';
52
+ }
35
53
  function resolveNativeTimeout(args, fallback = 180) {
36
54
  const raw = flag(args, '--native-timeout-minutes');
37
55
  if (!raw)
@@ -66,15 +84,16 @@ function resolveChipModel(args, role = resolveChipRole(args)) {
66
84
  ...selectionForRole(role, explicitModel, explicitEffort),
67
85
  };
68
86
  }
69
- function resolveChipSelection(args, selectedBy, role = resolveChipRole(args)) {
70
- const model = resolveChipModel(args, role);
87
+ function resolveChipSelection(args, selectedBy, role = resolveChipRole(args), missionKind = 'standard') {
88
+ const modelSlot = missionKind === 'fix' ? 'fix' : role;
89
+ const model = resolveChipModel(args, modelSlot);
71
90
  const suppliedReason = flag(args, '--model-reason')?.trim();
72
91
  if (suppliedReason && suppliedReason.length > 240)
73
92
  throw new Error('--model-reason must be concise (240 characters or fewer).');
74
- const defaultReason = role === 'leader'
75
- ? 'LEAD orientation for multi-chip orchestration.'
76
- : role === 'mechanic'
77
- ? 'MECHANIC orientation for diagnosis and repair.'
93
+ const defaultReason = missionKind === 'fix'
94
+ ? 'FIX mission for one friction unit; load mechanic doctrine before repair.'
95
+ : role === 'leader'
96
+ ? 'LEAD orientation for multi-chip orchestration.'
78
97
  : role === 'planner'
79
98
  ? 'PLANNER orientation for mission framing.'
80
99
  : role === 'advisor'
@@ -1 +1 @@
1
- {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../src/commands/codex-chip/selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../src/commands/codex-chip/selection.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export type CodexModelSlot = {
4
4
  model: string;
5
5
  effort: CodexModelEffort;
6
6
  };
7
- export type ChipModelRole = 'worker' | 'leader' | 'planner' | 'advisor' | 'mechanic';
7
+ export type ChipModelRole = 'worker' | 'leader' | 'planner' | 'advisor' | 'fix';
8
8
  export type SubagentModelRole = 'fast_scan' | 'routine_worker' | 'deep_worker';
9
9
  export interface CodexModelPolicy {
10
10
  version: 1;
@@ -47,9 +47,9 @@ exports.DEFAULT_CODEX_MODEL_POLICY = {
47
47
  chip: {
48
48
  worker: { model: 'gpt-5.5', effort: 'medium' },
49
49
  leader: { model: 'gpt-5.5', effort: 'high' },
50
- planner: { model: 'gpt-5.5', effort: 'high' },
50
+ planner: { model: 'gpt-5.6-sol', effort: 'xhigh' },
51
51
  advisor: { model: 'gpt-5.6-sol', effort: 'high' },
52
- mechanic: { model: 'gpt-5.5', effort: 'high' },
52
+ fix: { model: 'gpt-5.5', effort: 'high' },
53
53
  },
54
54
  subagent: {
55
55
  fast_scan: { model: 'gpt-5.5', effort: 'medium' },
@@ -84,10 +84,11 @@ function applySlot(target, patch, source) {
84
84
  function applyPolicy(base, patch, source) {
85
85
  if (patch.version !== undefined && patch.version !== 1)
86
86
  throw new Error(`${source} uses unsupported codex model policy version ${patch.version}.`);
87
- for (const key of Object.keys(patch.chip || {})) {
87
+ const chipPatch = patch.chip || {};
88
+ for (const key of Object.keys(chipPatch)) {
88
89
  if (!(key in base.chip))
89
90
  throw new Error(`${source} has unknown chip model slot ${key}.`);
90
- base.chip[key] = applySlot(base.chip[key], patch.chip[key] || {}, `${source} chip.${key}`);
91
+ base.chip[key] = applySlot(base.chip[key], chipPatch[key] || {}, `${source} chip.${key}`);
91
92
  }
92
93
  for (const key of Object.keys(patch.subagent || {})) {
93
94
  if (!(key in base.subagent))
@@ -109,12 +110,22 @@ function readPolicyFile(filePath) {
109
110
  function userPolicyPath(homeDir) {
110
111
  return path.join(homeDir, '.greprag', 'codex-models.json');
111
112
  }
112
- function findProjectPolicyPath(cwd) {
113
+ function samePath(left, right) {
114
+ if (!left || !right)
115
+ return false;
116
+ return path.resolve(left).toLowerCase() === path.resolve(right).toLowerCase();
117
+ }
118
+ function findProjectPolicyPath(cwd, homeDir) {
113
119
  let current = path.resolve(cwd);
120
+ const boundaries = [homeDir, os.homedir(), process.env.HOME, process.env.USERPROFILE].filter(Boolean);
114
121
  while (true) {
122
+ if (boundaries.some(boundary => samePath(current, boundary)))
123
+ return null;
115
124
  const candidate = path.join(current, '.greprag', 'codex-models.json');
116
125
  if (fs.existsSync(candidate))
117
126
  return candidate;
127
+ if (fs.existsSync(path.join(current, '.git')))
128
+ return null;
118
129
  const parent = path.dirname(current);
119
130
  if (parent === current)
120
131
  return null;
@@ -126,7 +137,7 @@ function loadCodexModelPolicy(cwd = process.cwd(), homeDir = process.env.HOME ||
126
137
  const user = readPolicyFile(userPolicyPath(homeDir));
127
138
  if (user)
128
139
  policy = applyPolicy(policy, user, userPolicyPath(homeDir));
129
- const projectPath = findProjectPolicyPath(cwd);
140
+ const projectPath = findProjectPolicyPath(cwd, homeDir);
130
141
  if (projectPath) {
131
142
  const project = readPolicyFile(projectPath);
132
143
  if (project)
@@ -1 +1 @@
1
- {"version":3,"file":"codex-model-policy.js","sourceRoot":"","sources":["../../src/commands/codex-model-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-model-policy.js","sourceRoot":"","sources":["../../src/commands/codex-model-policy.ts"],"names":[],"mappings":"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"}
@@ -461,7 +461,7 @@ const HELP = `greprag codex — Codex-specific helpers.
461
461
  greprag codex app-server probe [--thread <id>] [--limit <n>] [--transport stdio|proxy] [--json]
462
462
  greprag codex wake-test [--session <id>] [--transport proxy|stdio] [--delivery auto|app-server|app-server-resume|exec] [--send] [--json]
463
463
  greprag codex models show [--json]
464
- greprag codex chip spawn "<task>" --name <name> [--role worker|leader|advisor|mechanic] [--runtime cli]
464
+ greprag codex chip spawn "<task>" --name <name> [--role worker|leader|planner|advisor] [--runtime cli]
465
465
  greprag codex chip list|status|steer|stop|report|block|cleanup|reconcile
466
466
  greprag codex doctor [--wake-test]
467
467
  greprag codex startup install
@@ -52,7 +52,21 @@ const project_anchor_1 = require("../project-anchor");
52
52
  const codex_1 = require("./codex");
53
53
  const claude_md_patch_1 = require("./claude-md-patch");
54
54
  const agents_1 = require("./agents");
55
+ const native_skill_mirror_1 = require("../native-skill-mirror");
55
56
  const API_URL = 'https://api.greprag.com';
57
+ async function trySyncNativeSkillMirror(apiKey, platform) {
58
+ try {
59
+ return (0, native_skill_mirror_1.nativeSkillMirrorSummary)(await (0, native_skill_mirror_1.syncNativeSkillMirror)({
60
+ apiUrl: API_URL,
61
+ apiKey,
62
+ platform,
63
+ }));
64
+ }
65
+ catch (error) {
66
+ const message = error instanceof Error ? error.message : String(error);
67
+ return `Native skill mirror unavailable; existing skills preserved (${message})`;
68
+ }
69
+ }
56
70
  async function tryBootstrapAgentDoctrine(apiKey, harness) {
57
71
  try {
58
72
  return await (0, agents_1.bootstrapAgentDoctrine)(apiKey, harness);
@@ -72,7 +86,7 @@ function doctrineBootstrapSummary(result) {
72
86
  ? `${result.changedFollowers} follower(s) materialized`
73
87
  : `${result.currentFollowers} follower(s) already current`;
74
88
  const blocked = result.blockedFollowers > 0
75
- ? `; ${result.blockedFollowers} existing follower(s) preserved (run greprag agents sync explicitly)`
89
+ ? `; ${result.blockedFollowers} existing follower(s) preserved (run greprag agents push explicitly)`
76
90
  : '';
77
91
  return `Agent doctrine (${result.canonicalScopes.join(' + ')}): ${state}${blocked}`;
78
92
  }
@@ -324,6 +338,7 @@ async function runInit(opts) {
324
338
  optionalSkills.push(entry.name);
325
339
  }
326
340
  }
341
+ changes.push(await trySyncNativeSkillMirror(apiKey, 'claude-code'));
327
342
  // Step 6b RETIRED 2026-06-22 (docs/load-system.md): the chip-spawn protocol is
328
343
  // no longer copied to ~/.claude/docs/chip-spawn.md. greprag function never
329
344
  // depends on a `.md` file on disk — the doctrine ships in the binary and is
@@ -333,7 +348,7 @@ async function runInit(opts) {
333
348
  // file happened to be installed.
334
349
  // Step 7: Materialize canonical doctrine for Claude. Once global canon
335
350
  // exists, it owns ~/.claude/CLAUDE.md; running the legacy direct patch after
336
- // sync would immediately diverge the generated follower. Pre-adoption
351
+ // sync would immediately diverge the materialized follower. Pre-adoption
337
352
  // tenants retain the old patch path unchanged.
338
353
  const doctrine = await tryBootstrapAgentDoctrine(apiKey, 'claude-code');
339
354
  changes.push(doctrineBootstrapSummary(doctrine));
@@ -519,6 +534,7 @@ async function runOpenCodeInit(opts) {
519
534
  else {
520
535
  console.warn(' Plugin bundle not found (build issue) — run `npm run build` in packages/cli and retry');
521
536
  }
537
+ envChanges.push(await trySyncNativeSkillMirror(apiKey, 'opencode'));
522
538
  const doctrine = await tryBootstrapAgentDoctrine(apiKey, 'opencode');
523
539
  // Summary
524
540
  console.log('\n Setup complete!\n');
@@ -579,6 +595,7 @@ async function runCodexInit(opts) {
579
595
  const codexSkill = installCoreSkill('codex');
580
596
  if (codexSkill)
581
597
  changes.push(`Skill: installed → ${codexSkill}`);
598
+ changes.push(await trySyncNativeSkillMirror(apiKey, 'codex'));
582
599
  const doctrine = await tryBootstrapAgentDoctrine(apiKey, 'codex');
583
600
  changes.push(doctrineBootstrapSummary(doctrine));
584
601
  try {