@dzhechkov/keysarium 1.7.15 → 1.7.18
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 +213 -53
- package/README.md +29 -6
- package/README.ru.md +17 -0
- package/package.json +3 -3
- package/sbom.json +454 -54
- package/src/cli.js +32 -2
- package/src/commands/doctor.js +25 -1
- package/src/commands/init.js +46 -12
- package/src/utils.js +1 -0
- package/templates/.agents/skills/casarium/SKILL.md +29 -0
- package/templates/.claude/agents/code-goal-planner.md +9 -0
- package/templates/.claude/commands/casarium.md +3 -1
- package/templates/.claude/commands/cjm-prototype.md +2 -2
- package/templates/.claude/commands/research.md +4 -1
- package/templates/.claude/rules/checkpoint-protocol.md +2 -1
- package/templates/.claude/rules/research-quality.md +11 -6
- package/templates/.claude/shards/phase-2-research.shard.md +12 -8
- package/templates/.claude/shards/phase-25-cjm.shard.md +5 -3
- package/templates/.claude/skills/feature-adr/SKILL.md +17 -15
- package/templates/.claude/skills/feature-adr/modules/03-adr.md +1 -1
- package/templates/.claude/skills/feature-adr/modules/03.5-ideation-swarm.md +1 -1
- package/templates/.claude/skills/feature-adr/modules/06-implementation-plan.md +2 -2
- package/templates/.claude/skills/feature-adr/modules/08-qe.md +1 -1
- package/templates/.claude/skills/feature-adr/modules/09-fleet-qe.md +12 -12
- package/templates/.claude/skills/feature-adr/references/agentic-qe/LICENSE.agentic-qe +21 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/README.md +20 -16
- package/templates/.claude/skills/feature-adr/references/agentic-qe/UPSTREAM-MANIFEST.json +246 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/README.md +218 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{brutal-honesty-review.md → qe-ref-brutal-honesty-review/REFERENCE.md} +14 -1
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/resources/assessment-rubrics.md +295 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/resources/review-template.md +102 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/schemas/output.json +291 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/assess-code.sh +179 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/assess-tests.sh +223 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-brutal-honesty-review/scripts/validate-config.json +34 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/REFERENCE.md +758 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/schemas/output.json +74 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-enterprise-integration-testing/scripts/validate-config.json +25 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/REFERENCE.md +226 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/schemas/output.json +568 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/scripts/validate-config.json +25 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/01-flag-detection.md +57 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/02-core-agents.md +29 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/03-batch1-results.md +15 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/04-conditional-agents.md +23 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/05-decision-synthesis.md +29 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/06-report-generation.md +18 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/07-learning-persistence.md +29 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qcsd-ideation-swarm/steps/08-final-output.md +18 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{qe-coverage-analysis.md → qe-ref-qe-coverage-analysis/REFERENCE.md} +42 -3
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/schemas/output.json +286 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-coverage-analysis/scripts/validate-config.json +42 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{qe-requirements-validation.md → qe-ref-qe-requirements-validation/REFERENCE.md} +13 -3
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/schemas/output.json +587 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-qe-requirements-validation/scripts/validate-config.json +37 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{regression-testing.md → qe-ref-regression-testing/REFERENCE.md} +30 -49
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/evals/regression-testing.yaml +504 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/schemas/output.json +311 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-regression-testing/scripts/validate-config.json +50 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{risk-based-testing.md → qe-ref-risk-based-testing/REFERENCE.md} +23 -52
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/evals/risk-based-testing.yaml +141 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/schemas/output.json +480 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-risk-based-testing/scripts/validate-config.json +25 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/{shift-left-testing.md → qe-ref-shift-left-testing/REFERENCE.md} +33 -88
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/evals/shift-left-testing.yaml +145 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/schemas/output.json +459 -0
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qe-ref-shift-left-testing/scripts/validate-config.json +25 -0
- package/templates/CLAUDE.md +3 -1
- package/templates/docs/feature-adr/04-admin-guide.md +1 -1
- package/templates/docs/improvement-directions.md +3 -3
- package/templates/docs/keysarium/02-admin-guide.md +2 -2
- package/templates/docs/keysarium/03-user-guide.md +3 -3
- package/templates/docs/keysarium/05-architecture.md +9 -8
- package/templates/docs/keysarium/06-user-flows.md +4 -4
- package/templates/lib/platform-templates/copilot.md +1 -1
- package/templates/lib/platform-templates/opencode.md +1 -1
- package/templates/.claude/skills/feature-adr/references/agentic-qe/enterprise-integration-testing.md +0 -111
- package/templates/.claude/skills/feature-adr/references/agentic-qe/qcsd-ideation-swarm.md +0 -126
package/src/cli.js
CHANGED
|
@@ -10,7 +10,7 @@ function showBanner() {
|
|
|
10
10
|
console.log('');
|
|
11
11
|
console.log(cyan('╔══════════════════════════════════════════════════════╗'));
|
|
12
12
|
console.log(cyan('║') + bold(' \uD83D\uDD2C DZ-KEYSARIUM — AI Research Toolkit ') + cyan('║'));
|
|
13
|
-
console.log(cyan('║') + '
|
|
13
|
+
console.log(cyan('║') + ' Full 7-phase research pipeline ' + cyan('║'));
|
|
14
14
|
console.log(cyan('╚══════════════════════════════════════════════════════╝'));
|
|
15
15
|
console.log('');
|
|
16
16
|
}
|
|
@@ -40,6 +40,8 @@ function showHelp() {
|
|
|
40
40
|
console.log(' ' + yellow('--minimal') + ' Install only .claude/ directory (skills, commands, rules)');
|
|
41
41
|
console.log(' ' + yellow('--force') + ' Overwrite existing files without prompting');
|
|
42
42
|
console.log(' ' + yellow('--with-docs') + ' Include docs/ directory');
|
|
43
|
+
console.log(' ' + yellow('--target') + ' Install for claude (default) or codex');
|
|
44
|
+
console.log(' ' + yellow('--project') + ' Project directory (default: current directory)');
|
|
43
45
|
console.log(' ' + yellow('--dry-run') + ' Show what would be done without making changes');
|
|
44
46
|
console.log(' ' + yellow('--help, -h') + ' Show this help message');
|
|
45
47
|
console.log(' ' + yellow('--version, -v') + ' Show version number');
|
|
@@ -47,6 +49,7 @@ function showHelp() {
|
|
|
47
49
|
console.log(bold('Examples:'));
|
|
48
50
|
console.log(dim(' $ ') + 'npx @dzhechkov/keysarium init');
|
|
49
51
|
console.log(dim(' $ ') + 'npx @dzhechkov/keysarium init --minimal --force');
|
|
52
|
+
console.log(dim(' $ ') + 'npx @dzhechkov/keysarium init --target codex --project ./my-case');
|
|
50
53
|
console.log(dim(' $ ') + 'npx @dzhechkov/keysarium update --dry-run');
|
|
51
54
|
console.log(dim(' $ ') + 'npx @dzhechkov/keysarium doctor');
|
|
52
55
|
console.log('');
|
|
@@ -64,11 +67,14 @@ function parseArgs(argv) {
|
|
|
64
67
|
withDocs: false,
|
|
65
68
|
dryRun: false,
|
|
66
69
|
targetDir: process.cwd(),
|
|
70
|
+
target: 'claude',
|
|
71
|
+
targetSpecified: false,
|
|
67
72
|
};
|
|
68
73
|
|
|
69
74
|
let command = null;
|
|
70
75
|
|
|
71
|
-
for (
|
|
76
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
77
|
+
const arg = args[index];
|
|
72
78
|
switch (arg) {
|
|
73
79
|
case '--minimal':
|
|
74
80
|
flags.minimal = true;
|
|
@@ -82,6 +88,25 @@ function parseArgs(argv) {
|
|
|
82
88
|
case '--dry-run':
|
|
83
89
|
flags.dryRun = true;
|
|
84
90
|
break;
|
|
91
|
+
case '--target': {
|
|
92
|
+
const value = args[++index];
|
|
93
|
+
if (value !== 'claude' && value !== 'codex') {
|
|
94
|
+
error('--target must be claude or codex');
|
|
95
|
+
process.exit(1);
|
|
96
|
+
}
|
|
97
|
+
flags.target = value;
|
|
98
|
+
flags.targetSpecified = true;
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
case '--project': {
|
|
102
|
+
const value = args[++index];
|
|
103
|
+
if (!value || value.startsWith('-')) {
|
|
104
|
+
error('--project requires a directory path');
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
107
|
+
flags.targetDir = path.resolve(value);
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
85
110
|
case '--help':
|
|
86
111
|
case '-h':
|
|
87
112
|
command = 'help';
|
|
@@ -132,6 +157,11 @@ function main() {
|
|
|
132
157
|
|
|
133
158
|
// Route to command handlers
|
|
134
159
|
const resolvedCommand = command || 'init';
|
|
160
|
+
if (flags.targetSpecified && resolvedCommand !== 'init') {
|
|
161
|
+
error('--target is supported only by init; update and doctor use the installation manifest');
|
|
162
|
+
process.exitCode = 1;
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
135
165
|
|
|
136
166
|
switch (resolvedCommand) {
|
|
137
167
|
case 'init':
|
package/src/commands/doctor.js
CHANGED
|
@@ -293,6 +293,28 @@ function checkSettingsValid(targetDir) {
|
|
|
293
293
|
});
|
|
294
294
|
}
|
|
295
295
|
|
|
296
|
+
function checkCodexEntrypoint(targetDir) {
|
|
297
|
+
return check('Codex entrypoint', () => {
|
|
298
|
+
const entry = path.join(targetDir, '.agents', 'skills', 'casarium', 'SKILL.md');
|
|
299
|
+
const command = path.join(targetDir, '.claude', 'commands', 'casarium.md');
|
|
300
|
+
const shards = path.join(targetDir, '.claude', 'shards');
|
|
301
|
+
const missing = [entry, command, shards].filter((item) => !fileExists(item));
|
|
302
|
+
if (missing.length > 0) {
|
|
303
|
+
return { passed: false, detail: `Missing ${missing.map((item) => path.relative(targetDir, item)).join(', ')}`,
|
|
304
|
+
fix: 'Run keysarium update to restore the installed Codex entrypoint.' };
|
|
305
|
+
}
|
|
306
|
+
const body = fs.readFileSync(entry, 'utf8');
|
|
307
|
+
const frontmatter = body.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n/);
|
|
308
|
+
if (!frontmatter || !/^name:\s*casarium\s*$/m.test(frontmatter[1])
|
|
309
|
+
|| !/^description:\s*\S.+$/m.test(frontmatter[1])
|
|
310
|
+
|| !body.includes('.claude/commands/casarium.md')) {
|
|
311
|
+
return { passed: false, detail: 'SKILL.md lacks Codex discovery metadata or the canonical command reference',
|
|
312
|
+
fix: 'Run keysarium update to restore the Codex entrypoint.' };
|
|
313
|
+
}
|
|
314
|
+
return { passed: true, detail: 'Project skill and canonical pipeline references present' };
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
|
|
296
318
|
/**
|
|
297
319
|
* Check 8: researches/ directory exists.
|
|
298
320
|
*/
|
|
@@ -372,7 +394,9 @@ async function run(options) {
|
|
|
372
394
|
checkRulesPresent(targetDir),
|
|
373
395
|
checkShardsPresent(targetDir),
|
|
374
396
|
checkAgentsPresent(targetDir),
|
|
375
|
-
|
|
397
|
+
manifest.components?.includes('codex_entry')
|
|
398
|
+
? checkCodexEntrypoint(targetDir)
|
|
399
|
+
: checkSettingsValid(targetDir),
|
|
376
400
|
checkResearchDir(targetDir),
|
|
377
401
|
];
|
|
378
402
|
|
package/src/commands/init.js
CHANGED
|
@@ -22,8 +22,10 @@ const {
|
|
|
22
22
|
* --with-docs: add docs group
|
|
23
23
|
*/
|
|
24
24
|
function resolveComponents(options) {
|
|
25
|
-
const { minimal, withDocs } = options;
|
|
26
|
-
const coreKeys = ['skills', 'commands', 'rules', 'shards', 'agents', '
|
|
25
|
+
const { minimal, withDocs, target } = options;
|
|
26
|
+
const coreKeys = ['skills', 'commands', 'rules', 'shards', 'agents', 'claude_md', 'harvest'];
|
|
27
|
+
if (target === 'codex') coreKeys.push('codex_entry');
|
|
28
|
+
else coreKeys.push('hooks');
|
|
27
29
|
const keys = [...coreKeys];
|
|
28
30
|
|
|
29
31
|
if (!minimal) {
|
|
@@ -81,9 +83,10 @@ function installComponent(comp, templatesDir, targetDir, force) {
|
|
|
81
83
|
* @param {boolean} options.withDocs — Include docs/ directory
|
|
82
84
|
* @param {boolean} options.dryRun — Preview without writing anything
|
|
83
85
|
* @param {string} options.targetDir — Destination project root
|
|
86
|
+
* @param {string} options.target — claude (default) or codex
|
|
84
87
|
*/
|
|
85
88
|
async function run(options) {
|
|
86
|
-
const { force, dryRun, targetDir } = options;
|
|
89
|
+
const { force, dryRun, targetDir, target = 'claude' } = options;
|
|
87
90
|
const manifestPath = path.join(targetDir, MANIFEST_FILE);
|
|
88
91
|
|
|
89
92
|
// ── a) Check for existing installation ──────────────────────────────────
|
|
@@ -93,9 +96,25 @@ async function run(options) {
|
|
|
93
96
|
info(`Run ${cyan('npx @dzhechkov/keysarium update')} to update, or use ${yellow('--force')} to overwrite.`);
|
|
94
97
|
process.exit(1);
|
|
95
98
|
}
|
|
99
|
+
const existing = readJSON(manifestPath);
|
|
100
|
+
if (!existing || !Array.isArray(existing.components)) {
|
|
101
|
+
logError('Existing .keysarium.json is invalid; refusing to overwrite its ownership record.');
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
const existingTarget = existing.components.includes('codex_entry') ? 'codex' : 'claude';
|
|
105
|
+
if (existingTarget !== target) {
|
|
106
|
+
logError(`Cannot switch an installed ${existingTarget} toolkit to ${target} with --force. Remove it first, then init for the new target.`);
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
96
109
|
warn('Existing installation found — overwriting (--force).');
|
|
97
110
|
}
|
|
98
111
|
|
|
112
|
+
const codexEntryPath = path.join(targetDir, '.agents', 'skills', 'casarium', 'SKILL.md');
|
|
113
|
+
if (target === 'codex' && fileExists(codexEntryPath) && !force) {
|
|
114
|
+
logError('A project skill named casarium already exists. Use --force only if it may be replaced.');
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
117
|
+
|
|
99
118
|
// ── b) Determine components ─────────────────────────────────────────────
|
|
100
119
|
const componentKeys = resolveComponents(options);
|
|
101
120
|
const templatesDir = getTemplatesDir();
|
|
@@ -103,6 +122,7 @@ async function run(options) {
|
|
|
103
122
|
// ── c) Show plan ────────────────────────────────────────────────────────
|
|
104
123
|
console.log('');
|
|
105
124
|
info(bold('Installation plan:'));
|
|
125
|
+
info(`Target: ${target}; project: ${targetDir}`);
|
|
106
126
|
console.log('');
|
|
107
127
|
|
|
108
128
|
for (const key of componentKeys) {
|
|
@@ -161,16 +181,30 @@ async function run(options) {
|
|
|
161
181
|
|
|
162
182
|
console.log('');
|
|
163
183
|
console.log(bold('Next steps:'));
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
184
|
+
if (target === 'codex') {
|
|
185
|
+
console.log(` 1. Open ${cyan('Codex')} in ${targetDir}`);
|
|
186
|
+
console.log(` 2. Invoke ${cyan('$casarium [your case description]')}`);
|
|
187
|
+
console.log(` 3. Confirm each phase checkpoint and select a CJM variant`);
|
|
188
|
+
console.log('');
|
|
189
|
+
console.log(bold('Codex integration status:'));
|
|
190
|
+
console.log(' Bundled workflow skills: installed under .claude/skills/ as phase references');
|
|
191
|
+
console.log(' Full pipeline entrypoint: installed at .agents/skills/casarium/SKILL.md');
|
|
192
|
+
console.log(' Codex hooks and MCP integrations: not installed');
|
|
193
|
+
console.log(' Claude settings/hooks: not installed for this target');
|
|
194
|
+
} else {
|
|
195
|
+
console.log(` 1. Open ${cyan('Claude Code')} in this directory`);
|
|
196
|
+
console.log(` 2. Run ${cyan('/casarium [your case description]')}`);
|
|
197
|
+
console.log(` 3. Follow the 7-phase pipeline`);
|
|
198
|
+
}
|
|
173
199
|
console.log('');
|
|
200
|
+
if (target === 'claude') {
|
|
201
|
+
console.log(bold('Available commands:'));
|
|
202
|
+
console.log(` ${cyan('/casarium')} ${dim('\u2014 Full pipeline')}`);
|
|
203
|
+
console.log(` ${cyan('/new-research')} ${dim('\u2014 New research')}`);
|
|
204
|
+
console.log(` ${cyan('/parallel-research')} ${dim('\u2014 Multiple cases in parallel')}`);
|
|
205
|
+
console.log(` ${cyan('/harvest')} ${dim('\u2014 Extract knowledge')}`);
|
|
206
|
+
console.log('');
|
|
207
|
+
}
|
|
174
208
|
|
|
175
209
|
process.exit(0);
|
|
176
210
|
}
|
package/src/utils.js
CHANGED
|
@@ -311,6 +311,7 @@ const COMPONENT_SPECS = {
|
|
|
311
311
|
docs: { src: 'docs', name: 'Documentation', unit: 'guides', countMode: 'files', group: 'docs' },
|
|
312
312
|
claude_md: { src: 'CLAUDE.md', name: 'Master instructions', group: 'core', isFile: true },
|
|
313
313
|
harvest: { src: 'TOOLKIT_HARVEST.md', name: 'Knowledge harvest tracker', group: 'core', isFile: true },
|
|
314
|
+
codex_entry: { src: '.agents/skills/casarium', name: 'Codex pipeline entrypoint', unit: 'entrypoint', countMode: 'files', group: 'codex' },
|
|
314
315
|
};
|
|
315
316
|
|
|
316
317
|
/**
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: casarium
|
|
3
|
+
description: Run the installed Keysarium seven-phase case research pipeline in Codex, with phase artifacts and user checkpoints. Use when the user invokes $casarium or asks to work through a Keysarium case.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Casarium in Codex
|
|
7
|
+
|
|
8
|
+
This project contains the complete Keysarium workflow. Start by reading
|
|
9
|
+
`.claude/commands/casarium.md`; it is the source of truth for phase order, outputs and
|
|
10
|
+
checkpoints. Treat its `$ARGUMENTS` as the user's request after `$casarium`. If the case is
|
|
11
|
+
missing, ask for it.
|
|
12
|
+
|
|
13
|
+
For each phase, read only its `.claude/shards/phase-*.shard.md` and the skill files it names
|
|
14
|
+
under `.claude/skills/`. Read `.claude/rules/checkpoint-protocol.md` and
|
|
15
|
+
`.claude/rules/research-quality.md` when reaching their gates. Create phase artifacts under
|
|
16
|
+
`researches/<case-name>/` as the phase runs. Show the checkpoint and wait for the user's
|
|
17
|
+
confirmation before advancing. Phase 2.5 requires an explicit CJM choice; preserve that
|
|
18
|
+
choice in later phases. A failed research gate cannot emit a success promise.
|
|
19
|
+
|
|
20
|
+
The `.claude/` files are workflow references in Codex. Claude slash commands, Agent tool
|
|
21
|
+
calls, hook settings and model names inside them are not Codex commands or installed Codex
|
|
22
|
+
integrations. Use available Codex tools for the work and state any unavailable capability;
|
|
23
|
+
do not claim that a named Claude agent or hook ran. Parallel work is optional when the host
|
|
24
|
+
supports it. The research mode requirements still apply to every worker.
|
|
25
|
+
|
|
26
|
+
If the case asks for AI Factory mapping, read
|
|
27
|
+
`.claude/shards/phase-ai-factory.shard.md` and its referenced skill before Phase 0. Otherwise
|
|
28
|
+
leave that branch inactive. The project-local `$casarium` skill is the Codex entrypoint;
|
|
29
|
+
`/casarium` remains the Claude Code entrypoint.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-goal-planner
|
|
3
|
+
description: Plans software changes with the bundled SPARC-GOAP protocol and testable milestones.
|
|
4
|
+
color: blue
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Read `.claude/skills/feature-adr/references/agentic-qe/code-goal-planner.md` before planning. It is the canonical protocol for this project agent.
|
|
8
|
+
|
|
9
|
+
Use the feature requirements, ADR decisions, quality risks and current repository evidence to propose an ordered implementation plan. Give each milestone a deliverable and a check that could disprove completion. Identify unresolved inputs instead of inventing metrics or claiming that code has already been verified. Return the plan to Step 6 of feature-ADR; the lead checks it before recording the plan artifact.
|
|
@@ -195,7 +195,9 @@ researches/CASE_NAME/
|
|
|
195
195
|
- Файлы создаются в момент фазы, не в Phase 6
|
|
196
196
|
- ⭐ Phase 2.5 (CJM Prototype) — НИКОГДА НЕ ПРОПУСКАТЬ
|
|
197
197
|
- ⭐ 08_executive_summary.md — ОБЯЗАТЕЛЕН
|
|
198
|
-
- Research
|
|
198
|
+
- Research: `moderate` для обычных источников; `strict`/`paranoid` только после проверки
|
|
199
|
+
`issuer_keys_available` и `source_class_verified` по `.claude/rules/research-quality.md`.
|
|
200
|
+
Недостижимая цель исследования останавливает checkpoint и следующие фазы.
|
|
199
201
|
- {CHOSEN_CJM} передаётся в Phase 3-5
|
|
200
202
|
- Если банк: on-premise, ФЗ-152, ЦБ, GigaChat/YandexGPT
|
|
201
203
|
- Если мало времени: Quick Mode
|
|
@@ -23,7 +23,7 @@ $ARGUMENTS
|
|
|
23
23
|
4. **Step 2:** Определить 3 варианта CJM (A/B/C)
|
|
24
24
|
5. **Step 2.5:** VARIANT D — Future-Ready CJM (Trend-Based)
|
|
25
25
|
- Загрузи `.claude/skills/goap-research-ed25519/SKILL.md` для trend research
|
|
26
|
-
- Исследуй 5 категорий трендов
|
|
26
|
+
- Исследуй 5 категорий трендов в режиме, разрешённом `.claude/rules/research-quality.md`
|
|
27
27
|
- Создай Trend Brief
|
|
28
28
|
- Синтезируй Variant D
|
|
29
29
|
6. **Step 3:** Сгенерируй React-прототип (.jsx) с 4 вариантами
|
|
@@ -38,5 +38,5 @@ $ARGUMENTS
|
|
|
38
38
|
Запусти 3 агента параллельно:
|
|
39
39
|
- Agent 1: CJM Variant A — один подход к точке входа
|
|
40
40
|
- Agent 2: CJM Variant B + C — альтернативные подходы
|
|
41
|
-
- Agent 3: Trend Research для Variant D (GOAP
|
|
41
|
+
- Agent 3: Trend Research для Variant D (GOAP `moderate` для обычных источников)
|
|
42
42
|
Затем синтезируй в единый прототип с 4 вариантами.
|
|
@@ -12,7 +12,10 @@ $ARGUMENTS
|
|
|
12
12
|
|
|
13
13
|
1. **Загрузи скилл:** Прочитай `.claude/skills/goap-research-ed25519/SKILL.md`
|
|
14
14
|
2. **Прочитай Phase 0-1** для контекста
|
|
15
|
-
3.
|
|
15
|
+
3. **Выбери режим по `.claude/rules/research-quality.md`:** `moderate` для обычных
|
|
16
|
+
источников; `strict`/`paranoid` только при подтверждённых ключах издателей и
|
|
17
|
+
подписанной выдаче. Если GOAP вернул `GOAL_UNREACHABLE`, покажи причину и не
|
|
18
|
+
отмечай фазу завершённой.
|
|
16
19
|
|
|
17
20
|
4. **Исследуй по направлениям:**
|
|
18
21
|
- Аналоги — кто решал похожую задачу
|
|
@@ -29,7 +29,7 @@ Promises are machine-readable markers that formalize phase gates.
|
|
|
29
29
|
|-------|------------|---------|
|
|
30
30
|
| Phase 0 | `<promise>DISCOVERY_COMPLETE</promise>` | JTBD + competitors + ROI analyzed |
|
|
31
31
|
| Phase 1 | `<promise>CASE_EXPLORED</promise>` | Case fully understood, brief created |
|
|
32
|
-
| Phase 2 | `<promise>RESEARCH_PARANOID_PASSED</promise>` |
|
|
32
|
+
| Phase 2 | `<promise>RESEARCH_PARANOID_PASSED</promise>` | Legacy tag: evidence gate passed in the selected GOAP mode; no issuer-signature claim unless independently confirmed |
|
|
33
33
|
| Phase 2.5 | `<promise>CJM_VALIDATED</promise>` | CJM prototype created and variant chosen |
|
|
34
34
|
| Phase 3 | `<promise>SOLUTION_DESIGNED</promise>` | Solution strategy formulated |
|
|
35
35
|
| Phase 4 | `<promise>ARCHITECTURE_DEFINED</promise>` | C4 diagrams + sequence flows ready |
|
|
@@ -57,6 +57,7 @@ Files created: [list] ✅
|
|
|
57
57
|
### Promise Validation Rules
|
|
58
58
|
|
|
59
59
|
- A promise tag MUST only be emitted AFTER its conditions are verifiably met
|
|
60
|
+
- GOAP `GOAL_UNREACHABLE` cannot satisfy the Phase 2 promise; report the missing capability and stop
|
|
60
61
|
- If conditions are NOT met, emit `<promise>[TAG]_INCOMPLETE</promise>` instead
|
|
61
62
|
- Downstream phases SHOULD check for upstream promises before starting
|
|
62
63
|
- Promise tags serve as formal phase gates — they replace informal "phase done" signals
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
# Research Quality Rules
|
|
2
2
|
|
|
3
|
-
##
|
|
4
|
-
-
|
|
5
|
-
|
|
6
|
-
-
|
|
7
|
-
|
|
3
|
+
## Research mode selection
|
|
4
|
+
- Use GOAP `moderate` for ordinary web and publication sources. Cite material factual claims,
|
|
5
|
+
identify uncertainty and do not turn an unverified claim into a decisive conclusion.
|
|
6
|
+
- Select GOAP `strict` or `paranoid` only after confirming both `issuer_keys_available` (real
|
|
7
|
+
pinned Ed25519 issuer keys) and `source_class_verified` (signed delivery for that source
|
|
8
|
+
class). A URL or citation alone establishes neither capability.
|
|
9
|
+
- If the requested mode returns `GOAL_UNREACHABLE`, record the missing capabilities and stop
|
|
10
|
+
the research checkpoint. Do not emit a success promise or advance to the next phase.
|
|
11
|
+
- Zero tolerance for invented citations applies in every mode. Source attribution and issuer
|
|
12
|
+
signature verification are different claims.
|
|
8
13
|
|
|
9
14
|
## Citation Requirements
|
|
10
15
|
- Format: `[Claim] — Source: [URL or publication], [Date]`
|
|
@@ -14,7 +19,7 @@
|
|
|
14
19
|
## Verification Checklist
|
|
15
20
|
Before completing any research phase:
|
|
16
21
|
- [ ] All claims have sources
|
|
17
|
-
- [ ] No unverified statistics or percentages
|
|
22
|
+
- [ ] No unverified statistics or percentages presented as established facts
|
|
18
23
|
- [ ] Competitor names verified to exist
|
|
19
24
|
- [ ] Technology recommendations are for real, available products
|
|
20
25
|
- [ ] Regulatory references cite actual laws/standards
|
|
@@ -13,12 +13,14 @@ Load: `.claude/skills/goap-research-ed25519/SKILL.md`
|
|
|
13
13
|
## Mandatory Outputs
|
|
14
14
|
- `02_research_findings.md`
|
|
15
15
|
|
|
16
|
-
##
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
|
|
16
|
+
## Research mode and evidence
|
|
17
|
+
- Follow `.claude/rules/research-quality.md`: default GOAP `moderate` for ordinary sources.
|
|
18
|
+
- Use `strict`/`paranoid` only if both issuer-key and signed-delivery capabilities are
|
|
19
|
+
confirmed for the selected source class. Do not infer signature verification from a URL.
|
|
20
|
+
- Cite material factual claims; label unsupported claims `[UNVERIFIED]` and keep them out of
|
|
21
|
+
decisive conclusions. Invented citations are never acceptable.
|
|
22
|
+
- Citation format: `[Claim] — Source: [URL or publication], [Date]`.
|
|
23
|
+
- A `GOAL_UNREACHABLE` result blocks the checkpoint and transition to Phase 2.5.
|
|
22
24
|
|
|
23
25
|
## Agent Swarm (3 parallel, model: sonnet)
|
|
24
26
|
- Agent 1: Analogues + Benchmarks
|
|
@@ -28,13 +30,15 @@ Load: `.claude/skills/goap-research-ed25519/SKILL.md`
|
|
|
28
30
|
|
|
29
31
|
## Quality Gates
|
|
30
32
|
- ALL claims have sources
|
|
31
|
-
- No unverified statistics or percentages
|
|
33
|
+
- No unverified statistics or percentages presented as established facts
|
|
32
34
|
- Competitor names verified to exist
|
|
33
35
|
- Technology recommendations are for real, available products
|
|
34
36
|
- Regulatory references cite actual laws/standards
|
|
35
37
|
|
|
36
38
|
## Promise
|
|
37
|
-
On
|
|
39
|
+
On successful evidence review in the selected mode: `<promise>RESEARCH_PARANOID_PASSED</promise>`.
|
|
40
|
+
The tag name is retained for downstream compatibility; it does not assert GOAP paranoid mode or
|
|
41
|
+
cryptographic issuer verification. On failure, emit the incomplete marker and do not advance.
|
|
38
42
|
|
|
39
43
|
## Anti-Patterns to Check
|
|
40
44
|
- Bare claims without attribution → BLOCK
|
|
@@ -21,14 +21,15 @@
|
|
|
21
21
|
## Process
|
|
22
22
|
1. Extract: primary_user, segments, aha_moment, solution_concept from Phases 0-2
|
|
23
23
|
2. Define 3 CJM variants (A/B/C) with different approaches
|
|
24
|
-
3. Research 5 trend categories for Variant D
|
|
24
|
+
3. Research 5 trend categories for Variant D in the GOAP mode allowed by
|
|
25
|
+
`.claude/rules/research-quality.md`; ordinary sources use `moderate`
|
|
25
26
|
4. Generate React .jsx prototype with all 4 variants
|
|
26
27
|
5. User selects winning variant → sets `{CHOSEN_CJM}`
|
|
27
28
|
|
|
28
29
|
## Agent Swarm (3 parallel)
|
|
29
30
|
- Agent 1 (opus): CJM Variant A design
|
|
30
31
|
- Agent 2 (opus): CJM Variants B + C design
|
|
31
|
-
- Agent 3 (sonnet): Trend Research for Variant D (
|
|
32
|
+
- Agent 3 (sonnet): Trend Research for Variant D (selected GOAP mode, 5 categories)
|
|
32
33
|
|
|
33
34
|
## Critical Variable
|
|
34
35
|
`{CHOSEN_CJM}` — MUST be set by user selection. Passed to Phases 3-5.
|
|
@@ -36,7 +37,8 @@
|
|
|
36
37
|
## Quality Gates
|
|
37
38
|
- Minimum 3 CJM variants (A/B/C) + 1 trend variant (D)
|
|
38
39
|
- Prototype must be valid React JSX
|
|
39
|
-
- Trend research
|
|
40
|
+
- Trend research cites sources, labels uncertainty and does not claim issuer verification
|
|
41
|
+
without confirmed capabilities
|
|
40
42
|
- User MUST explicitly select a variant
|
|
41
43
|
|
|
42
44
|
## Promise
|
|
@@ -60,17 +60,19 @@ Trigger on:
|
|
|
60
60
|
│ ├── adr-template.md ← ADR document template
|
|
61
61
|
│ ├── c4-template.md ← C4 diagram templates
|
|
62
62
|
│ ├── qe-checklist.md ← Quality engineering checklist
|
|
63
|
-
│ └── agentic-qe/ ←
|
|
63
|
+
│ └── agentic-qe/ ← 15 QE references (8 pinned protocols)
|
|
64
64
|
│ ├── README.md ← Skill mapping, modes, install guide
|
|
65
|
-
│ ├──
|
|
66
|
-
│ ├──
|
|
65
|
+
│ ├── UPSTREAM-MANIFEST.json ← Pinned upstream paths and hashes
|
|
66
|
+
│ ├── LICENSE.agentic-qe ← Upstream MIT notice
|
|
67
|
+
│ ├── qe-ref-shift-left-testing/REFERENCE.md ← Step 3: ADR testability (Tier 3)
|
|
68
|
+
│ ├── qe-ref-qcsd-ideation-swarm/REFERENCE.md ← Step 3.5: Quality swarm (Tier 3)
|
|
67
69
|
│ ├── code-goal-planner.md ← Step 6: SPARC-GOAP agent
|
|
68
|
-
│ ├── brutal-honesty-review.md ← Step 8: Code review (Tier 2)
|
|
69
|
-
│ ├── qe-requirements-validation.md ← Step 9: Traceability (Tier 3)
|
|
70
|
-
│ ├── risk-based-testing.md ← Step 9: Risk scoring (Tier 3)
|
|
71
|
-
│ ├── enterprise-integration-testing.md ← Step 9: Integration
|
|
72
|
-
│ ├── regression-testing.md ← Step 9: Regression (Tier 3)
|
|
73
|
-
│ ├── qe-coverage-analysis.md ← Step 9: Coverage (Tier 3)
|
|
70
|
+
│ ├── qe-ref-brutal-honesty-review/REFERENCE.md ← Step 8: Code review (Tier 2)
|
|
71
|
+
│ ├── qe-ref-qe-requirements-validation/REFERENCE.md ← Step 9: Traceability (Tier 3)
|
|
72
|
+
│ ├── qe-ref-risk-based-testing/REFERENCE.md ← Step 9: Risk scoring (Tier 3)
|
|
73
|
+
│ ├── qe-ref-enterprise-integration-testing/REFERENCE.md ← Step 9: Integration
|
|
74
|
+
│ ├── qe-ref-regression-testing/REFERENCE.md ← Step 9: Regression (Tier 3)
|
|
75
|
+
│ ├── qe-ref-qe-coverage-analysis/REFERENCE.md ← Step 9: Coverage (Tier 3)
|
|
74
76
|
│ ├── chaos-engineering-resilience.md ← Extended: Chaos (Tier 3)
|
|
75
77
|
│ ├── security-testing.md ← Extended: OWASP (Tier 3)
|
|
76
78
|
│ ├── performance-testing.md ← Extended: Load/stress (Tier 3)
|
|
@@ -649,17 +651,17 @@ statusline/JSON and its ETA keep their existing behavior. Do not start a termina
|
|
|
649
651
|
|
|
650
652
|
### What changes with `--full-qe`
|
|
651
653
|
|
|
652
|
-
|
|
654
|
+
The eight vendored core skills already provide pinned full protocols in Reference Mode. Direct Mode adds the installed aqe runtime, its MCP pattern memory, and the steps explicitly listed below; it does not make the bundled references more complete.
|
|
653
655
|
|
|
654
656
|
| Step | Reference Mode (default) | Direct Mode (`--full-qe`) |
|
|
655
657
|
|------|--------------------------|---------------------------|
|
|
656
658
|
| Step 0 | Standard routing | + pattern recall → `{LEARNED_PATTERNS}` |
|
|
657
|
-
| Step 3 |
|
|
658
|
-
| Step 3.5 |
|
|
659
|
-
| Step 6 | SPARC-GOAP goal state analysis |
|
|
659
|
+
| Step 3 | Pinned shift-left protocol | Same protocol; installed aqe tooling when available |
|
|
660
|
+
| Step 3.5 | Bundled QCSD protocol and conditional perspectives | Installed aqe runtime can coordinate its full swarm |
|
|
661
|
+
| Step 6 | SPARC-GOAP goal state analysis | Installed planner agent when available |
|
|
660
662
|
| Step 7 | Standard code generation | Standard code generation (no change) |
|
|
661
|
-
| Step 8 |
|
|
662
|
-
| Step 9 | 4 agents with
|
|
663
|
+
| Step 8 | Pinned brutal-honesty protocol | Same review plus aqe pattern recall/store |
|
|
664
|
+
| Step 9 | 4 agents with pinned full protocols | Same agents plus aqe fleet pattern recall/store |
|
|
663
665
|
|
|
664
666
|
### What `--full-qe-extended` adds on top
|
|
665
667
|
|
|
@@ -227,7 +227,7 @@ Fitness readiness:
|
|
|
227
227
|
|
|
228
228
|
After all ADRs are drafted, apply **shift-left-testing** protocol (Level 4: Risk Analysis in Design).
|
|
229
229
|
|
|
230
|
-
> Load: `references/agentic-qe/shift-left-testing.md`
|
|
230
|
+
> Load: `references/agentic-qe/qe-ref-shift-left-testing/REFERENCE.md`
|
|
231
231
|
|
|
232
232
|
### Testability Check per ADR
|
|
233
233
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
Adapted from [agentic-qe qcsd-ideation-swarm](https://github.com/proffesor-for-testing/agentic-qe) (Tier 3: Verified).
|
|
8
8
|
|
|
9
|
-
> Load: `references/agentic-qe/qcsd-ideation-swarm.md`
|
|
9
|
+
> Load: `references/agentic-qe/qe-ref-qcsd-ideation-swarm/REFERENCE.md`
|
|
10
10
|
|
|
11
11
|
## When
|
|
12
12
|
|
|
@@ -13,7 +13,7 @@ Always runs, and ALWAYS writes `features/<slug>/06_implementation_plan.md` — e
|
|
|
13
13
|
|
|
14
14
|
## Model
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
Use the planning model selected by the active feature-ADR routing policy, distinct from the coding model, with code-goal-planner SPARC-GOAP methodology.
|
|
17
17
|
|
|
18
18
|
## Input
|
|
19
19
|
|
|
@@ -25,7 +25,7 @@ sonnet (analytical decomposition) + code-goal-planner SPARC-GOAP methodology
|
|
|
25
25
|
|
|
26
26
|
## Protocol
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
In Claude Code, if the `code-goal-planner` agent is available, delegate goal-state analysis to it with the requirements, ADR decisions and quality risks. Check its proposed milestones against the project evidence before writing the plan. In Codex, or whenever that agent surface is unavailable, load `references/agentic-qe/code-goal-planner.md` and apply the same methodology directly. Do not report agent execution when only the reference was read.
|
|
29
29
|
|
|
30
30
|
### 0. Apply SPARC-GOAP Goal State Analysis
|
|
31
31
|
|
|
@@ -249,7 +249,7 @@ produced blockers. Non-blocking: empty result or error → proceed with the stan
|
|
|
249
249
|
|
|
250
250
|
### 3. Code Review via Brutal Honesty Review (M+)
|
|
251
251
|
|
|
252
|
-
> Load: `references/agentic-qe/brutal-honesty-review.md`
|
|
252
|
+
> Load: `references/agentic-qe/qe-ref-brutal-honesty-review/REFERENCE.md`
|
|
253
253
|
|
|
254
254
|
Apply the **brutal-honesty-review** protocol from agentic-qe (Tier 2: Validated).
|
|
255
255
|
|
|
@@ -28,11 +28,11 @@ sonnet (analytical fleet coordination — multiple parallel agents)
|
|
|
28
28
|
### 1. Fleet Assembly
|
|
29
29
|
|
|
30
30
|
> Load agent protocols:
|
|
31
|
-
> - Agent 1: `references/agentic-qe/qe-requirements-validation.md`
|
|
32
|
-
> - Agent 2: `references/agentic-qe/risk-based-testing.md`
|
|
33
|
-
> - Agent 3: `references/agentic-qe/enterprise-integration-testing.md`
|
|
34
|
-
> - Agent 4: `references/agentic-qe/regression-testing.md`
|
|
35
|
-
> - Shared: `references/agentic-qe/qe-coverage-analysis.md`
|
|
31
|
+
> - Agent 1: `references/agentic-qe/qe-ref-qe-requirements-validation/REFERENCE.md`
|
|
32
|
+
> - Agent 2: `references/agentic-qe/qe-ref-risk-based-testing/REFERENCE.md`
|
|
33
|
+
> - Agent 3: `references/agentic-qe/qe-ref-enterprise-integration-testing/REFERENCE.md`
|
|
34
|
+
> - Agent 4: `references/agentic-qe/qe-ref-regression-testing/REFERENCE.md`
|
|
35
|
+
> - Shared: `references/agentic-qe/qe-ref-qe-coverage-analysis/REFERENCE.md`
|
|
36
36
|
|
|
37
37
|
Spawn a QE fleet of 4 parallel assessment agents:
|
|
38
38
|
|
|
@@ -100,7 +100,7 @@ Any UNMITIGATED critical risk (score ≥ 20) = GAP.
|
|
|
100
100
|
|
|
101
101
|
### 4. Integration Check (Agent 3)
|
|
102
102
|
|
|
103
|
-
> Protocol from: `enterprise-integration-testing` (
|
|
103
|
+
> Protocol from: `enterprise-integration-testing` (pinned upstream protocol)
|
|
104
104
|
|
|
105
105
|
Apply the **enterprise-integration-testing** hierarchical testing strategy:
|
|
106
106
|
|
|
@@ -251,17 +251,17 @@ Gaps requiring attention:
|
|
|
251
251
|
## Direct Mode (`--full-qe`)
|
|
252
252
|
|
|
253
253
|
When `{AGENTIC_QE_MODE}` = `direct` (activated via `--full-qe` flag), Step 9
|
|
254
|
-
uses
|
|
255
|
-
are added
|
|
254
|
+
uses the same four pinned full protocols as Reference Mode. No additional agents
|
|
255
|
+
are added; the installed aqe runtime adds its memory and fleet services.
|
|
256
256
|
|
|
257
257
|
### What changes
|
|
258
258
|
|
|
259
259
|
| Agent | Reference Mode | Direct Mode (`--full-qe`) |
|
|
260
260
|
|-------|---------------|---------------------------|
|
|
261
|
-
| Agent 1 |
|
|
262
|
-
| Agent 2 |
|
|
263
|
-
| Agent 3 |
|
|
264
|
-
| Agent 4 |
|
|
261
|
+
| Agent 1 | Pinned qe-requirements-validation protocol | Same protocol; aqe runtime services |
|
|
262
|
+
| Agent 2 | Pinned risk-based-testing protocol | Same protocol; aqe runtime services |
|
|
263
|
+
| Agent 3 | Pinned enterprise-integration protocol | Same protocol; aqe fleet services |
|
|
264
|
+
| Agent 4 | Pinned regression-testing protocol | Same protocol; aqe runtime services |
|
|
265
265
|
|
|
266
266
|
## Pattern Memory Loop (Direct Modes)
|
|
267
267
|
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Agentic QE Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|