@bcelep/capint 0.6.5 → 0.7.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/AGENT.md +1 -1
- package/CHANGELOG.md +23 -0
- package/bin/capint.js +11 -2
- package/docs/PRD-capint.md +94 -0
- package/docs/PRD-v0.5-agent-capability-activation.md +10 -1
- package/docs/architecture-decisions.md +2 -0
- package/docs/capint-rehber.md +439 -0
- package/docs/capint-stack.md +118 -0
- package/docs/community.md +19 -0
- package/docs/conventions/daily-use.md +15 -1
- package/docs/eval/beginner-test-protocol.md +39 -0
- package/docs/eval/survey-template.md +16 -0
- package/docs/generated/README.md +6 -0
- package/docs/generated/execution-intent.v1.md +211 -0
- package/docs/generated/explanation.v1.md +127 -0
- package/docs/generated/explanation.v2.md +142 -0
- package/docs/generated/ui-api.v1.md +178 -0
- package/docs/maintainer-dogfood.md +3 -2
- package/docs/recipes/memory-graph-pairing.md +200 -0
- package/docs/skill-audit-runbook.md +32 -0
- package/locales/en.json +27 -0
- package/locales/tr.json +27 -0
- package/package.json +4 -2
- package/projections/session-start.md +14 -2
- package/schemas/execution-intent.v1.json +69 -0
- package/schemas/explanation.v2.json +51 -0
- package/schemas/ui-api.v1.json +85 -0
- package/scripts/generate-schema-docs.mjs +104 -0
- package/scripts/release-check.mjs +10 -0
- package/skills/prismx-skill-gateway/SKILL.md +10 -3
- package/src/commands/doctor.js +9 -0
- package/src/commands/feedback.js +29 -0
- package/src/commands/init.js +12 -0
- package/src/commands/providers.js +54 -0
- package/src/commands/skill.js +27 -0
- package/src/commands/stack.js +97 -0
- package/src/lib/audit.js +9 -1
- package/src/lib/contract.js +9 -0
- package/src/lib/doctor.js +69 -3
- package/src/lib/execution-policy.js +3 -1
- package/src/lib/explanation-plain.js +72 -0
- package/src/lib/explanation.js +26 -2
- package/src/lib/feedback.js +65 -0
- package/src/lib/i18n.js +43 -0
- package/src/lib/providers/doctor.js +205 -0
- package/src/lib/scaffold/index.js +2 -1
- package/src/lib/scaffold/presets.js +20 -0
- package/src/lib/skill-audit.js +141 -0
- package/src/lib/stack/index.js +259 -0
- package/src/lib/ui-server.js +92 -5
- package/templates/minimal/DONE.md +10 -0
- package/templates/minimal/GUNLUK.md +15 -1
- package/templates/minimal/docs/conventions/daily-use.md +3 -1
- package/ui/app.js +100 -10
- package/ui/index.html +22 -1
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# CapInt stack — tek model (ANWS ilhamı + graphify + agentmemory)
|
|
2
|
+
|
|
3
|
+
> **Başlangıç rehberi (sade dil):** [capint-rehber.md](capint-rehber.md)
|
|
4
|
+
|
|
5
|
+
CapInt **dört katman** bir arada. Ayrı ayrı “recipe” ezberleme yok — bu dosya tek referans.
|
|
6
|
+
|
|
7
|
+
| Katman | Ne sağlar | Nasıl |
|
|
8
|
+
|--------|-----------|--------|
|
|
9
|
+
| **1. Workflows** | Karar, görev, forge gate, drift | `/genesis` `/blueprint` `/challenge` `/forge` (chat) |
|
|
10
|
+
| **2. Routing** | Capability seçimi, HANDOFF sözleşmesi | `capint init` → `GUNLUK.md` + chat |
|
|
11
|
+
| **3. Graph** | Kod yapısı, kalıcı `graph.json` | Cursor `/graphify …` → `capint stack graph sync` |
|
|
12
|
+
| **4. Memory** | Oturumlar arası hafıza | `agentmemory` (makine) + Cursor MCP |
|
|
13
|
+
|
|
14
|
+
CapInt motor gömmüyor — **tek komutla kontrol ediyorsun:** `capint stack doctor`
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Yeni proje (5 adım)
|
|
19
|
+
|
|
20
|
+
```powershell
|
|
21
|
+
cd C:\path\to\project
|
|
22
|
+
npx @bcelep/capint init --bundle full --stack
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
1. **Init** — skills, workflows, AGENT, GUNLUK, matrix
|
|
26
|
+
2. **Stack setup** — `.capint/stack.json`, graphify Cursor kuralı (proje)
|
|
27
|
+
3. **Graph** — Cursor chat:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
/graphify ./src
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Next.js ise önce yol öner:
|
|
34
|
+
|
|
35
|
+
```powershell
|
|
36
|
+
capint stack graph paths
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Sonra sync:
|
|
40
|
+
|
|
41
|
+
```powershell
|
|
42
|
+
capint stack graph sync
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
4. **Memory (makine, bir kez)** — ayrı terminal:
|
|
46
|
+
|
|
47
|
+
```powershell
|
|
48
|
+
agentmemory
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Cursor `~/.cursor/mcp.json` içinde `agentmemory` MCP (bkz. [agentmemory](https://github.com/rohitg00/agentmemory)).
|
|
52
|
+
|
|
53
|
+
5. **Doğrula:**
|
|
54
|
+
|
|
55
|
+
```powershell
|
|
56
|
+
capint stack doctor
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Günlük: **GUNLUK.md** + chat. Ağır iş: `/blueprint` → `/challenge` → `/forge`.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Makine kurulumu (bir kez, tüm projeler)
|
|
64
|
+
|
|
65
|
+
```powershell
|
|
66
|
+
uv tool install graphifyy
|
|
67
|
+
graphify install cursor
|
|
68
|
+
|
|
69
|
+
npm install -g @agentmemory/agentmemory
|
|
70
|
+
# Windows: iii-engine → %USERPROFILE%\.local\bin\iii.exe (agentmemory gereksinimi)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Her proje: sadece `capint init --stack` + `/graphify` + `stack graph sync`.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Komutlar
|
|
78
|
+
|
|
79
|
+
| Komut | Amaç |
|
|
80
|
+
|-------|------|
|
|
81
|
+
| `capint stack doctor` | 4 katman özeti |
|
|
82
|
+
| `capint stack setup` | Init sonrası wiring + manifest |
|
|
83
|
+
| `capint stack graph paths` | Bu repo için `/graphify` klasörleri |
|
|
84
|
+
| `capint stack graph sync` | `graphify-out/` → `GRAPH_REPORT.md` + `.capint/graph/graph.json` |
|
|
85
|
+
| `capint providers doctor` | Katman 3–4 detay (tier JSON) |
|
|
86
|
+
|
|
87
|
+
Opsiyonel env:
|
|
88
|
+
|
|
89
|
+
```powershell
|
|
90
|
+
$env:CAPINT_LOCAL_CONTEXT="1" # route'ta dosya + graph excerpt
|
|
91
|
+
$env:CAPINT_MEMORY="1" # memory provider kapısı (0.8 adapter)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## ANWS ile ilişki
|
|
97
|
+
|
|
98
|
+
CapInt, [ANWS](https://github.com/Haaaiawd/ANWS) ilhamıyla **workflow + dosya hafızası** taşır (`workflows/`, HANDOFF, design, forge gate). ANWS’in `.anws/v{N}/` sürümlemesi yerine CapInt **matrix + scaffold + Execution Intent** kullanır.
|
|
99
|
+
|
|
100
|
+
Kalıcı hafıza + bozulmayı önleme hedefi:
|
|
101
|
+
|
|
102
|
+
- **Drift / regresyon** → katman 1 (`/challenge`, `/forge`)
|
|
103
|
+
- **Karar dosyaları** → katman 2 (HANDOFF, design, DONE)
|
|
104
|
+
- **Kod haritası** → katman 3 (graphify)
|
|
105
|
+
- **Chat geçmişi** → katman 4 (agentmemory)
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Sorun giderme
|
|
110
|
+
|
|
111
|
+
| Belirti | Çözüm |
|
|
112
|
+
|---------|--------|
|
|
113
|
+
| `/graphify` hiçbir şey yapmıyor | `graphify install cursor --project` · yanlış klasör (`/src` yoksa `capint stack graph paths`) |
|
|
114
|
+
| Graph tier missing | Cursor’da `/graphify …` · `capint stack graph sync` |
|
|
115
|
+
| agentmemory offline | `agentmemory` terminal · health: `:3111/agentmemory/health` |
|
|
116
|
+
| Workflows missing | `capint init --bundle full` |
|
|
117
|
+
|
|
118
|
+
Detay tier recipe: [memory-graph-pairing.md](recipes/memory-graph-pairing.md)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Community & feedback
|
|
2
|
+
|
|
3
|
+
## Local feedback (shipped 0.7.0)
|
|
4
|
+
|
|
5
|
+
Wizard optional rating → `.capint/feedback/` (gitignored). Summary:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
capint feedback --summary
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## GitHub
|
|
12
|
+
|
|
13
|
+
- **Issues:** bug reports and feature requests on the package repository
|
|
14
|
+
- **Discussions:** usage questions, skill routing ideas (when enabled)
|
|
15
|
+
- Use issue templates for reproducible `capint doctor --json` output
|
|
16
|
+
|
|
17
|
+
## Not in 0.7.0
|
|
18
|
+
|
|
19
|
+
Hosted surveys, Discord bot, or automatic telemetry — see PRD backlog.
|
|
@@ -16,7 +16,21 @@ Günlük iş **Cursor (veya IDE) chat’i** — terminal prosedürü değil.
|
|
|
16
16
|
| Görevi normal dille yaz | `AGENT.md` + IDE kurallarını okur |
|
|
17
17
|
| Screenshot / “beklenen vs mevcut” ekle | Kısa Execution Intent; orta/ağırda kısa soru |
|
|
18
18
|
| “Önce plan, onaylayınca kod” de | Seçimine göre plan veya kod |
|
|
19
|
-
| İstersen oturum sonu özet onayla | Değişiklik özeti sunar |
|
|
19
|
+
| İstersen oturum sonu özet onayla | Değişiklik özeti sunar; `DONE.md` + `HANDOFF.md` günceller |
|
|
20
|
+
|
|
21
|
+
### Oturum kapanışı
|
|
22
|
+
|
|
23
|
+
Agent'a şunlardan biri yeterli:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
kapan
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
HANDOFF + DONE güncelle — bugün X yaptık, npm test yeşil
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Agent: `DONE.md`'ye **append** (tarih, özet, doğrulama) · `HANDOFF.md`'yi **yeniden yaz** (aktif context, sıradaki 3 adım).
|
|
20
34
|
|
|
21
35
|
**Yazmana gerek yok:** Skill adları, `capint route` çıktısı, matrix jargonu.
|
|
22
36
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Beginner moderated test (n=3)
|
|
2
|
+
|
|
3
|
+
**KPI (PRD §1):** ≤5 min time-to-first-task, ≥80% wizard completion, no terminal required.
|
|
4
|
+
|
|
5
|
+
## Setup
|
|
6
|
+
|
|
7
|
+
- Fresh machine or temp folder
|
|
8
|
+
- `npx @bcelep/capint init --bundle minimal --name Demo`
|
|
9
|
+
- `capint ui --open`
|
|
10
|
+
- Observer only — no CLI hints unless participant stuck >2 min
|
|
11
|
+
|
|
12
|
+
## Scenario
|
|
13
|
+
|
|
14
|
+
1. Step 1: Run health check; proceed when green (or use suggested fix).
|
|
15
|
+
2. Step 2: Task text: **「PRD hazırla — mobil uygulama onboarding」**
|
|
16
|
+
3. Step 3: Read plain-language plan; choose `plan_first`.
|
|
17
|
+
4. Step 4: Copy chat block into IDE; confirm participant understands capability name is optional.
|
|
18
|
+
|
|
19
|
+
## Metrics
|
|
20
|
+
|
|
21
|
+
| Metric | Pass |
|
|
22
|
+
|--------|------|
|
|
23
|
+
| Wall time start → copy | ≤ 5 min |
|
|
24
|
+
| Wizard steps completed | 4/4 |
|
|
25
|
+
| Terminal opened | No |
|
|
26
|
+
| Can explain "why this capability" | Yes (uses plain summary) |
|
|
27
|
+
|
|
28
|
+
## Log template
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
Date:
|
|
32
|
+
Participant ID:
|
|
33
|
+
Duration (min):
|
|
34
|
+
Wizard completed: Y/N
|
|
35
|
+
Rating (1-5):
|
|
36
|
+
Notes:
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Append summary row to `DONE.md` after each session.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Post-wizard micro-survey (5 questions)
|
|
2
|
+
|
|
3
|
+
Target: ≥ 4/5 average on Q1–Q3 (PRD KPI).
|
|
4
|
+
|
|
5
|
+
1. **Anlaşılırlık:** Plan özeti (Neden / plain text) ne kadar anlaşılırdı? (1–5)
|
|
6
|
+
2. **Güven:** Seçilen capability mantıklı mıydı? (1–5)
|
|
7
|
+
3. **Hız:** Terminal kullanmadan görevi başlatmak ne kadar kolaydı? (1–5)
|
|
8
|
+
4. **Doctor:** Proje kontrolü yeterli miydi? (1–5)
|
|
9
|
+
5. **Serbest:** Bir cümleyle ne iyileştirilmeli?
|
|
10
|
+
|
|
11
|
+
## Collection (v0.7.0)
|
|
12
|
+
|
|
13
|
+
- UI wizard step 4 → optional stars + comment → `.capint/feedback/entries.jsonl`
|
|
14
|
+
- Maintainer aggregate: `capint feedback --summary --json`
|
|
15
|
+
|
|
16
|
+
No external telemetry in 0.7.0.
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
# CapInt Execution Intent
|
|
2
|
+
|
|
3
|
+
> Auto-generated from `schemas/execution-intent.v1.json`. Do not edit by hand.
|
|
4
|
+
|
|
5
|
+
**$id:** `https://capint.dev/schemas/execution-intent.v1.json`
|
|
6
|
+
|
|
7
|
+
## Properties
|
|
8
|
+
|
|
9
|
+
| Field | Type | Required |
|
|
10
|
+
|-------|------|----------|
|
|
11
|
+
| `intent` | string | yes |
|
|
12
|
+
| `capability` | string | yes |
|
|
13
|
+
| `resolution` | string | yes |
|
|
14
|
+
| `memory` | none \| optional \| required | yes |
|
|
15
|
+
| `plan` | auto \| confirm \| override | yes |
|
|
16
|
+
| `confirm` | object | yes |
|
|
17
|
+
| `confirm_question` | string,null | yes |
|
|
18
|
+
| `confirm_options` | array | yes |
|
|
19
|
+
| `confirm_default_option` | string,null | yes |
|
|
20
|
+
| `fallback` | object,null | yes |
|
|
21
|
+
| `verification_required` | boolean | no |
|
|
22
|
+
| `verification_hints` | array | no |
|
|
23
|
+
| `verification_profile` | string | no |
|
|
24
|
+
| `route_explain` | object | no |
|
|
25
|
+
| `explanation` | explanation.v2.json | no |
|
|
26
|
+
| `provider_activation` | object,null | no |
|
|
27
|
+
| `context_pack` | object,null | no |
|
|
28
|
+
| `orchestration` | object,null | no |
|
|
29
|
+
| `resolution_status` | string | no |
|
|
30
|
+
| `resolution_hint` | string | no |
|
|
31
|
+
| `workspace_boundary` | object | no |
|
|
32
|
+
| `overlay_error` | string | no |
|
|
33
|
+
| `local_adapters` | object | no |
|
|
34
|
+
|
|
35
|
+
## Raw schema
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
40
|
+
"$id": "https://capint.dev/schemas/execution-intent.v1.json",
|
|
41
|
+
"title": "CapInt Execution Intent",
|
|
42
|
+
"type": "object",
|
|
43
|
+
"required": [
|
|
44
|
+
"intent",
|
|
45
|
+
"capability",
|
|
46
|
+
"resolution",
|
|
47
|
+
"memory",
|
|
48
|
+
"plan",
|
|
49
|
+
"confirm",
|
|
50
|
+
"confirm_question",
|
|
51
|
+
"confirm_options",
|
|
52
|
+
"confirm_default_option",
|
|
53
|
+
"fallback"
|
|
54
|
+
],
|
|
55
|
+
"properties": {
|
|
56
|
+
"intent": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
},
|
|
59
|
+
"capability": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"resolution": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
},
|
|
65
|
+
"memory": {
|
|
66
|
+
"enum": [
|
|
67
|
+
"none",
|
|
68
|
+
"optional",
|
|
69
|
+
"required"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
"plan": {
|
|
73
|
+
"enum": [
|
|
74
|
+
"auto",
|
|
75
|
+
"confirm",
|
|
76
|
+
"override"
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
"confirm": {
|
|
80
|
+
"type": "object",
|
|
81
|
+
"properties": {
|
|
82
|
+
"enabled": {
|
|
83
|
+
"type": "boolean"
|
|
84
|
+
},
|
|
85
|
+
"mode": {
|
|
86
|
+
"type": "string"
|
|
87
|
+
},
|
|
88
|
+
"prompt": {
|
|
89
|
+
"type": [
|
|
90
|
+
"string",
|
|
91
|
+
"null"
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
"options": {
|
|
95
|
+
"type": "array"
|
|
96
|
+
},
|
|
97
|
+
"default_option": {
|
|
98
|
+
"type": [
|
|
99
|
+
"string",
|
|
100
|
+
"null"
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"confirm_question": {
|
|
106
|
+
"type": [
|
|
107
|
+
"string",
|
|
108
|
+
"null"
|
|
109
|
+
]
|
|
110
|
+
},
|
|
111
|
+
"confirm_options": {
|
|
112
|
+
"type": "array",
|
|
113
|
+
"items": {
|
|
114
|
+
"type": "object",
|
|
115
|
+
"required": [
|
|
116
|
+
"id",
|
|
117
|
+
"label"
|
|
118
|
+
],
|
|
119
|
+
"properties": {
|
|
120
|
+
"id": {
|
|
121
|
+
"type": "string"
|
|
122
|
+
},
|
|
123
|
+
"label": {
|
|
124
|
+
"type": "string"
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"confirm_default_option": {
|
|
130
|
+
"type": [
|
|
131
|
+
"string",
|
|
132
|
+
"null"
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"fallback": {
|
|
136
|
+
"type": [
|
|
137
|
+
"object",
|
|
138
|
+
"null"
|
|
139
|
+
]
|
|
140
|
+
},
|
|
141
|
+
"verification_required": {
|
|
142
|
+
"type": "boolean"
|
|
143
|
+
},
|
|
144
|
+
"verification_hints": {
|
|
145
|
+
"type": "array",
|
|
146
|
+
"items": {
|
|
147
|
+
"type": "string"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"verification_profile": {
|
|
151
|
+
"type": "string"
|
|
152
|
+
},
|
|
153
|
+
"route_explain": {
|
|
154
|
+
"type": "object"
|
|
155
|
+
},
|
|
156
|
+
"explanation": {
|
|
157
|
+
"$ref": "explanation.v2.json"
|
|
158
|
+
},
|
|
159
|
+
"provider_activation": {
|
|
160
|
+
"type": [
|
|
161
|
+
"object",
|
|
162
|
+
"null"
|
|
163
|
+
]
|
|
164
|
+
},
|
|
165
|
+
"context_pack": {
|
|
166
|
+
"type": [
|
|
167
|
+
"object",
|
|
168
|
+
"null"
|
|
169
|
+
]
|
|
170
|
+
},
|
|
171
|
+
"orchestration": {
|
|
172
|
+
"type": [
|
|
173
|
+
"object",
|
|
174
|
+
"null"
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
"resolution_status": {
|
|
178
|
+
"type": "string"
|
|
179
|
+
},
|
|
180
|
+
"resolution_hint": {
|
|
181
|
+
"type": "string"
|
|
182
|
+
},
|
|
183
|
+
"workspace_boundary": {
|
|
184
|
+
"type": "object",
|
|
185
|
+
"properties": {
|
|
186
|
+
"violated": {
|
|
187
|
+
"type": "boolean"
|
|
188
|
+
},
|
|
189
|
+
"suspicious_paths": {
|
|
190
|
+
"type": "array",
|
|
191
|
+
"items": {
|
|
192
|
+
"type": "string"
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
"override_hint": {
|
|
196
|
+
"type": [
|
|
197
|
+
"string",
|
|
198
|
+
"null"
|
|
199
|
+
]
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
"overlay_error": {
|
|
204
|
+
"type": "string"
|
|
205
|
+
},
|
|
206
|
+
"local_adapters": {
|
|
207
|
+
"type": "object"
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
```
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# CapInt Route Explanation
|
|
2
|
+
|
|
3
|
+
> Auto-generated from `schemas/explanation.v1.json`. Do not edit by hand.
|
|
4
|
+
|
|
5
|
+
**$id:** `https://capint.dev/schemas/explanation.v1.json`
|
|
6
|
+
|
|
7
|
+
## Properties
|
|
8
|
+
|
|
9
|
+
| Field | Type | Required |
|
|
10
|
+
|-------|------|----------|
|
|
11
|
+
| `task_type_id` | string,null | yes |
|
|
12
|
+
| `matched_keywords` | array | yes |
|
|
13
|
+
| `winner` | object,null | yes |
|
|
14
|
+
| `files_to_read` | array | yes |
|
|
15
|
+
| `reason_summary` | string | yes |
|
|
16
|
+
| `alternatives_considered` | array | yes |
|
|
17
|
+
| `resolver_order` | array | no |
|
|
18
|
+
| `files_intended` | array | no |
|
|
19
|
+
| `workspace_boundary` | object | no |
|
|
20
|
+
|
|
21
|
+
## Raw schema
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
26
|
+
"$id": "https://capint.dev/schemas/explanation.v1.json",
|
|
27
|
+
"title": "CapInt Route Explanation",
|
|
28
|
+
"type": "object",
|
|
29
|
+
"required": [
|
|
30
|
+
"task_type_id",
|
|
31
|
+
"matched_keywords",
|
|
32
|
+
"winner",
|
|
33
|
+
"files_to_read",
|
|
34
|
+
"reason_summary",
|
|
35
|
+
"alternatives_considered"
|
|
36
|
+
],
|
|
37
|
+
"properties": {
|
|
38
|
+
"task_type_id": {
|
|
39
|
+
"type": [
|
|
40
|
+
"string",
|
|
41
|
+
"null"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"matched_keywords": {
|
|
45
|
+
"type": "array",
|
|
46
|
+
"items": {
|
|
47
|
+
"type": "string"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"winner": {
|
|
51
|
+
"type": [
|
|
52
|
+
"object",
|
|
53
|
+
"null"
|
|
54
|
+
],
|
|
55
|
+
"properties": {
|
|
56
|
+
"type": {
|
|
57
|
+
"type": "string"
|
|
58
|
+
},
|
|
59
|
+
"resource": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"files_to_read": {
|
|
65
|
+
"type": "array",
|
|
66
|
+
"items": {
|
|
67
|
+
"type": "string"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"reason_summary": {
|
|
71
|
+
"type": "string"
|
|
72
|
+
},
|
|
73
|
+
"alternatives_considered": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"items": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"properties": {
|
|
78
|
+
"resource": {
|
|
79
|
+
"type": "string"
|
|
80
|
+
},
|
|
81
|
+
"type": {
|
|
82
|
+
"type": "string"
|
|
83
|
+
},
|
|
84
|
+
"confidence": {
|
|
85
|
+
"type": [
|
|
86
|
+
"number",
|
|
87
|
+
"null"
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"resolver_order": {
|
|
94
|
+
"type": "array",
|
|
95
|
+
"items": {
|
|
96
|
+
"type": "string"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"files_intended": {
|
|
100
|
+
"type": "array",
|
|
101
|
+
"items": {
|
|
102
|
+
"type": "string"
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"workspace_boundary": {
|
|
106
|
+
"type": "object",
|
|
107
|
+
"properties": {
|
|
108
|
+
"violated": {
|
|
109
|
+
"type": "boolean"
|
|
110
|
+
},
|
|
111
|
+
"suspicious_paths": {
|
|
112
|
+
"type": "array",
|
|
113
|
+
"items": {
|
|
114
|
+
"type": "string"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"override_hint": {
|
|
118
|
+
"type": [
|
|
119
|
+
"string",
|
|
120
|
+
"null"
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# CapInt Route Explanation v2
|
|
2
|
+
|
|
3
|
+
> Auto-generated from `schemas/explanation.v2.json`. Do not edit by hand.
|
|
4
|
+
|
|
5
|
+
**$id:** `https://capint.dev/schemas/explanation.v2.json`
|
|
6
|
+
|
|
7
|
+
## Properties
|
|
8
|
+
|
|
9
|
+
| Field | Type | Required |
|
|
10
|
+
|-------|------|----------|
|
|
11
|
+
| `task_type_id` | string,null | yes |
|
|
12
|
+
| `matched_keywords` | array | yes |
|
|
13
|
+
| `winner` | object,null | yes |
|
|
14
|
+
| `files_to_read` | array | yes |
|
|
15
|
+
| `reason_summary` | string | yes |
|
|
16
|
+
| `reason_plain` | string | no |
|
|
17
|
+
| `tooltip` | string | no |
|
|
18
|
+
| `locale` | tr \| en | no |
|
|
19
|
+
| `alternatives_considered` | array | yes |
|
|
20
|
+
| `resolver_order` | array | no |
|
|
21
|
+
| `files_intended` | array | no |
|
|
22
|
+
| `workspace_boundary` | object | no |
|
|
23
|
+
|
|
24
|
+
## Raw schema
|
|
25
|
+
|
|
26
|
+
```json
|
|
27
|
+
{
|
|
28
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
29
|
+
"$id": "https://capint.dev/schemas/explanation.v2.json",
|
|
30
|
+
"title": "CapInt Route Explanation v2",
|
|
31
|
+
"type": "object",
|
|
32
|
+
"required": [
|
|
33
|
+
"task_type_id",
|
|
34
|
+
"matched_keywords",
|
|
35
|
+
"winner",
|
|
36
|
+
"files_to_read",
|
|
37
|
+
"reason_summary",
|
|
38
|
+
"alternatives_considered"
|
|
39
|
+
],
|
|
40
|
+
"properties": {
|
|
41
|
+
"task_type_id": {
|
|
42
|
+
"type": [
|
|
43
|
+
"string",
|
|
44
|
+
"null"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"matched_keywords": {
|
|
48
|
+
"type": "array",
|
|
49
|
+
"items": {
|
|
50
|
+
"type": "string"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"winner": {
|
|
54
|
+
"type": [
|
|
55
|
+
"object",
|
|
56
|
+
"null"
|
|
57
|
+
],
|
|
58
|
+
"properties": {
|
|
59
|
+
"type": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"resource": {
|
|
63
|
+
"type": "string"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"files_to_read": {
|
|
68
|
+
"type": "array",
|
|
69
|
+
"items": {
|
|
70
|
+
"type": "string"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"reason_summary": {
|
|
74
|
+
"type": "string"
|
|
75
|
+
},
|
|
76
|
+
"reason_plain": {
|
|
77
|
+
"type": "string"
|
|
78
|
+
},
|
|
79
|
+
"tooltip": {
|
|
80
|
+
"type": "string"
|
|
81
|
+
},
|
|
82
|
+
"locale": {
|
|
83
|
+
"enum": [
|
|
84
|
+
"tr",
|
|
85
|
+
"en"
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
"alternatives_considered": {
|
|
89
|
+
"type": "array",
|
|
90
|
+
"items": {
|
|
91
|
+
"type": "object",
|
|
92
|
+
"properties": {
|
|
93
|
+
"resource": {
|
|
94
|
+
"type": "string"
|
|
95
|
+
},
|
|
96
|
+
"type": {
|
|
97
|
+
"type": "string"
|
|
98
|
+
},
|
|
99
|
+
"confidence": {
|
|
100
|
+
"type": [
|
|
101
|
+
"number",
|
|
102
|
+
"null"
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"resolver_order": {
|
|
109
|
+
"type": "array",
|
|
110
|
+
"items": {
|
|
111
|
+
"type": "string"
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
"files_intended": {
|
|
115
|
+
"type": "array",
|
|
116
|
+
"items": {
|
|
117
|
+
"type": "string"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"workspace_boundary": {
|
|
121
|
+
"type": "object",
|
|
122
|
+
"properties": {
|
|
123
|
+
"violated": {
|
|
124
|
+
"type": "boolean"
|
|
125
|
+
},
|
|
126
|
+
"suspicious_paths": {
|
|
127
|
+
"type": "array",
|
|
128
|
+
"items": {
|
|
129
|
+
"type": "string"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"override_hint": {
|
|
133
|
+
"type": [
|
|
134
|
+
"string",
|
|
135
|
+
"null"
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
```
|