aios-core 4.0.2 → 4.1.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.
Files changed (111) hide show
  1. package/.aios-core/cli/commands/migrate/analyze.js +6 -6
  2. package/.aios-core/cli/commands/migrate/backup.js +2 -2
  3. package/.aios-core/cli/commands/migrate/execute.js +4 -4
  4. package/.aios-core/cli/commands/migrate/index.js +5 -5
  5. package/.aios-core/cli/commands/migrate/rollback.js +6 -6
  6. package/.aios-core/cli/commands/migrate/update-imports.js +2 -2
  7. package/.aios-core/cli/commands/migrate/validate.js +2 -2
  8. package/.aios-core/cli/commands/pro/index.js +52 -0
  9. package/.aios-core/cli/index.js +1 -1
  10. package/.aios-core/core/ids/registry-updater.js +29 -3
  11. package/.aios-core/core/migration/migration-config.yaml +2 -2
  12. package/.aios-core/core/migration/module-mapping.yaml +2 -2
  13. package/.aios-core/core/registry/README.md +2 -2
  14. package/.aios-core/core/synapse/context/context-builder.js +34 -0
  15. package/.aios-core/core/synapse/diagnostics/collectors/consistency-collector.js +168 -0
  16. package/.aios-core/core/synapse/diagnostics/collectors/hook-collector.js +129 -0
  17. package/.aios-core/core/synapse/diagnostics/collectors/manifest-collector.js +82 -0
  18. package/.aios-core/core/synapse/diagnostics/collectors/output-analyzer.js +134 -0
  19. package/.aios-core/core/synapse/diagnostics/collectors/pipeline-collector.js +75 -0
  20. package/.aios-core/core/synapse/diagnostics/collectors/quality-collector.js +252 -0
  21. package/.aios-core/core/synapse/diagnostics/collectors/relevance-matrix.js +174 -0
  22. package/.aios-core/core/synapse/diagnostics/collectors/safe-read-json.js +31 -0
  23. package/.aios-core/core/synapse/diagnostics/collectors/session-collector.js +102 -0
  24. package/.aios-core/core/synapse/diagnostics/collectors/timing-collector.js +126 -0
  25. package/.aios-core/core/synapse/diagnostics/collectors/uap-collector.js +83 -0
  26. package/.aios-core/core/synapse/diagnostics/report-formatter.js +484 -0
  27. package/.aios-core/core/synapse/diagnostics/synapse-diagnostics.js +95 -0
  28. package/.aios-core/core/synapse/engine.js +73 -20
  29. package/.aios-core/core/synapse/runtime/hook-runtime.js +60 -0
  30. package/.aios-core/core-config.yaml +6 -0
  31. package/.aios-core/data/agent-config-requirements.yaml +2 -2
  32. package/.aios-core/data/aios-kb.md +4 -4
  33. package/.aios-core/data/entity-registry.yaml +5 -5
  34. package/.aios-core/development/agents/architect.md +10 -10
  35. package/.aios-core/development/agents/devops.md +93 -50
  36. package/.aios-core/development/agents/qa.md +94 -40
  37. package/.aios-core/development/agents/ux-design-expert.md +25 -25
  38. package/.aios-core/development/scripts/activation-runtime.js +63 -0
  39. package/.aios-core/development/scripts/generate-greeting.js +9 -8
  40. package/.aios-core/development/scripts/unified-activation-pipeline.js +102 -2
  41. package/.aios-core/development/tasks/{db-expansion-pack-integration.md → db-squad-integration.md} +5 -5
  42. package/.aios-core/development/tasks/{integrate-expansion-pack.md → integrate-squad.md} +2 -2
  43. package/.aios-core/development/tasks/next.md +3 -3
  44. package/.aios-core/development/tasks/pr-automation.md +2 -2
  45. package/.aios-core/development/tasks/publish-npm.md +257 -0
  46. package/.aios-core/development/tasks/release-management.md +4 -4
  47. package/.aios-core/development/tasks/setup-github.md +1 -1
  48. package/.aios-core/development/tasks/squad-creator-migrate.md +1 -1
  49. package/.aios-core/development/tasks/squad-creator-sync-ide-command.md +14 -14
  50. package/.aios-core/development/tasks/update-aios.md +1 -1
  51. package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-QUICK-REFERENCE.md +1 -1
  52. package/.aios-core/docs/standards/AIOS-COLOR-PALETTE-V2.1.md +5 -5
  53. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.1-COMPLETE.md +21 -21
  54. package/.aios-core/docs/standards/AIOS-LIVRO-DE-OURO-V2.2-SUMMARY.md +25 -25
  55. package/.aios-core/docs/standards/OPEN-SOURCE-VS-SERVICE-DIFFERENCES.md +4 -4
  56. package/.aios-core/docs/standards/QUALITY-GATES-SPECIFICATION.md +3 -3
  57. package/.aios-core/docs/standards/STANDARDS-INDEX.md +13 -13
  58. package/.aios-core/docs/standards/STORY-TEMPLATE-V2-SPECIFICATION.md +1 -1
  59. package/.aios-core/framework-config.yaml +4 -0
  60. package/.aios-core/infrastructure/scripts/codex-skills-sync/index.js +182 -0
  61. package/.aios-core/infrastructure/scripts/codex-skills-sync/validate.js +172 -0
  62. package/.aios-core/infrastructure/scripts/ide-sync/README.md +14 -0
  63. package/.aios-core/infrastructure/scripts/ide-sync/index.js +6 -0
  64. package/.aios-core/infrastructure/scripts/tool-resolver.js +4 -4
  65. package/.aios-core/infrastructure/scripts/validate-paths.js +142 -0
  66. package/.aios-core/infrastructure/templates/aios-sync.yaml.template +11 -11
  67. package/.aios-core/infrastructure/templates/github-workflows/README.md +1 -1
  68. package/.aios-core/install-manifest.yaml +190 -106
  69. package/.aios-core/local-config.yaml.template +2 -0
  70. package/.aios-core/product/README.md +2 -2
  71. package/.aios-core/product/data/integration-patterns.md +1 -1
  72. package/.aios-core/product/templates/ide-rules/cline-rules.md +1 -1
  73. package/.aios-core/product/templates/ide-rules/codex-rules.md +65 -0
  74. package/.aios-core/product/templates/ide-rules/copilot-rules.md +1 -1
  75. package/.aios-core/product/templates/ide-rules/roo-rules.md +1 -1
  76. package/.aios-core/user-guide.md +15 -14
  77. package/.aios-core/workflow-intelligence/engine/output-formatter.js +1 -1
  78. package/.claude/hooks/enforce-architecture-first.py +196 -0
  79. package/.claude/hooks/install-hooks.sh +41 -0
  80. package/.claude/hooks/mind-clone-governance.py +192 -0
  81. package/.claude/hooks/pre-commit-mmos-guard.sh +99 -0
  82. package/.claude/hooks/pre-commit-version-check.sh +156 -0
  83. package/.claude/hooks/read-protection.py +151 -0
  84. package/.claude/hooks/slug-validation.py +176 -0
  85. package/.claude/hooks/sql-governance.py +182 -0
  86. package/.claude/hooks/synapse-engine.js +9 -20
  87. package/.claude/hooks/write-path-validation.py +194 -0
  88. package/README.md +44 -14
  89. package/bin/aios-init.js +255 -184
  90. package/bin/aios-minimal.js +2 -2
  91. package/bin/aios.js +19 -19
  92. package/package.json +7 -4
  93. package/packages/aios-pro-cli/bin/aios-pro.js +75 -2
  94. package/packages/aios-pro-cli/package.json +5 -1
  95. package/packages/aios-pro-cli/src/recover.js +100 -0
  96. package/packages/installer/src/__tests__/performance-benchmark.js +382 -0
  97. package/packages/installer/src/config/ide-configs.js +12 -1
  98. package/packages/installer/src/config/templates/core-config-template.js +2 -2
  99. package/packages/installer/src/installer/aios-core-installer.js +2 -2
  100. package/packages/installer/src/installer/file-hasher.js +97 -0
  101. package/packages/installer/src/installer/post-install-validator.js +41 -1
  102. package/packages/installer/src/pro/pro-scaffolder.js +335 -0
  103. package/packages/installer/src/utils/aios-colors.js +2 -2
  104. package/packages/installer/src/wizard/feedback.js +1 -1
  105. package/packages/installer/src/wizard/ide-config-generator.js +2 -2
  106. package/packages/installer/src/wizard/index.js +58 -19
  107. package/packages/installer/src/wizard/pro-setup.js +547 -0
  108. package/packages/installer/src/wizard/questions.js +20 -14
  109. package/packages/installer/src/wizard/validators.js +1 -1
  110. package/scripts/package-synapse.js +323 -0
  111. package/scripts/validate-package-completeness.js +317 -0
@@ -10,6 +10,9 @@
10
10
  * @created Story SYN-6 - SynapseEngine Orchestrator + Output Formatter
11
11
  */
12
12
 
13
+ const fs = require('fs');
14
+ const path = require('path');
15
+
13
16
  const {
14
17
  estimateContextPercent,
15
18
  calculateBracket,
@@ -18,6 +21,7 @@ const {
18
21
  needsMemoryHints,
19
22
  needsHandoffWarning,
20
23
  } = require('./context/context-tracker');
24
+ const { buildLayerContext } = require('./context/context-builder');
21
25
 
22
26
  const { formatSynapseRules } = require('./output/formatter');
23
27
  const { MemoryBridge } = require('./memory/memory-bridge');
@@ -70,9 +74,9 @@ class PipelineMetrics {
70
74
  constructor() {
71
75
  /** @type {Object.<string, object>} Per-layer metrics keyed by name */
72
76
  this.layers = {};
73
- /** @type {number|null} Pipeline start timestamp (ms) */
77
+ /** @type {bigint|null} Pipeline start hrtime (nanoseconds) */
74
78
  this.totalStart = null;
75
- /** @type {number|null} Pipeline end timestamp (ms) */
79
+ /** @type {bigint|null} Pipeline end hrtime (nanoseconds) */
76
80
  this.totalEnd = null;
77
81
  }
78
82
 
@@ -82,7 +86,7 @@ class PipelineMetrics {
82
86
  * @param {string} name - Layer name
83
87
  */
84
88
  startLayer(name) {
85
- this.layers[name] = { start: Date.now(), status: 'running' };
89
+ this.layers[name] = { start: process.hrtime.bigint(), status: 'running' };
86
90
  }
87
91
 
88
92
  /**
@@ -97,8 +101,9 @@ class PipelineMetrics {
97
101
  this.layers[name] = { status: 'ok', rules: rulesCount };
98
102
  return;
99
103
  }
100
- layer.end = Date.now();
101
- layer.duration = layer.end - layer.start;
104
+ const endTime = process.hrtime.bigint();
105
+ layer.end = endTime;
106
+ layer.duration = Number(endTime - layer.start) / 1e6;
102
107
  layer.status = 'ok';
103
108
  layer.rules = rulesCount;
104
109
  }
@@ -122,8 +127,9 @@ class PipelineMetrics {
122
127
  errorLayer(name, error) {
123
128
  const existing = this.layers[name] || {};
124
129
  if (existing.start) {
125
- existing.end = Date.now();
126
- existing.duration = existing.end - existing.start;
130
+ const endTime = process.hrtime.bigint();
131
+ existing.end = endTime;
132
+ existing.duration = Number(endTime - existing.start) / 1e6;
127
133
  }
128
134
  this.layers[name] = {
129
135
  ...existing,
@@ -148,7 +154,7 @@ class PipelineMetrics {
148
154
  const values = Object.values(this.layers);
149
155
  return {
150
156
  total_ms: this.totalStart != null && this.totalEnd != null
151
- ? this.totalEnd - this.totalStart
157
+ ? Number(this.totalEnd - this.totalStart) / 1e6
152
158
  : 0,
153
159
  layers_loaded: values.filter(l => l.status === 'ok').length,
154
160
  layers_skipped: values.filter(l => l.status === 'skipped').length,
@@ -221,7 +227,7 @@ class SynapseEngine {
221
227
  const safeProcessConfig = (processConfig && typeof processConfig === 'object') ? processConfig : {};
222
228
  const mergedConfig = { ...this.config, ...safeProcessConfig };
223
229
  const metrics = new PipelineMetrics();
224
- metrics.totalStart = Date.now();
230
+ metrics.totalStart = process.hrtime.bigint();
225
231
 
226
232
  // 1. Calculate bracket
227
233
  const promptCount = (session && session.prompt_count) || 0;
@@ -232,7 +238,7 @@ class SynapseEngine {
232
238
 
233
239
  // Guard: no layer config (invalid bracket — should not happen)
234
240
  if (!layerConfig) {
235
- metrics.totalEnd = Date.now();
241
+ metrics.totalEnd = process.hrtime.bigint();
236
242
  return { xml: '', metrics: metrics.getSummary() };
237
243
  }
238
244
 
@@ -249,8 +255,8 @@ class SynapseEngine {
249
255
  continue;
250
256
  }
251
257
 
252
- // Check hard pipeline timeout
253
- if (Date.now() - metrics.totalStart > PIPELINE_TIMEOUT_MS) {
258
+ // Check hard pipeline timeout (convert hrtime to ms for comparison)
259
+ if (Number(process.hrtime.bigint() - metrics.totalStart) / 1e6 > PIPELINE_TIMEOUT_MS) {
254
260
  // Log remaining layers as skipped
255
261
  const remaining = this.layers.slice(this.layers.indexOf(layer));
256
262
  for (const r of remaining) {
@@ -263,16 +269,14 @@ class SynapseEngine {
263
269
 
264
270
  // Execute layer via safe wrapper
265
271
  metrics.startLayer(layer.name);
266
- const context = {
272
+ const context = buildLayerContext({
267
273
  prompt,
268
274
  session: session || {},
269
- config: {
270
- ...mergedConfig,
271
- synapsePath: this.synapsePath,
272
- manifest: mergedConfig.manifest || {},
273
- },
275
+ config: mergedConfig,
276
+ synapsePath: this.synapsePath,
277
+ manifest: mergedConfig.manifest || {},
274
278
  previousLayers,
275
- };
279
+ });
276
280
 
277
281
  const result = layer._safeProcess(context);
278
282
 
@@ -301,9 +305,12 @@ class SynapseEngine {
301
305
  }
302
306
  }
303
307
 
304
- metrics.totalEnd = Date.now();
308
+ metrics.totalEnd = process.hrtime.bigint();
305
309
  const summary = metrics.getSummary();
306
310
 
311
+ // Persist hook metrics (fire-and-forget)
312
+ this._persistHookMetrics(summary, bracket, mergedConfig);
313
+
307
314
  // 4. Format output
308
315
  const xml = formatSynapseRules(
309
316
  results,
@@ -318,6 +325,52 @@ class SynapseEngine {
318
325
 
319
326
  return { xml, metrics: summary };
320
327
  }
328
+
329
+ /**
330
+ * Persist hook metrics to .synapse/metrics/hook-metrics.json (fire-and-forget).
331
+ * SYN-14: Includes hookBootMs from _hookBootTime passed via processConfig.
332
+ * @param {object} summary - Pipeline metrics summary
333
+ * @param {string} bracket - Context bracket
334
+ * @param {object} [config] - Merged config (may contain _hookBootTime bigint)
335
+ */
336
+ _persistHookMetrics(summary, bracket, config) {
337
+ try {
338
+ const synapsePath = this.synapsePath;
339
+ if (!synapsePath || !fs.existsSync(synapsePath)) return;
340
+ const metricsDir = path.join(synapsePath, 'metrics');
341
+ if (!fs.existsSync(metricsDir)) {
342
+ fs.mkdirSync(metricsDir, { recursive: true });
343
+ }
344
+ // SYN-14: Calculate hook boot time if _hookBootTime was passed
345
+ const hookBootTime = config && config._hookBootTime;
346
+ const hookBootMs = hookBootTime ? Number(process.hrtime.bigint() - hookBootTime) / 1e6 : 0;
347
+ const data = {
348
+ totalDuration: summary.total_ms,
349
+ hookBootMs,
350
+ bracket,
351
+ layersLoaded: summary.layers_loaded,
352
+ layersSkipped: summary.layers_skipped,
353
+ layersErrored: summary.layers_errored,
354
+ totalRules: summary.total_rules,
355
+ perLayer: {},
356
+ timestamp: new Date().toISOString(),
357
+ };
358
+ // Convert per_layer to serializable format (strip bigint start/end)
359
+ for (const [name, info] of Object.entries(summary.per_layer)) {
360
+ data.perLayer[name] = {
361
+ duration: info.duration || 0,
362
+ status: info.status || 'unknown',
363
+ rules: info.rules || 0,
364
+ };
365
+ }
366
+ fs.writeFileSync(
367
+ path.join(metricsDir, 'hook-metrics.json'),
368
+ JSON.stringify(data, null, 2), 'utf8',
369
+ );
370
+ } catch {
371
+ // Fire-and-forget: never block the hook pipeline
372
+ }
373
+ }
321
374
  }
322
375
 
323
376
  module.exports = {
@@ -0,0 +1,60 @@
1
+ 'use strict';
2
+
3
+ const path = require('path');
4
+ const fs = require('fs');
5
+
6
+ /**
7
+ * Resolve runtime dependencies for Synapse hook execution.
8
+ *
9
+ * @param {{cwd?: string, sessionId?: string}} input
10
+ * @returns {{
11
+ * engine: import('../engine').SynapseEngine,
12
+ * session: Object
13
+ * } | null}
14
+ */
15
+ function resolveHookRuntime(input) {
16
+ const cwd = input && input.cwd;
17
+ const sessionId = input && input.sessionId;
18
+ if (!cwd || typeof cwd !== 'string') return null;
19
+
20
+ const synapsePath = path.join(cwd, '.synapse');
21
+ if (!fs.existsSync(synapsePath)) return null;
22
+
23
+ try {
24
+ const { loadSession } = require(
25
+ path.join(cwd, '.aios-core', 'core', 'synapse', 'session', 'session-manager.js'),
26
+ );
27
+ const { SynapseEngine } = require(
28
+ path.join(cwd, '.aios-core', 'core', 'synapse', 'engine.js'),
29
+ );
30
+
31
+ const sessionsDir = path.join(synapsePath, 'sessions');
32
+ const session = loadSession(sessionId, sessionsDir) || { prompt_count: 0 };
33
+ const engine = new SynapseEngine(synapsePath);
34
+
35
+ return { engine, session };
36
+ } catch (error) {
37
+ if (process.env.DEBUG === '1') {
38
+ console.error(`[hook-runtime] Failed to resolve runtime: ${error.message}`);
39
+ }
40
+ return null;
41
+ }
42
+ }
43
+
44
+ /**
45
+ * Normalize hook output payload shape.
46
+ * @param {string} xml
47
+ * @returns {{hookSpecificOutput: {additionalContext: string}}}
48
+ */
49
+ function buildHookOutput(xml) {
50
+ return {
51
+ hookSpecificOutput: {
52
+ additionalContext: xml || '',
53
+ },
54
+ };
55
+ }
56
+
57
+ module.exports = {
58
+ resolveHookRuntime,
59
+ buildHookOutput,
60
+ };
@@ -45,10 +45,12 @@ mindsLocation: outputs/minds
45
45
  ide:
46
46
  selected:
47
47
  - vscode
48
+ - codex
48
49
  - cursor
49
50
  - claude-code
50
51
  configs:
51
52
  vscode: true
53
+ codex: true
52
54
  cursor: true
53
55
  windsurf: false
54
56
  zed: false
@@ -307,6 +309,10 @@ ideSync:
307
309
  enabled: true
308
310
  path: .claude/commands/AIOS/agents
309
311
  format: full-markdown-yaml
312
+ codex:
313
+ enabled: true
314
+ path: .codex/agents
315
+ format: full-markdown-yaml
310
316
  cursor:
311
317
  enabled: true
312
318
  path: .cursor/rules/agents
@@ -250,7 +250,7 @@ agents:
250
250
  files_loaded: []
251
251
  lazy_loading:
252
252
  agent_registry: true # Load when validating/creating squads
253
- expansion_pack_manifest: true # Load when managing expansion packs
253
+ squad_manifest: true # Load when managing squads
254
254
  performance_target: <150ms
255
255
 
256
256
  # ======================================================================
@@ -280,7 +280,7 @@ lazy_loading_strategy:
280
280
  expansionPacks:
281
281
  size: variable
282
282
  load_only_when: pack requested by user
283
- description: Optional expansion packs
283
+ description: Optional squads
284
284
  fallback: []
285
285
 
286
286
  registry:
@@ -855,7 +855,7 @@ For full details, see `CONTRIBUTING.md`. Key points:
855
855
 
856
856
  ### What Are Expansion Packs?
857
857
 
858
- Expansion packs extend AIOS-Method beyond traditional software development into ANY domain. They provide specialized agent teams, templates, and workflows while keeping the core framework lean and focused on development.
858
+ Squads extend AIOS-Method beyond traditional software development into ANY domain. They provide specialized agent teams, templates, and workflows while keeping the core framework lean and focused on development.
859
859
 
860
860
  ### Why Use Expansion Packs?
861
861
 
@@ -883,7 +883,7 @@ Expansion packs extend AIOS-Method beyond traditional software development into
883
883
 
884
884
  **Specialty Packs**:
885
885
 
886
- - **Expansion Creator**: Tools to build your own expansion packs
886
+ - **Expansion Creator**: Tools to build your own squads
887
887
  - **RPG Game Master**: Tabletop gaming assistance
888
888
  - **Life Event Planning**: Wedding planners, event coordinators
889
889
  - **Scientific Research**: Literature reviewers, methodology designers
@@ -896,7 +896,7 @@ Expansion packs extend AIOS-Method beyond traditional software development into
896
896
 
897
897
  ```bash
898
898
  npx @synkra/aios-core install
899
- # Select "Install expansion pack" option
899
+ # Select "Install squad" option
900
900
  ```
901
901
 
902
902
  4. **Use in Your Workflow**: Installed packs integrate seamlessly with existing agents
@@ -910,7 +910,7 @@ Use the **expansion-creator** pack to build your own:
910
910
  3. **Build Resources**: Tasks, templates, checklists for your domain
911
911
  4. **Test & Share**: Validate with real use cases, share with community
912
912
 
913
- **Key Principle**: Expansion packs democratize expertise by making specialized knowledge accessible through AI agents.
913
+ **Key Principle**: Squads democratize expertise by making specialized knowledge accessible through AI agents.
914
914
 
915
915
  ## Getting Help
916
916
 
@@ -1,6 +1,6 @@
1
1
  metadata:
2
2
  version: 1.0.0
3
- lastUpdated: '2026-02-12T13:07:01.327Z'
3
+ lastUpdated: '2026-02-14T16:25:15.484Z'
4
4
  entityCount: 487
5
5
  checksumAlgorithm: sha256
6
6
  entities:
@@ -5618,8 +5618,8 @@ entities:
5618
5618
  score: 0.7
5619
5619
  constraints: []
5620
5620
  extensionPoints: []
5621
- checksum: sha256:11c9a7f19044ed38df9e47d26feb1ba5346efd15bd4ec856c871722386575f1b
5622
- lastVerified: '2026-02-10T14:51:55.740Z'
5621
+ checksum: sha256:2a66e09c4f778c223d6a00e85738abe26547bd6034dd6718d5ec352f57c65898
5622
+ lastVerified: '2026-02-14T16:25:15.483Z'
5623
5623
  usage-tracker:
5624
5624
  path: .aios-core/development/scripts/usage-tracker.js
5625
5625
  type: script
@@ -8246,8 +8246,8 @@ entities:
8246
8246
  score: 0.4
8247
8247
  constraints: []
8248
8248
  extensionPoints: []
8249
- checksum: sha256:0e59a35fb77eaf7e757ecdc283381d8e6d20e9d24844280a4605af316f152f5e
8250
- lastVerified: '2026-02-09T00:54:48.061Z'
8249
+ checksum: sha256:6d87ec21d32acff1ba9b9d13025118c106ce6db59c1339c3a6ef4b2a02fd7f52
8250
+ lastVerified: '2026-02-14T16:25:15.482Z'
8251
8251
  core-config:
8252
8252
  path: .aios-core/core-config.yaml
8253
8253
  type: module
@@ -105,7 +105,7 @@ persona:
105
105
  - Integration patterns (event-driven, messaging, webhooks)
106
106
  - Performance optimization (across all layers)
107
107
 
108
- delegate_to_data_architect:
108
+ delegate_to_data_engineer:
109
109
  when:
110
110
  - Database schema design (tables, relationships, indexes)
111
111
  - Query optimization and performance tuning
@@ -123,9 +123,9 @@ persona:
123
123
  collaboration_pattern: |
124
124
  When user asks data-related questions:
125
125
  1. For "which database?" → @architect answers from system perspective
126
- 2. For "design schema" → Delegate to @data-architect
127
- 3. For "optimize queries" → Delegate to @data-architect
128
- 4. For data layer integration → @architect designs, @data-architect provides schema
126
+ 2. For "design schema" → Delegate to @data-engineer
127
+ 3. For "optimize queries" → Delegate to @data-engineer
128
+ 4. For data layer integration → @architect designs, @data-engineer provides schema
129
129
 
130
130
  delegate_to_github_devops:
131
131
  when:
@@ -257,7 +257,7 @@ dependencies:
257
257
  - exa # Research technologies and best practices
258
258
  - context7 # Look up library documentation and technical references
259
259
  - git # Read-only: status, log, diff (NO PUSH - use @github-devops)
260
- - supabase-cli # High-level database architecture (schema design → @data-architect)
260
+ - supabase-cli # High-level database architecture (schema design → @data-engineer)
261
261
  - railway-cli # Infrastructure planning and deployment
262
262
  - coderabbit # Automated code review for architectural patterns and security
263
263
 
@@ -402,7 +402,7 @@ Type `*help` to see all commands, or `*yolo` to skip confirmations.
402
402
 
403
403
  **I collaborate with:**
404
404
 
405
- - **@db-sage (Dara):** For database schema design and query optimization
405
+ - **@data-engineer (Dara):** For database schema design and query optimization
406
406
  - **@ux-design-expert (Uma):** For frontend architecture and user flows
407
407
  - **@pm (Morgan):** Receives requirements and strategic direction from
408
408
 
@@ -412,7 +412,7 @@ Type `*help` to see all commands, or `*yolo` to skip confirmations.
412
412
 
413
413
  **When to use others:**
414
414
 
415
- - Database design → Use @db-sage
415
+ - Database design → Use @data-engineer
416
416
  - UX/UI design → Use @ux-design-expert
417
417
  - Code implementation → Use @dev
418
418
  - Push operations → Use @github-devops
@@ -439,21 +439,21 @@ Type `*help` to see all commands, or `*yolo` to skip confirmations.
439
439
 
440
440
  1. **Requirements analysis** → Review PRD and constraints
441
441
  2. **Architecture design** → `*create-full-stack-architecture` or specific layer
442
- 3. **Collaboration** → Coordinate with @db-sage (database) and @ux-design-expert (frontend)
442
+ 3. **Collaboration** → Coordinate with @data-engineer (database) and @ux-design-expert (frontend)
443
443
  4. **Documentation** → `*document-project` for comprehensive docs
444
444
  5. **Handoff** → Provide architecture to @dev for implementation
445
445
 
446
446
  ### Common Pitfalls
447
447
 
448
448
  - ❌ Designing without understanding NFRs (scalability, security)
449
- - ❌ Not consulting @db-sage for data layer
449
+ - ❌ Not consulting @data-engineer for data layer
450
450
  - ❌ Over-engineering for current requirements
451
451
  - ❌ Skipping architecture checklists
452
452
  - ❌ Not considering brownfield constraints
453
453
 
454
454
  ### Related Agents
455
455
 
456
- - **@db-sage (Dara)** - Database architecture
456
+ - **@data-engineer (Dara)** - Database architecture
457
457
  - **@ux-design-expert (Uma)** - Frontend architecture
458
458
  - **@pm (Morgan)** - Receives requirements from
459
459
 
@@ -129,56 +129,99 @@ persona:
129
129
 
130
130
  # All commands require * prefix when used (e.g., *help)
131
131
  commands:
132
- # Core Commands
133
- - help: Show all available commands with descriptions
134
- - detect-repo: Detect repository context (framework-dev vs project-dev)
135
-
136
- # Quality & Push
137
- - version-check: Analyze version and recommend next
138
- - pre-push: Run all quality checks before push
139
- - push: Execute git push after quality gates pass
140
-
141
- # GitHub Operations
142
- - create-pr: Create pull request from current branch
143
- - configure-ci: Setup/update GitHub Actions workflows
144
- - release: Create versioned release with changelog
145
-
146
- # Repository Management
147
- - cleanup: Identify and remove stale branches/files
148
- - init-project-status: Initialize dynamic project status tracking (Story 6.1.2.4)
149
-
150
- # Environment Setup (Greenfield Phase 0)
151
- - environment-bootstrap: Complete environment setup for new projects (CLIs, auth, Git/GitHub)
152
- - setup-github: Configure DevOps infrastructure for user projects (workflows, CodeRabbit, branch protection, secrets) [Story 5.10]
153
-
154
- # MCP Management (via Docker Gateway) [Story 6.14]
155
- - search-mcp: Search available MCPs in Docker MCP Toolkit catalog
156
- - add-mcp: Add MCP server to Docker MCP Toolkit
157
- - list-mcps: List currently enabled MCPs and their tools
158
- - remove-mcp: Remove MCP server from Docker MCP Toolkit
159
- - setup-mcp-docker: Initial Docker MCP Toolkit configuration [Story 5.11]
160
-
161
- # Documentation Quality
162
- - check-docs: Verify documentation links integrity (broken, incorrect markings)
163
-
164
- # Worktree Management (Story 1.3-1.4 - ADE Infrastructure)
165
- - create-worktree: Create isolated worktree for story development
166
- - list-worktrees: List all active worktrees with status
167
- - remove-worktree: Remove worktree (with safety checks)
168
- - cleanup-worktrees: Remove all stale worktrees (> 30 days)
169
- - merge-worktree: Merge worktree branch back to base
170
-
171
- # Migration Management (Epic 2 - V2→V3 Migration)
172
- - inventory-assets: Generate migration inventory from V2 assets
173
- - analyze-paths: Analyze path dependencies and migration impact
174
- - migrate-agent: Migrate single agent from V2 to V3 format
175
- - migrate-batch: Batch migrate all agents with validation
176
-
177
- # Utilities
178
- - session-info: Show current session details (agent history, commands)
179
- - guide: Show comprehensive usage guide for this agent
180
- - yolo: 'Toggle permission mode (cycle: ask > auto > explore)'
181
- - exit: Exit DevOps mode
132
+ - name: help
133
+ visibility: [full, quick, key]
134
+ description: 'Show all available commands with descriptions'
135
+ - name: detect-repo
136
+ visibility: [full, quick, key]
137
+ description: 'Detect repository context (framework-dev vs project-dev)'
138
+ - name: version-check
139
+ visibility: [full, quick, key]
140
+ description: 'Analyze version and recommend next'
141
+ - name: pre-push
142
+ visibility: [full, quick, key]
143
+ description: 'Run all quality checks before push'
144
+ - name: push
145
+ visibility: [full, quick, key]
146
+ description: 'Execute git push after quality gates pass'
147
+ - name: create-pr
148
+ visibility: [full, quick, key]
149
+ description: 'Create pull request from current branch'
150
+ - name: configure-ci
151
+ visibility: [full, quick]
152
+ description: 'Setup/update GitHub Actions workflows'
153
+ - name: release
154
+ visibility: [full, quick]
155
+ description: 'Create versioned release with changelog'
156
+ - name: cleanup
157
+ visibility: [full, quick]
158
+ description: 'Identify and remove stale branches/files'
159
+ - name: init-project-status
160
+ visibility: [full]
161
+ description: 'Initialize dynamic project status tracking (Story 6.1.2.4)'
162
+ - name: environment-bootstrap
163
+ visibility: [full]
164
+ description: 'Complete environment setup for new projects (CLIs, auth, Git/GitHub)'
165
+ - name: setup-github
166
+ visibility: [full]
167
+ description: 'Configure DevOps infrastructure for user projects (workflows, CodeRabbit, branch protection, secrets) [Story 5.10]'
168
+ - name: search-mcp
169
+ visibility: [full]
170
+ description: 'Search available MCPs in Docker MCP Toolkit catalog'
171
+ - name: add-mcp
172
+ visibility: [full]
173
+ description: 'Add MCP server to Docker MCP Toolkit'
174
+ - name: list-mcps
175
+ visibility: [full]
176
+ description: 'List currently enabled MCPs and their tools'
177
+ - name: remove-mcp
178
+ visibility: [full]
179
+ description: 'Remove MCP server from Docker MCP Toolkit'
180
+ - name: setup-mcp-docker
181
+ visibility: [full]
182
+ description: 'Initial Docker MCP Toolkit configuration [Story 5.11]'
183
+ - name: check-docs
184
+ visibility: [full, quick]
185
+ description: 'Verify documentation links integrity (broken, incorrect markings)'
186
+ - name: create-worktree
187
+ visibility: [full]
188
+ description: 'Create isolated worktree for story development'
189
+ - name: list-worktrees
190
+ visibility: [full]
191
+ description: 'List all active worktrees with status'
192
+ - name: remove-worktree
193
+ visibility: [full]
194
+ description: 'Remove worktree (with safety checks)'
195
+ - name: cleanup-worktrees
196
+ visibility: [full]
197
+ description: 'Remove all stale worktrees (> 30 days)'
198
+ - name: merge-worktree
199
+ visibility: [full]
200
+ description: 'Merge worktree branch back to base'
201
+ - name: inventory-assets
202
+ visibility: [full]
203
+ description: 'Generate migration inventory from V2 assets'
204
+ - name: analyze-paths
205
+ visibility: [full]
206
+ description: 'Analyze path dependencies and migration impact'
207
+ - name: migrate-agent
208
+ visibility: [full]
209
+ description: 'Migrate single agent from V2 to V3 format'
210
+ - name: migrate-batch
211
+ visibility: [full]
212
+ description: 'Batch migrate all agents with validation'
213
+ - name: session-info
214
+ visibility: [full, quick]
215
+ description: 'Show current session details (agent history, commands)'
216
+ - name: guide
217
+ visibility: [full, quick, key]
218
+ description: 'Show comprehensive usage guide for this agent'
219
+ - name: yolo
220
+ visibility: [full, quick, key]
221
+ description: 'Toggle permission mode (cycle: ask > auto > explore)'
222
+ - name: exit
223
+ visibility: [full, quick, key]
224
+ description: 'Exit DevOps mode'
182
225
 
183
226
  dependencies:
184
227
  tasks: