tink-harness 1.15.3 → 1.15.4
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/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +5 -0
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/VERSIONING.md +1 -1
- package/commands/cast.md +11 -5
- package/package.json +1 -1
- package/templates/claude/commands/tink/cast.md +11 -5
- package/templates/codex/skills/tink-core/RULES.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,11 @@ All notable changes to Tink are tracked here.
|
|
|
6
6
|
|
|
7
7
|
- Added a geobench product spec and runbook for measuring Tink's LLM answer visibility with hit rate, MRR, share of voice, and citation metrics. The runbook keeps benchmark execution separate from this repo and says to publish aggregate metrics only.
|
|
8
8
|
|
|
9
|
+
## [1.15.4] - 2026-06-24
|
|
10
|
+
|
|
11
|
+
- Deep mode interview: round indicator no longer shows `/10` as a fixed denominator; bar fills relative to the 10-round maximum. Indicator is omitted entirely when no questions are asked. Actual round count is shown on the final spec line.
|
|
12
|
+
- Deep mode Round 0 renamed from "Topology lock" to "구성 파악"; component list now uses emojis for readability.
|
|
13
|
+
|
|
9
14
|
## [1.15.3] - 2026-06-24
|
|
10
15
|
|
|
11
16
|
- Fixed `$tink:cast` with no argument in Codex showing a task prompt instead of mode descriptions. Codex now displays the current mode and all three mode descriptions directly, matching Claude Code behavior.
|
package/README.ko.md
CHANGED
|
@@ -10,7 +10,7 @@ Tink는 사소하지 않은 모든 에이전트 작업을 눈에 보이는 파
|
|
|
10
10
|
|
|
11
11
|
<sub>Claude Code와 Codex를 위한 작은 하네스 레이어</sub>
|
|
12
12
|
|
|
13
|
-
**최신 패키지:** v1.15.
|
|
13
|
+
**최신 패키지:** v1.15.4 — deep 모드 인터뷰 UX 개선: 라운드 표시 적응형 전환, 구성 요소 이모지 표기, 질문 없을 때 표시 생략. 전체 변경 이력은 [CHANGELOG](CHANGELOG.md)를 확인하세요.
|
|
14
14
|
|
|
15
15
|
[English](README.md) · **한국어** · [변경 이력](CHANGELOG.md)
|
|
16
16
|
|
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<a href="https://github.com/dotoricode/tink-harness/stargazers"><img src="https://img.shields.io/github/stars/dotoricode/tink-harness?style=social" alt="GitHub stars"></a>
|
|
25
25
|
</p>
|
|
26
26
|
|
|
27
|
-
<p><strong>Latest package:</strong> v1.15.
|
|
27
|
+
<p><strong>Latest package:</strong> v1.15.4 - Deep mode interview UX improvements: adaptive round indicator, emoji component list, omit indicator when no questions asked. See <a href="CHANGELOG.md">CHANGELOG</a> for release history.</p>
|
|
28
28
|
|
|
29
29
|
**English** · [한국어](README.ko.md) · [Changelog](CHANGELOG.md)
|
|
30
30
|
|
package/VERSIONING.md
CHANGED
package/commands/cast.md
CHANGED
|
@@ -134,14 +134,20 @@ Do not record a clean Stitch pass.
|
|
|
134
134
|
## Deep mode
|
|
135
135
|
When `cast_mode` is `deep`, run a structured interview before the normal Procedure. The interview refines the task into a spec that feeds harness selection.
|
|
136
136
|
|
|
137
|
-
**Round 0 —
|
|
138
|
-
Before asking any questions, present the high-level components Claude infers from the request and visible codebase context. Ask the user to confirm, add, remove, or merge components. This prevents deep focus on one component from obscuring others.
|
|
137
|
+
**Round 0 — 구성 파악** (not counted in progress)
|
|
138
|
+
Before asking any questions, present the high-level components Claude infers from the request and visible codebase context. Use emojis to separate components and improve readability — e.g. one emoji per component line (🖥️ 🔗 ⚡ 🚫 📂 🔄). Ask the user to confirm, add, remove, or merge components. This prevents deep focus on one component from obscuring others.
|
|
139
139
|
|
|
140
140
|
**Interview loop — Rounds 1–10**
|
|
141
|
-
Show a progress indicator at the start of each question:
|
|
141
|
+
Show a progress indicator at the start of each question. Do not show `/10` as a fixed denominator — the actual number of rounds is not known upfront:
|
|
142
142
|
|
|
143
143
|
```
|
|
144
|
-
[Round N
|
|
144
|
+
[Round N ██░░░░░░░░]
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
The bar fills N/10 cells to show relative progress toward the maximum. Only show the indicator when an actual question is asked — if the interview produces no questions (task is already clear after Round 0), omit the indicator entirely. When the interview ends early, replace the indicator with the actual count on the final spec line:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
[인터뷰 완료 · N라운드] (English: [Interview done · N rounds])
|
|
145
151
|
```
|
|
146
152
|
|
|
147
153
|
Rules:
|
|
@@ -159,7 +165,7 @@ Rules:
|
|
|
159
165
|
- When those are also resolved → shift to Simplifier mode: "What is the smallest version that still has meaningful value?"
|
|
160
166
|
|
|
161
167
|
**Spec → plan.md → harness selection**
|
|
162
|
-
When the interview ends, write `.tink/current/plan.md` with these top-level sections: Goal,
|
|
168
|
+
When the interview ends, write `.tink/current/plan.md` with these top-level sections: Goal, 구성 요소, Constraints, Success Criteria, Open Questions.
|
|
163
169
|
|
|
164
170
|
Then proceed to the normal Procedure starting at step 3 (read harness index). Use the spec as the harness selection input instead of the raw task request. Stitch Phase A runs after harness selection as normal. Phase B is skipped.
|
|
165
171
|
|
package/package.json
CHANGED
|
@@ -134,14 +134,20 @@ Do not record a clean Stitch pass.
|
|
|
134
134
|
## Deep mode
|
|
135
135
|
When `cast_mode` is `deep`, run a structured interview before the normal Procedure. The interview refines the task into a spec that feeds harness selection.
|
|
136
136
|
|
|
137
|
-
**Round 0 —
|
|
138
|
-
Before asking any questions, present the high-level components Claude infers from the request and visible codebase context. Ask the user to confirm, add, remove, or merge components. This prevents deep focus on one component from obscuring others.
|
|
137
|
+
**Round 0 — 구성 파악** (not counted in progress)
|
|
138
|
+
Before asking any questions, present the high-level components Claude infers from the request and visible codebase context. Use emojis to separate components and improve readability — e.g. one emoji per component line (🖥️ 🔗 ⚡ 🚫 📂 🔄). Ask the user to confirm, add, remove, or merge components. This prevents deep focus on one component from obscuring others.
|
|
139
139
|
|
|
140
140
|
**Interview loop — Rounds 1–10**
|
|
141
|
-
Show a progress indicator at the start of each question:
|
|
141
|
+
Show a progress indicator at the start of each question. Do not show `/10` as a fixed denominator — the actual number of rounds is not known upfront:
|
|
142
142
|
|
|
143
143
|
```
|
|
144
|
-
[Round N
|
|
144
|
+
[Round N ██░░░░░░░░]
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
The bar fills N/10 cells to show relative progress toward the maximum. Only show the indicator when an actual question is asked — if the interview produces no questions (task is already clear after Round 0), omit the indicator entirely. When the interview ends early, replace the indicator with the actual count on the final spec line:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
[인터뷰 완료 · N라운드] (English: [Interview done · N rounds])
|
|
145
151
|
```
|
|
146
152
|
|
|
147
153
|
Rules:
|
|
@@ -159,7 +165,7 @@ Rules:
|
|
|
159
165
|
- When those are also resolved → shift to Simplifier mode: "What is the smallest version that still has meaningful value?"
|
|
160
166
|
|
|
161
167
|
**Spec → plan.md → harness selection**
|
|
162
|
-
When the interview ends, write `.tink/current/plan.md` with these top-level sections: Goal,
|
|
168
|
+
When the interview ends, write `.tink/current/plan.md` with these top-level sections: Goal, 구성 요소, Constraints, Success Criteria, Open Questions.
|
|
163
169
|
|
|
164
170
|
Then proceed to the normal Procedure starting at step 3 (read harness index). Use the spec as the harness selection input instead of the raw task request. Stitch Phase A runs after harness selection as normal. Phase B is skipped.
|
|
165
171
|
|
|
@@ -44,7 +44,7 @@ Accept legacy `$tink <action>` spelling for compatibility, but present `$tink:<a
|
|
|
44
44
|
24. If a check fails, update `.tink/current/notes.md`, state the failure, last safe point, and next single action. Append compact friction to `.tink/maintenance/friction.jsonl` when it exists. Feed repeated failures to `$tink:weave`.
|
|
45
45
|
25. Keep context compact. Do not paste raw logs or full diffs.
|
|
46
46
|
26. Use calm, clear, concise language. Prefer plain everyday words over technical terms. No jokes.
|
|
47
|
-
27. Read `cast_mode` from `.tink/config.json` before classifying the task. If `quick`, force Lane 1 (instant start) unless a hard-gate signal is present. If `deep`, run the structured interview before harness selection: (Round 0) present inferred
|
|
47
|
+
27. Read `cast_mode` from `.tink/config.json` before classifying the task. If `quick`, force Lane 1 (instant start) unless a hard-gate signal is present. If `deep`, run the structured interview before harness selection: (Round 0) present inferred components as a structured list with one emoji per component line for readability (🖥️ 🔗 ⚡ 🚫 📂 🔄 etc.) and confirm with the user; (Rounds 1–10 max) ask one question per round targeting the weakest clarity dimension — goal (0.35 weight), constraint (0.25), success criteria (0.25), context (0.15) — investigate brownfield code before asking, do not ask what is already visible; show `[Round N ██░░░░░░░░]` (no `/10` — actual round count is not known upfront; bar fills N/10 cells) only when a question is actually asked — omit the indicator entirely if the task is clear after Round 0 and no questions are needed; when ending early, show `[인터뷰 완료 · N라운드]` on the final spec line; allow early exit from Round 3+; shift to Contrarian questioning when goal and constraint are clear, then Simplifier when those resolve; end by writing Goal, Topology, Constraints, Success Criteria, Open Questions to `.tink/current/plan.md`, then proceed to harness selection with Stitch Phase A only. If `$tink:cast` is invoked with no task argument, show the current `cast_mode` value and one-line descriptions of all three modes (quick / standard / deep) and stop — do not ask for a task. To change the mode, run `$tink:cast <mode>`; that sets `cast_mode` in `.tink/config.json` and confirms with a single line, no other output.
|
|
48
48
|
|
|
49
49
|
## Codex Approval Protocol
|
|
50
50
|
|