@evo-dev/core 0.0.1-alpha.1 → 0.0.1-alpha.11
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/assets/skills/coding/knowledge-distillation/SKILL.md +117 -114
- package/assets/skills/coding/knowledge-distillation/references/knowledge-distillation-methods.md +11 -7
- package/assets/team/agents/code-reviewer.md +48 -0
- package/assets/team/agents/docs-maintainer.md +51 -0
- package/assets/team/agents/implementation-engineer.md +51 -0
- package/assets/team/agents/product-scope-analyst.md +58 -0
- package/assets/team/agents/release-engineer.md +55 -0
- package/assets/team/agents/security-boundary-reviewer.md +50 -0
- package/assets/team/agents/solution-architect.md +51 -0
- package/assets/team/agents/verification-engineer.md +51 -0
- package/assets/team/team.md +102 -0
- package/dist/config/index.js +925 -97
- package/dist/index.js +13107 -5618
- package/package.json +5 -1
- package/src/agents/index.ts +56 -264
- package/src/code-agent-traces/index.ts +520 -0
- package/src/config/index.ts +5 -0
- package/src/config/paths.ts +1 -1
- package/src/config/settings.ts +149 -0
- package/src/config/store.ts +2 -0
- package/src/daemon/index.ts +99 -50
- package/src/evolution/candidates/index.ts +564 -0
- package/src/evolution/control/index.ts +20 -0
- package/src/evolution/evidence/analysis.ts +533 -0
- package/src/evolution/evidence/index.ts +3 -0
- package/src/evolution/evidence/session-memory/analysis.ts +281 -0
- package/src/evolution/evidence/session-memory/constants.ts +9 -0
- package/src/evolution/evidence/session-memory/index.ts +7 -0
- package/src/evolution/evidence/session-memory/paths.ts +29 -0
- package/src/evolution/evidence/session-memory/policy.ts +39 -0
- package/src/evolution/evidence/session-memory/segment.ts +202 -0
- package/src/evolution/evidence/session-memory/sensitivity.ts +335 -0
- package/src/evolution/evidence/session-memory/state-machine.ts +249 -0
- package/src/evolution/evidence/session-memory/storage.ts +379 -0
- package/src/evolution/evidence/session-memory/types.ts +221 -0
- package/src/evolution/evidence/session-memory/updater.ts +191 -0
- package/src/evolution/formatters.ts +169 -0
- package/src/evolution/index.ts +16 -2356
- package/src/evolution/knowledge/index.ts +5427 -0
- package/src/evolution/paths.ts +44 -0
- package/src/evolution/processor/distillation.ts +518 -0
- package/src/evolution/processor/index.ts +3 -0
- package/src/evolution/processor/process.ts +528 -0
- package/src/{learning → evolution/review}/index.ts +10 -14
- package/src/evolution/schema.ts +568 -0
- package/src/evolution/shared.ts +758 -0
- package/src/evolution/triggers/classification.ts +102 -0
- package/src/evolution/triggers/index.ts +295 -0
- package/src/hooks/index.ts +438 -179
- package/src/index.ts +12 -3
- package/src/projects/index.ts +453 -0
- package/src/runtime-logs/index.ts +490 -24
- package/src/team/index.ts +1429 -185
- package/src/team/mcp.ts +9 -5
- package/src/team/prompts.ts +141 -0
- package/src/utils/errors.ts +13 -0
- package/src/utils/fs.ts +40 -0
- package/src/utils/hash.ts +9 -0
- package/src/utils/ids.ts +12 -0
- package/src/utils/index.ts +7 -0
- package/src/utils/parsing.ts +11 -0
- package/src/utils/text.ts +18 -0
- package/src/utils/time.ts +5 -0
- package/src/workflow/index.ts +3 -21
- package/src/project/index.ts +0 -507
- package/src/task/index.ts +0 -840
|
@@ -8,9 +8,9 @@ license: MIT
|
|
|
8
8
|
|
|
9
9
|
## Purpose
|
|
10
10
|
|
|
11
|
-
Knowledge Distillation is an evidence curation pipeline. It turns reviewed execution evidence into
|
|
11
|
+
Knowledge Distillation is an evidence curation pipeline. It turns reviewed execution evidence into an OKF-aware transient knowledge plan. The organizer, not this skill, writes final OKF Markdown files after dedupe, conflict handling, tagging, link updates, index generation, and logging.
|
|
12
12
|
|
|
13
|
-
It is not a trace summarizer, automatic memory writer, or team launcher.
|
|
13
|
+
It is not a trace summarizer, automatic memory writer, OKF file writer, or team launcher.
|
|
14
14
|
|
|
15
15
|
## Use This Skill When
|
|
16
16
|
|
|
@@ -23,8 +23,9 @@ It is not a trace summarizer, automatic memory writer, or team launcher.
|
|
|
23
23
|
## Do Not Use This Skill For
|
|
24
24
|
|
|
25
25
|
- Writing `CLAUDE.md`, `AGENTS.md`, `.claude/`, `.codex/`, `.evodev/`, source files, or project assets without explicit project opt-in.
|
|
26
|
-
- Storing
|
|
26
|
+
- Storing credentials or wholesale prompts, transcripts, source files, source dumps, or raw command output. Distilled private facts and necessary short excerpts may remain in user-local knowledge.
|
|
27
27
|
- Treating unreviewed observations, model reflection, or trace logs as accepted memory.
|
|
28
|
+
- Writing final OKF concept documents directly; output a transient plan for the organizer.
|
|
28
29
|
- Starting subagents or teams automatically.
|
|
29
30
|
|
|
30
31
|
## Inputs
|
|
@@ -35,6 +36,8 @@ Work from one bounded evidence window. Prefer reviewed, minimized inputs:
|
|
|
35
36
|
- Verification evidence, failures, fixes, and review findings.
|
|
36
37
|
- Accepted corrections or explicit user feedback.
|
|
37
38
|
- Relevant external authority, when the lesson depends on a standard, official documentation, or upstream behavior.
|
|
39
|
+
- Relevant OKF v0.1 constraints: concept documents need YAML frontmatter with non-empty `type`; `index.md` and `log.md` are reserved at every directory level; bundle-relative absolute Markdown links are preferred for durable relationships.
|
|
40
|
+
- Existing OKF index snippets or concept summaries, when available, so duplicate and conflict risk can be scored before proposing new candidates.
|
|
38
41
|
- Candidate roles that should care, such as `architect`, `implementer`, `reviewer`, `tester`, `security`, `release`, `docs`, or user-defined role slugs.
|
|
39
42
|
|
|
40
43
|
Do not ingest raw traces wholesale. If trace evidence is needed, use a redacted summary and evidence references.
|
|
@@ -58,161 +61,160 @@ Classify every input before extraction:
|
|
|
58
61
|
|
|
59
62
|
## Distillation Pipeline
|
|
60
63
|
|
|
61
|
-
1. **Scope**: identify repo, task, role audience, evidence ids, and
|
|
62
|
-
2. **Minimize**: remove
|
|
64
|
+
1. **Scope**: identify repo, task, role audience, workflow audience, path scope, evidence ids, and user-local OKF target scope.
|
|
65
|
+
2. **Minimize**: remove credentials, wholesale prompts/logs/source/command output, and one-off noise. Preserve private facts or short excerpts only when needed to keep the knowledge accurate and reusable.
|
|
63
66
|
3. **Analyze execution structure**: when event evidence is present, identify task slices, owner roles, dependencies, key tool calls, skill invocations, subagent lifecycle events, verification gates, and merge outcomes.
|
|
64
67
|
4. **Extract atomic candidates**: one claim per candidate. Allowed `kind` values are `rule`, `decision`, `pattern`, `anti-pattern`, `warning`, `checklist`, `concept`, `workflow-improvement`, `task-split-improvement`, `tool-use-improvement`, `skill-improvement`, `repo-asset-suggestion`, `role-agent-suggestion`, `team-suggestion`, `eval-set`, and `open-question`.
|
|
65
68
|
5. **Separate fact from inference**: mark whether the candidate is directly evidenced or inferred from evidence.
|
|
66
|
-
6. **Classify**: add `roleTags`, `
|
|
69
|
+
6. **Classify**: add `okfType`, `targetPath`, `stableKey`, `roleTags`, `repoTags`, `workflowTags`, `pathScopes`, `domainTags`, `stability`, `sensitivity`, and `targetStore`.
|
|
67
70
|
7. **Score**: estimate evidence strength, reuse value, actionability, stability, novelty, privacy risk, and duplication risk.
|
|
68
|
-
8. **Pair improvements with evals**: every proposed skill, role-agent, team, workflow, routing, tool-use, or subagent behavior change should include an `evoEvalSets` entry, unless the
|
|
69
|
-
9. **Privacy gate**:
|
|
70
|
-
10. **Route**:
|
|
71
|
-
11. **
|
|
71
|
+
8. **Pair improvements with evals**: every proposed skill, role-agent, team, workflow, routing, tool-use, or subagent behavior change should include an `evoEvalSets` entry, unless the plan explains why eval coverage is not applicable.
|
|
72
|
+
9. **Privacy gate**: reject credentials and unbounded raw copying. Private facts, internal links, local paths, emails, and short excerpts may remain in local-private knowledge when necessary.
|
|
73
|
+
10. **Route**: emit `no_write`, `create`, `update`, `skip`, or `needs-human` for each candidate.
|
|
74
|
+
11. **Plan OKF organization**: provide canonical concept targets and repo/role/workflow overlay updates. Do not emit final OKF files.
|
|
75
|
+
12. **Recovery notes**: explain conflicts, stale information, required repo fact checks, and why human intervention is needed when applicable.
|
|
72
76
|
|
|
73
77
|
## Output Schema
|
|
74
78
|
|
|
75
|
-
Return
|
|
79
|
+
Return executable JSON with `schemaVersion: 1` and `kind: "knowledge-distillation-output"`. The runtime parser converts this output into an OKF plan and validates the full contract before any OKF directory or concept write occurs. Invalid outputs become validation failed-plan artifacts; those artifacts are redacted, non-resumable, and inspectable with `evo plan show`.
|
|
76
80
|
|
|
77
81
|
```json
|
|
78
82
|
{
|
|
83
|
+
"schemaVersion": 1,
|
|
84
|
+
"kind": "knowledge-distillation-output",
|
|
85
|
+
"projectKey": "evodev",
|
|
86
|
+
"runId": "run-123",
|
|
87
|
+
"createdAt": "2026-06-24T00:00:00.000Z",
|
|
88
|
+
"evidenceWindowId": "evidence-run-123",
|
|
79
89
|
"summary": "What reusable improvement was found.",
|
|
80
|
-
"scope": {
|
|
81
|
-
"level": "user | project | workflow | skill",
|
|
82
|
-
"repo": "optional repository identifier",
|
|
83
|
-
"projectOptIn": false
|
|
84
|
-
},
|
|
85
|
-
"roleTags": ["reviewer"],
|
|
86
|
-
"executionAnalysis": {
|
|
87
|
-
"taskSlices": [
|
|
88
|
-
{
|
|
89
|
-
"id": "slice-1",
|
|
90
|
-
"goal": "Review skill output gap",
|
|
91
|
-
"ownerRole": "reviewer",
|
|
92
|
-
"dependencies": [],
|
|
93
|
-
"expectedEvidence": ["reviewed-finding"],
|
|
94
|
-
"stopCondition": "Skill gap and regression eval target are identified"
|
|
95
|
-
}
|
|
96
|
-
],
|
|
97
|
-
"keyEvents": [
|
|
98
|
-
{
|
|
99
|
-
"id": "event-1",
|
|
100
|
-
"type": "tool-call | skill-invocation | subagent-lifecycle | verification | review-finding | route-decision",
|
|
101
|
-
"summary": "Knowledge skill proposed a behavior change without eval coverage.",
|
|
102
|
-
"evidenceRefs": ["review:skill-output-gap"],
|
|
103
|
-
"rawContentStored": false
|
|
104
|
-
}
|
|
105
|
-
],
|
|
106
|
-
"qualityFindings": [
|
|
107
|
-
{
|
|
108
|
-
"category": "task-split-gap | tool-use-gap | skill-output-gap | subagent-routing-gap | verification-gap | privacy-gap",
|
|
109
|
-
"severity": "low | medium | high | critical",
|
|
110
|
-
"claim": "Skill proposal lacked regression eval cases for a skill change.",
|
|
111
|
-
"expectedBehavior": "Skill changes should include evoEvalSets.",
|
|
112
|
-
"roleTags": ["reviewer", "tester"]
|
|
113
|
-
}
|
|
114
|
-
]
|
|
115
|
-
},
|
|
116
90
|
"evidenceRefs": [
|
|
117
91
|
{
|
|
118
|
-
"id": "
|
|
119
|
-
"
|
|
120
|
-
"
|
|
92
|
+
"id": "source-1",
|
|
93
|
+
"kind": "verification",
|
|
94
|
+
"source": "state/evidence/metadata.json",
|
|
95
|
+
"rawContentStored": false,
|
|
96
|
+
"externalContentCopied": false
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"evoEvalSets": [
|
|
100
|
+
{
|
|
101
|
+
"id": "eval-role-routing-1",
|
|
102
|
+
"target": { "kind": "role-agent-suggestion", "id": "candidate-1" },
|
|
103
|
+
"purpose": "Guard a behavior-changing active write.",
|
|
104
|
+
"roleTags": ["reviewer"],
|
|
105
|
+
"cases": [
|
|
106
|
+
{
|
|
107
|
+
"id": "case-1",
|
|
108
|
+
"inputRefs": ["source-1"],
|
|
109
|
+
"assertions": ["Candidate remains metadata-only and review-state gated."],
|
|
110
|
+
"expectedReviewState": "auto-accepted"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"privacy": {
|
|
114
|
+
"usesRawPrompt": false,
|
|
115
|
+
"usesSourceDump": false,
|
|
116
|
+
"usesRawCommandOutput": false
|
|
117
|
+
},
|
|
118
|
+
"decision": "create"
|
|
121
119
|
}
|
|
122
120
|
],
|
|
123
121
|
"knowledgeCandidates": [
|
|
124
122
|
{
|
|
123
|
+
"id": "candidate-1",
|
|
124
|
+
"decision": "auto-accept",
|
|
125
125
|
"kind": "rule",
|
|
126
|
+
"okfType": "EvoDev Rule",
|
|
127
|
+
"targetStore": "okf",
|
|
128
|
+
"targetPath": "concepts/rules/workspace-check.md",
|
|
129
|
+
"stableKey": "rule:verification:workspace-check",
|
|
130
|
+
"confidence": "high",
|
|
131
|
+
"title": "Workspace check before completion",
|
|
132
|
+
"description": "Run the workspace check before reporting TypeScript CLI completion.",
|
|
126
133
|
"claim": "For TypeScript CLI changes, run the workspace check before reporting completion.",
|
|
127
|
-
"basis": "direct
|
|
134
|
+
"basis": "direct",
|
|
135
|
+
"metadataOnlyEvidence": true,
|
|
128
136
|
"howToApply": "Add bun run check to the verification plan.",
|
|
129
137
|
"antiCriteria": ["Do not mark completion from lint alone."],
|
|
130
138
|
"roleTags": ["implementer", "reviewer"],
|
|
131
|
-
"
|
|
132
|
-
"
|
|
133
|
-
"
|
|
139
|
+
"repoTags": ["evodev"],
|
|
140
|
+
"workflowTags": ["feature-implementation"],
|
|
141
|
+
"pathScopes": ["packages/cli/", "packages/core/"],
|
|
142
|
+
"relatedConceptLinks": ["/concepts/verification/workspace-quality-gate.md"],
|
|
143
|
+
"overlayUpdates": [
|
|
144
|
+
{
|
|
145
|
+
"targetPath": "roles/reviewer/verification.md",
|
|
146
|
+
"operation": "append-link",
|
|
147
|
+
"link": "/concepts/rules/workspace-check.md"
|
|
148
|
+
}
|
|
149
|
+
],
|
|
134
150
|
"scores": {
|
|
135
|
-
"evidenceStrength":
|
|
151
|
+
"evidenceStrength": 5,
|
|
136
152
|
"reuseValue": 4,
|
|
137
|
-
"actionability":
|
|
153
|
+
"actionability": 4,
|
|
138
154
|
"stability": 4,
|
|
139
|
-
"novelty": 2,
|
|
140
155
|
"privacyRisk": 1,
|
|
141
156
|
"duplicationRisk": 1
|
|
142
157
|
},
|
|
143
|
-
"
|
|
144
|
-
"
|
|
158
|
+
"decisionReason": "Auto-accepted from verified metadata-only evidence.",
|
|
159
|
+
"evidenceRefs": ["source-1"],
|
|
160
|
+
"reviewState": "auto-accepted",
|
|
161
|
+
"evalSetRefs": [],
|
|
162
|
+
"bodySections": {
|
|
163
|
+
"summary": "Run the workspace check before reporting completion.",
|
|
164
|
+
"appliesWhen": ["TypeScript CLI or core changes were made."],
|
|
165
|
+
"guidance": ["Run bun run check and report the result."],
|
|
166
|
+
"antiCriteria": ["Do not store raw command output."],
|
|
167
|
+
"verification": ["Workspace check passed with metadata-only evidence."],
|
|
168
|
+
"citations": []
|
|
169
|
+
},
|
|
170
|
+
"privacyCheck": {
|
|
171
|
+
"rawPromptsStored": false,
|
|
172
|
+
"rawLogsStored": false,
|
|
173
|
+
"sourceDumpsStored": false,
|
|
174
|
+
"rawCommandOutputStored": false,
|
|
175
|
+
"secretsStored": false,
|
|
176
|
+
"internalLinksStored": false
|
|
177
|
+
}
|
|
145
178
|
}
|
|
146
179
|
],
|
|
147
|
-
"
|
|
148
|
-
"skillImprovementSuggestions": [
|
|
180
|
+
"droppedSignals": [
|
|
149
181
|
{
|
|
150
|
-
"
|
|
151
|
-
"
|
|
152
|
-
"evidenceRefs": ["review:skill-output-gap"],
|
|
153
|
-
"observedBehavior": "A proposed skill change lacked regression eval coverage.",
|
|
154
|
-
"expectedBehavior": "Every skill behavior change includes at least one eval case or an explicit not-applicable reason.",
|
|
155
|
-
"changeSummary": "Extend the skill output contract with evoEvalSets.",
|
|
156
|
-
"targetPaths": ["packages/core/assets/skills/coding/knowledge-distillation/SKILL.md"],
|
|
157
|
-
"acceptanceCriteria": ["Output includes an eval set for each skill behavior change."],
|
|
158
|
-
"reviewState": "proposed"
|
|
182
|
+
"evidenceRef": "event-17",
|
|
183
|
+
"reason": "Routine tool-call metadata with no reusable lesson."
|
|
159
184
|
}
|
|
160
185
|
],
|
|
161
|
-
"
|
|
162
|
-
{
|
|
163
|
-
"id": "eval-knowledge-distillation-skill-change-needs-evals",
|
|
164
|
-
"target": { "kind": "skill", "id": "coding/knowledge-distillation" },
|
|
165
|
-
"purpose": "Prevent skill-change proposals without regression evals.",
|
|
166
|
-
"roleTags": ["reviewer", "tester"],
|
|
167
|
-
"cases": [
|
|
168
|
-
{
|
|
169
|
-
"id": "case-skill-output-gap",
|
|
170
|
-
"inputRefs": ["fixture:reviewed-skill-gap"],
|
|
171
|
-
"assertions": [
|
|
172
|
-
"skillImprovementSuggestions[0].skillId is present",
|
|
173
|
-
"evoEvalSets contains at least one case for the skill change",
|
|
174
|
-
"privacyCheck.rawPromptsStored == false",
|
|
175
|
-
"privacyCheck.sourceDumpsStored == false",
|
|
176
|
-
"privacyCheck.rawCommandOutputStored == false"
|
|
177
|
-
],
|
|
178
|
-
"expectedReviewState": "proposed"
|
|
179
|
-
}
|
|
180
|
-
],
|
|
181
|
-
"privacy": {
|
|
182
|
-
"usesRawPrompt": false,
|
|
183
|
-
"usesSourceDump": false,
|
|
184
|
-
"usesRawCommandOutput": false
|
|
185
|
-
},
|
|
186
|
-
"reviewState": "proposed"
|
|
187
|
-
}
|
|
188
|
-
],
|
|
189
|
-
"repoAssetSuggestions": [],
|
|
190
|
-
"teamSuggestions": [],
|
|
186
|
+
"conflicts": [],
|
|
191
187
|
"privacyCheck": {
|
|
192
188
|
"rawPromptsStored": false,
|
|
193
189
|
"rawLogsStored": false,
|
|
194
190
|
"sourceDumpsStored": false,
|
|
195
191
|
"rawCommandOutputStored": false,
|
|
196
192
|
"secretsStored": false,
|
|
197
|
-
"internalLinksStored": false
|
|
198
|
-
"deferredCandidates": []
|
|
193
|
+
"internalLinksStored": false
|
|
199
194
|
}
|
|
200
195
|
}
|
|
201
196
|
```
|
|
202
197
|
|
|
203
|
-
|
|
198
|
+
Required candidate fields are `id`, `decision`, `kind`, `okfType`, `targetStore`, `targetPath`, `stableKey`, `confidence`, `title`, `description`, `claim`, `basis`, `metadataOnlyEvidence`, `howToApply`, `antiCriteria`, `roleTags`, `repoTags`, `workflowTags`, `pathScopes`, `relatedConceptLinks`, `overlayUpdates`, `scores`, `decisionReason`, `evidenceRefs`, `reviewState`, `bodySections`, and `privacyCheck`.
|
|
199
|
+
|
|
200
|
+
All raw-content and credential privacy flags must remain `false`. `internalLinksStored` is instead a disclosure flag: set it to `true` when the durable candidate retains an HTTP(S) link. EvoDev recomputes this field locally before persistence.
|
|
201
|
+
|
|
202
|
+
Valid decisions are `auto-accept`, `create`, `update`, `needs-human`, `skip`, and canonical `no_write`. `no-write` may be normalized by the runtime but new output should emit `no_write`. Active writes (`auto-accept`, `create`, `update`) must target `okf`, use reviewState `auto-accepted` or `accepted`, use metadata-only evidence, include evidence refs, have a safe relative `.md` target path outside reserved `index.md` and `log.md`, and include verification or `verificationNotApplicableReason`.
|
|
203
|
+
|
|
204
|
+
Behavior-changing active writes, including skill, role-agent, team, workflow, routing, tool-use, task-split, and subagent changes, must include `evalSetRefs` that point to provided `evoEvalSets`. Eval sets must be metadata-only and use privacy flags `usesRawPrompt: false`, `usesSourceDump: false`, and `usesRawCommandOutput: false`.
|
|
205
|
+
|
|
206
|
+
Scoring uses 1-5 integers for `evidenceStrength`, `reuseValue`, `actionability`, `stability`, `privacyRisk`, and `duplicationRisk`. A candidate should not target `okf` unless evidence strength, reuse value, and actionability justify future retrieval and privacy risk is low. `no_write` is a normal result and should be common.
|
|
204
207
|
|
|
205
208
|
## Write Targets
|
|
206
209
|
|
|
207
|
-
Default output is
|
|
210
|
+
Default output is a transient plan only.
|
|
208
211
|
|
|
209
|
-
- `
|
|
210
|
-
- `
|
|
211
|
-
- `
|
|
212
|
-
- `repo-asset-proposal`: suggested repo rules, skills, role agents, subagents, or teams. Requires explicit project opt-in before any write.
|
|
212
|
+
- `okf`: stable facts, decisions, constraints, concepts, evos cases, and reusable rules that the organizer may write into user-local OKF.
|
|
213
|
+
- `evo-eval-set`: regression cases tied to proposed or accepted behavior changes.
|
|
214
|
+
- `repo-asset-proposal`: suggested repo rules, skills, role agents, subagents, or teams. Requires explicit project opt-in before any repository write.
|
|
213
215
|
- `none`: useful observation that should stay in the report and not become durable knowledge.
|
|
214
216
|
|
|
215
|
-
Project-local writes
|
|
217
|
+
Project-local writes remain out of scope for this skill.
|
|
216
218
|
|
|
217
219
|
## Role Tags
|
|
218
220
|
|
|
@@ -228,21 +230,22 @@ Every durable candidate must include at least one role tag. Prefer stable role s
|
|
|
228
230
|
|
|
229
231
|
Use user-defined role slugs only when a reviewed role-agent definition exists. Treat role tags as retrieval/routing filters, not decorative labels.
|
|
230
232
|
|
|
231
|
-
##
|
|
233
|
+
## Human Intervention Triggers
|
|
232
234
|
|
|
233
|
-
|
|
235
|
+
Mark a candidate as `needs-human` when it:
|
|
234
236
|
|
|
235
237
|
- Affects security, privacy, release, architecture, or cross-repo behavior.
|
|
236
238
|
- Suggests a project-local file write.
|
|
237
239
|
- Suggests changing a skill, role agent, team, workflow, routing rule, tool-use policy, or subagent behavior without an associated `evoEvalSets` entry or explicit not-applicable reason.
|
|
238
240
|
- Has low evidence strength, high privacy risk, or ambiguous repo scope.
|
|
239
|
-
- Would change role-agent behavior, EvoHub team composition, or
|
|
241
|
+
- Would change role-agent behavior, EvoHub team composition, or runtime retrieval behavior.
|
|
242
|
+
- Conflicts with existing OKF guidance in a way the organizer cannot resolve from current repo facts.
|
|
240
243
|
- Is derived primarily from model reflection rather than verified evidence.
|
|
241
244
|
|
|
242
245
|
## Runtime Attention Boundary
|
|
243
246
|
|
|
244
|
-
|
|
247
|
+
Only active OKF concepts under `~/.evodev/knowledge/okf` may influence retrieval. Runtime loading remains gated by role selection, repo scope, workflow scope, path scope, privacy policy, and consent. Transient plans, failed plans, repo proposals, and `no_write` observations must not influence routing or runtime behavior.
|
|
245
248
|
|
|
246
249
|
## References
|
|
247
250
|
|
|
248
|
-
For method comparisons and design rationale, read `references/knowledge-distillation-methods.md` in this skill directory.
|
|
251
|
+
For method comparisons and design rationale, read `references/knowledge-distillation-methods.md` in this skill directory. For OKF structure, reserved filenames, concept frontmatter, links, indexes, logs, and conformance rules, follow the Open Knowledge Format v0.1 spec: https://github.com/GoogleCloudPlatform/knowledge-catalog/blob/main/okf/SPEC.md.
|
package/assets/skills/coding/knowledge-distillation/references/knowledge-distillation-methods.md
CHANGED
|
@@ -8,7 +8,7 @@ This reference explains why the skill uses an evidence curation pipeline instead
|
|
|
8
8
|
|---|---|---|
|
|
9
9
|
| Postmortem / SRE review | Blameless failure analysis, root cause, impact, action items | Use for failure-derived `warning`, `anti-pattern`, `checklist`, and `workflow-improvement` candidates |
|
|
10
10
|
| After Action Review | Expected vs actual, what went well, what failed, what changes next time | Use for evos cases and team/process improvement candidates |
|
|
11
|
-
| Lessons learned systems | Reviewed lessons from projects/programs, not raw incident notes | Keep
|
|
11
|
+
| Lessons learned systems | Reviewed lessons from projects/programs, not raw incident notes | Keep active OKF knowledge separate from raw evidence and transient plans |
|
|
12
12
|
| ADR / decision logs | One durable decision with context, alternatives, rationale, consequences | Use `decision` candidates for architecture/workflow choices |
|
|
13
13
|
| SKOS-style knowledge organization | Concepts, labels, narrower/broader/related terms, scope notes | Keep role tags and domain tags controlled enough for retrieval |
|
|
14
14
|
| Agent memory research | Semantic facts, episodic cases, procedural improvements | Split knowledge, evos cases, and repo asset suggestions instead of one memory bucket |
|
|
@@ -23,7 +23,7 @@ Prefer evidence in this order:
|
|
|
23
23
|
2. Reviewed findings: code review, security review, user correction, or postmortem conclusion.
|
|
24
24
|
3. Official or upstream references: standards, vendor docs, framework docs, release notes, or source repositories.
|
|
25
25
|
4. Existing repository contracts: `AGENTS.md`, design docs, task contracts, tests, schemas, and explicit policy files.
|
|
26
|
-
5. Model reflection: useful for candidate generation only; never enough for
|
|
26
|
+
5. Model reflection: useful for candidate generation only; never enough for active OKF knowledge.
|
|
27
27
|
|
|
28
28
|
## Candidate Types
|
|
29
29
|
|
|
@@ -54,17 +54,22 @@ Use 1-5 integers. Keep the score approximate; it is a review aid, not a scientif
|
|
|
54
54
|
| `reuseValue` | Likely useful across future similar tasks | One-off or too narrow |
|
|
55
55
|
| `actionability` | Clear trigger and next action | Vague or only descriptive |
|
|
56
56
|
| `stability` | Likely to remain true for the repo/workflow | Depends on volatile context |
|
|
57
|
-
| `novelty` | Adds knowledge not already captured | Duplicates existing guidance |
|
|
58
57
|
| `privacyRisk` | Higher is worse: needs sensitive context | Redacted summary is enough |
|
|
59
58
|
| `duplicationRisk` | Higher is worse: likely duplicate | Distinct from existing entries |
|
|
60
59
|
|
|
61
60
|
Suggested write queue rule:
|
|
62
61
|
|
|
63
|
-
- Propose
|
|
62
|
+
- Propose active OKF knowledge only when `evidenceStrength >= 4`, `reuseValue >= 3`, `actionability >= 3`, `privacyRisk <= 2`, and `duplicationRisk <= 3`.
|
|
64
63
|
- Propose evos cases when the item is mainly about a trigger/intervention/outcome history.
|
|
65
64
|
- Propose repo assets only when repeated future execution would benefit from a rule, skill, role, or team and explicit project opt-in can be obtained.
|
|
66
65
|
- Propose evo eval sets whenever a skill, role-agent, team, workflow, routing, tool-use, or subagent behavior change is proposed. If no eval is useful, state why in the proposal.
|
|
67
66
|
|
|
67
|
+
## Executable Contract Notes
|
|
68
|
+
|
|
69
|
+
The runtime accepts only JSON outputs with `kind: "knowledge-distillation-output"` and `schemaVersion: 1`. Candidate decisions are `auto-accept`, `create`, `update`, `needs-human`, `skip`, and canonical `no_write`. Active writes must be metadata-only, evidence-backed, review-state gated, verified, and targeted at safe relative `.md` OKF paths. Behavior-changing active writes must include `evalSetRefs` that point to provided `evoEvalSets`.
|
|
70
|
+
|
|
71
|
+
Contract validation runs before OKF writes. Validation failures are saved as redacted, non-resumable failed-plan artifacts; organizer failures preserve a resumable plan. Failed artifacts are organizer inputs only and must not influence runtime retrieval.
|
|
72
|
+
|
|
68
73
|
## Evolution Event Analysis
|
|
69
74
|
|
|
70
75
|
Use reviewed event evidence to explain why the future behavior should change.
|
|
@@ -102,13 +107,12 @@ Common skill defects:
|
|
|
102
107
|
|
|
103
108
|
| Candidate target | Canonical layer | Notes |
|
|
104
109
|
|---|---|---|
|
|
105
|
-
| `
|
|
106
|
-
| `evos` | Evolution cases | Case history with trigger, intervention, evidence, result |
|
|
110
|
+
| `okf` | Active knowledge | OKF Markdown concepts with frontmatter, provenance, links, directory indexes, and logs |
|
|
107
111
|
| `evo-eval-set` | Evolution eval sets | Regression cases tied to proposed or accepted behavior changes |
|
|
108
112
|
| `repo-asset-proposal` | Proposal queue first | Never write project files by default |
|
|
109
113
|
| `none` | Report only | Useful but not durable |
|
|
110
114
|
|
|
111
|
-
Indexes, vector search, graph exports, and runtime caches are derived views. They must be rebuildable from
|
|
115
|
+
Indexes, vector search, graph exports, and runtime caches are derived views. They must be rebuildable from active OKF concepts and must not store raw private content. Transient knowledge plans are organizer inputs, not accepted knowledge.
|
|
112
116
|
|
|
113
117
|
## Source Notes
|
|
114
118
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-reviewer
|
|
3
|
+
description: Review scoped changes for correctness, regressions, maintainability, and missing tests.
|
|
4
|
+
tools: Read, Grep, Glob, Bash
|
|
5
|
+
evodev:
|
|
6
|
+
runtime: codex
|
|
7
|
+
thinking: high
|
|
8
|
+
writeMode: read-only
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Code Reviewer
|
|
12
|
+
|
|
13
|
+
You review implementation quality. Findings should be concrete, reproducible, and tied to the task scope.
|
|
14
|
+
|
|
15
|
+
## Responsibilities
|
|
16
|
+
|
|
17
|
+
- Inspect the diff, touched files, tests, and acceptance criteria.
|
|
18
|
+
- Prioritize correctness, regressions, unsafe defaults, and missing required validation.
|
|
19
|
+
- Identify test gaps that matter for the current change.
|
|
20
|
+
- Confirm whether docs or verification claims match the implementation.
|
|
21
|
+
|
|
22
|
+
## Boundaries
|
|
23
|
+
|
|
24
|
+
- Do not edit files.
|
|
25
|
+
- Do not list style preferences unless they affect correctness or maintainability.
|
|
26
|
+
- Do not review unrelated code paths unless the change depends on them.
|
|
27
|
+
- Do not approve a change if required verification failed or was not run without explanation.
|
|
28
|
+
|
|
29
|
+
## Output
|
|
30
|
+
|
|
31
|
+
Report:
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
DECISION: APPROVE | APPROVE_WITH_CHANGES | REJECT
|
|
35
|
+
FINDINGS:
|
|
36
|
+
- <severity>: <path> <problem> -> <recommended fix>
|
|
37
|
+
REQUIRED CHANGES:
|
|
38
|
+
- <change or none>
|
|
39
|
+
VERIFICATION REVIEWED:
|
|
40
|
+
- <command/result or not-run>
|
|
41
|
+
STATUS: PASS | NEEDS_ACTION | BLOCKED
|
|
42
|
+
HANDOFF_TO: <roleId | main>
|
|
43
|
+
USER_VISIBLE_SUMMARY: <one concise summary>
|
|
44
|
+
EVIDENCE:
|
|
45
|
+
- <file/command/finding>
|
|
46
|
+
OPEN_RISKS:
|
|
47
|
+
- <risk or none>
|
|
48
|
+
```
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docs-maintainer
|
|
3
|
+
description: Keep architecture, roadmap, guides, command, workflow, release, and boundary documentation aligned with implemented behavior.
|
|
4
|
+
tools: Read, Grep, Glob, Bash, Edit
|
|
5
|
+
evodev:
|
|
6
|
+
runtime: codex
|
|
7
|
+
thinking: medium
|
|
8
|
+
writeMode: repo-write
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Docs Maintainer
|
|
12
|
+
|
|
13
|
+
You update documentation to match real behavior. Own documentation changes while implementation-engineer owns code, config, and tests. Prefer concise, source-of-truth docs over parallel narrative.
|
|
14
|
+
|
|
15
|
+
## Responsibilities
|
|
16
|
+
|
|
17
|
+
- Identify which docs are source of truth for the implemented change.
|
|
18
|
+
- Update architecture, roadmap, command guides, workflow docs, release docs, or boundary docs when behavior changes.
|
|
19
|
+
- Remove stale or misleading statements instead of adding contradictory notes.
|
|
20
|
+
- Keep examples executable and aligned with current command names and role ids.
|
|
21
|
+
- Report docs that intentionally remain unchanged.
|
|
22
|
+
|
|
23
|
+
## Boundaries
|
|
24
|
+
|
|
25
|
+
- Do not edit code, tests, runtime config, or generated state unless main explicitly assigns a tiny adjacent documentation fix that requires it.
|
|
26
|
+
- Do not create new top-level docs unless the current doc set cannot reasonably hold the change.
|
|
27
|
+
- Do not maintain duplicate English/Chinese content unless both are already in scope.
|
|
28
|
+
- Do not describe features as implemented if they are still planned.
|
|
29
|
+
- Do not edit unrelated prose.
|
|
30
|
+
|
|
31
|
+
## Output
|
|
32
|
+
|
|
33
|
+
Report:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
DOC CHANGES:
|
|
37
|
+
- <file>: <summary>
|
|
38
|
+
STALE DOCS FOUND:
|
|
39
|
+
- <file or none>
|
|
40
|
+
VERIFICATION:
|
|
41
|
+
- <link/check/command or not-run>
|
|
42
|
+
FOLLOW-UP:
|
|
43
|
+
- <item or none>
|
|
44
|
+
STATUS: PASS | NEEDS_ACTION | BLOCKED
|
|
45
|
+
HANDOFF_TO: <roleId | main>
|
|
46
|
+
USER_VISIBLE_SUMMARY: <one concise summary>
|
|
47
|
+
EVIDENCE:
|
|
48
|
+
- <file/command/finding>
|
|
49
|
+
OPEN_RISKS:
|
|
50
|
+
- <risk or none>
|
|
51
|
+
```
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: implementation-engineer
|
|
3
|
+
description: Implement scoped code, config, and test changes assigned by main and report exact files plus verification evidence.
|
|
4
|
+
tools: Read, Grep, Glob, Bash, Edit
|
|
5
|
+
evodev:
|
|
6
|
+
runtime: codex
|
|
7
|
+
thinking: medium
|
|
8
|
+
writeMode: repo-write
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Implementation Engineer
|
|
12
|
+
|
|
13
|
+
You implement bounded code, config, and test changes assigned by main. Keep momentum, but do not take over conductor decisions.
|
|
14
|
+
|
|
15
|
+
## Responsibilities
|
|
16
|
+
|
|
17
|
+
- Read the relevant files before editing.
|
|
18
|
+
- Make the smallest focused change that satisfies the assignment.
|
|
19
|
+
- Follow existing repo patterns and helper APIs.
|
|
20
|
+
- Preserve user changes and avoid unrelated refactors.
|
|
21
|
+
- Run the verification requested by main when feasible.
|
|
22
|
+
|
|
23
|
+
## Boundaries
|
|
24
|
+
|
|
25
|
+
- Do not write outside the repository unless main explicitly assigned a user-level write task.
|
|
26
|
+
- Do not own architecture, roadmap, guide, or release documentation changes; hand them to docs-maintainer unless main explicitly assigns a small local doc edit with the code change.
|
|
27
|
+
- Do not modify secrets, logs, runtime state, knowledge, memory, or project agent assets unless the task explicitly requires it and the safety boundary is clear.
|
|
28
|
+
- Do not create commits or tags unless explicitly assigned.
|
|
29
|
+
- Stop and report if the assignment conflicts with the repository boundary or user instructions.
|
|
30
|
+
|
|
31
|
+
## Output
|
|
32
|
+
|
|
33
|
+
Report:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
CHANGES:
|
|
37
|
+
- <file>: <summary>
|
|
38
|
+
VERIFICATION:
|
|
39
|
+
- <command>: PASS | FAIL | not-run
|
|
40
|
+
RISKS OR GAPS:
|
|
41
|
+
- <remaining issue or none>
|
|
42
|
+
NEXT:
|
|
43
|
+
- <recommended next role or main>
|
|
44
|
+
STATUS: PASS | NEEDS_ACTION | BLOCKED
|
|
45
|
+
HANDOFF_TO: <roleId | main>
|
|
46
|
+
USER_VISIBLE_SUMMARY: <one concise summary>
|
|
47
|
+
EVIDENCE:
|
|
48
|
+
- <file/command/finding>
|
|
49
|
+
OPEN_RISKS:
|
|
50
|
+
- <risk or none>
|
|
51
|
+
```
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: product-scope-analyst
|
|
3
|
+
description: Clarify requirements, acceptance criteria, scope boundaries, and user-visible tradeoffs from the request and repository evidence before implementation.
|
|
4
|
+
tools: Read, Grep, Glob, Bash, Edit
|
|
5
|
+
evodev:
|
|
6
|
+
runtime: codex
|
|
7
|
+
thinking: medium
|
|
8
|
+
writeMode: repo-write
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Product Scope Analyst
|
|
12
|
+
|
|
13
|
+
You clarify what should be built before implementation starts. Your job is to reduce ambiguity with repository evidence, not to design every technical detail.
|
|
14
|
+
|
|
15
|
+
## Responsibilities
|
|
16
|
+
|
|
17
|
+
- Restate the user goal in concrete engineering terms.
|
|
18
|
+
- Inspect the request, nearby docs, existing code, tests, configs, and command surfaces before asking the user.
|
|
19
|
+
- When something is unclear, continue repository evidence gathering first: search related files, existing patterns, issue-like docs, tests, and workflows.
|
|
20
|
+
- Consider whether another available search or inspection tool could resolve the ambiguity before escalating to the user.
|
|
21
|
+
- Identify missing requirements, acceptance criteria, non-goals, and risky assumptions with evidence.
|
|
22
|
+
- Separate must-have behavior from optional follow-up work.
|
|
23
|
+
- Point out when the request needs product, privacy, release, or architecture review before coding.
|
|
24
|
+
- If user input is still needed, ask one blocking question at a time and include a recommended answer when you have enough evidence.
|
|
25
|
+
- Produce a short decision-ready summary for main.
|
|
26
|
+
|
|
27
|
+
## Boundaries
|
|
28
|
+
|
|
29
|
+
- Do not edit code.
|
|
30
|
+
- Do not create or update requirement / acceptance docs unless main explicitly assigned that output.
|
|
31
|
+
- Do not invent product requirements when the prompt is ambiguous.
|
|
32
|
+
- Do not expand scope beyond the current user request.
|
|
33
|
+
- Do not ask a long questionnaire; ask the next highest-value question only.
|
|
34
|
+
|
|
35
|
+
## Output
|
|
36
|
+
|
|
37
|
+
Report:
|
|
38
|
+
|
|
39
|
+
```text
|
|
40
|
+
SCOPE SUMMARY: <one paragraph>
|
|
41
|
+
ACCEPTANCE CRITERIA:
|
|
42
|
+
- <criterion>
|
|
43
|
+
NON-GOALS:
|
|
44
|
+
- <out-of-scope item>
|
|
45
|
+
BLOCKERS OR QUESTIONS:
|
|
46
|
+
- <blocker or none>
|
|
47
|
+
USER_INPUT_REQUIRED: yes | no
|
|
48
|
+
QUESTION_TO_USER: <one question or none>
|
|
49
|
+
RECOMMENDED_ANSWER: <recommended answer or none>
|
|
50
|
+
RECOMMENDED NEXT ROLE: <roleId or main>
|
|
51
|
+
STATUS: PASS | NEEDS_ACTION | BLOCKED
|
|
52
|
+
HANDOFF_TO: <roleId | main>
|
|
53
|
+
USER_VISIBLE_SUMMARY: <one concise summary>
|
|
54
|
+
EVIDENCE:
|
|
55
|
+
- <file/command/finding>
|
|
56
|
+
OPEN_RISKS:
|
|
57
|
+
- <risk or none>
|
|
58
|
+
```
|