sinapse-ai 7.4.7 → 7.5.1

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.
Files changed (30) hide show
  1. package/.claude/CLAUDE.md +10 -7
  2. package/.claude/rules/documentation-first.md +77 -0
  3. package/.claude/rules/mandatory-delegation.md +96 -0
  4. package/.codex/instructions.md +2 -1
  5. package/.sinapse-ai/constitution.md +59 -6
  6. package/.sinapse-ai/core/doctor/checks/constitution-consistency.js +116 -0
  7. package/.sinapse-ai/core/doctor/checks/index.js +10 -2
  8. package/.sinapse-ai/core/doctor/index.js +4 -3
  9. package/.sinapse-ai/core/health-check/checks/project/constitution-consistency.js +157 -0
  10. package/.sinapse-ai/core/health-check/checks/project/index.js +2 -0
  11. package/.sinapse-ai/data/entity-registry.yaml +807 -777
  12. package/.sinapse-ai/data/registry-update-log.jsonl +16 -0
  13. package/.sinapse-ai/development/tasks/dev-develop-story.md +14 -6
  14. package/.sinapse-ai/development/tasks/health-check.yaml +2 -2
  15. package/.sinapse-ai/development/templates/chrome-brain/knowledge-base/claude-in-chrome.md +62 -0
  16. package/.sinapse-ai/install-manifest.yaml +29 -17
  17. package/.sinapse-ai/product/templates/ide-rules/claude-rules.md +10 -6
  18. package/README.en.md +10 -8
  19. package/README.md +10 -8
  20. package/bin/cli.js +40 -0
  21. package/bin/modules/chrome-brain-installer.js +164 -29
  22. package/bin/sinapse.js +8 -0
  23. package/docs/framework/memory-lifecycle.md +1 -1
  24. package/docs/getting-started.md +2 -2
  25. package/docs/guides/user-guide.md +9 -7
  26. package/docs/guides/workflows/xref-phase6-supporting.md +1 -1
  27. package/docs/guides/workflows-guide.md +1 -1
  28. package/package.json +1 -1
  29. package/packages/sinapse-install/src/capabilities/chrome-brain.js +183 -12
  30. package/squads/claude-code-mastery/agents/project-integrator.md +1 -1
@@ -180,6 +180,16 @@ function generateChromeEnsure(chromePath, platform) {
180
180
  const safePath = sanitizeChromePath(chromePath);
181
181
  const chromeCmd = `"${safePath}"`;
182
182
 
183
+ // Platform-aware kill command: Windows Git Bash lacks pgrep, use taskkill
184
+ const killCmd = platform === 'windows'
185
+ ? `# Windows: use taskkill instead of pgrep (not available in Git Bash)
186
+ if command -v taskkill &>/dev/null; then
187
+ tasklist /FI "IMAGENAME eq chrome.exe" /NH 2>/dev/null | grep -i "chrome-debug-profile" | awk '{print $2}' | while read pid; do taskkill /PID "$pid" /F 2>/dev/null; done
188
+ elif command -v pgrep &>/dev/null; then
189
+ pgrep -f "user-data-dir=$CHROME_DEBUG_PROFILE" 2>/dev/null | xargs kill 2>/dev/null || true
190
+ fi`
191
+ : `pgrep -f "user-data-dir=$CHROME_DEBUG_PROFILE" 2>/dev/null | xargs kill 2>/dev/null || true`;
192
+
183
193
  return `#!/bin/bash
184
194
  # Chrome Brain — chrome-ensure (auto-launch)
185
195
  # Called by PreToolUse hook before any chrome-devtools or claude-in-chrome tool
@@ -195,7 +205,7 @@ if curl -sf "$CDP" -o /dev/null --max-time 1 2>/dev/null; then
195
205
  fi
196
206
 
197
207
  # Kill stale debug profile instances only (never normal Chrome)
198
- pgrep -f "user-data-dir=$CHROME_DEBUG_PROFILE" 2>/dev/null | xargs kill 2>/dev/null || true
208
+ ${killCmd}
199
209
  sleep 1
200
210
 
201
211
  # Launch Chrome with debug flags
@@ -222,6 +232,16 @@ function generateChromeDebug(chromePath, platform) {
222
232
  const safePath = sanitizeChromePath(chromePath);
223
233
  const chromeCmd = `"${safePath}"`;
224
234
 
235
+ // Platform-aware kill command: Windows Git Bash lacks pgrep, use taskkill
236
+ const killCmd = platform === 'windows'
237
+ ? `# Windows: use taskkill instead of pgrep (not available in Git Bash)
238
+ if command -v taskkill &>/dev/null; then
239
+ tasklist /FI "IMAGENAME eq chrome.exe" /NH 2>/dev/null | grep -i "chrome-debug-profile" | awk '{print $2}' | while read pid; do taskkill /PID "$pid" /F 2>/dev/null; done
240
+ elif command -v pgrep &>/dev/null; then
241
+ pgrep -f "user-data-dir=$CHROME_DEBUG_PROFILE" 2>/dev/null | xargs kill 2>/dev/null || true
242
+ fi`
243
+ : `pgrep -f "user-data-dir=$CHROME_DEBUG_PROFILE" 2>/dev/null | xargs kill 2>/dev/null || true`;
244
+
225
245
  return `#!/bin/bash
226
246
  # Chrome Brain — chrome-debug (manual launch)
227
247
  # User runs this directly if auto-launch doesn't work
@@ -236,7 +256,7 @@ if curl -s "http://127.0.0.1:$PORT/json/version" &>/dev/null; then
236
256
  fi
237
257
 
238
258
  # Kill only debug profile instances
239
- pgrep -f "user-data-dir=$CHROME_DEBUG_PROFILE" 2>/dev/null | xargs kill 2>/dev/null || true
259
+ ${killCmd}
240
260
  sleep 2
241
261
 
242
262
  echo "Launching Chrome with remote debugging on port $PORT..."
@@ -351,10 +371,12 @@ function installHooks() {
351
371
  PreToolUse: [
352
372
  { matcher: 'mcp__chrome-devtools__*', hooks: [{ type: 'command', command: ensureCmd }] },
353
373
  { matcher: 'mcp__claude-in-chrome__*', hooks: [{ type: 'command', command: ensureCmd }] },
374
+ { matcher: 'mcp__dev-browser__*', hooks: [{ type: 'command', command: ensureCmd }] },
354
375
  ],
355
376
  PostToolUse: [
356
377
  { matcher: 'mcp__chrome-devtools__*', hooks: [{ type: 'command', command: logCmd }] },
357
378
  { matcher: 'mcp__claude-in-chrome__*', hooks: [{ type: 'command', command: logCmd }] },
379
+ { matcher: 'mcp__dev-browser__*', hooks: [{ type: 'command', command: logCmd }] },
358
380
  ],
359
381
  };
360
382
 
@@ -364,23 +386,15 @@ function installHooks() {
364
386
  } catch (error) {
365
387
  fail(`Failed to merge hooks: ${error.message}`);
366
388
  }
367
-
368
- // Also create standalone hooks in ~/.sinapse/.claude/settings.json
369
- const sinapseSettings = path.join(SINAPSE_DIR, '.claude', 'settings.json');
370
- try {
371
- writeJson(sinapseSettings, { hooks: hookDefs });
372
- ok('Standalone hooks at ~/.sinapse/.claude/settings.json');
373
- } catch (error) {
374
- warn(`Could not create standalone hooks: ${error.message}`);
375
- }
376
389
  }
377
390
 
378
391
  function installMcp(platform) {
379
- step('Configuring Chrome DevTools MCP...');
392
+ step('Configuring Chrome DevTools + dev-browser MCP...');
380
393
 
381
394
  const config = readJson(CLAUDE_JSON);
382
395
  if (!config.mcpServers) config.mcpServers = {};
383
396
 
397
+ // --- Chrome DevTools MCP ---
384
398
  if (platform === 'windows') {
385
399
  config.mcpServers['chrome-devtools'] = {
386
400
  command: 'cmd',
@@ -393,9 +407,35 @@ function installMcp(platform) {
393
407
  };
394
408
  }
395
409
 
410
+ // --- dev-browser MCP (Story 7.4.2) ---
411
+ // Install dev-browser globally first
412
+ try {
413
+ const npmCmd = process.platform === 'win32' ? 'npm.cmd' : 'npm';
414
+ execSync(`${npmCmd} install -g dev-browser`, { stdio: 'pipe', timeout: 120000 });
415
+ ok('dev-browser installed globally');
416
+ } catch (error) {
417
+ warn(`dev-browser install failed: ${error.message}. Manual install: npm install -g dev-browser`);
418
+ // Do NOT throw — continue with rest of install
419
+ }
420
+
421
+ // Add dev-browser MCP entry regardless (user may install manually later)
422
+ if (platform === 'windows') {
423
+ config.mcpServers['dev-browser'] = {
424
+ command: 'cmd',
425
+ args: ['/c', 'dev-browser', '--connect'],
426
+ env: { CDP_URL: 'http://127.0.0.1:9222' },
427
+ };
428
+ } else {
429
+ config.mcpServers['dev-browser'] = {
430
+ command: 'dev-browser',
431
+ args: ['--connect'],
432
+ env: { CDP_URL: 'http://127.0.0.1:9222' },
433
+ };
434
+ }
435
+
396
436
  try {
397
437
  writeJson(CLAUDE_JSON, config);
398
- ok('Chrome DevTools MCP configured in ~/.claude.json');
438
+ ok('Chrome DevTools + dev-browser MCP configured in ~/.claude.json');
399
439
  } catch (error) {
400
440
  fail(`Failed to configure MCP: ${error.message}`);
401
441
  }
@@ -479,6 +519,19 @@ function createMinimalKB() {
479
519
  '> Cross-squad capability for browser automation.',
480
520
  '> Auto-activated. NSN Mode always on.',
481
521
  '',
522
+ '## Browser Automation Tool Selection',
523
+ '',
524
+ '| Task | Preferred Tool | Why |',
525
+ '|------|---------------|-----|',
526
+ '| Navigate, click, fill form | chrome-devtools-mcp (CDP) | Fastest, direct browser control |',
527
+ '| Screenshot, Lighthouse audit | chrome-devtools-mcp (CDP) | Built-in |',
528
+ '| Scraping with JS logic | dev-browser (Playwright) | evaluate(), full DOM access |',
529
+ '| Batch / loops / headless | dev-browser (Playwright) | Headless mode supported |',
530
+ '| Cross-origin iframes | dev-browser or CDP Input events | CDP has InputEvent.dispatch |',
531
+ '| Visual fallback, coordinates | claude-in-chrome extension | Screen-level computer use |',
532
+ '',
533
+ '**Priority:** CDP > dev-browser > claude-in-chrome',
534
+ '',
482
535
  '## Learnings Log',
483
536
  '',
484
537
  '> Updated automatically when NSN Mode resolves new barriers.',
@@ -486,6 +539,35 @@ function createMinimalKB() {
486
539
  ].join('\n'), 'utf8');
487
540
  ok('Minimal chrome-brain.md created');
488
541
  }
542
+
543
+ // Create claude-in-chrome.md KB (Story 7.4.2)
544
+ const cicKbPath = path.join(kbDir, 'claude-in-chrome.md');
545
+ if (!fs.existsSync(cicKbPath)) {
546
+ fs.writeFileSync(cicKbPath, [
547
+ '# claude-in-chrome — Chrome Extension for Visual Browser Interaction',
548
+ '',
549
+ '> Manual install required. This extension cannot be auto-installed via CLI.',
550
+ '',
551
+ '## Installation',
552
+ '',
553
+ '1. Open Chrome and navigate to the Chrome Web Store',
554
+ '2. Search for "claude-in-chrome" or visit:',
555
+ ' https://chromewebstore.google.com/detail/claude-in-chrome',
556
+ '3. Click "Add to Chrome" and confirm',
557
+ '',
558
+ '## MCP Configuration',
559
+ '',
560
+ 'The extension manages its own MCP registration automatically.',
561
+ 'Do NOT manually add a "claude-in-chrome" entry to ~/.claude.json.',
562
+ '',
563
+ '## When to Use',
564
+ '',
565
+ 'Use as visual fallback when CDP and Playwright cannot handle the task.',
566
+ '**Priority:** CDP > dev-browser > claude-in-chrome',
567
+ '',
568
+ ].join('\n'), 'utf8');
569
+ ok('claude-in-chrome.md KB created');
570
+ }
489
571
  }
490
572
 
491
573
  // ============================================================================
@@ -515,6 +597,7 @@ function uninstallChromeBrain() {
515
597
  const matchers = [
516
598
  'mcp__chrome-devtools__*',
517
599
  'mcp__claude-in-chrome__*',
600
+ 'mcp__dev-browser__*',
518
601
  ];
519
602
 
520
603
  if (fs.existsSync(CLAUDE_SETTINGS)) {
@@ -523,22 +606,23 @@ function uninstallChromeBrain() {
523
606
  removed++;
524
607
  }
525
608
 
526
- const sinapseSettings = path.join(SINAPSE_DIR, '.claude', 'settings.json');
527
- if (fs.existsSync(sinapseSettings)) {
528
- fs.unlinkSync(sinapseSettings);
529
- ok('Removed ~/.sinapse/.claude/settings.json');
530
- removed++;
531
- }
532
-
533
- // Remove MCP config
609
+ // Remove MCP config (chrome-devtools + dev-browser)
534
610
  step('Removing MCP configuration...');
535
611
  if (fs.existsSync(CLAUDE_JSON)) {
536
612
  const config = readJson(CLAUDE_JSON);
537
- if (config.mcpServers && config.mcpServers['chrome-devtools']) {
538
- delete config.mcpServers['chrome-devtools'];
613
+ let mcpChanged = false;
614
+ if (config.mcpServers) {
615
+ for (const key of ['chrome-devtools', 'dev-browser']) {
616
+ if (config.mcpServers[key]) {
617
+ delete config.mcpServers[key];
618
+ mcpChanged = true;
619
+ removed++;
620
+ }
621
+ }
622
+ }
623
+ if (mcpChanged) {
539
624
  writeJson(CLAUDE_JSON, config);
540
- ok('Removed chrome-devtools from ~/.claude.json');
541
- removed++;
625
+ ok('Removed chrome-devtools + dev-browser from ~/.claude.json');
542
626
  }
543
627
  }
544
628
 
@@ -547,6 +631,7 @@ function uninstallChromeBrain() {
547
631
  const kbFiles = [
548
632
  path.join(SINAPSE_DIR, '.claude', 'rules', 'chrome-brain-autoload.md'),
549
633
  path.join(SINAPSE_DIR, 'sinapse', 'knowledge-base', 'chrome-brain.md'),
634
+ path.join(SINAPSE_DIR, 'sinapse', 'knowledge-base', 'claude-in-chrome.md'),
550
635
  ];
551
636
 
552
637
  for (const file of kbFiles) {
@@ -617,7 +702,7 @@ function getChromeBrainStatus() {
617
702
  fail('Hooks: ~/.claude/settings.json not found');
618
703
  }
619
704
 
620
- // MCP
705
+ // MCP (chrome-devtools)
621
706
  total++;
622
707
  if (fs.existsSync(CLAUDE_JSON)) {
623
708
  const config = readJson(CLAUDE_JSON);
@@ -631,7 +716,32 @@ function getChromeBrainStatus() {
631
716
  fail('MCP: ~/.claude.json not found');
632
717
  }
633
718
 
634
- // KB
719
+ // MCP (dev-browser)
720
+ total++;
721
+ if (fs.existsSync(CLAUDE_JSON)) {
722
+ const config = readJson(CLAUDE_JSON);
723
+ if (config.mcpServers?.['dev-browser']) {
724
+ ok('MCP: dev-browser configured');
725
+ installed++;
726
+ } else {
727
+ fail('MCP: dev-browser not configured');
728
+ }
729
+ } else {
730
+ fail('MCP: ~/.claude.json not found');
731
+ }
732
+
733
+ // dev-browser global install
734
+ total++;
735
+ try {
736
+ const npmCmd = process.platform === 'win32' ? 'npm.cmd' : 'npm';
737
+ execSync(`${npmCmd} list -g dev-browser`, { stdio: 'pipe', timeout: 10000 });
738
+ ok('dev-browser: installed globally');
739
+ installed++;
740
+ } catch {
741
+ fail('dev-browser: not installed globally (run: npm install -g dev-browser)');
742
+ }
743
+
744
+ // KB (chrome-brain.md)
635
745
  total++;
636
746
  const kbPath = path.join(SINAPSE_DIR, 'sinapse', 'knowledge-base', 'chrome-brain.md');
637
747
  if (fs.existsSync(kbPath)) {
@@ -641,6 +751,19 @@ function getChromeBrainStatus() {
641
751
  fail('KB: chrome-brain.md not found');
642
752
  }
643
753
 
754
+ // KB (claude-in-chrome.md)
755
+ total++;
756
+ const cicKbPath = path.join(SINAPSE_DIR, 'sinapse', 'knowledge-base', 'claude-in-chrome.md');
757
+ if (fs.existsSync(cicKbPath)) {
758
+ ok('KB: claude-in-chrome.md');
759
+ installed++;
760
+ } else {
761
+ fail('KB: claude-in-chrome.md not found');
762
+ }
763
+
764
+ // claude-in-chrome advisory
765
+ info('claude-in-chrome: Chrome extension (manual install from Chrome Web Store)');
766
+
644
767
  // Squad integrations
645
768
  total++;
646
769
  let squadCount = 0;
@@ -714,8 +837,18 @@ async function runChromeBrain(subArgs) {
714
837
  step('Step 5/5 — Installing knowledge base...');
715
838
  installKnowledgeBase();
716
839
 
840
+ // claude-in-chrome instructions (Story 7.4.2)
841
+ console.log(`\n${bold(yellow('Manual step required: claude-in-chrome extension'))}`);
842
+ console.log(' Install from Chrome Web Store:');
843
+ console.log(' https://chromewebstore.google.com/detail/claude-in-chrome');
844
+ console.log(' The extension manages its own MCP registration — no CLI config needed.');
845
+
717
846
  // Summary
718
847
  console.log(`\n${bold(green('Chrome Brain installed successfully!'))}`);
848
+ console.log(`\n ${cyan('Tools installed:')}`);
849
+ console.log(' chrome-devtools-mcp # CDP: fast clicks, screenshots, Lighthouse');
850
+ console.log(' dev-browser # Playwright: scraping, batch, headless');
851
+ console.log(' claude-in-chrome # Visual fallback (manual Chrome extension)');
719
852
  console.log(`\n ${cyan('To test:')}`);
720
853
  console.log(' chrome-debug # Launch Chrome with debug port');
721
854
  console.log(' chrome-ensure # Auto-launch (used by hooks)');
@@ -742,8 +875,10 @@ ${bold('USAGE:')}
742
875
  sinapse chrome-brain status Check installation status
743
876
 
744
877
  ${bold('WHAT IT DOES:')}
745
- Gives ALL SINAPSE agents the ability to control Chrome in real-time:
746
- navigate sites, clone pages, fill forms, audit performance, extract data.
878
+ Gives ALL SINAPSE agents the full browser automation stack:
879
+ - chrome-devtools-mcp (CDP): fast clicks, screenshots, Lighthouse
880
+ - dev-browser (Playwright): scraping, batch, headless
881
+ - claude-in-chrome (extension): visual fallback, computer use
747
882
  Auto-activates when needed. No manual commands required after install.
748
883
  `);
749
884
  }
package/bin/sinapse.js CHANGED
@@ -367,6 +367,7 @@ async function runDoctor(options = {}) {
367
367
  json: options.json || false,
368
368
  dryRun: options.dryRun || false,
369
369
  quiet: options.quiet || false,
370
+ deep: options.deep || false,
370
371
  projectRoot: process.cwd(),
371
372
  });
372
373
 
@@ -578,6 +579,7 @@ Run health checks on your SINAPSE installation.
578
579
 
579
580
  Options:
580
581
  --fix Automatically fix detected issues
582
+ --deep Run additional deep validation checks (constitution consistency, etc.)
581
583
  --dry-run Show what --fix would do without making changes
582
584
  --json Output results as structured JSON
583
585
  --quiet Minimal output (exit code only)
@@ -590,6 +592,11 @@ Checks performed:
590
592
  • Task files have required fields
591
593
  • Dependencies are installed
592
594
 
595
+ Deep checks (--deep):
596
+ • Constitution consistency across all documents
597
+ • Article references synchronized
598
+ • Required rule files for NON-NEGOTIABLE articles
599
+
593
600
  Exit Codes:
594
601
  0 All checks passed (or issues fixed with --fix)
595
602
  1 Issues detected (run with --fix to repair)
@@ -1038,6 +1045,7 @@ async function main() {
1038
1045
  json: doctorArgs.includes('--json'),
1039
1046
  dryRun: doctorArgs.includes('--dry-run'),
1040
1047
  quiet: doctorArgs.includes('--quiet'),
1048
+ deep: doctorArgs.includes('--deep'),
1041
1049
  };
1042
1050
  await runDoctor(doctorOptions);
1043
1051
  break;
@@ -70,7 +70,7 @@ Each section of `.claude/CLAUDE.md` has a clear ownership classification:
70
70
  | Estrutura do Projeto | Framework | L2 | Generated from directory scan |
71
71
  | Framework vs Project Boundary | Framework | L1 | Core architecture |
72
72
  | Sistema de Agentes | Framework | L2 | Agent definitions from `.sinapse-ai/development/agents/` |
73
- | Story-Driven Development | Framework | L2 | Process definition |
73
+ | Documentation-First Development | Framework | L2 | Process definition |
74
74
  | Padroes de Codigo | Project | L3 | Customizable per project |
75
75
  | Testes & Quality Gates | Project | L3 | Customizable test commands |
76
76
  | Convencoes Git | Project | L3 | Customizable conventions |
@@ -250,9 +250,9 @@ npm run validate:parity
250
250
  npm run lint && npm run typecheck && npm test
251
251
  ```
252
252
 
253
- ### Story-Driven Development
253
+ ### Documentation-First Development
254
254
 
255
- All SINAPSE development follows stories in `docs/stories/`. Each story contains:
255
+ All SINAPSE development follows the documentation pipeline automatically. Stories live in `docs/stories/`. Each story contains:
256
256
  - Acceptance criteria with checkboxes
257
257
  - Tasks mapped to specific ACs
258
258
  - CodeRabbit integration for automated review
@@ -302,13 +302,15 @@ npm run lint # Check code style
302
302
  npm run build # Build project
303
303
  ```
304
304
 
305
- ### Story-Driven Development
306
-
307
- 1. **Create a story** - Use `*create-story` to define requirements
308
- 2. **Work from stories** - All development starts with a story in `docs/stories/`
309
- 3. **Update progress** - Mark checkboxes as tasks complete: `[ ]` --> `[x]`
310
- 4. **Track changes** - Maintain the File List section in the story
311
- 5. **Follow criteria** - Implement exactly what the acceptance criteria specify
305
+ ### Documentation-First Development
306
+
307
+ 1. **Define the epic** - Every initiative starts with an epic
308
+ 2. **Create a story** - Use `*create-story` to define requirements with acceptance criteria
309
+ 3. **Validate** - @product-lead validates the story before any code
310
+ 4. **Work from stories** - All development starts with a validated story in `docs/stories/`
311
+ 5. **Update progress** - Mark checkboxes as tasks complete: `[ ]` --> `[x]`
312
+ 6. **Track changes** - Maintain the File List section in the story
313
+ 7. **Follow criteria** - Implement exactly what the acceptance criteria specify
312
314
 
313
315
  ---
314
316
 
@@ -485,7 +485,7 @@ No references to `.sinapse-ai/processes/` were found in the codebase.
485
485
 
486
486
  | File | Purpose | Consumers | Cross-refs | Orphan? |
487
487
  |------|---------|-----------|------------|---------|
488
- | `constitution.md` | **FOUNDATIONAL** -- Defines non-negotiable principles (CLI First, Agent Authority, Story-Driven Development, No Invention, Quality First, Absolute Imports) | All agents, all tasks, CLAUDE.md | Referenced by `dev-develop-story.md`, `github-devops-pre-push-quality-gate.md`, `analyze-cross-artifact.md`, `spec-write-spec.md` | No |
488
+ | `constitution.md` | **FOUNDATIONAL** -- Defines non-negotiable principles (CLI First, Agent Authority, Documentation-First Development, No Invention, Quality First, Absolute Imports, Ecosystem Metrics Accuracy, Mandatory Delegation) | All agents, all tasks, CLAUDE.md | Referenced by `dev-develop-story.md`, `github-devops-pre-push-quality-gate.md`, `analyze-cross-artifact.md`, `spec-write-spec.md` | No |
489
489
  | `core-config.yaml` | **PRIMARY** Legacy/monolithic config (v2.3.0) with ALL configuration sections (13 sections) | `core/config/config-loader.js`, all agents, all tasks | Central configuration file; being split into L1-L4 hierarchy | No |
490
490
  | `framework-config.yaml` | **NEW** L1 Framework config (read-only, shipped with npm) | `core/config/config-resolver.js`, config CLI | Part of ADR-PRO-002 config hierarchy; duplicates framework portions of `core-config.yaml` | No |
491
491
  | `project-config.yaml` | **NEW** L2 Project config (team-shared, committed) | `core/config/config-resolver.js`, config CLI | Part of ADR-PRO-002; duplicates project portions of `core-config.yaml` | No |
@@ -401,7 +401,7 @@ For complete documentation for each workflow, including detailed step-by-step gu
401
401
 
402
402
  - [HybridOps Workflow Diagram](./hybridOps/workflow-diagram.md) - Human-agent collaboration patterns
403
403
  - [Agent Reference Guide](../agent-reference-guide.md) - Available agents and their capabilities
404
- - [Story-Driven Development](./user-guide.md#story-driven-development) - The story workflow
404
+ - [Documentation-First Development](./user-guide.md#documentation-first-development) - The documentation pipeline
405
405
 
406
406
  ---
407
407
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sinapse-ai",
3
- "version": "7.4.7",
3
+ "version": "7.5.1",
4
4
  "description": "SINAPSE AI: Framework de orquestracao de IA — 18 squads, 175 agentes especializados",
5
5
  "bin": {
6
6
  "sinapse": "bin/sinapse.js",