tink-harness 1.2.1 → 1.3.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 (55) hide show
  1. package/.claude-plugin/plugin.json +2 -2
  2. package/CHANGELOG.md +122 -75
  3. package/README.ko.md +131 -122
  4. package/README.md +97 -92
  5. package/VERSIONING.md +2 -2
  6. package/bin/install.js +318 -257
  7. package/commands/cast.md +182 -172
  8. package/docs/context-budget-ledger.ko.md +56 -0
  9. package/docs/context-budget-ledger.md +56 -0
  10. package/docs/context-change-review.ko.md +14 -0
  11. package/docs/context-change-review.md +14 -0
  12. package/docs/external-context-policy.ko.md +15 -0
  13. package/docs/external-context-policy.md +15 -0
  14. package/docs/graph-contracts-and-guards.md +61 -0
  15. package/docs/harness-lifecycle-signals.ko.md +23 -0
  16. package/docs/harness-lifecycle-signals.md +23 -0
  17. package/docs/hooks.md +49 -0
  18. package/docs/memory-decision-layers.ko.md +14 -0
  19. package/docs/memory-decision-layers.md +14 -0
  20. package/docs/memory.md +31 -0
  21. package/docs/phase-5-update-confidence.ko.md +99 -0
  22. package/docs/phase-5-update-confidence.md +97 -0
  23. package/docs/planned-work-units.ko.md +77 -0
  24. package/docs/planned-work-units.md +77 -0
  25. package/docs/pr/2026-06-07-phase-5-6-follow-up.ko.md +35 -0
  26. package/docs/pr/2026-06-07-v1.2.0-improvements.html +450 -0
  27. package/docs/pr/2026-06-08-context-budget-ledger.ko.md +38 -0
  28. package/docs/pr/2026-06-08-planned-work-units.ko.md +27 -0
  29. package/docs/pr/2026-06-08-v1.2.2.ko.md +27 -0
  30. package/docs/repo-signals.ko.md +104 -0
  31. package/docs/repo-signals.md +95 -77
  32. package/docs/research.md +16 -0
  33. package/docs/tink-idea-implementation-plan.ko.md +201 -0
  34. package/docs/update-diagnosis.ko.md +16 -0
  35. package/docs/update-diagnosis.md +16 -0
  36. package/docs/update-troubleshooting.ko.md +113 -0
  37. package/docs/update-troubleshooting.md +100 -0
  38. package/docs/update-verification-recipe.ko.md +118 -0
  39. package/docs/update-verification-recipe.md +119 -0
  40. package/docs/verification-evidence-details.ko.md +14 -0
  41. package/docs/verification-evidence-details.md +14 -0
  42. package/docs/work-state.ko.md +105 -0
  43. package/docs/work-state.md +103 -0
  44. package/package.json +2 -4
  45. package/templates/claude/commands/tink/cast.md +182 -172
  46. package/templates/codex/skills/tink-cast/SKILL.md +14 -13
  47. package/templates/codex/skills/tink-core/RULES.md +165 -112
  48. package/templates/tink/memory/approved/README.md +5 -0
  49. package/templates/tink/memory/candidate/README.md +5 -0
  50. package/templates/tink/memory/evidence/README.md +5 -0
  51. package/templates/tink/memory/rejected/README.md +5 -0
  52. package/templates/tink/schemas/context-map.schema.json +247 -154
  53. package/templates/tink/schemas/harness-lifecycle.schema.json +44 -0
  54. package/templates/tink/schemas/mcp-policy.schema.json +65 -0
  55. package/templates/tink/schemas/verification.schema.json +154 -141
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tink",
3
- "description": "A small harness layer for Claude Code and Codex.",
4
- "version": "1.2.1",
3
+ "description": "A small harness layer for Claude Code and Codex.",
4
+ "version": "1.3.0",
5
5
  "author": {
6
6
  "name": "dotori"
7
7
  }
package/CHANGELOG.md CHANGED
@@ -2,81 +2,128 @@
2
2
 
3
3
  All notable changes to Tink are tracked here.
4
4
 
5
- ## [Unreleased]
6
-
7
- No unreleased changes yet.
8
-
9
-
10
- ## [1.2.1] - 2026-06-07
11
-
12
- ### Changed
13
-
14
- - README now shows a GitHub Release badge and an explicit latest release line so the repository front page reflects the current release even when badge caches lag.
15
- - Published the README/release-display patch so GitHub source and the npm package stay aligned after the v1.2.0 publish.
16
-
17
-
18
- ## [1.2.0] - 2026-06-07
19
-
20
- ### Added
21
-
22
- - Codex autocomplete aliases matching the Claude Code command surface: `$tink:cast`, `$tink:verify`, `$tink:list`, `$tink:frog`, `$tink:weave`, `$tink:setup`, and `$tink:update`.
23
- - Contract-first context artifacts for non-trivial runs: `context-pack.md`, `context-map.json`, and `excluded-context.md`.
24
- - Repo Signal fixtures and documentation so `/tink:cast` can select relevant tests, schemas, sync partners, and verification hints without adding a new `tink index` command.
25
- - Verify Runner schema and fixtures for `.tink/current/verification.json`, including pass, fail, blocked, skipped, final report, notes summary, and maintenance signal behavior.
26
- - MCP Safe Profile documentation and external-context profile schema support for sources such as Figma, GitHub, official docs, dashboards, API responses, screenshots, attachments, and runbooks.
27
- - Compatibility policy documenting that new Tink work must support Claude Code and Codex, plus macOS and Windows.
28
- - PR history draft for this release in `docs/pr/2026-06-07-v1.2.0.md`.
29
-
30
- ### Changed
31
-
32
- - Codex documentation and installer next-step guidance now prefer `$tink:*` spelling while keeping legacy `$tink <action>` prompts compatible.
33
- - Project guidance now uses lower-case `templates/codex/skills/` and the actual `.claude/` / `.claude-plugin/` paths so Mac/Linux case-sensitive filesystems match the documented structure.
34
- - Codex skill display is focused on action aliases only; shared Codex rules now live in non-visible `tink-core/RULES.md`.
35
- - `/tink:cast` records included, excluded, and external context more explicitly, including sensitivity, confidence, source handles, and verification hints.
36
- - `/tink:verify` now uses one portable runner model for Claude Code `/tink:verify` and Codex `$tink:verify`.
37
- - README and Korean README now explain the 1.2.0 release highlights and point to compatibility, repo signal, and MCP Safe Profile docs.
38
-
39
- ### Fixed
40
-
41
- - Existing Codex installs that still have the old visible `skills/tink/SKILL.md` directory are cleaned up during install/update when it is recognized as the legacy Tink skill.
42
-
43
- ### Removed
44
-
45
- - Removed the old installable Codex `tink` skill surface so the picker no longer shows duplicate or awkward `Tink: Tink` entries.
46
-
47
-
48
- ## [1.1.1] - 2026-05-26
49
-
50
- ### Added
51
-
52
- - Small Writ-inspired rule selection: rule graph nodes now distinguish `mandatory` and `retrievable` guidance with phase, budget cost, and keyword metadata.
53
- - Current-run `session.json` schema so Tink can record `loaded_rule_ids_by_phase` and avoid repeating the same rule guidance during a run.
54
- - Verification evidence and friction templates: `/tink:verify` now documents `.tink/current/verification.json` evidence and `.tink/maintenance/friction.jsonl` failure signals.
55
-
56
- ### Changed
57
-
58
- - `/tink:cast`, `/tink:verify`, and `/tink:weave` now describe the smaller rule-loading path: mandatory first, keyword retrieval second, phase dedupe, compact evidence, then repeated-friction promotion through weave.
59
- - README and graph docs now explain the compact rule graph, verification evidence, and friction signal flow.
60
-
61
-
62
- ## [1.1.0] - 2026-05-26
63
-
64
- ### Added
65
-
66
- - Contract-first run model: `/tink:cast` now writes `.tink/current/contract.json` for non-trivial runs so task type, risks, success conditions, forbidden actions, verification, and evidence are structured before harness bodies are loaded.
67
- - `/tink:verify` command: runs the checks promised in the current contract, records compact evidence, and feeds failed checks into weave as `check_failed` signals.
68
- - Repo-local rule graph templates in `.tink/rules/index.json`, plus `contract.schema.json`, so Tink can select relevant harnesses, checks, and opt-in guard candidates without loading large Markdown by default.
69
- - Opt-in guard templates for repeated failures that should become real Claude Code hook boundaries after explicit approval.
70
- - Documentation for graph contracts, verification, and guard promotion.
71
-
72
- ### Changed
73
-
74
- - `/tink:weave` can now classify improvements as harness edits, rule graph updates, or opt-in hook guard candidates.
75
- - Hook recommendation script now uses readable multilingual messages and keeps the default hook advisory-only.
76
-
77
- ### Planned
78
-
79
- - Layered scope model: merge `global` (`~/.tink/`) + `repo` (`.tink/`) + `local` (`.tink/local/` or `.tink/settings.local.json`) following the Claude Code settings pattern. Tracked separately.
5
+ ## [Unreleased]
6
+
7
+ No unreleased changes yet.
8
+
9
+
10
+ ## [1.3.0] - 2026-06-08
11
+
12
+ ### Added
13
+
14
+ - Context Budget Ledger fields for `context-map.json` entries: `role`, `cost`, `reuse_signal`, `verification_link`, `staleness`, and `evidence_kind`.
15
+ - `context-map.json.efficiency_metrics` example shape for recording six context-efficiency scores with basis, confidence, evidence refs, and limits.
16
+ - Current-run fixture examples that connect selected context to verification links and mark avoid-next-time exclusions.
17
+ - Repo signal `context_budget_policy` fixture guidance for scoring selected Context Graph Lite candidates without adding a public `tink index` command.
18
+ - Korean-first Context Budget Ledger documentation with an English companion.
19
+ - Korean context-engineering efficiency HTML explainer for the current operating model and expected improvement ranges.
20
+ - Korean PR history draft for the Context Budget Ledger work in `docs/pr/2026-06-08-context-budget-ledger.ko.md`.
21
+
22
+ ### Changed
23
+
24
+ - `/tink:cast` and `$tink:cast` guidance now asks context artifacts to record role, cost, reuse signal, verification link, staleness, and evidence kind when useful.
25
+ - Work State Guide now explains how to read Context Budget Ledger fields.
26
+ - README and Korean README now link to the Context Budget Ledger docs without expanding the main body.
27
+
28
+
29
+ ## [1.2.2] - 2026-06-08
30
+
31
+ ### Added
32
+
33
+ - Work-unit docs for the remaining roadmap: verification evidence details, external context policy, harness lifecycle signals, memory decision layers, context change review, and update diagnosis.
34
+ - External context policy and harness lifecycle schemas, plus fixtures for context changes, policy examples, and lifecycle recommendations.
35
+ - Installed memory decision folders for approved, candidate, rejected, and evidence-backed memory.
36
+ - Work State Guide explaining how to read `.tink/current/contract.json`, `context-pack.md`, `context-map.json`, `excluded-context.md`, `verification.json`, and `notes.md`.
37
+ - Phase 5 Update Confidence plan for safer existing-user update flows.
38
+ - Korean companion docs for the Work State Guide and Phase 5 Update Confidence plan.
39
+ - Korean implementation audit and roadmap for the larger Tink idea set in `docs/tink-idea-implementation-plan.ko.md`.
40
+ - HTML summary of v1.2.0 improvements in `docs/pr/2026-06-07-v1.2.0-improvements.html`.
41
+ - Existing-user Codex update smoke test covering legacy `skills/tink/SKILL.md` cleanup, refreshed action skills, new schemas, and preserved user-modified schema files.
42
+ - Codex `$tink:cast` approval protocol and compact approval request examples so non-trivial runs ask before creating run state, loading harnesses, editing files, or running commands.
43
+ - Update Result Summary output for `tink-harness update`, including changed paths, preserved user-modified files, removed legacy paths, install locations, and the next command.
44
+ - Existing user-modified `.tink/config.json` is now fully preserved during update unless `--force` is used.
45
+ - Update troubleshooting docs in English and Korean, linked from README without expanding the README body.
46
+ - Update verification recipe docs in English and Korean, linked from README as a short post-update checklist.
47
+ - Context Graph Lite fixture rules for cast context selection, including changed-path-to-context coverage without adding a public `tink index` command.
48
+ - Korean companion doc for Repo Signals and Context Graph Lite.
49
+ - Current-run context artifact examples now show how `context_graph_rule` signals explain selected related files and excluded public graph indexing.
50
+ - Korean PR history draft for the Phase 5/6 follow-up work in `docs/pr/2026-06-07-phase-5-6-follow-up.ko.md`.
51
+
52
+ ### Changed
53
+
54
+ - README and Korean README now link to the work-state guide, Phase 5 update-confidence plan, update verification recipe, and update troubleshooting docs.
55
+
56
+
57
+ ## [1.2.1] - 2026-06-07
58
+
59
+ ### Changed
60
+
61
+ - README now shows a GitHub Release badge and an explicit latest release line so the repository front page reflects the current release even when badge caches lag.
62
+ - Published the README/release-display patch so GitHub source and the npm package stay aligned after the v1.2.0 publish.
63
+
64
+
65
+ ## [1.2.0] - 2026-06-07
66
+
67
+ ### Added
68
+
69
+ - Codex autocomplete aliases matching the Claude Code command surface: `$tink:cast`, `$tink:verify`, `$tink:list`, `$tink:frog`, `$tink:weave`, `$tink:setup`, and `$tink:update`.
70
+ - Contract-first context artifacts for non-trivial runs: `context-pack.md`, `context-map.json`, and `excluded-context.md`.
71
+ - Repo Signal fixtures and documentation so `/tink:cast` can select relevant tests, schemas, sync partners, and verification hints without adding a new `tink index` command.
72
+ - Verify Runner schema and fixtures for `.tink/current/verification.json`, including pass, fail, blocked, skipped, final report, notes summary, and maintenance signal behavior.
73
+ - MCP Safe Profile documentation and external-context profile schema support for sources such as Figma, GitHub, official docs, dashboards, API responses, screenshots, attachments, and runbooks.
74
+ - Compatibility policy documenting that new Tink work must support Claude Code and Codex, plus macOS and Windows.
75
+ - PR history draft for this release in `docs/pr/2026-06-07-v1.2.0.md`.
76
+
77
+ ### Changed
78
+
79
+ - Codex documentation and installer next-step guidance now prefer `$tink:*` spelling while keeping legacy `$tink <action>` prompts compatible.
80
+ - Project guidance now uses lower-case `templates/codex/skills/` and the actual `.claude/` / `.claude-plugin/` paths so Mac/Linux case-sensitive filesystems match the documented structure.
81
+ - Codex skill display is focused on action aliases only; shared Codex rules now live in non-visible `tink-core/RULES.md`.
82
+ - `/tink:cast` records included, excluded, and external context more explicitly, including sensitivity, confidence, source handles, and verification hints.
83
+ - `/tink:verify` now uses one portable runner model for Claude Code `/tink:verify` and Codex `$tink:verify`.
84
+ - README and Korean README now explain the 1.2.0 release highlights and point to compatibility, repo signal, and MCP Safe Profile docs.
85
+
86
+ ### Fixed
87
+
88
+ - Existing Codex installs that still have the old visible `skills/tink/SKILL.md` directory are cleaned up during install/update when it is recognized as the legacy Tink skill.
89
+
90
+ ### Removed
91
+
92
+ - Removed the old installable Codex `tink` skill surface so the picker no longer shows duplicate or awkward `Tink: Tink` entries.
93
+
94
+
95
+ ## [1.1.1] - 2026-05-26
96
+
97
+ ### Added
98
+
99
+ - Small Writ-inspired rule selection: rule graph nodes now distinguish `mandatory` and `retrievable` guidance with phase, budget cost, and keyword metadata.
100
+ - Current-run `session.json` schema so Tink can record `loaded_rule_ids_by_phase` and avoid repeating the same rule guidance during a run.
101
+ - Verification evidence and friction templates: `/tink:verify` now documents `.tink/current/verification.json` evidence and `.tink/maintenance/friction.jsonl` failure signals.
102
+
103
+ ### Changed
104
+
105
+ - `/tink:cast`, `/tink:verify`, and `/tink:weave` now describe the smaller rule-loading path: mandatory first, keyword retrieval second, phase dedupe, compact evidence, then repeated-friction promotion through weave.
106
+ - README and graph docs now explain the compact rule graph, verification evidence, and friction signal flow.
107
+
108
+
109
+ ## [1.1.0] - 2026-05-26
110
+
111
+ ### Added
112
+
113
+ - Contract-first run model: `/tink:cast` now writes `.tink/current/contract.json` for non-trivial runs so task type, risks, success conditions, forbidden actions, verification, and evidence are structured before harness bodies are loaded.
114
+ - `/tink:verify` command: runs the checks promised in the current contract, records compact evidence, and feeds failed checks into weave as `check_failed` signals.
115
+ - Repo-local rule graph templates in `.tink/rules/index.json`, plus `contract.schema.json`, so Tink can select relevant harnesses, checks, and opt-in guard candidates without loading large Markdown by default.
116
+ - Opt-in guard templates for repeated failures that should become real Claude Code hook boundaries after explicit approval.
117
+ - Documentation for graph contracts, verification, and guard promotion.
118
+
119
+ ### Changed
120
+
121
+ - `/tink:weave` can now classify improvements as harness edits, rule graph updates, or opt-in hook guard candidates.
122
+ - Hook recommendation script now uses readable multilingual messages and keeps the default hook advisory-only.
123
+
124
+ ### Planned
125
+
126
+ - Layered scope model: merge `global` (`~/.tink/`) + `repo` (`.tink/`) + `local` (`.tink/local/` or `.tink/settings.local.json`) following the Claude Code settings pattern. Tracked separately.
80
127
 
81
128
 
82
129
  ## [1.0.0] - 2026-05-25
package/README.ko.md CHANGED
@@ -1,122 +1,131 @@
1
- <p align="center">
2
- <img src=".github/assets/hero.gif" alt="Tink Hero Banner" width="100%">
3
- </p>
4
-
5
- # Tink
6
-
7
- Claude Code와 Codex를 위한 작은 하네스 레이어입니다.
8
-
9
- Tink는 지금 작업에 맞는 하네스를 고르고, 실행 상태를 보이게 만들고, 실제 사용 중 생긴 실패와 피드백으로 하네스 세트를 개선합니다.
10
-
11
- **최신 릴리스:** v1.2.1Codex 스킬 표면 정리, context 기록, portable verification, 외부 context 안전 기준.
12
-
13
- [English](README.md) · **한국어**
14
-
15
- ---
16
-
17
- ## 왜 만들었나
18
-
19
- 새로운 AI 코딩 하네스와 워크플로는 계속 늘어납니다. 좋은 것도 많지만, 여러 개를 섞다 보면 환경이 무거워지고 매번 다시 정리해야 합니다.
20
-
21
- Tink는 큰 프레임워크가 아닙니다. Claude Code나 Codex가 지금 작업에 필요한 절차만 고르고, 없으면 작은 임시 하네스를 만들고, 반복되는 실수만 승인 후 재사용 지식으로 남기도록 돕습니다.
22
-
23
- ## 설치
24
-
25
- Claude Code 플러그인:
26
-
27
- ```text
28
- /plugin marketplace add dotoricode/tink-harness
29
- /plugin install tink@tink-harness
30
- /reload-plugins
31
- /tink:setup
32
- ```
33
-
34
- Standalone / Codex 호환 설치:
35
-
36
- ```bash
37
- npx tink-harness@latest install
38
- ```
39
-
40
- 설치 중 `Claude Code`, `Codex`, 또는 둘 다를 선택할 수 있습니다. Codex에서는 `$tink:cast <task>`로 시작합니다.
41
-
42
- ## 업데이트
43
-
44
- Claude Code 플러그인:
45
-
46
- ```text
47
- /plugin marketplace update tink-harness
48
- /plugin update tink@tink-harness
49
- /reload-plugins
50
- ```
51
-
52
- Standalone / Codex:
53
-
54
- ```bash
55
- npx tink-harness@latest update
56
- ```
57
-
58
- ## 1.2.0에서 달라진
59
-
60
- 이번 릴리스는 Tink를 Claude Code와 Codex에서 같은 하네스 레이어로 쓰기 쉽게 정리합니다.
61
-
62
- - Codex에는 하나의 넓은 `tink` 스킬 대신 `$tink:cast`, `$tink:verify` 같은 action skill만 보이도록 설치됩니다.
63
- - 비단순 작업은 `context-pack.md`, `context-map.json`, `excluded-context.md`로 어떤 context를 썼고 뺐는지 남깁니다.
64
- - Repo Signal은 `tink index` 명령을 만들지 않고도 관련 테스트, 스키마, 동기화 파일, 검증 힌트를 고르는 데 쓰입니다.
65
- - `/tink:verify`와 `$tink:verify`는 같은 Verify Runner 모델을 쓰며 `.tink/current/verification.json`에 검증 증거를 남깁니다.
66
- - 외부 context는 MCP Safe Profile을 따릅니다. 가장 작은 source handle남기고, 신뢰도와 민감도를 표시하며, 위험하거나 너무 넓은 context는 `excluded-context.md`에 따로 기록합니다.
67
-
68
- ## 명령
69
-
70
- Claude Code에서는 `/tink:*`, Codex에서는 `$tink:*`을 씁니다. 예전 `$tink cast` 형식도 호환되지만, 기본 안내와 자동완성 표면은 `$tink:*`입니다.
71
-
72
- ### `/tink:cast` / `$tink:cast`
73
-
74
- 작업을 읽고, 필요한 하네스만 고르고, `.tink/current/` 실행 상태를 만든 뒤 첫 번째 안전한 단계를 시작합니다.
75
-
76
- Tink는 이제 비단순 작업에 대해 `.tink/current/contract.json`도 만듭니다. 이 파일에는 작업 종류, 위험, 성공 조건, 금지 사항, 검증 명령이 들어갑니다.
77
-
78
- ### `/tink:verify` / `$tink:verify`
79
-
80
- `contract.json`에 적힌 검증을 실제로 실행하고 증거를 남깁니다.
81
-
82
- 릴리스, 배포, 공개 PR처럼 "된 것 같다"가 아니라 "확인했다"가 필요한 작업에서 씁니다.
83
-
84
- ### `/tink:frog` / `$tink:frog`
85
-
86
- 거의 쓰지 않거나 겹치거나 너무 무거운 하네스를 정리 후보로 제안합니다. 사용자 승인 없이는 삭제하지 않습니다.
87
-
88
- ### `/tink:weave` / `$tink:weave`
89
-
90
- 실제 실패, 반복 사용, 사용자 수정 내용을 바탕으로 하네스를 조금 더 정확하게 고칩니다. 필요한 경우 `.tink/rules/`의 rule graph나 opt-in hook guard 후보로 승격합니다.
91
-
92
- ### 기타
93
-
94
- - `/tink:setup` / `$tink:setup`: 언어, 설치 범위, git 추적, hook 정책 설정
95
- - `/tink:list` / `$tink:list`: 사용 가능한 하네스와 사용 신호 확인
96
- - `/tink:update` / `$tink:update`: 설치 출처를 확인하고 안전한 업데이트 안내
97
-
98
- ## 작동 방식
99
-
100
- Tink는 직접 있는 파일을 씁니다.
101
-
102
- - `.tink/harnesses/`: 재사용 가능한 작업 하네스
103
- - `.tink/rules/`: 계약 내용에 맞춰 필요한 하네스, 체크, guard 후보만 고르는 작은 rule graph
104
- - `.tink/schemas/`: `contract.json` 같은 구조화 파일의 스키마
105
- - `.tink/current/`: 현재 실행 상태
106
- - `.tink/runs/`: 완료, 중단, 취소, 교체된 실행 기록
107
- - `.tink/maintenance/`: 검증, friction, weave 신호 기록
108
- - `.tink/memory/`: 승인된 실수, 선호, 교훈
109
-
110
- Rule graph는 작게 유지합니다. Tink는 먼저 필수 규칙을 고르고, 작업 사실이나 keyword에 맞는 선택 규칙만 가져오며, phase별로 이미 읽은 rule id를 기록해 같은 안내를 반복하지 않습니다.
111
-
112
- 설계 메모는 `docs/`에 둡니다. 기본 호환성 기준은 `docs/compatibility-policy.md`에 있으며, 새 작업은 Claude Code와 Codex, macOS와 Windows를 함께 고려해야 합니다. Repo Signal 동작은 `docs/repo-signals.md`에 정리되어 있고, 외부 context 안전 기준은 `docs/mcp-safe-profile.md`에 정리되어 있습니다.
113
-
114
- 중요한 원칙은 승인입니다. 현재 작업을 진행하는 승인과, 미래에도 재사용될 상태를 저장하는 승인은 별개입니다. 새 하네스, 메모리, rule graph, hook guard 저장은 항상 별도 승인이 필요합니다.
115
-
116
- ## Tink가 아닌 것
117
-
118
- Tink는 코딩 에이전트, 워크플로 엔진, 멀티 에이전트 런타임, 프롬프트 라이브러리가 아닙니다. Claude Code와 Codex 위에 얹는 작은 하네스 레이어입니다.
119
-
120
- ## 라이선스
121
-
122
- MIT
1
+ <p align="center">
2
+ <img src=".github/assets/hero.gif" alt="Tink Hero Banner" width="100%">
3
+ </p>
4
+
5
+ # Tink
6
+
7
+ Claude Code와 Codex를 위한 작은 하네스 레이어입니다.
8
+
9
+ Tink는 지금 작업에 맞는 하네스를 고르고, 실행 상태를 보이게 만들고, 실제 사용 중 생긴 실패와 피드백으로 하네스 세트를 개선합니다.
10
+
11
+ **최신 릴리스:** v1.3.0context 효율을 점수화하고 선택한 context 검증과 연결하는 Context Budget Ledger 기반.
12
+
13
+ [English](README.md) · **한국어**
14
+
15
+ ---
16
+
17
+ ## 왜 만들었나
18
+
19
+ 새로운 AI 코딩 하네스와 워크플로는 계속 늘어납니다. 좋은 것도 많지만, 여러 개를 섞다 보면 환경이 무거워지고 매번 다시 정리해야 합니다.
20
+
21
+ Tink는 큰 프레임워크가 아닙니다. Claude Code나 Codex가 지금 작업에 필요한 절차만 고르고, 없으면 작은 임시 하네스를 만들고, 반복되는 실수만 승인 후 재사용 지식으로 남기도록 돕습니다.
22
+
23
+ ## 설치
24
+
25
+ Claude Code 플러그인:
26
+
27
+ ```text
28
+ /plugin marketplace add dotoricode/tink-harness
29
+ /plugin install tink@tink-harness
30
+ /reload-plugins
31
+ /tink:setup
32
+ ```
33
+
34
+ Standalone / Codex 호환 설치:
35
+
36
+ ```bash
37
+ npx tink-harness@latest install
38
+ ```
39
+
40
+ 설치 중 `Claude Code`, `Codex`, 또는 둘 다를 선택할 수 있습니다. Codex에서는 `$tink:cast <task>`로 시작합니다.
41
+
42
+ ## 업데이트
43
+
44
+ Claude Code 플러그인:
45
+
46
+ ```text
47
+ /plugin marketplace update tink-harness
48
+ /plugin update tink@tink-harness
49
+ /reload-plugins
50
+ ```
51
+
52
+ Standalone / Codex:
53
+
54
+ ```bash
55
+ npx tink-harness@latest update
56
+ ```
57
+
58
+ 업데이트가 정상인지 빠르게 확인하려면 `docs/update-verification-recipe.ko.md` 또는 `docs/update-verification-recipe.md`를 확인하세요.
59
+
60
+ 업데이트 Codex skill, schema, Windows 경고가 이상해 보이면 `docs/update-troubleshooting.ko.md` 또는 `docs/update-troubleshooting.md`를 확인하세요.
61
+
62
+ ## 1.2.0에서 달라진
63
+
64
+ 이번 릴리스는 Tink를 Claude Code와 Codex에서 같은 하네스 레이어로 쓰기 쉽게 정리합니다.
65
+
66
+ - Codex에는 하나의 넓은 `tink` 스킬 대신 `$tink:cast`, `$tink:verify` 같은 action skill보이도록 설치됩니다.
67
+ - 비단순 작업은 `context-pack.md`, `context-map.json`, `excluded-context.md`로 어떤 context를 썼고 뺐는지 남깁니다.
68
+ - Repo Signal과 Context Graph Lite는 새 `tink index` 명령을 만들지 않고도 관련 테스트, 스키마, 동기화 파일, 검증 힌트를 고르는 데 쓰입니다.
69
+ - context 효율 점수화를 위한 Context Budget Ledger는 `docs/context-budget-ledger.ko.md`와 `docs/context-budget-ledger.md`에서 확인할 수 있습니다.
70
+ - `/tink:verify`와 `$tink:verify`는 같은 Verify Runner 모델을 쓰며 `.tink/current/verification.json`에 검증 증거를 남깁니다.
71
+ - 외부 context는 MCP Safe Profile을 따릅니다. 가장 작은 source handle만 남기고, 신뢰도와 민감도를 표시하며, 위험하거나 너무 넓은 context는 `excluded-context.md`에 따로 기록합니다.
72
+
73
+ ## 명령
74
+
75
+ Claude Code에서는 `/tink:*`, Codex에서는 `$tink:*`을 씁니다. 예전 `$tink cast` 형식도 호환되지만, 기본 안내와 자동완성 표면은 `$tink:*`입니다.
76
+
77
+ ### `/tink:cast` / `$tink:cast`
78
+
79
+ 작업을 읽고, 필요한 하네스만 고르고, `.tink/current/` 실행 상태를 만든 뒤 첫 번째 안전한 단계를 시작합니다.
80
+
81
+ Tink는 이제 비단순 작업에 대해 `.tink/current/contract.json`도 만듭니다. 이 파일에는 작업 종류, 위험, 성공 조건, 금지 사항, 검증 명령이 들어갑니다.
82
+
83
+ ### `/tink:verify` / `$tink:verify`
84
+
85
+ `contract.json`에 적힌 검증을 실제로 실행하고 증거를 남깁니다.
86
+
87
+ 릴리스, 배포, 공개 PR처럼 "된 것 같다"가 아니라 "확인했다"가 필요한 작업에서 씁니다.
88
+
89
+ ### `/tink:frog` / `$tink:frog`
90
+
91
+ 거의 쓰지 않거나 겹치거나 너무 무거운 하네스를 정리 후보로 제안합니다. 사용자 승인 없이는 삭제하지 않습니다.
92
+
93
+ ### `/tink:weave` / `$tink:weave`
94
+
95
+ 실제 실패, 반복 사용, 사용자 수정 내용을 바탕으로 하네스를 조금 더 정확하게 고칩니다. 필요한 경우 `.tink/rules/`의 rule graph나 opt-in hook guard 후보로 승격합니다.
96
+
97
+ ### 기타
98
+
99
+ - `/tink:setup` / `$tink:setup`: 언어, 설치 범위, git 추적, hook 정책 설정
100
+ - `/tink:list` / `$tink:list`: 사용 가능한 하네스와 사용 신호 확인
101
+ - `/tink:update` / `$tink:update`: 설치 출처를 확인하고 안전한 업데이트 안내
102
+
103
+ ## 작동 방식
104
+
105
+ Tink는 직접 있는 파일을 씁니다.
106
+
107
+ - `.tink/harnesses/`: 재사용 가능한 작업 하네스
108
+ - `.tink/rules/`: 계약 내용에 맞춰 필요한 하네스, 체크, guard 후보만 고르는 작은 rule graph
109
+ - `.tink/schemas/`: `contract.json` 같은 구조화 파일의 스키마
110
+ - `.tink/current/`: 현재 실행 상태
111
+ - `.tink/runs/`: 완료, 중단, 취소, 교체된 실행 기록
112
+ - `.tink/maintenance/`: 검증, friction, weave 신호 기록
113
+ - `.tink/memory/`: 승인된 실수, 선호, 교훈
114
+
115
+ Rule graph는 작게 유지합니다. Tink는 먼저 필수 규칙을 고르고, 작업 사실이나 keyword에 맞는 선택 규칙만 가져오며, phase별로 이미 읽은 rule id를 기록해 같은 안내를 반복하지 않습니다.
116
+
117
+ 설계 메모는 `docs/`에 둡니다. 기본 호환성 기준은 `docs/compatibility-policy.md`에 있으며, 새 작업은 Claude Code와 Codex, macOS와 Windows를 함께 고려해야 합니다. Repo Signal 동작은 `docs/repo-signals.ko.md` 또는 `docs/repo-signals.md`에 정리되어 있고, 외부 context 안전 기준은 `docs/mcp-safe-profile.md`에 정리되어 있습니다. `.tink/current/` 상태를 읽거나 검토할 때는 `docs/work-state.ko.md` 또는 `docs/work-state.md`부터 보면 됩니다. 다음 업데이트 안정화 계획은 `docs/phase-5-update-confidence.ko.md`와 `docs/phase-5-update-confidence.md`에 정리되어 있습니다. 더 큰 아이디어 구현 점검과 로드맵은 `docs/tink-idea-implementation-plan.ko.md`에 정리되어 있습니다.
118
+
119
+ 중요한 원칙은 승인입니다. 현재 작업을 진행하는 승인과, 미래에도 재사용될 상태를 저장하는 승인은 별개입니다. 새 하네스, 메모리, rule graph, hook guard 저장은 항상 별도 승인이 필요합니다.
120
+
121
+ ## 계획된 작업 단위
122
+
123
+ 남은 계획은 번호가 붙은 단계보다 작업 단위 이름으로 관리합니다. 전체 목록은 `docs/planned-work-units.ko.md` 또는 `docs/planned-work-units.md`에 있으며, 세부 문서는 검증 증거 세분화, 외부 컨텍스트 정책, 하네스 생애주기 신호, 메모리 결정 계층, 컨텍스트 변화 리뷰, 업데이트 진단으로 나누어 둡니다.
124
+
125
+ ## Tink가 아닌 것
126
+
127
+ Tink는 코딩 에이전트, 워크플로 엔진, 멀티 에이전트 런타임, 프롬프트 라이브러리가 아닙니다. Claude Code와 Codex 위에 얹는 작은 하네스 레이어입니다.
128
+
129
+ ## 라이선스
130
+
131
+ MIT