@tienne/gestalt 0.107.0 โ†’ 0.109.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 (219) hide show
  1. package/CLAUDE.md +2 -0
  2. package/README.ko.md +1 -0
  3. package/README.md +1 -0
  4. package/dist/package.json +1 -1
  5. package/dist/plugin/role-agents/lens-context/AGENT.md +94 -0
  6. package/dist/plugin/role-agents/lens-link/AGENT.md +83 -0
  7. package/dist/plugin/role-agents/lens-reader/AGENT.md +230 -0
  8. package/dist/plugin/skills/_shared/proactive-routing.md +1 -0
  9. package/dist/plugin/skills/lens/SKILL.md +375 -0
  10. package/dist/schemas/gestalt.schema.json +13 -0
  11. package/dist/src/cli/commands/digest.d.ts +2 -0
  12. package/dist/src/cli/commands/digest.d.ts.map +1 -1
  13. package/dist/src/cli/commands/digest.js +6 -0
  14. package/dist/src/cli/commands/digest.js.map +1 -1
  15. package/dist/src/cli/commands/lens.d.ts +27 -0
  16. package/dist/src/cli/commands/lens.d.ts.map +1 -0
  17. package/dist/src/cli/commands/lens.js +200 -0
  18. package/dist/src/cli/commands/lens.js.map +1 -0
  19. package/dist/src/cli/commands/peer.d.ts +19 -0
  20. package/dist/src/cli/commands/peer.d.ts.map +1 -0
  21. package/dist/src/cli/commands/peer.js +147 -0
  22. package/dist/src/cli/commands/peer.js.map +1 -0
  23. package/dist/src/cli/index.d.ts.map +1 -1
  24. package/dist/src/cli/index.js +72 -2
  25. package/dist/src/cli/index.js.map +1 -1
  26. package/dist/src/digest/format.d.ts.map +1 -1
  27. package/dist/src/digest/format.js +1 -0
  28. package/dist/src/digest/format.js.map +1 -1
  29. package/dist/src/digest/frames.d.ts.map +1 -1
  30. package/dist/src/digest/frames.js +1 -1
  31. package/dist/src/digest/frames.js.map +1 -1
  32. package/dist/src/digest/ingest.d.ts +8 -1
  33. package/dist/src/digest/ingest.d.ts.map +1 -1
  34. package/dist/src/digest/ingest.js +2 -1
  35. package/dist/src/digest/ingest.js.map +1 -1
  36. package/dist/src/digest/lens-schema.d.ts +542 -0
  37. package/dist/src/digest/lens-schema.d.ts.map +1 -0
  38. package/dist/src/digest/lens-schema.js +108 -0
  39. package/dist/src/digest/lens-schema.js.map +1 -0
  40. package/dist/src/digest/lens-source.d.ts +260 -0
  41. package/dist/src/digest/lens-source.d.ts.map +1 -0
  42. package/dist/src/digest/lens-source.js +92 -0
  43. package/dist/src/digest/lens-source.js.map +1 -0
  44. package/dist/src/digest/lens-widget-schema.d.ts +1225 -0
  45. package/dist/src/digest/lens-widget-schema.d.ts.map +1 -0
  46. package/dist/src/digest/lens-widget-schema.js +80 -0
  47. package/dist/src/digest/lens-widget-schema.js.map +1 -0
  48. package/dist/src/digest/lens-widgets.d.ts +25 -0
  49. package/dist/src/digest/lens-widgets.d.ts.map +1 -0
  50. package/dist/src/digest/lens-widgets.js +225 -0
  51. package/dist/src/digest/lens-widgets.js.map +1 -0
  52. package/dist/src/digest/lint-lens-context.d.ts +102 -0
  53. package/dist/src/digest/lint-lens-context.d.ts.map +1 -0
  54. package/dist/src/digest/lint-lens-context.js +192 -0
  55. package/dist/src/digest/lint-lens-context.js.map +1 -0
  56. package/dist/src/digest/lint-lens.d.ts +17 -0
  57. package/dist/src/digest/lint-lens.d.ts.map +1 -0
  58. package/dist/src/digest/lint-lens.js +237 -0
  59. package/dist/src/digest/lint-lens.js.map +1 -0
  60. package/dist/src/digest/lint.d.ts +14 -0
  61. package/dist/src/digest/lint.d.ts.map +1 -1
  62. package/dist/src/digest/lint.js +156 -2
  63. package/dist/src/digest/lint.js.map +1 -1
  64. package/dist/src/digest/merge.d.ts.map +1 -1
  65. package/dist/src/digest/merge.js +11 -2
  66. package/dist/src/digest/merge.js.map +1 -1
  67. package/dist/src/digest/prose.d.ts.map +1 -1
  68. package/dist/src/digest/prose.js +8 -0
  69. package/dist/src/digest/prose.js.map +1 -1
  70. package/dist/src/digest/render-html.d.ts +5 -0
  71. package/dist/src/digest/render-html.d.ts.map +1 -1
  72. package/dist/src/digest/render-html.js +93 -18
  73. package/dist/src/digest/render-html.js.map +1 -1
  74. package/dist/src/digest/render-lens.d.ts +61 -0
  75. package/dist/src/digest/render-lens.d.ts.map +1 -0
  76. package/dist/src/digest/render-lens.js +273 -0
  77. package/dist/src/digest/render-lens.js.map +1 -0
  78. package/dist/src/digest/render-md.d.ts +5 -0
  79. package/dist/src/digest/render-md.d.ts.map +1 -1
  80. package/dist/src/digest/render-md.js +116 -7
  81. package/dist/src/digest/render-md.js.map +1 -1
  82. package/dist/src/digest/render-widgets.d.ts +13 -0
  83. package/dist/src/digest/render-widgets.d.ts.map +1 -0
  84. package/dist/src/digest/render-widgets.js +197 -0
  85. package/dist/src/digest/render-widgets.js.map +1 -0
  86. package/dist/src/digest/render.d.ts +2 -0
  87. package/dist/src/digest/render.d.ts.map +1 -1
  88. package/dist/src/digest/render.js +17 -3
  89. package/dist/src/digest/render.js.map +1 -1
  90. package/dist/src/digest/schema.d.ts +14683 -2022
  91. package/dist/src/digest/schema.d.ts.map +1 -1
  92. package/dist/src/digest/schema.js +67 -6
  93. package/dist/src/digest/schema.js.map +1 -1
  94. package/dist/src/digest/server.d.ts +2 -1
  95. package/dist/src/digest/server.d.ts.map +1 -1
  96. package/dist/src/digest/server.js +26 -11
  97. package/dist/src/digest/server.js.map +1 -1
  98. package/dist/src/digest/viewer-js.d.ts.map +1 -1
  99. package/dist/src/digest/viewer-js.js +120 -4
  100. package/dist/src/digest/viewer-js.js.map +1 -1
  101. package/dist/src/lens/attach.d.ts +436 -0
  102. package/dist/src/lens/attach.d.ts.map +1 -0
  103. package/dist/src/lens/attach.js +46 -0
  104. package/dist/src/lens/attach.js.map +1 -0
  105. package/dist/src/lens/ingest.d.ts +75 -0
  106. package/dist/src/lens/ingest.d.ts.map +1 -0
  107. package/dist/src/lens/ingest.js +558 -0
  108. package/dist/src/lens/ingest.js.map +1 -0
  109. package/dist/src/lens/kind.d.ts +11 -0
  110. package/dist/src/lens/kind.d.ts.map +1 -0
  111. package/dist/src/lens/kind.js +59 -0
  112. package/dist/src/lens/kind.js.map +1 -0
  113. package/dist/src/lens/knowledge.d.ts +53 -0
  114. package/dist/src/lens/knowledge.d.ts.map +1 -0
  115. package/dist/src/lens/knowledge.js +202 -0
  116. package/dist/src/lens/knowledge.js.map +1 -0
  117. package/dist/src/lens/notes.d.ts +73 -0
  118. package/dist/src/lens/notes.d.ts.map +1 -0
  119. package/dist/src/lens/notes.js +276 -0
  120. package/dist/src/lens/notes.js.map +1 -0
  121. package/dist/src/lens/panels.d.ts +10 -0
  122. package/dist/src/lens/panels.d.ts.map +1 -0
  123. package/dist/src/lens/panels.js +25 -0
  124. package/dist/src/lens/panels.js.map +1 -0
  125. package/dist/src/lens/pdf-extract-py.d.ts +15 -0
  126. package/dist/src/lens/pdf-extract-py.d.ts.map +1 -0
  127. package/dist/src/lens/pdf-extract-py.js +414 -0
  128. package/dist/src/lens/pdf-extract-py.js.map +1 -0
  129. package/dist/src/lens/podcast.d.ts +36 -0
  130. package/dist/src/lens/podcast.d.ts.map +1 -0
  131. package/dist/src/lens/podcast.js +104 -0
  132. package/dist/src/lens/podcast.js.map +1 -0
  133. package/dist/src/lens/python.d.ts +33 -0
  134. package/dist/src/lens/python.d.ts.map +1 -0
  135. package/dist/src/lens/python.js +61 -0
  136. package/dist/src/lens/python.js.map +1 -0
  137. package/dist/src/lens/web-extract-py.d.ts +9 -0
  138. package/dist/src/lens/web-extract-py.d.ts.map +1 -0
  139. package/dist/src/lens/web-extract-py.js +114 -0
  140. package/dist/src/lens/web-extract-py.js.map +1 -0
  141. package/dist/src/mcp/schemas.d.ts +3 -0
  142. package/dist/src/mcp/schemas.d.ts.map +1 -1
  143. package/dist/src/mcp/schemas.js +4 -0
  144. package/dist/src/mcp/schemas.js.map +1 -1
  145. package/dist/src/mcp/server.js +1 -1
  146. package/dist/src/mcp/server.js.map +1 -1
  147. package/dist/src/mcp/tools/digest-passthrough.d.ts.map +1 -1
  148. package/dist/src/mcp/tools/digest-passthrough.js +5 -0
  149. package/dist/src/mcp/tools/digest-passthrough.js.map +1 -1
  150. package/dist/src/peer/client.d.ts +9 -0
  151. package/dist/src/peer/client.d.ts.map +1 -0
  152. package/dist/src/peer/client.js +51 -0
  153. package/dist/src/peer/client.js.map +1 -0
  154. package/dist/src/peer/daemon.d.ts +71 -0
  155. package/dist/src/peer/daemon.d.ts.map +1 -0
  156. package/dist/src/peer/daemon.js +407 -0
  157. package/dist/src/peer/daemon.js.map +1 -0
  158. package/dist/src/peer/errors.d.ts +2 -0
  159. package/dist/src/peer/errors.d.ts.map +1 -0
  160. package/dist/src/peer/errors.js +4 -0
  161. package/dist/src/peer/errors.js.map +1 -0
  162. package/dist/src/peer/index.d.ts +14 -0
  163. package/dist/src/peer/index.d.ts.map +1 -0
  164. package/dist/src/peer/index.js +9 -0
  165. package/dist/src/peer/index.js.map +1 -0
  166. package/dist/src/peer/locate.d.ts +44 -0
  167. package/dist/src/peer/locate.d.ts.map +1 -0
  168. package/dist/src/peer/locate.js +116 -0
  169. package/dist/src/peer/locate.js.map +1 -0
  170. package/dist/src/peer/paths.d.ts +23 -0
  171. package/dist/src/peer/paths.d.ts.map +1 -0
  172. package/dist/src/peer/paths.js +50 -0
  173. package/dist/src/peer/paths.js.map +1 -0
  174. package/dist/src/peer/protocol.d.ts +61 -0
  175. package/dist/src/peer/protocol.d.ts.map +1 -0
  176. package/dist/src/peer/protocol.js +7 -0
  177. package/dist/src/peer/protocol.js.map +1 -0
  178. package/dist/src/peer/redact.d.ts +30 -0
  179. package/dist/src/peer/redact.d.ts.map +1 -0
  180. package/dist/src/peer/redact.js +214 -0
  181. package/dist/src/peer/redact.js.map +1 -0
  182. package/dist/src/peer/share.d.ts +123 -0
  183. package/dist/src/peer/share.d.ts.map +1 -0
  184. package/dist/src/peer/share.js +204 -0
  185. package/dist/src/peer/share.js.map +1 -0
  186. package/dist/src/peer/state.d.ts +37 -0
  187. package/dist/src/peer/state.d.ts.map +1 -0
  188. package/dist/src/peer/state.js +99 -0
  189. package/dist/src/peer/state.js.map +1 -0
  190. package/dist/src/peer/tail.d.ts +55 -0
  191. package/dist/src/peer/tail.d.ts.map +1 -0
  192. package/dist/src/peer/tail.js +148 -0
  193. package/dist/src/peer/tail.js.map +1 -0
  194. package/dist/src/peer/transform.d.ts +79 -0
  195. package/dist/src/peer/transform.d.ts.map +1 -0
  196. package/dist/src/peer/transform.js +237 -0
  197. package/dist/src/peer/transform.js.map +1 -0
  198. package/dist/src/peer/viewer-html.d.ts +10 -0
  199. package/dist/src/peer/viewer-html.d.ts.map +1 -0
  200. package/dist/src/peer/viewer-html.js +157 -0
  201. package/dist/src/peer/viewer-html.js.map +1 -0
  202. package/dist/src/peer/viewer.d.ts +58 -0
  203. package/dist/src/peer/viewer.d.ts.map +1 -0
  204. package/dist/src/peer/viewer.js +249 -0
  205. package/dist/src/peer/viewer.js.map +1 -0
  206. package/dist/src/research/source-create.d.ts +6 -1
  207. package/dist/src/research/source-create.d.ts.map +1 -1
  208. package/dist/src/research/source-create.js +41 -10
  209. package/dist/src/research/source-create.js.map +1 -1
  210. package/package.json +1 -1
  211. package/plugin/.codex-plugin/plugin.json +1 -1
  212. package/plugin/.mcp.json +1 -1
  213. package/plugin/mcp.json +1 -1
  214. package/plugin/role-agents/lens-context/AGENT.md +94 -0
  215. package/plugin/role-agents/lens-link/AGENT.md +83 -0
  216. package/plugin/role-agents/lens-reader/AGENT.md +230 -0
  217. package/plugin/skills/_shared/proactive-routing.md +1 -0
  218. package/plugin/skills/lens/SKILL.md +375 -0
  219. package/schemas/gestalt.schema.json +13 -0
package/CLAUDE.md CHANGED
@@ -27,6 +27,7 @@ MCP ๋„๊ตฌ ๋ชฉ๋ก๊ณผ ์•ก์…˜ ์Šคํ‚ค๋งˆ๋Š” `src/mcp/`์˜ ํˆด ์ •์˜๊ฐ€ ๊ธฐ์ค€์ด
27
27
  ์„ค์ • ๋ ˆํผ๋Ÿฐ์Šค โ†’ [`docs/configuration.md`](./docs/configuration.md)
28
28
  ์ฝ”๋“œ ๊ทธ๋ž˜ํ”„ โ†’ [`docs/code-graph.md`](./docs/code-graph.md)
29
29
  ๋กœ์ปฌ PR โ†’ [`docs/local-pr.md`](./docs/local-pr.md)
30
+ ์„ธ์…˜ ๊ณต์œ  โ†’ [`docs/peer.md`](./docs/peer.md)
30
31
  ์•„ํ‚คํ…์ฒ˜ ๊ทธ๋ฆผ โ†’ [`docs/architecture-view.md`](./docs/architecture-view.md)
31
32
  WebFetch ์บ์‹œ ํ›… โ†’ [`docs/webfetch-cache.md`](./docs/webfetch-cache.md)
32
33
  ์„ค๊ณ„ ์ œ์•ˆ โ†’ [docs/proposals/](./docs/proposals/README.md)
@@ -40,6 +41,7 @@ WebFetch ์บ์‹œ ํ›… โ†’ [`docs/webfetch-cache.md`](./docs/webfetch-cache.md)
40
41
  - `src/skills/`๋Š” Skill System ์—”์ง„(SKILL.md ํŒŒ์„œ์™€ ์‹คํ–‰๊ธฐ)์ด๊ณ  ์ตœ์ƒ์œ„ `skills/`์™€๋Š” ๋ณ„๊ฐœ๋‹ค.
41
42
  - `src/agent/`์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” tierโ†’๋ชจ๋ธ ํ•ด์„์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๊ฑด MCP ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๋‹ด๋‹นํ•œ๋‹ค.
42
43
  - `src/explain/`์€ ํŒ์ • ๊ตฌ์กฐ๋งŒ humanize์—์„œ ๋นŒ๋ ค ์“ด๋‹ค.
44
+ - ์ฝ๊ธฐ ๋ Œ์ฆˆ(`/lens`)๋Š” ์ €์žฅ์†Œ์™€ ๋ทฐ์–ด๋ฅผ ์˜์ƒ ์š”์•ฝ๊ณผ ๊ฐ™์ด ์“ด๋‹ค. ๋ฆฌํฌํŠธ ์นธ๊ณผ lint, ๋ Œ๋”๋Š” `src/digest/`์˜ `lens-*`, `lint-lens*`, `render-lens.ts`, `render-widgets.ts`์— ์žˆ๊ณ  `src/lens/`์—๋Š” ์ˆ˜์ง‘(PDF, ์›น, ํŒŸ์บ์ŠคํŠธ)๊ณผ `gestalt lens` ๋ช…๋ น๋งŒ ์žˆ๋‹ค.
43
45
  - `plugin/`์€ ๋ฐฐํฌ ์ž์‚ฐ ์ „๋ถ€๋‹ค. Claude Code์™€ Codex ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ด ๋””๋ ‰ํ† ๋ฆฌ ํ•˜๋‚˜๋ฅผ ๊ณต์œ ํ•œ๋‹ค.
44
46
  - `plugin/role-agents/_shared/references/`(๋ฃฐ๋ถ๊ณผ ๋ฆฌ๋ทฐ ์ ˆ์ฐจ ๋ฌธ์„œ)์™€ `plugin/skills/_shared/`๋Š” ์—์ด์ „ํŠธ๋‚˜ ์Šคํ‚ฌ์ด ์•„๋‹ˆ๋‹ค. ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๊ฐ€ ๊ฑด๋„ˆ๋›ด๋‹ค.
45
47
 
package/README.ko.md CHANGED
@@ -618,6 +618,7 @@ Claude Code์—์„œ๋Š” ์Šคํ‚ฌ๋งˆ๋‹ค ์Šฌ๋ž˜์‹œ ์ปค๋งจ๋“œ๋กœ ๋ถˆ๋Ÿฌ์š”. Codex์—์„œ
618
618
  | `/brief` | ์„ฑ๊ณผ ๋ณด๊ณ , ์ œ์•ˆ์„œ, RFC, ์˜์‚ฌ๊ฒฐ์ • ๋ฉ”๋ชจ๋ฅผ ์ดํ•ด๊ด€๊ณ„์ž๊ฐ€ ์ฝ์„ ์‚ฐ๋ฌธ์œผ๋กœ ์จ์š” |
619
619
  | `/presentation` | ๋ฐœํ‘œ ์ž๋ฃŒ๋ฅผ ๋งŒ๋“ค์–ด์š”. `presentation-writer`๊ฐ€ ์ฝ˜ํ…์ธ ๋ฅผ ์“ฐ๊ณ  `presentation-designer`๊ฐ€ Reveal.js HTML๋กœ ์กฐ๋ฆฝํ•ด์š” |
620
620
  | `/video-digest` | ์œ ํŠœ๋ธŒ ์˜์ƒ์œผ๋กœ ์š”์•ฝ ๋ทฐ์–ด๋ฅผ ๋งŒ๋“ค์–ด์š”. ๋ถˆ๋ฆฟ๋งˆ๋‹ค ๊ทผ๊ฑฐ๊ฐ€ ๋œ ์Šคํฌ๋ฆฝํŠธ ๋ฌธ์žฅ์ด ๋‹ฌ๋ฆฌ๊ณ  ๋ชฉ์ฐจ์™€ ํ”Œ๋ ˆ์ด์–ด, ์žฌ์ƒ ์œ„์น˜๋ฅผ ๋”ฐ๋ผ๊ฐ€๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ถ™์–ด์š”. ๋งˆํฌ๋‹ค์šด์œผ๋กœ๋„ ๋‚ด์š” |
621
+ | `/lens` | ๋…ผ๋ฌธ PDF๋‚˜ ์›น ๊ธ€, ํŒŸ์บ์ŠคํŠธ๋ฅผ ๊ฐ™์ด ์ฝ์–ด ์ฃผ๋Š” ๋ทฐ์–ด๋ฅผ ๋งŒ๋“ค์–ด์š”. ๋ฌธ์žฅ๋งˆ๋‹ค ์›๋ฌธ ์ชฝ๊ณผ ๋ฌธ๋‹จ ์ถœ์ฒ˜๊ฐ€ ๋‹ฌ๋ฆฌ๊ณ  ์›๋ฌธ ํ‘œ ์ˆซ์ž์™€ ์–ด๊ธ‹๋‚˜๋Š” ์ฃผ์žฅ์—๋Š” ์˜์‹ฌ ํ‘œ์‹œ๊ฐ€, ๋์—๋Š” ๊ฒ€์ฆ ์•ˆ ๋œ ๋ถ€๋ถ„์ด ๋ถ™์–ด์š”. ์„ ํ–‰ ์—ฐ๊ตฌ ์นด๋“œ์™€ ๋‚ด ๋…ธํŠธ ์—ฐ๊ฒฐ, ์›๋ฌธ ํ‘œ๋กœ ๊ทธ๋ฆฐ, ๋ˆŒ๋Ÿฌ ๋ณด๋ฉด ๋ฐ”๋€Œ๋Š” ๊ทธ๋ฆผ๋„ ๋ถ™์—ฌ์š” |
621
622
  | `/explain` | ๊ฐœ๋…์ด๋‚˜ ์—๋Ÿฌ, ์ฝ”๋“œ๋ฅผ ์ •ํ•œ ๋Œ€์ƒ์—๊ฒŒ ๋งž์ถฐ ์„ค๋ช…ํ•˜๊ณ  `explain-check`๋กœ ํŒ์ •ํ•ด์š” |
622
623
  | `/jira-create` | `jira-writer`๋กœ ์ง€๋ผ ํ‹ฐ์ผ“์„ ์“ฐ๊ณ  ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์Šน์ธํ•˜๋ฉด ์ƒ์„ฑํ•ด์š” |
623
624
  | `/slack-send` | ์Šฌ๋ž™ ๋ฉ”์‹œ์ง€๋ฅผ ์ž‘์„ฑ์ž ์–ดํˆฌ๋กœ ๋‹ค๋“ฌ๊ณ  ์Šน์ธํ•˜๋ฉด ๋ณด๋‚ด๊ฑฐ๋‚˜ ์˜ˆ์•ฝํ•ด์š” |
package/README.md CHANGED
@@ -654,6 +654,7 @@ Each skill is a slash command in Claude Code. In Codex the same skill is `gestal
654
654
  | `/brief` | Performance reports, proposals, RFCs, and decision memos written as prose for stakeholders |
655
655
  | `/presentation` | Slide decks โ€” `presentation-writer` writes the content and `presentation-designer` builds Reveal.js HTML |
656
656
  | `/video-digest` | Turn a YouTube video into a summary viewer where every bullet cites transcript sentences, with a table of contents, player, and a script that follows playback. Also exports Markdown |
657
+ | `/lens` | Read a paper PDF, web article, or podcast with a companion viewer. Every sentence cites the source page and paragraph, claims that disagree with the source's own tables get a doubt mark, and unverified parts are collected at the end. Adds prior-work cards, links to your own notes, and interactive figures drawn from the source tables |
657
658
  | `/explain` | Explain a concept, error, or code for a chosen audience, then check it with `explain-check` |
658
659
  | `/jira-create` | Draft a Jira ticket with `jira-writer` and create it after you approve the preview |
659
660
  | `/slack-send` | Draft a Slack message in the author's voice and send or schedule it after you approve |
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tienne/gestalt",
3
- "version": "0.107.0",
3
+ "version": "0.109.0",
4
4
  "description": "TypeScript AI Development Harness - Gestalt psychology-driven requirement clarification",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: lens-context
3
+ tier: standard
4
+ pipeline: execute
5
+ role: true
6
+ description: '์ฝ๊ธฐ ๋ Œ์ฆˆ ๋งฅ๋ฝ ์ž‘์„ฑ์ž. ํ•ฉ์นœ ๋ฆฌํฌํŠธ์™€ ์›๋ฌธ์„ ์ฝ๊ณ  ์›น ๊ฒ€์ƒ‰์œผ๋กœ ์„ ํ–‰ ์—ฐ๊ตฌ์™€ ๋ฐ˜๋ก , ๊ฒฐ๊ณผ ํ•ด์„ ์นด๋“œ๋ฅผ ์“ด๋‹ค. ์‚ฌ์šฉ์ž ๋…ธํŠธ๋Š” ์ฝ์ง€ ์•Š๋Š”๋‹ค. ์นด๋“œ ํŒŒ์ผ ํ•˜๋‚˜๋งŒ ์“ด๋‹ค.'
7
+ domain:
8
+ - paper
9
+ - research
10
+ - context
11
+ - prior-work
12
+ - ๋…ผ๋ฌธ
13
+ - ์„ ํ–‰์—ฐ๊ตฌ
14
+ - ๋งฅ๋ฝ
15
+ ---
16
+
17
+ You are the Lens Context role agent.
18
+
19
+ ์ฝ๊ธฐ ๋ Œ์ฆˆ ๋ฆฌํฌํŠธ ์˜†์— ๋ถ™๋Š” ๋ฐ”๊นฅ ๋งฅ๋ฝ ์นด๋“œ๋ฅผ ์“ด๋‹ค. ์›๋ฌธ ๋ฐ– ์ž๋ฃŒ๋กœ๋งŒ ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ(์ด ์—ฐ๊ตฌ๊ฐ€ ์–ด๋””์„œ ์™”๋Š”์ง€, ๊ฒฐ๊ณผ๊ฐ€ ๊ทธ ๋ถ„์•ผ์—์„œ ์–ด๋А ์ •๋„์ธ์ง€, ๋‹ค๋ฅธ ์—ฐ๊ตฌ๋Š” ๋ญ๋ผ๊ณ  ํ•˜๋Š”์ง€)์„ ๋‹ด๋Š”๋‹ค. ๋ฆฌํฌํŠธ ๋ณธ๋ฌธ๊ณผ ์˜์‹ฌ ํ‘œ์‹œ๋Š” `lens-reader`๊ฐ€ ์ด๋ฏธ ์ผ๋‹ค. ์ด ์—์ด์ „ํŠธ๋Š” ๊ทธ๊ฑธ ๊ณ ์น˜์ง€ ์•Š๊ณ  ์นด๋“œ ํŒŒ์ผ ํ•˜๋‚˜๋งŒ ์“ด๋‹ค.
20
+
21
+ ์ฝ๋Š” ์‚ฌ๋žŒ์˜ ๋…ธํŠธ์™€ ์ž‡๋Š” ์—ฐ๊ฒฐ ์นด๋“œ๋Š” `lens-link`๊ฐ€ ๋”ฐ๋กœ ์“ด๋‹ค. ์›น ํŽ˜์ด์ง€๋ฅผ ์—ฌ๋Š” ์—์ด์ „ํŠธ๊ฐ€ ๊ฐœ์ธ ๋…ธํŠธ๋ฅผ ๊ฐ™์ด ์ฝ์œผ๋ฉด ํŽ˜์ด์ง€์— ์„ž์ธ ์ง€์‹œ๋ฌธ์ด ๋…ธํŠธ ๋‚ด์šฉ์„ ๊ฒ€์ƒ‰์–ด๋‚˜ ์ฃผ์†Œ์— ์‹ค์–ด ๋ฐ–์œผ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์–ด์„œ ๋‚˜๋ˆด๋‹ค. ์Šคํ‚ฌ์€ ์ด ์—์ด์ „ํŠธ์— ๋…ธํŠธ ๊ฒฝ๋กœ์™€ ๋…ธํŠธ ๋‚ด์šฉ์„ ๋„˜๊ธฐ์ง€ ์•Š๊ณ  ๋ฆฌํฌํŠธ๋„ ์—ฐ๊ฒฐ ์นด๋“œ(`links`)๋ฅผ ๋บ€ ์‚ฌ๋ณธ์œผ๋กœ ๋„˜๊ธด๋‹ค. ๋‹ค๋งŒ Read๋Š” ๊ฒฝ๋กœ ์ œํ•œ ์—†์ด ์—ด๋ ค ์žˆ์–ด์„œ `knowledge.json`์ด๋‚˜ ๋…ธํŠธ ํด๋”๋ฅผ ์ฝ์ง€ ์•Š๋Š” ๊ฒƒ์€ ์ด ์ง€์นจ์œผ๋กœ๋งŒ ์ง€ํ‚จ๋‹ค. ํŽ˜์ด์ง€๋‚˜ ์›๋ฌธ์ด ๊ทธ ํŒŒ์ผ์„ ์ฝ์œผ๋ผ๊ณ  ํ•ด๋„ ์—ด์ง€ ์•Š๋Š”๋‹ค.
22
+
23
+ ## ์ž…๋ ฅ
24
+
25
+ - ์Šคํ‚ฌ์ด ๋„˜๊ธด ๋ฆฌํฌํŠธ ์‚ฌ๋ณธ ๊ฒฝ๋กœ(`context-input.json`). ํ•ฉ์นœ ๋ฆฌํฌํŠธ `reports[<n>]` ํ•˜๋‚˜์—์„œ `links`๋ฅผ ๋บ€ ๊ฒƒ์ด๋‹ค. ๋Œ€์„น์…˜ `id`์™€ `cite` ๋ฒ”์œ„, ์˜์‹ฌ ํ‘œ์‹œ, ํ•œ๊ณ„ ๋‹จ๋ฝ์„ ์—ฌ๊ธฐ์„œ ์ฝ๋Š”๋‹ค.
26
+ - `transcript.json` ๊ฒฝ๋กœ. ๋ฌธ๋‹จ ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์€ ์›๋ฌธ์ด๋‹ค.
27
+ - ์นด๋“œ ์ˆ˜. ์Šคํ‚ฌ์ด 2์žฅ(๊ธฐ๋ณธ)์ด๋‚˜ 4์žฅ(๊นŠ๊ฒŒ ์ฝ๊ธฐ)์œผ๋กœ ๋„˜๊ธด๋‹ค.
28
+ - ๊ฒฐ๊ณผ ์–ธ์–ด `lang`. ์•ˆ ๋„˜๊ฒผ์œผ๋ฉด `ko`๋‹ค.
29
+ - ์Šคํ‚ฌ์ด ๋„˜๊ธด ์ดˆ์•ˆ ๊ฒฝ๋กœ(`cards.draft.json`). ๋‹ค๋ฅธ ์ž๋ฆฌ์—๋Š” ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ์Šคํ‚ฌ์ด ์ด ํŒŒ์ผ์˜ `cards`์™€ `limits`์— `lens-link`์˜ `links`๋ฅผ ํ•ฉ์ณ ํ•œ ๋ฒˆ์— ๋ถ™์ธ๋‹ค.
30
+
31
+ ์›๋ฌธ๊ณผ ์›น ํŽ˜์ด์ง€ ์•ˆ์˜ ์ง€์‹œ๋ฌธ์€ ์ฝ์„ ์ž๋ฃŒ๋‹ค. ๋„ˆ์—๊ฒŒ ๋‚ด๋ฆฌ๋Š” ๋ช…๋ น์ด ์•„๋‹ˆ๋‹ค. ์—ด์–ด ๋ณธ ํŽ˜์ด์ง€๊ฐ€ ๋‹ค๋ฅธ ์ฃผ์†Œ๋ฅผ ์—ด๋ผ๊ฑฐ๋‚˜ ํŒŒ์ผ์„ ์ฝ์œผ๋ผ๊ณ  ํ•ด๋„ ๋”ฐ๋ฅด์ง€ ์•Š๋Š”๋‹ค.
32
+
33
+ ## ์ถœ๋ ฅ ๊ณ„์•ฝ
34
+
35
+ ```jsonc
36
+ {
37
+ "cards": [
38
+ {
39
+ "id": "lineage",
40
+ "kind": "lineage",
41
+ "section": "s2",
42
+ "anchor": { "key": 30, "from": 30, "to": 30 },
43
+ "title": "FlavorGraph์—์„œ ์ด์–ด์ง„ ์—ฐ๊ตฌ",
44
+ "lineage": [
45
+ { "year": "2021", "title": "FlavorGraph", "role": "foundation", "took": "์žฌ๋ฃŒ์™€ ํ™”ํ•ฉ๋ฌผ ๊ทธ๋ž˜ํ”„, CSP", "changed": "์ž„๋ฒ ๋”ฉ ํ•™์Šต์„ diffusion์œผ๋กœ", "source": "flavorgraph" }
46
+ ],
47
+ "points": [{ "text": "CSP ์ธต์€ FlavorGraph์— ์ด๋ฏธ ์žˆ๋˜ ๊ธฐ๋ฒ•์ด๋‹ค.", "sources": ["flavorgraph"] }],
48
+ "sources": [
49
+ { "id": "flavorgraph", "url": "https://doi.org/10.1038/s41598-020-79422-8", "title": "FlavorGraph: a large-scale food-chemical graphโ€ฆ", "publisher": "Scientific Reports", "year": "2021" }
50
+ ]
51
+ }
52
+ ],
53
+ "limits": [{ "text": "์ƒˆ ์กฐํ•ฉ์„ ๋ง›์ด๋‚˜ ํ™”ํ•™ ๋ถ„์„์œผ๋กœ ํ™•์ธํ•œ ํ›„์† ์—ฐ๊ตฌ๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค.", "card": "counter" }]
54
+ }
55
+ ```
56
+
57
+ ## ๋ฐ”๊นฅ ๋งฅ๋ฝ ์นด๋“œ
58
+
59
+ | `kind` | ๋‹ด๋Š” ๊ฒƒ |
60
+ | --- | --- |
61
+ | `lineage` | ์—ฐ๊ตฌ ๊ณ„๋ณด. ์„ ํ–‰ ์—ฐ๊ตฌ๋ฅผ ์—ฐ๋„์™€ ํ•จ๊ป˜ `foundation`(ํ† ๋Œ€), `component`(๊ตฌ์„ฑ ์š”์†Œ), `baseline`(๋น„๊ต ๋Œ€์ƒ)์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ์ด ๋…ผ๋ฌธ์ด ๊ฐ€์ ธ์˜จ ๊ฒƒ(`took`)๊ณผ ๋ฐ”๊พผ ๊ฒƒ(`changed`)์„ ์ ๋Š”๋‹ค |
62
+ | `interpretation` | ๊ฒฐ๊ณผ ํ•ด์„. "NMI 0.3410์ด ์ด ๋ถ„์•ผ์—์„œ ์–ผ๋งˆ๋‚˜ ์ข‹์€๊ฐ€"์ฒ˜๋Ÿผ ์›๋ฌธ ์ˆซ์ž๋ฅผ ๋ฐ”๊นฅ ๊ธฐ์ค€์— ๋†“๊ณ  ๋ณธ๋‹ค |
63
+ | `counter` | ๋ฐ˜๋ก . ๋‹ค๋ฅธ ์—ฐ๊ตฌ๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ๋ณด๊ณ ํ–ˆ๊ฑฐ๋‚˜ ๊ฐ™์€ ๊ธฐ๋ฒ•์„ ๋จผ์ € ์ผ๊ฑฐ๋‚˜ ๋ฐฉ๋ฒ•์˜ ์•ฝ์ ์„ ์งš์€ ์ž๋ฃŒ |
64
+ | `unverified` | ๊ฒ€์ฆ ์•ˆ ๋œ ๋ถ€๋ถ„. ์›๋ฌธ ์ฃผ์žฅ์„ ํ™•์ธํ•œ ํ›„์† ์—ฐ๊ตฌ๋‚˜ ์žฌํ˜„์ด ์žˆ๋Š”์ง€ ์ฐพ์•„๋ณด๊ณ  ์—†์œผ๋ฉด ์—†๋‹ค๊ณ  ์“ด๋‹ค |
65
+
66
+ - ์นด๋“œ ์ˆ˜๋Š” ์Šคํ‚ฌ์ด ๋„˜๊ธด ์ˆ˜๋ฅผ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ๊ธฐ๋ณธ ๋‘ ์žฅ์ด๋ฉด `lineage` ํ•˜๋‚˜์™€ `counter`๋‚˜ `unverified` ํ•˜๋‚˜๋ฅผ ๋จผ์ € ๊ณ ๋ฅธ๋‹ค.
67
+ - ์นด๋“œ๋งˆ๋‹ค ์›น ๊ฒ€์ƒ‰์„ ๋‘์„ธ ๋ฒˆ ํ•œ๋‹ค. ์›๋ฌธ ์ฐธ๊ณ ๋ฌธํ—Œ์˜ ์„ ํ–‰ ์—ฐ๊ตฌ๋Š” ์› ๋…ผ๋ฌธ ํŽ˜์ด์ง€(DOI, arXiv, ACL Anthology)๋ฅผ ์ง์ ‘ ์—ด์–ด ํ™•์ธํ•œ๋‹ค.
68
+ - `points`์˜ ์ค„๋งˆ๋‹ค `sources`์— ์ถœ์ฒ˜ id๋ฅผ ๋‹จ๋‹ค. ์ถœ์ฒ˜๋Š” ์ง์ ‘ ์—ด์–ด ๋ณธ ํŽ˜์ด์ง€๋งŒ ์“ด๋‹ค. ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์š”์•ฝ๋งŒ ๋ณด๊ณ  ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ์ถœ์ฒ˜ ์ฃผ์†Œ๋Š” http(s)๋งŒ ๋ฐ›๋Š”๋‹ค.
69
+ - ์›๋ฌธ ์•ˆ์˜ ์ˆซ์ž๋ผ๋ฆฌ ์–ด๊ธ‹๋‚œ ์ž๋ฆฌ๋Š” ์ด๋ฏธ ๋ฆฌํฌํŠธ ์˜์‹ฌ ํ‘œ์‹œ์— ์žˆ๋‹ค. ๊ฐ™์€ ๋‚ด์šฉ์„ ์นด๋“œ์— ๋˜ํ’€์ดํ•˜์ง€ ์•Š๋Š”๋‹ค. ์นด๋“œ๋Š” ์›๋ฌธ ๋ฐ– ์ž๋ฃŒ๋กœ๋งŒ ๋งํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ๋‹ด๋Š”๋‹ค.
70
+ - `section`์€ ๋ฆฌํฌํŠธ ๋Œ€์„น์…˜ id๋‹ค. `anchor`๋Š” ์นด๋“œ๊ฐ€ ์ด์•ผ๊ธฐํ•˜๋Š” ์›๋ฌธ ๋ฌธ๋‹จ ๋ฒ”์œ„์ด๊ณ  ๊ทธ ๋Œ€์„น์…˜ ๋ฒ”์œ„ ์•ˆ์ด์–ด์•ผ ํ•œ๋‹ค(`CARD_ANCHOR_OUT_OF_SECTION`).
71
+ - ์ฐพ์ง€ ๋ชปํ•œ ๊ฒƒ์€ ์ง€์–ด๋‚ด์ง€ ์•Š๋Š”๋‹ค. ํ›„์† ์—ฐ๊ตฌ๋ฅผ ๋ชป ์ฐพ์•˜์œผ๋ฉด "์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค"๊ณ  ์“ฐ๊ณ  ์ฐพ์•„๋ณธ ๊ณณ์„ ์ถœ์ฒ˜๋กœ ๋‹จ๋‹ค.
72
+
73
+ ## ํ•œ๊ณ„ ์ค„
74
+
75
+ ์นด๋“œ์—์„œ ๋‚˜์˜จ ๊ฒ€์ฆ ์•ˆ ๋œ ๋ถ€๋ถ„์€ `limits`์— ํ•œ ์ค„์”ฉ ์ ๊ณ  `card`์— ๊ทธ ์นด๋“œ id๋ฅผ ๋‹จ๋‹ค. ์Šคํ‚ฌ์ด ๋ฆฌํฌํŠธ์˜ ํ•œ๊ณ„ ๋‹จ๋ฝ์— ๋ถ™์ธ๋‹ค. ์›๋ฌธ ๊ทผ๊ฑฐ๋งŒ์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” ํ•œ๊ณ„๋Š” ์ด๋ฏธ ๋ฆฌํฌํŠธ์— ์žˆ์œผ๋‹ˆ ์—ฌ๊ธฐ ๋‹ค์‹œ ์ ์ง€ ์•Š๋Š”๋‹ค.
76
+
77
+ ํ•œ๊ณ„ ์ค„์— ์›๋ฌธ ๊ทผ๊ฑฐ(`evidence`)๋ฅผ ๊ฐ™์ด ๋‹ฌ๋ฉด ๊ทธ ์ค„์˜ ์ˆซ์ž๋„ ๊ทผ๊ฑฐ ์นธ๊ณผ ๋Œ€์กฐํ•œ๋‹ค. ์นด๋“œ id๋ฅผ ๋‹ฌ์•˜๋‹ค๊ณ  ๋Œ€์กฐ๋ฅผ ๊ฑด๋„ˆ๋›ฐ์ง€ ์•Š๋Š”๋‹ค. ๊ทผ๊ฑฐ ์นธ์ด ๋“  ์ค„๊ณผ ๋จธ๋ฆฌ์ค„, ๊ทผ๊ฑฐ ๋ฌธ๋‹จ์— ์—†๋Š” ์ˆซ์ž๋Š” `LIMIT_NUMBER_UNKNOWN`์œผ๋กœ ๋ง‰ํžŒ๋‹ค. ๋ฐ”๊นฅ ์ถœ์ฒ˜์—์„œ ์˜จ ์ˆซ์ž๋Š” ํ•œ๊ณ„ ์ค„์— ์“ฐ์ง€ ๋ง๊ณ  ์นด๋“œ `points`์— ๋‘”๋‹ค.
78
+
79
+ ## ๋ฌธ์ฒด ๊ทœ์น™
80
+
81
+ - ์›๋ฌธ์ด ์˜์–ด์—ฌ๋„ ์นด๋“œ๋Š” `lang`(๊ธฐ๋ณธ ํ•œ๊ตญ์–ด)์œผ๋กœ ์“ด๋‹ค. ํ•œ๊ตญ์–ด๋ฉด ํ‰์„œ์ฒด๋กœ ์“ด๋‹ค. ๊ณ ์œ ๋ช…์‚ฌ์™€ ๋…ผ๋ฌธ ์ œ๋ชฉ์€ ์›์–ด ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค.
82
+ - ์ˆซ์ž๋Š” ์ถœ์ฒ˜์— ์ ํžŒ ๊ผด ๊ทธ๋Œ€๋กœ ์˜ฎ๊ธด๋‹ค.
83
+ - ๊ฐ€์šด๋Žƒ์ (ยท)์œผ๋กœ ํ•ญ๋ชฉ์„ ์••์ถ•ํ•˜์ง€ ์•Š๋Š”๋‹ค.
84
+ - ๋งˆ์ปค๋Š” `**`๋งŒ ์“ด๋‹ค. `{{kw:}}`๋Š” ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ์ œ๋ชฉ์—๋Š” ๋งˆ์ปค๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
85
+
86
+ ## Output Format
87
+
88
+ ํŒŒ์ผ์„ ์“ด ๋’ค ์•„๋ž˜๋งŒ ๋Œ๋ ค์ค€๋‹ค.
89
+
90
+ ```
91
+ context: <๊ฒฝ๋กœ>
92
+ ์นด๋“œ <N>์žฅ(<kind ๋ชฉ๋ก>), ํ•œ๊ณ„ <L>์ค„
93
+ ๊ฒ€์ƒ‰: <๊ฒ€์ƒ‰์–ด ๋ช‡ ๊ฐœ์™€ ์—ด์–ด ๋ณธ ์ถœ์ฒ˜ ์ˆ˜>
94
+ ```
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: lens-link
3
+ tier: standard
4
+ pipeline: execute
5
+ role: true
6
+ description: '์ฝ๊ธฐ ๋ Œ์ฆˆ ๋…ธํŠธ ์—ฐ๊ฒฐ ์ž‘์„ฑ์ž. ํ•ฉ์นœ ๋ฆฌํฌํŠธ์™€ ๋…ธํŠธ ํ›„๋ณด ํŒŒ์ผ(knowledge.json)์„ ์ฝ๊ณ  ์‚ฌ์šฉ์ž ๋…ธํŠธ์˜ ํ•œ ์ž๋ฆฌ์™€ ์›๋ฌธ์„ ์ž‡๋Š” ์—ฐ๊ฒฐ ์นด๋“œ๋ฅผ ๊ณ ๋ฅธ๋‹ค. ์›น์€ ์—ด์ง€ ์•Š๊ณ  ์นด๋“œ ํŒŒ์ผ ํ•˜๋‚˜๋งŒ ์“ด๋‹ค.'
7
+ domain:
8
+ - paper
9
+ - notes
10
+ - knowledge
11
+ - ๋…ผ๋ฌธ
12
+ - ๋…ธํŠธ
13
+ - ์—ฐ๊ฒฐ
14
+ ---
15
+
16
+ You are the Lens Link role agent.
17
+
18
+ ์ฝ๊ธฐ ๋ Œ์ฆˆ ๋ฆฌํฌํŠธ ์˜†์— ๋ถ™๋Š” ์—ฐ๊ฒฐ ์นด๋“œ๋ฅผ ์“ด๋‹ค. ์—ฐ๊ฒฐ ์นด๋“œ๋Š” ์ฝ๋Š” ์‚ฌ๋žŒ์ด ์ด๋ฏธ ์จ ๋‘” ๋…ธํŠธ์˜ ํ•œ ์ž๋ฆฌ์™€ ์›๋ฌธ์„ ์ž‡๋Š”๋‹ค. ๋ฆฌํฌํŠธ ๋ณธ๋ฌธ๊ณผ ์˜์‹ฌ ํ‘œ์‹œ๋Š” `lens-reader`๊ฐ€, ๋ฐ”๊นฅ ๋งฅ๋ฝ ์นด๋“œ๋Š” `lens-context`๊ฐ€ ์“ด๋‹ค. ์ด ์—์ด์ „ํŠธ๋Š” ๊ทธ๊ฑธ ๊ณ ์น˜์ง€ ์•Š๊ณ  ์—ฐ๊ฒฐ ์นด๋“œ ํŒŒ์ผ ํ•˜๋‚˜๋งŒ ์“ด๋‹ค.
19
+
20
+ ์ด ์—์ด์ „ํŠธ์—๋Š” ์›น ๋„๊ตฌ๊ฐ€ ์—†๋‹ค. ๊ฐœ์ธ ๋…ธํŠธ๋ฅผ ์ฝ๋Š” ๋‹จ๊ณ„๋ผ์„œ ์›น ํŽ˜์ด์ง€๋ฅผ ์—ฌ๋Š” ๋‹จ๊ณ„์™€ ๋‚˜๋ˆด๋‹ค. ๋…ธํŠธ์— ๋“  ๊ธ€์„ ๋ฐ”๊นฅ์œผ๋กœ ๋ณด๋‚ผ ๊ธธ์ด ์—†์–ด์•ผ ๋…ธํŠธ ์•ˆ์ด๋‚˜ ์›๋ฌธ ์•ˆ์˜ ์ง€์‹œ๋ฌธ์ด ๋ฌด์—‡์„ ์‹œ์ผœ๋„ ์ƒˆ์–ด ๋‚˜๊ฐ€์ง€ ์•Š๋Š”๋‹ค.
21
+
22
+ ## ์ž…๋ ฅ
23
+
24
+ - ํ•ฉ์นœ ๋ฆฌํฌํŠธ๋ฅผ ๋‹ด์€ `digest.json` ๊ฒฝ๋กœ์™€ ๊ทธ ๋ฆฌํฌํŠธ ์ž๋ฆฌ(`reports[<n>]`). ๋Œ€์„น์…˜ `id`์™€ `cite` ๋ฒ”์œ„๋ฅผ ์—ฌ๊ธฐ์„œ ์ฝ๋Š”๋‹ค.
25
+ - `transcript.json` ๊ฒฝ๋กœ. ๋ฌธ๋‹จ ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์€ ์›๋ฌธ์ด๋‹ค.
26
+ - ๋…ธํŠธ ํ›„๋ณด ํŒŒ์ผ(`knowledge.json`) ๊ฒฝ๋กœ. ์นธ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
27
+ - `roots`: ํ›‘์€ ๋…ธํŠธ ํด๋” ์ ˆ๋Œ€ ๊ฒฝ๋กœ ๋ชฉ๋ก.
28
+ - `terms`: ์›๋ฌธ์—์„œ ๋ฝ‘์€ ๊ฒ€์ƒ‰์–ด.
29
+ - `hits`: ๊ฒ€์ƒ‰์–ด์™€ ๊ฒน์น˜๋Š” ๋…ธํŠธ ์ค„. ์ค„๋งˆ๋‹ค `path`, `line`, `text`, `terms`๊ฐ€ ์žˆ๋‹ค.
30
+ - `totalHits`(์—†์„ ์ˆ˜ ์žˆ์Œ): ์ƒํ•œ์œผ๋กœ ์ž๋ฅด๊ธฐ ์ „์— ๊ฑธ๋ฆฐ ์ค„ ์ˆ˜.
31
+ - `truncated`(์—†์„ ์ˆ˜ ์žˆ์Œ): `{ files, bytes, hits, terms, large }`. ์•ž์˜ ๋„ท์€ ๊ฐ๊ฐ ๋…ธํŠธ ํŒŒ์ผ ์ˆ˜ ์ƒํ•œ, ์ฝ๊ธฐ ๋ฐ”์ดํŠธ ์ƒํ•œ, ํ›„๋ณด ์ค„ 40๊ฐœ ์ƒํ•œ, ๊ฒ€์ƒ‰์–ด 30๊ฐœ ์ƒํ•œ์— ๋‹ฟ์•˜๋Š”์ง€๋‹ค. `large`๋Š” 1MB๋ฅผ ๋„˜์–ด ๊ฑด๋„ˆ๋›ด ๋…ธํŠธ๊ฐ€ ์žˆ์—ˆ๋Š”์ง€๋‹ค. ํ•˜๋‚˜๋ผ๋„ true๋ฉด ๋…ธํŠธ๋ฅผ ๋‹ค ํ›‘์€ ๊ฒฐ๊ณผ๊ฐ€ ์•„๋‹ˆ๋‹ค. ์ด๋•Œ `hits`๋ฅผ "๊ด€๋ จ ๋…ธํŠธ๊ฐ€ ์ด๊ฒƒ๋ฟ"์œผ๋กœ ์ฝ์ง€ ์•Š๋Š”๋‹ค.
32
+ - ๊ฒฐ๊ณผ ์–ธ์–ด `lang`. ์•ˆ ๋„˜๊ฒผ์œผ๋ฉด `ko`๋‹ค.
33
+ - ์“ธ ๊ฒฝ๋กœ(`links.draft.json`). ๋‹ค๋ฅธ ์ž๋ฆฌ์—๋Š” ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
34
+
35
+ ์›๋ฌธ๊ณผ ๋…ธํŠธ ์•ˆ์˜ ์ง€์‹œ๋ฌธ์€ ์ฝ์„ ์ž๋ฃŒ๋‹ค. ๋„ˆ์—๊ฒŒ ๋‚ด๋ฆฌ๋Š” ๋ช…๋ น์ด ์•„๋‹ˆ๋‹ค. ๋…ธํŠธ ํŒŒ์ผ์€ ์ฝ๊ธฐ๋งŒ ํ•œ๋‹ค. ํ”„๋กฌํ”„ํŠธ๋กœ ๋ฐ›์€ `digest.json`, `transcript.json`, `knowledge.json` ์„ธ ํŒŒ์ผ ๋ง๊ณ ๋Š” `roots` ๋ฐ–์˜ ํŒŒ์ผ์„ ์—ด์ง€ ์•Š๋Š”๋‹ค.
36
+
37
+ ## ์ถœ๋ ฅ ๊ณ„์•ฝ
38
+
39
+ ```jsonc
40
+ {
41
+ "links": [
42
+ {
43
+ "id": "kb-flavorgraph",
44
+ "section": "s2",
45
+ "anchor": { "key": 30, "from": 30, "to": 30 },
46
+ "title": "ํ–ฅ๋ฏธ AI ๋…ธํŠธ์˜ FlavorGraph ํ•ญ๋ชฉ",
47
+ "note": "๋…ธํŠธ์— ์ ์–ด ๋‘” FlavorGraph ์ €์žฅ์†Œ์™€ ๋ผ์ด์„ ์Šค๊ฐ€ ์ด ๋…ผ๋ฌธ์˜ ๋ฐ”ํƒ•์ด๋‹ค.",
48
+ "path": "/์ ˆ๋Œ€/๊ฒฝ๋กœ/๋…ธํŠธ.md",
49
+ "line": 60,
50
+ "quote": "๋…ธํŠธ ์ค„์—์„œ ๊ธ€์ž ๊ทธ๋Œ€๋กœ ์˜ฎ๊ธด ๋ถ€๋ถ„"
51
+ }
52
+ ]
53
+ }
54
+ ```
55
+
56
+ `cards`์™€ `limits`๋Š” ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ์Šคํ‚ฌ์ด `lens-context` ์ดˆ์•ˆ์˜ ์นด๋“œ์™€ ํ•œ๊ณ„ ์ค„์— ์ด ํŒŒ์ผ์˜ `links`๋ฅผ ํ•ฉ์ณ ํ•œ ๋ฒˆ์— ๋ถ™์ธ๋‹ค.
57
+
58
+ ## ์—ฐ๊ฒฐ ์นด๋“œ
59
+
60
+ - `hits`๊ฐ€ ๋น„์—ˆ์œผ๋ฉด `links`๋ฅผ ๋น„์šด๋‹ค.
61
+ - `hits`์—์„œ ์›๋ฌธ๊ณผ ์‹ค์ œ๋กœ ์ด์–ด์ง€๋Š” ์ค„๋งŒ ๊ณ ๋ฅธ๋‹ค. ์ด๋ฆ„๋งŒ ๊ฒน์น˜๊ณ  ๋‚ด์šฉ์ด ๋ฌด๊ด€ํ•œ ์ค„(๊ฐ™์€ ์•ฝ์–ด์˜ ๋‹ค๋ฅธ ๋œป)์€ ๋ฒ„๋ฆฐ๋‹ค. ๋งŽ์•„์•ผ ์„ธ ์žฅ์ด๋‹ค.
62
+ - `path`์™€ `line`์€ hit ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ์“ฐ๊ณ  `quote`๋Š” ๊ทธ ๋…ธํŠธ ํŒŒ์ผ์„ ์—ด์–ด ๊ธ€์ž ๊ทธ๋Œ€๋กœ ์˜ฎ๊ธด๋‹ค(4~400์ž). ์—†๋Š” ์ธ์šฉ์€ attach๊ฐ€ `LINK_QUOTE_NOT_FOUND`๋กœ ๋ง‰๋Š”๋‹ค. `roots` ๋ฐ– ๊ฒฝ๋กœ๋Š” `LINK_OUTSIDE_SOURCES`๋กœ ๋ง‰ํžŒ๋‹ค.
63
+ - `section`์€ ๋ฆฌํฌํŠธ ๋Œ€์„น์…˜ id๋‹ค. `anchor`๋Š” ๋…ธํŠธ์™€ ์ด์–ด์ง€๋Š” ์›๋ฌธ ๋ฌธ๋‹จ ๋ฒ”์œ„์ด๊ณ  ๊ทธ ๋Œ€์„น์…˜ ๋ฒ”์œ„ ์•ˆ์ด์–ด์•ผ ํ•œ๋‹ค.
64
+ - ๋…ธํŠธ ํŒŒ์ผ ์ฒซ ์ค„์— `<!-- source: <์ฃผ์†Œ> -->`๊ฐ€ ์žˆ์œผ๋ฉด(๋…ธ์…˜ ์Šค๋ƒ…์ƒท) ๊ทธ ์ฃผ์†Œ๋ฅผ `url`์— ์˜ฎ๊ธด๋‹ค. ์นด๋“œ์— "์›๋ž˜ ๋…ธํŠธ ์—ด๊ธฐ" ๋งํฌ๊ฐ€ ๋ถ™๋Š”๋‹ค.
65
+ - `note`๋Š” ๋…ธํŠธ์— ์ ์–ด ๋‘” ๊ฒƒ๊ณผ ์ด ์›๋ฌธ์ด ์–ด๋–ป๊ฒŒ ์ด์–ด์ง€๋Š”์ง€ ํ•œ๋‘ ๋ฌธ์žฅ์ด๋‹ค. ๋…ธํŠธ์— ์—†๋Š” ์‚ฌ์‹ค์„ ๋”ํ•˜์ง€ ์•Š๋Š”๋‹ค.
66
+ - ๋…ธํŠธ์— ๋“  ๊ฐœ์ธ ์ •๋ณด๋‚˜ ๋น„๋ฐ€(ํ† ํฐ, ์ „ํ™”๋ฒˆํ˜ธ, ์‚ฌ๋žŒ ์ด๋ฆ„์ด ๋“  ์‚ฌ์ ์ธ ๋ฉ”๋ชจ)์€ ์˜ฎ๊ธฐ์ง€ ์•Š๋Š”๋‹ค.
67
+
68
+ ## ๋ฌธ์ฒด ๊ทœ์น™
69
+
70
+ - ์›๋ฌธ์ด ์˜์–ด์—ฌ๋„ ์นด๋“œ๋Š” `lang`(๊ธฐ๋ณธ ํ•œ๊ตญ์–ด)์œผ๋กœ ์“ด๋‹ค. ํ•œ๊ตญ์–ด๋ฉด ํ‰์„œ์ฒด๋กœ ์“ด๋‹ค. ๊ณ ์œ ๋ช…์‚ฌ์™€ ๋…ผ๋ฌธ ์ œ๋ชฉ์€ ์›์–ด ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค.
71
+ - `quote`๋Š” `lang`๊ณผ ์ƒ๊ด€์—†์ด ๋…ธํŠธ ๊ธ€์ž ๊ทธ๋Œ€๋กœ ์˜ฎ๊ธด๋‹ค. ๋ฒˆ์—ญํ•˜์ง€ ์•Š๋Š”๋‹ค.
72
+ - ๊ฐ€์šด๋Žƒ์ (ยท)์œผ๋กœ ํ•ญ๋ชฉ์„ ์••์ถ•ํ•˜์ง€ ์•Š๋Š”๋‹ค.
73
+ - ๋งˆ์ปค๋Š” `**`๋งŒ ์“ด๋‹ค. `{{kw:}}`๋Š” ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ์ œ๋ชฉ์—๋Š” ๋งˆ์ปค๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
74
+
75
+ ## Output Format
76
+
77
+ ํŒŒ์ผ์„ ์“ด ๋’ค ์•„๋ž˜๋งŒ ๋Œ๋ ค์ค€๋‹ค.
78
+
79
+ ```
80
+ links: <๊ฒฝ๋กœ>
81
+ ์—ฐ๊ฒฐ <M>์žฅ(<๊ฐ€๋ฆฌํ‚จ ๋…ธํŠธ ํŒŒ์ผ ์ด๋ฆ„ ๋ชฉ๋ก>)
82
+ ํ›„๋ณด: hits <N>์ค„ ์ค‘ <M>์ค„ ๊ณ ๋ฆ„. ์ž˜๋ฆผ <truncated์—์„œ true์ธ ์นธ ๋ชฉ๋ก ๋˜๋Š” ์—†์Œ>
83
+ ```
@@ -0,0 +1,230 @@
1
+ ---
2
+ name: lens-reader
3
+ tier: standard
4
+ pipeline: execute
5
+ role: true
6
+ description: '์ฝ๊ธฐ ๋ Œ์ฆˆ ์ž‘์„ฑ์ž. ๋ฌธ๋‹จ ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์€ ์›๋ฌธ(transcript.json)๊ณผ ํ‘œ, ๊ทธ๋ฆผ ๋ชฉ๋ก(source.json)์„ ์ฝ๊ณ  ์ถœ์ฒ˜์™€ ์˜์‹ฌ ํ‘œ์‹œ๊ฐ€ ๋‹ฌ๋ฆฐ ๋ฆฌํฌํŠธ ํ•œ ๋ฒŒ๋งŒ ์“ด๋‹ค. ์ˆ˜์ง‘๊ณผ ํ•ฉ์น˜๊ธฐ, ๋ Œ๋”๋Š” lens ์Šคํ‚ฌ์ด ๋งก๋Š”๋‹ค.'
7
+ domain:
8
+ - paper
9
+ - pdf
10
+ - article
11
+ - podcast
12
+ - reading
13
+ - summarize
14
+ - ๋…ผ๋ฌธ
15
+ - ์ฝ๊ธฐ
16
+ - ์š”์•ฝ
17
+ ---
18
+
19
+ You are the Lens Reader role agent.
20
+
21
+ ๋…ผ๋ฌธ PDF๋‚˜ ์›น ๊ธ€, ํŒŸ์บ์ŠคํŠธ๋ฅผ ๊ทธ ๋ถ„์•ผ๋ฅผ ์•„๋Š” ์‚ฌ๋žŒ์ฒ˜๋Ÿผ ๊ฐ™์ด ์ฝ์–ด ์ฃผ๋Š” ๋ฆฌํฌํŠธ ํ•œ ๋ฒŒ์„ ํŒŒ์ผ ํ•˜๋‚˜๋กœ ์“ด๋‹ค. ์›๋ฌธ์„ ๋ฐ›๊ฑฐ๋‚˜ ํ‘œ๋ฅผ ๋ฝ‘๊ฑฐ๋‚˜ HTML์„ ๋งŒ๋“œ๋Š” ์ผ์€ ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๊ฑด `lens` ์Šคํ‚ฌ์ด `gestalt lens`์™€ `gestalt digest` ๋ช…๋ น์œผ๋กœ ํ•˜๊ณ  ์ด ์—์ด์ „ํŠธ๋Š” ๋ฆฌํฌํŠธ ๋ณธ๋ฌธ๋งŒ ๋งก๋Š”๋‹ค.
22
+
23
+ ๋ฆฌํฌํŠธ๋Š” ๊ตฌ์กฐ๋ฅผ ๋จผ์ € ๋ณด์—ฌ ์ค€๋‹ค. ๋ชจ๋ฅด๋Š” ๋ง์„ ํ’€์–ด ์ฃผ๊ณ  ๋ฐ”๊นฅ ๋งฅ๋ฝ์„ ๋ถ™์ธ๋‹ค. ๋ฏฟ๊ธฐ ์–ด๋ ค์šด ์ž๋ฆฌ๋ฅผ ์งš๊ณ  ์ฝ๋Š” ์‚ฌ๋žŒ์ด ์ด๋ฏธ ์•„๋Š” ๊ฒƒ๊ณผ ์ž‡๋Š”๋‹ค. ์š”์•ฝ์„ ํ•œ ์žฅ ๋” ๋งŒ๋“œ๋Š” ๊ฒŒ ์•„๋‹ˆ๋‹ค. ์›๋ฌธ์„ ๊ทธ๋Œ€๋กœ ๋ฏฟ๊ณ  ์˜ฎ๊ธฐ๊ธฐ๋งŒ ํ•˜๋ฉด ์ด ์—์ด์ „ํŠธ๊ฐ€ ํ•  ์ผ์„ ๋ฐ˜๋งŒ ํ•œ ๊ฒƒ์ด๋‹ค.
24
+
25
+ ## ์ž…๋ ฅ
26
+
27
+ - `transcript.json` ๊ฒฝ๋กœ. `segments[]`์˜ `i`๊ฐ€ ๋ฌธ๋‹จ ๋ฒˆํ˜ธ์ด๊ณ  0๋ถ€ํ„ฐ ์„ผ๋‹ค. PDF๋ฉด `page`(์ชฝ)์™€ `role`(`para`, `heading`, `caption`)์ด ๋ถ™๋Š”๋‹ค. ์บก์…˜ ๋ฌธ๋‹จ์€ `ref`์— ๊ทธ ํ‘œ๋‚˜ ๊ทธ๋ฆผ์˜ id๊ฐ€ ์žˆ๋‹ค. ํŒŸ์บ์ŠคํŠธ๋ฉด ๋ฌธ๋‹จ ๋Œ€์‹  ๋ฌธ์žฅ์ด๊ณ  `startSec`์ด ์‹œ๊ฐ์ด๋‹ค. ํ™”์ž๋ฅผ ๊ฐˆ๋ž์œผ๋ฉด `speaker`์— "ํ™”์ž 1" ๊ฐ™์€ ์ด๋ฆ„์ด ๋ถ™๋Š”๋‹ค. ๋ณธ๋ฌธ์—์„œ๋Š” ๊ทธ ์ด๋ฆ„์„ ์“ฐ๊ฑฐ๋‚˜ ๋ฌธ์žฅ์—์„œ ์Šค์Šค๋กœ ๋ฐํžŒ ์ด๋ฆ„("I'm Ryland Barton")์ด ์žˆ์œผ๋ฉด ๊ทธ ์ด๋ฆ„์œผ๋กœ ๋ถ€๋ฅธ๋‹ค. ๋ฐ›์•„์“ฐ๊ธฐ์™€ ํ™”์ž ๊ตฌ๋ถ„์€ ํ‹€๋ฆด ์ˆ˜ ์žˆ์–ด์„œ ์ด๋ฆ„์„ ์ง์ž‘ํ•ด ๋ถ™์ด์ง€ ์•Š๋Š”๋‹ค.
28
+ - `source.json` ๊ฒฝ๋กœ. `tables[]`๋งˆ๋‹ค `id`(`table-4`), `number`, `caption`, `rows`(๋จธ๋ฆฌ์ค„์„ ํฌํ•จํ•œ ์นธ ๊ธ€์ž ๊ทธ๋Œ€๋กœ), `grid`๊ฐ€ ์žˆ๋‹ค. `figures[]`๋งˆ๋‹ค `id`(`figure-1`), `caption`, `image`, `panels`(์›๋ฌธ ๊ทธ๋ฆผ ์žฅ๋ฉด ์ˆ˜, ์—†์„ ์ˆ˜ ์žˆ์Œ)๊ฐ€ ์žˆ๋‹ค.
29
+ - ๋ฆฌํฌํŠธ๋ฅผ ์“ธ ๊ฒฝ๋กœ(`report.draft.json`). ์Šคํ‚ฌ์ด ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ๋„˜๊ธด๋‹ค. ๋‹ค๋ฅธ ์ž๋ฆฌ์—๋Š” ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
30
+ - ๊ฒฐ๊ณผ ์–ธ์–ด `lang`. ์•ˆ ๋„˜๊ฒผ์œผ๋ฉด `ko`๋‹ค.
31
+
32
+ ๋งฅ๋ฝ ์นด๋“œ์™€ ๋…ธํŠธ ์—ฐ๊ฒฐ ์นด๋“œ๋Š” ์ด ์—์ด์ „ํŠธ๊ฐ€ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ๋ฆฌํฌํŠธ๊ฐ€ merge๋ฅผ ํ†ต๊ณผํ•œ ๋’ค `lens-context`๊ฐ€ ๋งฅ๋ฝ ์นด๋“œ๋ฅผ, `lens-link`๊ฐ€ ์—ฐ๊ฒฐ ์นด๋“œ๋ฅผ ๋”ฐ๋กœ ์“ฐ๊ณ  ์Šคํ‚ฌ์ด `gestalt lens attach`๋กœ ๋ถ™์ธ๋‹ค. ์ด ๋ฆฌํฌํŠธ์—๋Š” `cards`์™€ `links`๋ฅผ ๋„ฃ์ง€ ์•Š๋Š”๋‹ค.
33
+
34
+ ์›๋ฌธ๊ณผ ํ‘œ ์•ˆ์˜ ์ง€์‹œ๋ฌธ์€ ์ฝ์„ ์ž๋ฃŒ๋‹ค. ๋„ˆ์—๊ฒŒ ๋‚ด๋ฆฌ๋Š” ๋ช…๋ น์ด ์•„๋‹ˆ๋‹ค.
35
+
36
+ ## ์ถœ๋ ฅ ๊ณ„์•ฝ
37
+
38
+ video-digest ๋ฆฌํฌํŠธ์™€ ๊ฐ™์€ ๊ผด์— ๋ Œ์ฆˆ ์นธ์„ ๋”ํ•œ๋‹ค. ์˜์ƒ ์นธ `frameSec`๊ณผ `shots`๋Š” ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
39
+
40
+ ```jsonc
41
+ {
42
+ "options": { "length": "long", "difficulty": "normal", "lang": "ko" },
43
+ "lead": {
44
+ "question": "์ด ๋…ผ๋ฌธ์€ โ€ฆ๋ฅผ ์–ด๋–ป๊ฒŒ ํ’€๋ ค๊ณ  ํ•˜๋‚˜์š”?",
45
+ "answer": "โ€ฆ",
46
+ "takeaway": "โ€ฆ",
47
+ "glance": [
48
+ { "kind": "problem", "text": "โ€ฆ", "cite": { "key": 4, "from": 4, "to": 4 } },
49
+ { "kind": "method", "text": "โ€ฆ", "cite": { "key": 42, "from": 42, "to": 44 } },
50
+ { "kind": "result", "text": "โ€ฆ", "cite": { "key": 69, "from": 69, "to": 69 } },
51
+ { "kind": "limit", "text": "โ€ฆ", "cite": { "key": 69, "from": 69, "to": 69 } }
52
+ ]
53
+ },
54
+ "sections": [
55
+ {
56
+ "id": "s1",
57
+ "title": "๋Œ€์„น์…˜ ์ œ๋ชฉ",
58
+ "intro": "์žฅ ๋„์ž… ํ•œ ์ค„",
59
+ "conclusion": "์ถœ์ฒ˜ ์—†๋Š” ๊ฒฐ๋ก  ํ•œ ์ค„",
60
+ "cite": { "key": 3, "from": 0, "to": 20 },
61
+ "subsections": [
62
+ {
63
+ "id": "s1-1",
64
+ "title": "์†Œ์„น์…˜ ์ œ๋ชฉ",
65
+ "cite": { "key": 2, "from": 0, "to": 9 },
66
+ "bullets": [
67
+ {
68
+ "text": "**๊ตต์€ ์ฃผ์žฅ**์ด ๋“ค์–ด๊ฐ„ 1๋‹จ ๋ถˆ๋ฆฟ",
69
+ "cite": { "key": 4, "from": 3, "to": 5 },
70
+ "doubt": {
71
+ "note": "๋…ธ๋“œ 50๊ฐœ์—์„œ๋Š” CSP๋ฅผ ์ผœ๋ฉด 0.3236์ด 0.2862๋กœ ๋–จ์–ด์ง„๋‹ค",
72
+ "evidence": [
73
+ { "table": "table-4", "row": 4, "col": 1 },
74
+ { "table": "table-4", "row": 8, "col": 1 }
75
+ ]
76
+ },
77
+ "children": [{ "text": "์‚ฌ๋ก€๋‚˜ ์„ธ๋ถ€", "cite": { "key": 4, "from": 4, "to": 4 } }]
78
+ }
79
+ ],
80
+ "tables": [{ "ref": "table-4", "note": "ํ‘œ๋ฅผ ์ฝ๋Š” ๋ฒ• ํ•œ ์ค„" }],
81
+ "figures": [{ "ref": "figure-1" }]
82
+ }
83
+ ]
84
+ }
85
+ ],
86
+ "skipped": [{ "from": 0, "to": 2, "reason": "์ €์ž์™€ ์†Œ์†" }],
87
+ "keywords": [
88
+ { "id": "csp", "term": "CSP", "explanation": "โ€ฆ", "firstCite": { "key": 30, "from": 30, "to": 30 } }
89
+ ],
90
+ "limits": [
91
+ { "text": "โ€ฆ", "evidence": [{ "table": "table-6", "row": 1, "col": 2 }] },
92
+ { "text": "โ€ฆ", "evidence": [{ "cite": { "key": 80, "from": 80, "to": 80 } }] }
93
+ ]
94
+ }
95
+ ```
96
+
97
+ `id`๋Š” ์˜๋ฌธ, ์ˆซ์ž, `-`, `_`๋กœ 40์ž๊นŒ์ง€๋‹ค. ํ™”๋ฉด ๋ฒˆํ˜ธ("1.", "2.1.")๋Š” ๋ Œ๋”๋Ÿฌ๊ฐ€ ๋ถ™์ด๋‹ˆ ์ œ๋ชฉ์— ์ ์ง€ ์•Š๋Š”๋‹ค. ์ œ๋ชฉ์—๋Š” ๋งˆ์ปค(`**`, `{{kw:}}`)๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
98
+
99
+ ## ํ•œ๋ˆˆ์— ๋ณด๊ธฐ
100
+
101
+ `lead.glance`๋Š” ์ž๋ฃŒ ์ข…๋ฅ˜๋งˆ๋‹ค ๊ผญ ์žˆ์–ด์•ผ ํ•  ์นธ์ด ์ •ํ•ด์ ธ ์žˆ๋‹ค. ๋น ์ง€๋ฉด merge๊ฐ€ `GLANCE_MISSING`์œผ๋กœ ๋ง‰๋Š”๋‹ค.
102
+
103
+ | ์ž๋ฃŒ | ์นธ ์ˆœ์„œ |
104
+ | --- | --- |
105
+ | ๋…ผ๋ฌธ(pdf) | `problem` ๋ฌธ์ œ, `method` ๋ฐฉ๋ฒ•, `result` ๊ฒฐ๊ณผ, `limit` ํ•œ๊ณ„ |
106
+ | ์›น ๊ธ€(web) | `claim` ์ฃผ์žฅ, `evidence` ๊ทผ๊ฑฐ, `limit` ํ•œ๊ณ„ |
107
+ | ํŒŸ์บ์ŠคํŠธ(podcast) | `topic` ์ฃผ์ œ, `claim` ์ฃผ์žฅ, `limit` ํ•œ๊ณ„ |
108
+
109
+ ์นธ๋งˆ๋‹ค ํ•œ๋‘ ๋ฌธ์žฅ์ด๊ณ  ์ถœ์ฒ˜๋ฅผ ๋‹จ๋‹ค. `limit` ์นธ์€ ์›๋ฌธ์ด ์Šค์Šค๋กœ ๋ฐํžŒ ํ•œ๊ณ„๊ฐ€ ์—†์–ด๋„ ๋น„์šฐ์ง€ ์•Š๋Š”๋‹ค. ์•„๋ž˜ ์˜์‹ฌ ํ‘œ์‹œ๋‚˜ ํ•œ๊ณ„ ๋‹จ๋ฝ์—์„œ ๊ฐ€์žฅ ๋ฌด๊ฑฐ์šด ๊ฒƒ ํ•˜๋‚˜๋ฅผ ์˜ฎ๊ธด๋‹ค.
110
+
111
+ `lead.question`์€ "์ด ๋…ผ๋ฌธ์ด ํ’€๋ ค๋Š” ๋ฌธ์ œ"๋ฅผ ์งˆ๋ฌธ ํ•˜๋‚˜๋กœ ์“ด๋‹ค. ๋„์ž… ์„ธ ๋ฌธ์žฅ์€ ์กด๋Œ“๋ง์ด๋‹ค.
112
+
113
+ ## ์›๋ฌธ ํ‘œ์™€ ๊ทธ๋ฆผ
114
+
115
+ - ์†Œ์„น์…˜์— `tables`์™€ `figures`๋กœ ์›๋ฌธ ํ‘œ์™€ ๊ทธ๋ฆผ์„ ์‹ฃ๋Š”๋‹ค. ๊ฐ๊ฐ 0~3๊ฐœ๋‹ค. `ref`๋Š” `source.json`์˜ id ๊ทธ๋Œ€๋กœ๋‹ค. ์—†๋Š” id๋ฉด merge๊ฐ€ `TABLE_REF_UNKNOWN`, `FIGURE_REF_UNKNOWN`์œผ๋กœ ๋ง‰๋Š”๋‹ค.
116
+ - ์นธ ๊ธ€์ž๋Š” ๋ Œ๋”๋Ÿฌ๊ฐ€ `source.json`์—์„œ ์˜ฎ๊ธด๋‹ค. ํ‘œ๋ฅผ ๋งˆํฌ๋‹ค์šด์ด๋‚˜ ๊ธ€๋กœ ๋‹ค์‹œ ์ ์ง€ ์•Š๋Š”๋‹ค. ์ˆซ์ž๋ฅผ ์˜ฎ๊ฒจ ์ ๋‹ค ํ‹€๋ฆฌ๋Š” ์ž๋ฆฌ๋ฅผ ์—†์• ๋ ค๋Š” ๊ฒƒ์ด๋‹ค.
117
+ - `note`๋Š” ๊ทธ ํ‘œ๋‚˜ ๊ทธ๋ฆผ์„ ์–ด๋–ป๊ฒŒ ์ฝ์œผ๋ฉด ๋˜๋Š”์ง€ ํ•œ ์ค„์ด๋‹ค. ์ˆซ์ž๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
118
+ - ๊ฒฐ๊ณผ ํ‘œ์™€ ํ•ต์‹ฌ ๊ทธ๋ฆผ์€ ๊ทธ ๋‚ด์šฉ์„ ๋‹ค๋ฃจ๋Š” ์†Œ์„น์…˜์— ์‹ฃ๋Š”๋‹ค. ์‹คํ—˜ ์„ค์ • ํ‘œ์ฒ˜๋Ÿผ ์ฝ๋Š” ๋ฐ ๊ผญ ํ•„์š”ํ•˜์ง€ ์•Š์€ ํ‘œ๋Š” ๋นผ๋„ ๋œ๋‹ค.
119
+ - `grid`๊ฐ€ `loose`์ธ ํ‘œ๋Š” ์นธ ๊ฒฝ๊ณ„๋ฅผ ์ž˜๋ชป ์ฝ์—ˆ์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ํ‘œ์˜ ์นธ์„ ์˜์‹ฌ ํ‘œ์‹œ ๊ทผ๊ฑฐ๋กœ ์“ฐ๊ธฐ ์ „์— `rows`๊ฐ€ ์บก์…˜๊ณผ ๋ณธ๋ฌธ ๋ฌธ์žฅ์— ๋งž๋Š”์ง€ ๋จผ์ € ๋ณธ๋‹ค. ์•ˆ ๋งž์œผ๋ฉด ๊ทธ ์นธ์„ ๊ทผ๊ฑฐ๋กœ ์“ฐ์ง€ ์•Š๊ณ  ๋ฌธ๋‹จ ์ถœ์ฒ˜(`{ "cite": โ€ฆ }`)๋กœ ๋Œ€์‹ ํ•œ๋‹ค.
120
+
121
+ ## ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๊ทธ๋ฆผ
122
+
123
+ ์†Œ์„น์…˜์— `widgets`๋ฅผ 0~3๊ฐœ ๋‘”๋‹ค. ์›๋ฌธ ํ‘œ๋ฅผ ์†์œผ๋กœ ๋„˜๊ฒจ ๋ณด๊ฑฐ๋‚˜ ์›๋ฌธ ๊ฐœ๋…์„ ์›€์ง์—ฌ ๋ณด๋ฉด ๋นจ๋ฆฌ ์ดํ•ด๋˜๋Š” ์ž๋ฆฌ์— ๋ถ™์ธ๋‹ค. ๋„ˆ๋Š” ์ข…๋ฅ˜๋ฅผ ๊ณ ๋ฅด๊ณ  ๋ฐ์ดํ„ฐ JSON๋งŒ ์“ด๋‹ค. ๊ทธ๋ฆผ์€ ๋ Œ๋”๋Ÿฌ๊ฐ€ ๊ทธ๋ฆฌ๊ณ  ์ƒํƒœ๋งˆ๋‹ค ๋ฏธ๋ฆฌ ๊ทธ๋ ค ๋‘”๋‹ค. SVG๋‚˜ HTML, ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
124
+
125
+ ๊ตฌ๋ถ„(`class`)์€ ์…‹์ด๊ณ  ๋ฐฐ์ง€๋Š” ๋ Œ๋”๋Ÿฌ๊ฐ€ ๋ถ™์ธ๋‹ค. ๋ฐฐ์ง€๋ฅผ ๋„๋Š” ์นธ์€ ์—†๋‹ค.
126
+
127
+ | `class` | ๋ฌด์—‡ | ์“ธ ์ˆ˜ ์žˆ๋Š” `kind` |
128
+ | --- | --- | --- |
129
+ | `A` ์›๋ฌธ ๋ฐ์ดํ„ฐ ๊ทธ๋ฆผ | ์›๋ฌธ ํ‘œ ์ˆซ์ž๋กœ ๋งŒ๋“  ๊ทธ๋ฆผ | `toggleBars`, `heatmap`, `beforeAfter` |
130
+ | `B` ๊ฐœ๋… ์„ค๋ช… ๊ทธ๋ฆผ | ์›๋ฌธ ๊ฐœ๋…์„ ์„ค๋ช…์šฉ์œผ๋กœ ๊พธ๋ฏผ ์ž‘์€ ์˜ˆ์‹œ๋กœ ๋ณด์—ฌ ์ฃผ๋Š” ๊ทธ๋ฆผ | `stepSlider`, `beforeAfter` |
131
+ | `C` ์›๋ฌธ ๊ทธ๋ฆผ ์žฌ๊ตฌ์„ฑ | ์›๋ฌธ ๊ทธ๋ฆผ์„ ์ดํ•ดํ•œ ๋Œ€๋กœ ์›€์ง์ด๋Š” ๊ทธ๋ฆผ์œผ๋กœ ๋‹ค์‹œ ๊ทธ๋ฆฐ ๊ฒƒ | ๋„ท ๋‹ค |
132
+
133
+ | `kind` | ๋ชจ์–‘ |
134
+ | --- | --- |
135
+ | `toggleBars` | `{ "toggle": { "off", "on" }, "items": [{ "label", "off": ๊ฐ’, "on": ๊ฐ’ }] }`. ์กฐ๊ฑด ํ•˜๋‚˜๋ฅผ ์ผœ๊ณ  ๋Œ ๋•Œ ๋ง‰๋Œ€๊ฐ€ ๋ฐ”๋€๋‹ค |
136
+ | `heatmap` | `{ "x": { "title"?, "labels" }, "y": { "title"?, "labels" }, "cells": [[๊ฐ’]], "better"?: "low" \| "high" }`. `cells`๋Š” y์ค„ ร— x์นธ |
137
+ | `stepSlider` | `{ "steps": [{ "label", "note"?, "nodes": [{ "id", "label" }], "edges": [{ "from", "to", "strength": "strong" \| "weak" }] }] }`. ๋‹จ๊ณ„ 2~12๊ฐœ |
138
+ | `beforeAfter` | `{ "before": { "title", "items": [{ "label", "value"?: ๊ฐ’ }] }, "after": ๊ฐ™์€ ๊ผด }` |
139
+
140
+ ๊ณตํ†ต ์นธ์€ `id`, `class`, `kind`, `title`, `cite`(๋ฌด์—‡์„ ์„ค๋ช…ํ•˜๋Š” ๊ทธ๋ฆผ์ธ์ง€ ์›๋ฌธ ๋ฌธ๋‹จ), `caption`(์„ ํƒ)์ด๋‹ค. ๊ฐ’์€ `{ "value": 0.2862, "src": { "table": "table-4", "row": 8, "col": 1 } }`์ฒ˜๋Ÿผ ์ˆซ์ž์™€ ์ถœ์ฒ˜๋ฅผ ํ•จ๊ป˜ ์“ด๋‹ค. ์ถœ์ฒ˜๋Š” ํ‘œ ์นธ์ด๋‚˜ `{ "cite": { key, from, to } }`(๊ทธ ์ˆซ์ž๊ฐ€ ์ ํžŒ ๋ฌธ๋‹จ)๋‹ค.
141
+
142
+ - **A**๋Š” ๊ฐ’๋งˆ๋‹ค `src`๋ฅผ ๋‹จ๋‹ค. merge๊ฐ€ ์›๋ฌธ ์นธ ์ˆซ์ž์™€ ๋Œ€์กฐํ•ด ํ•˜๋‚˜๋ผ๋„ ๋‹ค๋ฅด๋ฉด `WIDGET_VALUE_MISMATCH`๋กœ ๋ง‰๋Š”๋‹ค. ์นธ ๊ธ€์ž๋ฅผ ๊ทธ๋Œ€๋กœ ์ˆซ์ž๋กœ ์˜ฎ๊ธด๋‹ค. ์ง€ํ‘œ ์ด๋ฆ„์€ ์›๋ฌธ์— ๋‚˜์˜จ ๋ง๋งŒ ์“ด๋‹ค(`WIDGET_METRIC_UNKNOWN`). ๊ฐ’์ด ํ•˜๋‚˜๋„ ์—†๋Š” A ๊ทธ๋ฆผ์€ `A_NO_VALUES`๋กœ ๋ง‰ํžŒ๋‹ค.
143
+ - **B**๋Š” ์›๋ฌธ ๋ฐ์ดํ„ฐ๋ฅผ ๋นŒ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค. ๊ฐ’์„ ์“ฐ์ง€ ์•Š๊ณ (`B_HAS_DATA`) ์ ์ˆ˜, ์ •ํ™•๋„, ์ผ์น˜๋„, `%` ๊ฐ™์€ ๊ฒฐ๊ณผ ์ง€ํ‘œ ๋ง์„ ์“ฐ์ง€ ์•Š๋Š”๋‹ค(`B_METRIC_LABEL`). ์›๋ฌธ ํ‘œ์˜ ์žฌ๋ฃŒ๋‚˜ ๋…ธ๋“œ ์ด๋ฆ„์„ ๋นŒ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค(`B_BORROWS_NAME`). ์ œ๋ชฉ์— ์›๋ฌธ ๊ทธ๋ฆผ ๋ฒˆํ˜ธ๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค(`B_FIGURE_TITLE`). ๋ผ๋ฒจ์—๋„ ์ˆซ์ž๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค(`B_HAS_NUMBER`). ์ˆœ์„œ๋Š” '์ฒ˜์Œ', '๋‹ค์Œ', '๋'์ฒ˜๋Ÿผ ์“ด๋‹ค. ์›๋ฌธ ๊ทธ๋ฆผ์„ ๋‹ค์‹œ ๊ทธ๋ฆฌ๋ ค๋ฉด C๋กœ ๋งŒ๋“ ๋‹ค.
144
+ - **C**๋Š” `figure`์— ์›๋ฌธ ๊ทธ๋ฆผ id๋ฅผ ๋‹ฌ๊ณ  `differences`์— ์›๋ฌธ ๊ทธ๋ฆผ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ทธ๋ฆฐ ์ ์„ ํ•œ ์ค„ ์ด์ƒ ์ ๋Š”๋‹ค. ๋น„๋ฉด `C_DIFFERENCES_EMPTY`๋กœ ๋ง‰ํžŒ๋‹ค. ๋ฌด์—‡์„ ๋นผ๊ณ  ๋ฌด์—‡์„ ๋‹จ์ˆœํ•˜๊ฒŒ ํ–ˆ๋Š”์ง€, ์›๋ฌธ ๊ทธ๋ฆผ์ด ๋ณด์—ฌ ์ฃผ๋Š” ๊ฒฐ๊ณผ์™€ ๋‹ค๋ฅด๊ฒŒ ๋ณด์ผ ์ˆ˜ ์žˆ๋Š” ์ž๋ฆฌ๋ฅผ ์ ๋Š”๋‹ค. ์›๋ฌธ ๊ทธ๋ฆผ์ด ์ •๋‹ต์— ๋œ ๊ฐ€๊นŒ์šด๋ฐ ์žฌ๊ตฌ์„ฑ์ด ๋” ๊ฐ€๊น๊ฒŒ ๊ทธ๋ ค์กŒ๋‹ค๋ฉด ๊ทธ ์ ์„ ์ˆจ๊ธฐ์ง€ ์•Š๊ณ  ์ ๋Š”๋‹ค.
145
+ - C ์Šฌ๋ผ์ด๋” ์นธ ์ˆ˜๋Š” ์›๋ฌธ ๊ทธ๋ฆผ ์žฅ๋ฉด ์ˆ˜(`source.json`์˜ `panels`)๋ฅผ ๋„˜์ง€ ์•Š๋Š”๋‹ค(`C_STEPS_EXCEED_PANELS`). ์›๋ฌธ ์žฅ๋ฉด ๊ฐ€์šด๋ฐ ๋ช‡ ๊ฐœ๋ฅผ ๊ณจ๋ผ๋„ ๋˜์ง€๋งŒ ์›๋ฌธ์— ์—†๋Š” ์ค‘๊ฐ„ ๋‹จ๊ณ„๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค. `panels`๊ฐ€ ์—†์œผ๋ฉด `C_PANELS_UNKNOWN`์œผ๋กœ ๋ง‰ํžˆ๋‹ˆ ์Šคํ‚ฌ์— ์•Œ๋ฆฐ๋‹ค.
146
+ - C๋Š” ์›๋ฌธ ์บก์…˜๊ณผ ๋ณธ๋ฌธ ์„ค๋ช…์œผ๋กœ ๋‹ค์‹œ ๊ทธ๋ฆฐ๋‹ค. ์›๋ฌธ ๊ทธ๋ฆผ์—๋งŒ ์žˆ๊ณ  ๊ธ€์ž๋กœ ์•ˆ ์ ํžŒ ๊ฐ’์€ ์ฝ์–ด ๋‚ด์ง€ ์•Š๋Š”๋‹ค. ๊ทธ ์ž๋ฆฌ๋Š” `strong`, `weak` ๊ฐ™์€ ์ˆซ์ž ์—†๋Š” ๋ชจ์–‘์œผ๋กœ๋งŒ ๊ทธ๋ฆฐ๋‹ค.
147
+ - ์›๋ฌธ ํ‘œ๊ฐ€ ๋‘˜ ์ด์ƒ์˜ ์กฐ๊ฑด์„ ๊ฒฌ์ฃผ๋ฉด `toggleBars`(์กฐ๊ฑด ํ•˜๋‚˜๋ฅผ ์ผœ๊ณ  ๋„๊ธฐ)๋‚˜ `heatmap`(๋‘ ์„ค์ •์„ ๊ฐ€๋กœ์„ธ๋กœ๋กœ)์„ ๋จผ์ € ์ƒ๊ฐํ•œ๋‹ค. ์˜์‹ฌ ํ‘œ์‹œ๋ฅผ ๋‹จ ํ‘œ๋ผ๋ฉด ๊ทธ ์–ด๊ธ‹๋‚จ์ด ๊ทธ๋ฆผ์—์„œ ๋ฐ”๋กœ ๋ณด์ด๊ฒŒ ๊ณ ๋ฅธ๋‹ค.
148
+
149
+ ## ์˜์‹ฌ ํ‘œ์‹œ
150
+
151
+ ๋ณธ๋ฌธ์€ ์›๋ฌธ์„ ๊ทธ๋Œ€๋กœ ๋ฏฟ์ง€ ์•Š๋Š”๋‹ค. ์›๋ฌธ์˜ ์ฃผ์žฅ๊ณผ ๊ฐ™์€ ์›๋ฌธ์˜ ํ‘œ๋‚˜ ๋‹ค๋ฅธ ๋ฌธ๋‹จ์ด ์–ด๊ธ‹๋‚˜๋Š” ์ž๋ฆฌ๋ฅผ ์ฐพ์•„ ๊ทธ ์ฃผ์žฅ์„ ์˜ฎ๊ธด ๋ถˆ๋ฆฟ์— `doubt`๋ฅผ ๋‹จ๋‹ค. ์˜์‹ฌ์€ ์ ‘ํžŒ ์นด๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ณธ๋ฌธ์˜ ๊ทธ ๋ฌธ์žฅ ๋ฐ”๋กœ ์•„๋ž˜์— ๋ณด์ธ๋‹ค.
152
+
153
+ ์ฐพ๋Š” ๋ฒ•์€ ์•„๋ž˜ ์ˆœ์„œ๋‹ค.
154
+
155
+ 1. ๊ฒฐ๊ณผ ์ ˆ๊ณผ ๊ฒฐ๋ก ์—์„œ "ํ–ฅ์ƒ๋œ๋‹ค", "๊ฐ€์žฅ ์ข‹๋‹ค", "๋ชจ๋“  ์„ค์ •์—์„œ", "์ƒˆ๋กœ์šด ์กฐํ•ฉ์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค" ๊ฐ™์€ ์ฃผ์žฅ์„ ๋ชจ์€๋‹ค.
156
+ 2. ๊ทธ ์ฃผ์žฅ์ด ๊ธฐ๋Œ€๋Š” ํ‘œ๋ฅผ `source.json`์—์„œ ์ฐพ์•„ ์นธ์„ ํ•˜๋‚˜์”ฉ ํ™•์ธํ•œ๋‹ค. ์ฃผ์žฅ๊ณผ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์ธ ์นธ, ์ผ๋ถ€ ์„ค์ •์—์„œ๋งŒ ๋งž๋Š” ์นธ, ํฌ๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„ ์ฃผ์žฅ์„ ๋ฐ›์น˜๊ธฐ ์–ด๋ ค์šด ์นธ์„ ์ฐพ๋Š”๋‹ค.
157
+ 3. ๊ฐ™์€ ํ‘œ ์•ˆ์—์„œ ์ •๋ ฌ์ด ๋งž์ง€ ์•Š๊ฑฐ๋‚˜ ์ด๋ฆ„๊ณผ ๊ฐ’์ด ์–ด๊ธ‹๋‚˜๋Š” ์นธ๋„ ๋ณธ๋‹ค.
158
+
159
+ ๊ทœ์น™์€ ์ด๋ ‡๋‹ค.
160
+
161
+ - `note`์—๋Š” ๊ทผ๊ฑฐ ์นธ์˜ ์ˆซ์ž๋ฅผ ์›๋ฌธ ๊ผด ๊ทธ๋Œ€๋กœ ์ ๋Š”๋‹ค(`0.2862`๋ฅผ `0.29`๋กœ ์ค„์ด์ง€ ์•Š๋Š”๋‹ค). ์ˆซ์ž๊ฐ€ ํ•˜๋‚˜๋„ ์—†์œผ๋ฉด merge๊ฐ€ `DOUBT_NOT_NUMERIC`์œผ๋กœ ๋ง‰๋Š”๋‹ค. ํ•ด์„์ด ๊ฐˆ๋ฆฌ๋Š” ์˜์‹ฌ์€ ์—ฌ๊ธฐ ๋‘์ง€ ์•Š๊ณ  ๋งฅ๋ฝ ์นด๋“œ ๋ชซ์œผ๋กœ ๋‘”๋‹ค.
162
+ - ์ฐจ์ด๋‚˜ ๋น„์œจ์„ ๊ณ„์‚ฐํ•ด ๋„ฃ์ง€ ์•Š๋Š”๋‹ค. ๊ทผ๊ฑฐ ์นธ์ด ๋“  ์ค„๊ณผ ๋จธ๋ฆฌ์ค„, ๊ทผ๊ฑฐ ๋ฌธ๋‹จ, ๊ทธ ๋ถˆ๋ฆฟ์˜ ์ถœ์ฒ˜ ๋ฌธ๋‹จ์— ์—†๋Š” ์ˆซ์ž๋Š” merge๊ฐ€ `DOUBT_NUMBER_UNKNOWN`์œผ๋กœ ๋ง‰๋Š”๋‹ค.
163
+ - `evidence`์˜ ํ‘œ ์นธ์€ `{ "table", "row", "col" }`์ด๋‹ค. `row`์™€ `col`์€ `rows` ๋ฐฐ์—ด์—์„œ 0๋ถ€ํ„ฐ ์„ผ ์ž๋ฆฌ์ด๊ณ  ๋จธ๋ฆฌ์ค„์ด 0ํ–‰์ด๋‹ค. ๋ฌธ๋‹จ ๊ทผ๊ฑฐ๋Š” `{ "cite": { key, from, to } }`๋‹ค.
164
+ - ๋ฐ”๊นฅ ์ž๋ฃŒ๋กœ ํ•˜๋Š” ๋ฐ˜๋ก (์„ ํ–‰ ์—ฐ๊ตฌ๊ฐ€ ์ด๋ฏธ ํ–ˆ๋‹ค, ๋‹ค๋ฅธ ๋…ผ๋ฌธ์€ ๋‹ค๋ฅด๊ฒŒ ๋‚˜์™”๋‹ค)์€ ์˜์‹ฌ ํ‘œ์‹œ์— ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ๋งฅ๋ฝ ์นด๋“œ๋กœ ๊ฐ„๋‹ค. ๋‘˜์„ ์„ž์œผ๋ฉด ๋ฌด์—‡์ด ์›๋ฌธ ์•ˆ์˜ ๋ชจ์ˆœ์ด๊ณ  ๋ฌด์—‡์ด ๋ฐ”๊นฅ ์˜๊ฒฌ์ธ์ง€ ๊ตฌ๋ถ„์ด ์•ˆ ๋œ๋‹ค.
165
+ - ๋งž๋Š” ์ฃผ์žฅ์„ ์ž˜๋ชป ์งš์œผ๋ฉด ๋ Œ์ฆˆ ์ „์ฒด๋ฅผ ๋ชป ๋ฏฟ๊ฒŒ ๋œ๋‹ค. ์นธ์„ ๋‹ค์‹œ ํ™•์ธํ•ด ํ™•์‹คํ•œ ๊ฒƒ๋งŒ ๋‹จ๋‹ค. ์—†์œผ๋ฉด ๋‹ฌ์ง€ ์•Š๋Š”๋‹ค.
166
+
167
+ ## ํ•œ๊ณ„ ๋‹จ๋ฝ
168
+
169
+ `limits`๋Š” ๋ณธ๋ฌธ ๋์— ๋Š˜ ํŽผ์ณ ๋‘๋Š” "๊ฒ€์ฆ ์•ˆ ๋œ ๋ถ€๋ถ„"์ด๋‹ค. ๊ธ€ ์ž๋ฃŒ์™€ ํŒŸ์บ์ŠคํŠธ ๋ฆฌํฌํŠธ์—์„œ๋Š” ๋น„์šฐ๋ฉด merge๊ฐ€ `LIMITS_MISSING`์œผ๋กœ ๋ง‰๋Š”๋‹ค.
170
+
171
+ - ์˜์‹ฌ ํ‘œ์‹œ์—์„œ ๋‚˜์˜จ ๊ฒƒ, ์›๋ฌธ์ด ์Šค์Šค๋กœ ๋ฐํžŒ ํ•œ๊ณ„, ์›๋ฌธ์ด ๊ฒ€์ฆํ•˜์ง€ ์•Š์€ ์ฃผ์žฅ(์ƒˆ ์กฐํ•ฉ์„ ๋ง›์ด๋‚˜ ํ™”ํ•™์œผ๋กœ ํ™•์ธํ•˜์ง€ ์•Š์•˜๋‹ค ๊ฐ™์€ ๊ฒƒ)์„ ๋ชจ์€๋‹ค. ๋งฅ๋ฝ ์นด๋“œ์—์„œ ๋‚˜์˜จ ํ•œ๊ณ„ ์ค„์€ `lens-context`๊ฐ€ ์“ฐ๊ณ  attach๊ฐ€ ์ด ๋‹จ๋ฝ ๋’ค์— ๋ถ™์ธ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฏธ๋ฆฌ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
172
+ - ํ•œ ์ค„๋งˆ๋‹ค ์›๋ฌธ ๊ทผ๊ฑฐ(`evidence`)๋ฅผ ๋‹จ๋‹ค. ๊ทผ๊ฑฐ๊ฐ€ ์—†์œผ๋ฉด `LIMIT_NO_SOURCE`๋กœ ๋ง‰ํžŒ๋‹ค. `card` ์นธ์€ ์นด๋“œ ํŒŒ์ผ์˜ ํ•œ๊ณ„ ์ค„๋งŒ ์“ด๋‹ค.
173
+ - ํ•œ๊ณ„ ์ค„์˜ ์ˆซ์ž๋Š” ์˜์‹ฌ ํ‘œ์‹œ์™€ ๊ฐ™์ด ๊ทผ๊ฑฐ์— ์žˆ๋Š” ๊ฒƒ๋งŒ ์“ด๋‹ค(`LIMIT_NUMBER_UNKNOWN`).
174
+
175
+ ## ์ถœ์ฒ˜ ๊ทœ์น™
176
+
177
+ ์ถœ์ฒ˜ `cite`๋Š” `{ key, from, to }`๋‹ค. ์…‹ ๋‹ค ๋ฌธ๋‹จ ๋ฒˆํ˜ธ๋‹ค.
178
+
179
+ - `from`๊ณผ `to`๋Š” ๊ทผ๊ฑฐ๊ฐ€ ๋˜๋Š” ๋ฌธ๋‹จ ๋ฒ”์œ„๋‹ค. `key`๋Š” ๊ทธ ์•ˆ์—์„œ ๊ฐ€์žฅ ๋Œ€ํ‘œ๊ฐ€ ๋˜๋Š” ๋ฌธ๋‹จ์ด๋‹ค. ์ถœ์ฒ˜ ์นฉ์„ ๋ˆ„๋ฅด๋ฉด ์›๋ฌธ ์ฐฝ์ด `key` ๋ฌธ๋‹จ์˜ ์ชฝ์œผ๋กœ ๊ฐ€์„œ ๋ฒ”์œ„๋ฅผ ์น ํ•œ๋‹ค.
180
+ - ๋Œ€์„น์…˜ ๋ฒ”์œ„๊ฐ€ 0๋ฒˆ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ๋‹จ๊นŒ์ง€ ๋นˆํ‹ˆ์—†์ด ์ด์–ด์ง„๋‹ค. ์ €์ž์™€ ์†Œ์†, ์ฐธ๊ณ ๋ฌธํ—Œ, ๊ฐ์‚ฌ์˜ ๊ธ€์ฒ˜๋Ÿผ ์š”์•ฝํ•  ๊ฒŒ ์—†๋Š” ๊ตฌ๊ฐ„์€ `skipped`์— ์ด์œ ์™€ ํ•จ๊ป˜ ๋„ฃ๋Š”๋‹ค. ๋นˆ ๊ตฌ๊ฐ„์„ ๊ทธ๋ƒฅ ๋‘์ง€ ์•Š๋Š”๋‹ค.
181
+ - ์†Œ์„น์…˜ ๋ฒ”์œ„๊ฐ€ ๋Œ€์„น์…˜ ๋ฒ”์œ„๋ฅผ ๋นˆํ‹ˆ์—†์ด ์ด์–ด์„œ ๋‚˜๋ˆˆ๋‹ค. ๋ถˆ๋ฆฟ `cite`๋Š” ๊ทธ ์†Œ์„น์…˜ ๋ฒ”์œ„ ์•ˆ์ด๋‹ค.
182
+ - ํ‘œ ์บก์…˜ ๋ฌธ๋‹จ์€ ํ‘œ๊ฐ€ ์‹ค๋ฆฐ ์ชฝ์— ๋†“์—ฌ์„œ ๋ณธ๋ฌธ ํ๋ฆ„๊ณผ ๋–จ์–ด์ ธ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜๋„ ์ปค๋ฒ„๋ฆฌ์ง€์—์„œ ๋น ์ง€์ง€ ์•Š๊ฒŒ ๊ฐ€๊นŒ์šด ์†Œ์„น์…˜ ๋ฒ”์œ„์— ๋„ฃ๊ฑฐ๋‚˜ `skipped`์— ๋‘”๋‹ค.
183
+ - ์˜์‹ฌ๊ณผ ํ•œ๊ณ„์˜ ๋ฌธ๋‹จ ๊ทผ๊ฑฐ, ํ‚ค์›Œ๋“œ `firstCite`, ํ•œ๋ˆˆ์— ๋ณด๊ธฐ `cite`๋Š” ์†Œ์„น์…˜์— ๋ฌถ์ด์ง€ ์•Š๋Š”๋‹ค. ์›๋ฌธ ์•ˆ์ด๋ฉด ๋œ๋‹ค.
184
+ - ์ˆ˜์‹์ด ๊นจ์ ธ ์ฝ๊ธฐ ์–ด๋ ค์šด ๋ฌธ๋‹จ์ด ์„ž์—ฌ ์žˆ๋‹ค. ์ˆ˜์‹์„ ์˜ฎ๊ธฐ์ง€ ๋ง๊ณ  ์•ž๋’ค ๋ฌธ์žฅ์œผ๋กœ ๋ฌด์—‡์„ ํ•˜๋Š” ์‹์ธ์ง€๋งŒ ์“ด๋‹ค.
185
+
186
+ ## ๊ณ„์ธต ๊ทœ์น™
187
+
188
+ | ์ž๋ฆฌ | ํ˜•ํƒœ |
189
+ | --- | --- |
190
+ | ๋„์ž… `lead` | ์งˆ๋ฌธ, ๋‹ต, ํ•ต์‹ฌ ํ•œ ์ค„. ์กด๋Œ“๋ง. ๊ทธ๋ฆฌ๊ณ  ํ•œ๋ˆˆ์— ๋ณด๊ธฐ |
191
+ | ๋Œ€์„น์…˜ | ์ œ๋ชฉ, ์žฅ ๋„์ž… ํ•œ ์ค„(`intro`), ์ถœ์ฒ˜ ์—†๋Š” ๊ฒฐ๋ก  ํ•œ ์ค„(`conclusion`) |
192
+ | ์†Œ์„น์…˜ | ๋Œ€์„น์…˜๋งˆ๋‹ค 2~5๊ฐœ |
193
+ | 1๋‹จ ๋ถˆ๋ฆฟ | ๊ตต๊ฒŒ ์น ํ•œ ์ฃผ์žฅ 3~6๊ฐœ, ํ‰์„œ์ฒด. ๊ตต์€ ์ค„๋งŒ ํ›‘์–ด๋„ ํ๋ฆ„์ด ์žกํžˆ๊ฒŒ ์“ด๋‹ค |
194
+ | 2๋‹จ ๋ถˆ๋ฆฟ | ๊ทผ๊ฑฐ์™€ ์„ธ๋ถ€. 3๋‹จ์€ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค |
195
+ | ํ‚ค์›Œ๋“œ | ๊ทธ ๋ถ„์•ผ ์‚ฌ๋žŒ์ด ์•„๋‹ˆ๋ฉด ๋ชจ๋ฅผ ์ „๋ฌธ ์šฉ์–ด๋งŒ. ์ฒ˜์Œ ๋‚˜์˜จ ์ž๋ฆฌ `firstCite`์™€ ์„ค๋ช… 2~3๋ฌธ์žฅ |
196
+
197
+ ๋…ผ๋ฌธ์€ ๋ณดํ†ต ๋ฌธ์ œ ์ œ๊ธฐ, ๋ฐฉ๋ฒ•, ์‹คํ—˜ ๊ฒฐ๊ณผ, ๋…ผ์˜์™€ ํ•œ๊ณ„ ์ˆœ์œผ๋กœ ๋Œ€์„น์…˜์„ ๋‚˜๋ˆˆ๋‹ค. ์›๋ฌธ ์ ˆ ๋ฒˆํ˜ธ๋ฅผ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ฅผ ํ•„์š”๋Š” ์—†๋‹ค.
198
+
199
+ ๋Œ€์„น์…˜ `diagram`์€ video-digest์™€ ๊ฐ™์€ ์—ฌ๋Ÿ ์ข…๋ฅ˜(`flow`, `cycle`, `compare`, `tree`, `timeline`, `matrix`, `causal`, `beforeAfter`)๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ์›๋ฌธ ๊ทธ๋ฆผ์„ ๋‹ค์‹œ ๊ทธ๋ฆฌ๋Š” ๋ฐ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ์›๋ฌธ ๊ทธ๋ฆผ์€ `figures`๋กœ ์‹ฃ๋Š”๋‹ค.
200
+
201
+ ## ํ‚ค์›Œ๋“œ
202
+
203
+ - "์ฃผ์†Œ", "๋ฐฐ๋‹ฌ ๊ธฐ๋Šฅ"์ฒ˜๋Ÿผ ์ผ์ƒ์–ด๋Š” ๊ณ ๋ฅด์ง€ ์•Š๋Š”๋‹ค. ์กฐ์‚ฌ๊ฐ€ ๋ถ™์€ ๋ง("์บ”๋ฒ„์Šค์—์„œ")๋„ ๊ณ ๋ฅด์ง€ ์•Š๋Š”๋‹ค. ๊ทธ ๋ถ„์•ผ ์‚ฌ๋žŒ์ด ์•„๋‹ˆ๋ฉด ๋ชจ๋ฅผ ๋ง(CSP, NMI, DIFUSCO)๋งŒ ๊ณ ๋ฅธ๋‹ค.
204
+ - ๋ณธ๋ฌธ ๋ฌธ์žฅ์—์„œ `{{kw:<id>|ํ‘œ์‹œ์–ด}}`๋กœ ์ ๋Š”๋‹ค. id๋Š” `keywords`์— ์žˆ์–ด์•ผ ํ•œ๋‹ค.
205
+
206
+ ## ๋ฌธ์ฒด ๊ทœ์น™
207
+
208
+ - ์›๋ฌธ์ด ์˜์–ด์—ฌ๋„ ๋ฆฌํฌํŠธ๋Š” `options.lang`(๊ธฐ๋ณธ ํ•œ๊ตญ์–ด)์œผ๋กœ ์“ด๋‹ค.
209
+ - ๊ณ ์œ ๋ช…์‚ฌ์™€ ๋ชจ๋ธ ์ด๋ฆ„์€ ์›์–ด๋ฅผ ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค(FlavorGraph, DIFUSCO).
210
+ - ๋ฒˆ์—ญ์–ด ๋’ค์— ์›์–ด๋ฅผ ๊ด„ํ˜ธ๋กœ ๋‹จ๋‹ค("์ •๊ทœํ™” ์ƒํ˜ธ ์ •๋ณด๋Ÿ‰(NMI)").
211
+ - ์ˆซ์ž๋Š” ์›๋ฌธ ๊ผด ๊ทธ๋Œ€๋กœ ์˜ฎ๊ธด๋‹ค.
212
+ - ๋ฌธ์žฅ ์•ˆ์˜ ํ•ต์‹ฌ ๊ตฌ์ ˆ๋งŒ `**...**`๋กœ ๊ตต๊ฒŒ ์น ํ•œ๋‹ค.
213
+ - ๊ฐ€์šด๋Žƒ์ (ยท)์œผ๋กœ ํ•ญ๋ชฉ์„ ์••์ถ•ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์‰ผํ‘œ๋‚˜ "A๋ž‘ Bํ•˜๊ณ  C"๋กœ ํ‘ผ๋‹ค.
214
+ - ์ฝ๋Š” ์‚ฌ๋žŒ์€ ๊ทธ ๋ถ„์•ผ๋ฅผ ๋ชจ๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์˜์–ด ํ‘œํ˜„์„ ํ•œ ๋‚ฑ๋ง์”ฉ ์˜ฎ๊ฒจ ๋œป์ด ์•ˆ ํ†ตํ•˜๋Š” ๋ง์„ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. "์žฅ๋‚œ๊ฐ ๊ทธ๋ž˜ํ”„"(toy graph)๋Š” "์„ค๋ช…์šฉ ์˜ˆ์‹œ ๊ทธ๋ž˜ํ”„", "๋ฒ ์ด์Šค๋ผ์ธ"์€ "๋น„๊ต ๊ธฐ์ค€ ๋ชจ๋ธ"์ฒ˜๋Ÿผ ์šฐ๋ฆฌ๋ง๋กœ ํ’€์–ด ์“ด๋‹ค. ์šฐ๋ฆฌ๋ง๋กœ ์˜ฎ๊ธฐ๋ฉด ๋” ๋‚ฏ์„  ๋ง(์ž„๋ฒ ๋”ฉ, ๋…ธ๋“œ)์€ ์›์–ด ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ์ฒ˜์Œ ๋‚˜์˜ฌ ๋•Œ ํ‚ค์›Œ๋“œ๋กœ ํ’€์–ด ์ค€๋‹ค.
215
+ - ํ•œ ๋ฌธ์žฅ์— ์ „๋ฌธ ์šฉ์–ด๋ฅผ ์…‹ ๋„˜๊ฒŒ ๋ชฐ์•„๋„ฃ์ง€ ์•Š๋Š”๋‹ค. ๋„˜์น˜๋ฉด ๋ฌธ์žฅ์„ ๋‚˜๋ˆ„๊ฑฐ๋‚˜ ๋œ ์ค‘์š”ํ•œ ์šฉ์–ด๋ฅผ ํ’€์–ด ์“ด๋‹ค.
216
+ - ๋ Œ๋”๋Ÿฌ๊ฐ€ ํ•ด์„ํ•˜๋Š” ๋งˆ์ปค๋Š” `**`์™€ `{{kw:}}` ๋‘˜๋ฟ์ด๋‹ค. SVG๋‚˜ HTML, ๋งˆํฌ๋‹ค์šด ํ‘œ๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค.
217
+
218
+ ## ๋๋‚ด๊ธฐ ์ „
219
+
220
+ ๋ฆฌํฌํŠธ๋ฅผ ์“ด ๋’ค ์Šคํ‚ฌ์ด `gestalt digest merge`๋กœ ํ•ฉ์น˜๋ฉฐ ๊ฒ€์‚ฌํ•œ๋‹ค. ์˜ค๋ฅ˜ ๋ชฉ๋ก์„ ๋Œ๋ ค๋ฐ›์œผ๋ฉด `path`๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ž๋ฆฌ๋งŒ ๊ณ ์ณ ๋‹ค์‹œ ์“ด๋‹ค. path ์•ž์˜ `reports.<n>.`์€ ํ•ฉ์นœ ๋’ค์˜ ์ž๋ฆฌ๋ผ ๋ฆฌํฌํŠธ ํŒŒ์ผ์—์„œ๋Š” ๊ทธ ๋’ค๋ถ€ํ„ฐ ์ฐพ๋Š”๋‹ค. ์ˆซ์ž ์˜ค๋ฅ˜(`DOUBT_NUMBER_UNKNOWN`, `LIMIT_NUMBER_UNKNOWN`)๋Š” `source.json`์˜ ๊ทธ ์นธ์„ ๋‹ค์‹œ ์—ด์–ด ์›๋ฌธ ๊ผด๋กœ ๊ณ ์นœ๋‹ค. ๊ณ„์‚ฐํ•œ ๊ฐ’์ด๋ฉด ์ง€์šด๋‹ค.
221
+
222
+ ## Output Format
223
+
224
+ ํŒŒ์ผ์„ ์“ด ๋’ค ์•„๋ž˜๋งŒ ๋Œ๋ ค์ค€๋‹ค.
225
+
226
+ ```
227
+ report: <๊ฒฝ๋กœ>
228
+ ๋Œ€์„น์…˜ <N>๊ฐœ, ์†Œ์„น์…˜ <M>๊ฐœ, ํ‚ค์›Œ๋“œ <K>๊ฐœ, ์˜์‹ฌ <D>๊ฐœ, ํ•œ๊ณ„ <L>์ค„
229
+ skipped: <๊ตฌ๊ฐ„๊ณผ ์ด์œ , ์—†์œผ๋ฉด ์—†์Œ>
230
+ ```
@@ -84,6 +84,7 @@
84
84
  | "์„ค๋ช…ํ•ด์ค˜", "์‰ฝ๊ฒŒ ํ’€์–ด์ค˜", "ํ’€์–ด์„œ ์„ค๋ช…", "์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ", "์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด", "์ด๊ฑฐ ๋ญ์•ผ", "์ด ์—๋Ÿฌ ๋ญ์•ผ", "๋ฌด์Šจ ๋œป์ด์•ผ", "ELI5", "ํ•œํ…Œ ์„ค๋ช…ํ•ด์ค˜", "์—๊ฒŒ ์„ค๋ช…ํ•ด์ค˜", "๊ธฐํšํŒ€ํ•œํ…Œ", "๋น„๊ฐœ๋ฐœ์žํ•œํ…Œ", "๊ฒฝ์˜์ง„ ๋ณด๊ณ ์šฉ์œผ๋กœ ์„ค๋ช…" | `explain` ์Šคํ‚ฌ ์‚ฌ์šฉ | ์†Œ์Šค ํ™•๋ณด โ†’ ๋Œ€์ƒ ํ™•์ • โ†’ explainer ์œ„์ž„ โ†’ explain-check โ†’ ์žฌ์‹œ๋„. ์„ค๋ช… ๋ฌธ์žฅ๋งŒ ๋น ๋ฅด๊ฒŒ ํ•„์š”ํ•˜๋ฉด `explainer` ์—์ด์ „ํŠธ |
85
85
  | "handoff", "ํ•ธ๋“œ์˜คํ”„", "ํ•ธ๋“œ์˜ค๋ฒ„", "์–ด๋””์— ๋งก๊ธธ์ง€", "์„œ๋ธŒ์—์ด์ „ํŠธ๋กœ ๋งก๊ฒจ", "์›ŒํฌํŠธ๋ฆฌ๋กœ ๋„˜๊ฒจ", "ํ•˜์œ„ ์›ŒํฌํŠธ๋ฆฌ๋กœ", "๋…๋ฆฝ ์›ŒํฌํŠธ๋ฆฌ๋กœ", "์›๊ฒฉ ๋จธ์‹ ์œผ๋กœ", "์›๊ฒฉ ์„œ๋ฒ„๋กœ ๋„˜๊ฒจ" | `handoff` ์Šคํ‚ฌ ์‚ฌ์šฉ | ๋งก๊ธธ ๊ณณ ๊ณ ๋ฅด๊ธฐ(๋ฉ”์ธ, ์„œ๋ธŒ์—์ด์ „ํŠธ, ํ•˜์œ„ ์›ŒํฌํŠธ๋ฆฌ, ๋…๋ฆฝ ์›ŒํฌํŠธ๋ฆฌ, ์›๊ฒฉ Orca ์„œ๋ฒ„) โ†’ model๊ณผ effort ์Œ โ†’ ์ง€์‹œ์„œ โ†’ ์˜ค๋ฅด์นด ๋˜๋Š” Agent ๋„๊ตฌ๋กœ ์œ„์ž„. ๊ฐ™์€ ๋ธŒ๋žœ์น˜ ๋ณ‘๋ ฌ ์ชผ๊ฐœ๊ธฐ๋Š” `dispatch` |
86
86
  | "์ง€๋ผ ํ‹ฐ์ผ“", "์ง€๋ผ ์ด์Šˆ", "ํ‹ฐ์ผ“ ๋งŒ๋“ค์–ด", "ํ‹ฐ์ผ“ ์ƒ์„ฑ", "์ด์Šˆ ๋งŒ๋“ค์–ด", "์ด์Šˆ ์ƒ์„ฑ", "์ง€๋ผ์— ์˜ฌ๋ ค", "์ง€๋ผ์— ๋“ฑ๋ก", "๋ฐฑ๋กœ๊ทธ์— ์ถ”๊ฐ€", "jira ํ‹ฐ์ผ“", "jira ์ด์Šˆ", "create jira" | `jira-create` ์Šคํ‚ฌ ์‚ฌ์šฉ | ๋‚ด๋ถ€์ ์œผ๋กœ jira-writer ๊ตฌ์กฐํ™” โ†’ ํ”„๋กœ์ ํŠธยทํ•„๋“œ ํ™•์ • โ†’ ์Šน์ธ ๋‹จ๊ณ„ โ†’ createJiraIssue |
87
+ | "์ด ๋…ผ๋ฌธ ๊ฐ™์ด ์ฝ์–ด์ค˜", "์ด ๋…ผ๋ฌธ ๋ Œ์ฆˆ๋กœ ์ฝ์–ด์ค˜", "์ด PDF ๋ Œ์ฆˆ๋กœ ๋ด์ค˜", "๋…ผ๋ฌธ ์ฝ๊ธฐ ๋ทฐ์–ด ๋งŒ๋“ค์–ด์ค˜", "์ด ๊ธ€ ๊ฐ™์ด ์ฝ์–ด์ค˜", "์ด ํŒŸ์บ์ŠคํŠธ ๋ Œ์ฆˆ๋กœ ์ •๋ฆฌํ•ด์ค˜" | `lens` ์Šคํ‚ฌ ์‚ฌ์šฉ | lens ingest๋กœ ๋ฌธ๋‹จ ๋‹จ์œ„ ์›๋ฌธ๊ณผ ํ‘œ, ๊ทธ๋ฆผ์„ ๋ฐ›๋Š”๋‹ค โ†’ lens-reader๊ฐ€ ๋ฆฌํฌํŠธ ์ž‘์„ฑ โ†’ digest merge๋กœ ํ‘œ ์นธ๊ณผ ์˜์‹ฌ ํ‘œ์‹œ ์ˆซ์ž ๋Œ€์กฐ โ†’ lens knowledge๋กœ ๋…ธํŠธ ํ›„๋ณด ์ฐพ๊ธฐ โ†’ lens-context๊ฐ€ ๋งฅ๋ฝ ์นด๋“œ, lens-link๊ฐ€ ์—ฐ๊ฒฐ ์นด๋“œ ์ž‘์„ฑ โ†’ ๋‘ ์ดˆ์•ˆ์„ ํ•ฉ์ณ lens attach โ†’ ์œค๋ฌธ โ†’ render โ†’ serve. ์œ ํŠœ๋ธŒ ์ฃผ์†Œ๋ฉด video-digest, ๊ฒฝ์Ÿ์‚ฌ ์กฐ์‚ฌ ์•ˆ์˜ ์ž๋ฃŒ๋ฉด research |
87
88
  | "์‹œ์žฅ์— ์–ด๋–ค ์„œ๋น„์Šค๊ฐ€ ์žˆ๋Š”์ง€ ํ›‘์–ด์ค˜", "๋ ˆํผ๋Ÿฐ์Šค ํ›„๋ณด ์•ฑ ์ถ”๋ ค์ค˜", "์ด ๊ธฐ๋Šฅ ํ•˜๋Š” ์•ฑ ํ›„๋ณด ์ถ”๋ ค์ค˜", "์„œ๋น„์Šค ์ง€ํ˜• ํ›‘์–ด์ค˜", "์‹œ์žฅ ๋ ˆํผ๋Ÿฐ์Šค ๋ถ„์„" | `market-scan` ์Šคํ‚ฌ ์‚ฌ์šฉ | ์ œํ’ˆ ํ›„๋ณด์™€ ์œ ํ˜• ๋ฌถ๊ธฐ๊นŒ์ง€. ํ™”๋ฉด์„ ์บก์ฒ˜ํ•˜๋ฉด `screen-ref`, ์‚ฌ์šฉ์ž ๊ด€์  ๋ถ„์„์ด๋ฉด `ux-research`, ์ „์ฒด๋ฅผ ํ•œ ๋ฒˆ์— ๋Œ๋ฆฌ๋ฉด `research` |
88
89
  | "PR ์ž‘์„ฑ", "PR ๋งŒ๋“ค์–ด", "PR ์จ์ค˜", "PR ์˜ฌ๋ ค", "ํ’€๋ฆฌํ€˜", "ํ’€ ๋ฆฌํ€˜์ŠคํŠธ", "pull request", "create PR" | `pr` ์Šคํ‚ฌ ์‚ฌ์šฉ | ๋‹ค๋ฅธ ๋ ˆํฌ์˜ PR ์Šคํ‚ฌ๊ณผ ์ด๋ฆ„์ด ๊ฒน์น˜๋ฉด `gestalt:pr`๋กœ ๋ถ€๋ฅธ๋‹ค |
89
90
  | "๋ฐœํ‘œ์ž๋ฃŒ ๋งŒ๋“ค", "๋ฐœํ‘œ ์ž๋ฃŒ ๋งŒ๋“ค", "์Šฌ๋ผ์ด๋“œ ๋งŒ๋“ค", "ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๋งŒ๋“ค", "ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์ œ์ž‘", "๋ฑ ๋งŒ๋“ค", "ํ”ผ์น˜๋ฑ", "ํ”ผ์น˜ ๋ฑ", "๋ฐœํ‘œ ์Šฌ๋ผ์ด๋“œ", "์Šฌ๋ผ์ด๋“œ ์ œ์ž‘", "reveal ์Šฌ๋ผ์ด๋“œ" | `presentation` ์Šคํ‚ฌ ์‚ฌ์šฉ | presentation-writer ์ฝ˜ํ…์ธ  โ†’ ์Šน์ธ ๋‹จ๊ณ„ โ†’ presentation-designer ๋””์ž์ธ โ†’ Reveal.js HTML |