clew-code 0.2.4 → 0.2.5
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/README.md +264 -292
- package/dist/clew-dev.js +5118 -2840
- package/dist/main.js +2358 -2133
- package/docs/_config.yml +1 -1
- package/docs/architecture.html +145 -166
- package/docs/architecture.th.html +2 -23
- package/docs/commands.html +1 -22
- package/docs/commands.th.html +1 -22
- package/docs/configuration.html +145 -166
- package/docs/configuration.th.html +2 -23
- package/docs/css/styles.css +22 -0
- package/docs/daemon.html +128 -160
- package/docs/daemon.th.html +2 -30
- package/docs/features/bridge-mode.html +98 -98
- package/docs/features/bridge-mode.th.html +1 -1
- package/docs/features/evals.html +181 -181
- package/docs/features/evals.th.html +1 -1
- package/docs/features/searxng-search.html +150 -150
- package/docs/features/searxng-search.th.html +1 -1
- package/docs/features/sentry-setup.html +156 -156
- package/docs/features/sentry-setup.th.html +1 -1
- package/docs/index.html +298 -333
- package/docs/index.th.html +1 -36
- package/docs/installation.html +103 -124
- package/docs/installation.th.html +2 -23
- package/docs/internals/growthbook-ab-testing.html +112 -112
- package/docs/internals/growthbook-ab-testing.th.html +1 -1
- package/docs/internals/hidden-features.html +147 -147
- package/docs/internals/hidden-features.th.html +1 -1
- package/docs/js/main.js +78 -7
- package/docs/loop.html +180 -0
- package/docs/loop.th.html +226 -0
- package/docs/mcp.html +246 -157
- package/docs/mcp.th.html +156 -60
- package/docs/models.html +1 -22
- package/docs/models.th.html +1 -22
- package/docs/peer.html +235 -0
- package/docs/peer.th.html +279 -0
- package/docs/permission-model.html +101 -122
- package/docs/permission-model.th.html +2 -23
- package/docs/plugins.html +101 -122
- package/docs/plugins.th.html +2 -23
- package/docs/providers.html +117 -138
- package/docs/providers.th.html +2 -23
- package/docs/quick-start.html +92 -120
- package/docs/quick-start.th.html +1 -29
- package/docs/research-memory.html +79 -111
- package/docs/research-memory.th.html +2 -30
- package/docs/skills.html +116 -137
- package/docs/skills.th.html +2 -23
- package/docs/taste.html +96 -29
- package/docs/taste.th.html +193 -54
- package/docs/tools.html +169 -190
- package/docs/tools.th.html +2 -23
- package/docs/troubleshooting.html +105 -126
- package/docs/troubleshooting.th.html +2 -23
- package/package.json +2 -2
package/docs/skills.html
CHANGED
|
@@ -1,137 +1,116 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
-
<title>Skills — Clew</title>
|
|
7
|
-
<meta name="description" content="Reusable task instructions and workflows in Clew — create, use, and share skills across projects.">
|
|
8
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
-
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
11
|
-
<link rel="stylesheet" href="css/styles.css">
|
|
12
|
-
<link rel="icon" type="image/svg+xml" href="./assets/clew.svg">
|
|
13
|
-
</head>
|
|
14
|
-
<body>
|
|
15
|
-
<header class="header"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
</
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
<
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
<
|
|
48
|
-
<
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
<p>
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
<p>Skills can be discovered dynamically during file operations. When a skill file is created or modified, it's automatically added to the available command list without restarting. Use <code>clearCommandMemoizationCaches()</code> to refresh the skill index.</p>
|
|
118
|
-
|
|
119
|
-
<div class="callout callout-info">
|
|
120
|
-
<strong>Skills vs. Plugins</strong>
|
|
121
|
-
Skills are instruction-only (markdown), no code required. Plugins provide executable JavaScript — commands, hooks, agents, MCP servers. Use skills to standardize AI behavior; use plugins for custom tooling.
|
|
122
|
-
</div>
|
|
123
|
-
|
|
124
|
-
<footer class="footer">
|
|
125
|
-
<span>Clew v0.1.2 — Open Source</span>
|
|
126
|
-
<div class="footer-links">
|
|
127
|
-
<a href="https://github.com/JonusNattapong/ClewCode">GitHub</a>
|
|
128
|
-
<a href="https://github.com/JonusNattapong/ClewCode/issues">Issues</a>
|
|
129
|
-
</div>
|
|
130
|
-
</footer>
|
|
131
|
-
</main>
|
|
132
|
-
<nav class="toc-sidebar"></nav>
|
|
133
|
-
</div>
|
|
134
|
-
</div>
|
|
135
|
-
<script src="js/main.js"></script>
|
|
136
|
-
</body>
|
|
137
|
-
</html>
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Skills — Clew</title>
|
|
7
|
+
<meta name="description" content="Reusable task instructions and workflows in Clew — create, use, and share skills across projects.">
|
|
8
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
+
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
11
|
+
<link rel="stylesheet" href="css/styles.css">
|
|
12
|
+
<link rel="icon" type="image/svg+xml" href="./assets/clew.svg">
|
|
13
|
+
</head>
|
|
14
|
+
<body>
|
|
15
|
+
<header class="header"></header>
|
|
16
|
+
<div class="app"><aside class="sidebar" id="sidebar"></aside><div class="sidebar-overlay" id="sidebarOverlay"></div>
|
|
17
|
+
<div class="content-wrap"><main class="content">
|
|
18
|
+
<div class="breadcrumbs"><a href="index.html">Home</a><span class="sep">/</span><span>Skills</span></div>
|
|
19
|
+
<h1>Skills</h1>
|
|
20
|
+
<p class="section-subtitle">Skills are reusable prompt-type commands — markdown files that provide structured instructions to the AI model. They are loaded from bundled, user, project, and plugin directories.</p>
|
|
21
|
+
|
|
22
|
+
<h2>Overview</h2>
|
|
23
|
+
<p>Skills are commands of type <code>prompt</code> — they expand to text that is sent to the model. Unlike plugins (which provide JavaScript code), skills are purely instructional. They bridge the gap between ad-hoc prompts and full plugin development.</p>
|
|
24
|
+
|
|
25
|
+
<h2>Skill Locations</h2>
|
|
26
|
+
<p>Skills are loaded from four sources (order: bundled user project plugin):</p>
|
|
27
|
+
<table>
|
|
28
|
+
<tr><th>Source</th><th>Path</th><th>Scope</th></tr>
|
|
29
|
+
<tr><td>Bundled</td><td>Ships with Clew</td><td>All users</td></tr>
|
|
30
|
+
<tr><td>User</td><td><code>~/.claude/skills/<name>/SKILL.md</code></td><td>Personal</td></tr>
|
|
31
|
+
<tr><td>Project</td><td><code>.claude/skills/<name>/SKILL.md</code></td><td>Team (in-repo)</td></tr>
|
|
32
|
+
<tr><td>Plugin</td><td>Inside plugin directories</td><td>Plugin users</td></tr>
|
|
33
|
+
</table>
|
|
34
|
+
|
|
35
|
+
<h2>Skill Structure</h2>
|
|
36
|
+
<pre><code>my-skill/
|
|
37
|
+
SKILL.md # Skill instructions (required)
|
|
38
|
+
assets/ # Optional: scripts, references, examples</code></pre>
|
|
39
|
+
|
|
40
|
+
<p>The <code>SKILL.md</code> file uses frontmatter for metadata and markdown for instructions. Skills are registered as <code>prompt</code>-type commands and can be invoked by the model via the <code>SkillTool</code>.</p>
|
|
41
|
+
|
|
42
|
+
<h2>Managing Skills</h2>
|
|
43
|
+
<pre><code>/skill # List available skills or show skill details
|
|
44
|
+
/skills # List available skills
|
|
45
|
+
/skill-name # Invoke a specific skill directly</code></pre>
|
|
46
|
+
|
|
47
|
+
<h2>Skill Frontmatter</h2>
|
|
48
|
+
<p>Skills support YAML frontmatter for metadata and configuration:</p>
|
|
49
|
+
<pre><code>---
|
|
50
|
+
name: my-skill
|
|
51
|
+
description: Does focused text work
|
|
52
|
+
allowed-tools:
|
|
53
|
+
- Read
|
|
54
|
+
- Grep
|
|
55
|
+
disallowed-tools:
|
|
56
|
+
- Bash
|
|
57
|
+
- Edit
|
|
58
|
+
hooks:
|
|
59
|
+
PreToolUse:
|
|
60
|
+
- matcher: Bash
|
|
61
|
+
hooks:
|
|
62
|
+
- type: command
|
|
63
|
+
command: echo "About to run bash"
|
|
64
|
+
model: claude-sonnet-4-6
|
|
65
|
+
effort: high
|
|
66
|
+
user-invocable: true
|
|
67
|
+
context: fork
|
|
68
|
+
---</code></pre>
|
|
69
|
+
<p>Key frontmatter fields:</p>
|
|
70
|
+
<ul>
|
|
71
|
+
<li><code>allowed-tools</code> — Restrict which tools the model can use while this skill is active</li>
|
|
72
|
+
<li><code>disallowed-tools</code> — Explicitly block tools (e.g., <code>Bash</code>, <code>Edit</code>) for read-only skills</li>
|
|
73
|
+
<li><code>hooks</code> — Register PreToolUse, PostToolUse, or MessageDisplay hooks for the skill</li>
|
|
74
|
+
<li><code>model</code> — Override the model used when this skill runs</li>
|
|
75
|
+
<li><code>effort</code> — Set effort level (low, medium, high, xhigh, max)</li>
|
|
76
|
+
<li><code>context</code> — <code>inline</code> (default) expands into current conversation; <code>fork</code> runs as sub-agent</li>
|
|
77
|
+
</ul>
|
|
78
|
+
|
|
79
|
+
<h2>Creating a Skill</h2>
|
|
80
|
+
<pre><code>mkdir -p ~/.claude/skills/my-skill
|
|
81
|
+
touch ~/.claude/skills/my-skill/SKILL.md
|
|
82
|
+
# Edit SKILL.md with frontmatter and instructions</code></pre>
|
|
83
|
+
<p>Or use the <code>skillify</code> plugin to create a skill from an existing workflow.</p>
|
|
84
|
+
|
|
85
|
+
<h2>Project-Level Skills</h2>
|
|
86
|
+
<p>Place skills in <code>.claude/skills/</code> inside your repository to share with your team:</p>
|
|
87
|
+
<pre><code>.claude/
|
|
88
|
+
skills/
|
|
89
|
+
code-review/
|
|
90
|
+
SKILL.md
|
|
91
|
+
migration-workflow/
|
|
92
|
+
SKILL.md</code></pre>
|
|
93
|
+
<p>Project skills are automatically available to everyone working in the repository.</p>
|
|
94
|
+
|
|
95
|
+
<h2>Dynamic Skills</h2>
|
|
96
|
+
<p>Skills can be discovered dynamically during file operations. When a skill file is created or modified, it's automatically added to the available command list without restarting. Use <code>clearCommandMemoizationCaches()</code> to refresh the skill index.</p>
|
|
97
|
+
|
|
98
|
+
<div class="callout callout-info">
|
|
99
|
+
<strong>Skills vs. Plugins</strong>
|
|
100
|
+
Skills are instruction-only (markdown), no code required. Plugins provide executable JavaScript — commands, hooks, agents, MCP servers. Use skills to standardize AI behavior; use plugins for custom tooling.
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<footer class="footer">
|
|
104
|
+
<span>Clew Code v0.2.4 — Open Source</span>
|
|
105
|
+
<div class="footer-links">
|
|
106
|
+
<a href="https://github.com/JonusNattapong/ClewCode">GitHub</a>
|
|
107
|
+
<a href="https://github.com/JonusNattapong/ClewCode/issues">Issues</a>
|
|
108
|
+
</div>
|
|
109
|
+
</footer>
|
|
110
|
+
</main>
|
|
111
|
+
<nav class="toc-sidebar"></nav>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
<script src="js/main.js"></script>
|
|
115
|
+
</body>
|
|
116
|
+
</html>
|
package/docs/skills.th.html
CHANGED
|
@@ -12,28 +12,7 @@
|
|
|
12
12
|
<link rel="icon" type="image/svg+xml" href="./assets/clew.svg">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
|
15
|
-
<header class="header"
|
|
16
|
-
<span>Clew Code</span>
|
|
17
|
-
</a><nav class="header-nav"><a href="index.th.html">หน้าแรก</a><a href="index.th.html#features">ฟีเจอร์</a><a href="index.th.html#commands">คำสั่ง</a><a href="quick-start.th.html" class="active">เอกสาร</a><a href="https://github.com/JonusNattapong/ClewCode" target="_blank">GitHub</a>
|
|
18
|
-
<div class="lang-wrap">
|
|
19
|
-
<button class="lang-btn">🌐</button>
|
|
20
|
-
<div class="lang-menu">
|
|
21
|
-
<a href="../readme/README.zh.md">中文</a>
|
|
22
|
-
<a href="../readme/README.th.md">ไทย</a>
|
|
23
|
-
<a href="../readme/README.ja.md">日本語</a>
|
|
24
|
-
<a href="../readme/README.ko.md">한국어</a>
|
|
25
|
-
<a href="../readme/README.es.md">Español</a>
|
|
26
|
-
<a href="../readme/README.fr.md">Français</a>
|
|
27
|
-
<a href="../readme/README.de.md">Deutsch</a>
|
|
28
|
-
<a href="../readme/README.pt.md">Português</a>
|
|
29
|
-
<a href="../readme/README.vi.md">Tiếng Việt</a>
|
|
30
|
-
<a href="../readme/README.id.md">Bahasa Indonesia</a>
|
|
31
|
-
<a href="../readme/README.ru.md">Русский</a>
|
|
32
|
-
<a href="../readme/README.hi.md">हिन्दी</a>
|
|
33
|
-
<a href="skills.html">English</a>
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
</nav><button class="menu-btn" id="menuToggle" aria-label="เปิด/ปิดเมนู"><span></span><span></span><span></span></button></div></header>
|
|
15
|
+
<header class="header"></header>
|
|
37
16
|
<div class="app"><aside class="sidebar" id="sidebar"></aside><div class="sidebar-overlay" id="sidebarOverlay"></div>
|
|
38
17
|
<div class="content-wrap"><main class="content">
|
|
39
18
|
<div class="breadcrumbs"><a href="index.th.html">หน้าแรก</a><span class="sep">/</span><span>สกิล</span></div>
|
|
@@ -95,7 +74,7 @@ touch ~/.claude/skills/my-skill/SKILL.md
|
|
|
95
74
|
SKILL.md</code></pre>
|
|
96
75
|
|
|
97
76
|
<footer class="footer">
|
|
98
|
-
<span>Clew v0.
|
|
77
|
+
<span>Clew Code v0.2.4 — โอเพนซอร์ส</span>
|
|
99
78
|
<div class="footer-links">
|
|
100
79
|
<a href="https://github.com/JonusNattapong/ClewCode">GitHub</a>
|
|
101
80
|
<a href="https://github.com/JonusNattapong/ClewCode/issues">ปัญหา</a>
|
package/docs/taste.html
CHANGED
|
@@ -12,35 +12,7 @@
|
|
|
12
12
|
<link rel="icon" type="image/svg+xml" href="./assets/clew.svg">
|
|
13
13
|
</head>
|
|
14
14
|
<body>
|
|
15
|
-
<header class="header">
|
|
16
|
-
<div class="header-inner">
|
|
17
|
-
<a href="index.html" class="logo">
|
|
18
|
-
<span>Clew Code</span>
|
|
19
|
-
</a>
|
|
20
|
-
<nav class="header-nav">
|
|
21
|
-
<a href="index.html">Home</a><a href="index.html#features">Features</a><a href="index.html#commands">Commands</a><a href="quick-start.html" class="active">Docs</a><a href="https://github.com/JonusNattapong/ClewCode" target="_blank">GitHub</a>
|
|
22
|
-
<div class="lang-wrap">
|
|
23
|
-
<button class="lang-btn">🌐</button>
|
|
24
|
-
<div class="lang-menu">
|
|
25
|
-
<a href="../readme/README.zh.md">中文</a>
|
|
26
|
-
<a href="../readme/README.th.md">ไทย</a>
|
|
27
|
-
<a href="../readme/README.ja.md">日本語</a>
|
|
28
|
-
<a href="../readme/README.ko.md">한국어</a>
|
|
29
|
-
<a href="../readme/README.es.md">Español</a>
|
|
30
|
-
<a href="../readme/README.fr.md">Français</a>
|
|
31
|
-
<a href="../readme/README.de.md">Deutsch</a>
|
|
32
|
-
<a href="../readme/README.pt.md">Português</a>
|
|
33
|
-
<a href="../readme/README.vi.md">Tiếng Việt</a>
|
|
34
|
-
<a href="../readme/README.id.md">Bahasa Indonesia</a>
|
|
35
|
-
<a href="../readme/README.ru.md">Русский</a>
|
|
36
|
-
<a href="../readme/README.hi.md">हिन्दी</a>
|
|
37
|
-
<a href="../README.md">English</a>
|
|
38
|
-
</div>
|
|
39
|
-
</div>
|
|
40
|
-
</nav>
|
|
41
|
-
<button class="menu-btn" id="menuToggle" aria-label="Toggle navigation"><span></span><span></span><span></span></button>
|
|
42
|
-
</div>
|
|
43
|
-
</header>
|
|
15
|
+
<header class="header"></header>
|
|
44
16
|
<div class="app">
|
|
45
17
|
<aside class="sidebar" id="sidebar"></aside>
|
|
46
18
|
<div class="sidebar-overlay" id="sidebarOverlay"></div>
|
|
@@ -240,6 +212,101 @@
|
|
|
240
212
|
</div>
|
|
241
213
|
|
|
242
214
|
<h2>Architecture</h2>
|
|
215
|
+
<pre><code> ╔══════════════════════════════════════════════════════════════════════════════╗
|
|
216
|
+
║ TASTE — PREFERENCE LEARNING RUNTIME ║
|
|
217
|
+
╚══════════════════════════════════════════════════════════════════════════════╝
|
|
218
|
+
|
|
219
|
+
┌──────────────────────────┐
|
|
220
|
+
│ USER INTERACTION │
|
|
221
|
+
│ accept / reject / edit │
|
|
222
|
+
│ test pass / lint signal │
|
|
223
|
+
└────────────┬─────────────┘
|
|
224
|
+
│
|
|
225
|
+
┌─────────────────────────────┼─────────────────────────────┐
|
|
226
|
+
│ │ │
|
|
227
|
+
▼ ▼ ▼
|
|
228
|
+
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
|
|
229
|
+
│ AcceptReject │ │ DiffSignal │ │EditDistance │
|
|
230
|
+
│ Tracker │ │ Extractor │ │ Reward │
|
|
231
|
+
│ (accept/reject│ │ (diff delta) │ │ (edit cost) │
|
|
232
|
+
│ signals) │ │ │ │ │
|
|
233
|
+
└───────┬───────┘ └───────┬───────┘ └───────┬───────┘
|
|
234
|
+
│ │ │
|
|
235
|
+
└──────────────────────────┼───────────────────────────┘
|
|
236
|
+
│
|
|
237
|
+
▼
|
|
238
|
+
┌─────────────────────┐
|
|
239
|
+
│ TasteSignalCollector │
|
|
240
|
+
│ (unified event hub) │
|
|
241
|
+
└──────────┬──────────┘
|
|
242
|
+
│
|
|
243
|
+
▼
|
|
244
|
+
┌─────────────────────┐
|
|
245
|
+
│ TasteRewardModel │
|
|
246
|
+
│ signal → reward map │
|
|
247
|
+
│ accept = +1.0 │
|
|
248
|
+
│ reject = -1.0 │
|
|
249
|
+
│ test pass = +0.4 │
|
|
250
|
+
└──────────┬──────────┘
|
|
251
|
+
│
|
|
252
|
+
┌───────────────┼───────────────┐
|
|
253
|
+
│ │ │
|
|
254
|
+
▼ ▼ ▼
|
|
255
|
+
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
|
256
|
+
│TasteBandit │ │AutoLearn │ │TasteDecay │
|
|
257
|
+
│ε-greedy (6 │ │Engine │ │confidence ↓ │
|
|
258
|
+
│strategy arms)│ │pattern→rule │ │over time │
|
|
259
|
+
│pick optimal │ │ │ │if unused │
|
|
260
|
+
│arm per ctx │ │ │ │ │
|
|
261
|
+
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
|
|
262
|
+
│ │ │
|
|
263
|
+
│ ┌───────────┘ │
|
|
264
|
+
│ │ │
|
|
265
|
+
▼ ▼ │
|
|
266
|
+
┌──────────────────┐ │
|
|
267
|
+
│ TasteRuntime │◄────────────────────┘
|
|
268
|
+
│ (orchestrator) │
|
|
269
|
+
└────────┬─────────┘
|
|
270
|
+
│
|
|
271
|
+
┌─────────────┼─────────────┬──────────────────┐
|
|
272
|
+
│ │ │ │
|
|
273
|
+
▼ ▼ ▼ ▼
|
|
274
|
+
┌─────────┐ ┌──────────┐ ┌──────────────┐ ┌────────────────┐
|
|
275
|
+
│Symbolic │ │Neural │ │PromptInjector│ │ TasteEventLog │
|
|
276
|
+
│Engine │ │Scorer │ │injects │ │ append-only │
|
|
277
|
+
│compile │ │Jaccard/ │ │<clew_taste> │ │ JSONL │
|
|
278
|
+
│rules→ │ │TF-IDF │ │block (max 8 │ │ │
|
|
279
|
+
│check │ │relevance │ │rules) │ │ │
|
|
280
|
+
└────┬────┘ └────┬─────┘ └──────┬───────┘ └────────────────┘
|
|
281
|
+
│ │ │
|
|
282
|
+
▼ │ ▼
|
|
283
|
+
┌─────────┐ │ ┌────────────────┐
|
|
284
|
+
│validate │ │ │ SYSTEM PROMPT │
|
|
285
|
+
│Edit() │ └────►│ (taste block) │
|
|
286
|
+
│block if │ │ │
|
|
287
|
+
│conf ≥ │ │ → AI adapts │
|
|
288
|
+
│0.85 │ │ output style │
|
|
289
|
+
└─────────┘ └────────────────┘
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
═══ CODEBASE AUTO-LEARN (parallel path) ═══
|
|
293
|
+
|
|
294
|
+
Codebase ──► TasteCodebaseAnalyzer ──► PatternDetector ──► AutoLearnEngine
|
|
295
|
+
(reads conventions) (finds patterns) (creates rules)
|
|
296
|
+
│
|
|
297
|
+
▼
|
|
298
|
+
TasteProfileStore
|
|
299
|
+
.clew/taste/profile.json
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
═══ DATA LIFECYCLE ═══
|
|
303
|
+
|
|
304
|
+
Signal ──► EventLog (JSONL) ──► Rule confidence +/- ──► Decay if unused 30d
|
|
305
|
+
│
|
|
306
|
+
▼
|
|
307
|
+
Profile persisted
|
|
308
|
+
to .clew/taste/</code></pre>
|
|
309
|
+
|
|
243
310
|
<p>Taste consists of several subsystems:</p>
|
|
244
311
|
<ol>
|
|
245
312
|
<li><strong>Signal Collection</strong> — Captures accept, reject, edit, test, lint, and tool signals from user interactions and converts them into learning events.</li>
|