sanook-cli 0.4.0 → 0.5.1

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 (238) hide show
  1. package/.env.example +19 -0
  2. package/CHANGELOG.md +173 -0
  3. package/README.md +153 -20
  4. package/README.th.md +136 -0
  5. package/dist/agentContext.js +4 -0
  6. package/dist/approval.js +6 -0
  7. package/dist/bin.js +405 -57
  8. package/dist/brain.js +92 -59
  9. package/dist/brand.js +47 -0
  10. package/dist/checkpoint.js +37 -0
  11. package/dist/commands.js +86 -6
  12. package/dist/compaction.js +76 -5
  13. package/dist/config.js +100 -12
  14. package/dist/cost.js +60 -3
  15. package/dist/doctor.js +92 -0
  16. package/dist/gateway/auth.js +2 -2
  17. package/dist/gateway/ledger.js +2 -2
  18. package/dist/gateway/scheduler.js +1 -0
  19. package/dist/gateway/serve.js +6 -4
  20. package/dist/gateway/server.js +10 -2
  21. package/dist/git.js +11 -2
  22. package/dist/hooks.js +43 -17
  23. package/dist/knowledge.js +48 -49
  24. package/dist/loop.js +182 -66
  25. package/dist/lsp/client.js +173 -0
  26. package/dist/lsp/framing.js +56 -0
  27. package/dist/lsp/index.js +138 -0
  28. package/dist/lsp/servers.js +82 -0
  29. package/dist/mcp-server.js +244 -0
  30. package/dist/mcp.js +184 -29
  31. package/dist/memory-store.js +559 -0
  32. package/dist/memory.js +143 -29
  33. package/dist/orchestrate.js +150 -0
  34. package/dist/providers/codex.js +21 -7
  35. package/dist/providers/keys.js +3 -2
  36. package/dist/providers/models.js +22 -6
  37. package/dist/providers/registry.js +155 -1
  38. package/dist/repomap.js +93 -0
  39. package/dist/search/chunk.js +158 -0
  40. package/dist/search/embed-store.js +187 -0
  41. package/dist/search/engine.js +203 -0
  42. package/dist/search/fuse.js +35 -0
  43. package/dist/search/index-core.js +187 -0
  44. package/dist/search/indexer.js +241 -0
  45. package/dist/search/store.js +77 -0
  46. package/dist/session.js +42 -8
  47. package/dist/skill-install.js +10 -10
  48. package/dist/skills.js +12 -9
  49. package/dist/summarize.js +31 -0
  50. package/dist/tools/bash.js +21 -2
  51. package/dist/tools/diagnostics.js +41 -0
  52. package/dist/tools/edit.js +29 -7
  53. package/dist/tools/index.js +8 -1
  54. package/dist/tools/list.js +7 -2
  55. package/dist/tools/permission.js +90 -9
  56. package/dist/tools/read.js +23 -4
  57. package/dist/tools/remember.js +1 -1
  58. package/dist/tools/sandbox.js +61 -0
  59. package/dist/tools/search.js +105 -4
  60. package/dist/tools/task.js +195 -29
  61. package/dist/tools/timeout.js +35 -0
  62. package/dist/tools/util.js +10 -0
  63. package/dist/tools/write.js +6 -4
  64. package/dist/trust.js +89 -0
  65. package/dist/ui/app.js +228 -31
  66. package/dist/ui/banner.js +4 -9
  67. package/dist/ui/brain-wizard.js +2 -2
  68. package/dist/ui/history.js +30 -0
  69. package/dist/ui/mentions.js +44 -0
  70. package/dist/ui/render.js +55 -15
  71. package/dist/ui/setup.js +97 -12
  72. package/dist/ui/useEditor.js +83 -0
  73. package/dist/update.js +114 -0
  74. package/dist/worktree.js +173 -0
  75. package/package.json +11 -5
  76. package/scripts/postinstall.mjs +33 -0
  77. package/second-brain/.agents/_Index.md +30 -0
  78. package/second-brain/.agents/skills/_Index.md +30 -0
  79. package/second-brain/.agents/workflows/_Index.md +30 -0
  80. package/second-brain/AGENTS.md +4 -4
  81. package/second-brain/Acceptance/_Index.md +30 -0
  82. package/second-brain/Acceptance/golden-case-template.md +39 -0
  83. package/second-brain/Areas/_Index.md +30 -0
  84. package/second-brain/Bugs/System-OS/_Index.md +30 -0
  85. package/second-brain/Bugs/_Index.md +30 -0
  86. package/second-brain/CLAUDE.md +4 -1
  87. package/second-brain/Checklists/_Index.md +30 -0
  88. package/second-brain/Checklists/preflight-postflight-template.md +29 -0
  89. package/second-brain/Distillations/_Index.md +30 -0
  90. package/second-brain/Entities/_Index.md +30 -0
  91. package/second-brain/Entities/entity-template.md +33 -0
  92. package/second-brain/Evals/_Index.md +30 -0
  93. package/second-brain/Evals/correction-pairs.md +24 -0
  94. package/second-brain/Evals/failure-taxonomy.md +24 -0
  95. package/second-brain/Evals/golden-set.md +25 -0
  96. package/second-brain/Evals/quality-ledger.md +23 -0
  97. package/second-brain/Evals/self-eval-rubric.md +23 -0
  98. package/second-brain/GEMINI.md +4 -4
  99. package/second-brain/Goals/_Index.md +30 -0
  100. package/second-brain/Handoffs/_Index.md +30 -0
  101. package/second-brain/Home.md +7 -0
  102. package/second-brain/Intake/Raw Sources/_Index.md +30 -0
  103. package/second-brain/Intake/_Index.md +30 -0
  104. package/second-brain/Intake/_Quarantine/_Index.md +30 -0
  105. package/second-brain/Learning/_Index.md +30 -0
  106. package/second-brain/Playbooks/_Index.md +30 -0
  107. package/second-brain/Playbooks/playbook-template.md +23 -0
  108. package/second-brain/Projects/_Index.md +30 -0
  109. package/second-brain/Prompts/_Index.md +30 -0
  110. package/second-brain/README.md +2 -1
  111. package/second-brain/Research/_Index.md +30 -0
  112. package/second-brain/Retrospectives/_Index.md +30 -0
  113. package/second-brain/Reviews/_Index.md +30 -0
  114. package/second-brain/Runbooks/_Index.md +30 -0
  115. package/second-brain/Runbooks/eval-loop.md +24 -0
  116. package/second-brain/Sessions/_Index.md +30 -0
  117. package/second-brain/Shared/AI-Context-Index.md +20 -0
  118. package/second-brain/Shared/AI-Threads/_Index.md +30 -0
  119. package/second-brain/Shared/Archive/_Index.md +30 -0
  120. package/second-brain/Shared/Assets/_Index.md +30 -0
  121. package/second-brain/Shared/Context-Packs/_Index.md +30 -0
  122. package/second-brain/Shared/Context7-Docs/_Index.md +30 -0
  123. package/second-brain/Shared/Coordination/NOW.md +28 -0
  124. package/second-brain/Shared/Coordination/_Index.md +30 -0
  125. package/second-brain/Shared/Coordination/agent-registry.md +24 -0
  126. package/second-brain/Shared/Coordination/task-board/_Index.md +30 -0
  127. package/second-brain/Shared/Coordination/task-board/task-template.md +43 -0
  128. package/second-brain/Shared/Coordination/task-board.md +32 -0
  129. package/second-brain/Shared/Core-Facts/_Index.md +30 -0
  130. package/second-brain/Shared/Decision-Memory/_Index.md +30 -0
  131. package/second-brain/Shared/Glossary/_Index.md +30 -0
  132. package/second-brain/Shared/Memory-Inbox/_Index.md +30 -0
  133. package/second-brain/Shared/Operating-State/_Index.md +30 -0
  134. package/second-brain/Shared/Prompting/_Index.md +30 -0
  135. package/second-brain/Shared/Provenance/_Index.md +30 -0
  136. package/second-brain/Shared/Rules/_Index.md +30 -0
  137. package/second-brain/Shared/Rules/contextual-note-rule.md +30 -0
  138. package/second-brain/Shared/Rules/frontmatter-standard.md +10 -0
  139. package/second-brain/Shared/Rules/memory-write-protocol.md +28 -0
  140. package/second-brain/Shared/Rules/procedural-runbook-header.md +40 -0
  141. package/second-brain/Shared/Rules/review-and-staleness-policy.md +22 -0
  142. package/second-brain/Shared/Rules/rules-formatting.md +34 -0
  143. package/second-brain/Shared/Scripts/_Index.md +30 -0
  144. package/second-brain/Shared/Scripts-Archive/_Index.md +30 -0
  145. package/second-brain/Shared/Tech-Standards/_Index.md +30 -0
  146. package/second-brain/Shared/Tech-Standards/verification-standard.md +40 -0
  147. package/second-brain/Shared/User-Memory/_Index.md +30 -0
  148. package/second-brain/Shared/User-Persona/_Index.md +30 -0
  149. package/second-brain/Shared/User-Persona/owner-profile.md +25 -0
  150. package/second-brain/Shared/Working-Memory/_Index.md +30 -0
  151. package/second-brain/Shared/_Index.md +30 -0
  152. package/second-brain/Shared/mcp-servers/_Index.md +30 -0
  153. package/second-brain/Skills/_Index.md +30 -0
  154. package/second-brain/Templates/_Index.md +30 -0
  155. package/second-brain/Templates/bug.md +2 -0
  156. package/second-brain/Templates/handoff.md +2 -0
  157. package/second-brain/Templates/session.md +2 -0
  158. package/second-brain/Tools/_Index.md +30 -0
  159. package/second-brain/Traces/_Index.md +30 -0
  160. package/second-brain/Vault Structure Map.md +33 -1
  161. package/second-brain/copilot/_Index.md +30 -0
  162. package/skills/audit-license-compliance/SKILL.md +117 -0
  163. package/skills/author-codemod/SKILL.md +110 -0
  164. package/skills/build-audit-logging/SKILL.md +112 -0
  165. package/skills/build-cdc-streaming-pipeline/SKILL.md +123 -0
  166. package/skills/build-cli-tool/SKILL.md +108 -0
  167. package/skills/build-data-table/SKILL.md +141 -0
  168. package/skills/build-native-mobile-ui/SKILL.md +154 -0
  169. package/skills/build-offline-first-sync/SKILL.md +118 -0
  170. package/skills/build-realtime-channel/SKILL.md +122 -0
  171. package/skills/build-vector-search/SKILL.md +131 -0
  172. package/skills/compose-local-dev-stack/SKILL.md +149 -0
  173. package/skills/configure-bundler-build/SKILL.md +166 -0
  174. package/skills/configure-dns-tls/SKILL.md +142 -0
  175. package/skills/configure-reverse-proxy-lb/SKILL.md +129 -0
  176. package/skills/configure-security-headers-csp/SKILL.md +122 -0
  177. package/skills/contract-testing/SKILL.md +140 -0
  178. package/skills/datetime-timezone-correctness/SKILL.md +125 -0
  179. package/skills/debug-ci-pipeline-failure/SKILL.md +134 -0
  180. package/skills/debug-flaky-tests/SKILL.md +128 -0
  181. package/skills/defend-llm-prompt-injection/SKILL.md +110 -0
  182. package/skills/deliver-webhooks/SKILL.md +116 -0
  183. package/skills/design-api-pagination/SKILL.md +144 -0
  184. package/skills/design-authorization-model/SKILL.md +119 -0
  185. package/skills/design-backup-dr-recovery/SKILL.md +113 -0
  186. package/skills/design-event-sourcing-cqrs/SKILL.md +143 -0
  187. package/skills/design-multi-tenancy/SKILL.md +100 -0
  188. package/skills/design-protobuf-grpc-service/SKILL.md +146 -0
  189. package/skills/design-relational-schema/SKILL.md +129 -0
  190. package/skills/design-search-index-infra/SKILL.md +151 -0
  191. package/skills/design-state-machine/SKILL.md +108 -0
  192. package/skills/design-token-system/SKILL.md +109 -0
  193. package/skills/distributed-locks-leases/SKILL.md +120 -0
  194. package/skills/encrypt-sensitive-data/SKILL.md +148 -0
  195. package/skills/feature-flags-rollout/SKILL.md +130 -0
  196. package/skills/file-upload-object-storage/SKILL.md +107 -0
  197. package/skills/fuzz-dynamic-security-test/SKILL.md +111 -0
  198. package/skills/harden-llm-app-reliability/SKILL.md +126 -0
  199. package/skills/i18n-localization-setup/SKILL.md +113 -0
  200. package/skills/idempotency-keys/SKILL.md +107 -0
  201. package/skills/implement-push-notifications/SKILL.md +142 -0
  202. package/skills/ingest-webhook-secure/SKILL.md +120 -0
  203. package/skills/integrate-oauth-oidc/SKILL.md +126 -0
  204. package/skills/load-stress-test/SKILL.md +129 -0
  205. package/skills/map-privacy-data-gdpr/SKILL.md +146 -0
  206. package/skills/model-nosql-data/SKILL.md +118 -0
  207. package/skills/money-decimal-arithmetic/SKILL.md +123 -0
  208. package/skills/monitor-ml-drift/SKILL.md +109 -0
  209. package/skills/numeric-precision-units/SKILL.md +144 -0
  210. package/skills/optimize-llm-cost-latency/SKILL.md +103 -0
  211. package/skills/optimize-react-rerenders/SKILL.md +124 -0
  212. package/skills/orchestrate-agent-workflow/SKILL.md +100 -0
  213. package/skills/payments-billing-integration/SKILL.md +114 -0
  214. package/skills/pin-toolchain-versions/SKILL.md +116 -0
  215. package/skills/plan-strangler-migration/SKILL.md +95 -0
  216. package/skills/property-based-testing/SKILL.md +108 -0
  217. package/skills/publish-package-registry/SKILL.md +130 -0
  218. package/skills/recover-git-state/SKILL.md +119 -0
  219. package/skills/remediate-web-vulnerabilities/SKILL.md +125 -0
  220. package/skills/resilience-timeouts-retries/SKILL.md +104 -0
  221. package/skills/resolve-merge-rebase-conflict/SKILL.md +97 -0
  222. package/skills/rewrite-git-history/SKILL.md +109 -0
  223. package/skills/scaffold-cross-platform-app/SKILL.md +137 -0
  224. package/skills/schema-evolution-compatibility/SKILL.md +121 -0
  225. package/skills/send-transactional-email/SKILL.md +126 -0
  226. package/skills/serve-deploy-ml-model/SKILL.md +107 -0
  227. package/skills/setup-cdn-edge-waf/SKILL.md +107 -0
  228. package/skills/setup-devcontainer-env/SKILL.md +131 -0
  229. package/skills/setup-lint-format-precommit/SKILL.md +140 -0
  230. package/skills/setup-monorepo-tooling/SKILL.md +125 -0
  231. package/skills/ship-mobile-app-store-release/SKILL.md +137 -0
  232. package/skills/structured-output-llm/SKILL.md +86 -0
  233. package/skills/supply-chain-sbom-provenance/SKILL.md +120 -0
  234. package/skills/test-data-factories/SKILL.md +158 -0
  235. package/skills/threat-model-stride/SKILL.md +123 -0
  236. package/skills/train-evaluate-ml-model/SKILL.md +109 -0
  237. package/skills/unicode-text-correctness/SKILL.md +109 -0
  238. package/skills/visual-regression-testing/SKILL.md +120 -0
@@ -0,0 +1,23 @@
1
+ ---
2
+ tags: [eval, rubric, self-eval]
3
+ note_type: reference
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Evals/_Index]]"
7
+ ---
8
+
9
+ # Self-Eval Rubric (binary)
10
+
11
+ > เกณฑ์ที่ AI ใช้ตรวจงานตัวเองก่อน ship — ตอบ y/n ต่อข้อ (ไม่ใช่คะแนน 1-10 — binary ชัดกว่า)
12
+
13
+ ## ก่อน ship เช็ก
14
+
15
+ - [ ] grounded — คำตอบอิงโน้ต/ไฟล์จริงที่อ่าน (ไม่แต่ง)?
16
+ - [ ] retrieval_hit — โหลด context ที่ต้องใช้ครบ?
17
+ - [ ] verified — path/link/fact ที่อ้าง verify แล้ว (§11)?
18
+ - [ ] scope — ตอบตรงที่ถาม ไม่เกิน/ไม่ขาด?
19
+ - [ ] format — ตรง preference เจ้าของ (กระชับ/ตาราง)?
20
+
21
+ > ข้อไหนตอบ "n" → แก้ก่อน ship · failure ซ้ำ → จัดเข้า [[Evals/failure-taxonomy]] + [[Evals/correction-pairs]]
22
+
23
+ up:: [[Evals/_Index]]
@@ -7,9 +7,9 @@
7
7
 
8
8
  ## 🔴 Red Lines
9
9
  1. อ่าน `Shared/AI-Context-Index.md` ก่อนตอบ (vault = source of truth)
10
- 2. verify ก่อนอ้าง ไม่แน่ใจบอกตรงๆ ห้ามแต่ง
11
- 3. ถามก่อนรัน destructive (`rm -rf` / `reset --hard` / `push --force` / drop data)
12
- 4. ห้ามเขียน secret ลงไฟล์ `<secret:VAR>`
13
- 5. ห้ามลบ durable note โดยไม่ถาม
10
+ 2. ก่อนสร้าง/ย้ายโน้ต อ่าน `Vault Structure Map.md` + `_Index.md` ของโฟลเดอร์ปลายทาง แล้วทำตาม AI Routing Contract
11
+ 3. verify ก่อนอ้าง ไม่แน่ใจบอกตรงๆ ห้ามแต่ง
12
+ 4. ถามก่อนรัน destructive (`rm -rf` / `reset --hard` / `push --force` / drop data)
13
+ 5. ห้ามเขียน secret ลงไฟล์ → `<secret:VAR>` · ห้ามลบ durable note โดยไม่ถาม
14
14
 
15
15
  > รายละเอียด §1–§18 → `CLAUDE.md`
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, goals]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Goals
10
+
11
+ > north-star + objective รายไตรมาส/ปี (finite, มีวันจบ)
12
+
13
+ ## ใส่ที่นี่
14
+ objective + track progress
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ live status (→Operating-State) · โดเมนต่อเนื่อง (→Areas)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Goals/_Index]]"` และท้ายไฟล์ `up:: [[Goals/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, handoffs]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Handoffs
10
+
11
+ > เอกสารส่งมอบงานค้าง 1 ชิ้น (snapshot)
12
+
13
+ ## ใส่ที่นี่
14
+ state + next steps ส่งต่อ agent/session
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ live coordination (→Shared/Coordination)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Handoffs/_Index]]"` และท้ายไฟล์ `up:: [[Handoffs/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -20,6 +20,13 @@ ai_surface: starter
20
20
  | งานทั้งหมด | [[Projects/_Index]] |
21
21
  | ประวัติงาน | [[Sessions/_Index]] |
22
22
 
23
+ ## AI Operating Loop
24
+
25
+ 1. อ่าน [[Shared/AI-Context-Index]] ก่อนตอบหรือเขียนไฟล์
26
+ 2. ถ้าต้องสร้าง/ย้ายโน้ต ให้เลือกปลายทางจาก [[Vault Structure Map]]
27
+ 3. ก่อนเขียนในโฟลเดอร์ใด ให้เปิด `_Index.md` ของโฟลเดอร์นั้นและทำตาม **AI Routing Contract**
28
+ 4. หลังจบงานสำคัญ ให้บันทึก session/decision/memory ตาม routing ไม่ปล่อยความรู้ค้างใน chat
29
+
23
30
  ## Core Hubs
24
31
 
25
32
  - [[Projects/_Index]] · [[Goals/_Index]] · [[Areas/_Index]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, raw-sources]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Intake/_Index]]"
7
+ ---
8
+
9
+ # Raw Sources
10
+
11
+ > ต้นฉบับ external ที่ผ่าน scan แล้ว — immutable read-only
12
+
13
+ ## ใส่ที่นี่
14
+ original หลัง scan · source:: ชี้มาที่นี่ได้
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ โน้ตที่ derived/สรุปแล้ว
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Intake/Raw Sources/_Index]]"` และท้ายไฟล์ `up:: [[Intake/Raw Sources/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Intake/_Index]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, intake]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Intake
10
+
11
+ > จุดรับของใหม่เข้า vault ก่อนกระจายเข้าปลายทาง
12
+
13
+ ## ใส่ที่นี่
14
+ task framing + raw input ที่รอจัด
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ durable knowledge (จัดเข้าปลายทางก่อน)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Intake/_Index]]"` และท้ายไฟล์ `up:: [[Intake/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, -quarantine]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Intake/_Index]]"
7
+ ---
8
+
9
+ # _Quarantine
10
+
11
+ > external content (web/paste) ที่ยัง untrusted
12
+
13
+ ## ใส่ที่นี่
14
+ web clip/paste/email ก่อน scan injection (ดู Runbooks/ingest-quarantine)
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ content ที่ scan ผ่านแล้ว (→Raw Sources)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Intake/_Quarantine/_Index]]"` และท้ายไฟล์ `up:: [[Intake/_Quarantine/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Intake/_Index]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, learning]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Learning
10
+
11
+ > knowledge ที่ตัวเองกลั่น/deep-dive ตาม topic
12
+
13
+ ## ใส่ที่นี่
14
+ topic MOC ที่ไม่มี external source
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ finding อิงแหล่ง (→Research)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Learning/_Index]]"` และท้ายไฟล์ `up:: [[Learning/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, playbooks]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Playbooks
10
+
11
+ > กลยุทธ์/ลำดับการตัดสินใจที่ปรับดีขึ้นจากผลจริง (ACE)
12
+
13
+ ## ใส่ที่นี่
14
+ tactic/heuristic ที่ดีขึ้นจากผล (counter [H/W])
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ prompt text (→Prompts) · runnable (→Skills)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Playbooks/_Index]]"` และท้ายไฟล์ `up:: [[Playbooks/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -0,0 +1,23 @@
1
+ ---
2
+ tags: [playbook, template]
3
+ note_type: reference
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Playbooks/_Index]]"
7
+ ---
8
+
9
+ # Playbook: <task-family>
10
+
11
+ > กลยุทธ์/ลำดับการตัดสินใจสำหรับงานตระกูลนี้ ที่ปรับดีขึ้นจากผลจริง (ACE) — โหลดก่อนงาน family นี้
12
+ > counter `[H/W]` = helpful/harmful (อัปเดตหลังใช้แต่ละครั้ง)
13
+
14
+ ## Tactics
15
+
16
+ - `[0/0]` <tactic 1 — ทำ X เมื่อ Y>
17
+ - `[0/0]` <tactic 2 — หลีกเลี่ยง Z>
18
+
19
+ ## อัปเดต
20
+ ใช้ tactic แล้วได้ผล → `[H+1]` · ทำให้แย่ลง → `[W+1]` · harmful > helpful นานๆ → ตัดทิ้ง
21
+ บทเรียนใหม่จาก [[Evals/correction-pairs]] → เพิ่ม tactic ที่นี่
22
+
23
+ up:: [[Playbooks/_Index]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, projects]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Projects
10
+
11
+ > workspace ของงานจริง — 1 โฟลเดอร์ = 1 โปรเจค
12
+
13
+ ## ใส่ที่นี่
14
+ deliverable + overview/context/current-state ของ project
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ ความรู้ทั่วไป (→Learning) · log งาน (→Sessions)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Projects/_Index]]"` และท้ายไฟล์ `up:: [[Projects/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, prompts]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Prompts
10
+
11
+ > prompt text/template ที่หยิบมารันได้ทันที
12
+
13
+ ## ใส่ที่นี่
14
+ prompt/execution standard ต่อ task-family
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ fixtures (→Acceptance) · tactic (→Playbooks)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Prompts/_Index]]"` และท้ายไฟล์ `up:: [[Prompts/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -22,7 +22,8 @@
22
22
 
23
23
  1. เปิดโฟลเดอร์นี้ใน **Obsidian** (Open folder as vault)
24
24
  2. ให้ AI agent อ่าน `Shared/AI-Context-Index.md` ก่อนทำงานเสมอ
25
- 3. constitution อยู่ที่ `CLAUDE.md` / `GEMINI.md` / `AGENTS.md` กฎปฏิบัติของ AI
25
+ 3. ก่อนสร้างหรือย้ายโน้ต ให้เลือกปลายทางจาก `Vault Structure Map.md` แล้วอ่าน `_Index.md` ของโฟลเดอร์นั้นเพื่อทำตาม **AI Routing Contract**
26
+ 4. constitution อยู่ที่ `CLAUDE.md` / `GEMINI.md` / `AGENTS.md` — กฎปฏิบัติของ AI
26
27
 
27
28
  ## ปรับให้เป็นของคุณ
28
29
 
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, research]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Research
10
+
11
+ > finding ที่อิงแหล่งภายนอก (มี source::)
12
+
13
+ ## ใส่ที่นี่
14
+ สรุปอิงแหล่ง + market scan + citation
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ ความรู้ที่กลั่นเอง (→Learning)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Research/_Index]]"` และท้ายไฟล์ `up:: [[Research/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, retrospectives]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Retrospectives
10
+
11
+ > reflection หลังงาน (event-triggered)
12
+
13
+ ## ใส่ที่นี่
14
+ what worked/failed หลังงานเสร็จ
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ review ตามรอบเวลา (→Reviews)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Retrospectives/_Index]]"` และท้ายไฟล์ `up:: [[Retrospectives/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, reviews]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Reviews
10
+
11
+ > review ตาม cadence (time-triggered)
12
+
13
+ ## ใส่ที่นี่
14
+ weekly/monthly + vault health + consolidation trace
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ reflection รายงาน (→Retrospectives)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Reviews/_Index]]"` และท้ายไฟล์ `up:: [[Reviews/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, runbooks]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Runbooks
10
+
11
+ > prose how-to ที่อ่านแล้วทำตามเอง
12
+
13
+ ## ใส่ที่นี่
14
+ ขั้นตอน setup/deploy/maintain + loop driver
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ runnable unit (→Skills)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Runbooks/_Index]]"` และท้ายไฟล์ `up:: [[Runbooks/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -0,0 +1,24 @@
1
+ ---
2
+ tags: [runbook, eval, loop]
3
+ note_type: runbook
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Runbooks/_Index]]"
7
+ ---
8
+
9
+ # Runbook: Eval Loop (driver ของ Evals/)
10
+
11
+ > รัน quality loop — error-analysis + binary self-eval + Reflexion → ของที่ Evals/ เก็บไว้ถูกใช้จริง
12
+
13
+ ## Steps
14
+
15
+ 1. **Self-eval** — หลังงานไม่ trivial: ตอบ [[Evals/self-eval-rubric]] (binary y/n)
16
+ 2. **Log** — บันทึกผลลง [[Evals/quality-ledger]] (append)
17
+ 3. **Classify failure** — ข้อที่ "n" → จัดเข้า [[Evals/failure-taxonomy]] (หรือเพิ่มหมวด)
18
+ 4. **Correction pair** — เขียน ❌→✅ + บทเรียนลง [[Evals/correction-pairs]]
19
+ 5. **Promote** — บทเรียนที่เห็น ≥3 ครั้ง → [[Playbooks/_Index]] (tactic) หรือ [[Distillations/_Index]] (principle)
20
+ 6. **Regression** — เทียบกับ [[Evals/golden-set]] ว่าไม่ทำพังของที่เคยถูก
21
+
22
+ > ทำเป็นส่วนหนึ่งของ [[Runbooks/sleep-time-consolidation]] (รอบ) หรือ ad-hoc หลังงานสำคัญ
23
+
24
+ up:: [[Runbooks/_Index]]
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, sessions]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Home]]"
7
+ ---
8
+
9
+ # Sessions
10
+
11
+ > flat chronological log ของงาน (YYYY-MM-DD-<topic>.md)
12
+
13
+ ## ใส่ที่นี่
14
+ session log 7 หัวข้อ + checkpoint
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ code/config · subfolder (Sessions = flat เสมอ)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Sessions/_Index]]"` และท้ายไฟล์ `up:: [[Sessions/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Home]]
@@ -28,14 +28,28 @@ ai_surface: hot
28
28
  4. [[Shared/Decision-Memory/decision-log]] — ตัดสินใจอะไรไปแล้ว
29
29
  5. งาน project → [[Projects/_Index]] → overview → context → current-state
30
30
 
31
+ ## Default Write Path (ก่อนสร้าง/แก้โน้ต)
32
+
33
+ 1. Classify artifact: project work, session log, decision, preference, source, reusable skill, runbook, or temporary scratch
34
+ 2. อ่าน [[Vault Structure Map]] เพื่อเลือก canonical home เพียงที่เดียว
35
+ 3. เปิด `_Index.md` ของโฟลเดอร์ปลายทาง แล้วทำตาม **AI Routing Contract**
36
+ 4. Search ก่อนเขียน: ถ้า note เดิมมีอยู่แล้วให้ merge/update ไม่ append ซ้ำ
37
+ 5. หลังเขียน: ใส่ `parent` + `up::`, link กลับ project/session/source/decision ที่เกี่ยวข้อง, แล้วบันทึก evidence ที่ verify แล้ว
38
+
31
39
  ## Memory Routing (เจออะไร เก็บที่ไหน — §4)
32
40
 
33
41
  | สิ่งที่พบ | → |
34
42
  |---|---|
35
43
  | preference ใหม่ | [[Shared/User-Memory/user-preferences]] |
36
44
  | decision สำคัญ | [[Shared/Decision-Memory/decision-log]] |
45
+ | priority/current focus เปลี่ยน | [[Shared/Operating-State/current-state]] |
46
+ | session checkpoint / งานจบ | `Sessions/YYYY-MM-DD-<topic>.md` |
37
47
  | ยังไม่ชัด/ขัดกัน | [[Shared/Memory-Inbox/memory-inbox]] |
38
48
  | invariant truth | [[Shared/Core-Facts/protected-facts]] |
49
+ | finding ที่อิง source ภายนอก | `Research/<topic>.md` + `source::` |
50
+ | scratch ระหว่างงานเดียว | `Shared/Working-Memory/<topic>.md` |
51
+ | expected output fixture | [[Acceptance/golden-case-template]] |
52
+ | pre/postflight gate | [[Checklists/preflight-postflight-template]] |
39
53
  | entity/person/org page | `Entities/<name>.md` |
40
54
  | อื่นๆ / ไม่แน่ใจว่าโฟลเดอร์ไหน | [[Vault Structure Map]] |
41
55
 
@@ -44,6 +58,12 @@ ai_surface: hot
44
58
  - **ก่อนประกอบ context เสมอ** → [[Shared/Rules/context-assembly-policy]] (head/tail + budget, กัน context-rot)
45
59
  - ingest ของนอก → [[Runbooks/ingest-quarantine]] · fact → [[Shared/Rules/frontmatter-standard]] (bi-temporal + `source::`)
46
60
  - script ทำซ้ำ → [[Shared/Rules/skills-admission]] (Skills/) · consolidate → [[Runbooks/sleep-time-consolidation]]
61
+ - หลาย agent ทำพร้อมกัน → อ่าน [[Shared/Coordination/NOW]] ก่อนแตะ vault · เขียน/แก้ fact → [[Shared/Rules/memory-write-protocol]] (ADD/UPDATE/DELETE/NOOP)
62
+ - สร้าง durable note ใหม่ → [[Shared/Rules/contextual-note-rule]] + [[Shared/Rules/rules-formatting]]
63
+ - ทำ runbook/procedure → [[Shared/Rules/procedural-runbook-header]]
64
+ - งาน technical/release → [[Shared/Tech-Standards/verification-standard]]
65
+ - งานหลาย session/หลาย agent → overview [[Shared/Coordination/task-board]] · task cards [[Shared/Coordination/task-board/_Index]] · registry [[Shared/Coordination/agent-registry]]
66
+ - acceptance/checklist/entity ใหม่ → [[Acceptance/golden-case-template]] · [[Checklists/preflight-postflight-template]] · [[Entities/entity-template]]
47
67
 
48
68
  ## Current Snapshot
49
69
 
@@ -0,0 +1,30 @@
1
+ ---
2
+ tags: [index, moc, ai-threads]
3
+ note_type: moc
4
+ created: {{DATE}}
5
+ updated: {{DATE}}
6
+ parent: "[[Shared/_Index]]"
7
+ ---
8
+
9
+ # AI-Threads
10
+
11
+ > saved AI reasoning/conversation trail (ไม่ใช่ source of truth)
12
+
13
+ ## ใส่ที่นี่
14
+ thread ที่เก็บไว้ review/resume/promote
15
+
16
+ ## ไม่ใส่ที่นี่
17
+ durable decision (promote → Decision-Memory)
18
+
19
+ ## AI Routing Contract
20
+
21
+ - ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
22
+ - ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
23
+ - เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/AI-Threads/_Index]]"` และท้ายไฟล์ `up:: [[Shared/AI-Threads/_Index]]`
24
+ - หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
25
+
26
+ > รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
27
+
28
+ _(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
29
+
30
+ up:: [[Shared/_Index]]