sanook-cli 0.4.0 → 0.5.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.
- package/.env.example +19 -0
- package/CHANGELOG.md +144 -0
- package/README.md +153 -20
- package/README.th.md +136 -0
- package/dist/agentContext.js +4 -0
- package/dist/approval.js +6 -0
- package/dist/bin.js +394 -51
- package/dist/brain.js +92 -59
- package/dist/brand.js +47 -0
- package/dist/checkpoint.js +37 -0
- package/dist/commands.js +86 -6
- package/dist/compaction.js +76 -5
- package/dist/config.js +100 -12
- package/dist/cost.js +60 -3
- package/dist/doctor.js +92 -0
- package/dist/gateway/auth.js +2 -2
- package/dist/gateway/ledger.js +2 -2
- package/dist/gateway/scheduler.js +1 -0
- package/dist/gateway/serve.js +6 -4
- package/dist/gateway/server.js +10 -2
- package/dist/git.js +11 -2
- package/dist/hooks.js +43 -17
- package/dist/knowledge.js +48 -49
- package/dist/loop.js +182 -66
- package/dist/lsp/client.js +173 -0
- package/dist/lsp/framing.js +56 -0
- package/dist/lsp/index.js +138 -0
- package/dist/lsp/servers.js +82 -0
- package/dist/mcp-server.js +244 -0
- package/dist/mcp.js +184 -29
- package/dist/memory-store.js +559 -0
- package/dist/memory.js +143 -29
- package/dist/orchestrate.js +150 -0
- package/dist/providers/codex.js +2 -2
- package/dist/providers/keys.js +3 -2
- package/dist/providers/registry.js +133 -1
- package/dist/repomap.js +93 -0
- package/dist/search/chunk.js +158 -0
- package/dist/search/embed-store.js +187 -0
- package/dist/search/engine.js +203 -0
- package/dist/search/fuse.js +35 -0
- package/dist/search/index-core.js +187 -0
- package/dist/search/indexer.js +241 -0
- package/dist/search/store.js +77 -0
- package/dist/session.js +42 -8
- package/dist/skill-install.js +10 -10
- package/dist/skills.js +12 -9
- package/dist/summarize.js +31 -0
- package/dist/tools/bash.js +21 -2
- package/dist/tools/diagnostics.js +41 -0
- package/dist/tools/edit.js +29 -7
- package/dist/tools/index.js +8 -1
- package/dist/tools/list.js +7 -2
- package/dist/tools/permission.js +90 -9
- package/dist/tools/read.js +23 -4
- package/dist/tools/remember.js +1 -1
- package/dist/tools/sandbox.js +61 -0
- package/dist/tools/search.js +105 -4
- package/dist/tools/task.js +195 -29
- package/dist/tools/timeout.js +35 -0
- package/dist/tools/util.js +10 -0
- package/dist/tools/write.js +6 -4
- package/dist/trust.js +89 -0
- package/dist/ui/app.js +218 -27
- package/dist/ui/banner.js +4 -9
- package/dist/ui/history.js +30 -0
- package/dist/ui/mentions.js +44 -0
- package/dist/ui/setup.js +6 -5
- package/dist/ui/useEditor.js +83 -0
- package/dist/update.js +114 -0
- package/dist/worktree.js +173 -0
- package/package.json +11 -5
- package/scripts/postinstall.mjs +33 -0
- package/second-brain/.agents/_Index.md +30 -0
- package/second-brain/.agents/skills/_Index.md +30 -0
- package/second-brain/.agents/workflows/_Index.md +30 -0
- package/second-brain/AGENTS.md +4 -4
- package/second-brain/Acceptance/_Index.md +30 -0
- package/second-brain/Acceptance/golden-case-template.md +39 -0
- package/second-brain/Areas/_Index.md +30 -0
- package/second-brain/Bugs/System-OS/_Index.md +30 -0
- package/second-brain/Bugs/_Index.md +30 -0
- package/second-brain/CLAUDE.md +4 -1
- package/second-brain/Checklists/_Index.md +30 -0
- package/second-brain/Checklists/preflight-postflight-template.md +29 -0
- package/second-brain/Distillations/_Index.md +30 -0
- package/second-brain/Entities/_Index.md +30 -0
- package/second-brain/Entities/entity-template.md +33 -0
- package/second-brain/Evals/_Index.md +30 -0
- package/second-brain/Evals/correction-pairs.md +24 -0
- package/second-brain/Evals/failure-taxonomy.md +24 -0
- package/second-brain/Evals/golden-set.md +25 -0
- package/second-brain/Evals/quality-ledger.md +23 -0
- package/second-brain/Evals/self-eval-rubric.md +23 -0
- package/second-brain/GEMINI.md +4 -4
- package/second-brain/Goals/_Index.md +30 -0
- package/second-brain/Handoffs/_Index.md +30 -0
- package/second-brain/Home.md +7 -0
- package/second-brain/Intake/Raw Sources/_Index.md +30 -0
- package/second-brain/Intake/_Index.md +30 -0
- package/second-brain/Intake/_Quarantine/_Index.md +30 -0
- package/second-brain/Learning/_Index.md +30 -0
- package/second-brain/Playbooks/_Index.md +30 -0
- package/second-brain/Playbooks/playbook-template.md +23 -0
- package/second-brain/Projects/_Index.md +30 -0
- package/second-brain/Prompts/_Index.md +30 -0
- package/second-brain/README.md +2 -1
- package/second-brain/Research/_Index.md +30 -0
- package/second-brain/Retrospectives/_Index.md +30 -0
- package/second-brain/Reviews/_Index.md +30 -0
- package/second-brain/Runbooks/_Index.md +30 -0
- package/second-brain/Runbooks/eval-loop.md +24 -0
- package/second-brain/Sessions/_Index.md +30 -0
- package/second-brain/Shared/AI-Context-Index.md +20 -0
- package/second-brain/Shared/AI-Threads/_Index.md +30 -0
- package/second-brain/Shared/Archive/_Index.md +30 -0
- package/second-brain/Shared/Assets/_Index.md +30 -0
- package/second-brain/Shared/Context-Packs/_Index.md +30 -0
- package/second-brain/Shared/Context7-Docs/_Index.md +30 -0
- package/second-brain/Shared/Coordination/NOW.md +28 -0
- package/second-brain/Shared/Coordination/_Index.md +30 -0
- package/second-brain/Shared/Coordination/agent-registry.md +24 -0
- package/second-brain/Shared/Coordination/task-board/_Index.md +30 -0
- package/second-brain/Shared/Coordination/task-board/task-template.md +43 -0
- package/second-brain/Shared/Coordination/task-board.md +32 -0
- package/second-brain/Shared/Core-Facts/_Index.md +30 -0
- package/second-brain/Shared/Decision-Memory/_Index.md +30 -0
- package/second-brain/Shared/Glossary/_Index.md +30 -0
- package/second-brain/Shared/Memory-Inbox/_Index.md +30 -0
- package/second-brain/Shared/Operating-State/_Index.md +30 -0
- package/second-brain/Shared/Prompting/_Index.md +30 -0
- package/second-brain/Shared/Provenance/_Index.md +30 -0
- package/second-brain/Shared/Rules/_Index.md +30 -0
- package/second-brain/Shared/Rules/contextual-note-rule.md +30 -0
- package/second-brain/Shared/Rules/frontmatter-standard.md +10 -0
- package/second-brain/Shared/Rules/memory-write-protocol.md +28 -0
- package/second-brain/Shared/Rules/procedural-runbook-header.md +40 -0
- package/second-brain/Shared/Rules/review-and-staleness-policy.md +22 -0
- package/second-brain/Shared/Rules/rules-formatting.md +34 -0
- package/second-brain/Shared/Scripts/_Index.md +30 -0
- package/second-brain/Shared/Scripts-Archive/_Index.md +30 -0
- package/second-brain/Shared/Tech-Standards/_Index.md +30 -0
- package/second-brain/Shared/Tech-Standards/verification-standard.md +40 -0
- package/second-brain/Shared/User-Memory/_Index.md +30 -0
- package/second-brain/Shared/User-Persona/_Index.md +30 -0
- package/second-brain/Shared/User-Persona/owner-profile.md +25 -0
- package/second-brain/Shared/Working-Memory/_Index.md +30 -0
- package/second-brain/Shared/_Index.md +30 -0
- package/second-brain/Shared/mcp-servers/_Index.md +30 -0
- package/second-brain/Skills/_Index.md +30 -0
- package/second-brain/Templates/_Index.md +30 -0
- package/second-brain/Templates/bug.md +2 -0
- package/second-brain/Templates/handoff.md +2 -0
- package/second-brain/Templates/session.md +2 -0
- package/second-brain/Tools/_Index.md +30 -0
- package/second-brain/Traces/_Index.md +30 -0
- package/second-brain/Vault Structure Map.md +33 -1
- package/second-brain/copilot/_Index.md +30 -0
- package/skills/audit-license-compliance/SKILL.md +117 -0
- package/skills/author-codemod/SKILL.md +110 -0
- package/skills/build-audit-logging/SKILL.md +112 -0
- package/skills/build-cdc-streaming-pipeline/SKILL.md +123 -0
- package/skills/build-cli-tool/SKILL.md +108 -0
- package/skills/build-data-table/SKILL.md +141 -0
- package/skills/build-native-mobile-ui/SKILL.md +154 -0
- package/skills/build-offline-first-sync/SKILL.md +118 -0
- package/skills/build-realtime-channel/SKILL.md +122 -0
- package/skills/build-vector-search/SKILL.md +131 -0
- package/skills/compose-local-dev-stack/SKILL.md +149 -0
- package/skills/configure-bundler-build/SKILL.md +166 -0
- package/skills/configure-dns-tls/SKILL.md +142 -0
- package/skills/configure-reverse-proxy-lb/SKILL.md +129 -0
- package/skills/configure-security-headers-csp/SKILL.md +122 -0
- package/skills/contract-testing/SKILL.md +140 -0
- package/skills/datetime-timezone-correctness/SKILL.md +125 -0
- package/skills/debug-ci-pipeline-failure/SKILL.md +134 -0
- package/skills/debug-flaky-tests/SKILL.md +128 -0
- package/skills/defend-llm-prompt-injection/SKILL.md +110 -0
- package/skills/deliver-webhooks/SKILL.md +116 -0
- package/skills/design-api-pagination/SKILL.md +144 -0
- package/skills/design-authorization-model/SKILL.md +119 -0
- package/skills/design-backup-dr-recovery/SKILL.md +113 -0
- package/skills/design-event-sourcing-cqrs/SKILL.md +143 -0
- package/skills/design-multi-tenancy/SKILL.md +100 -0
- package/skills/design-protobuf-grpc-service/SKILL.md +146 -0
- package/skills/design-relational-schema/SKILL.md +129 -0
- package/skills/design-search-index-infra/SKILL.md +151 -0
- package/skills/design-state-machine/SKILL.md +108 -0
- package/skills/design-token-system/SKILL.md +109 -0
- package/skills/distributed-locks-leases/SKILL.md +120 -0
- package/skills/encrypt-sensitive-data/SKILL.md +148 -0
- package/skills/feature-flags-rollout/SKILL.md +130 -0
- package/skills/file-upload-object-storage/SKILL.md +107 -0
- package/skills/fuzz-dynamic-security-test/SKILL.md +111 -0
- package/skills/harden-llm-app-reliability/SKILL.md +126 -0
- package/skills/i18n-localization-setup/SKILL.md +113 -0
- package/skills/idempotency-keys/SKILL.md +107 -0
- package/skills/implement-push-notifications/SKILL.md +142 -0
- package/skills/ingest-webhook-secure/SKILL.md +120 -0
- package/skills/integrate-oauth-oidc/SKILL.md +126 -0
- package/skills/load-stress-test/SKILL.md +129 -0
- package/skills/map-privacy-data-gdpr/SKILL.md +146 -0
- package/skills/model-nosql-data/SKILL.md +118 -0
- package/skills/money-decimal-arithmetic/SKILL.md +123 -0
- package/skills/monitor-ml-drift/SKILL.md +109 -0
- package/skills/numeric-precision-units/SKILL.md +144 -0
- package/skills/optimize-llm-cost-latency/SKILL.md +103 -0
- package/skills/optimize-react-rerenders/SKILL.md +124 -0
- package/skills/orchestrate-agent-workflow/SKILL.md +100 -0
- package/skills/payments-billing-integration/SKILL.md +114 -0
- package/skills/pin-toolchain-versions/SKILL.md +116 -0
- package/skills/plan-strangler-migration/SKILL.md +95 -0
- package/skills/property-based-testing/SKILL.md +108 -0
- package/skills/publish-package-registry/SKILL.md +130 -0
- package/skills/recover-git-state/SKILL.md +119 -0
- package/skills/remediate-web-vulnerabilities/SKILL.md +125 -0
- package/skills/resilience-timeouts-retries/SKILL.md +104 -0
- package/skills/resolve-merge-rebase-conflict/SKILL.md +97 -0
- package/skills/rewrite-git-history/SKILL.md +109 -0
- package/skills/scaffold-cross-platform-app/SKILL.md +137 -0
- package/skills/schema-evolution-compatibility/SKILL.md +121 -0
- package/skills/send-transactional-email/SKILL.md +126 -0
- package/skills/serve-deploy-ml-model/SKILL.md +107 -0
- package/skills/setup-cdn-edge-waf/SKILL.md +107 -0
- package/skills/setup-devcontainer-env/SKILL.md +131 -0
- package/skills/setup-lint-format-precommit/SKILL.md +140 -0
- package/skills/setup-monorepo-tooling/SKILL.md +125 -0
- package/skills/ship-mobile-app-store-release/SKILL.md +137 -0
- package/skills/structured-output-llm/SKILL.md +86 -0
- package/skills/supply-chain-sbom-provenance/SKILL.md +120 -0
- package/skills/test-data-factories/SKILL.md +158 -0
- package/skills/threat-model-stride/SKILL.md +123 -0
- package/skills/train-evaluate-ml-model/SKILL.md +109 -0
- package/skills/unicode-text-correctness/SKILL.md +109 -0
- package/skills/visual-regression-testing/SKILL.md +120 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, core-facts]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Core-Facts
|
|
10
|
+
|
|
11
|
+
> ground truth ที่เจ้าของเขียนเอง (read-only, invariant)
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
protected-facts ที่ AI ห้ามแก้/supersede
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
decision ที่ AI ตัด (→Decision-Memory)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/Core-Facts/_Index]]"` และท้ายไฟล์ `up:: [[Shared/Core-Facts/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, decision-memory]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Decision-Memory
|
|
10
|
+
|
|
11
|
+
> การตัดสินใจที่ AI บันทึก (latest-wins + supersedes)
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
decision locked + เหตุผล
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
ground truth คน (→Core-Facts)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/Decision-Memory/_Index]]"` และท้ายไฟล์ `up:: [[Shared/Decision-Memory/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, glossary]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Glossary
|
|
10
|
+
|
|
11
|
+
> vocabulary กลาง (routes ไป category pages)
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
term + นิยาม กลาง
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
entity page (→Entities)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/Glossary/_Index]]"` และท้ายไฟล์ `up:: [[Shared/Glossary/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, memory-inbox]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Memory-Inbox
|
|
10
|
+
|
|
11
|
+
> candidate durable memory ที่ยังไม่ชัด/ขัดกัน
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
observation รอ promote (เคลียร์ทุก weekly)
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
durable ที่ชัดแล้ว (→ปลายทาง)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/Memory-Inbox/_Index]]"` และท้ายไฟล์ `up:: [[Shared/Memory-Inbox/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, operating-state]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Operating-State
|
|
10
|
+
|
|
11
|
+
> live status/metrics ตอนนี้
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
current-state + health/queue + workbench
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
objective (→Goals)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/Operating-State/_Index]]"` และท้ายไฟล์ `up:: [[Shared/Operating-State/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, prompting]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Prompting
|
|
10
|
+
|
|
11
|
+
> prompt-engineering pattern (style/structure)
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
pattern การเขียน prompt ที่ reuse
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
prompt asset ต่อ task (→Prompts)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/Prompting/_Index]]"` และท้ายไฟล์ `up:: [[Shared/Prompting/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, provenance]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Provenance
|
|
10
|
+
|
|
11
|
+
> lineage ledger — ทุก claim ชี้ source:: ได้
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
บรรทัด ingest ต่อแหล่ง (ingest-log)
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
โน้ต derived (ใส่ source:: แทน)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/Provenance/_Index]]"` และท้ายไฟล์ `up:: [[Shared/Provenance/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, rules]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Rules
|
|
10
|
+
|
|
11
|
+
> กฎ operating always-on
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
memory-write-protocol/frontmatter/context-assembly/formatting/staleness
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
how-to ทำงาน (→Runbooks)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/Rules/_Index]]"` และท้ายไฟล์ `up:: [[Shared/Rules/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [rule, context, notes]
|
|
3
|
+
note_type: rule
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/Rules/_Index]]"
|
|
7
|
+
ai_surface: hot
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Contextual Note Rule
|
|
11
|
+
|
|
12
|
+
> Notes must explain why they exist, not just what they contain.
|
|
13
|
+
|
|
14
|
+
## Required Context
|
|
15
|
+
|
|
16
|
+
- Why this note was created.
|
|
17
|
+
- What decision, task, entity, or source it connects to.
|
|
18
|
+
- What would make the note stale or superseded.
|
|
19
|
+
- Where the next reader should go next.
|
|
20
|
+
|
|
21
|
+
## Routing Check
|
|
22
|
+
|
|
23
|
+
Before creating a new note:
|
|
24
|
+
|
|
25
|
+
1. Search for an existing canonical home.
|
|
26
|
+
2. Check [[Vault Structure Map]] for the right folder.
|
|
27
|
+
3. If uncertain, park in [[Shared/Memory-Inbox/memory-inbox]] with a short reason.
|
|
28
|
+
4. Promote only after the context is clear.
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/Rules/_Index]]
|
|
@@ -13,6 +13,16 @@ parent: "[[Shared/Rules/_Index]]"
|
|
|
13
13
|
## Core fields (ทุกโน้ต)
|
|
14
14
|
`tags` · `note_type` · `created` · `updated` · `parent` + ท้ายไฟล์ `up:: [[parent/_Index]]`
|
|
15
15
|
|
|
16
|
+
## Note Type Taxonomy (allowed values — ห้ามมั่ว type ใหม่เอง)
|
|
17
|
+
- **Project:** `project-overview` `context` `current-state` `session` `index` `reference`
|
|
18
|
+
- **Memory:** `user-preferences` `decision-log` `operating-state` `response-examples` `working-patterns` `success-signals`
|
|
19
|
+
- **Session/Knowledge:** `session-log` `retrospective` `learning-note` `distillation` `research-note` `moc`
|
|
20
|
+
- **Durable:** `durable-index` `protocol` `registry` `standard-reference`
|
|
21
|
+
- **System:** `template` `rule` `glossary` `runbook` `intake` `bug-report` `handoff` `weekly-review`
|
|
22
|
+
- **Dashboard:** `homepage` `projects-dashboard`
|
|
23
|
+
|
|
24
|
+
> ไม่มี type ที่ตรง → ใช้ `reference` (อย่าคิด type ใหม่)
|
|
25
|
+
|
|
16
26
|
## Bi-temporal validity (fact notes: Core-Facts / Decision-Memory / Entities)
|
|
17
27
|
|
|
18
28
|
| field | ความหมาย |
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [rule, memory, protocol]
|
|
3
|
+
note_type: rule
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/Rules/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Memory-Write Protocol (ADD / UPDATE / DELETE / NOOP)
|
|
10
|
+
|
|
11
|
+
> ทุกครั้งที่จะเขียน durable memory — เลือก operation ชัด (Mem0-style) แทนการ append มั่ว
|
|
12
|
+
> หลักการแม่: **Merge, Don't Append**
|
|
13
|
+
|
|
14
|
+
## ก่อนเขียน
|
|
15
|
+
1. **diff กับ [[Shared/Core-Facts/protected-facts]]** (invariant) → ขัด = **หยุด + flag เจ้าของ** (ห้ามทับเงียบ)
|
|
16
|
+
2. search ปลายทางหา entry หัวข้อเดียวกัน
|
|
17
|
+
|
|
18
|
+
## เลือก operation
|
|
19
|
+
| op | เมื่อ | ทำ |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| **ADD** | ของใหม่จริง (ไม่เจอเดิม) | เพิ่ม entry |
|
|
22
|
+
| **UPDATE** | เจอ entry เดิม | แก้ + bump `updated:` (ห้ามเพิ่มซ้ำ) |
|
|
23
|
+
| **DELETE** | fact เลิกจริง/ถูกแทน | bi-temporal supersede (ดู [[Shared/Rules/frontmatter-standard]]) ไม่ลบทิ้ง |
|
|
24
|
+
| **NOOP** | รู้อยู่แล้ว | ไม่ต้องเขียน |
|
|
25
|
+
|
|
26
|
+
> ขัดกัน (ไม่ใช่แค่ซ้ำ) → THESIS/ANTITHESIS/SYNTHESIS → บันทึก decision-log + `supersedes::`
|
|
27
|
+
|
|
28
|
+
up:: [[Shared/Rules/_Index]]
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [rule, runbook, procedure]
|
|
3
|
+
note_type: rule
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/Rules/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Procedural Runbook Header
|
|
10
|
+
|
|
11
|
+
> Minimum header for any reusable procedure in `Runbooks/`.
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
---
|
|
15
|
+
tags: [runbook]
|
|
16
|
+
note_type: runbook
|
|
17
|
+
created: YYYY-MM-DD
|
|
18
|
+
updated: YYYY-MM-DD
|
|
19
|
+
parent: "[[Runbooks/_Index]]"
|
|
20
|
+
status: active
|
|
21
|
+
success_rate: unknown
|
|
22
|
+
runs: 0
|
|
23
|
+
---
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Required Sections
|
|
27
|
+
|
|
28
|
+
1. Purpose
|
|
29
|
+
2. Preconditions
|
|
30
|
+
3. Steps
|
|
31
|
+
4. Verification
|
|
32
|
+
5. Rollback / Recovery
|
|
33
|
+
6. Known Failure Modes
|
|
34
|
+
7. Change Log
|
|
35
|
+
|
|
36
|
+
## Promotion Rule
|
|
37
|
+
|
|
38
|
+
If a runbook becomes executable and has a reliable verification command, promote the executable unit to `Skills/` and leave the explanatory prose here.
|
|
39
|
+
|
|
40
|
+
up:: [[Shared/Rules/_Index]]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [rule, review, staleness]
|
|
3
|
+
note_type: rule
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/Rules/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Review & Staleness Policy
|
|
10
|
+
|
|
11
|
+
> เมื่อไหร่ทบทวน + เมื่อไหร่โน้ต "หมดอายุ" → ปิด decay loop (ดู [[Runbooks/sleep-time-consolidation]])
|
|
12
|
+
|
|
13
|
+
## Cadence
|
|
14
|
+
- **Daily:** session log เฉพาะวันมีงาน
|
|
15
|
+
- **Weekly:** เคลียร์ Memory-Inbox · promote durable · lint (orphan/dead-link/frontmatter)
|
|
16
|
+
- **Monthly:** vault health audit + เก็บกวาด stale
|
|
17
|
+
|
|
18
|
+
## Staleness
|
|
19
|
+
- โน้ตควรมี `review_date` / `stale_after` (โน้ตที่เปลี่ยนตามเวลา)
|
|
20
|
+
- เลย `stale_after` + ไม่ถูกแตะนาน + low-action → **flag → ถามก่อน → ย้าย [[Shared/Archive]]** (ไม่ลบ · Core-Facts ยกเว้น)
|
|
21
|
+
|
|
22
|
+
up:: [[Shared/Rules/_Index]]
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [rule, formatting, output]
|
|
3
|
+
note_type: rule
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/Rules/_Index]]"
|
|
7
|
+
ai_surface: hot
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Rules Formatting
|
|
11
|
+
|
|
12
|
+
> Output shape rules for notes and replies. Use this before creating durable notes or changing owner-facing docs.
|
|
13
|
+
|
|
14
|
+
## Durable Notes
|
|
15
|
+
|
|
16
|
+
- Use clear headings; avoid one giant paragraph.
|
|
17
|
+
- Keep one canonical topic per note.
|
|
18
|
+
- Put routing metadata in frontmatter, then a short purpose statement.
|
|
19
|
+
- End every durable note with `up:: [[...]]`.
|
|
20
|
+
|
|
21
|
+
## Owner-Facing Replies
|
|
22
|
+
|
|
23
|
+
- Lead with the answer or status.
|
|
24
|
+
- Keep summaries short unless the owner asks for detail.
|
|
25
|
+
- Use Thai + tech English terms naturally.
|
|
26
|
+
- Mention verification commands only when useful.
|
|
27
|
+
|
|
28
|
+
## Avoid
|
|
29
|
+
|
|
30
|
+
- Empty checklist theater.
|
|
31
|
+
- Unverified claims about files, paths, dates, or commands.
|
|
32
|
+
- Duplicate notes when an existing canonical note can be updated.
|
|
33
|
+
|
|
34
|
+
up:: [[Shared/Rules/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, scripts]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Scripts
|
|
10
|
+
|
|
11
|
+
> automation maintenance (lint/graph audit/metrics)
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
สคริปต์ maintenance ที่รันจริง
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
one-off ที่ retired (→Scripts-Archive)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/Scripts/_Index]]"` และท้ายไฟล์ `up:: [[Shared/Scripts/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, scripts-archive]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Scripts-Archive
|
|
10
|
+
|
|
11
|
+
> สคริปต์ one-off ที่ retired
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
script เก่าเก็บเป็นประวัติ
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
script ที่ยังใช้ (→Scripts)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/Scripts-Archive/_Index]]"` และท้ายไฟล์ `up:: [[Shared/Scripts-Archive/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, tech-standards]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Tech-Standards
|
|
10
|
+
|
|
11
|
+
> มาตรฐานเทคนิคกลาง
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
MCP/stack/DoD/verification rulebook
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
กฎ memory/format (→Rules)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/Tech-Standards/_Index]]"` และท้ายไฟล์ `up:: [[Shared/Tech-Standards/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [standard, verification, dod]
|
|
3
|
+
note_type: standard-reference
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/Tech-Standards/_Index]]"
|
|
7
|
+
ai_surface: hot
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Verification Standard
|
|
11
|
+
|
|
12
|
+
> Definition of done for technical changes made with this vault.
|
|
13
|
+
|
|
14
|
+
## Default Verification Ladder
|
|
15
|
+
|
|
16
|
+
1. Read the relevant source before editing.
|
|
17
|
+
2. Run the narrowest meaningful check first.
|
|
18
|
+
3. Run the broader suite when touching shared behavior.
|
|
19
|
+
4. Build/package smoke when the change affects release output.
|
|
20
|
+
5. Record residual risk if a check cannot be run.
|
|
21
|
+
|
|
22
|
+
## Evidence Format
|
|
23
|
+
|
|
24
|
+
Use this shape in session logs and handoffs:
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
Verification:
|
|
28
|
+
- npm run typecheck: PASS
|
|
29
|
+
- npm test: PASS
|
|
30
|
+
- npm run build: PASS
|
|
31
|
+
- Smoke: <command/result>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Never Claim Done If
|
|
35
|
+
|
|
36
|
+
- Tests were skipped without saying why.
|
|
37
|
+
- The changed behavior was not exercised.
|
|
38
|
+
- A generated artifact was not opened/rendered when visual layout matters.
|
|
39
|
+
|
|
40
|
+
up:: [[Shared/Tech-Standards/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, user-memory]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# User-Memory
|
|
10
|
+
|
|
11
|
+
> สิ่งที่ AI เรียนรู้เกี่ยวกับเจ้าของ (mutable)
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
preference/response-example/signal
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
identity static (→User-Persona)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/User-Memory/_Index]]"` และท้ายไฟล์ `up:: [[Shared/User-Memory/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [index, moc, user-persona]
|
|
3
|
+
note_type: moc
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/_Index]]"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# User-Persona
|
|
10
|
+
|
|
11
|
+
> identity profile ที่เปลี่ยนน้อยมาก (human-owned)
|
|
12
|
+
|
|
13
|
+
## ใส่ที่นี่
|
|
14
|
+
บทบาท/ค่านิยม/ภาษา/timezone (read-only)
|
|
15
|
+
|
|
16
|
+
## ไม่ใส่ที่นี่
|
|
17
|
+
สิ่งที่ AI เรียนรู้ (→User-Memory)
|
|
18
|
+
|
|
19
|
+
## AI Routing Contract
|
|
20
|
+
|
|
21
|
+
- ก่อนเขียน: เช็กว่าเนื้อหาตรง "ใส่ที่นี่" และไม่เข้า "ไม่ใส่ที่นี่"; ถ้าก้ำกึ่งอ่าน [[Vault Structure Map]] ก่อน
|
|
22
|
+
- ก่อนสร้างไฟล์ใหม่: ค้นหาโน้ตเดิมในโฟลเดอร์นี้และโฟลเดอร์ใกล้เคียงก่อน เพื่อ merge/update แทน append ซ้ำ
|
|
23
|
+
- เมื่อสร้างโน้ตในโฟลเดอร์นี้: ตั้ง `parent: "[[Shared/User-Persona/_Index]]"` และท้ายไฟล์ `up:: [[Shared/User-Persona/_Index]]`
|
|
24
|
+
- หลังเขียน: เชื่อม link ไป source/project/session/decision ที่เกี่ยวข้อง และอัปเดต hub/index ถ้าโน้ตนี้ควรถูกค้นเจอในอนาคต
|
|
25
|
+
|
|
26
|
+
> รายละเอียดทุกโฟลเดอร์ + decision rules → [[Vault Structure Map]]
|
|
27
|
+
|
|
28
|
+
_(ยังว่าง — โน้ตในโฟลเดอร์นี้จะถูกลิงก์ที่นี่)_
|
|
29
|
+
|
|
30
|
+
up:: [[Shared/_Index]]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
tags: [persona, owner, profile]
|
|
3
|
+
note_type: reference
|
|
4
|
+
created: {{DATE}}
|
|
5
|
+
updated: {{DATE}}
|
|
6
|
+
parent: "[[Shared/User-Persona/_Index]]"
|
|
7
|
+
ai_surface: warm
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Owner Profile
|
|
11
|
+
|
|
12
|
+
> Static profile for identity-level context. Keep mutable preferences in [[Shared/User-Memory/user-preferences]] instead.
|
|
13
|
+
|
|
14
|
+
## Identity
|
|
15
|
+
|
|
16
|
+
- Name: {{OWNER_NAME}}
|
|
17
|
+
- Address as: {{OWNER_ADDRESS}}
|
|
18
|
+
- Preferred language: {{LANGUAGE}}
|
|
19
|
+
- Preferred tone: {{TONE}}
|
|
20
|
+
|
|
21
|
+
## Durable Context
|
|
22
|
+
|
|
23
|
+
_(Owner-controlled facts go here. Agents should not infer sensitive identity details.)_
|
|
24
|
+
|
|
25
|
+
up:: [[Shared/User-Persona/_Index]]
|