@xn-intenton-z2a/agentic-lib 7.4.1 → 7.4.2
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/.github/workflows/agentic-lib-init.yml +21 -21
- package/README.md +32 -11
- package/bin/agentic-lib.js +4 -4
- package/package.json +1 -1
- package/src/mcp/server.js +1 -1
- package/src/seeds/zero-package.json +1 -1
- /package/src/seeds/missions/{c64-emulator.md → 1-dan-create-c64-emulator.md} +0 -0
- /package/src/seeds/missions/{ray-tracer.md → 1-kyu-create-ray-tracer.md} +0 -0
- /package/src/seeds/missions/{agi.md → 2-dan-create-agi.md} +0 -0
- /package/src/seeds/missions/{plot-code-lib.md → 2-kyu-create-plot-code-lib.md} +0 -0
- /package/src/seeds/missions/{markdown-compiler.md → 2-kyu-evaluate-markdown-compiler.md} +0 -0
- /package/src/seeds/missions/{lunar-lander.md → 3-kyu-analyze-lunar-lander.md} +0 -0
- /package/src/seeds/missions/{owl-ontology.md → 3-kyu-evaluate-owl-ontology.md} +0 -0
- /package/src/seeds/missions/{time-series-lab.md → 3-kyu-evaluate-time-series-lab.md} +0 -0
- /package/src/seeds/missions/{json-schema-diff.md → 4-kyu-analyze-json-schema-diff.md} +0 -0
- /package/src/seeds/missions/{cron-engine.md → 4-kyu-apply-cron-engine.md} +0 -0
- /package/src/seeds/missions/{dense-encoding.md → 4-kyu-apply-dense-encoding.md} +0 -0
- /package/src/seeds/missions/{string-utils.md → 5-kyu-apply-string-utils.md} +0 -0
- /package/src/seeds/missions/{ascii-face.md → 5-kyu-create-ascii-face.md} +0 -0
- /package/src/seeds/missions/{hamming-distance.md → 6-kyu-understand-hamming-distance.md} +0 -0
- /package/src/seeds/missions/{roman-numerals.md → 6-kyu-understand-roman-numerals.md} +0 -0
- /package/src/seeds/missions/{fizz-buzz.md → 7-kyu-understand-fizz-buzz.md} +0 -0
- /package/src/seeds/missions/{empty.md → 8-kyu-remember-empty.md} +0 -0
- /package/src/seeds/missions/{hello-world.md → 8-kyu-remember-hello-world.md} +0 -0
|
@@ -27,7 +27,7 @@ on:
|
|
|
27
27
|
mission-seed:
|
|
28
28
|
type: string
|
|
29
29
|
required: false
|
|
30
|
-
default: "hamming-distance"
|
|
30
|
+
default: "6-kyu-understand-hamming-distance"
|
|
31
31
|
mission-text:
|
|
32
32
|
type: string
|
|
33
33
|
required: false
|
|
@@ -64,26 +64,26 @@ on:
|
|
|
64
64
|
description: "Mission seed name (purge only)"
|
|
65
65
|
type: choice
|
|
66
66
|
required: false
|
|
67
|
-
default: "hamming-distance"
|
|
67
|
+
default: "6-kyu-understand-hamming-distance"
|
|
68
68
|
options:
|
|
69
|
-
- hamming-distance
|
|
70
|
-
- agi
|
|
71
|
-
- ascii-face
|
|
72
|
-
- c64-emulator
|
|
73
|
-
- cron-engine
|
|
74
|
-
- dense-encoding
|
|
75
|
-
- fizz-buzz
|
|
76
|
-
- hello-world
|
|
77
|
-
- json-schema-diff
|
|
78
|
-
- lunar-lander
|
|
79
|
-
- markdown-compiler
|
|
80
|
-
- owl-ontology
|
|
81
|
-
- plot-code-lib
|
|
82
|
-
- ray-tracer
|
|
83
|
-
- roman-numerals
|
|
84
|
-
- string-utils
|
|
85
|
-
- time-series-lab
|
|
86
|
-
- empty
|
|
69
|
+
- 6-kyu-understand-hamming-distance
|
|
70
|
+
- 2-dan-create-agi
|
|
71
|
+
- 5-kyu-create-ascii-face
|
|
72
|
+
- 1-dan-create-c64-emulator
|
|
73
|
+
- 4-kyu-apply-cron-engine
|
|
74
|
+
- 4-kyu-apply-dense-encoding
|
|
75
|
+
- 7-kyu-understand-fizz-buzz
|
|
76
|
+
- 8-kyu-remember-hello-world
|
|
77
|
+
- 4-kyu-analyze-json-schema-diff
|
|
78
|
+
- 3-kyu-analyze-lunar-lander
|
|
79
|
+
- 2-kyu-evaluate-markdown-compiler
|
|
80
|
+
- 3-kyu-evaluate-owl-ontology
|
|
81
|
+
- 2-kyu-create-plot-code-lib
|
|
82
|
+
- 1-kyu-create-ray-tracer
|
|
83
|
+
- 6-kyu-understand-roman-numerals
|
|
84
|
+
- 5-kyu-apply-string-utils
|
|
85
|
+
- 3-kyu-evaluate-time-series-lab
|
|
86
|
+
- 8-kyu-remember-empty
|
|
87
87
|
mission-text:
|
|
88
88
|
description: "Freeform mission text for MISSION.md (overrides mission-seed if provided)"
|
|
89
89
|
type: string
|
|
@@ -140,7 +140,7 @@ jobs:
|
|
|
140
140
|
runs-on: ubuntu-latest
|
|
141
141
|
env:
|
|
142
142
|
INIT_MODE: ${{ inputs.mode }}
|
|
143
|
-
INIT_MISSION_SEED: ${{ inputs.mission-seed || 'hamming-distance' }}
|
|
143
|
+
INIT_MISSION_SEED: ${{ inputs.mission-seed || '6-kyu-understand-hamming-distance' }}
|
|
144
144
|
INIT_MISSION_TEXT: ${{ inputs.mission-text }}
|
|
145
145
|
steps:
|
|
146
146
|
- uses: actions/checkout@v6
|
package/README.md
CHANGED
|
@@ -243,7 +243,7 @@ All task commands accept these flags:
|
|
|
243
243
|
| `--dry-run` | off | Show the prompt without calling the Copilot SDK |
|
|
244
244
|
| `--target <path>` | current directory | Target repository to transform |
|
|
245
245
|
| `--model <name>` | `claude-sonnet-4` | Copilot SDK model |
|
|
246
|
-
| `--mission <name>` | hamming-distance | Init with --purge before iterating (iterate only) |
|
|
246
|
+
| `--mission <name>` | 6-kyu-understand-hamming-distance | Init with --purge before iterating (iterate only) |
|
|
247
247
|
| `--timeout <ms>` | 600000 | Session timeout in milliseconds (iterate only) |
|
|
248
248
|
|
|
249
249
|
### Example: Full Walkthrough
|
|
@@ -303,18 +303,39 @@ The `iterate` command runs a single persistent Copilot SDK session that autonomo
|
|
|
303
303
|
|
|
304
304
|
```bash
|
|
305
305
|
# Init a mission and iterate
|
|
306
|
-
npx @xn-intenton-z2a/agentic-lib iterate --mission hamming-distance --model gpt-5-mini
|
|
306
|
+
npx @xn-intenton-z2a/agentic-lib iterate --mission 6-kyu-understand-hamming-distance --model gpt-5-mini
|
|
307
307
|
|
|
308
308
|
# Iterate on an existing workspace
|
|
309
309
|
npx @xn-intenton-z2a/agentic-lib iterate --target /path/to/workspace
|
|
310
310
|
|
|
311
311
|
# With a longer timeout (10 minutes)
|
|
312
|
-
npx @xn-intenton-z2a/agentic-lib iterate --mission fizz-buzz --timeout 600000
|
|
312
|
+
npx @xn-intenton-z2a/agentic-lib iterate --mission 7-kyu-understand-fizz-buzz --timeout 600000
|
|
313
313
|
```
|
|
314
314
|
|
|
315
315
|
The session uses SDK hooks for observability (tool call tracking, error recovery) and infinite sessions for context management. The agent drives its own read-write-test loop until the mission is complete or the timeout is reached.
|
|
316
316
|
|
|
317
|
-
**Available missions
|
|
317
|
+
**Available missions** (see `src/seeds/missions/`). Mission names encode difficulty ([Codewars kyu/dan](https://docs.codewars.com/concepts/kata/)) and cognitive type ([Bloom's taxonomy](https://en.wikipedia.org/wiki/Bloom%27s_taxonomy)):
|
|
318
|
+
|
|
319
|
+
| Mission | Kyu/Dan | Bloom's | Description |
|
|
320
|
+
|---------|---------|---------|-------------|
|
|
321
|
+
| `8-kyu-remember-empty` | 8 kyu | Remember | Blank template |
|
|
322
|
+
| `8-kyu-remember-hello-world` | 8 kyu | Remember | Hello World |
|
|
323
|
+
| `7-kyu-understand-fizz-buzz` | 7 kyu | Understand | Classic FizzBuzz |
|
|
324
|
+
| `6-kyu-understand-hamming-distance` | 6 kyu | Understand | Hamming distance (strings + bits) |
|
|
325
|
+
| `6-kyu-understand-roman-numerals` | 6 kyu | Understand | Roman numeral conversion |
|
|
326
|
+
| `5-kyu-create-ascii-face` | 5 kyu | Create | ASCII face art |
|
|
327
|
+
| `5-kyu-apply-string-utils` | 5 kyu | Apply | 10 string utility functions |
|
|
328
|
+
| `4-kyu-apply-cron-engine` | 4 kyu | Apply | Cron expression parser |
|
|
329
|
+
| `4-kyu-apply-dense-encoding` | 4 kyu | Apply | Dense binary encoding |
|
|
330
|
+
| `4-kyu-analyze-json-schema-diff` | 4 kyu | Analyze | JSON Schema diff |
|
|
331
|
+
| `3-kyu-analyze-lunar-lander` | 3 kyu | Analyze | Lunar lander simulation |
|
|
332
|
+
| `3-kyu-evaluate-time-series-lab` | 3 kyu | Evaluate | Time series analysis |
|
|
333
|
+
| `3-kyu-evaluate-owl-ontology` | 3 kyu | Evaluate | OWL ontology processor |
|
|
334
|
+
| `2-kyu-evaluate-markdown-compiler` | 2 kyu | Evaluate | Markdown compiler |
|
|
335
|
+
| `2-kyu-create-plot-code-lib` | 2 kyu | Create | Code visualization library |
|
|
336
|
+
| `1-kyu-create-ray-tracer` | 1 kyu | Create | Ray tracer |
|
|
337
|
+
| `1-dan-create-c64-emulator` | 1 dan | Create | C64 emulator |
|
|
338
|
+
| `2-dan-create-agi` | 2 dan | Create | AGI vision |
|
|
318
339
|
|
|
319
340
|
### Running Local Benchmarks
|
|
320
341
|
|
|
@@ -338,28 +359,28 @@ source .env
|
|
|
338
359
|
**Run a benchmark:**
|
|
339
360
|
|
|
340
361
|
```bash
|
|
341
|
-
# Quick: hamming-distance with gpt-5-mini (
|
|
362
|
+
# Quick: hamming-distance with gpt-5-mini (6 kyu, ~1-2 min)
|
|
342
363
|
npx @xn-intenton-z2a/agentic-lib iterate \
|
|
343
|
-
--mission hamming-distance --model gpt-5-mini --timeout 300000
|
|
364
|
+
--mission 6-kyu-understand-hamming-distance --model gpt-5-mini --timeout 300000
|
|
344
365
|
|
|
345
366
|
# Medium: roman-numerals with claude-sonnet-4
|
|
346
367
|
npx @xn-intenton-z2a/agentic-lib iterate \
|
|
347
|
-
--mission roman-numerals --model claude-sonnet-4
|
|
368
|
+
--mission 6-kyu-understand-roman-numerals --model claude-sonnet-4
|
|
348
369
|
|
|
349
|
-
# Complex: string-utils with gpt-4.1 (10 functions, longer timeout)
|
|
370
|
+
# Complex: string-utils with gpt-4.1 (5 kyu, 10 functions, longer timeout)
|
|
350
371
|
npx @xn-intenton-z2a/agentic-lib iterate \
|
|
351
|
-
--mission string-utils --model gpt-4.1 --timeout 600000
|
|
372
|
+
--mission 5-kyu-apply-string-utils --model gpt-4.1 --timeout 600000
|
|
352
373
|
```
|
|
353
374
|
|
|
354
375
|
**From a local clone** (development):
|
|
355
376
|
|
|
356
377
|
```bash
|
|
357
378
|
# From the agentic-lib directory
|
|
358
|
-
npx . iterate --mission hamming-distance --model gpt-5-mini --target /tmp/bench
|
|
379
|
+
npx . iterate --mission 6-kyu-understand-hamming-distance --model gpt-5-mini --target /tmp/bench
|
|
359
380
|
|
|
360
381
|
# Or link globally
|
|
361
382
|
npm link
|
|
362
|
-
agentic-lib iterate --mission hamming-distance --model gpt-5-mini --target /tmp/bench
|
|
383
|
+
agentic-lib iterate --mission 6-kyu-understand-hamming-distance --model gpt-5-mini --target /tmp/bench
|
|
363
384
|
```
|
|
364
385
|
|
|
365
386
|
**Output:**
|
package/bin/agentic-lib.js
CHANGED
|
@@ -63,7 +63,7 @@ Options:
|
|
|
63
63
|
--reseed Clear features + activity log (keep source code)
|
|
64
64
|
--dry-run Show what would be done without making changes
|
|
65
65
|
--target <path> Target repository (default: current directory)
|
|
66
|
-
--mission <name> Mission seed name (default: hamming-distance) [purge only]
|
|
66
|
+
--mission <name> Mission seed name (default: 6-kyu-understand-hamming-distance) [purge only]
|
|
67
67
|
--mission-file <path> Use a custom mission file instead of a built-in seed
|
|
68
68
|
--list-missions List available built-in mission seeds
|
|
69
69
|
--here Discover the project and generate a MISSION.md, then iterate
|
|
@@ -79,7 +79,7 @@ Examples:
|
|
|
79
79
|
npx @xn-intenton-z2a/agentic-lib transform
|
|
80
80
|
npx @xn-intenton-z2a/agentic-lib maintain-features --model gpt-5-mini
|
|
81
81
|
npx @xn-intenton-z2a/agentic-lib reset --dry-run
|
|
82
|
-
npx @xn-intenton-z2a/agentic-lib iterate --mission fizz-buzz
|
|
82
|
+
npx @xn-intenton-z2a/agentic-lib iterate --mission 7-kyu-understand-fizz-buzz
|
|
83
83
|
npx @xn-intenton-z2a/agentic-lib iterate --mission-file ~/my-mission.md
|
|
84
84
|
npx @xn-intenton-z2a/agentic-lib iterate --here
|
|
85
85
|
npx @xn-intenton-z2a/agentic-lib iterate --list-missions
|
|
@@ -107,7 +107,7 @@ const target = resolve(targetPath);
|
|
|
107
107
|
const modelIdx = flags.indexOf("--model");
|
|
108
108
|
const model = modelIdx >= 0 ? flags[modelIdx + 1] : "claude-sonnet-4";
|
|
109
109
|
const missionIdx = flags.indexOf("--mission");
|
|
110
|
-
const mission = missionIdx >= 0 ? flags[missionIdx + 1] : "hamming-distance";
|
|
110
|
+
const mission = missionIdx >= 0 ? flags[missionIdx + 1] : "6-kyu-understand-hamming-distance";
|
|
111
111
|
const cyclesIdx = flags.indexOf("--cycles");
|
|
112
112
|
const cycles = cyclesIdx >= 0 ? parseInt(flags[cyclesIdx + 1], 10) : 0;
|
|
113
113
|
const stepsIdx = flags.indexOf("--steps");
|
|
@@ -277,7 +277,7 @@ async function runIterate() {
|
|
|
277
277
|
}
|
|
278
278
|
console.log(`\n=== Init with custom mission: ${missionFile} ===\n`);
|
|
279
279
|
execSync(
|
|
280
|
-
`node ${resolve(pkgRoot, "bin/agentic-lib.js")} init --purge --mission empty --target ${target}`,
|
|
280
|
+
`node ${resolve(pkgRoot, "bin/agentic-lib.js")} init --purge --mission 8-kyu-remember-empty --target ${target}`,
|
|
281
281
|
{ encoding: "utf8", timeout: 60000, stdio: "inherit" },
|
|
282
282
|
);
|
|
283
283
|
// Overwrite MISSION.md with the custom file
|
package/package.json
CHANGED
package/src/mcp/server.js
CHANGED
|
@@ -120,7 +120,7 @@ const TOOLS = [
|
|
|
120
120
|
properties: {
|
|
121
121
|
mission: {
|
|
122
122
|
type: "string",
|
|
123
|
-
description: "Mission seed name (e.g. 'hamming-distance', 'fizz-buzz')",
|
|
123
|
+
description: "Mission seed name (e.g. '6-kyu-understand-hamming-distance', '7-kyu-understand-fizz-buzz')",
|
|
124
124
|
},
|
|
125
125
|
profile: {
|
|
126
126
|
type: "string",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|