tink-harness 1.9.12 → 1.9.13

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tink",
3
3
  "description": "A small harness layer for Claude Code and Codex.",
4
- "version": "1.9.12",
4
+ "version": "1.9.13",
5
5
  "author": {
6
6
  "name": "dotori"
7
7
  }
package/CHANGELOG.md CHANGED
@@ -6,6 +6,16 @@ All notable changes to Tink are tracked here.
6
6
 
7
7
  No unreleased changes yet.
8
8
 
9
+ ## [1.9.13] - 2026-06-11
10
+
11
+ ### Fixed
12
+
13
+ - `npx tink-harness update` now always refreshes `.tink/tools/` (the lifecycle generator and health-report renderer). Previously stale tools were preserved as "user-modified", so updated installs kept rendering the old dashboard. Run `update` again on affected machines to pick up the current tools.
14
+
15
+ ### Changed
16
+
17
+ - `/tink:update` docs and the update summary now list `.tink/tools/` in the always-updated category; added a regression test that a stale tool file is overwritten by `update`.
18
+
9
19
  ## [1.9.12] - 2026-06-11
10
20
 
11
21
  ### Changed
package/README.ko.md CHANGED
@@ -8,7 +8,7 @@ Claude Code와 Codex를 위한 작은 하네스 레이어입니다.
8
8
 
9
9
  Tink는 지금 작업에 맞는 하네스를 고르고, 실행 상태를 보이게 만들고, 실제 사용 중 생긴 실패와 피드백으로 하네스 세트를 개선합니다.
10
10
 
11
- **최신 패키지:** v1.9.12 — 로컬 건강 리포트가 탭형 대시보드로 바뀌었습니다. 3D 하네스 지도, 쉬운 말 건강 요약, Claude Code와 Codex 양쪽 복사-붙여넣기 명령이 포함된 다음 행동 제안을 제공합니다. 전체 변경 이력은 [CHANGELOG](CHANGELOG.md)를 확인하세요.
11
+ **최신 패키지:** v1.9.13 — 로컬 건강 리포트가 탭형 대시보드로 바뀌었습니다. 3D 하네스 지도, 쉬운 말 건강 요약, Claude Code와 Codex 양쪽 복사-붙여넣기 명령이 포함된 다음 행동 제안을 제공합니다. 전체 변경 이력은 [CHANGELOG](CHANGELOG.md)를 확인하세요.
12
12
 
13
13
  [English](README.md) · **한국어** · [변경 이력](CHANGELOG.md)
14
14
 
package/README.md CHANGED
@@ -17,14 +17,14 @@
17
17
  </p>
18
18
 
19
19
  <p>
20
- <a href="https://github.com/dotoricode/tink-harness/releases/tag/v1.9.12"><img src="https://img.shields.io/github/v/release/dotoricode/tink-harness?label=release&color=2ea44f" alt="GitHub release"></a>
20
+ <a href="https://github.com/dotoricode/tink-harness/releases/tag/v1.9.13"><img src="https://img.shields.io/github/v/release/dotoricode/tink-harness?label=release&color=2ea44f" alt="GitHub release"></a>
21
21
  <a href="https://www.npmjs.com/package/tink-harness"><img src="https://img.shields.io/npm/v/tink-harness?label=npm&color=cb3837" alt="npm version"></a>
22
22
  <a href="https://github.com/dotoricode/tink-harness/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/dotoricode/tink-harness/ci.yml?branch=main&label=ci" alt="CI"></a>
23
23
  <a href="https://github.com/dotoricode/tink-harness/blob/main/LICENSE"><img src="https://img.shields.io/github/license/dotoricode/tink-harness" alt="License"></a>
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.9.12 - The local health report is now a tabbed dashboard with a 3D harness map, plain-language health summaries, and next-action suggestions with copy-paste commands for both Claude Code and Codex. See <a href="CHANGELOG.md">CHANGELOG</a> for release history.</p>
27
+ <p><strong>Latest package:</strong> v1.9.13 - The local health report is now a tabbed dashboard with a 3D harness map, plain-language health summaries, and next-action suggestions with copy-paste commands for both Claude Code and Codex. 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
@@ -1,6 +1,6 @@
1
1
  # Versioning
2
2
 
3
- Current version: `1.9.12`
3
+ Current version: `1.9.13`
4
4
 
5
5
  Tink follows semver from `1.0.0` onward.
6
6
 
package/bin/install.js CHANGED
@@ -388,7 +388,8 @@ function isAlwaysUpdatePath(src) {
388
388
  return rel.startsWith('templates/claude/commands/') ||
389
389
  rel.startsWith('templates/claude/skills/') ||
390
390
  rel.startsWith('templates/codex/skills/') ||
391
- rel.startsWith('templates/tink/maintenance/');
391
+ rel.startsWith('templates/tink/maintenance/') ||
392
+ rel.startsWith('templates/tink/tools/');
392
393
  }
393
394
 
394
395
  function isGeneratedLegacyRuleGraph(src, dest) {
@@ -1,86 +1,86 @@
1
- ---
2
- description: Detect install source, diagnose user-modified files, and show the safe update command.
3
- ---
4
-
5
- # /tink:update
6
-
7
- Tink를 최신 버전으로 안전하게 업데이트하는 방법을 안내합니다.
8
-
9
- ## What this command does
10
- This command does not run the update itself. It detects how Tink was installed in this project, diagnoses whether any user-modified files are at risk, and shows the correct command to run.
11
-
12
- ## Procedure
13
- 1. **Source-repo guard (first):** If the project root contains all of `templates/tink/`, `bin/install.js`, and a `package.json` whose `name` is `"tink-harness"`, this is the tink-harness source repository itself — not a consumer install. Skip the rest of the procedure and emit the "source repo" output (see below). Do not show plugin or npx update commands in this case.
14
- 2. Detect install source:
15
- - If the project root (or `cwd`) has `.claude-plugin/plugin.json` and a top-level `commands/` directory, Tink was installed via Claude Code plugin marketplace.
16
- - Otherwise, treat it as an `npx tink-harness install` (standalone) installation.
17
- 3. Scan for files that have diverged from the latest installed templates (read-only inspection only):
18
- - **Always updated**: `.claude/commands/tink/`, `.claude/skills/tink/`, `.tink/maintenance/` — template changes always propagate here.
19
- - **Preserved if user-modified**: `.tink/harnesses/`, `.tink/hooks/`, `.tink/memory/`, `.tink/config.json` — respects `weave` customizations and local configuration.
20
- 4. Show the appropriate update path and a short list of files in the "preserved" category that have diverged.
21
-
22
- ## Update path: Claude Code plugin
23
- ```text
24
- /plugin marketplace update tink-harness
25
- /plugin update tink@tink-harness
26
- /reload-plugins
27
- ```
28
- If update is not detected, uninstall and reinstall:
29
- ```text
30
- /plugin uninstall tink@tink-harness
31
- /plugin install tink@tink-harness
32
- ```
33
- The plugin path is handled by Claude Code and does not touch the local `.tink/` directory.
34
-
35
- ## Update path: npx (standalone)
36
- ```text
37
- npx tink-harness@latest update
38
- ```
39
-
40
- The `update` subcommand:
41
- - **Always overwrites**: commands, skills, and maintenance files (`.claude/commands/tink/`, `.claude/skills/tink/`, `.tink/maintenance/`) — so you get the latest harness runner and command behavior automatically.
42
- - **Preserves if modified**: harnesses, hooks, memory, and config (`.tink/harnesses/`, `.tink/hooks/`, `.tink/memory/`, `.tink/config.json`) — respects your `weave` customizations and local settings.
43
-
44
- ## Output format (source repo)
45
-
46
- If the source-repo guard triggers, print only this and stop — do not present plugin or npx commands:
47
-
48
- ```text
49
- ### 🧶 Tink 업데이트 안내
50
-
51
- 이 디렉토리는 tink-harness **소스 리포지토리**입니다. 일반 사용자 업데이트 대상이 아니에요.
52
-
53
- - 개발 변경 반영: `git pull` 후 일반적인 빌드/테스트 흐름을 사용하세요.
54
- - 사용자 환경에서 업데이트 흐름을 검증하려면 별도의 프로젝트 디렉토리에서 이 명령을 실행하세요.
55
- ```
56
-
57
- ## Output format
58
-
59
- ```text
60
- ### 🧶 Tink 업데이트 안내
61
-
62
- **설치 경로**: <plugin marketplace | npx standalone>
63
-
64
- **항상 업데이트됨**: commands, skills, maintenance (최신 버전으로 자동 반영)
65
-
66
- **사용자 수정 파일** (업데이트 시 보존):
67
- - <path1>
68
- - <path2>
69
- - (보존할 파일 없음)
70
-
71
- **업데이트 명령**:
72
- <command lines>
73
-
74
- ? 어떻게 할까요?
75
- 1. 위 명령 복사해서 직접 실행
76
- 2. 변경 사항 미리 보기 (`npx tink-harness update --dry-run`) ← npx standalone에서만 표시
77
- 3. 취소
78
- ```
79
-
80
- Use `AskUserQuestion`. Show option 2 (dry-run) **only on the npx standalone path** — Claude Code plugin updates have no dry-run equivalent. So: plugin path → 2 options (run / cancel); npx path → 3 options (run / dry-run / cancel).
81
-
82
- ## Do not
83
- - Do not actually run the update command — show it for the user to run in their shell or Claude Code.
84
- - Do not modify `.tink/` files during diagnosis.
85
- - Do not bypass the user choice; always offer cancel.
86
- - Do not present plugin or npx update commands when the source-repo guard triggers — the user is editing tink-harness itself and would get misleading instructions.
1
+ ---
2
+ description: Detect install source, diagnose user-modified files, and show the safe update command.
3
+ ---
4
+
5
+ # /tink:update
6
+
7
+ Tink를 최신 버전으로 안전하게 업데이트하는 방법을 안내합니다.
8
+
9
+ ## What this command does
10
+ This command does not run the update itself. It detects how Tink was installed in this project, diagnoses whether any user-modified files are at risk, and shows the correct command to run.
11
+
12
+ ## Procedure
13
+ 1. **Source-repo guard (first):** If the project root contains all of `templates/tink/`, `bin/install.js`, and a `package.json` whose `name` is `"tink-harness"`, this is the tink-harness source repository itself — not a consumer install. Skip the rest of the procedure and emit the "source repo" output (see below). Do not show plugin or npx update commands in this case.
14
+ 2. Detect install source:
15
+ - If the project root (or `cwd`) has `.claude-plugin/plugin.json` and a top-level `commands/` directory, Tink was installed via Claude Code plugin marketplace.
16
+ - Otherwise, treat it as an `npx tink-harness install` (standalone) installation.
17
+ 3. Scan for files that have diverged from the latest installed templates (read-only inspection only):
18
+ - **Always updated**: `.claude/commands/tink/`, `.claude/skills/tink/`, `.tink/maintenance/`, `.tink/tools/` — template changes always propagate here.
19
+ - **Preserved if user-modified**: `.tink/harnesses/`, `.tink/hooks/`, `.tink/memory/`, `.tink/config.json` — respects `weave` customizations and local configuration.
20
+ 4. Show the appropriate update path and a short list of files in the "preserved" category that have diverged.
21
+
22
+ ## Update path: Claude Code plugin
23
+ ```text
24
+ /plugin marketplace update tink-harness
25
+ /plugin update tink@tink-harness
26
+ /reload-plugins
27
+ ```
28
+ If update is not detected, uninstall and reinstall:
29
+ ```text
30
+ /plugin uninstall tink@tink-harness
31
+ /plugin install tink@tink-harness
32
+ ```
33
+ The plugin path is handled by Claude Code and does not touch the local `.tink/` directory.
34
+
35
+ ## Update path: npx (standalone)
36
+ ```text
37
+ npx tink-harness@latest update
38
+ ```
39
+
40
+ The `update` subcommand:
41
+ - **Always overwrites**: commands, skills, maintenance, and runtime tools (`.claude/commands/tink/`, `.claude/skills/tink/`, `.tink/maintenance/`, `.tink/tools/`) — so you get the latest harness runner, report tools, and command behavior automatically.
42
+ - **Preserves if modified**: harnesses, hooks, memory, and config (`.tink/harnesses/`, `.tink/hooks/`, `.tink/memory/`, `.tink/config.json`) — respects your `weave` customizations and local settings.
43
+
44
+ ## Output format (source repo)
45
+
46
+ If the source-repo guard triggers, print only this and stop — do not present plugin or npx commands:
47
+
48
+ ```text
49
+ ### 🧶 Tink 업데이트 안내
50
+
51
+ 이 디렉토리는 tink-harness **소스 리포지토리**입니다. 일반 사용자 업데이트 대상이 아니에요.
52
+
53
+ - 개발 변경 반영: `git pull` 후 일반적인 빌드/테스트 흐름을 사용하세요.
54
+ - 사용자 환경에서 업데이트 흐름을 검증하려면 별도의 프로젝트 디렉토리에서 이 명령을 실행하세요.
55
+ ```
56
+
57
+ ## Output format
58
+
59
+ ```text
60
+ ### 🧶 Tink 업데이트 안내
61
+
62
+ **설치 경로**: <plugin marketplace | npx standalone>
63
+
64
+ **항상 업데이트됨**: commands, skills, maintenance, tools (최신 버전으로 자동 반영)
65
+
66
+ **사용자 수정 파일** (업데이트 시 보존):
67
+ - <path1>
68
+ - <path2>
69
+ - (보존할 파일 없음)
70
+
71
+ **업데이트 명령**:
72
+ <command lines>
73
+
74
+ ? 어떻게 할까요?
75
+ 1. 위 명령 복사해서 직접 실행
76
+ 2. 변경 사항 미리 보기 (`npx tink-harness update --dry-run`) ← npx standalone에서만 표시
77
+ 3. 취소
78
+ ```
79
+
80
+ Use `AskUserQuestion`. Show option 2 (dry-run) **only on the npx standalone path** — Claude Code plugin updates have no dry-run equivalent. So: plugin path → 2 options (run / cancel); npx path → 3 options (run / dry-run / cancel).
81
+
82
+ ## Do not
83
+ - Do not actually run the update command — show it for the user to run in their shell or Claude Code.
84
+ - Do not modify `.tink/` files during diagnosis.
85
+ - Do not bypass the user choice; always offer cancel.
86
+ - Do not present plugin or npx update commands when the source-repo guard triggers — the user is editing tink-harness itself and would get misleading instructions.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tink-harness",
3
- "version": "1.9.12",
3
+ "version": "1.9.13",
4
4
  "description": "Self-growing harnesses for Claude Code and Codex.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,86 +1,86 @@
1
- ---
2
- description: Detect install source, diagnose user-modified files, and show the safe update command.
3
- ---
4
-
5
- # /tink:update
6
-
7
- Tink를 최신 버전으로 안전하게 업데이트하는 방법을 안내합니다.
8
-
9
- ## What this command does
10
- This command does not run the update itself. It detects how Tink was installed in this project, diagnoses whether any user-modified files are at risk, and shows the correct command to run.
11
-
12
- ## Procedure
13
- 1. **Source-repo guard (first):** If the project root contains all of `templates/tink/`, `bin/install.js`, and a `package.json` whose `name` is `"tink-harness"`, this is the tink-harness source repository itself — not a consumer install. Skip the rest of the procedure and emit the "source repo" output (see below). Do not show plugin or npx update commands in this case.
14
- 2. Detect install source:
15
- - If the project root (or `cwd`) has `.claude-plugin/plugin.json` and a top-level `commands/` directory, Tink was installed via Claude Code plugin marketplace.
16
- - Otherwise, treat it as an `npx tink-harness install` (standalone) installation.
17
- 3. Scan for files that have diverged from the latest installed templates (read-only inspection only):
18
- - **Always updated**: `.claude/commands/tink/`, `.claude/skills/tink/`, `.tink/maintenance/` — template changes always propagate here.
19
- - **Preserved if user-modified**: `.tink/harnesses/`, `.tink/hooks/`, `.tink/memory/`, `.tink/config.json` — respects `weave` customizations and local configuration.
20
- 4. Show the appropriate update path and a short list of files in the "preserved" category that have diverged.
21
-
22
- ## Update path: Claude Code plugin
23
- ```text
24
- /plugin marketplace update tink-harness
25
- /plugin update tink@tink-harness
26
- /reload-plugins
27
- ```
28
- If update is not detected, uninstall and reinstall:
29
- ```text
30
- /plugin uninstall tink@tink-harness
31
- /plugin install tink@tink-harness
32
- ```
33
- The plugin path is handled by Claude Code and does not touch the local `.tink/` directory.
34
-
35
- ## Update path: npx (standalone)
36
- ```text
37
- npx tink-harness@latest update
38
- ```
39
-
40
- The `update` subcommand:
41
- - **Always overwrites**: commands, skills, and maintenance files (`.claude/commands/tink/`, `.claude/skills/tink/`, `.tink/maintenance/`) — so you get the latest harness runner and command behavior automatically.
42
- - **Preserves if modified**: harnesses, hooks, memory, and config (`.tink/harnesses/`, `.tink/hooks/`, `.tink/memory/`, `.tink/config.json`) — respects your `weave` customizations and local settings.
43
-
44
- ## Output format (source repo)
45
-
46
- If the source-repo guard triggers, print only this and stop — do not present plugin or npx commands:
47
-
48
- ```text
49
- ### 🧶 Tink 업데이트 안내
50
-
51
- 이 디렉토리는 tink-harness **소스 리포지토리**입니다. 일반 사용자 업데이트 대상이 아니에요.
52
-
53
- - 개발 변경 반영: `git pull` 후 일반적인 빌드/테스트 흐름을 사용하세요.
54
- - 사용자 환경에서 업데이트 흐름을 검증하려면 별도의 프로젝트 디렉토리에서 이 명령을 실행하세요.
55
- ```
56
-
57
- ## Output format
58
-
59
- ```text
60
- ### 🧶 Tink 업데이트 안내
61
-
62
- **설치 경로**: <plugin marketplace | npx standalone>
63
-
64
- **항상 업데이트됨**: commands, skills, maintenance (최신 버전으로 자동 반영)
65
-
66
- **사용자 수정 파일** (업데이트 시 보존):
67
- - <path1>
68
- - <path2>
69
- - (보존할 파일 없음)
70
-
71
- **업데이트 명령**:
72
- <command lines>
73
-
74
- ? 어떻게 할까요?
75
- 1. 위 명령 복사해서 직접 실행
76
- 2. 변경 사항 미리 보기 (`npx tink-harness update --dry-run`) ← npx standalone에서만 표시
77
- 3. 취소
78
- ```
79
-
80
- Use `AskUserQuestion`. Show option 2 (dry-run) **only on the npx standalone path** — Claude Code plugin updates have no dry-run equivalent. So: plugin path → 2 options (run / cancel); npx path → 3 options (run / dry-run / cancel).
81
-
82
- ## Do not
83
- - Do not actually run the update command — show it for the user to run in their shell or Claude Code.
84
- - Do not modify `.tink/` files during diagnosis.
85
- - Do not bypass the user choice; always offer cancel.
86
- - Do not present plugin or npx update commands when the source-repo guard triggers — the user is editing tink-harness itself and would get misleading instructions.
1
+ ---
2
+ description: Detect install source, diagnose user-modified files, and show the safe update command.
3
+ ---
4
+
5
+ # /tink:update
6
+
7
+ Tink를 최신 버전으로 안전하게 업데이트하는 방법을 안내합니다.
8
+
9
+ ## What this command does
10
+ This command does not run the update itself. It detects how Tink was installed in this project, diagnoses whether any user-modified files are at risk, and shows the correct command to run.
11
+
12
+ ## Procedure
13
+ 1. **Source-repo guard (first):** If the project root contains all of `templates/tink/`, `bin/install.js`, and a `package.json` whose `name` is `"tink-harness"`, this is the tink-harness source repository itself — not a consumer install. Skip the rest of the procedure and emit the "source repo" output (see below). Do not show plugin or npx update commands in this case.
14
+ 2. Detect install source:
15
+ - If the project root (or `cwd`) has `.claude-plugin/plugin.json` and a top-level `commands/` directory, Tink was installed via Claude Code plugin marketplace.
16
+ - Otherwise, treat it as an `npx tink-harness install` (standalone) installation.
17
+ 3. Scan for files that have diverged from the latest installed templates (read-only inspection only):
18
+ - **Always updated**: `.claude/commands/tink/`, `.claude/skills/tink/`, `.tink/maintenance/`, `.tink/tools/` — template changes always propagate here.
19
+ - **Preserved if user-modified**: `.tink/harnesses/`, `.tink/hooks/`, `.tink/memory/`, `.tink/config.json` — respects `weave` customizations and local configuration.
20
+ 4. Show the appropriate update path and a short list of files in the "preserved" category that have diverged.
21
+
22
+ ## Update path: Claude Code plugin
23
+ ```text
24
+ /plugin marketplace update tink-harness
25
+ /plugin update tink@tink-harness
26
+ /reload-plugins
27
+ ```
28
+ If update is not detected, uninstall and reinstall:
29
+ ```text
30
+ /plugin uninstall tink@tink-harness
31
+ /plugin install tink@tink-harness
32
+ ```
33
+ The plugin path is handled by Claude Code and does not touch the local `.tink/` directory.
34
+
35
+ ## Update path: npx (standalone)
36
+ ```text
37
+ npx tink-harness@latest update
38
+ ```
39
+
40
+ The `update` subcommand:
41
+ - **Always overwrites**: commands, skills, maintenance, and runtime tools (`.claude/commands/tink/`, `.claude/skills/tink/`, `.tink/maintenance/`, `.tink/tools/`) — so you get the latest harness runner, report tools, and command behavior automatically.
42
+ - **Preserves if modified**: harnesses, hooks, memory, and config (`.tink/harnesses/`, `.tink/hooks/`, `.tink/memory/`, `.tink/config.json`) — respects your `weave` customizations and local settings.
43
+
44
+ ## Output format (source repo)
45
+
46
+ If the source-repo guard triggers, print only this and stop — do not present plugin or npx commands:
47
+
48
+ ```text
49
+ ### 🧶 Tink 업데이트 안내
50
+
51
+ 이 디렉토리는 tink-harness **소스 리포지토리**입니다. 일반 사용자 업데이트 대상이 아니에요.
52
+
53
+ - 개발 변경 반영: `git pull` 후 일반적인 빌드/테스트 흐름을 사용하세요.
54
+ - 사용자 환경에서 업데이트 흐름을 검증하려면 별도의 프로젝트 디렉토리에서 이 명령을 실행하세요.
55
+ ```
56
+
57
+ ## Output format
58
+
59
+ ```text
60
+ ### 🧶 Tink 업데이트 안내
61
+
62
+ **설치 경로**: <plugin marketplace | npx standalone>
63
+
64
+ **항상 업데이트됨**: commands, skills, maintenance, tools (최신 버전으로 자동 반영)
65
+
66
+ **사용자 수정 파일** (업데이트 시 보존):
67
+ - <path1>
68
+ - <path2>
69
+ - (보존할 파일 없음)
70
+
71
+ **업데이트 명령**:
72
+ <command lines>
73
+
74
+ ? 어떻게 할까요?
75
+ 1. 위 명령 복사해서 직접 실행
76
+ 2. 변경 사항 미리 보기 (`npx tink-harness update --dry-run`) ← npx standalone에서만 표시
77
+ 3. 취소
78
+ ```
79
+
80
+ Use `AskUserQuestion`. Show option 2 (dry-run) **only on the npx standalone path** — Claude Code plugin updates have no dry-run equivalent. So: plugin path → 2 options (run / cancel); npx path → 3 options (run / dry-run / cancel).
81
+
82
+ ## Do not
83
+ - Do not actually run the update command — show it for the user to run in their shell or Claude Code.
84
+ - Do not modify `.tink/` files during diagnosis.
85
+ - Do not bypass the user choice; always offer cancel.
86
+ - Do not present plugin or npx update commands when the source-repo guard triggers — the user is editing tink-harness itself and would get misleading instructions.