sinapse-ai 1.4.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex/agents/snps-orqx.md +1 -1
- package/.sinapse-ai/core/external-executors/delegate-cli.js +585 -0
- package/.sinapse-ai/core/external-executors/index.js +13 -0
- package/.sinapse-ai/core/orchestration/fast-path-gate.js +356 -0
- package/.sinapse-ai/core/orchestration/index.js +23 -0
- package/.sinapse-ai/data/entity-registry.yaml +41 -24
- package/.sinapse-ai/data/registry-update-log.jsonl +10 -0
- package/.sinapse-ai/development/agents/snps-orqx.md +1 -1
- package/.sinapse-ai/install-manifest.yaml +22 -10
- package/.sinapse-ai/product/templates/activation-instructions-inline-greeting.yaml +17 -1
- package/.sinapse-ai/schemas/squad-schema.json +217 -113
- package/bin/sinapse-delegate.js +30 -0
- package/docs/guides/README.md +7 -7
- package/docs/guides/ade-guide.md +16 -16
- package/docs/guides/hooks-two-layers.md +66 -0
- package/docs/pt/README.md +3 -39
- package/docs/pt/community.md +13 -13
- package/docs/pt/guides/ade-guide.md +16 -16
- package/docs/sinapse-agent-flows/README.md +3 -4
- package/docs/sinapse-agent-flows/analyst-system.md +12 -12
- package/docs/sinapse-agent-flows/architect-system.md +16 -16
- package/docs/sinapse-agent-flows/data-engineer-system.md +10 -10
- package/docs/sinapse-agent-flows/dev-system.md +11 -11
- package/docs/sinapse-agent-flows/devops-system.md +5 -5
- package/docs/sinapse-agent-flows/pm-system.md +9 -9
- package/docs/sinapse-agent-flows/qa-system.md +10 -10
- package/docs/sinapse-agent-flows/sm-system.md +10 -10
- package/docs/sinapse-agent-flows/snps-orqx-system.md +9 -9
- package/docs/sinapse-agent-flows/squad-creator-system.md +7 -7
- package/package.json +5 -2
- package/scripts/regenerate-orqx-stubs.ps1 +96 -0
- package/scripts/validate-squad-yaml.js +166 -0
- package/sinapse/agents/sinapse-orqx.md +791 -0
- package/sinapse/agents/snps-orqx.md +1 -1
- package/squads/claude-code-mastery/_deprecated/README.md +42 -0
- package/squads/claude-code-mastery/agents/swarm-orqx.md +3 -1
- package/squads/claude-code-mastery/squad.yaml +46 -49
- package/squads/squad-cybersecurity/squad.yaml +1 -0
- package/squads/squad-finance/agents/cost-optimizer.md +164 -0
- package/squads/squad-finance/agents/fiscal-compliance-br.md +224 -0
- package/squads/squad-finance/agents/forecast-strategist.md +234 -0
- package/squads/squad-finance/squad.yaml +140 -21
- package/squads/squad-storytelling/squad.yaml +1 -0
- /package/squads/claude-code-mastery/{agents → _deprecated}/claude-orqx.md +0 -0
- /package/squads/claude-code-mastery/{agents → _deprecated}/db-sage.md +0 -0
- /package/squads/claude-code-mastery/{agents → _deprecated}/tools-orqx.md +0 -0
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const DEFAULT_FAST_PATH_CONFIG = Object.freeze({
|
|
4
|
+
enabled: true,
|
|
5
|
+
externalExecutorsEnabled: false,
|
|
6
|
+
minConfidence: 0.58,
|
|
7
|
+
minBatchItems: 3,
|
|
8
|
+
externalExecutorThreshold: 0.78,
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
const STRUCTURED_FILE_EXTENSIONS_FROZEN = Object.freeze([
|
|
12
|
+
'.csv',
|
|
13
|
+
'.json',
|
|
14
|
+
'.jsonl',
|
|
15
|
+
'.md',
|
|
16
|
+
'.toml',
|
|
17
|
+
'.tsv',
|
|
18
|
+
'.txt',
|
|
19
|
+
'.yaml',
|
|
20
|
+
'.yml',
|
|
21
|
+
]);
|
|
22
|
+
|
|
23
|
+
const STRUCTURED_FILE_EXTENSION_SET = new Set(STRUCTURED_FILE_EXTENSIONS_FROZEN);
|
|
24
|
+
|
|
25
|
+
const AUTOMATION_PATTERNS_FROZEN = Object.freeze([
|
|
26
|
+
{
|
|
27
|
+
id: 'bulk-edit',
|
|
28
|
+
weight: 3,
|
|
29
|
+
pattern: /\b(batch|bulk|many files|multiple files|all files|in one shot|one shot)\b/i,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: 'structured-transform',
|
|
33
|
+
weight: 3,
|
|
34
|
+
pattern: /\b(yaml|json|csv|markdown|frontmatter|schema|variable|variables|field|fields)\b/i,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: 'mechanical-edit',
|
|
38
|
+
weight: 3,
|
|
39
|
+
pattern: /\b(replace|rename|populate|fill|complete|update|convert|transform|normalize|format)\b/i,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
id: 'map-then-apply',
|
|
43
|
+
weight: 2,
|
|
44
|
+
pattern: /\b(map|extract|derive|template|codemod|script)\b/i,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
id: 'repetition',
|
|
48
|
+
weight: 2,
|
|
49
|
+
pattern: /\b(repeated|repetitive|same change|similar change|dumb task|tedious)\b/i,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
id: 'parallelizable',
|
|
53
|
+
weight: 2,
|
|
54
|
+
pattern: /\b(parallel|independent|per file|per item|per record)\b/i,
|
|
55
|
+
},
|
|
56
|
+
].map(Object.freeze));
|
|
57
|
+
|
|
58
|
+
const RISK_PATTERNS_FROZEN = Object.freeze([
|
|
59
|
+
{
|
|
60
|
+
id: 'architecture',
|
|
61
|
+
weight: 3,
|
|
62
|
+
pattern: /\b(architecture|architectural|design decision|adr|contract)\b/i,
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: 'security',
|
|
66
|
+
weight: 3,
|
|
67
|
+
pattern: /\b(security|secret|token|credential|auth|permission|pii|rls)\b/i,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
id: 'destructive',
|
|
71
|
+
weight: 3,
|
|
72
|
+
pattern: /\b(delete|remove data|drop|reset|rewrite history|destructive)\b/i,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: 'production',
|
|
76
|
+
weight: 2,
|
|
77
|
+
pattern: /\b(production|prod|release|billing|payment|customer)\b/i,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
id: 'migration',
|
|
81
|
+
weight: 2,
|
|
82
|
+
pattern: /\b(migration|migrate|schema change|breaking change)\b/i,
|
|
83
|
+
},
|
|
84
|
+
].map(Object.freeze));
|
|
85
|
+
|
|
86
|
+
function clonePatternDefinition(patternDefinition) {
|
|
87
|
+
return {
|
|
88
|
+
id: patternDefinition.id,
|
|
89
|
+
weight: patternDefinition.weight,
|
|
90
|
+
pattern: new RegExp(patternDefinition.pattern.source, patternDefinition.pattern.flags),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function getStructuredFileExtensions() {
|
|
95
|
+
return new Set(STRUCTURED_FILE_EXTENSIONS_FROZEN);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function getAutomationPatterns() {
|
|
99
|
+
return AUTOMATION_PATTERNS_FROZEN.map(clonePatternDefinition);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function getRiskPatterns() {
|
|
103
|
+
return RISK_PATTERNS_FROZEN.map(clonePatternDefinition);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function parseBoolean(value, fallback) {
|
|
107
|
+
if (typeof value === 'boolean') {
|
|
108
|
+
return value;
|
|
109
|
+
}
|
|
110
|
+
if (typeof value === 'string') {
|
|
111
|
+
const normalized = value.trim().toLowerCase();
|
|
112
|
+
if (normalized === 'true') {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
if (normalized === 'false') {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return fallback;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function normalizeConfig(config = {}) {
|
|
123
|
+
const clamp01 = (value, fallback) => {
|
|
124
|
+
const numericValue = Number(value);
|
|
125
|
+
if (!Number.isFinite(numericValue)) {
|
|
126
|
+
return fallback;
|
|
127
|
+
}
|
|
128
|
+
return Math.min(1, Math.max(0, numericValue));
|
|
129
|
+
};
|
|
130
|
+
const positiveInteger = (value, fallback) => {
|
|
131
|
+
const numericValue = Number(value);
|
|
132
|
+
if (!Number.isFinite(numericValue)) {
|
|
133
|
+
return fallback;
|
|
134
|
+
}
|
|
135
|
+
return Math.max(1, Math.floor(numericValue));
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
return {
|
|
139
|
+
enabled: parseBoolean(config.enabled, DEFAULT_FAST_PATH_CONFIG.enabled),
|
|
140
|
+
externalExecutorsEnabled: parseBoolean(
|
|
141
|
+
config.externalExecutorsEnabled ?? config.external_executors_enabled,
|
|
142
|
+
DEFAULT_FAST_PATH_CONFIG.externalExecutorsEnabled,
|
|
143
|
+
),
|
|
144
|
+
minConfidence: clamp01(
|
|
145
|
+
config.minConfidence ?? config.min_confidence,
|
|
146
|
+
DEFAULT_FAST_PATH_CONFIG.minConfidence,
|
|
147
|
+
),
|
|
148
|
+
minBatchItems: positiveInteger(
|
|
149
|
+
config.minBatchItems ?? config.min_batch_items,
|
|
150
|
+
DEFAULT_FAST_PATH_CONFIG.minBatchItems,
|
|
151
|
+
),
|
|
152
|
+
externalExecutorThreshold: clamp01(
|
|
153
|
+
config.externalExecutorThreshold ?? config.external_executor_threshold,
|
|
154
|
+
DEFAULT_FAST_PATH_CONFIG.externalExecutorThreshold,
|
|
155
|
+
),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function normalizeTask(input = {}) {
|
|
160
|
+
const task = input.task || input;
|
|
161
|
+
return {
|
|
162
|
+
description: String(task.description || task.summary || task.title || ''),
|
|
163
|
+
files: Array.isArray(task.files) ? task.files : [],
|
|
164
|
+
acceptanceCriteria: Array.isArray(task.acceptanceCriteria)
|
|
165
|
+
? task.acceptanceCriteria
|
|
166
|
+
: Array.isArray(task.acceptance_criteria)
|
|
167
|
+
? task.acceptance_criteria
|
|
168
|
+
: [],
|
|
169
|
+
itemCount: Number.isFinite(task.itemCount)
|
|
170
|
+
? task.itemCount
|
|
171
|
+
: Number.isFinite(task.item_count)
|
|
172
|
+
? task.item_count
|
|
173
|
+
: null,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
function normalizePathExtension(filePath) {
|
|
178
|
+
const match = String(filePath || '').toLowerCase().match(/(\.[a-z0-9]+)$/);
|
|
179
|
+
return match ? match[1] : '';
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
function collectSignals(patterns, text) {
|
|
183
|
+
return patterns
|
|
184
|
+
.filter(({ pattern }) => pattern.test(text))
|
|
185
|
+
.map(({ id, weight }) => ({ id, weight }));
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
function getTaskText(task) {
|
|
189
|
+
return [
|
|
190
|
+
task.description,
|
|
191
|
+
...task.acceptanceCriteria.map((criterion) => String(criterion || '')),
|
|
192
|
+
...task.files.map((file) => String(file || '')),
|
|
193
|
+
].join('\n');
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
function scoreFastPath({ automationSignals, riskSignals, files, structuredFileCount, batchSize }) {
|
|
197
|
+
const automationWeight = automationSignals.reduce((sum, signal) => sum + signal.weight, 0);
|
|
198
|
+
const riskWeight = riskSignals.reduce((sum, signal) => sum + signal.weight, 0);
|
|
199
|
+
const fileWeight = Math.min(files.length, 8) * 0.45;
|
|
200
|
+
const structuredWeight = Math.min(structuredFileCount, 6) * 0.55;
|
|
201
|
+
const batchWeight = Math.min(batchSize, 10) * 0.35;
|
|
202
|
+
|
|
203
|
+
const rawScore = automationWeight + fileWeight + structuredWeight + batchWeight - riskWeight * 1.35;
|
|
204
|
+
return Math.max(0, Math.min(1, rawScore / 13));
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
function chooseMode({
|
|
208
|
+
confidence,
|
|
209
|
+
config,
|
|
210
|
+
externalExecutorsEnabled,
|
|
211
|
+
parallelizable,
|
|
212
|
+
structuredFileCount,
|
|
213
|
+
batchSize,
|
|
214
|
+
}) {
|
|
215
|
+
if (externalExecutorsEnabled && confidence >= config.externalExecutorThreshold) {
|
|
216
|
+
return 'external_executor';
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
if (parallelizable && batchSize >= config.minBatchItems) {
|
|
220
|
+
return 'parallel_batch';
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
if (structuredFileCount > 0 || batchSize >= config.minBatchItems) {
|
|
224
|
+
return 'deterministic_batch';
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
return 'standard';
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
function buildActions(mode) {
|
|
231
|
+
if (mode === 'external_executor') {
|
|
232
|
+
return [
|
|
233
|
+
'Prepare a bounded prompt with target files, schema, acceptance criteria, and validation commands.',
|
|
234
|
+
'Run a dry-run plan first, then delegate with the configured external executor sandbox.',
|
|
235
|
+
'Review the executor diff before mutating story or issue state.',
|
|
236
|
+
];
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
if (mode === 'parallel_batch') {
|
|
240
|
+
return [
|
|
241
|
+
'Map target files or records once before editing.',
|
|
242
|
+
'Group independent changes by file or record and apply them as a batch.',
|
|
243
|
+
'Run targeted validation on the changed surface before broader checks.',
|
|
244
|
+
];
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
if (mode === 'deterministic_batch') {
|
|
248
|
+
return [
|
|
249
|
+
'Extract the data shape and replacement rules before editing.',
|
|
250
|
+
'Use a deterministic transform or structured parser instead of conversational one-by-one edits.',
|
|
251
|
+
'Validate output syntax and diff size before continuing.',
|
|
252
|
+
];
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
return [
|
|
256
|
+
'Use the standard story/task workflow.',
|
|
257
|
+
'Keep changes sequential when risk or ambiguity is higher than the automation signal.',
|
|
258
|
+
];
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
function evaluateFastPath(input = {}) {
|
|
262
|
+
const config = normalizeConfig(input.config || input.fastPath || {});
|
|
263
|
+
const task = normalizeTask(input);
|
|
264
|
+
const text = getTaskText(task);
|
|
265
|
+
const automationSignals = collectSignals(AUTOMATION_PATTERNS_FROZEN, text);
|
|
266
|
+
const riskSignals = collectSignals(RISK_PATTERNS_FROZEN, text);
|
|
267
|
+
const structuredFileCount = task.files.filter((file) => (
|
|
268
|
+
STRUCTURED_FILE_EXTENSION_SET.has(normalizePathExtension(file))
|
|
269
|
+
)).length;
|
|
270
|
+
const batchSize = task.itemCount ?? Math.max(task.files.length, structuredFileCount);
|
|
271
|
+
const parallelizable = (
|
|
272
|
+
task.files.length >= config.minBatchItems ||
|
|
273
|
+
automationSignals.some((signal) => signal.id === 'parallelizable')
|
|
274
|
+
);
|
|
275
|
+
|
|
276
|
+
if (!config.enabled) {
|
|
277
|
+
return {
|
|
278
|
+
gate: 'fast_path',
|
|
279
|
+
enabled: false,
|
|
280
|
+
passed: false,
|
|
281
|
+
mode: 'standard',
|
|
282
|
+
confidence: 0,
|
|
283
|
+
parallelizable: false,
|
|
284
|
+
riskLevel: 'unknown',
|
|
285
|
+
reasons: ['fast path gate disabled by configuration'],
|
|
286
|
+
evidence: { automationSignals: [], riskSignals: [], fileCount: task.files.length, structuredFileCount, batchSize },
|
|
287
|
+
actions: buildActions('standard'),
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
const confidence = scoreFastPath({
|
|
292
|
+
automationSignals,
|
|
293
|
+
riskSignals,
|
|
294
|
+
files: task.files,
|
|
295
|
+
structuredFileCount,
|
|
296
|
+
batchSize,
|
|
297
|
+
});
|
|
298
|
+
const passed = confidence >= config.minConfidence && riskSignals.length === 0;
|
|
299
|
+
const mode = passed
|
|
300
|
+
? chooseMode({
|
|
301
|
+
confidence,
|
|
302
|
+
config,
|
|
303
|
+
externalExecutorsEnabled: parseBoolean(
|
|
304
|
+
input.externalExecutorsEnabled ?? input.external_executors_enabled,
|
|
305
|
+
config.externalExecutorsEnabled,
|
|
306
|
+
),
|
|
307
|
+
parallelizable,
|
|
308
|
+
structuredFileCount,
|
|
309
|
+
batchSize,
|
|
310
|
+
})
|
|
311
|
+
: 'standard';
|
|
312
|
+
const riskLevel = riskSignals.length >= 2 ? 'high' : riskSignals.length === 1 ? 'medium' : 'low';
|
|
313
|
+
const reasons = [
|
|
314
|
+
...automationSignals.map((signal) => `automation signal: ${signal.id}`),
|
|
315
|
+
...riskSignals.map((signal) => `risk signal: ${signal.id}`),
|
|
316
|
+
];
|
|
317
|
+
|
|
318
|
+
if (structuredFileCount > 0) {
|
|
319
|
+
reasons.push(`structured files detected: ${structuredFileCount}`);
|
|
320
|
+
}
|
|
321
|
+
if (batchSize >= config.minBatchItems) {
|
|
322
|
+
reasons.push(`batch size meets threshold: ${batchSize}`);
|
|
323
|
+
}
|
|
324
|
+
if (!passed && reasons.length === 0) {
|
|
325
|
+
reasons.push('insufficient automation signal for fast path');
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
return {
|
|
329
|
+
gate: 'fast_path',
|
|
330
|
+
enabled: true,
|
|
331
|
+
passed,
|
|
332
|
+
mode,
|
|
333
|
+
confidence,
|
|
334
|
+
parallelizable: passed && parallelizable,
|
|
335
|
+
riskLevel,
|
|
336
|
+
reasons,
|
|
337
|
+
evidence: {
|
|
338
|
+
automationSignals,
|
|
339
|
+
riskSignals,
|
|
340
|
+
fileCount: task.files.length,
|
|
341
|
+
structuredFileCount,
|
|
342
|
+
batchSize,
|
|
343
|
+
},
|
|
344
|
+
actions: buildActions(mode),
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
module.exports = {
|
|
349
|
+
DEFAULT_FAST_PATH_CONFIG,
|
|
350
|
+
evaluateFastPath,
|
|
351
|
+
getAutomationPatterns,
|
|
352
|
+
getRiskPatterns,
|
|
353
|
+
getStructuredFileExtensions,
|
|
354
|
+
normalizeConfig,
|
|
355
|
+
normalizeTask,
|
|
356
|
+
};
|
|
@@ -145,6 +145,20 @@ const {
|
|
|
145
145
|
PHASE_1_SEQUENCE,
|
|
146
146
|
} = require('./greenfield-handler');
|
|
147
147
|
|
|
148
|
+
// v1.5.0: Fast-Path Gate
|
|
149
|
+
// Heuristic gate to decide when a task can be executed via a faster mode
|
|
150
|
+
// (parallel_batch / deterministic_batch / external_executor) versus the
|
|
151
|
+
// standard sequential workflow. Used as input to orchestrator decisions.
|
|
152
|
+
const {
|
|
153
|
+
DEFAULT_FAST_PATH_CONFIG,
|
|
154
|
+
evaluateFastPath,
|
|
155
|
+
getAutomationPatterns,
|
|
156
|
+
getRiskPatterns,
|
|
157
|
+
getStructuredFileExtensions,
|
|
158
|
+
normalizeConfig: normalizeFastPathConfig,
|
|
159
|
+
normalizeTask: normalizeFastPathTask,
|
|
160
|
+
} = require('./fast-path-gate');
|
|
161
|
+
|
|
148
162
|
module.exports = {
|
|
149
163
|
// Main orchestrators
|
|
150
164
|
WorkflowOrchestrator,
|
|
@@ -319,5 +333,14 @@ module.exports = {
|
|
|
319
333
|
GreenfieldPhaseFailureAction,
|
|
320
334
|
DEFAULT_GREENFIELD_INDICATORS,
|
|
321
335
|
PHASE_1_SEQUENCE,
|
|
336
|
+
|
|
337
|
+
// v1.5.0: Fast-Path Gate
|
|
338
|
+
DEFAULT_FAST_PATH_CONFIG,
|
|
339
|
+
evaluateFastPath,
|
|
340
|
+
getAutomationPatterns,
|
|
341
|
+
getRiskPatterns,
|
|
342
|
+
getStructuredFileExtensions,
|
|
343
|
+
normalizeFastPathConfig,
|
|
344
|
+
normalizeFastPathTask,
|
|
322
345
|
};
|
|
323
346
|
|
|
@@ -417,7 +417,7 @@ entities:
|
|
|
417
417
|
constraints: []
|
|
418
418
|
extensionPoints: []
|
|
419
419
|
score: 0.3
|
|
420
|
-
checksum: sha256:
|
|
420
|
+
checksum: sha256:93210b103a23b23a7e1c7687a95cc9739bc264a0543b2a8d5c76fd00f8f1068c
|
|
421
421
|
dependencies: []
|
|
422
422
|
externalDeps: []
|
|
423
423
|
keywords:
|
|
@@ -427,7 +427,7 @@ entities:
|
|
|
427
427
|
- imperator
|
|
428
428
|
- sinapse
|
|
429
429
|
- master
|
|
430
|
-
lastVerified: '2026-05-
|
|
430
|
+
lastVerified: '2026-05-25T16:16:10.948Z'
|
|
431
431
|
layer: L2
|
|
432
432
|
lifecycle: orphan
|
|
433
433
|
path: .sinapse-ai/development/agents/snps-orqx.md
|
|
@@ -3697,6 +3697,7 @@ entities:
|
|
|
3697
3697
|
purpose: '''Let\''s start with the fundamental details about your agent'','
|
|
3698
3698
|
type: module
|
|
3699
3699
|
usedBy:
|
|
3700
|
+
- index
|
|
3700
3701
|
- index.esm
|
|
3701
3702
|
agent-invoker:
|
|
3702
3703
|
adaptability:
|
|
@@ -4472,6 +4473,7 @@ entities:
|
|
|
4472
4473
|
type: module
|
|
4473
4474
|
usedBy:
|
|
4474
4475
|
- config-resolver
|
|
4476
|
+
- index
|
|
4475
4477
|
- index.esm
|
|
4476
4478
|
- agent-config-loader
|
|
4477
4479
|
config-loader:
|
|
@@ -4495,6 +4497,7 @@ entities:
|
|
|
4495
4497
|
purpose: Entity at .sinapse-ai\core\config\config-loader.js
|
|
4496
4498
|
type: module
|
|
4497
4499
|
usedBy:
|
|
4500
|
+
- index
|
|
4498
4501
|
- index.esm
|
|
4499
4502
|
config-migrator:
|
|
4500
4503
|
adaptability:
|
|
@@ -4661,6 +4664,7 @@ entities:
|
|
|
4661
4664
|
type: module
|
|
4662
4665
|
usedBy:
|
|
4663
4666
|
- context-loader
|
|
4667
|
+
- index
|
|
4664
4668
|
- index.esm
|
|
4665
4669
|
- agent-exit-hooks
|
|
4666
4670
|
- greeting-builder
|
|
@@ -4707,6 +4711,7 @@ entities:
|
|
|
4707
4711
|
purpose: Entity at .sinapse-ai\core\session\context-loader.js
|
|
4708
4712
|
type: module
|
|
4709
4713
|
usedBy:
|
|
4714
|
+
- index
|
|
4710
4715
|
- index.esm
|
|
4711
4716
|
- unified-activation-pipeline
|
|
4712
4717
|
- context-loading
|
|
@@ -5338,8 +5343,7 @@ entities:
|
|
|
5338
5343
|
plannedDeps: []
|
|
5339
5344
|
purpose: Entity at .sinapse-ai\core\doctor\fix-handler.js
|
|
5340
5345
|
type: module
|
|
5341
|
-
usedBy:
|
|
5342
|
-
- index
|
|
5346
|
+
usedBy: []
|
|
5343
5347
|
focus-area-recommender:
|
|
5344
5348
|
adaptability:
|
|
5345
5349
|
constraints: []
|
|
@@ -5939,22 +5943,30 @@ entities:
|
|
|
5939
5943
|
constraints: []
|
|
5940
5944
|
extensionPoints: []
|
|
5941
5945
|
score: 0.4
|
|
5942
|
-
checksum: sha256:
|
|
5946
|
+
checksum: sha256:1096fccecd12c7b7e6219951048c57bbf6a413e965bd80ae677ad1fc4d5ff604
|
|
5943
5947
|
dependencies:
|
|
5944
|
-
-
|
|
5945
|
-
-
|
|
5946
|
-
-
|
|
5947
|
-
-
|
|
5948
|
+
- config-cache
|
|
5949
|
+
- config-loader
|
|
5950
|
+
- context-detector
|
|
5951
|
+
- context-loader
|
|
5952
|
+
- elicitation-engine
|
|
5953
|
+
- session-manager
|
|
5954
|
+
- agent-elicitation
|
|
5955
|
+
- task-elicitation
|
|
5956
|
+
- workflow-elicitation
|
|
5957
|
+
- output-formatter
|
|
5958
|
+
- yaml-validator
|
|
5959
|
+
- registry-loader
|
|
5948
5960
|
externalDeps: []
|
|
5949
5961
|
keywords:
|
|
5950
5962
|
- index
|
|
5951
|
-
lastVerified: '2026-05-
|
|
5963
|
+
lastVerified: '2026-05-07T21:34:53.711Z'
|
|
5952
5964
|
layer: L1
|
|
5953
5965
|
lifecycle: experimental
|
|
5954
5966
|
path: .sinapse-ai/core/index.js
|
|
5955
5967
|
plannedDeps:
|
|
5956
5968
|
- health-check
|
|
5957
|
-
purpose: Entity at .sinapse-ai\core\
|
|
5969
|
+
purpose: Entity at .sinapse-ai\core\index.js
|
|
5958
5970
|
type: module
|
|
5959
5971
|
usedBy: []
|
|
5960
5972
|
index.esm:
|
|
@@ -6004,8 +6016,7 @@ entities:
|
|
|
6004
6016
|
plannedDeps: []
|
|
6005
6017
|
purpose: Entity at .sinapse-ai\core\doctor\formatters\json.js
|
|
6006
6018
|
type: module
|
|
6007
|
-
usedBy:
|
|
6008
|
-
- index
|
|
6019
|
+
usedBy: []
|
|
6009
6020
|
json-formatter:
|
|
6010
6021
|
adaptability:
|
|
6011
6022
|
constraints: []
|
|
@@ -6432,14 +6443,14 @@ entities:
|
|
|
6432
6443
|
constraints: []
|
|
6433
6444
|
extensionPoints: []
|
|
6434
6445
|
score: 0.4
|
|
6435
|
-
checksum: sha256:
|
|
6446
|
+
checksum: sha256:c54afe044aec071ed0939a8cc2b99e9584597d3156d96f20afe57d5b83a05ffa
|
|
6436
6447
|
dependencies: []
|
|
6437
6448
|
externalDeps: []
|
|
6438
6449
|
keywords:
|
|
6439
6450
|
- manifest
|
|
6440
6451
|
- version
|
|
6441
6452
|
- parity
|
|
6442
|
-
lastVerified: '2026-05-
|
|
6453
|
+
lastVerified: '2026-05-07T21:34:53.750Z'
|
|
6443
6454
|
layer: L1
|
|
6444
6455
|
lifecycle: orphan
|
|
6445
6456
|
path: .sinapse-ai/core/doctor/checks/manifest-version-parity.js
|
|
@@ -6738,13 +6749,13 @@ entities:
|
|
|
6738
6749
|
constraints: []
|
|
6739
6750
|
extensionPoints: []
|
|
6740
6751
|
score: 0.4
|
|
6741
|
-
checksum: sha256:
|
|
6752
|
+
checksum: sha256:558f8f4388085c5711853f2a6cc9f0e3fcf8c0558cc606ff1fe0ff746693e325
|
|
6742
6753
|
dependencies: []
|
|
6743
6754
|
externalDeps: []
|
|
6744
6755
|
keywords:
|
|
6745
6756
|
- npm
|
|
6746
6757
|
- packages
|
|
6747
|
-
lastVerified: '2026-05-
|
|
6758
|
+
lastVerified: '2026-05-07T21:34:53.753Z'
|
|
6748
6759
|
layer: L1
|
|
6749
6760
|
lifecycle: orphan
|
|
6750
6761
|
path: .sinapse-ai/core/doctor/checks/npm-packages.js
|
|
@@ -7231,6 +7242,7 @@ entities:
|
|
|
7231
7242
|
usedBy:
|
|
7232
7243
|
- code-intel-source
|
|
7233
7244
|
- framework-governor
|
|
7245
|
+
- index
|
|
7234
7246
|
- registry-source
|
|
7235
7247
|
- registry-syncer
|
|
7236
7248
|
registry-provider:
|
|
@@ -7502,6 +7514,7 @@ entities:
|
|
|
7502
7514
|
type: module
|
|
7503
7515
|
usedBy:
|
|
7504
7516
|
- elicitation-engine
|
|
7517
|
+
- index
|
|
7505
7518
|
- index.esm
|
|
7506
7519
|
session-state:
|
|
7507
7520
|
adaptability:
|
|
@@ -7612,13 +7625,13 @@ entities:
|
|
|
7612
7625
|
constraints: []
|
|
7613
7626
|
extensionPoints: []
|
|
7614
7627
|
score: 0.4
|
|
7615
|
-
checksum: sha256:
|
|
7628
|
+
checksum: sha256:4861a2330ce5f3c696d53fc768d1575e03c4efcd5a217185d392556d2b1576cc
|
|
7616
7629
|
dependencies: []
|
|
7617
7630
|
externalDeps: []
|
|
7618
7631
|
keywords:
|
|
7619
7632
|
- skills
|
|
7620
7633
|
- count
|
|
7621
|
-
lastVerified: '2026-05-
|
|
7634
|
+
lastVerified: '2026-05-07T21:34:53.753Z'
|
|
7622
7635
|
layer: L1
|
|
7623
7636
|
lifecycle: orphan
|
|
7624
7637
|
path: .sinapse-ai/core/doctor/checks/skills-count.js
|
|
@@ -7881,6 +7894,7 @@ entities:
|
|
|
7881
7894
|
purpose: '''Define the fundamental details of your task'','
|
|
7882
7895
|
type: module
|
|
7883
7896
|
usedBy:
|
|
7897
|
+
- index
|
|
7884
7898
|
- index.esm
|
|
7885
7899
|
tech-stack-detector:
|
|
7886
7900
|
adaptability:
|
|
@@ -7961,8 +7975,7 @@ entities:
|
|
|
7961
7975
|
plannedDeps: []
|
|
7962
7976
|
purpose: ${pass} PASS | ${warn} WARN | ${fail} FAIL | ${info} INFO`);
|
|
7963
7977
|
type: module
|
|
7964
|
-
usedBy:
|
|
7965
|
-
- index
|
|
7978
|
+
usedBy: []
|
|
7966
7979
|
timing-collector:
|
|
7967
7980
|
adaptability:
|
|
7968
7981
|
constraints: []
|
|
@@ -8162,6 +8175,7 @@ entities:
|
|
|
8162
8175
|
purpose: '''Where should this workflow be created?'','
|
|
8163
8176
|
type: module
|
|
8164
8177
|
usedBy:
|
|
8178
|
+
- index
|
|
8165
8179
|
- index.esm
|
|
8166
8180
|
- verify-workflow-gaps
|
|
8167
8181
|
workflow-executor:
|
|
@@ -9408,6 +9422,7 @@ entities:
|
|
|
9408
9422
|
usedBy:
|
|
9409
9423
|
- batch-creator
|
|
9410
9424
|
- component-generator
|
|
9425
|
+
- index
|
|
9411
9426
|
- index.esm
|
|
9412
9427
|
elicitation-session-manager:
|
|
9413
9428
|
adaptability:
|
|
@@ -16020,7 +16035,7 @@ entities:
|
|
|
16020
16035
|
constraints: []
|
|
16021
16036
|
extensionPoints: []
|
|
16022
16037
|
score: 0.5
|
|
16023
|
-
checksum: sha256:
|
|
16038
|
+
checksum: sha256:81ae9d16501e01fef5fea1e27fea006f27f262adf4b7394ee0ff52588b86b53b
|
|
16024
16039
|
dependencies: []
|
|
16025
16040
|
externalDeps: []
|
|
16026
16041
|
keywords:
|
|
@@ -16029,7 +16044,7 @@ entities:
|
|
|
16029
16044
|
- inline
|
|
16030
16045
|
- greeting
|
|
16031
16046
|
- template
|
|
16032
|
-
lastVerified: '2026-05-
|
|
16047
|
+
lastVerified: '2026-05-25T16:16:10.950Z'
|
|
16033
16048
|
layer: L2
|
|
16034
16049
|
lifecycle: orphan
|
|
16035
16050
|
path: .sinapse-ai/product/templates/activation-instructions-inline-greeting.yaml
|
|
@@ -17052,6 +17067,7 @@ entities:
|
|
|
17052
17067
|
purpose: Entity at .sinapse-ai\core\utils\output-formatter.js
|
|
17053
17068
|
type: util
|
|
17054
17069
|
usedBy:
|
|
17070
|
+
- index
|
|
17055
17071
|
- index.esm
|
|
17056
17072
|
- next
|
|
17057
17073
|
security-utils:
|
|
@@ -17094,6 +17110,7 @@ entities:
|
|
|
17094
17110
|
usedBy:
|
|
17095
17111
|
- component-generator
|
|
17096
17112
|
- modification-validator
|
|
17113
|
+
- index
|
|
17097
17114
|
- index.esm
|
|
17098
17115
|
workflows:
|
|
17099
17116
|
auto-worktree:
|
|
@@ -17472,6 +17489,6 @@ entities:
|
|
|
17472
17489
|
metadata:
|
|
17473
17490
|
checksumAlgorithm: sha256
|
|
17474
17491
|
entityCount: 756
|
|
17475
|
-
lastUpdated: '2026-05-
|
|
17492
|
+
lastUpdated: '2026-05-25T16:16:10.952Z'
|
|
17476
17493
|
resolutionRate: 100
|
|
17477
17494
|
version: 1.0.0
|
|
@@ -2,3 +2,13 @@
|
|
|
2
2
|
{"timestamp":"2026-05-15T01:57:39.085Z","action":"change","path":".sinapse-ai/core/doctor/checks/npm-packages.js","trigger":"watcher"}
|
|
3
3
|
{"timestamp":"2026-05-15T01:57:39.085Z","action":"change","path":".sinapse-ai/core/doctor/checks/skills-count.js","trigger":"watcher"}
|
|
4
4
|
{"timestamp":"2026-05-15T01:57:39.086Z","action":"change","path":".sinapse-ai/core/doctor/index.js","trigger":"watcher"}
|
|
5
|
+
{"timestamp":"2026-05-15T12:56:10.966Z","action":"add","path":".sinapse-ai/core/external-executors/delegate-cli.js","trigger":"watcher"}
|
|
6
|
+
{"timestamp":"2026-05-15T12:56:10.967Z","action":"add","path":".sinapse-ai/core/external-executors/index.js","trigger":"watcher"}
|
|
7
|
+
{"timestamp":"2026-05-15T12:56:10.968Z","action":"add","path":".sinapse-ai/core/orchestration/fast-path-gate.js","trigger":"watcher"}
|
|
8
|
+
{"timestamp":"2026-05-15T12:56:10.969Z","action":"change","path":".sinapse-ai/core/orchestration/index.js","trigger":"watcher"}
|
|
9
|
+
{"timestamp":"2026-05-15T13:00:14.097Z","action":"add","path":".sinapse-ai/core/external-executors/delegate-cli.js","trigger":"watcher"}
|
|
10
|
+
{"timestamp":"2026-05-15T13:00:14.098Z","action":"add","path":".sinapse-ai/core/external-executors/index.js","trigger":"watcher"}
|
|
11
|
+
{"timestamp":"2026-05-15T13:00:14.099Z","action":"add","path":".sinapse-ai/core/orchestration/fast-path-gate.js","trigger":"watcher"}
|
|
12
|
+
{"timestamp":"2026-05-15T13:00:14.100Z","action":"change","path":".sinapse-ai/core/orchestration/index.js","trigger":"watcher"}
|
|
13
|
+
{"timestamp":"2026-05-25T16:16:10.949Z","action":"change","path":".sinapse-ai/development/agents/snps-orqx.md","trigger":"watcher"}
|
|
14
|
+
{"timestamp":"2026-05-25T16:16:10.950Z","action":"change","path":".sinapse-ai/product/templates/activation-instructions-inline-greeting.yaml","trigger":"watcher"}
|
|
@@ -40,7 +40,7 @@ Then display:
|
|
|
40
40
|
*help — Show all commands and squad overview
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
After the greeting,
|
|
43
|
+
After the greeting, check if the user already provided briefing/context with the activation. If YES → proceed IMMEDIATELY to the NON-NEGOTIABLE ORCHESTRATION PLAN flow below (Imperator's core function). If NO (bare activation only) → await briefing. On receipt, plan automatically. NEVER ask "do you want me to plan?" — the answer is always YES for Imperator.
|
|
44
44
|
|
|
45
45
|
If the user asks about SINAPSE, how it works, or how to use it, execute the `*onboard` task from `tasks/onboard-user.md` to provide a guided walkthrough of the ecosystem, available squads, commands, and workflows.
|
|
46
46
|
|