cuelo 0.10.83 → 0.10.85

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 (368) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +31 -29
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +14 -0
  8. package/.next/server/app/_global-error/page.js +3 -3
  9. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/_global-error.html +1 -1
  11. package/.next/server/app/_global-error.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/_not-found/page.js +2 -2
  19. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/_not-found.html +1 -1
  21. package/.next/server/app/_not-found.rsc +2 -2
  22. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  23. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  25. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  28. package/.next/server/app/api/agent/[id]/account/route.js +1 -1
  29. package/.next/server/app/api/agent/[id]/bash-output/route.js +1 -1
  30. package/.next/server/app/api/agent/[id]/events/route.js +2 -2
  31. package/.next/server/app/api/agent/[id]/route.js +1 -1
  32. package/.next/server/app/api/agent/new/route.js +1 -1
  33. package/.next/server/app/api/agent/running/route.js +1 -1
  34. package/.next/server/app/api/attachment-settings/route.js +1 -1
  35. package/.next/server/app/api/attachments/[id]/transcription/route.js +2 -2
  36. package/.next/server/app/api/attachments/draft/route.js +1 -1
  37. package/.next/server/app/api/attachments/route.js +2 -2
  38. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  39. package/.next/server/app/api/auth/api-key/[provider]/route.js +1 -1
  40. package/.next/server/app/api/auth/login/[provider]/route.js +2 -2
  41. package/.next/server/app/api/auth/logout/[provider]/route.js +1 -1
  42. package/.next/server/app/api/auth/providers/route.js +1 -1
  43. package/.next/server/app/api/character-mode/route.js +2 -0
  44. package/.next/server/app/api/character-mode/route.js.nft.json +1 -0
  45. package/.next/server/app/api/character-mode/route_client-reference-manifest.js +1 -0
  46. package/.next/server/app/api/cwd/browse/route.js +1 -1
  47. package/.next/server/app/api/cwd/validate/route.js +1 -1
  48. package/.next/server/app/api/default-cwd/route.js +1 -1
  49. package/.next/server/app/api/display-settings/route.js +1 -1
  50. package/.next/server/app/api/document-text/route.js +2 -2
  51. package/.next/server/app/api/experiments/route.js +1 -1
  52. package/.next/server/app/api/file-index/route.js +1 -1
  53. package/.next/server/app/api/files/[...path]/route.js +1 -1
  54. package/.next/server/app/api/git/diff/route.js +2 -2
  55. package/.next/server/app/api/git/status/route.js +2 -2
  56. package/.next/server/app/api/github/projects/route.js +1 -1
  57. package/.next/server/app/api/gpt6/handles/route.js +1 -1
  58. package/.next/server/app/api/gpt6/reply/route.js +1 -1
  59. package/.next/server/app/api/gpt6/token/route.js +1 -1
  60. package/.next/server/app/api/gpt6/web6-session/route.js +1 -1
  61. package/.next/server/app/api/home/route.js +1 -1
  62. package/.next/server/app/api/live/call/[callId]/route.js +1 -1
  63. package/.next/server/app/api/live/call/[callId]/route.js.nft.json +1 -1
  64. package/.next/server/app/api/live/events/route.js +2 -2
  65. package/.next/server/app/api/live/events/route.js.nft.json +1 -1
  66. package/.next/server/app/api/live/interpret/cloud/events/route.js +2 -2
  67. package/.next/server/app/api/live/interpret/cloud/events/route.js.nft.json +1 -1
  68. package/.next/server/app/api/live/interpret/cloud/input/route.js +1 -1
  69. package/.next/server/app/api/live/interpret/cloud/input/route.js.nft.json +1 -1
  70. package/.next/server/app/api/live/interpret/cloud/route.js +1 -1
  71. package/.next/server/app/api/live/interpret/cloud/route.js.nft.json +1 -1
  72. package/.next/server/app/api/live/interpret/route.js +1 -1
  73. package/.next/server/app/api/live/interpret/route.js.nft.json +1 -1
  74. package/.next/server/app/api/live/offer/route.js +1 -1
  75. package/.next/server/app/api/live/offer/route.js.nft.json +1 -1
  76. package/.next/server/app/api/live/voices/route.js +1 -1
  77. package/.next/server/app/api/live/voices/route.js.nft.json +1 -1
  78. package/.next/server/app/api/mcp/route.js +2 -2
  79. package/.next/server/app/api/model-roles/route.js +1 -1
  80. package/.next/server/app/api/models/route.js +1 -1
  81. package/.next/server/app/api/models-config/catalog/route.js +1 -1
  82. package/.next/server/app/api/models-config/discover/route.js +1 -1
  83. package/.next/server/app/api/models-config/route.js +2 -2
  84. package/.next/server/app/api/models-config/test/route.js +1 -1
  85. package/.next/server/app/api/office-characters/[...path]/route.js +2 -0
  86. package/.next/server/app/api/office-characters/[...path]/route.js.nft.json +1 -0
  87. package/.next/server/app/api/office-characters/[...path]/route_client-reference-manifest.js +1 -0
  88. package/.next/server/app/api/plugins/route.js +1 -1
  89. package/.next/server/app/api/project-docs/route.js +1 -1
  90. package/.next/server/app/api/project-trust/route.js +1 -1
  91. package/.next/server/app/api/projects/route.js +1 -1
  92. package/.next/server/app/api/runs/[runId]/prelude/route.js +1 -1
  93. package/.next/server/app/api/runs/[runId]/route.js +1 -1
  94. package/.next/server/app/api/runs/[runId]/turns/route.js +1 -1
  95. package/.next/server/app/api/runs/route.js +1 -1
  96. package/.next/server/app/api/sessions/[id]/auto-name/route.js +1 -1
  97. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  98. package/.next/server/app/api/sessions/[id]/entries/[entryId]/thinking/route.js +1 -1
  99. package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
  100. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  101. package/.next/server/app/api/sessions/[id]/state/route.js +1 -1
  102. package/.next/server/app/api/sessions/route.js +1 -1
  103. package/.next/server/app/api/sessions/search/route.js +1 -1
  104. package/.next/server/app/api/settings/route.js +1 -1
  105. package/.next/server/app/api/sidecars/[service]/[...path]/route.js +1 -1
  106. package/.next/server/app/api/skills/check/route.js +1 -1
  107. package/.next/server/app/api/skills/install/route.js +2 -2
  108. package/.next/server/app/api/skills/route.js +2 -2
  109. package/.next/server/app/api/skills/search/route.js +1 -1
  110. package/.next/server/app/api/skills/update/route.js +1 -1
  111. package/.next/server/app/api/subagents/eta/route.js +1 -1
  112. package/.next/server/app/api/theme/route.js +1 -1
  113. package/.next/server/app/api/tool-image/route.js +1 -1
  114. package/.next/server/app/api/update-maintenance/route.js +2 -2
  115. package/.next/server/app/api/updates/route.js +1 -1
  116. package/.next/server/app/api/web-access/recovery/route.js +1 -1
  117. package/.next/server/app/api/web-access/route.js +1 -1
  118. package/.next/server/app/api/web6/consults/route.js +1 -1
  119. package/.next/server/app/api/worktrees/route.js +1 -1
  120. package/.next/server/app/favicon.ico/route.js +1 -1
  121. package/.next/server/app/index.html +1 -1
  122. package/.next/server/app/index.rsc +4 -4
  123. package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  124. package/.next/server/app/index.segments/_full.segment.rsc +4 -4
  125. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  126. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  127. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  128. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  129. package/.next/server/app/page.js +21 -21
  130. package/.next/server/app/page_client-reference-manifest.js +1 -1
  131. package/.next/server/app/recover/page.js +2 -2
  132. package/.next/server/app/recover/page_client-reference-manifest.js +1 -1
  133. package/.next/server/app/recover.html +1 -1
  134. package/.next/server/app/recover.rsc +2 -2
  135. package/.next/server/app/recover.segments/_full.segment.rsc +2 -2
  136. package/.next/server/app/recover.segments/_head.segment.rsc +1 -1
  137. package/.next/server/app/recover.segments/_index.segment.rsc +2 -2
  138. package/.next/server/app/recover.segments/_tree.segment.rsc +1 -1
  139. package/.next/server/app/recover.segments/recover/__PAGE__.segment.rsc +1 -1
  140. package/.next/server/app/recover.segments/recover.segment.rsc +1 -1
  141. package/.next/server/app-paths-manifest.json +31 -29
  142. package/.next/server/chunks/{6775.js → 205.js} +2 -2
  143. package/.next/server/chunks/3379.js +1 -1
  144. package/.next/server/chunks/7738.js +1 -0
  145. package/.next/server/functions-config-manifest.json +2 -0
  146. package/.next/server/middleware-build-manifest.js +1 -1
  147. package/.next/server/pages/404.html +1 -1
  148. package/.next/server/pages/500.html +1 -1
  149. package/.next/server/server-reference-manifest.json +1 -1
  150. package/.next/static/chunks/app/_global-error/page-436da0332762a8e3.js +1 -0
  151. package/.next/static/chunks/app/api/agent/[id]/account/route-436da0332762a8e3.js +1 -0
  152. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-436da0332762a8e3.js +1 -0
  153. package/.next/static/chunks/app/api/agent/[id]/events/route-436da0332762a8e3.js +1 -0
  154. package/.next/static/chunks/app/api/agent/[id]/route-436da0332762a8e3.js +1 -0
  155. package/.next/static/chunks/app/api/agent/new/route-436da0332762a8e3.js +1 -0
  156. package/.next/static/chunks/app/api/agent/running/route-436da0332762a8e3.js +1 -0
  157. package/.next/static/chunks/app/api/attachment-settings/route-436da0332762a8e3.js +1 -0
  158. package/.next/static/chunks/app/api/attachments/[id]/transcription/route-436da0332762a8e3.js +1 -0
  159. package/.next/static/chunks/app/api/attachments/draft/route-436da0332762a8e3.js +1 -0
  160. package/.next/static/chunks/app/api/attachments/route-436da0332762a8e3.js +1 -0
  161. package/.next/static/chunks/app/api/auth/all-providers/route-436da0332762a8e3.js +1 -0
  162. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-436da0332762a8e3.js +1 -0
  163. package/.next/static/chunks/app/api/auth/login/[provider]/route-436da0332762a8e3.js +1 -0
  164. package/.next/static/chunks/app/api/auth/logout/[provider]/route-436da0332762a8e3.js +1 -0
  165. package/.next/static/chunks/app/api/auth/providers/route-436da0332762a8e3.js +1 -0
  166. package/.next/static/chunks/app/api/character-mode/route-436da0332762a8e3.js +1 -0
  167. package/.next/static/chunks/app/api/cwd/browse/route-436da0332762a8e3.js +1 -0
  168. package/.next/static/chunks/app/api/cwd/validate/route-436da0332762a8e3.js +1 -0
  169. package/.next/static/chunks/app/api/default-cwd/route-436da0332762a8e3.js +1 -0
  170. package/.next/static/chunks/app/api/display-settings/route-436da0332762a8e3.js +1 -0
  171. package/.next/static/chunks/app/api/document-text/route-436da0332762a8e3.js +1 -0
  172. package/.next/static/chunks/app/api/experiments/route-436da0332762a8e3.js +1 -0
  173. package/.next/static/chunks/app/api/file-index/route-436da0332762a8e3.js +1 -0
  174. package/.next/static/chunks/app/api/files/[...path]/route-436da0332762a8e3.js +1 -0
  175. package/.next/static/chunks/app/api/git/diff/route-436da0332762a8e3.js +1 -0
  176. package/.next/static/chunks/app/api/git/status/route-436da0332762a8e3.js +1 -0
  177. package/.next/static/chunks/app/api/github/projects/route-436da0332762a8e3.js +1 -0
  178. package/.next/static/chunks/app/api/gpt6/handles/route-436da0332762a8e3.js +1 -0
  179. package/.next/static/chunks/app/api/gpt6/reply/route-436da0332762a8e3.js +1 -0
  180. package/.next/static/chunks/app/api/gpt6/token/route-436da0332762a8e3.js +1 -0
  181. package/.next/static/chunks/app/api/gpt6/web6-session/route-436da0332762a8e3.js +1 -0
  182. package/.next/static/chunks/app/api/home/route-436da0332762a8e3.js +1 -0
  183. package/.next/static/chunks/app/api/live/call/[callId]/route-436da0332762a8e3.js +1 -0
  184. package/.next/static/chunks/app/api/live/events/route-436da0332762a8e3.js +1 -0
  185. package/.next/static/chunks/app/api/live/interpret/cloud/events/route-436da0332762a8e3.js +1 -0
  186. package/.next/static/chunks/app/api/live/interpret/cloud/input/route-436da0332762a8e3.js +1 -0
  187. package/.next/static/chunks/app/api/live/interpret/cloud/route-436da0332762a8e3.js +1 -0
  188. package/.next/static/chunks/app/api/live/interpret/route-436da0332762a8e3.js +1 -0
  189. package/.next/static/chunks/app/api/live/offer/route-436da0332762a8e3.js +1 -0
  190. package/.next/static/chunks/app/api/live/voices/route-436da0332762a8e3.js +1 -0
  191. package/.next/static/chunks/app/api/mcp/route-436da0332762a8e3.js +1 -0
  192. package/.next/static/chunks/app/api/model-roles/route-436da0332762a8e3.js +1 -0
  193. package/.next/static/chunks/app/api/models/route-436da0332762a8e3.js +1 -0
  194. package/.next/static/chunks/app/api/models-config/catalog/route-436da0332762a8e3.js +1 -0
  195. package/.next/static/chunks/app/api/models-config/discover/route-436da0332762a8e3.js +1 -0
  196. package/.next/static/chunks/app/api/models-config/route-436da0332762a8e3.js +1 -0
  197. package/.next/static/chunks/app/api/models-config/test/route-436da0332762a8e3.js +1 -0
  198. package/.next/static/chunks/app/api/office-characters/[...path]/route-436da0332762a8e3.js +1 -0
  199. package/.next/static/chunks/app/api/plugins/route-436da0332762a8e3.js +1 -0
  200. package/.next/static/chunks/app/api/project-docs/route-436da0332762a8e3.js +1 -0
  201. package/.next/static/chunks/app/api/project-trust/route-436da0332762a8e3.js +1 -0
  202. package/.next/static/chunks/app/api/projects/route-436da0332762a8e3.js +1 -0
  203. package/.next/static/chunks/app/api/runs/[runId]/prelude/route-436da0332762a8e3.js +1 -0
  204. package/.next/static/chunks/app/api/runs/[runId]/route-436da0332762a8e3.js +1 -0
  205. package/.next/static/chunks/app/api/runs/[runId]/turns/route-436da0332762a8e3.js +1 -0
  206. package/.next/static/chunks/app/api/runs/route-436da0332762a8e3.js +1 -0
  207. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-436da0332762a8e3.js +1 -0
  208. package/.next/static/chunks/app/api/sessions/[id]/context/route-436da0332762a8e3.js +1 -0
  209. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-436da0332762a8e3.js +1 -0
  210. package/.next/static/chunks/app/api/sessions/[id]/export/route-436da0332762a8e3.js +1 -0
  211. package/.next/static/chunks/app/api/sessions/[id]/route-436da0332762a8e3.js +1 -0
  212. package/.next/static/chunks/app/api/sessions/[id]/state/route-436da0332762a8e3.js +1 -0
  213. package/.next/static/chunks/app/api/sessions/route-436da0332762a8e3.js +1 -0
  214. package/.next/static/chunks/app/api/sessions/search/route-436da0332762a8e3.js +1 -0
  215. package/.next/static/chunks/app/api/settings/route-436da0332762a8e3.js +1 -0
  216. package/.next/static/chunks/app/api/sidecars/[service]/[...path]/route-436da0332762a8e3.js +1 -0
  217. package/.next/static/chunks/app/api/skills/check/route-436da0332762a8e3.js +1 -0
  218. package/.next/static/chunks/app/api/skills/install/route-436da0332762a8e3.js +1 -0
  219. package/.next/static/chunks/app/api/skills/route-436da0332762a8e3.js +1 -0
  220. package/.next/static/chunks/app/api/skills/search/route-436da0332762a8e3.js +1 -0
  221. package/.next/static/chunks/app/api/skills/update/route-436da0332762a8e3.js +1 -0
  222. package/.next/static/chunks/app/api/subagents/eta/route-436da0332762a8e3.js +1 -0
  223. package/.next/static/chunks/app/api/theme/route-436da0332762a8e3.js +1 -0
  224. package/.next/static/chunks/app/api/tool-image/route-436da0332762a8e3.js +1 -0
  225. package/.next/static/chunks/app/api/update-maintenance/route-436da0332762a8e3.js +1 -0
  226. package/.next/static/chunks/app/api/updates/route-436da0332762a8e3.js +1 -0
  227. package/.next/static/chunks/app/api/web-access/recovery/route-436da0332762a8e3.js +1 -0
  228. package/.next/static/chunks/app/api/web-access/route-436da0332762a8e3.js +1 -0
  229. package/.next/static/chunks/app/api/web6/consults/route-436da0332762a8e3.js +1 -0
  230. package/.next/static/chunks/app/api/worktrees/route-436da0332762a8e3.js +1 -0
  231. package/.next/static/chunks/app/{layout-4e22adaca20b3c57.js → layout-9732ddae4dc9638c.js} +1 -1
  232. package/.next/static/chunks/app/manifest.webmanifest/route-436da0332762a8e3.js +1 -0
  233. package/.next/static/chunks/app/page-8e9c8449e2f53ae8.js +75 -0
  234. package/.next/static/chunks/next/dist/client/components/builtin/app-error-436da0332762a8e3.js +1 -0
  235. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-436da0332762a8e3.js +1 -0
  236. package/.next/static/chunks/next/dist/client/components/builtin/not-found-436da0332762a8e3.js +1 -0
  237. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-436da0332762a8e3.js +1 -0
  238. package/.next/static/y4k_8nU4FYWcP7nTP4oCU/_buildManifest.js +1 -0
  239. package/.next/trace +108 -108
  240. package/.next/trace-build +1 -1
  241. package/.next/types/app/api/character-mode/route.ts +351 -0
  242. package/.next/types/app/api/office-characters/[...path]/route.ts +351 -0
  243. package/.next/types/routes.d.ts +3 -1
  244. package/.next/types/validator.ts +18 -0
  245. package/README.md +1 -1
  246. package/Tools/CUELO_Setup/files/native-runtime-patch.js +1 -1
  247. package/Tools/OMP_Global_Config/agent/extensions/character-voice.ts +217 -22
  248. package/Tools/OMP_Global_Config/agent/extensions/slop-gate/review.ts +1 -1
  249. package/Tools/OMP_Global_Config/agent/rules/harness-policy.json +2 -1
  250. package/Tools/OMP_Global_Config/agent/skills/humanizer/LICENSE.txt +21 -0
  251. package/Tools/OMP_Global_Config/agent/skills/humanizer/SKILL.md +357 -0
  252. package/Tools/OMP_Global_Config/agent/skills/humanizer/UPSTREAM.json +37 -0
  253. package/Tools/OMP_Global_Config/agent/skills/humanizer/examples/after-1.md +17 -0
  254. package/Tools/OMP_Global_Config/agent/skills/humanizer/examples/after-2.md +27 -0
  255. package/Tools/OMP_Global_Config/agent/skills/humanizer/examples/after-3.md +60 -0
  256. package/Tools/OMP_Global_Config/agent/skills/humanizer/examples/after-4.md +50 -0
  257. package/Tools/OMP_Global_Config/agent/skills/humanizer/examples/before-1.md +15 -0
  258. package/Tools/OMP_Global_Config/agent/skills/humanizer/examples/before-2.md +27 -0
  259. package/Tools/OMP_Global_Config/agent/skills/humanizer/examples/before-3.md +29 -0
  260. package/Tools/OMP_Global_Config/agent/skills/humanizer/examples/before-4.md +23 -0
  261. package/Tools/OMP_Global_Config/agent/skills/humanizer/references/pos-patterns.md +132 -0
  262. package/Tools/OMP_Global_Config/agent/skills/humanizer/references/punctuation-patterns.md +353 -0
  263. package/Tools/OMP_Global_Config/agent/skills/humanizer/references/spacing-patterns.md +132 -0
  264. package/Tools/OMP_Global_Config/agent/skills/humanizer/references/structure-patterns.md +186 -0
  265. package/Tools/OMP_Global_Config/agent/skills/humanizer/references/translation-ese-patterns.md +641 -0
  266. package/Tools/OMP_Global_Config/agent/skills/humanizer/references/vocabulary-patterns.md +511 -0
  267. package/Tools/OMP_Global_Config/agent/skills/kill-ai-slop/LICENSE +202 -0
  268. package/Tools/OMP_Global_Config/agent/skills/kill-ai-slop/README.md +113 -0
  269. package/Tools/OMP_Global_Config/agent/skills/kill-ai-slop/SKILL.md +121 -0
  270. package/Tools/OMP_Global_Config/agent/skills/kill-ai-slop/references/detection.md +411 -0
  271. package/Tools/OMP_Global_Config/agent/skills/kill-ai-slop/references/fixes.md +368 -0
  272. package/Tools/OMP_Global_Config/agent/skills/kill-ai-slop/references/taxonomy.md +343 -0
  273. package/Tools/OMP_Global_Config/agent/skills/kill-ai-slop/scripts/rules.ru.mjs +23 -0
  274. package/Tools/OMP_Global_Config/agent/skills/kill-ai-slop/scripts/scan.mjs +508 -0
  275. package/Tools/OMP_Global_Config/agent/skills/stop-slop/LICENSE +21 -0
  276. package/Tools/OMP_Global_Config/agent/skills/stop-slop/README.md +62 -0
  277. package/Tools/OMP_Global_Config/agent/skills/stop-slop/SKILL.md +68 -0
  278. package/Tools/OMP_Global_Config/agent/skills/stop-slop/references/examples.md +59 -0
  279. package/Tools/OMP_Global_Config/agent/skills/stop-slop/references/phrases.md +128 -0
  280. package/Tools/OMP_Global_Config/agent/skills/stop-slop/references/structures.md +134 -0
  281. package/package.json +4 -1
  282. package/.next/static/chunks/app/_global-error/page-60d4ba1619c3b27a.js +0 -1
  283. package/.next/static/chunks/app/api/agent/[id]/account/route-60d4ba1619c3b27a.js +0 -1
  284. package/.next/static/chunks/app/api/agent/[id]/bash-output/route-60d4ba1619c3b27a.js +0 -1
  285. package/.next/static/chunks/app/api/agent/[id]/events/route-60d4ba1619c3b27a.js +0 -1
  286. package/.next/static/chunks/app/api/agent/[id]/route-60d4ba1619c3b27a.js +0 -1
  287. package/.next/static/chunks/app/api/agent/new/route-60d4ba1619c3b27a.js +0 -1
  288. package/.next/static/chunks/app/api/agent/running/route-60d4ba1619c3b27a.js +0 -1
  289. package/.next/static/chunks/app/api/attachment-settings/route-60d4ba1619c3b27a.js +0 -1
  290. package/.next/static/chunks/app/api/attachments/[id]/transcription/route-60d4ba1619c3b27a.js +0 -1
  291. package/.next/static/chunks/app/api/attachments/draft/route-60d4ba1619c3b27a.js +0 -1
  292. package/.next/static/chunks/app/api/attachments/route-60d4ba1619c3b27a.js +0 -1
  293. package/.next/static/chunks/app/api/auth/all-providers/route-60d4ba1619c3b27a.js +0 -1
  294. package/.next/static/chunks/app/api/auth/api-key/[provider]/route-60d4ba1619c3b27a.js +0 -1
  295. package/.next/static/chunks/app/api/auth/login/[provider]/route-60d4ba1619c3b27a.js +0 -1
  296. package/.next/static/chunks/app/api/auth/logout/[provider]/route-60d4ba1619c3b27a.js +0 -1
  297. package/.next/static/chunks/app/api/auth/providers/route-60d4ba1619c3b27a.js +0 -1
  298. package/.next/static/chunks/app/api/cwd/browse/route-60d4ba1619c3b27a.js +0 -1
  299. package/.next/static/chunks/app/api/cwd/validate/route-60d4ba1619c3b27a.js +0 -1
  300. package/.next/static/chunks/app/api/default-cwd/route-60d4ba1619c3b27a.js +0 -1
  301. package/.next/static/chunks/app/api/display-settings/route-60d4ba1619c3b27a.js +0 -1
  302. package/.next/static/chunks/app/api/document-text/route-60d4ba1619c3b27a.js +0 -1
  303. package/.next/static/chunks/app/api/experiments/route-60d4ba1619c3b27a.js +0 -1
  304. package/.next/static/chunks/app/api/file-index/route-60d4ba1619c3b27a.js +0 -1
  305. package/.next/static/chunks/app/api/files/[...path]/route-60d4ba1619c3b27a.js +0 -1
  306. package/.next/static/chunks/app/api/git/diff/route-60d4ba1619c3b27a.js +0 -1
  307. package/.next/static/chunks/app/api/git/status/route-60d4ba1619c3b27a.js +0 -1
  308. package/.next/static/chunks/app/api/github/projects/route-60d4ba1619c3b27a.js +0 -1
  309. package/.next/static/chunks/app/api/gpt6/handles/route-60d4ba1619c3b27a.js +0 -1
  310. package/.next/static/chunks/app/api/gpt6/reply/route-60d4ba1619c3b27a.js +0 -1
  311. package/.next/static/chunks/app/api/gpt6/token/route-60d4ba1619c3b27a.js +0 -1
  312. package/.next/static/chunks/app/api/gpt6/web6-session/route-60d4ba1619c3b27a.js +0 -1
  313. package/.next/static/chunks/app/api/home/route-60d4ba1619c3b27a.js +0 -1
  314. package/.next/static/chunks/app/api/live/call/[callId]/route-60d4ba1619c3b27a.js +0 -1
  315. package/.next/static/chunks/app/api/live/events/route-60d4ba1619c3b27a.js +0 -1
  316. package/.next/static/chunks/app/api/live/interpret/cloud/events/route-60d4ba1619c3b27a.js +0 -1
  317. package/.next/static/chunks/app/api/live/interpret/cloud/input/route-60d4ba1619c3b27a.js +0 -1
  318. package/.next/static/chunks/app/api/live/interpret/cloud/route-60d4ba1619c3b27a.js +0 -1
  319. package/.next/static/chunks/app/api/live/interpret/route-60d4ba1619c3b27a.js +0 -1
  320. package/.next/static/chunks/app/api/live/offer/route-60d4ba1619c3b27a.js +0 -1
  321. package/.next/static/chunks/app/api/live/voices/route-60d4ba1619c3b27a.js +0 -1
  322. package/.next/static/chunks/app/api/mcp/route-60d4ba1619c3b27a.js +0 -1
  323. package/.next/static/chunks/app/api/model-roles/route-60d4ba1619c3b27a.js +0 -1
  324. package/.next/static/chunks/app/api/models/route-60d4ba1619c3b27a.js +0 -1
  325. package/.next/static/chunks/app/api/models-config/catalog/route-60d4ba1619c3b27a.js +0 -1
  326. package/.next/static/chunks/app/api/models-config/discover/route-60d4ba1619c3b27a.js +0 -1
  327. package/.next/static/chunks/app/api/models-config/route-60d4ba1619c3b27a.js +0 -1
  328. package/.next/static/chunks/app/api/models-config/test/route-60d4ba1619c3b27a.js +0 -1
  329. package/.next/static/chunks/app/api/plugins/route-60d4ba1619c3b27a.js +0 -1
  330. package/.next/static/chunks/app/api/project-docs/route-60d4ba1619c3b27a.js +0 -1
  331. package/.next/static/chunks/app/api/project-trust/route-60d4ba1619c3b27a.js +0 -1
  332. package/.next/static/chunks/app/api/projects/route-60d4ba1619c3b27a.js +0 -1
  333. package/.next/static/chunks/app/api/runs/[runId]/prelude/route-60d4ba1619c3b27a.js +0 -1
  334. package/.next/static/chunks/app/api/runs/[runId]/route-60d4ba1619c3b27a.js +0 -1
  335. package/.next/static/chunks/app/api/runs/[runId]/turns/route-60d4ba1619c3b27a.js +0 -1
  336. package/.next/static/chunks/app/api/runs/route-60d4ba1619c3b27a.js +0 -1
  337. package/.next/static/chunks/app/api/sessions/[id]/auto-name/route-60d4ba1619c3b27a.js +0 -1
  338. package/.next/static/chunks/app/api/sessions/[id]/context/route-60d4ba1619c3b27a.js +0 -1
  339. package/.next/static/chunks/app/api/sessions/[id]/entries/[entryId]/thinking/route-60d4ba1619c3b27a.js +0 -1
  340. package/.next/static/chunks/app/api/sessions/[id]/export/route-60d4ba1619c3b27a.js +0 -1
  341. package/.next/static/chunks/app/api/sessions/[id]/route-60d4ba1619c3b27a.js +0 -1
  342. package/.next/static/chunks/app/api/sessions/[id]/state/route-60d4ba1619c3b27a.js +0 -1
  343. package/.next/static/chunks/app/api/sessions/route-60d4ba1619c3b27a.js +0 -1
  344. package/.next/static/chunks/app/api/sessions/search/route-60d4ba1619c3b27a.js +0 -1
  345. package/.next/static/chunks/app/api/settings/route-60d4ba1619c3b27a.js +0 -1
  346. package/.next/static/chunks/app/api/sidecars/[service]/[...path]/route-60d4ba1619c3b27a.js +0 -1
  347. package/.next/static/chunks/app/api/skills/check/route-60d4ba1619c3b27a.js +0 -1
  348. package/.next/static/chunks/app/api/skills/install/route-60d4ba1619c3b27a.js +0 -1
  349. package/.next/static/chunks/app/api/skills/route-60d4ba1619c3b27a.js +0 -1
  350. package/.next/static/chunks/app/api/skills/search/route-60d4ba1619c3b27a.js +0 -1
  351. package/.next/static/chunks/app/api/skills/update/route-60d4ba1619c3b27a.js +0 -1
  352. package/.next/static/chunks/app/api/subagents/eta/route-60d4ba1619c3b27a.js +0 -1
  353. package/.next/static/chunks/app/api/theme/route-60d4ba1619c3b27a.js +0 -1
  354. package/.next/static/chunks/app/api/tool-image/route-60d4ba1619c3b27a.js +0 -1
  355. package/.next/static/chunks/app/api/update-maintenance/route-60d4ba1619c3b27a.js +0 -1
  356. package/.next/static/chunks/app/api/updates/route-60d4ba1619c3b27a.js +0 -1
  357. package/.next/static/chunks/app/api/web-access/recovery/route-60d4ba1619c3b27a.js +0 -1
  358. package/.next/static/chunks/app/api/web-access/route-60d4ba1619c3b27a.js +0 -1
  359. package/.next/static/chunks/app/api/web6/consults/route-60d4ba1619c3b27a.js +0 -1
  360. package/.next/static/chunks/app/api/worktrees/route-60d4ba1619c3b27a.js +0 -1
  361. package/.next/static/chunks/app/manifest.webmanifest/route-60d4ba1619c3b27a.js +0 -1
  362. package/.next/static/chunks/app/page-b61cdb3a88126c55.js +0 -75
  363. package/.next/static/chunks/next/dist/client/components/builtin/app-error-60d4ba1619c3b27a.js +0 -1
  364. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-60d4ba1619c3b27a.js +0 -1
  365. package/.next/static/chunks/next/dist/client/components/builtin/not-found-60d4ba1619c3b27a.js +0 -1
  366. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-60d4ba1619c3b27a.js +0 -1
  367. package/.next/static/vdQU0PJ0EqoAWyaBUHRpd/_buildManifest.js +0 -1
  368. /package/.next/static/{vdQU0PJ0EqoAWyaBUHRpd → y4k_8nU4FYWcP7nTP4oCU}/_ssgManifest.js +0 -0
@@ -0,0 +1,641 @@
1
+ # 번역투 패턴 (25-36, 40)
2
+
3
+ **우선순위: 높음** — 검출 정확도: 경험적 (korean-skills community)
4
+
5
+ 영어 번역투(Translation-ese)는 한국어 LLM 텍스트의 가장 결정적인 신호 중 하나입니다. KatFishNet 논문이 밝힌 문장부호·띄어쓰기·품사 다양성 패턴이 **통계적 분포**에 기반한다면, 번역투는 **개별 어절·구문 차원에서 즉시 식별 가능한 결정적 마커**입니다. 영어 학습 데이터의 통사 구조가 한국어로 매핑되며 발생하며, 한국어 원어민이 자연스럽게 쓰지 않는 표현 패턴을 만듭니다.
6
+
7
+ 이 카테고리는 12개 패턴을 4개 하위 그룹으로 분류합니다:
8
+
9
+ - **조사 번역투** (25~29): `~에 대해`, `~를 통해`, `~에 있어서`, `~와 관련하여`, `~에 기반하여`
10
+ - **동사 잉여·피동** (30~32): `가지고 있다`, 이중 피동 `~되어진다`, `~에 의해` 영어식 피동
11
+ - **가능·목적 표현 남발** (33~34): `~할 수 있다`, `~을 위해` 목적절
12
+ - **통사 구조 번역투** (35~36): 추상 주어 + 만능 동사, `~라는 점에서` 인과
13
+
14
+ ---
15
+
16
+ ## 패턴 25: "~에 대해(서)" 남발
17
+
18
+ **메타데이터**:
19
+ - 검증: 📊 경험적
20
+ - 심각도: S2 (1~2회 허용, 3회+ 반복 시 신호)
21
+ - 버전: 1.4.0
22
+
23
+ **검출 기준**:
24
+ - 목적격 조사(을/를)로 직결 가능한 자리에 `~에 대해(서)` 사용
25
+ - 흔한 패턴: "X에 대해 논의하다", "X에 대해 분석하다", "X에 대해 설명하다", "X에 대해 알아보다"
26
+ - 같은 단락에 2회+ 등장 시 매우 강한 신호
27
+
28
+ **과학적 근거**:
29
+ - 영어 전치사 "about/regarding/concerning"의 직접 번역
30
+ - 한국어 원어민은 목적어를 동사에 직결하는 것을 선호함 (`X를 논의` > `X에 대해 논의`)
31
+ - LLM 학습 데이터의 번역체 영향으로 영어 전치사 패턴이 한국어로 전이됨
32
+
33
+ **발생 원인**:
34
+ - 영어 학술·비즈니스 글의 번역체에 노출된 학습 데이터
35
+ - "직접 목적어"보다 "간접 표현"을 격식적·완곡적이라고 인식하는 편향
36
+ - 영어 원문의 통사 구조를 그대로 보존하려는 번역 관성
37
+
38
+ **수정 방법**:
39
+ - `X에 대해 V` → `X를 V`: "이 문제에 대해 논의" → "이 문제를 논의"
40
+ - 의미가 진정한 "~에 관하여"라면 맥락에 맞게 환원하거나 생략
41
+ - 문맥상 자명하면 통째로 제거
42
+
43
+ **예시**:
44
+
45
+ *수정 전 (AI 작문)*:
46
+ ```
47
+ 이 보고서는 인공지능의 미래에 대해 분석합니다. 우리는 다양한 가능성에 대해 검토하고, 시장 동향에 대해 설명합니다.
48
+ ```
49
+
50
+ *수정 후 (자연스러운 글)*:
51
+ ```
52
+ 이 보고서는 인공지능의 미래를 분석합니다. 다양한 가능성을 검토하고 시장 동향을 설명합니다.
53
+ ```
54
+
55
+ *설명*: 세 곳의 `~에 대해`를 모두 목적격 조사로 환원했습니다. 두 번째 문장에서는 주어("우리는")도 함께 생략해 한국어다운 흐름을 만들었습니다.
56
+
57
+ **`에 대해` 사용이 자연스러운 경우**:
58
+ - 진정한 의견·태도 표명: "이 문제에 대해 어떻게 생각하세요?" (✅ 의견 표명 대상)
59
+ - 추상적 사고의 대상: "그는 정의에 대해 깊이 고민했다" (✅ 사고의 대상)
60
+ - 토론·논쟁의 대상으로 명시될 때: "기후 변화에 대한 대응 방안" (✅ 명사구 수식)
61
+
62
+ ---
63
+
64
+ ## 패턴 26: "~를 통해/통하여" 남발
65
+
66
+ **메타데이터**:
67
+ - 검증: 📊 경험적
68
+ - 심각도: S2 (1~2회 허용, 3회+ 반복 시 신호)
69
+ - 버전: 1.4.0
70
+
71
+ **검출 기준**:
72
+ - 같은 단락에 3회+ 등장
73
+ - 도구·수단을 표현하는 자리에 `~를 통해`만 반복
74
+ - 흔한 패턴: "X를 통해 Y를 달성", "X를 통해 분석", "X를 통해 개선"
75
+
76
+ **과학적 근거**:
77
+ - 영어 전치사 "through/via/by means of"의 직접 번역
78
+ - 한국어는 도구·수단 표현이 다양함: `~로`, `~해서`, `~함으로써`, `~을 거쳐`, `~로써`
79
+ - 단일 표현의 반복은 어휘 다양성 결핍을 드러내는 신호
80
+
81
+ **발생 원인**:
82
+ - LLM이 "통해"를 만능 도구 조사로 학습한 편향
83
+ - 다른 도구 표현으로 분산하는 능력 부족
84
+ - 영어 원문의 단조로운 전치사 패턴이 그대로 전이됨
85
+
86
+ **수정 방법**:
87
+ - `~로`로 환원: "도구를 통해 측정" → "도구로 측정"
88
+ - `~해서`로 환원: "분석을 통해 알아냈다" → "분석해서 알아냈다"
89
+ - `~함으로써`: 격식이 필요할 때 대안
90
+ - 1회는 자연스럽고 2회+면 의도적으로 분산
91
+
92
+ **예시**:
93
+
94
+ *수정 전 (AI 작문)*:
95
+ ```
96
+ AI를 통해 데이터를 수집하고, 모델을 통해 분석하며, 시각화 도구를 통해 결과를 표시합니다.
97
+ ```
98
+
99
+ *수정 후 (자연스러운 글)*:
100
+ ```
101
+ AI로 데이터를 수집하고, 모델로 분석한 뒤, 시각화 도구에 결과를 띄웁니다.
102
+ ```
103
+
104
+ *설명*: 세 번의 `~를 통해`를 각각 도구 조사 `~로`(2회)와 처소 조사 `~에`(시각화 동작)로 분산했습니다. 동사 "표시한다"도 더 한국어다운 "띄운다"로 바꿨습니다.
105
+
106
+ **`통해` 사용이 자연스러운 경우**:
107
+ - 1회 단독 사용: "교육을 통해 인식이 바뀌었다" (✅ 자연스러움)
108
+ - 추상적 매개체: "예술을 통해 사회를 비판한다" (✅ 매개 강조)
109
+
110
+ ---
111
+
112
+ ## 패턴 27: "~에 있어(서)" 격식 차용
113
+
114
+ **메타데이터**:
115
+ - 검증: 📊 경험적
116
+ - 심각도: S1 (한 번만 나와도 결정적)
117
+ - 버전: 1.4.0
118
+
119
+ **검출 기준**:
120
+ - "X에 있어서 Y하다" 형식
121
+ - 흔한 패턴: "이 분야에 있어서", "교육에 있어서", "AI 시대에 있어서"
122
+ - 1회만 등장해도 결정적 신호
123
+
124
+ **과학적 근거**:
125
+ - 일본어 「において」의 차용으로, 한국어 자연 발달 표현이 아님
126
+ - 한국어 원어민은 `~에서`, `~의 경우`, `~을 볼 때`를 선호
127
+ - 국립국어원과 한국어 작문 지침에서도 자제 권고하는 표현
128
+ - AI 텍스트의 격식체 마커로 거의 결정적
129
+
130
+ **발생 원인**:
131
+ - 격식체·학술 일본어 번역에 노출된 학습 데이터
132
+ - LLM이 격식 톤을 흉내낼 때 가장 먼저 도달하는 표현
133
+ - 한국어 자연 표현(`~에서`) 대신 차용 형태가 격식적이라고 잘못 학습됨
134
+
135
+ **수정 방법**:
136
+ - `~에서`로 환원: "교육에 있어서" → "교육에서"
137
+ - `~의 경우`: "이 사안에 있어서" → "이 사안의 경우"
138
+ - `~을 볼 때`: 분석적 맥락일 때
139
+ - 통째로 제거: "AI 시대에 있어서 우리는" → "AI 시대에 우리는"
140
+
141
+ **예시**:
142
+
143
+ *수정 전 (AI 작문)*:
144
+ ```
145
+ 현대 사회에 있어서 데이터의 중요성은 매우 크다. 이 점에 있어서 모든 기업이 동의한다.
146
+ ```
147
+
148
+ *수정 후 (자연스러운 글)*:
149
+ ```
150
+ 현대 사회에서 데이터는 중요하다. 이 점은 모든 기업이 동의한다.
151
+ ```
152
+
153
+ *설명*: 두 번의 `~에 있어서`를 각각 `~에서`와 생략으로 환원했습니다. "중요성은 매우 크다"의 명사화 + 강조도 형용사 "중요하다"로 단순화했습니다(패턴 13 명사화 구문 참조).
154
+
155
+ **`있어서` 사용이 자연스러운 경우**:
156
+ - 사실상 거의 없음. 한국어 원어민이 자연스럽게 쓰는 자리가 매우 드물어 거의 모든 경우 환원 대상.
157
+
158
+ ---
159
+
160
+ ## 패턴 28: "~와 관련하여/관련된" 격식 잉여
161
+
162
+ **메타데이터**:
163
+ - 검증: 📊 경험적
164
+ - 심각도: S2 (1~2회 허용, 3회+ 반복 시 신호)
165
+ - 버전: 1.4.0
166
+
167
+ **검출 기준**:
168
+ - "X와 관련하여 Y하다" 또는 수식어 "X와 관련된 N"
169
+ - 같은 단락에 3회+ 등장 시 신호
170
+ - 흔한 패턴: "보안과 관련하여 강화", "교육과 관련된 정책", "이번 안건과 관련하여"
171
+
172
+ **과학적 근거**:
173
+ - 영어 "in relation to / regarding / related to"의 직접 번역
174
+ - 한국어는 `~에`, `~의`, `~에 대한`, `~와의`로 다양하게 표현
175
+ - 직접 관계로 표현하지 않고 거리를 두는 격식체 잉여
176
+
177
+ **발생 원인**:
178
+ - 격식체 비즈니스·법률 번역체 노출
179
+ - 객관성·중립성을 표현하려는 과도한 우회
180
+ - 직접적 표현을 피하려는 격식 흉내
181
+
182
+ **수정 방법**:
183
+ - `X에 V`: "보안과 관련하여 강화하다" → "보안을 강화하다"
184
+ - `X의 N` 또는 `X N`: "교육과 관련된 정책" → "교육 정책"
185
+ - `X에 대한 N`: "기술과 관련된 우려" → "기술에 대한 우려"
186
+
187
+ **예시**:
188
+
189
+ *수정 전 (AI 작문)*:
190
+ ```
191
+ 이번 발표는 기후 변화와 관련하여 진행됐고, 이어서 정책과 관련된 논의가 이뤄졌으며, 시민 참여와 관련하여 제안이 나왔다.
192
+ ```
193
+
194
+ *수정 후 (자연스러운 글)*:
195
+ ```
196
+ 이번 발표는 기후 변화를 다뤘고, 이어서 정책 논의가 진행됐으며, 시민 참여 제안이 나왔다.
197
+ ```
198
+
199
+ *설명*: 세 번의 "관련" 표현을 각각 능동 동사("다루다"), 명사구 직결("정책 논의"), 명사구 직결("시민 참여 제안")로 환원했습니다. 피동 "이뤄졌으며"도 능동 "진행됐으며"로 바꿨습니다.
200
+
201
+ **`관련` 사용이 자연스러운 경우**:
202
+ - 정확히 "관계가 있는" 의미일 때: "이 사건과 관련된 인물" (✅ 관계 자체가 핵심 정보)
203
+ - 법률·공적 정형 표현: "본 안건과 관련하여 통지드립니다" (✅ 격식체 정형)
204
+
205
+ ---
206
+
207
+ ## 패턴 29: "~에 기반하여/바탕으로" 남발
208
+
209
+ **메타데이터**:
210
+ - 검증: 📊 경험적
211
+ - 심각도: S2 (1~2회 허용, 3회+ 반복 시 신호)
212
+ - 버전: 1.4.0
213
+
214
+ **검출 기준**:
215
+ - 같은 단락에 2회+ 등장 시 신호
216
+ - 흔한 패턴: "X에 기반하여 결정", "X를 바탕으로 분석", "사실에 기반한 판단"
217
+
218
+ **과학적 근거**:
219
+ - 영어 "based on / grounded in / drawing on"의 직접 번역
220
+ - 한국어는 `~로`, `~을 보고`, `~을 토대로`, `~을 근거로` 등으로 다양화
221
+ - 학술 번역체에서 과도하게 흡수된 표현
222
+
223
+ **발생 원인**:
224
+ - 학술 논문 번역체 노출
225
+ - LLM이 객관성·근거성 신호로 인식해 남용
226
+ - 영어 합성어 "evidence-based" 같은 구조의 모방
227
+
228
+ **수정 방법**:
229
+ - `~로`: "데이터에 기반하여 결정" → "데이터로 결정"
230
+ - `~을 보고`: "사실에 기반하여 판단" → "사실을 보고 판단"
231
+ - `~을 토대로`: 격식이 필요한 경우 대안
232
+ - 통째로 생략: 이미 인과가 자명하면
233
+
234
+ **예시**:
235
+
236
+ *수정 전 (AI 작문)*:
237
+ ```
238
+ 이번 결정은 시장 조사에 기반하여 이뤄졌으며, 사용자 데이터를 바탕으로 검증됐고, 전문가 의견에 기반해 보완됐다.
239
+ ```
240
+
241
+ *수정 후 (자연스러운 글)*:
242
+ ```
243
+ 이번 결정은 시장 조사로 내렸고, 사용자 데이터로 검증했으며, 전문가 의견을 보고 보완했다.
244
+ ```
245
+
246
+ *설명*: 세 번의 "기반하여/바탕으로"를 각각 도구 조사 `~로`(2회)와 `~을 보고`(1회)로 분산했습니다. 피동 "이뤄졌으며", "검증됐고", "보완됐다"도 모두 능동으로 환원했습니다(패턴 32 참조).
247
+
248
+ **`기반/바탕` 사용이 자연스러운 경우**:
249
+ - 진정한 토대·기반을 강조할 때: "이 이론은 실험에 기반한다" (✅ 토대성 자체가 핵심)
250
+ - 전문 용어 합성어: "근거 기반 의학", "데이터 기반 의사결정" (✅ 정착된 합성 용어)
251
+
252
+ ---
253
+
254
+ ## 패턴 30: "가지고 있다" 잉여 동사
255
+
256
+ **메타데이터**:
257
+ - 검증: 📊 경험적
258
+ - 심각도: S1 (한 번만 나와도 결정적)
259
+ - 버전: 1.4.0
260
+
261
+ **검출 기준**:
262
+ - "X을/를 가지고 있다" 형식
263
+ - 형용사 또는 `~이/가 있다`로 환원 가능한 모든 경우
264
+ - 흔한 패턴: "강한 경쟁력을 가지고 있다", "다양한 기능을 가지고 있다", "큰 영향력을 가지고 있다"
265
+
266
+ **과학적 근거**:
267
+ - 영어 "have / possess"의 직접 번역
268
+ - 한국어는 소유·속성을 형용사 또는 `~이/가 있다`로 표현
269
+ - 잉여 동사로 분류되는 결정적 영어식 마커
270
+ - 한국어 원어민은 형용사 환원을 선호
271
+
272
+ **발생 원인**:
273
+ - 영어 "have"의 만능적 용법을 한국어로 매핑
274
+ - LLM이 한국어 형용사 활용 능력이 부족함
275
+ - "있다"의 다양한 용법(존재·소유) 대신 영어식 소유 동사 선호
276
+
277
+ **수정 방법**:
278
+ - 형용사로 환원: "강한 경쟁력을 가지고 있다" → "경쟁력이 강하다"
279
+ - `~이/가 있다`로: "다양한 기능을 가지고 있다" → "기능이 다양하다" 또는 "다양한 기능이 있다"
280
+ - 동사로 통합: "큰 영향력을 가지고 있다" → "크게 영향을 미친다"
281
+
282
+ **예시**:
283
+
284
+ *수정 전 (AI 작문)*:
285
+ ```
286
+ 이 제품은 우수한 성능을 가지고 있고, 다양한 옵션을 가지고 있으며, 합리적인 가격을 가지고 있습니다.
287
+ ```
288
+
289
+ *수정 후 (자연스러운 글)*:
290
+ ```
291
+ 이 제품은 성능이 우수하고 옵션이 다양하며 가격도 합리적입니다.
292
+ ```
293
+
294
+ *설명*: 세 번의 "가지고 있다"를 모두 `~이/가 + 형용사` 구조로 환원했습니다. 마지막은 보조사 "도"를 추가해 자연스럽게 마무리했습니다.
295
+
296
+ **`가지고 있다` 사용이 자연스러운 경우**:
297
+ - 구체적 물건의 일시적 소유: "지금 책을 가지고 있다" (✅ 손에 들고 있음, 영어 'hold'에 가까움)
298
+ - 추상적 신념·태도(제한적): "강한 신념을 가지고 있다" (자연스러우나 "신념이 강하다"가 더 한국어다움)
299
+
300
+ ---
301
+
302
+ ## 패턴 31: 이중 피동 "~되어진다"
303
+
304
+ **메타데이터**:
305
+ - 검증: 📊 경험적
306
+ - 심각도: S1 (한 번만 나와도 결정적)
307
+ - 버전: 1.4.0
308
+
309
+ **검출 기준**:
310
+ - 피동 접미사 `-되-`와 피동 보조용언 `-어지-`의 중복 결합: `생성되어지다`, `판단되어지다`, `결정되어지다`, `분석되어집니다`
311
+ - `~되다` 자체가 이미 피동 의미를 가지므로 `~되어지다`는 **피동의 이중 적용**
312
+ - 한국어 어문 규범상 비문(非文)으로 분류되는 결정적 오류
313
+
314
+ **과학적 근거**:
315
+ - 한국어 표준 문법: `되다`는 자동사 또는 피동 의미를 이미 내포한 동사 어간 (예: "결정되다" = "결정이 되다" 또는 "결정 당하다")
316
+ - 여기에 피동 보조용언 `-아/어지다`를 다시 결합하면 **피동의 중복 적용**으로 비문이 됨
317
+ - 국립국어원 표준국어대사전 및 한국어 어문 규정에서 명시적으로 지양 권고
318
+ - 한국어 원어민은 격식체 글에서도 이 형태를 거의 쓰지 않으며, AI 텍스트의 가장 강력한 단일 마커
319
+
320
+ **발생 원인**:
321
+ - 영어 수동태 "is being V-ed"의 진행형·이중 피동 구조 직역
322
+ - LLM이 격식체·학술적 어조를 흉내내려다 피동을 과도하게 강조
323
+ - "~된다"보다 "~되어진다"가 더 객관적·격식적이라고 잘못 학습된 편향
324
+ - 한국어 어문 규범에 대한 학습 데이터의 부정확성
325
+
326
+ **수정 방법**:
327
+ - 단순 피동으로 환원: `~되어진다` → `~된다` ("판단되어진다" → "판단된다")
328
+ - 가능하면 능동으로 전환: "AI에 의해 생성되어진 텍스트" → "AI가 만든 텍스트"
329
+ - 행위자가 명확하면 능동을 우선, 행위자가 불명일 때만 단일 피동 사용
330
+
331
+ **예시**:
332
+
333
+ *수정 전 (AI 작문)*:
334
+ ```
335
+ 본 연구에서 데이터는 신중하게 분석되어집니다. 결과는 통계적으로 검증되어진 후 보고되어집니다.
336
+ ```
337
+
338
+ *수정 후 (자연스러운 글)*:
339
+ ```
340
+ 이 연구에서는 데이터를 신중하게 분석합니다. 결과는 통계적으로 검증한 뒤 보고합니다.
341
+ ```
342
+
343
+ *설명*: 세 곳의 이중 피동(`분석되어집니다`, `검증되어진`, `보고되어집니다`)을 모두 능동으로 전환했습니다. "본 연구"의 격식체 한자어도 "이 연구"로 자연스럽게 환원했습니다(패턴 19 지시관형사 참조).
344
+
345
+ **비교**:
346
+
347
+ | 비문 (이중 피동) | 단일 피동 (허용) | 능동 (권장) |
348
+ |---|---|---|
349
+ | 생성되어진다 | 생성된다 | (행위자)가 만든다 |
350
+ | 판단되어진다 | 판단된다 | (행위자)가 판단한다 |
351
+ | 분석되어집니다 | 분석됩니다 | 분석합니다 |
352
+ | 결정되어진 사항 | 결정된 사항 | 결정한 사항 |
353
+
354
+ **예외**: 거의 없음. 이중 피동은 표준 한국어에서 비문으로 간주되므로 격식체·학술 글이라도 단일 피동 또는 능동으로 환원하는 것이 원칙.
355
+
356
+ ---
357
+
358
+ ## 패턴 32: "~에 의해" 영어식 피동
359
+
360
+ **메타데이터**:
361
+ - 검증: 📊 경험적
362
+ - 심각도: S2 (1~2회 허용, 3회+ 반복 시 신호)
363
+ - 버전: 1.4.0
364
+
365
+ **검출 기준**:
366
+ - "X가 Y에 의해 V되다" 형식
367
+ - 행위자를 주어로 환원 가능한 모든 경우
368
+ - 흔한 패턴: "AI에 의해 생성된", "정부에 의해 제정된", "연구팀에 의해 분석된"
369
+
370
+ **과학적 근거**:
371
+ - 영어 수동태 "be V-ed by"의 직접 번역
372
+ - 한국어 원어민은 행위자를 주어로 능동화하는 것을 선호
373
+ - 학술 피동에서만 제한적으로 자연스럽고, 일상·비즈니스 글에서는 부자연스러움
374
+
375
+ **발생 원인**:
376
+ - 영어 학술 번역체 노출
377
+ - LLM이 객관성·격식을 표현할 때 피동 우선
378
+ - 주어를 행위자가 아닌 대상으로 두는 영어 통사 구조의 직접 전이
379
+
380
+ **수정 방법**:
381
+ - 능동으로 전환: "AI에 의해 생성된 텍스트" → "AI가 만든 텍스트"
382
+ - 행위자 강조: "X에 의해 분석" → "X가 분석"
383
+ - 도구 조사로: "연구에 의해 발견" → "연구로 발견"
384
+ - 행위자가 모호하면 주어 생략하고 능동: "최근 연구에 의해 밝혀진 사실" → "최근 연구로 밝혀낸 사실"
385
+
386
+ **예시**:
387
+
388
+ *수정 전 (AI 작문)*:
389
+ ```
390
+ 이 알고리즘은 연구팀에 의해 개발됐고, 데이터에 의해 학습됐으며, 사용자 피드백에 의해 개선됐다.
391
+ ```
392
+
393
+ *수정 후 (자연스러운 글)*:
394
+ ```
395
+ 연구팀이 이 알고리즘을 개발했고, 데이터로 학습시켰으며, 사용자 피드백으로 개선했다.
396
+ ```
397
+
398
+ *설명*: 세 곳의 `~에 의해` 피동을 모두 능동으로 전환했습니다. 첫 번째는 행위자(연구팀)를 주어로, 둘째와 셋째는 도구 조사 `~로`로 환원했습니다.
399
+
400
+ **`~에 의해` 사용이 자연스러운 경우**:
401
+ - 학술 논문의 객관적 진술: "이 효과는 X에 의해 매개된다" (✅ 학술 격식 정형)
402
+ - 행위자가 정말로 핵심일 때: "이 작품은 김 작가에 의해 완성됐다" (✅ 작가 강조)
403
+
404
+ ---
405
+
406
+ ## 패턴 33: "~할 수 있다" 가능 표현 남발
407
+
408
+ **메타데이터**:
409
+ - 검증: 📊 경험적
410
+ - 심각도: S2 (1~2회 허용, 3회+ 반복 시 신호)
411
+ - 버전: 1.4.0
412
+
413
+ **검출 기준**:
414
+ - 단언 가능한 사실에 가능 표현 사용
415
+ - 흔한 패턴: "효율을 높일 수 있다" (단언 가능), "결과를 분석할 수 있다" (능력 hedging)
416
+ - 같은 단락에 3회+ 신호, 다중 hedging("~할 수 있을 것이다") 1회만으로도 강한 신호
417
+
418
+ **과학적 근거**:
419
+ - 영어 modal verb "can / may / be able to"의 직접 번역
420
+ - 한국어는 단언이 더 자연스럽고 강한 인상을 줌
421
+ - 영어식 hedging이 한국어에서는 모호함·자신 없음으로 읽힘
422
+
423
+ **발생 원인**:
424
+ - 영어 modal verb의 안전한 직역
425
+ - 단정적 진술을 회피하려는 객관성 흉내
426
+ - LLM의 "안전한 hedging" 학습 편향(과도한 책임 회피)
427
+
428
+ **수정 방법**:
429
+ - 단언으로: "효율을 높일 수 있다" → "효율을 높인다"
430
+ - 가능성이 진짜 핵심일 때만 유지
431
+ - 다중 hedging은 반드시 단언으로: "개선될 수 있을 것이다" → "개선된다" 또는 "개선될 것이다"
432
+
433
+ **예시**:
434
+
435
+ *수정 전 (AI 작문)*:
436
+ ```
437
+ AI는 작업을 자동화할 수 있다. 이를 통해 시간을 절약할 수 있고, 효율도 높일 수 있다.
438
+ ```
439
+
440
+ *수정 후 (자연스러운 글)*:
441
+ ```
442
+ AI는 작업을 자동화한다. 시간을 줄이고 효율도 높인다.
443
+ ```
444
+
445
+ *설명*: 세 번의 "~할 수 있다"를 모두 단언으로 전환했습니다. "이를 통해"(패턴 26)도 함께 제거하고 "절약" → "줄이다"로 일상 어휘로 환원했습니다.
446
+
447
+ **`~할 수 있다` 사용이 자연스러운 경우**:
448
+ - 진정한 가능성·잠재력: "이 약은 부작용을 일으킬 수 있다" (✅ 가능성 자체가 정보)
449
+ - 능력 표현: "그는 5개 국어를 할 수 있다" (✅ 화자의 능력)
450
+ - 허가·허용: "여기서는 사진을 찍을 수 있다" (✅ 규칙상 허가)
451
+
452
+ ---
453
+
454
+ ## 패턴 34: "~을 위해" 목적절 남발
455
+
456
+ **메타데이터**:
457
+ - 검증: 📊 경험적
458
+ - 심각도: S2 (1~2회 허용, 3회+ 반복 시 신호)
459
+ - 버전: 1.4.0
460
+
461
+ **검출 기준**:
462
+ - 같은 단락에 2회+ 등장
463
+ - 흔한 패턴: "X를 위해 Y한다", "성장을 위해 노력", "효율을 위해 도입"
464
+ - 연결어미(`~려고`, `~기 위해`)나 직접 결합으로 환원 가능
465
+
466
+ **과학적 근거**:
467
+ - 영어 "in order to / for the purpose of / for"의 직접 번역
468
+ - 한국어는 목적 표현이 다양함: `~려고`, `~고자`, `~기 위해`, 직접 동사 결합
469
+ - 단일 표현 반복은 어휘 다양성 결핍 신호
470
+
471
+ **발생 원인**:
472
+ - 영어 학술·비즈니스 번역체 노출
473
+ - "목적절을 항상 명시해야 한다"는 영어식 통사 사고
474
+ - 한국어의 함축적 목적 표현 능력 부족
475
+
476
+ **수정 방법**:
477
+ - `~려고`: "효율을 위해 도구를 도입했다" → "효율을 높이려고 도구를 도입했다"
478
+ - `~기 위해` 1회만: 첫 등장만 유지하고 나머지는 분산
479
+ - 명사+조사 직결: "성장을 위해 투자한다" → "성장에 투자한다"
480
+
481
+ **예시**:
482
+
483
+ *수정 전 (AI 작문)*:
484
+ ```
485
+ 회사는 매출 증대를 위해 마케팅을 강화했고, 비용 절감을 위해 구조조정을 단행했으며, 효율 개선을 위해 시스템을 교체했다.
486
+ ```
487
+
488
+ *수정 후 (자연스러운 글)*:
489
+ ```
490
+ 회사는 매출을 늘리려고 마케팅을 강화했고, 비용을 줄이려고 구조조정을 했으며, 효율을 높이려고 시스템을 바꿨다.
491
+ ```
492
+
493
+ *설명*: 세 번의 `~을 위해`를 모두 `~려고` 연결어미로 분산했습니다. 명사화된 "증대", "절감", "개선"도 동사로 환원하고(패턴 13 참조), "단행했으며", "교체했다" 같은 한자어도 일상 어휘로 풀었습니다(패턴 15 참조).
494
+
495
+ **`~을 위해` 사용이 자연스러운 경우**:
496
+ - 목적이 정말 핵심 정보일 때: "이 행사는 평화를 위해 마련됐다" (✅ 목적 강조)
497
+ - 격식체 공적 문서: "안전을 위해 협조 부탁드립니다" (✅ 격식체 정형)
498
+
499
+ ---
500
+
501
+ ## 패턴 35: 추상 주어 + 만능 동사
502
+
503
+ **메타데이터**:
504
+ - 검증: 📊 경험적
505
+ - 심각도: S1 (한 번만 나와도 결정적)
506
+ - 버전: 1.4.0
507
+
508
+ **검출 기준**:
509
+ - 추상명사 주어 + 만능 동사("가져오다", "만들다", "일으키다", "제공하다", "이끌다")
510
+ - 흔한 패턴: "이러한 변화는 X를 가져온다", "이 기술은 미래를 만든다", "AI는 변화를 일으킨다"
511
+ - 1회만 나와도 영어식 통사 결정적 마커
512
+
513
+ **과학적 근거**:
514
+ - 영어 "X brings / makes / creates / drives Y" 통사의 직접 번역
515
+ - 한국어 원어민은 구체 주어로 사건을 서술하거나 부사구로 환원
516
+ - 추상 주어 + 만능 동사는 영어식 의인화·인과 통사로, 한국어에서는 부자연스러움
517
+
518
+ **발생 원인**:
519
+ - 영어 학술·비즈니스 번역체 노출
520
+ - LLM이 영향력을 표현할 때 추상명사를 주어로 두는 영어 패턴 흡수
521
+ - 사건의 행위자를 모호하게 두는 영어식 객관 서술 흉내
522
+
523
+ **수정 방법**:
524
+ - 구체 주어로 환원: "이러한 변화는 효율을 가져온다" → "이렇게 바꾸면 효율이 높아진다"
525
+ - 추상 주어를 부사구로: "이 기술은 미래를 만든다" → "이 기술로 미래가 바뀐다"
526
+ - 만능 동사를 구체 동사로: "기술은 변화를 일으킨다" → "기술이 사회를 바꾼다"
527
+
528
+ **예시**:
529
+
530
+ *수정 전 (AI 작문)*:
531
+ ```
532
+ 이러한 트렌드는 새로운 기회를 가져오고, 지속적인 혁신은 산업 전반에 변화를 일으킨다. AI는 우리 삶을 바꾼다.
533
+ ```
534
+
535
+ *수정 후 (자연스러운 글)*:
536
+ ```
537
+ 이런 흐름에서 새 기회가 열리고, 끊임없는 혁신이 산업 전반을 바꾼다. AI는 우리 삶의 모습을 바꾼다.
538
+ ```
539
+
540
+ *설명*: 추상 주어 + 만능 동사 패턴을 세 곳에서 환원했습니다. "트렌드는 기회를 가져온다" → "흐름에서 기회가 열리다"(장소 부사구로 전환), "혁신은 변화를 일으킨다" → "혁신이 산업을 바꾼다"(직접 목적어로 환원). 마지막 문장은 동사("바꾼다")는 유지하되 목적어를 "삶 → 삶의 모습"으로 구체화해 만능 동사 느낌을 줄였습니다.
541
+
542
+ **자연스러운 사용**:
543
+ - 사실상 드뭄. 한국어 원어민은 추상 주어 + 만능 동사 결합을 거의 쓰지 않음.
544
+ - 격식체 학술 정의: "이 이론은 X를 설명한다" (✅ 학술 정형 표현)
545
+
546
+ ---
547
+
548
+ ## 패턴 36: "~라는 점에서" 인과 결합
549
+
550
+ **메타데이터**:
551
+ - 검증: 📊 경험적
552
+ - 심각도: S2 (1~2회 허용, 3회+ 반복 시 신호)
553
+ - 버전: 1.4.0
554
+
555
+ **검출 기준**:
556
+ - "X라는 점에서 Y하다" 형식
557
+ - 같은 단락에 3회+ 등장 시 신호
558
+ - 인과·이유를 표현하는 자리에 형식명사 결합 잉여
559
+
560
+ **과학적 근거**:
561
+ - 영어 "in that / in the sense that / given that"의 직접 번역
562
+ - 한국어는 인과 표현이 다양함: `~서`, `~기 때문에`, `~라는 이유로`, 단순 연결어미
563
+ - 명사구 + 형식명사 + 조사의 결합은 영어식 통사 의존 신호
564
+
565
+ **발생 원인**:
566
+ - 영어 학술 번역체 노출
567
+ - 인과 표현의 객관화 흉내
568
+ - 단순 연결어미 대신 격식체 형식명사 결합 선호
569
+
570
+ **수정 방법**:
571
+ - `~서` 연결어미로: "효율적이라는 점에서 우수하다" → "효율적이어서 우수하다"
572
+ - `~기 때문에`: 격식이 필요할 때 대안
573
+ - 통째로 생략: 문맥상 인과가 자명하면
574
+
575
+ **예시**:
576
+
577
+ *수정 전 (AI 작문)*:
578
+ ```
579
+ 이 방법은 빠르다는 점에서 효율적이고, 비용이 적게 든다는 점에서 경제적이며, 적용이 쉽다는 점에서 실용적이다.
580
+ ```
581
+
582
+ *수정 후 (자연스러운 글)*:
583
+ ```
584
+ 이 방법은 빨라서 효율적이고, 비용이 적게 들어서 경제적이며, 적용이 쉬워서 실용적이다.
585
+ ```
586
+
587
+ *설명*: 세 번의 `~라는 점에서`를 모두 연결어미 `~서`로 환원했습니다. 인과 의미는 그대로 살아있고 문장 무게가 훨씬 가벼워졌습니다.
588
+
589
+ **`~라는 점에서` 사용이 자연스러운 경우**:
590
+ - 진정한 한 측면에서의 평가일 때: "비용이라는 점에서는 비싸지만 품질은 좋다" (✅ 한 측면 vs 다른 측면 대비)
591
+ - 격식체 학술 평가: "이론적이라는 점에서는 옳다" (✅ 평가 영역 한정)
592
+
593
+ ---
594
+
595
+ ## 패턴 40: "~것이다 / ~할 것이다" 미래 단정 남발
596
+
597
+ **메타데이터**:
598
+ - 검증: 📊 경험적
599
+ - 심각도: S2 (1~2회 허용, 3회+ 반복 시 신호)
600
+ - 버전: 1.6.0
601
+
602
+ **검출 기준**:
603
+ - 사실 진술 자리에 미래 단정 표현 사용: `결과가 좋아질 것이다`, `매출이 증가할 것이다`, `상황이 개선될 것이다`
604
+ - 같은 단락에 3회+ 등장 시 강한 신호
605
+ - 단정 가능한 문맥인데도 `~것이다` 형식의 hedging 효과
606
+
607
+ **과학적 근거**:
608
+ - 영어 미래 시제·조동사(`will`, `would`, `is going to`)의 직접 번역
609
+ - 한국어는 미래 진술도 단언형(현재형)으로 표현하는 게 자연스러움 ("증가한다", "개선된다")
610
+ - LLM이 영어 미래 시제 패턴을 한국어로 매핑하면서 발생하는 hedging
611
+ - 패턴 33(`~할 수 있다` 가능 표현 남발)과 결이 다름 — 33은 능력/가능성, 40은 미래 시제 hedging
612
+
613
+ **발생 원인**:
614
+ - 영어 비즈니스·예측 글의 번역체 노출
615
+ - 단정을 회피하려는 안전한 hedging 학습 편향
616
+ - `~것이다`가 더 격식적·예측적이라고 잘못 학습됨
617
+
618
+ **수정 방법**:
619
+ - 단언으로: `매출이 증가할 것이다` → `매출이 증가한다`
620
+ - 의지·계획 표현으로: `노력할 것이다` → `노력한다` (단언) 또는 `노력하겠다` (의지)
621
+ - 진정한 미래 가능성만 유지: 진짜 불확실성이 있는 곳에만 `~할 것이다` 사용
622
+
623
+ **예시**:
624
+
625
+ *수정 전 (AI 작문)*:
626
+ ```
627
+ 이번 정책으로 시장이 활성화될 것이다. 기업들의 투자가 늘어날 것이며, 고용이 증가할 것이다. 결과적으로 경제 성장률이 높아질 것이다.
628
+ ```
629
+
630
+ *수정 후 (자연스러운 글)*:
631
+ ```
632
+ 이번 정책으로 시장이 활성화됩니다. 기업 투자가 늘어나고 고용이 증가합니다. 결과적으로 경제 성장률이 높아집니다.
633
+ ```
634
+
635
+ *설명*: 4개의 미래 단정(`~것이다 × 4`)을 모두 단언 현재형으로 전환했습니다. 영어 will의 직역에서 벗어나 한국어다운 단언 어조로 환원했습니다.
636
+
637
+ **`~것이다` 1회 사용이 자연스러운 경우**:
638
+ - 진정한 미래 예측·불확실성: `내일 비가 올 것이다` (✅ 일기예보적 진술)
639
+ - 추정·짐작: `그는 늦을 것이다` (✅ 화자의 추정)
640
+ - 강한 의지·약속: `반드시 해낼 것이다` (✅ 의지 표명)
641
+ - 1~2회 단발 사용은 자연스러움