sinapse-ai 1.12.2 → 1.13.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/.claude/CLAUDE.md +2 -2
- package/.claude/rules/agent-memory-imports.md +2 -0
- package/.sinapse-ai/cli/commands/pro/index.js +8 -48
- package/.sinapse-ai/constitution.md +6 -2
- package/.sinapse-ai/data/entity-registry.yaml +12 -36
- package/.sinapse-ai/development/agents/architect/MEMORY.md +35 -0
- package/.sinapse-ai/development/agents/data-engineer/MEMORY.md +38 -0
- package/.sinapse-ai/development/agents/developer/MEMORY.md +36 -0
- package/.sinapse-ai/development/agents/devops/MEMORY.md +39 -0
- package/.sinapse-ai/development/agents/product-lead/MEMORY.md +36 -0
- package/.sinapse-ai/development/agents/project-lead/MEMORY.md +36 -0
- package/.sinapse-ai/development/agents/quality-gate/MEMORY.md +35 -0
- package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +36 -0
- package/.sinapse-ai/development/templates/chrome-brain/knowledge-base/chrome-brain.md +2 -2
- package/.sinapse-ai/infrastructure/scripts/ide-sync/index.js +15 -0
- package/.sinapse-ai/infrastructure/scripts/validate-agents.js +159 -8
- package/.sinapse-ai/install-manifest.yaml +12 -148
- package/AGENTS.md +13 -2
- package/CHANGELOG.md +122 -2
- package/README.en.md +1 -1
- package/README.md +6 -26
- package/bin/cli.js +2 -7
- package/bin/commands/install.js +19 -257
- package/bin/commands/update.js +18 -78
- package/bin/lib/command-generator.js +261 -0
- package/bin/lib/prompts.js +2 -65
- package/bin/modules/chrome-brain-installer.js +2 -1
- package/bin/postinstall.js +6 -6
- package/docs/getting-started.md +0 -1
- package/docs/pt/getting-started.md +1 -1
- package/docs/security/dependabot-triage.md +17 -17
- package/package.json +6 -3
- package/packages/installer/src/wizard/i18n.js +3 -204
- package/packages/installer/src/wizard/index.js +1 -1
- package/packages/installer/src/wizard/questions.js +5 -368
- package/packages/installer/src/wizard/wizard.js +0 -9
- package/scripts/generate-install-manifest.js +6 -0
- package/scripts/validate-changelog-tags.js +97 -0
- package/scripts/validate-no-personal-leaks.js +184 -28
- package/scripts/validate-schemas.js +55 -10
- package/scripts/validate-story-meta.js +25 -12
- package/squads/claude-code-mastery/agents/claude-mastery-chief.md +1 -1
- package/squads/claude-code-mastery/agents/hooks-architect.md +12 -20
- package/squads/claude-code-mastery/tasks/audit-setup.md +1 -1
- package/squads/squad-product/agents/product-orqx.md +0 -1
- package/squads/squad-product/agents/ps-client-product-manager.md +0 -1
- package/squads/squad-product/agents/ps-delivery-manager.md +0 -1
- package/squads/squad-product/agents/ps-discovery-lead.md +0 -1
- package/squads/squad-product/agents/ps-product-analyst.md +0 -1
- package/squads/squad-product/agents/ps-product-ops-specialist.md +0 -1
- package/squads/squad-product/agents/ps-product-strategist.md +0 -1
- package/.sinapse-ai/core/grounding/README.md +0 -83
- package/.sinapse-ai/core/grounding/brand.cjs +0 -29
- package/.sinapse-ai/core/grounding/config-loader.cjs +0 -52
- package/.sinapse-ai/core/grounding/design-system.cjs +0 -29
- package/.sinapse-ai/core/grounding/vault.cjs +0 -36
- package/.sinapse-ai/development/scripts/approval-workflow.js +0 -643
- package/.sinapse-ai/development/scripts/backup-manager.js +0 -607
- package/.sinapse-ai/development/scripts/branch-manager.js +0 -390
- package/.sinapse-ai/development/scripts/code-quality-improver.js +0 -1329
- package/.sinapse-ai/development/scripts/commit-message-generator.js +0 -850
- package/.sinapse-ai/development/scripts/conflict-resolver.js +0 -675
- package/.sinapse-ai/development/scripts/dependency-analyzer.js +0 -638
- package/.sinapse-ai/development/scripts/diff-generator.js +0 -352
- package/.sinapse-ai/development/scripts/git-wrapper.js +0 -462
- package/.sinapse-ai/development/scripts/modification-validator.js +0 -555
- package/.sinapse-ai/development/scripts/performance-analyzer.js +0 -758
- package/.sinapse-ai/development/scripts/refactoring-suggester.js +0 -1148
- package/.sinapse-ai/development/scripts/rollback-handler.js +0 -531
- package/.sinapse-ai/development/scripts/security-checker.js +0 -359
- package/.sinapse-ai/development/scripts/template-engine.js +0 -240
- package/.sinapse-ai/development/scripts/template-validator.js +0 -279
- package/.sinapse-ai/development/scripts/test-generator.js +0 -844
- package/.sinapse-ai/development/scripts/transaction-manager.js +0 -590
- package/.sinapse-ai/development/scripts/yaml-validator.js +0 -397
- package/.sinapse-ai/hooks/sinapse-brand-grounding.cjs +0 -162
- package/.sinapse-ai/hooks/sinapse-ds-grounding.cjs +0 -211
- package/.sinapse-ai/hooks/sinapse-vault-grounding.cjs +0 -194
- package/bin/lib/register-grounding-hooks.js +0 -145
- package/docs/guides/agents/traces/execution-traces.zip +0 -0
- package/docs/guides/grounding-setup.md +0 -154
- package/docs/guides/workflows/SINAPSE-WORKFLOWS.zip +0 -0
- package/packages/installer/src/pro/pro-scaffolder.js +0 -449
- package/packages/installer/src/wizard/grounding-config.js +0 -131
- package/packages/installer/src/wizard/pro-setup.js +0 -1439
- package/packages/installer/templates/README.md +0 -16
- package/packages/installer/templates/brand-routing.example.json +0 -12
- package/packages/installer/templates/ds-routing.example.json +0 -12
- package/packages/installer/templates/vault-routing.example.json +0 -12
|
@@ -28,6 +28,10 @@ const yaml = require('js-yaml');
|
|
|
28
28
|
// Paths
|
|
29
29
|
const ROOT_DIR = path.join(__dirname, '..', '..');
|
|
30
30
|
const AGENTS_DIR = path.join(ROOT_DIR, 'development', 'agents');
|
|
31
|
+
// Squad agents live in the repo root under squads/<squad>/agents/*.md.
|
|
32
|
+
// ROOT_DIR is .sinapse-ai/; the repo root is one level up.
|
|
33
|
+
const REPO_ROOT = path.join(ROOT_DIR, '..');
|
|
34
|
+
const SQUADS_DIR = path.join(REPO_ROOT, 'squads');
|
|
31
35
|
const TASKS_DIR = path.join(ROOT_DIR, 'development', 'tasks');
|
|
32
36
|
const TEMPLATES_DIR = path.join(ROOT_DIR, 'development', 'templates');
|
|
33
37
|
const CHECKLISTS_DIR = path.join(ROOT_DIR, 'development', 'checklists');
|
|
@@ -93,9 +97,10 @@ function extractYamlFromMarkdown(content) {
|
|
|
93
97
|
}
|
|
94
98
|
|
|
95
99
|
/**
|
|
96
|
-
* Load
|
|
100
|
+
* Load the 12 CORE agents (development/agents/*.md).
|
|
101
|
+
* Core agents are held to the STRICT schema (problems -> errors).
|
|
97
102
|
*/
|
|
98
|
-
async function
|
|
103
|
+
async function loadCoreAgents() {
|
|
99
104
|
const agents = [];
|
|
100
105
|
|
|
101
106
|
try {
|
|
@@ -115,6 +120,8 @@ async function loadAllAgents() {
|
|
|
115
120
|
commands: parsed.commands || [],
|
|
116
121
|
dependencies: parsed.dependencies || {},
|
|
117
122
|
parsed,
|
|
123
|
+
isCore: true,
|
|
124
|
+
tier: 'core',
|
|
118
125
|
});
|
|
119
126
|
}
|
|
120
127
|
}
|
|
@@ -126,6 +133,100 @@ async function loadAllAgents() {
|
|
|
126
133
|
return agents;
|
|
127
134
|
}
|
|
128
135
|
|
|
136
|
+
/**
|
|
137
|
+
* Load the SQUAD agents (squads/<squad>/agents/*.md).
|
|
138
|
+
*
|
|
139
|
+
* Non-breaking by design: squad agents carry KNOWN pre-existing debt (3
|
|
140
|
+
* different definition formats, malformed frontmatter, missing roster
|
|
141
|
+
* entries) that later waves will fix. Here they are classified as WARNINGS,
|
|
142
|
+
* never errors — the only thing that can ERROR is an unreadable file.
|
|
143
|
+
*
|
|
144
|
+
* Each record is tagged isCore:false so the validators downgrade their
|
|
145
|
+
* findings to warnings.
|
|
146
|
+
*/
|
|
147
|
+
async function loadSquadAgents() {
|
|
148
|
+
const agents = [];
|
|
149
|
+
|
|
150
|
+
let squadDirs;
|
|
151
|
+
try {
|
|
152
|
+
const entries = await fs.readdir(SQUADS_DIR, { withFileTypes: true });
|
|
153
|
+
squadDirs = entries.filter((e) => e.isDirectory()).map((e) => e.name);
|
|
154
|
+
} catch {
|
|
155
|
+
// No squads/ dir (e.g. a stripped checkout) -> nothing to add, not fatal.
|
|
156
|
+
return agents;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
for (const squad of squadDirs) {
|
|
160
|
+
const agentsDir = path.join(SQUADS_DIR, squad, 'agents');
|
|
161
|
+
let files;
|
|
162
|
+
try {
|
|
163
|
+
files = await fs.readdir(agentsDir);
|
|
164
|
+
} catch {
|
|
165
|
+
continue; // squad without an agents/ dir -> skip
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
for (const file of files) {
|
|
169
|
+
if (!file.endsWith('.md') || file.startsWith('_')) continue;
|
|
170
|
+
const filePath = path.join(agentsDir, file);
|
|
171
|
+
|
|
172
|
+
let content;
|
|
173
|
+
try {
|
|
174
|
+
content = await fs.readFile(filePath, 'utf-8');
|
|
175
|
+
} catch (error) {
|
|
176
|
+
// Unreadable file is the ONE critical issue allowed to error for squads.
|
|
177
|
+
agents.push({
|
|
178
|
+
file: `${squad}/agents/${file}`,
|
|
179
|
+
path: filePath,
|
|
180
|
+
id: file.replace('.md', ''),
|
|
181
|
+
name: undefined,
|
|
182
|
+
commands: [],
|
|
183
|
+
dependencies: {},
|
|
184
|
+
parsed: null,
|
|
185
|
+
isCore: false,
|
|
186
|
+
tier: 'squad',
|
|
187
|
+
squad,
|
|
188
|
+
readError: error.message,
|
|
189
|
+
});
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
let parsed = null;
|
|
194
|
+
try {
|
|
195
|
+
parsed = extractYamlFromMarkdown(content);
|
|
196
|
+
} catch {
|
|
197
|
+
// Malformed frontmatter -> parsed stays null; surfaced as a WARNING.
|
|
198
|
+
parsed = null;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
const agentBlock = parsed && parsed.agent ? parsed.agent : {};
|
|
202
|
+
agents.push({
|
|
203
|
+
file: `${squad}/agents/${file}`,
|
|
204
|
+
path: filePath,
|
|
205
|
+
id: agentBlock.id || file.replace('.md', ''),
|
|
206
|
+
name: agentBlock.name,
|
|
207
|
+
commands: (parsed && parsed.commands) || [],
|
|
208
|
+
dependencies: (parsed && parsed.dependencies) || {},
|
|
209
|
+
parsed,
|
|
210
|
+
isCore: false,
|
|
211
|
+
tier: 'squad',
|
|
212
|
+
squad,
|
|
213
|
+
parseFailed: parsed === null,
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
return agents;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Load all agent files (core + squad).
|
|
223
|
+
*/
|
|
224
|
+
async function loadAllAgents() {
|
|
225
|
+
const core = await loadCoreAgents();
|
|
226
|
+
const squad = await loadSquadAgents();
|
|
227
|
+
return [...core, ...squad];
|
|
228
|
+
}
|
|
229
|
+
|
|
129
230
|
/**
|
|
130
231
|
* Check if a file exists
|
|
131
232
|
*/
|
|
@@ -171,21 +272,32 @@ function validateCommandUniqueness(agents) {
|
|
|
171
272
|
agent: agent.id,
|
|
172
273
|
file: agent.file,
|
|
173
274
|
hasVisibility: cmd.visibility !== undefined,
|
|
275
|
+
isCore: agent.isCore === true,
|
|
174
276
|
});
|
|
175
277
|
}
|
|
176
278
|
}
|
|
177
279
|
|
|
178
|
-
// Check for duplicates
|
|
280
|
+
// Check for duplicates.
|
|
281
|
+
// A collision is an ERROR only when it is entirely between CORE agents
|
|
282
|
+
// (the strict, long-standing guarantee). Any collision that involves a
|
|
283
|
+
// SQUAD agent is downgraded to a WARNING — squad agents carry pre-existing
|
|
284
|
+
// naming debt that later waves will reconcile, and they must not break CI.
|
|
179
285
|
for (const [cmd, owners] of commandOwners) {
|
|
180
286
|
if (owners.length > 1 && !SHARED_COMMANDS.has(cmd)) {
|
|
181
287
|
const ownerList = owners.map((o) => `@${o.agent}`).join(', ');
|
|
182
|
-
|
|
288
|
+
const allCore = owners.every((o) => o.isCore);
|
|
289
|
+
const finding = {
|
|
183
290
|
type: 'DUPLICATE_COMMAND',
|
|
184
291
|
command: cmd,
|
|
185
292
|
owners: owners.map((o) => o.agent),
|
|
186
293
|
message: `Command "*${cmd}" has multiple owners: ${ownerList}`,
|
|
187
294
|
suggestion: `Keep "*${cmd}" only in the primary owner agent and remove from others, or add to SHARED_COMMANDS if intentionally shared.`,
|
|
188
|
-
}
|
|
295
|
+
};
|
|
296
|
+
if (allCore) {
|
|
297
|
+
errors.push(finding);
|
|
298
|
+
} else {
|
|
299
|
+
warnings.push(finding);
|
|
300
|
+
}
|
|
189
301
|
}
|
|
190
302
|
}
|
|
191
303
|
|
|
@@ -282,9 +394,37 @@ function validateAgentFormat(agents) {
|
|
|
282
394
|
for (const agent of agents) {
|
|
283
395
|
const { parsed, file, id } = agent;
|
|
284
396
|
|
|
397
|
+
// SQUAD agents: known pre-existing debt. Every structural problem here is
|
|
398
|
+
// a WARNING (never an error) so the 160 squad agents never break CI. The
|
|
399
|
+
// single exception (unreadable file) is handled earlier in the loader.
|
|
400
|
+
// CORE agents keep the strict behavior — structural problems are errors.
|
|
401
|
+
const sink = agent.isCore ? errors : warnings;
|
|
402
|
+
|
|
403
|
+
// Unreadable file is the ONLY truly-critical squad issue -> error.
|
|
404
|
+
if (agent.readError) {
|
|
405
|
+
errors.push({
|
|
406
|
+
type: 'UNREADABLE_AGENT',
|
|
407
|
+
agent: id,
|
|
408
|
+
message: `Cannot read agent file ${file}: ${agent.readError}`,
|
|
409
|
+
});
|
|
410
|
+
continue;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
// A squad agent whose YAML didn't parse at all -> one consolidated warning,
|
|
414
|
+
// then skip the field-by-field checks (parsed is null).
|
|
415
|
+
if (!parsed || !parsed.agent) {
|
|
416
|
+
warnings.push({
|
|
417
|
+
type: 'UNPARSEABLE_AGENT',
|
|
418
|
+
agent: id,
|
|
419
|
+
message: `Could not parse agent definition in ${file} (no agent block / malformed frontmatter) — squad debt, later wave`,
|
|
420
|
+
suggestion: 'Normalize the agent frontmatter to the standard schema (agent.id/name/title).',
|
|
421
|
+
});
|
|
422
|
+
continue;
|
|
423
|
+
}
|
|
424
|
+
|
|
285
425
|
// Check required fields
|
|
286
426
|
if (!parsed.agent.id) {
|
|
287
|
-
|
|
427
|
+
sink.push({
|
|
288
428
|
type: 'MISSING_FIELD',
|
|
289
429
|
agent: id,
|
|
290
430
|
field: 'agent.id',
|
|
@@ -293,7 +433,7 @@ function validateAgentFormat(agents) {
|
|
|
293
433
|
}
|
|
294
434
|
|
|
295
435
|
if (!parsed.agent.name) {
|
|
296
|
-
|
|
436
|
+
sink.push({
|
|
297
437
|
type: 'MISSING_FIELD',
|
|
298
438
|
agent: id,
|
|
299
439
|
field: 'agent.name',
|
|
@@ -302,7 +442,7 @@ function validateAgentFormat(agents) {
|
|
|
302
442
|
}
|
|
303
443
|
|
|
304
444
|
if (!parsed.agent.title) {
|
|
305
|
-
|
|
445
|
+
sink.push({
|
|
306
446
|
type: 'MISSING_FIELD',
|
|
307
447
|
agent: id,
|
|
308
448
|
field: 'agent.title',
|
|
@@ -443,6 +583,10 @@ function formatResults(results, showSuggestions = false) {
|
|
|
443
583
|
lines.push(' Summary');
|
|
444
584
|
lines.push('━'.repeat(60));
|
|
445
585
|
lines.push(` Agents validated: ${summary.totalAgents}`);
|
|
586
|
+
if (summary.coreAgents !== undefined) {
|
|
587
|
+
lines.push(` Core (strict): ${summary.coreAgents}`);
|
|
588
|
+
lines.push(` Squad (warn): ${summary.squadAgents}`);
|
|
589
|
+
}
|
|
446
590
|
lines.push(` Errors: ${summary.totalErrors}`);
|
|
447
591
|
lines.push(` Warnings: ${summary.totalWarnings}`);
|
|
448
592
|
lines.push('');
|
|
@@ -487,12 +631,17 @@ async function validateAgents(options = {}) {
|
|
|
487
631
|
dependencyValidation.warnings.length +
|
|
488
632
|
formatValidation.warnings.length;
|
|
489
633
|
|
|
634
|
+
const coreAgents = agents.filter((a) => a.isCore);
|
|
635
|
+
const squadAgents = agents.filter((a) => !a.isCore);
|
|
636
|
+
|
|
490
637
|
const results = {
|
|
491
638
|
commandValidation,
|
|
492
639
|
dependencyValidation,
|
|
493
640
|
formatValidation,
|
|
494
641
|
summary: {
|
|
495
642
|
totalAgents: agents.length,
|
|
643
|
+
coreAgents: coreAgents.length,
|
|
644
|
+
squadAgents: squadAgents.length,
|
|
496
645
|
totalErrors,
|
|
497
646
|
totalWarnings,
|
|
498
647
|
valid: totalErrors === 0,
|
|
@@ -545,6 +694,8 @@ module.exports = {
|
|
|
545
694
|
validateDependencies,
|
|
546
695
|
validateAgentFormat,
|
|
547
696
|
loadAllAgents,
|
|
697
|
+
loadCoreAgents,
|
|
698
|
+
loadSquadAgents,
|
|
548
699
|
};
|
|
549
700
|
|
|
550
701
|
// Run CLI if called directly
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
# - SHA256 hashes for change detection
|
|
8
8
|
# - File types for categorization
|
|
9
9
|
#
|
|
10
|
-
version: 1.
|
|
10
|
+
version: 1.13.0
|
|
11
11
|
generator: scripts/generate-install-manifest.js
|
|
12
|
-
file_count:
|
|
12
|
+
file_count: 1147
|
|
13
13
|
files:
|
|
14
14
|
- path: cli/commands/config/index.js
|
|
15
15
|
hash: sha256:bfa83cb1dc111b0b30dd298dc0abc2150b73f939b6cd4458effa8e6d407bc9e2
|
|
@@ -108,9 +108,9 @@ files:
|
|
|
108
108
|
type: cli
|
|
109
109
|
size: 5039
|
|
110
110
|
- path: cli/commands/pro/index.js
|
|
111
|
-
hash: sha256:
|
|
111
|
+
hash: sha256:3bf6709d9981201f3466fdf30f8f36e2a7585282d590550e44ef475248d01972
|
|
112
112
|
type: cli
|
|
113
|
-
size:
|
|
113
|
+
size: 20545
|
|
114
114
|
- path: cli/commands/qa/audit.js
|
|
115
115
|
hash: sha256:e177f5eb9cbf3ce4b6decbc24b8c171633aa6cb8506d393a3d4b12d3cc475882
|
|
116
116
|
type: cli
|
|
@@ -563,26 +563,6 @@ files:
|
|
|
563
563
|
hash: sha256:3a171bf985b7deb1a30abd9c28f5d339cc3bc2f5c94f0efc444ee3597acc47c3
|
|
564
564
|
type: core
|
|
565
565
|
size: 3600
|
|
566
|
-
- path: core/grounding/brand.cjs
|
|
567
|
-
hash: sha256:05e1e8b8a7415885ba5709189aa26fe0bc0bd97478e3f87d685592427fa08c5f
|
|
568
|
-
type: core
|
|
569
|
-
size: 884
|
|
570
|
-
- path: core/grounding/config-loader.cjs
|
|
571
|
-
hash: sha256:bab7222b546570e124e8dd986b94b7cb3ddcbf3a9ab7d9c4c9e56ada5896ffc7
|
|
572
|
-
type: core
|
|
573
|
-
size: 1555
|
|
574
|
-
- path: core/grounding/design-system.cjs
|
|
575
|
-
hash: sha256:369bff34d0d507486ab4fa005b46a4c4f3f73e4ad35571241a6b9ad9d258fcc9
|
|
576
|
-
type: core
|
|
577
|
-
size: 938
|
|
578
|
-
- path: core/grounding/README.md
|
|
579
|
-
hash: sha256:ce4b0e0cef09f1eb337dd3aa321b5b48fe3c82dac0ea2dfa580edd9197cf7892
|
|
580
|
-
type: core
|
|
581
|
-
size: 3549
|
|
582
|
-
- path: core/grounding/vault.cjs
|
|
583
|
-
hash: sha256:9254360614fd3625479465a04e34f14a8e11cfe8adb5cea75386c0597ac9ae8d
|
|
584
|
-
type: core
|
|
585
|
-
size: 1259
|
|
586
566
|
- path: core/health-check/base-check.js
|
|
587
567
|
hash: sha256:1d322d1bd5cbb4cb4834165e795691fe761e0d84a208d4f4db1b839fa9b01dec
|
|
588
568
|
type: core
|
|
@@ -1364,9 +1344,9 @@ files:
|
|
|
1364
1344
|
type: data
|
|
1365
1345
|
size: 9602
|
|
1366
1346
|
- path: data/entity-registry.yaml
|
|
1367
|
-
hash: sha256:
|
|
1347
|
+
hash: sha256:f69496e14239f505a58346dfdc7575081111db320af1b73a2a8253746c422235
|
|
1368
1348
|
type: data
|
|
1369
|
-
size:
|
|
1349
|
+
size: 558197
|
|
1370
1350
|
- path: data/learned-patterns.yaml
|
|
1371
1351
|
hash: sha256:1a4cd045c087b9dfd7046ff1464a9d2edb85fba77cf0b6fba14f4bb9004c741e
|
|
1372
1352
|
type: data
|
|
@@ -1471,66 +1451,34 @@ files:
|
|
|
1471
1451
|
hash: sha256:25c833e36babf8b227321d40105d069fca29e301a4ecedcd7a74ba8dace625b0
|
|
1472
1452
|
type: agent
|
|
1473
1453
|
size: 16361
|
|
1474
|
-
- path: development/agents/analyst/MEMORY.md
|
|
1475
|
-
hash: sha256:1c0f22927a27f6b4446b74253747db214e78456bde7343fe98300b7106858025
|
|
1476
|
-
type: agent
|
|
1477
|
-
size: 1257
|
|
1478
1454
|
- path: development/agents/architect.md
|
|
1479
1455
|
hash: sha256:43fa59df34a2cd7cc68c8496da7b41d6f65fe0a7a05bd1c0cee2395c0ec5aedb
|
|
1480
1456
|
type: agent
|
|
1481
1457
|
size: 25192
|
|
1482
|
-
- path: development/agents/architect/MEMORY.md
|
|
1483
|
-
hash: sha256:6ce3f0187f34b9d9cd97fbc744f9eb33efb08cff48b64528ffce2dd08d453c09
|
|
1484
|
-
type: agent
|
|
1485
|
-
size: 1395
|
|
1486
1458
|
- path: development/agents/data-engineer.md
|
|
1487
1459
|
hash: sha256:c411c75db1c8a67385af3ea1e46d862cfced843f38881004bca801b432f1b16a
|
|
1488
1460
|
type: agent
|
|
1489
1461
|
size: 24405
|
|
1490
|
-
- path: development/agents/data-engineer/MEMORY.md
|
|
1491
|
-
hash: sha256:91b84ee63dafd3fbeec8d00744752753d1a74acdd3a6b398f26db6662d2babf3
|
|
1492
|
-
type: agent
|
|
1493
|
-
size: 1110
|
|
1494
1462
|
- path: development/agents/developer.md
|
|
1495
1463
|
hash: sha256:05e2e6362f95eb66c80e4f01dcb25232e283666c2195ec070e1bb59cc486ecb2
|
|
1496
1464
|
type: agent
|
|
1497
1465
|
size: 29832
|
|
1498
|
-
- path: development/agents/developer/MEMORY.md
|
|
1499
|
-
hash: sha256:98e00ca0bd5b0b2fdfbcf8ad52256dd7f73df6236e2098618d63fae97652949a
|
|
1500
|
-
type: agent
|
|
1501
|
-
size: 2493
|
|
1502
1466
|
- path: development/agents/devops.md
|
|
1503
1467
|
hash: sha256:81144f100a7ea8ef339a51691d32e7c480e24fef6ab4c3276e927568ba6ba0e4
|
|
1504
1468
|
type: agent
|
|
1505
1469
|
size: 28149
|
|
1506
|
-
- path: development/agents/devops/MEMORY.md
|
|
1507
|
-
hash: sha256:c9c574566f3ab627135219eefb2e0039169016f4f0a8605b02593d0cfd38f071
|
|
1508
|
-
type: agent
|
|
1509
|
-
size: 1403
|
|
1510
1470
|
- path: development/agents/product-lead.md
|
|
1511
1471
|
hash: sha256:a6427801bc1ab8af034d7ca64a9992c918d340503e34105844c657f212b547e7
|
|
1512
1472
|
type: agent
|
|
1513
1473
|
size: 16213
|
|
1514
|
-
- path: development/agents/product-lead/MEMORY.md
|
|
1515
|
-
hash: sha256:148c843a490e35e89d5fac74cea9beafb2fc4055aa9bbf52505ab383b265360f
|
|
1516
|
-
type: agent
|
|
1517
|
-
size: 1398
|
|
1518
1474
|
- path: development/agents/project-lead.md
|
|
1519
1475
|
hash: sha256:be876cef505639e7cf4fdfd82028bb61be459f6a2fbca72ce8cb83836ef4c594
|
|
1520
1476
|
type: agent
|
|
1521
1477
|
size: 18587
|
|
1522
|
-
- path: development/agents/project-lead/MEMORY.md
|
|
1523
|
-
hash: sha256:b7b754e37419cb605871920283decde2c01125c5f641f90afe569491838cf5e3
|
|
1524
|
-
type: agent
|
|
1525
|
-
size: 1238
|
|
1526
1478
|
- path: development/agents/quality-gate.md
|
|
1527
1479
|
hash: sha256:bc99385b3aee34ed5234287f37b53dd57c1f59b7f4cf1bd401447da4562117d4
|
|
1528
1480
|
type: agent
|
|
1529
1481
|
size: 23745
|
|
1530
|
-
- path: development/agents/quality-gate/MEMORY.md
|
|
1531
|
-
hash: sha256:a17353257dc4dce493f6a87690c8ac8e8bbc1f0d71018f926277324c6a2869bb
|
|
1532
|
-
type: agent
|
|
1533
|
-
size: 1369
|
|
1534
1482
|
- path: development/agents/snps-orqx.md
|
|
1535
1483
|
hash: sha256:ac7f931f107fe2adc020ef26f8ea0e1aba57dd0ba3d02bbff3b92e3ca6466368
|
|
1536
1484
|
type: agent
|
|
@@ -1539,10 +1487,6 @@ files:
|
|
|
1539
1487
|
hash: sha256:572289b770cdbb0cff9ae2de4b2d19c38ce814fe978df397aa2794297f562c91
|
|
1540
1488
|
type: agent
|
|
1541
1489
|
size: 14441
|
|
1542
|
-
- path: development/agents/sprint-lead/MEMORY.md
|
|
1543
|
-
hash: sha256:12a5b03243b3dd6d8df71ae70cb74bd380f00ad892aa2aeffcd9ec6a447cebb0
|
|
1544
|
-
type: agent
|
|
1545
|
-
size: 2023
|
|
1546
1490
|
- path: development/agents/squad-creator.md
|
|
1547
1491
|
hash: sha256:45326e5a21a8d0497f8164160c03db991ea8782300a8880ca46ec4df9835ac01
|
|
1548
1492
|
type: agent
|
|
@@ -1551,10 +1495,6 @@ files:
|
|
|
1551
1495
|
hash: sha256:ef221c2ce9dc7b808feab65d04c80e5d0186fe3343e079404d761b1d9ff056a2
|
|
1552
1496
|
type: agent
|
|
1553
1497
|
size: 21931
|
|
1554
|
-
- path: development/agents/ux/MEMORY.md
|
|
1555
|
-
hash: sha256:315ac4d963d09f50c2686fdcb56fa4c34761b5097600f6a834a44cfacca12414
|
|
1556
|
-
type: agent
|
|
1557
|
-
size: 1078
|
|
1558
1498
|
- path: development/checklists/agent-quality-gate.md
|
|
1559
1499
|
hash: sha256:511d05a2df0e59f3503d882f61131703a5fcecb47d75f99b392086fc3a663433
|
|
1560
1500
|
type: checklist
|
|
@@ -1663,10 +1603,6 @@ files:
|
|
|
1663
1603
|
hash: sha256:e58ad5d52b329d335ee73245352ae545df19c8122e23f34750a6a75996ca9dc6
|
|
1664
1604
|
type: script
|
|
1665
1605
|
size: 5386
|
|
1666
|
-
- path: development/scripts/approval-workflow.js
|
|
1667
|
-
hash: sha256:3e0874ab55558dd39539dc1da7eea97c60f5797129165c385a01a699b1e98df0
|
|
1668
|
-
type: script
|
|
1669
|
-
size: 21560
|
|
1670
1606
|
- path: development/scripts/audit-agent-config.js
|
|
1671
1607
|
hash: sha256:fde7fba12b7b451109911d75ac7719c0c5f586bf81341fb0d79d4110be3750af
|
|
1672
1608
|
type: script
|
|
@@ -1675,30 +1611,10 @@ files:
|
|
|
1675
1611
|
hash: sha256:38cd58a782cc942481bcf1279bdb239c4ea760de0c6df7f5f09166110d6e8b19
|
|
1676
1612
|
type: script
|
|
1677
1613
|
size: 10019
|
|
1678
|
-
- path: development/scripts/backup-manager.js
|
|
1679
|
-
hash: sha256:04aee4ddce4943ae7457319cd57df9a4d592be641a007b79efde33273b0cdd90
|
|
1680
|
-
type: script
|
|
1681
|
-
size: 16666
|
|
1682
1614
|
- path: development/scripts/batch-update-agents-session-context.js
|
|
1683
1615
|
hash: sha256:5b301f24fd43c6054000cafae9e2457abd023aae1d80a6f65e43a1bf3ce07319
|
|
1684
1616
|
type: script
|
|
1685
1617
|
size: 2928
|
|
1686
|
-
- path: development/scripts/branch-manager.js
|
|
1687
|
-
hash: sha256:694c20fe8725e06e7f263a8d3ec19057aab1bfdf3820cf70c350e4c54523fffa
|
|
1688
|
-
type: script
|
|
1689
|
-
size: 11540
|
|
1690
|
-
- path: development/scripts/code-quality-improver.js
|
|
1691
|
-
hash: sha256:541d7028563a510020119967c3237dfcc84feb039d85bf790624a690c43c18e9
|
|
1692
|
-
type: script
|
|
1693
|
-
size: 40546
|
|
1694
|
-
- path: development/scripts/commit-message-generator.js
|
|
1695
|
-
hash: sha256:d97f1cac89c86dfc489a5327bf3e2583ebcceef3b090887002367ee440abcf33
|
|
1696
|
-
type: script
|
|
1697
|
-
size: 25379
|
|
1698
|
-
- path: development/scripts/conflict-resolver.js
|
|
1699
|
-
hash: sha256:f27bbf2ce203c74634064b5d369aa90d506b364cabf2a303c911a849218b5c5d
|
|
1700
|
-
type: script
|
|
1701
|
-
size: 19189
|
|
1702
1618
|
- path: development/scripts/decision-context.js
|
|
1703
1619
|
hash: sha256:e9bfb559fbd9732f5ba3d25564ddfaec41d7d6c3cc719ceba5c750a637df14dc
|
|
1704
1620
|
type: script
|
|
@@ -1715,26 +1631,14 @@ files:
|
|
|
1715
1631
|
hash: sha256:aaeefc65620010f8ad22213595c833228d1037d2775e96dd1708d198040ae6a7
|
|
1716
1632
|
type: script
|
|
1717
1633
|
size: 5137
|
|
1718
|
-
- path: development/scripts/dependency-analyzer.js
|
|
1719
|
-
hash: sha256:39880d23a840dcc06d2e235e5e04417b435497f87acae8a57104c130be74e718
|
|
1720
|
-
type: script
|
|
1721
|
-
size: 18035
|
|
1722
1634
|
- path: development/scripts/dev-context-loader.js
|
|
1723
1635
|
hash: sha256:6de474e8311aa8f7f19494b6bf81287592f8f577b0c1a345b2e1a28e94b28171
|
|
1724
1636
|
type: script
|
|
1725
1637
|
size: 8238
|
|
1726
|
-
- path: development/scripts/diff-generator.js
|
|
1727
|
-
hash: sha256:d55d4a61ad34053338b29ecfbcf1d2547980ba884318c0752f7a9e3b22389460
|
|
1728
|
-
type: script
|
|
1729
|
-
size: 10668
|
|
1730
1638
|
- path: development/scripts/generate-greeting.js
|
|
1731
1639
|
hash: sha256:052b669917fe0934942cc85f613af8fe7302a9b7d70187c9558337bef3f9ec92
|
|
1732
1640
|
type: script
|
|
1733
1641
|
size: 3221
|
|
1734
|
-
- path: development/scripts/git-wrapper.js
|
|
1735
|
-
hash: sha256:172aa10616b1fb98a685af9afa81c85b09db3546176dc4a83cfdb06ca1015588
|
|
1736
|
-
type: script
|
|
1737
|
-
size: 11890
|
|
1738
1642
|
- path: development/scripts/greeting-builder.js
|
|
1739
1643
|
hash: sha256:293b89379a558837cfab65893130b638d6207079cde2d5252578089bb25732be
|
|
1740
1644
|
type: script
|
|
@@ -1763,34 +1667,14 @@ files:
|
|
|
1763
1667
|
hash: sha256:d6f3a03f975b01e4bf86b185228833e965145e3be10ce8a1d4e6cfc54c85b3f4
|
|
1764
1668
|
type: script
|
|
1765
1669
|
size: 9455
|
|
1766
|
-
- path: development/scripts/modification-validator.js
|
|
1767
|
-
hash: sha256:0bce67d53b19243654626bf53d754019011e327d037fdc7ca06bb0e1e1889022
|
|
1768
|
-
type: script
|
|
1769
|
-
size: 16489
|
|
1770
1670
|
- path: development/scripts/pattern-learner.js
|
|
1771
1671
|
hash: sha256:8fc513199884abdc7ac011fac381ba1bb695d43fa7d08a655951bf55754749f4
|
|
1772
1672
|
type: script
|
|
1773
1673
|
size: 35071
|
|
1774
|
-
- path: development/scripts/performance-analyzer.js
|
|
1775
|
-
hash: sha256:a28eb3b242415f6bb4252c2b1579723cd8c6a5dbb59549783ef9150baaa259c4
|
|
1776
|
-
type: script
|
|
1777
|
-
size: 23414
|
|
1778
1674
|
- path: development/scripts/populate-entity-registry.js
|
|
1779
1675
|
hash: sha256:2232bebc783c13e222c7b80713eae016343406ab2a878b0c6950b0691202d8c1
|
|
1780
1676
|
type: script
|
|
1781
1677
|
size: 25928
|
|
1782
|
-
- path: development/scripts/refactoring-suggester.js
|
|
1783
|
-
hash: sha256:66bf0be38efb417619e652c690d41337202dae7defa454bec73b010b05bb6db4
|
|
1784
|
-
type: script
|
|
1785
|
-
size: 35228
|
|
1786
|
-
- path: development/scripts/rollback-handler.js
|
|
1787
|
-
hash: sha256:c79a84fa3b4bc86b6e26f994039555a854063c0f036b0b08d7ce2c32a2134c7e
|
|
1788
|
-
type: script
|
|
1789
|
-
size: 16563
|
|
1790
|
-
- path: development/scripts/security-checker.js
|
|
1791
|
-
hash: sha256:b1ccf2428b623bdb3bac364ed92092fe55a8ec8a4fb5f086a0ad1b140fe69d25
|
|
1792
|
-
type: script
|
|
1793
|
-
size: 9524
|
|
1794
1678
|
- path: development/scripts/skill-validator.js
|
|
1795
1679
|
hash: sha256:9e8decda5a7bf73f05772ba0a315931b55bc61e333efea16901c5170752fb297
|
|
1796
1680
|
type: script
|
|
@@ -1859,26 +1743,10 @@ files:
|
|
|
1859
1743
|
hash: sha256:c4c46498b93e3ddf268648735e8059edbc6c84b21ef7675ba1557fa8cc856bcb
|
|
1860
1744
|
type: script
|
|
1861
1745
|
size: 3986
|
|
1862
|
-
- path: development/scripts/template-engine.js
|
|
1863
|
-
hash: sha256:d4143c5ec5fb4238e4d86a7cdbae610787f7647117bd5ed76cf61cfd7792cdb7
|
|
1864
|
-
type: script
|
|
1865
|
-
size: 6961
|
|
1866
|
-
- path: development/scripts/template-validator.js
|
|
1867
|
-
hash: sha256:f08cc27cbcc2990df0eb48f0aa677f196949b5a6c82c1837d0fdff0c7684f39f
|
|
1868
|
-
type: script
|
|
1869
|
-
size: 8335
|
|
1870
|
-
- path: development/scripts/test-generator.js
|
|
1871
|
-
hash: sha256:55dc8708ad43492fa886dfb1bbb8f9c25138f49a1d4e3a310f30ee30574050aa
|
|
1872
|
-
type: script
|
|
1873
|
-
size: 24943
|
|
1874
1746
|
- path: development/scripts/test-greeting-system.js
|
|
1875
1747
|
hash: sha256:eb0379edc43f6a448138420cda25b1685caaa8e5d2884afee27766a525e92f5d
|
|
1876
1748
|
type: script
|
|
1877
1749
|
size: 5563
|
|
1878
|
-
- path: development/scripts/transaction-manager.js
|
|
1879
|
-
hash: sha256:4df7b626b5d29c0527e265451099e65ab2aa004534259cf094695f5d71eac620
|
|
1880
|
-
type: script
|
|
1881
|
-
size: 17614
|
|
1882
1750
|
- path: development/scripts/unified-activation-pipeline.js
|
|
1883
1751
|
hash: sha256:9ac8eabc4635500e9d10cebe52e2147f15366840b0a3f97313f17a61b95d1062
|
|
1884
1752
|
type: script
|
|
@@ -1915,10 +1783,6 @@ files:
|
|
|
1915
1783
|
hash: sha256:05226c7d3c27cf94ccd653686f3ce043c7b649fef753ce0f17ffb470cf01bd76
|
|
1916
1784
|
type: script
|
|
1917
1785
|
size: 25486
|
|
1918
|
-
- path: development/scripts/yaml-validator.js
|
|
1919
|
-
hash: sha256:b64ef84a6def84cc600aca2c04fedd1999be394cac017409231752ee9eb51f46
|
|
1920
|
-
type: script
|
|
1921
|
-
size: 10338
|
|
1922
1786
|
- path: development/skills/captcha-handler.md
|
|
1923
1787
|
hash: sha256:de3fcdf981a727a2b2efd532d4596bed50a0f2ba14c340bcd8b735ad7fab5876
|
|
1924
1788
|
type: development
|
|
@@ -2836,9 +2700,9 @@ files:
|
|
|
2836
2700
|
type: template
|
|
2837
2701
|
size: 1106
|
|
2838
2702
|
- path: development/templates/chrome-brain/knowledge-base/chrome-brain.md
|
|
2839
|
-
hash: sha256:
|
|
2703
|
+
hash: sha256:4b73f2a5c680aa9260e7c66a0a222a6927a0032784ca803eb309816774a5de84
|
|
2840
2704
|
type: template
|
|
2841
|
-
size:
|
|
2705
|
+
size: 5894
|
|
2842
2706
|
- path: development/templates/chrome-brain/knowledge-base/claude-in-chrome.md
|
|
2843
2707
|
hash: sha256:b91572e0ddf072f21546a8ee7b910c692e052ba87dc3a6eb829fe049d28180c2
|
|
2844
2708
|
type: template
|
|
@@ -3440,9 +3304,9 @@ files:
|
|
|
3440
3304
|
type: script
|
|
3441
3305
|
size: 8847
|
|
3442
3306
|
- path: infrastructure/scripts/ide-sync/index.js
|
|
3443
|
-
hash: sha256:
|
|
3307
|
+
hash: sha256:86578adee8ec6fd5cc7a38d70ea04984d4c7bdb717126c21e0cc32b044c4c5c9
|
|
3444
3308
|
type: script
|
|
3445
|
-
size:
|
|
3309
|
+
size: 18770
|
|
3446
3310
|
- path: infrastructure/scripts/ide-sync/persona-renderer.js
|
|
3447
3311
|
hash: sha256:44f76be1e48c4a6271d8c721687d8788d2317a1163d74731abfe97f36775334d
|
|
3448
3312
|
type: script
|
|
@@ -3684,9 +3548,9 @@ files:
|
|
|
3684
3548
|
type: script
|
|
3685
3549
|
size: 18249
|
|
3686
3550
|
- path: infrastructure/scripts/validate-agents.js
|
|
3687
|
-
hash: sha256:
|
|
3551
|
+
hash: sha256:62f4f46fa2117f633b96b42be5fcf0448cf56408998affee6728e798c8014733
|
|
3688
3552
|
type: script
|
|
3689
|
-
size:
|
|
3553
|
+
size: 21894
|
|
3690
3554
|
- path: infrastructure/scripts/validate-claude-integration.js
|
|
3691
3555
|
hash: sha256:fe5e85f257724ec86178d4ed0a4cc6ce4d98b5b093f707851852ae0d2469abad
|
|
3692
3556
|
type: script
|
package/AGENTS.md
CHANGED
|
@@ -29,8 +29,19 @@ SINAPSE is a meta-framework that orchestrates AI agents into specialized squads
|
|
|
29
29
|
|
|
30
30
|
- **CLI First** -- All intelligence lives in the CLI. Dashboards observe, never control.
|
|
31
31
|
- **4-Layer Boundary** -- L1 (core, immutable) / L2 (templates, extend-only) / L3 (config, mutable) / L4 (runtime, always modify).
|
|
32
|
-
- **Documentation-First** -- No code without a validated story. Pipeline: Epic -> Story -> Validation -> Implementation.
|
|
33
|
-
- **Constitution** -- 11 articles with automatic gates that block violations
|
|
32
|
+
- **Documentation-First Development** -- No code without a validated story. Pipeline: Epic -> Story -> Validation -> Implementation.
|
|
33
|
+
- **Constitution** -- 11 articles with automatic gates that block violations (full text: `.sinapse-ai/constitution.md`):
|
|
34
|
+
- **I. CLI First** -- intelligence in the CLI; dashboards observe, never control.
|
|
35
|
+
- **II. Agent Authority** -- exclusive authorities (only @devops pushes/PRs/releases); no agent assumes another's role.
|
|
36
|
+
- **III. Documentation-First Development** -- no code without a validated story.
|
|
37
|
+
- **IV. No Invention** -- every spec statement traces to a requirement/research finding.
|
|
38
|
+
- **V. Quality First** -- lint, typecheck, tests and (when applicable) build must pass.
|
|
39
|
+
- **VI. Absolute Imports** -- prefer `@/` over relative paths.
|
|
40
|
+
- **VII. Ecosystem Metrics Accuracy** -- squad/agent counts must be exact across all docs.
|
|
41
|
+
- **VIII. Mandatory Delegation** -- orchestrators always delegate domain work to specialists.
|
|
42
|
+
- **IX. Safe Collaboration** -- branch + sync + secret-scan; never work directly on main.
|
|
43
|
+
- **X. Security & Data Protection** -- RLS, least privilege, secrets in env, LGPD compliance.
|
|
44
|
+
- **XI. Conservative Default** -- prefer the least-destructive action; deletions in protected paths need an explicit override.
|
|
34
45
|
|
|
35
46
|
### Project Structure
|
|
36
47
|
|