@gajae-code/coding-agent 0.6.4 → 0.7.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.
Files changed (231) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/types/async/job-manager.d.ts +3 -1
  3. package/dist/types/cli/daemon-cli.d.ts +25 -0
  4. package/dist/types/cli/migrate-cli.d.ts +20 -0
  5. package/dist/types/cli/notify-cli.d.ts +23 -0
  6. package/dist/types/cli/setup-cli.d.ts +20 -1
  7. package/dist/types/commands/daemon.d.ts +41 -0
  8. package/dist/types/commands/migrate.d.ts +33 -0
  9. package/dist/types/commands/notify.d.ts +41 -0
  10. package/dist/types/config/keybindings.d.ts +4 -0
  11. package/dist/types/config/model-profile-activation.d.ts +12 -0
  12. package/dist/types/config/model-profiles.d.ts +2 -1
  13. package/dist/types/config/model-registry.d.ts +3 -3
  14. package/dist/types/config/models-config-schema.d.ts +5 -0
  15. package/dist/types/config/settings-schema.d.ts +38 -0
  16. package/dist/types/coordinator/contract.d.ts +1 -1
  17. package/dist/types/daemon/builtin.d.ts +20 -0
  18. package/dist/types/daemon/control-types.d.ts +57 -0
  19. package/dist/types/daemon/runtime.d.ts +25 -0
  20. package/dist/types/extensibility/extensions/types.d.ts +8 -0
  21. package/dist/types/gjc-runtime/deep-interview-recorder.d.ts +2 -0
  22. package/dist/types/gjc-runtime/deep-interview-runtime.d.ts +2 -2
  23. package/dist/types/gjc-runtime/goal-mode-request.d.ts +1 -1
  24. package/dist/types/gjc-runtime/session-layout.d.ts +59 -0
  25. package/dist/types/gjc-runtime/session-resolution.d.ts +47 -0
  26. package/dist/types/gjc-runtime/state-graph.d.ts +1 -1
  27. package/dist/types/gjc-runtime/state-runtime.d.ts +5 -4
  28. package/dist/types/gjc-runtime/state-schema.d.ts +2 -0
  29. package/dist/types/gjc-runtime/state-writer.d.ts +38 -7
  30. package/dist/types/gjc-runtime/ultragoal-guard.d.ts +15 -0
  31. package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +21 -4
  32. package/dist/types/gjc-runtime/workflow-command-ref.d.ts +1 -1
  33. package/dist/types/gjc-runtime/workflow-manifest.d.ts +1 -1
  34. package/dist/types/harness-control-plane/storage.d.ts +2 -1
  35. package/dist/types/hooks/skill-state.d.ts +12 -4
  36. package/dist/types/migrate/action-planner.d.ts +11 -0
  37. package/dist/types/migrate/adapters/claude-code.d.ts +2 -0
  38. package/dist/types/migrate/adapters/codex.d.ts +5 -0
  39. package/dist/types/migrate/adapters/index.d.ts +45 -0
  40. package/dist/types/migrate/adapters/opencode.d.ts +2 -0
  41. package/dist/types/migrate/executor.d.ts +2 -0
  42. package/dist/types/migrate/mcp-mapper.d.ts +20 -0
  43. package/dist/types/migrate/report.d.ts +18 -0
  44. package/dist/types/migrate/skill-normalizer.d.ts +27 -0
  45. package/dist/types/migrate/types.d.ts +126 -0
  46. package/dist/types/modes/components/custom-editor.d.ts +1 -1
  47. package/dist/types/modes/components/oauth-selector.d.ts +2 -0
  48. package/dist/types/modes/controllers/selector-controller.d.ts +2 -2
  49. package/dist/types/modes/interactive-mode.d.ts +1 -1
  50. package/dist/types/modes/shared/agent-wire/unattended-audit.d.ts +1 -1
  51. package/dist/types/modes/shared/agent-wire/unattended-session.d.ts +10 -0
  52. package/dist/types/modes/types.d.ts +7 -1
  53. package/dist/types/notifications/config-commands.d.ts +26 -0
  54. package/dist/types/notifications/config.d.ts +61 -0
  55. package/dist/types/notifications/helpers.d.ts +55 -0
  56. package/dist/types/notifications/html-format.d.ts +62 -0
  57. package/dist/types/notifications/index.d.ts +28 -0
  58. package/dist/types/notifications/rate-limit-pool.d.ts +93 -0
  59. package/dist/types/notifications/telegram-cli.d.ts +19 -0
  60. package/dist/types/notifications/telegram-daemon-cli.d.ts +11 -0
  61. package/dist/types/notifications/telegram-daemon-control.d.ts +56 -0
  62. package/dist/types/notifications/telegram-daemon.d.ts +276 -0
  63. package/dist/types/notifications/telegram-reference.d.ts +111 -0
  64. package/dist/types/notifications/threaded-inbound.d.ts +58 -0
  65. package/dist/types/notifications/threaded-render.d.ts +66 -0
  66. package/dist/types/notifications/topic-registry.d.ts +67 -0
  67. package/dist/types/research-plan/index.d.ts +1 -0
  68. package/dist/types/research-plan/ledger.d.ts +33 -0
  69. package/dist/types/rlm/artifacts.d.ts +1 -1
  70. package/dist/types/rlm/index.d.ts +12 -0
  71. package/dist/types/runtime-mcp/config-writer.d.ts +26 -0
  72. package/dist/types/session/agent-session.d.ts +39 -2
  73. package/dist/types/session/auth-storage.d.ts +1 -1
  74. package/dist/types/setup/credential-auto-import.d.ts +63 -0
  75. package/dist/types/setup/credential-import.d.ts +3 -0
  76. package/dist/types/setup/host-plugin-setup.d.ts +39 -0
  77. package/dist/types/skill-state/active-state.d.ts +6 -11
  78. package/dist/types/skill-state/canonical-skills.d.ts +3 -0
  79. package/dist/types/skill-state/workflow-hud.d.ts +2 -0
  80. package/dist/types/task/spawn-gate.d.ts +1 -10
  81. package/dist/types/tools/ask-answer-registry.d.ts +13 -0
  82. package/dist/types/tools/index.d.ts +18 -0
  83. package/dist/types/tools/subagent.d.ts +3 -0
  84. package/package.json +7 -7
  85. package/scripts/build-binary.ts +3 -0
  86. package/src/async/job-manager.ts +5 -1
  87. package/src/cli/daemon-cli.ts +122 -0
  88. package/src/cli/migrate-cli.ts +106 -0
  89. package/src/cli/notify-cli.ts +274 -0
  90. package/src/cli/setup-cli.ts +173 -84
  91. package/src/cli.ts +3 -0
  92. package/src/commands/daemon.ts +47 -0
  93. package/src/commands/deep-interview.ts +2 -2
  94. package/src/commands/migrate.ts +46 -0
  95. package/src/commands/notify.ts +61 -0
  96. package/src/commands/setup.ts +11 -1
  97. package/src/commands/state.ts +2 -1
  98. package/src/commands/team.ts +7 -3
  99. package/src/config/model-profile-activation.ts +74 -5
  100. package/src/config/model-profiles.ts +7 -4
  101. package/src/config/model-registry.ts +6 -3
  102. package/src/config/models-config-schema.ts +1 -1
  103. package/src/config/settings-schema.ts +29 -0
  104. package/src/coordinator/contract.ts +3 -0
  105. package/src/coordinator-mcp/policy.ts +10 -2
  106. package/src/coordinator-mcp/server.ts +270 -1
  107. package/src/daemon/builtin.ts +46 -0
  108. package/src/daemon/control-types.ts +65 -0
  109. package/src/daemon/runtime.ts +51 -0
  110. package/src/defaults/gjc/extensions/grok-cli-vendor/biome.json +0 -1
  111. package/src/defaults/gjc/skills/deep-interview/SKILL.md +28 -24
  112. package/src/defaults/gjc/skills/ralplan/SKILL.md +8 -4
  113. package/src/defaults/gjc/skills/team/SKILL.md +51 -47
  114. package/src/defaults/gjc/skills/ultragoal/SKILL.md +33 -13
  115. package/src/extensibility/custom-commands/loader.ts +0 -7
  116. package/src/extensibility/extensions/runner.ts +4 -0
  117. package/src/extensibility/extensions/types.ts +8 -0
  118. package/src/extensibility/gjc-plugins/injection.ts +23 -4
  119. package/src/extensibility/gjc-plugins/state.ts +16 -1
  120. package/src/gjc-runtime/deep-interview-recorder.ts +51 -18
  121. package/src/gjc-runtime/deep-interview-runtime.ts +49 -23
  122. package/src/gjc-runtime/goal-mode-request.ts +26 -11
  123. package/src/gjc-runtime/launch-tmux.ts +6 -1
  124. package/src/gjc-runtime/ralplan-runtime.ts +79 -50
  125. package/src/gjc-runtime/session-layout.ts +180 -0
  126. package/src/gjc-runtime/session-resolution.ts +217 -0
  127. package/src/gjc-runtime/state-graph.ts +1 -2
  128. package/src/gjc-runtime/state-migrations.ts +1 -0
  129. package/src/gjc-runtime/state-runtime.ts +247 -124
  130. package/src/gjc-runtime/state-schema.ts +2 -0
  131. package/src/gjc-runtime/state-writer.ts +289 -41
  132. package/src/gjc-runtime/team-runtime.ts +43 -19
  133. package/src/gjc-runtime/tmux-sessions.ts +7 -1
  134. package/src/gjc-runtime/ultragoal-guard.ts +102 -4
  135. package/src/gjc-runtime/ultragoal-runtime.ts +226 -60
  136. package/src/gjc-runtime/workflow-command-ref.ts +1 -2
  137. package/src/gjc-runtime/workflow-manifest.generated.json +27 -2
  138. package/src/gjc-runtime/workflow-manifest.ts +12 -3
  139. package/src/goals/tools/goal-tool.ts +11 -2
  140. package/src/harness-control-plane/storage.ts +14 -4
  141. package/src/hooks/native-skill-hook.ts +38 -12
  142. package/src/hooks/skill-state.ts +178 -83
  143. package/src/internal-urls/docs-index.generated.ts +9 -6
  144. package/src/main.ts +30 -0
  145. package/src/migrate/action-planner.ts +318 -0
  146. package/src/migrate/adapters/claude-code.ts +39 -0
  147. package/src/migrate/adapters/codex.ts +70 -0
  148. package/src/migrate/adapters/index.ts +277 -0
  149. package/src/migrate/adapters/opencode.ts +52 -0
  150. package/src/migrate/executor.ts +81 -0
  151. package/src/migrate/mcp-mapper.ts +152 -0
  152. package/src/migrate/report.ts +104 -0
  153. package/src/migrate/skill-normalizer.ts +80 -0
  154. package/src/migrate/types.ts +163 -0
  155. package/src/modes/acp/acp-event-mapper.ts +1 -0
  156. package/src/modes/bridge/bridge-mode.ts +2 -2
  157. package/src/modes/components/custom-editor.ts +30 -20
  158. package/src/modes/components/hook-editor.ts +7 -2
  159. package/src/modes/components/oauth-selector.ts +19 -0
  160. package/src/modes/controllers/event-controller.ts +20 -0
  161. package/src/modes/controllers/selector-controller.ts +80 -17
  162. package/src/modes/interactive-mode.ts +6 -2
  163. package/src/modes/rpc/rpc-mode.ts +2 -2
  164. package/src/modes/runtime-init.ts +1 -0
  165. package/src/modes/shared/agent-wire/event-contract.ts +1 -0
  166. package/src/modes/shared/agent-wire/event-envelope.ts +1 -0
  167. package/src/modes/shared/agent-wire/event-observation.ts +16 -0
  168. package/src/modes/shared/agent-wire/unattended-audit.ts +3 -2
  169. package/src/modes/shared/agent-wire/unattended-session.ts +22 -0
  170. package/src/modes/types.ts +7 -1
  171. package/src/modes/utils/ui-helpers.ts +23 -0
  172. package/src/notifications/config-commands.ts +50 -0
  173. package/src/notifications/config.ts +107 -0
  174. package/src/notifications/helpers.ts +135 -0
  175. package/src/notifications/html-format.ts +389 -0
  176. package/src/notifications/index.ts +663 -0
  177. package/src/notifications/rate-limit-pool.ts +179 -0
  178. package/src/notifications/telegram-cli.ts +194 -0
  179. package/src/notifications/telegram-daemon-cli.ts +74 -0
  180. package/src/notifications/telegram-daemon-control.ts +370 -0
  181. package/src/notifications/telegram-daemon.ts +1370 -0
  182. package/src/notifications/telegram-reference.ts +335 -0
  183. package/src/notifications/threaded-inbound.ts +80 -0
  184. package/src/notifications/threaded-render.ts +155 -0
  185. package/src/notifications/topic-registry.ts +133 -0
  186. package/src/prompts/agents/init.md +1 -1
  187. package/src/prompts/system/plan-mode-active.md +1 -1
  188. package/src/prompts/tools/ast-grep.md +1 -1
  189. package/src/prompts/tools/search.md +1 -1
  190. package/src/prompts/tools/task.md +1 -2
  191. package/src/research-plan/index.ts +1 -0
  192. package/src/research-plan/ledger.ts +177 -0
  193. package/src/rlm/artifacts.ts +12 -3
  194. package/src/rlm/index.ts +26 -0
  195. package/src/runtime-mcp/config-writer.ts +46 -0
  196. package/src/sdk.ts +16 -0
  197. package/src/session/agent-session.ts +128 -24
  198. package/src/session/auth-storage.ts +3 -0
  199. package/src/session/session-dump-format.ts +43 -2
  200. package/src/session/session-manager.ts +39 -5
  201. package/src/setup/credential-auto-import.ts +258 -0
  202. package/src/setup/credential-import.ts +17 -0
  203. package/src/setup/hermes/templates/operator-instructions.v1.md +10 -0
  204. package/src/setup/hermes-setup.ts +1 -1
  205. package/src/setup/host-plugin-setup.ts +142 -0
  206. package/src/skill-state/active-state.ts +72 -108
  207. package/src/skill-state/canonical-skills.ts +4 -0
  208. package/src/skill-state/deep-interview-mutation-guard.ts +28 -109
  209. package/src/skill-state/workflow-hud.ts +4 -2
  210. package/src/skill-state/workflow-state-contract.ts +3 -3
  211. package/src/slash-commands/builtin-registry.ts +4 -1
  212. package/src/task/agents.ts +1 -22
  213. package/src/task/executor.ts +5 -1
  214. package/src/task/index.ts +1 -41
  215. package/src/task/spawn-gate.ts +1 -38
  216. package/src/task/types.ts +1 -1
  217. package/src/tools/ask-answer-registry.ts +25 -0
  218. package/src/tools/ask.ts +108 -16
  219. package/src/tools/computer.ts +58 -4
  220. package/src/tools/image-gen.ts +5 -8
  221. package/src/tools/index.ts +19 -0
  222. package/src/tools/inspect-image.ts +16 -11
  223. package/src/tools/subagent-render.ts +7 -0
  224. package/src/tools/subagent.ts +38 -7
  225. package/dist/types/extensibility/custom-commands/bundled/review/index.d.ts +0 -10
  226. package/src/extensibility/custom-commands/bundled/review/index.ts +0 -456
  227. package/src/prompts/agents/explore.md +0 -58
  228. package/src/prompts/agents/plan.md +0 -49
  229. package/src/prompts/agents/reviewer.md +0 -141
  230. package/src/prompts/agents/task.md +0 -16
  231. package/src/prompts/review-request.md +0 -70
@@ -1,141 +0,0 @@
1
- ---
2
- name: reviewer
3
- description: "Code review specialist for quality/security analysis"
4
- tools: read, search, find, bash, lsp, web_search, ast_grep, report_finding
5
- spawns: explore
6
- model: pi/default
7
- thinking-level: high
8
- blocking: true
9
- output:
10
- properties:
11
- overall_correctness:
12
- metadata:
13
- description: Whether change correct (no bugs/blockers)
14
- enum: [correct, incorrect]
15
- explanation:
16
- metadata:
17
- description: Plain-text verdict summary, 1-3 sentences
18
- type: string
19
- confidence:
20
- metadata:
21
- description: Verdict confidence (0.0-1.0)
22
- type: number
23
- optionalProperties:
24
- findings:
25
- metadata:
26
- description: Auto-populated from report_finding; don't set manually
27
- elements:
28
- properties:
29
- title:
30
- metadata:
31
- description: Imperative, ≤80 chars
32
- type: string
33
- body:
34
- metadata:
35
- description: "One paragraph: bug, trigger, impact"
36
- type: string
37
- priority:
38
- metadata:
39
- description: "P0-P3: 0 blocks release, 1 fix next cycle, 2 fix eventually, 3 nice to have"
40
- type: number
41
- confidence:
42
- metadata:
43
- description: Confidence it's real bug (0.0-1.0)
44
- type: number
45
- file_path:
46
- metadata:
47
- description: Path to affected file
48
- type: string
49
- line_start:
50
- metadata:
51
- description: First line (1-indexed)
52
- type: number
53
- line_end:
54
- metadata:
55
- description: Last line (1-indexed, ≤10 lines)
56
- type: number
57
- hide: true
58
- ---
59
-
60
- Identify bugs the author would want fixed before merge.
61
-
62
- <procedure>
63
- 1. Run `git diff` (or `gh pr diff <number>`) to view patch
64
- 2. Read modified files for full context
65
- 3. Call `report_finding` per issue
66
- 4. Call `yield` with verdict
67
-
68
- Bash is read-only: `git diff`, `git log`, `git show`, `gh pr diff`. You NEVER make file edits or trigger builds.
69
- </procedure>
70
-
71
- <criteria>
72
- Report issue only when ALL conditions hold:
73
- - **Provable impact**: Show specific affected code paths (no speculation)
74
- - **Actionable**: Discrete fix, not vague "consider improving X"
75
- - **Unintentional**: Clearly not deliberate design choice
76
- - **Introduced in patch**: Don't flag pre-existing bugs
77
- - **No unstated assumptions**: Bug doesn't rely on assumptions about codebase or author intent
78
- - **Proportionate rigor**: Fix doesn't demand rigor absent elsewhere in codebase
79
- </criteria>
80
-
81
- <cross-boundary>
82
- For every new type, variant, or value introduced by the patch that crosses a function or module boundary
83
- (event, message, command, frame, enum variant, queue item, IPC payload):
84
- 1. Locate the **dispatch point** — the switch, router, filter chain, handler registry, or loop body
85
- that receives and routes values of that kind on the **consuming** side.
86
- 2. Confirm the new type has an explicit branch, or that the existing catch-all forwards it correctly.
87
- 3. If the new type falls through to a silent drop, no-op, or discard (e.g. an unmatched `if`/`switch`
88
- that simply returns without processing), report it as a defect.
89
-
90
- The dispatch point is frequently **outside the diff**. You MUST read it before concluding
91
- the producing side is correct. Tracing only the emitting code while skipping the consuming
92
- routing logic is the single most common source of missed integration bugs in reviews.
93
- </cross-boundary>
94
-
95
- <priority>
96
- |Level|Criteria|Example|
97
- |---|---|---|
98
- |P0|Blocks release/operations; universal (no input assumptions)|Data corruption, auth bypass|
99
- |P1|High; fix next cycle|Race condition under load|
100
- |P2|Medium; fix eventually|Edge case mishandling|
101
- |P3|Info; nice to have|Suboptimal but correct|
102
- </priority>
103
-
104
- <findings>
105
- - **Title**: e.g., `Handle null response from API`
106
- - **Body**: Bug, trigger condition, impact. Neutral tone.
107
- - **Suggestion blocks**: Only for concrete replacement code. Preserve exact whitespace. No commentary.
108
- </findings>
109
-
110
- <example name="finding">
111
- <title>Validate input length before buffer copy</title>
112
- <body>When `data.length > BUFFER_SIZE`, `memcpy` writes past buffer boundary. Occurs if API returns oversized payloads, causing heap corruption.</body>
113
- ```suggestion
114
- if (data.length > BUFFER_SIZE) return -EINVAL;
115
- memcpy(buf, data.ptr, data.length);
116
- ```
117
- </example>
118
-
119
- <output>
120
- Each `report_finding` requires:
121
- - `title`: Imperative, ≤80 chars
122
- - `body`: One paragraph
123
- - `priority`: 0-3
124
- - `confidence`: 0.0-1.0
125
- - `file_path`: Path to affected file
126
- - `line_start`, `line_end`: Range ≤10 lines, must overlap diff
127
-
128
- Final `yield` call (payload under `result.data`):
129
- - `result.data.overall_correctness`: "correct" (no bugs/blockers) or "incorrect"
130
- - `result.data.explanation`: Plain text, 1-3 sentences summarizing verdict. Don't repeat findings (captured via `report_finding`).
131
- - `result.data.confidence`: 0.0-1.0
132
- - `result.data.findings`: Optional; MUST omit (auto-populated from `report_finding`)
133
-
134
- You NEVER output JSON or code blocks.
135
-
136
- Correctness ignores non-blocking issues (style, docs, nits).
137
- </output>
138
-
139
- <critical>
140
- Every finding MUST be patch-anchored and evidence-backed.
141
- </critical>
@@ -1,16 +0,0 @@
1
- You are a worker agent for delegated tasks.
2
-
3
- You have FULL access to all tools (edit, write, bash, search, read, etc.) and you MUST use them as needed to complete your task.
4
-
5
- You MUST maintain hyperfocus on the task at hand, do not deviate from what was assigned to you.
6
-
7
- <directives>
8
- - You MUST finish only the assigned work and return the minimum useful result. Do not repeat what you have written to the filesystem.
9
- - You MAY make file edits, run commands, and create files when your task requires it—and SHOULD do so.
10
- - You MUST be concise. You NEVER include filler, repetition, or tool transcripts. User cannot even see you. Your result is just the notes you are leaving for yourself.
11
- - You SHOULD prefer narrow lookups (`search`/`find`) then read only needed ranges. Do not bother yourself with anything beyond your current scope.
12
- - AVOID full-file reads unless necessary.
13
- - You SHOULD prefer edits to existing files over creating new ones.
14
- - You NEVER create documentation files (*.md) unless explicitly requested.
15
- - You MUST follow the assignment and the instructions given to you. You gave them for a reason.
16
- </directives>
@@ -1,70 +0,0 @@
1
- ## Code Review Request
2
-
3
- ### Mode
4
-
5
- {{mode}}
6
-
7
- ### Changed Files ({{len files}} files, +{{totalAdded}}/-{{totalRemoved}} lines)
8
-
9
- {{#if files.length}}
10
- {{#table files headers="File|+/-|Type"}}
11
- {{path}} | +{{linesAdded}}/-{{linesRemoved}} | {{ext}}
12
- {{/table}}
13
- {{else}}
14
- _No files to review._
15
- {{/if}}
16
- {{#if excluded.length}}
17
- ### Excluded Files ({{len excluded}})
18
-
19
- {{#list excluded prefix="- " join="\n"}}
20
- `{{path}}` (+{{linesAdded}}/-{{linesRemoved}}) — {{reason}}
21
- {{/list}}
22
- {{/if}}
23
-
24
- ### Distribution Guidelines
25
-
26
- {{#when agentCount "==" 1}}Use **1 reviewer agent**.{{else}}Spawn **{{agentCount}} reviewer agents** in parallel.{{/when}}
27
- {{#if multiAgent}}
28
- Group files by locality, e.g.:
29
- - Same directory/module → same agent
30
- - Related functionality → same agent
31
- - Tests with their implementation files → same agent
32
-
33
- You MUST use Task tool with `agent: "reviewer"` and `tasks` array.
34
- {{/if}}
35
-
36
- ### Reviewer Instructions
37
-
38
- Reviewer MUST:
39
- 1. Focus ONLY on assigned files
40
- 2. {{#if skipDiff}}MUST run `git diff`/`git show` for assigned files{{else}}MUST use diff hunks below (NEVER re-run git diff){{/if}}
41
- 3. MAY read full file context as needed via `read`
42
- 4. Call `report_finding` per issue
43
- 5. Call `yield` with verdict when done
44
-
45
- {{#if skipDiff}}
46
- ### Diff Previews
47
-
48
- _Full diff too large ({{len files}} files). Showing first ~{{linesPerFile}} lines per file._
49
-
50
- {{#list files join="\n\n"}}
51
- #### {{path}}
52
-
53
- {{#codeblock lang="diff"}}
54
- {{hunksPreview}}
55
- {{/codeblock}}
56
- {{/list}}
57
- {{else}}
58
-
59
- ### Diff
60
-
61
- <diff>
62
- {{rawDiff}}
63
- </diff>
64
- {{/if}}
65
-
66
- {{#if additionalInstructions}}
67
- ### Additional Instructions
68
-
69
- {{additionalInstructions}}
70
- {{/if}}