@dzhechkov/keysarium 1.5.36 → 1.5.38
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/.dz-manifest.json +60 -20
- package/README.md +51 -4
- package/package.json +1 -1
- package/sbom.json +119 -19
- package/templates/.claude/skills/feature-adr/SKILL.md +48 -7
- package/templates/.claude/skills/feature-adr/modules/01-requirements.md +26 -0
- package/templates/.claude/skills/feature-adr/modules/02-research.md +26 -0
- package/templates/.claude/skills/feature-adr/modules/03-adr.md +26 -0
- package/templates/.claude/skills/feature-adr/modules/03.5-ideation-swarm.md +25 -0
- package/templates/.claude/skills/feature-adr/modules/04-ddd.md +25 -0
- package/templates/.claude/skills/feature-adr/modules/05-architecture.md +26 -0
- package/templates/.claude/skills/feature-adr/modules/06-implementation-plan.md +81 -4
- package/templates/.claude/skills/feature-adr/modules/08-qe.md +14 -1
- package/templates/.claude/skills/feature-adr/scripts/check-plan-completeness.mjs +303 -0
- package/templates/.claude/skills/goap-research-ed25519/SKILL.md +340 -47
- package/templates/.claude/skills/goap-research-ed25519/scripts/check_report_evidence.py +359 -3
- package/templates/.claude/skills/goap-research-ed25519/scripts/ed25519_verifier.py +386 -13
- package/templates/.claude/skills/goap-research-ed25519/scripts/fixture_legacy_v2_fact.json +23 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/fixtures_field_cases.json +133 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/goap_planner.py +314 -44
- package/templates/.claude/skills/goap-research-ed25519/scripts/learning_bridge.py +890 -303
- package/templates/.claude/skills/goap-research-ed25519/scripts/population_match.py +591 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/risk_statement.py +289 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_ed25519_verifier.py +57 -2
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_evidence_provenance.py +969 -344
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_goap_planner.py +420 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_population_match.py +544 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_risk_absolute.py +239 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_signature_v3.py +554 -0
- package/templates/.claude/skills/goap-research-ed25519/scripts/test_suite_completeness.py +90 -0
package/.dz-manifest.json
CHANGED
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
},
|
|
10
10
|
{
|
|
11
11
|
"path": "CHANGELOG.md",
|
|
12
|
-
"sha256": "
|
|
12
|
+
"sha256": "8dc44c1a37773e4e3694b762bb4299a6a44b3d12cf9a82ef090a64a981dc15df"
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"path": "README.md",
|
|
16
|
-
"sha256": "
|
|
16
|
+
"sha256": "af4141462abceb73123b2eb0f6fe40b246cc6b13e71e24dc0adfa480a662b460"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"path": "README.ru.md",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
"path": "package.json",
|
|
32
|
-
"sha256": "
|
|
32
|
+
"sha256": "aa334623a752b0d20d045e30e98073760aa02d73f1d462debb312e1e91079b2d"
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
"path": "scripts/sync-templates.js",
|
|
@@ -365,7 +365,7 @@
|
|
|
365
365
|
},
|
|
366
366
|
{
|
|
367
367
|
"path": "templates/.claude/skills/feature-adr/SKILL.md",
|
|
368
|
-
"sha256": "
|
|
368
|
+
"sha256": "bdedfed69d985eb6969f158a72d92f63c6b1b993008c3661f7ffc2c6a7ccfbae"
|
|
369
369
|
},
|
|
370
370
|
{
|
|
371
371
|
"path": "templates/.claude/skills/feature-adr/examples/sample-feature-output.md",
|
|
@@ -377,31 +377,31 @@
|
|
|
377
377
|
},
|
|
378
378
|
{
|
|
379
379
|
"path": "templates/.claude/skills/feature-adr/modules/01-requirements.md",
|
|
380
|
-
"sha256": "
|
|
380
|
+
"sha256": "e6ea3a224b555d5b7410cf2ddf02a3fb8d009fa01109463353e2b993c318270c"
|
|
381
381
|
},
|
|
382
382
|
{
|
|
383
383
|
"path": "templates/.claude/skills/feature-adr/modules/02-research.md",
|
|
384
|
-
"sha256": "
|
|
384
|
+
"sha256": "e2506e42251c74485188473acc4586f841afbec3ae7c5eaa8a3d8f73f6e14cc5"
|
|
385
385
|
},
|
|
386
386
|
{
|
|
387
387
|
"path": "templates/.claude/skills/feature-adr/modules/03-adr.md",
|
|
388
|
-
"sha256": "
|
|
388
|
+
"sha256": "ea03eee136c89267888b8034baa1a1cb0057314a2e745df71654a9ebee5d46b6"
|
|
389
389
|
},
|
|
390
390
|
{
|
|
391
391
|
"path": "templates/.claude/skills/feature-adr/modules/03.5-ideation-swarm.md",
|
|
392
|
-
"sha256": "
|
|
392
|
+
"sha256": "d48a8d6eebf9760cc8f1a4f19df0e6afc31fcc1284b5eacfb604ad8ced6a0b53"
|
|
393
393
|
},
|
|
394
394
|
{
|
|
395
395
|
"path": "templates/.claude/skills/feature-adr/modules/04-ddd.md",
|
|
396
|
-
"sha256": "
|
|
396
|
+
"sha256": "e9504cf1183bc0105167dc06108860882941fcf1b5be79d1978d8212c410ffbb"
|
|
397
397
|
},
|
|
398
398
|
{
|
|
399
399
|
"path": "templates/.claude/skills/feature-adr/modules/05-architecture.md",
|
|
400
|
-
"sha256": "
|
|
400
|
+
"sha256": "2ef7cf316903f0cbb1fabe1f0e1770c22b2cb3a11a4118cac0529c25074b5e8a"
|
|
401
401
|
},
|
|
402
402
|
{
|
|
403
403
|
"path": "templates/.claude/skills/feature-adr/modules/06-implementation-plan.md",
|
|
404
|
-
"sha256": "
|
|
404
|
+
"sha256": "3903e2694ad47782914b35869bbf19c5f0803b6dafdcfb629df343a5ff00d1b9"
|
|
405
405
|
},
|
|
406
406
|
{
|
|
407
407
|
"path": "templates/.claude/skills/feature-adr/modules/07-code.md",
|
|
@@ -409,7 +409,7 @@
|
|
|
409
409
|
},
|
|
410
410
|
{
|
|
411
411
|
"path": "templates/.claude/skills/feature-adr/modules/08-qe.md",
|
|
412
|
-
"sha256": "
|
|
412
|
+
"sha256": "97e9a7bc54f196b381c4ef71258cddcb2fb48f216df1ba015927c176bad57084"
|
|
413
413
|
},
|
|
414
414
|
{
|
|
415
415
|
"path": "templates/.claude/skills/feature-adr/modules/09-fleet-qe.md",
|
|
@@ -499,6 +499,10 @@
|
|
|
499
499
|
"path": "templates/.claude/skills/feature-adr/references/qe-checklist.md",
|
|
500
500
|
"sha256": "238d8896996dc53559f58b24aa7eca966cc8845c3b9dda6d982c717c657b91e4"
|
|
501
501
|
},
|
|
502
|
+
{
|
|
503
|
+
"path": "templates/.claude/skills/feature-adr/scripts/check-plan-completeness.mjs",
|
|
504
|
+
"sha256": "2e1afeb8cbc08ce872fc8280a0809e7712ee76879d08b48caa5a0d4082cb8647"
|
|
505
|
+
},
|
|
502
506
|
{
|
|
503
507
|
"path": "templates/.claude/skills/frontend-design/LICENSE.txt",
|
|
504
508
|
"sha256": "0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594"
|
|
@@ -509,7 +513,7 @@
|
|
|
509
513
|
},
|
|
510
514
|
{
|
|
511
515
|
"path": "templates/.claude/skills/goap-research-ed25519/SKILL.md",
|
|
512
|
-
"sha256": "
|
|
516
|
+
"sha256": "404cb696d537d29585ec35f97a86173a582cd6fcf8d5f172a4f5bbd75ec971a8"
|
|
513
517
|
},
|
|
514
518
|
{
|
|
515
519
|
"path": "templates/.claude/skills/goap-research-ed25519/references/ed25519-verification.md",
|
|
@@ -525,11 +529,11 @@
|
|
|
525
529
|
},
|
|
526
530
|
{
|
|
527
531
|
"path": "templates/.claude/skills/goap-research-ed25519/scripts/check_report_evidence.py",
|
|
528
|
-
"sha256": "
|
|
532
|
+
"sha256": "5053e677f11d00b4dd8365a81eafa1d2c961eebd25c33f72b02455573a934a32"
|
|
529
533
|
},
|
|
530
534
|
{
|
|
531
535
|
"path": "templates/.claude/skills/goap-research-ed25519/scripts/ed25519_verifier.py",
|
|
532
|
-
"sha256": "
|
|
536
|
+
"sha256": "f4a2ac9e6473201583643fe8abf47560863cec600344dad5c9df06091b4298f5"
|
|
533
537
|
},
|
|
534
538
|
{
|
|
535
539
|
"path": "templates/.claude/skills/goap-research-ed25519/scripts/evidence_fetch.py",
|
|
@@ -539,13 +543,29 @@
|
|
|
539
543
|
"path": "templates/.claude/skills/goap-research-ed25519/scripts/fixture_legacy_v1_fact.json",
|
|
540
544
|
"sha256": "e613de4737145cbfb5f349fbf9f1122801ce3508b62c3a18e2e0cba26b9da5b0"
|
|
541
545
|
},
|
|
546
|
+
{
|
|
547
|
+
"path": "templates/.claude/skills/goap-research-ed25519/scripts/fixture_legacy_v2_fact.json",
|
|
548
|
+
"sha256": "3f552b47c3864e4ff7ae8c72516e98c188592c7f4f7703d09ce88b39f586ad9d"
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
"path": "templates/.claude/skills/goap-research-ed25519/scripts/fixtures_field_cases.json",
|
|
552
|
+
"sha256": "e2ee619732ab4a1b57285e57b4349f96b4158b231a5624e5264fadf69edb8983"
|
|
553
|
+
},
|
|
542
554
|
{
|
|
543
555
|
"path": "templates/.claude/skills/goap-research-ed25519/scripts/goap_planner.py",
|
|
544
|
-
"sha256": "
|
|
556
|
+
"sha256": "f5cbf4784106710b363e7f29bfa538b75f488cb25e1c273ae40de9f4c2a6710b"
|
|
545
557
|
},
|
|
546
558
|
{
|
|
547
559
|
"path": "templates/.claude/skills/goap-research-ed25519/scripts/learning_bridge.py",
|
|
548
|
-
"sha256": "
|
|
560
|
+
"sha256": "74f8842978ba945ff78c2bd54702415dd87122e61919571e12a19c3cf1e56131"
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"path": "templates/.claude/skills/goap-research-ed25519/scripts/population_match.py",
|
|
564
|
+
"sha256": "bbd1d3346a6fb75d0e8526cb5d2fc8bc8613bb31ab63ffb0958d436d5e009054"
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"path": "templates/.claude/skills/goap-research-ed25519/scripts/risk_statement.py",
|
|
568
|
+
"sha256": "320ffece816e875f65624583846f44dc99461f672a0de7cda42be5ddf29d6de5"
|
|
549
569
|
},
|
|
550
570
|
{
|
|
551
571
|
"path": "templates/.claude/skills/goap-research-ed25519/scripts/source_tiers.py",
|
|
@@ -553,11 +573,31 @@
|
|
|
553
573
|
},
|
|
554
574
|
{
|
|
555
575
|
"path": "templates/.claude/skills/goap-research-ed25519/scripts/test_ed25519_verifier.py",
|
|
556
|
-
"sha256": "
|
|
576
|
+
"sha256": "dcba1ce538ff946d6928f30a7c5cbcc37fddf712b6181f91f94c76e20c117ac5"
|
|
557
577
|
},
|
|
558
578
|
{
|
|
559
579
|
"path": "templates/.claude/skills/goap-research-ed25519/scripts/test_evidence_provenance.py",
|
|
560
|
-
"sha256": "
|
|
580
|
+
"sha256": "292bfcdcc086934905c77f1543d8400ee483166ff3ce26c79bb526c204320dbb"
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"path": "templates/.claude/skills/goap-research-ed25519/scripts/test_goap_planner.py",
|
|
584
|
+
"sha256": "7942ada069048b7e97bf2b6e920898a58517ccec090069f347399dbf1fc37731"
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
"path": "templates/.claude/skills/goap-research-ed25519/scripts/test_population_match.py",
|
|
588
|
+
"sha256": "f33f72c0ba6305af1644e6b1a7f7635d3f33273344f19c14e7dbd2f819af0e7f"
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"path": "templates/.claude/skills/goap-research-ed25519/scripts/test_risk_absolute.py",
|
|
592
|
+
"sha256": "ab353db189650551c374cb772ba4a3a6929e3a2618f2f5c112eca4c3f69e46b6"
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"path": "templates/.claude/skills/goap-research-ed25519/scripts/test_signature_v3.py",
|
|
596
|
+
"sha256": "a04259296df104c9497c7b31d29556cb9a7ad4dd3339cbe3d8d32a4f53950d25"
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
"path": "templates/.claude/skills/goap-research-ed25519/scripts/test_suite_completeness.py",
|
|
600
|
+
"sha256": "727c5d5b0dad215957012276ebc146397178255077e762ed7b88a60d8178d2ab"
|
|
561
601
|
},
|
|
562
602
|
{
|
|
563
603
|
"path": "templates/.claude/skills/knowledge-extractor/SKILL.md",
|
|
@@ -965,5 +1005,5 @@
|
|
|
965
1005
|
}
|
|
966
1006
|
]
|
|
967
1007
|
},
|
|
968
|
-
"signature": "
|
|
1008
|
+
"signature": "8vJljhwwsS40ZKpFkH14zB8UBww26wUagJaONcfFMI4NeL1Mt2/fjgAlB4R7F6PwSmuhLMgmONutYiv9vz1RCA=="
|
|
969
1009
|
}
|
package/README.md
CHANGED
|
@@ -11,9 +11,11 @@ Full 7-phase pipeline for AI case studies, hackathons, and casariums. Provides s
|
|
|
11
11
|
> [`@dzhechkov/harness-cli`](https://www.npmjs.com/package/@dzhechkov/harness-cli) is on PATH, the
|
|
12
12
|
> bundled research skill recalls prior METHOD lessons at the start of an investigation and records new
|
|
13
13
|
> ones at four named moments. Without it the skill behaves exactly as before and says so once — it is
|
|
14
|
-
> detected, never required.
|
|
15
|
-
>
|
|
16
|
-
>
|
|
14
|
+
> detected, never required. Lessons go to a SEPARATE store (`<project>/.health-brain/.dz`) and never
|
|
15
|
+
> to the shared one; recall reads both, so engineering lessons transfer in and medical ones do not
|
|
16
|
+
> leave. A format check refuses identifier shapes (email, phone, record numbers) — it does NOT judge
|
|
17
|
+
> whether a lesson describes a method or a person, and says so: that judgement is the agent's, per
|
|
18
|
+
> the teach protocol. See `skills/goap-research-ed25519/SKILL.md`.
|
|
17
19
|
|
|
18
20
|
## Quick Start
|
|
19
21
|
|
|
@@ -35,7 +37,7 @@ After installation, open Claude Code in your project directory and start using s
|
|
|
35
37
|
| Component | Count | Description |
|
|
36
38
|
|-----------|-------|-------------|
|
|
37
39
|
| **Skills** | 12 | `explore`, `frontend-design`, `goap-research-ed25519`, `presentation-storyteller`, `problem-solver-enhanced`, `reverse-engineering-unicorn`, `knowledge-extractor`, `ai-factory-mapper`, `analyst-manual-full`, `edu-site-generator`, `transcript-site-generator`, `feature-adr` |
|
|
38
|
-
| | | *bundled `feature-adr` at pipeline v1.3.
|
|
40
|
+
| | | *bundled `feature-adr` at pipeline v1.3.66: amendment-Confirmation discipline (AM-N → named falsifying test), derived `🚦 Gates` checkpoint line, opt-in Step-10 Delivery Gate (4-plane post-implementation review), Step-8 no-stubs gate (unwaived `TODO`-class marker in the run's touched files = task incomplete; waivers require a reason)* |
|
|
39
41
|
| **Commands** | 19 | `/casarium`, `/new-research`, `/parallel-research`, `/discovery`, `/explore-case`, `/research`, `/cjm-prototype`, `/solve`, `/architecture-phase`, `/presentation`, `/harvest`, `/brain-export`, `/brain-import`, `/feature-adr`, `/init-platform`, `/learning-stats`, `/dream`, `/workers`, `/analyst-manual` |
|
|
40
42
|
| **Rules** | 14 | `research-quality`, `checkpoint-protocol`, `agent-swarm`, `domain-specific`, `anti-patterns`, `file-conventions`, `modular-reuse`, `feedback-loops`, `model-routing`, `trust-tiers`, `background-workers`, `dream-cycles`, `reward-learning`, `feature-adr-conventions` |
|
|
41
43
|
| **Shards** | 9 | Context shards for each phase: `phase-0-discovery`, `phase-1-explore`, `phase-2-research`, `phase-25-cjm`, `phase-3-solve`, `phase-4-architecture`, `phase-5-presentation`, `phase-ai-factory`, `feature-adr` |
|
|
@@ -379,3 +381,48 @@ Shards (`.claude/shards/`) are lightweight context fragments that phases load on
|
|
|
379
381
|
- **GitHub:** [https://github.com/djd1m/dz-harness-hub](https://github.com/djd1m/dz-harness-hub) (package source: `packages/@dzhechkov/keysarium`)
|
|
380
382
|
- **Issues:** [https://github.com/djd1m/dz-harness-hub/issues](https://github.com/djd1m/dz-harness-hub/issues)
|
|
381
383
|
- **npm:** [https://www.npmjs.com/package/@dzhechkov/keysarium](https://www.npmjs.com/package/@dzhechkov/keysarium)
|
|
384
|
+
|
|
385
|
+
## Write discipline — why the writing steps now build a skeleton first
|
|
386
|
+
|
|
387
|
+
MEASURED in the field on 2026-08-19 and 2026-08-20, two independent runs of the canonical pipeline
|
|
388
|
+
against a ~130-file repository: the steps that must produce a document — Step 5 (Architecture) and
|
|
389
|
+
Step 6 (Plan) — **never reached a write**. 18 attempts, zero file writes in every one. They died in
|
|
390
|
+
the READING phase: a shell result returns, the agent thinks about its next move, stays silent past
|
|
391
|
+
the runtime's 180-second inactivity watchdog, and is killed. One run cost ~4M tokens and 1h54m.
|
|
392
|
+
|
|
393
|
+
The failure is **deterministic, not unlucky**: thinking time grows with accumulated history, so on a
|
|
394
|
+
large enough repository unbounded exploration guarantees the kill. And the cause was in the
|
|
395
|
+
instructions, not the runtime — every writing step said, in effect, *"read the code, write the
|
|
396
|
+
document"*, with no reading budget and no order of operations. An agent obeying literally reads
|
|
397
|
+
until it dies.
|
|
398
|
+
|
|
399
|
+
The owner's control experiment is the whole evidence base, and it is n=1: same slice, same inputs,
|
|
400
|
+
same model, ONE added paragraph about write discipline → a 10-section skeleton on disk 8 minutes in,
|
|
401
|
+
first attempt, after six consecutive deaths.
|
|
402
|
+
|
|
403
|
+
So every document-producing step now carries:
|
|
404
|
+
|
|
405
|
+
1. the FIRST file write happens within the first ~12 tool calls — a skeleton of section headings
|
|
406
|
+
with one line of intent under each;
|
|
407
|
+
2. then fill it **one section per edit**, no edit longer than ~120 lines;
|
|
408
|
+
3. never go more than 2 minutes without a tool call;
|
|
409
|
+
4. when unsure whether to read more or to write — **write**.
|
|
410
|
+
|
|
411
|
+
**What this does not do**, stated plainly: it does not stop the deaths. The watchdog is unchanged.
|
|
412
|
+
It changes what survives one — previously nothing, now a skeleton on disk that the next attempt can
|
|
413
|
+
continue. The `~12` and `~120` are chosen parameters, not measured optima. Two possible regressions
|
|
414
|
+
were named by an independent reviewer and are **not measured**: an early skeleton may anchor a
|
|
415
|
+
structure chosen before understanding, and section-per-edit raises tool-call overhead.
|
|
416
|
+
|
|
417
|
+
Steps whose deliverable is a returned verdict rather than a document (the complexity router) are
|
|
418
|
+
deliberately excluded — "skeleton first" is nonsense there.
|
|
419
|
+
|
|
420
|
+
## Status
|
|
421
|
+
|
|
422
|
+
`1.5.38` — a fix to the bundled `feature-adr` gate script in `templates/`, no pipeline change.
|
|
423
|
+
|
|
424
|
+
The bundled K2 plan-completeness gate now tells an **ABSENT** `00_complexity_assessment.md` from a
|
|
425
|
+
deliberate skip: a missing file is a WARNING that names the missing artifact, while a present file
|
|
426
|
+
carrying no acid table is an honest SKIP. Both used to report as a clean skip, so the acid check
|
|
427
|
+
silently switched itself off whenever Step 0 wrote nothing — MEASURED 2026-08-21, 66 of 199 features
|
|
428
|
+
carried that file and the last four in a row did not.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dzhechkov/keysarium",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.38",
|
|
4
4
|
"description": "AI Case Research Toolkit for Claude Code — full 7-phase pipeline with feature-adr, dream cycles, background workers, multi-platform support, reward learning, and Cloud.ru AI Factory mapping (--ai-factory flag)",
|
|
5
5
|
"main": "src/cli.js",
|
|
6
6
|
"bin": {
|
package/sbom.json
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"hashes": [
|
|
26
26
|
{
|
|
27
27
|
"alg": "SHA-256",
|
|
28
|
-
"content": "
|
|
28
|
+
"content": "8dc44c1a37773e4e3694b762bb4299a6a44b3d12cf9a82ef090a64a981dc15df"
|
|
29
29
|
}
|
|
30
30
|
]
|
|
31
31
|
},
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"hashes": [
|
|
36
36
|
{
|
|
37
37
|
"alg": "SHA-256",
|
|
38
|
-
"content": "
|
|
38
|
+
"content": "af4141462abceb73123b2eb0f6fe40b246cc6b13e71e24dc0adfa480a662b460"
|
|
39
39
|
}
|
|
40
40
|
]
|
|
41
41
|
},
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"hashes": [
|
|
76
76
|
{
|
|
77
77
|
"alg": "SHA-256",
|
|
78
|
-
"content": "
|
|
78
|
+
"content": "aa334623a752b0d20d045e30e98073760aa02d73f1d462debb312e1e91079b2d"
|
|
79
79
|
}
|
|
80
80
|
]
|
|
81
81
|
},
|
|
@@ -915,7 +915,7 @@
|
|
|
915
915
|
"hashes": [
|
|
916
916
|
{
|
|
917
917
|
"alg": "SHA-256",
|
|
918
|
-
"content": "
|
|
918
|
+
"content": "bdedfed69d985eb6969f158a72d92f63c6b1b993008c3661f7ffc2c6a7ccfbae"
|
|
919
919
|
}
|
|
920
920
|
]
|
|
921
921
|
},
|
|
@@ -945,7 +945,7 @@
|
|
|
945
945
|
"hashes": [
|
|
946
946
|
{
|
|
947
947
|
"alg": "SHA-256",
|
|
948
|
-
"content": "
|
|
948
|
+
"content": "e6ea3a224b555d5b7410cf2ddf02a3fb8d009fa01109463353e2b993c318270c"
|
|
949
949
|
}
|
|
950
950
|
]
|
|
951
951
|
},
|
|
@@ -955,7 +955,7 @@
|
|
|
955
955
|
"hashes": [
|
|
956
956
|
{
|
|
957
957
|
"alg": "SHA-256",
|
|
958
|
-
"content": "
|
|
958
|
+
"content": "e2506e42251c74485188473acc4586f841afbec3ae7c5eaa8a3d8f73f6e14cc5"
|
|
959
959
|
}
|
|
960
960
|
]
|
|
961
961
|
},
|
|
@@ -965,7 +965,7 @@
|
|
|
965
965
|
"hashes": [
|
|
966
966
|
{
|
|
967
967
|
"alg": "SHA-256",
|
|
968
|
-
"content": "
|
|
968
|
+
"content": "ea03eee136c89267888b8034baa1a1cb0057314a2e745df71654a9ebee5d46b6"
|
|
969
969
|
}
|
|
970
970
|
]
|
|
971
971
|
},
|
|
@@ -975,7 +975,7 @@
|
|
|
975
975
|
"hashes": [
|
|
976
976
|
{
|
|
977
977
|
"alg": "SHA-256",
|
|
978
|
-
"content": "
|
|
978
|
+
"content": "d48a8d6eebf9760cc8f1a4f19df0e6afc31fcc1284b5eacfb604ad8ced6a0b53"
|
|
979
979
|
}
|
|
980
980
|
]
|
|
981
981
|
},
|
|
@@ -985,7 +985,7 @@
|
|
|
985
985
|
"hashes": [
|
|
986
986
|
{
|
|
987
987
|
"alg": "SHA-256",
|
|
988
|
-
"content": "
|
|
988
|
+
"content": "e9504cf1183bc0105167dc06108860882941fcf1b5be79d1978d8212c410ffbb"
|
|
989
989
|
}
|
|
990
990
|
]
|
|
991
991
|
},
|
|
@@ -995,7 +995,7 @@
|
|
|
995
995
|
"hashes": [
|
|
996
996
|
{
|
|
997
997
|
"alg": "SHA-256",
|
|
998
|
-
"content": "
|
|
998
|
+
"content": "2ef7cf316903f0cbb1fabe1f0e1770c22b2cb3a11a4118cac0529c25074b5e8a"
|
|
999
999
|
}
|
|
1000
1000
|
]
|
|
1001
1001
|
},
|
|
@@ -1005,7 +1005,7 @@
|
|
|
1005
1005
|
"hashes": [
|
|
1006
1006
|
{
|
|
1007
1007
|
"alg": "SHA-256",
|
|
1008
|
-
"content": "
|
|
1008
|
+
"content": "3903e2694ad47782914b35869bbf19c5f0803b6dafdcfb629df343a5ff00d1b9"
|
|
1009
1009
|
}
|
|
1010
1010
|
]
|
|
1011
1011
|
},
|
|
@@ -1025,7 +1025,7 @@
|
|
|
1025
1025
|
"hashes": [
|
|
1026
1026
|
{
|
|
1027
1027
|
"alg": "SHA-256",
|
|
1028
|
-
"content": "
|
|
1028
|
+
"content": "97e9a7bc54f196b381c4ef71258cddcb2fb48f216df1ba015927c176bad57084"
|
|
1029
1029
|
}
|
|
1030
1030
|
]
|
|
1031
1031
|
},
|
|
@@ -1249,6 +1249,16 @@
|
|
|
1249
1249
|
}
|
|
1250
1250
|
]
|
|
1251
1251
|
},
|
|
1252
|
+
{
|
|
1253
|
+
"type": "file",
|
|
1254
|
+
"name": "templates/.claude/skills/feature-adr/scripts/check-plan-completeness.mjs",
|
|
1255
|
+
"hashes": [
|
|
1256
|
+
{
|
|
1257
|
+
"alg": "SHA-256",
|
|
1258
|
+
"content": "2e1afeb8cbc08ce872fc8280a0809e7712ee76879d08b48caa5a0d4082cb8647"
|
|
1259
|
+
}
|
|
1260
|
+
]
|
|
1261
|
+
},
|
|
1252
1262
|
{
|
|
1253
1263
|
"type": "file",
|
|
1254
1264
|
"name": "templates/.claude/skills/frontend-design/LICENSE.txt",
|
|
@@ -1275,7 +1285,7 @@
|
|
|
1275
1285
|
"hashes": [
|
|
1276
1286
|
{
|
|
1277
1287
|
"alg": "SHA-256",
|
|
1278
|
-
"content": "
|
|
1288
|
+
"content": "404cb696d537d29585ec35f97a86173a582cd6fcf8d5f172a4f5bbd75ec971a8"
|
|
1279
1289
|
}
|
|
1280
1290
|
]
|
|
1281
1291
|
},
|
|
@@ -1315,7 +1325,7 @@
|
|
|
1315
1325
|
"hashes": [
|
|
1316
1326
|
{
|
|
1317
1327
|
"alg": "SHA-256",
|
|
1318
|
-
"content": "
|
|
1328
|
+
"content": "5053e677f11d00b4dd8365a81eafa1d2c961eebd25c33f72b02455573a934a32"
|
|
1319
1329
|
}
|
|
1320
1330
|
]
|
|
1321
1331
|
},
|
|
@@ -1325,7 +1335,7 @@
|
|
|
1325
1335
|
"hashes": [
|
|
1326
1336
|
{
|
|
1327
1337
|
"alg": "SHA-256",
|
|
1328
|
-
"content": "
|
|
1338
|
+
"content": "f4a2ac9e6473201583643fe8abf47560863cec600344dad5c9df06091b4298f5"
|
|
1329
1339
|
}
|
|
1330
1340
|
]
|
|
1331
1341
|
},
|
|
@@ -1349,13 +1359,33 @@
|
|
|
1349
1359
|
}
|
|
1350
1360
|
]
|
|
1351
1361
|
},
|
|
1362
|
+
{
|
|
1363
|
+
"type": "file",
|
|
1364
|
+
"name": "templates/.claude/skills/goap-research-ed25519/scripts/fixture_legacy_v2_fact.json",
|
|
1365
|
+
"hashes": [
|
|
1366
|
+
{
|
|
1367
|
+
"alg": "SHA-256",
|
|
1368
|
+
"content": "3f552b47c3864e4ff7ae8c72516e98c188592c7f4f7703d09ce88b39f586ad9d"
|
|
1369
|
+
}
|
|
1370
|
+
]
|
|
1371
|
+
},
|
|
1372
|
+
{
|
|
1373
|
+
"type": "file",
|
|
1374
|
+
"name": "templates/.claude/skills/goap-research-ed25519/scripts/fixtures_field_cases.json",
|
|
1375
|
+
"hashes": [
|
|
1376
|
+
{
|
|
1377
|
+
"alg": "SHA-256",
|
|
1378
|
+
"content": "e2ee619732ab4a1b57285e57b4349f96b4158b231a5624e5264fadf69edb8983"
|
|
1379
|
+
}
|
|
1380
|
+
]
|
|
1381
|
+
},
|
|
1352
1382
|
{
|
|
1353
1383
|
"type": "file",
|
|
1354
1384
|
"name": "templates/.claude/skills/goap-research-ed25519/scripts/goap_planner.py",
|
|
1355
1385
|
"hashes": [
|
|
1356
1386
|
{
|
|
1357
1387
|
"alg": "SHA-256",
|
|
1358
|
-
"content": "
|
|
1388
|
+
"content": "f5cbf4784106710b363e7f29bfa538b75f488cb25e1c273ae40de9f4c2a6710b"
|
|
1359
1389
|
}
|
|
1360
1390
|
]
|
|
1361
1391
|
},
|
|
@@ -1365,7 +1395,27 @@
|
|
|
1365
1395
|
"hashes": [
|
|
1366
1396
|
{
|
|
1367
1397
|
"alg": "SHA-256",
|
|
1368
|
-
"content": "
|
|
1398
|
+
"content": "74f8842978ba945ff78c2bd54702415dd87122e61919571e12a19c3cf1e56131"
|
|
1399
|
+
}
|
|
1400
|
+
]
|
|
1401
|
+
},
|
|
1402
|
+
{
|
|
1403
|
+
"type": "file",
|
|
1404
|
+
"name": "templates/.claude/skills/goap-research-ed25519/scripts/population_match.py",
|
|
1405
|
+
"hashes": [
|
|
1406
|
+
{
|
|
1407
|
+
"alg": "SHA-256",
|
|
1408
|
+
"content": "bbd1d3346a6fb75d0e8526cb5d2fc8bc8613bb31ab63ffb0958d436d5e009054"
|
|
1409
|
+
}
|
|
1410
|
+
]
|
|
1411
|
+
},
|
|
1412
|
+
{
|
|
1413
|
+
"type": "file",
|
|
1414
|
+
"name": "templates/.claude/skills/goap-research-ed25519/scripts/risk_statement.py",
|
|
1415
|
+
"hashes": [
|
|
1416
|
+
{
|
|
1417
|
+
"alg": "SHA-256",
|
|
1418
|
+
"content": "320ffece816e875f65624583846f44dc99461f672a0de7cda42be5ddf29d6de5"
|
|
1369
1419
|
}
|
|
1370
1420
|
]
|
|
1371
1421
|
},
|
|
@@ -1385,7 +1435,7 @@
|
|
|
1385
1435
|
"hashes": [
|
|
1386
1436
|
{
|
|
1387
1437
|
"alg": "SHA-256",
|
|
1388
|
-
"content": "
|
|
1438
|
+
"content": "dcba1ce538ff946d6928f30a7c5cbcc37fddf712b6181f91f94c76e20c117ac5"
|
|
1389
1439
|
}
|
|
1390
1440
|
]
|
|
1391
1441
|
},
|
|
@@ -1395,7 +1445,57 @@
|
|
|
1395
1445
|
"hashes": [
|
|
1396
1446
|
{
|
|
1397
1447
|
"alg": "SHA-256",
|
|
1398
|
-
"content": "
|
|
1448
|
+
"content": "292bfcdcc086934905c77f1543d8400ee483166ff3ce26c79bb526c204320dbb"
|
|
1449
|
+
}
|
|
1450
|
+
]
|
|
1451
|
+
},
|
|
1452
|
+
{
|
|
1453
|
+
"type": "file",
|
|
1454
|
+
"name": "templates/.claude/skills/goap-research-ed25519/scripts/test_goap_planner.py",
|
|
1455
|
+
"hashes": [
|
|
1456
|
+
{
|
|
1457
|
+
"alg": "SHA-256",
|
|
1458
|
+
"content": "7942ada069048b7e97bf2b6e920898a58517ccec090069f347399dbf1fc37731"
|
|
1459
|
+
}
|
|
1460
|
+
]
|
|
1461
|
+
},
|
|
1462
|
+
{
|
|
1463
|
+
"type": "file",
|
|
1464
|
+
"name": "templates/.claude/skills/goap-research-ed25519/scripts/test_population_match.py",
|
|
1465
|
+
"hashes": [
|
|
1466
|
+
{
|
|
1467
|
+
"alg": "SHA-256",
|
|
1468
|
+
"content": "f33f72c0ba6305af1644e6b1a7f7635d3f33273344f19c14e7dbd2f819af0e7f"
|
|
1469
|
+
}
|
|
1470
|
+
]
|
|
1471
|
+
},
|
|
1472
|
+
{
|
|
1473
|
+
"type": "file",
|
|
1474
|
+
"name": "templates/.claude/skills/goap-research-ed25519/scripts/test_risk_absolute.py",
|
|
1475
|
+
"hashes": [
|
|
1476
|
+
{
|
|
1477
|
+
"alg": "SHA-256",
|
|
1478
|
+
"content": "ab353db189650551c374cb772ba4a3a6929e3a2618f2f5c112eca4c3f69e46b6"
|
|
1479
|
+
}
|
|
1480
|
+
]
|
|
1481
|
+
},
|
|
1482
|
+
{
|
|
1483
|
+
"type": "file",
|
|
1484
|
+
"name": "templates/.claude/skills/goap-research-ed25519/scripts/test_signature_v3.py",
|
|
1485
|
+
"hashes": [
|
|
1486
|
+
{
|
|
1487
|
+
"alg": "SHA-256",
|
|
1488
|
+
"content": "a04259296df104c9497c7b31d29556cb9a7ad4dd3339cbe3d8d32a4f53950d25"
|
|
1489
|
+
}
|
|
1490
|
+
]
|
|
1491
|
+
},
|
|
1492
|
+
{
|
|
1493
|
+
"type": "file",
|
|
1494
|
+
"name": "templates/.claude/skills/goap-research-ed25519/scripts/test_suite_completeness.py",
|
|
1495
|
+
"hashes": [
|
|
1496
|
+
{
|
|
1497
|
+
"alg": "SHA-256",
|
|
1498
|
+
"content": "727c5d5b0dad215957012276ebc146397178255077e762ed7b88a60d8178d2ab"
|
|
1399
1499
|
}
|
|
1400
1500
|
]
|
|
1401
1501
|
},
|
|
@@ -100,6 +100,9 @@ ROUTER → REQUIREMENTS → RESEARCH → ADR → QCSD SWARM
|
|
|
100
100
|
SPARC-GOAP PLAN
|
|
101
101
|
(all)
|
|
102
102
|
│
|
|
103
|
+
K2 PLAN-COMPLETENESS GATE
|
|
104
|
+
(all — exit 0 or Step 7 waits)
|
|
105
|
+
│
|
|
103
106
|
Step 7
|
|
104
107
|
CODE
|
|
105
108
|
(all)
|
|
@@ -144,6 +147,26 @@ Step | S | M | L | XL | Model | Agentic QE Skill
|
|
|
144
147
|
10 Delivery Gate (OPT-IN) | o | o | o | o | cross-family of coder | 4 planes: regressions ‖ security ‖ code-quality ‖ product-honesty (o = runs only when explicitly requested; absent ⇒ byte-identical) |
|
|
145
148
|
```
|
|
146
149
|
|
|
150
|
+
### K2 plan-completeness gate (Step-6/7 boundary, MANDATORY, all tiers)
|
|
151
|
+
|
|
152
|
+
Step 7 does not start until the plan passes a SCRIPT — not a reviewer's impression:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
node .claude/skills/feature-adr/scripts/check-plan-completeness.mjs features/<slug>
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Pass the run's tier (`--tier=S|M|L|XL`): M/L/XL with no `03_adr/` FAILS rather than skipping C1/C2.
|
|
159
|
+
Every tier — S included — writes a real `06_implementation_plan.md`; an inline-only S-tier checklist
|
|
160
|
+
cannot be gated and is no longer permitted.
|
|
161
|
+
|
|
162
|
+
`exit 0` → proceed to Step 7 · `exit 1` → return to Step 6 and fix every `FAIL C*` line · `exit 3`
|
|
163
|
+
→ INCONCLUSIVE (inputs unreadable) — fix them and rerun. **Never proceed on a non-zero exit, and
|
|
164
|
+
never read empty output as a pass**: the verdict is the last line
|
|
165
|
+
(`K2 plan-completeness: PASS|FAIL|NOT-ESTABLISHED`), and its absence is not a verdict. The checkpoint
|
|
166
|
+
banner's Gates line carries it: `🚦 Gates: K2 plan-completeness ✓ | ✗ | inconclusive`. Details and the
|
|
167
|
+
per-check list: `modules/06-implementation-plan.md`. In the ultracode workflow the gate runs
|
|
168
|
+
automatically and a non-PASS returns `phase: 'plan-gate-failed'` without dispatching the coder.
|
|
169
|
+
|
|
147
170
|
## DAG Dependencies
|
|
148
171
|
|
|
149
172
|
Steps are NOT purely linear. The DAG defines what can run in parallel:
|
|
@@ -203,6 +226,14 @@ Execute protocol
|
|
|
203
226
|
→ Checkpoint N
|
|
204
227
|
```
|
|
205
228
|
|
|
229
|
+
**Write discipline — applies to EVERY step that produces a document.** Open the step's artifact within
|
|
230
|
+
your first ~12 tool calls as a SKELETON (its section headings, one line of intent each), then fill it one
|
|
231
|
+
section per edit, no edit longer than ~120 lines. Never go more than 2 minutes without a tool call, and
|
|
232
|
+
when you are unsure whether to read more or to write, WRITE. Reason: an executor silent for 180 seconds is
|
|
233
|
+
killed by the runtime, and thinking time grows with accumulated history — so unbounded exploration before
|
|
234
|
+
the first write is a deterministic death on a large repo, not bad luck. Each module restates this under
|
|
235
|
+
its own `## Write discipline (the 180-second rule)` heading.
|
|
236
|
+
|
|
206
237
|
### 4. Final Verification
|
|
207
238
|
After Step 8 (or Step 9 for L/XL) completes, verify:
|
|
208
239
|
- All mandatory artifacts exist per tier
|
|
@@ -321,10 +352,17 @@ Two flags for integrating with the full agentic-qe package:
|
|
|
321
352
|
|
|
322
353
|
| Flag | Mode | What it does |
|
|
323
354
|
|------|------|-------------|
|
|
324
|
-
| (none) | Reference | Condensed copies of 9 core skills, no install needed |
|
|
325
|
-
| `--full-qe` | Direct | Full agentic-qe protocols for
|
|
355
|
+
| (none) | Reference | Condensed copies of 9 core skills, no install needed — the **no-install fallback** |
|
|
356
|
+
| `--full-qe` | Direct | **RECOMMENDED DEFAULT when agentic-qe is installed.** Full agentic-qe protocols for the 9 core skills, and BOTH halves of the learning loop run: Step-0 recall = `memory_query("patterns/feature-adr/*")` **+** `dz recall`; Step-8 teach = the aqe `qe-outcome` store **+** `dz teach` |
|
|
326
357
|
| `--full-qe-extended` | Direct Extended | Full protocols + 6 additional skills (chaos, security, performance, mutation, TDD, production-swarm) |
|
|
327
358
|
|
|
359
|
+
**Which one to run:** if `aqe` is installed (`which aqe` or `node_modules/agentic-qe/`), run
|
|
360
|
+
`--full-qe` — it is the recommended default at every tier, because the aqe pattern memory only
|
|
361
|
+
contributes when the Direct half of the loop is active. Reference mode is the honest fallback for a
|
|
362
|
+
machine without agentic-qe; it is not a lesser-quality choice there, it is the only correct one.
|
|
363
|
+
This is a RECOMMENDATION about which flag to pass — the mode LOGIC is unchanged (flag + installed →
|
|
364
|
+
direct; flag without install → WARN + reference).
|
|
365
|
+
|
|
328
366
|
### Installation
|
|
329
367
|
|
|
330
368
|
```bash
|
|
@@ -338,8 +376,8 @@ cd your-project && aqe init --auto
|
|
|
338
376
|
### Activation
|
|
339
377
|
|
|
340
378
|
```
|
|
341
|
-
/feature-adr [описание фичи]
|
|
342
|
-
/feature-adr
|
|
379
|
+
/feature-adr --full-qe [описание фичи] # RECOMMENDED when agentic-qe is installed
|
|
380
|
+
/feature-adr [описание фичи] # Reference Mode: the no-install fallback
|
|
343
381
|
/feature-adr --full-qe-extended [описание фичи] # Direct Extended: full protocols + extra skills
|
|
344
382
|
```
|
|
345
383
|
|
|
@@ -454,7 +492,8 @@ each step records the live panel via `dz statusline --fa-record`. This half NEVE
|
|
|
454
492
|
|
|
455
493
|
The **agentic-qe MCP layer below is an ADDITIONAL enrichment, active only in Direct modes**
|
|
456
494
|
(`--full-qe` / `--full-qe-extended`, needs `fleet_init`) — it adds semantic in-session recall on top of
|
|
457
|
-
the always-on dz loop.
|
|
495
|
+
the always-on dz loop. This is why `--full-qe` is the RECOMMENDED default wherever agentic-qe is
|
|
496
|
+
installed: only then do BOTH recall halves run at Step 0 and BOTH teach halves at Step 8.
|
|
458
497
|
|
|
459
498
|
When `{AGENTIC_QE_MODE}` = `direct` | `direct-extended`, the pipeline ALSO runs a recall → store cycle
|
|
460
499
|
over agentic-qe's MCP pattern memory (`namespace: "learning"`, `fleet_init` first):
|
|
@@ -537,8 +576,9 @@ Everything from `--full-qe` plus 6 additional skills and up to 3 extra agents in
|
|
|
537
576
|
|
|
538
577
|
| Scenario | Mode |
|
|
539
578
|
|----------|------|
|
|
540
|
-
|
|
|
541
|
-
|
|
|
579
|
+
| agentic-qe installed (any tier) | `--full-qe` — the recommended default |
|
|
580
|
+
| agentic-qe NOT installed | Reference (the fallback; the dz half of the loop still runs) |
|
|
581
|
+
| S/M tier, agentic-qe installed | `--full-qe` |
|
|
542
582
|
| L tier, high QE maturity | `--full-qe` |
|
|
543
583
|
| XL tier features | `--full-qe` recommended |
|
|
544
584
|
| XL + security-critical (banking, ФЗ-152) | `--full-qe-extended` recommended |
|
|
@@ -584,6 +624,7 @@ npx @dzhechkov/skills-feature-adr init --with-learning --knowledge-extractor
|
|
|
584
624
|
| Ignore NO-GO verdict | Proceed despite Step 3.5 NO-GO | BLOCK — rework required |
|
|
585
625
|
| Skip gap loop | No gap detection in Step 8 | Missing requirements coverage check |
|
|
586
626
|
| Skip fleet QE for L/XL | No Step 9 for large features | BLOCK — fleet assessment mandatory |
|
|
627
|
+
| Unbounded reading before the first write | The step's artifact still does not exist after ~12 tool calls | BLOCK — write the skeleton now; a silent executor is killed at 180 s |
|
|
587
628
|
|
|
588
629
|
## Checkpoint Format
|
|
589
630
|
|