aios-core 4.2.6 → 4.2.7
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/.aios-core/core/orchestration/context-manager.js +333 -5
- package/.aios-core/core/orchestration/dashboard-integration.js +17 -1
- package/.aios-core/core/orchestration/execution-profile-resolver.js +107 -0
- package/.aios-core/core/orchestration/index.js +3 -0
- package/.aios-core/core/orchestration/skill-dispatcher.js +2 -0
- package/.aios-core/core/orchestration/subagent-prompt-builder.js +2 -0
- package/.aios-core/core/orchestration/workflow-orchestrator.js +113 -5
- package/.aios-core/data/entity-registry.yaml +1114 -1336
- package/.aios-core/development/agents/ux-design-expert.md +1 -1
- package/.aios-core/development/checklists/brownfield-compatibility-checklist.md +114 -0
- package/.aios-core/development/scripts/workflow-state-manager.js +128 -1
- package/.aios-core/development/tasks/next.md +36 -5
- package/.aios-core/hooks/ids-post-commit.js +29 -1
- package/.aios-core/hooks/ids-pre-push.js +29 -1
- package/.aios-core/infrastructure/contracts/compatibility/aios-4.0.4.yaml +44 -0
- package/.aios-core/infrastructure/scripts/validate-parity.js +238 -2
- package/.aios-core/install-manifest.yaml +43 -27
- package/.aios-core/product/templates/brownfield-risk-report-tmpl.yaml +277 -0
- package/.aios-core/workflow-intelligence/engine/suggestion-engine.js +114 -5
- package/LICENSE +13 -1
- package/README.md +39 -9
- package/package.json +8 -6
- package/packages/installer/src/wizard/ide-config-generator.js +0 -117
- package/packages/installer/src/wizard/index.js +2 -118
- package/packages/installer/src/wizard/pro-setup.js +50 -5
- package/scripts/semantic-lint.js +190 -0
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
# Brownfield Risk Report Template
|
|
2
|
+
# Story AIOS-DIFF-4.3.2: Template de relatório de risco por fase
|
|
3
|
+
|
|
4
|
+
template:
|
|
5
|
+
id: brownfield-risk-report
|
|
6
|
+
name: Brownfield Migration Risk Report
|
|
7
|
+
version: "1.0"
|
|
8
|
+
type: product
|
|
9
|
+
description: >
|
|
10
|
+
Template for generating risk assessment reports during brownfield
|
|
11
|
+
migration phases. Used by @analyst to create executive-level reports.
|
|
12
|
+
|
|
13
|
+
# ═══════════════════════════════════════════════════════════════════════════════
|
|
14
|
+
# REPORT STRUCTURE
|
|
15
|
+
# ═══════════════════════════════════════════════════════════════════════════════
|
|
16
|
+
|
|
17
|
+
sections:
|
|
18
|
+
|
|
19
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
20
|
+
# EXECUTIVE SUMMARY
|
|
21
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
22
|
+
|
|
23
|
+
executive_summary:
|
|
24
|
+
title: "Executive Summary"
|
|
25
|
+
content: |
|
|
26
|
+
## 📊 Risk Assessment Summary
|
|
27
|
+
|
|
28
|
+
**Project:** {{project_name}}
|
|
29
|
+
**Phase:** {{current_phase}}
|
|
30
|
+
**Date:** {{report_date}}
|
|
31
|
+
**Assessor:** @analyst
|
|
32
|
+
|
|
33
|
+
### Overall Risk Level: {{overall_risk_level}}
|
|
34
|
+
|
|
35
|
+
| Metric | Value |
|
|
36
|
+
|--------|-------|
|
|
37
|
+
| Critical Risks | {{critical_count}} |
|
|
38
|
+
| High Risks | {{high_count}} |
|
|
39
|
+
| Medium Risks | {{medium_count}} |
|
|
40
|
+
| Low Risks | {{low_count}} |
|
|
41
|
+
| Mitigated | {{mitigated_count}} |
|
|
42
|
+
|
|
43
|
+
### Key Findings
|
|
44
|
+
{{key_findings}}
|
|
45
|
+
|
|
46
|
+
### Recommended Action
|
|
47
|
+
{{recommended_action}}
|
|
48
|
+
|
|
49
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
50
|
+
# PHASE-SPECIFIC RISKS
|
|
51
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
52
|
+
|
|
53
|
+
phase_risks:
|
|
54
|
+
title: "Phase-Specific Risk Analysis"
|
|
55
|
+
phases:
|
|
56
|
+
|
|
57
|
+
discovery:
|
|
58
|
+
name: "Discovery Phase"
|
|
59
|
+
description: "Initial codebase analysis and documentation"
|
|
60
|
+
typical_risks:
|
|
61
|
+
- id: DISC-001
|
|
62
|
+
name: "Incomplete Documentation"
|
|
63
|
+
description: "Existing system poorly documented, discovery may miss critical components"
|
|
64
|
+
probability: medium
|
|
65
|
+
impact: high
|
|
66
|
+
mitigation: "Cross-reference with running system, interview stakeholders"
|
|
67
|
+
- id: DISC-002
|
|
68
|
+
name: "Hidden Dependencies"
|
|
69
|
+
description: "Undocumented external services or databases"
|
|
70
|
+
probability: medium
|
|
71
|
+
impact: critical
|
|
72
|
+
mitigation: "Network traffic analysis, env var audit"
|
|
73
|
+
- id: DISC-003
|
|
74
|
+
name: "Time Underestimation"
|
|
75
|
+
description: "Discovery takes longer than 4-8h estimate"
|
|
76
|
+
probability: low
|
|
77
|
+
impact: medium
|
|
78
|
+
mitigation: "Checkpoint after each sub-phase, adjust timeline"
|
|
79
|
+
|
|
80
|
+
planning:
|
|
81
|
+
name: "Planning Phase"
|
|
82
|
+
description: "PRD and architecture design"
|
|
83
|
+
typical_risks:
|
|
84
|
+
- id: PLAN-001
|
|
85
|
+
name: "Scope Creep"
|
|
86
|
+
description: "Technical debt resolution expands beyond initial estimate"
|
|
87
|
+
probability: high
|
|
88
|
+
impact: medium
|
|
89
|
+
mitigation: "Fixed scope per phase, explicit out-of-scope list"
|
|
90
|
+
- id: PLAN-002
|
|
91
|
+
name: "Architecture Mismatch"
|
|
92
|
+
description: "Proposed architecture conflicts with existing constraints"
|
|
93
|
+
probability: medium
|
|
94
|
+
impact: high
|
|
95
|
+
mitigation: "Validate with existing code, incremental changes only"
|
|
96
|
+
- id: PLAN-003
|
|
97
|
+
name: "Stakeholder Misalignment"
|
|
98
|
+
description: "Business priorities differ from technical recommendations"
|
|
99
|
+
probability: medium
|
|
100
|
+
impact: high
|
|
101
|
+
mitigation: "Executive report before implementation, explicit tradeoffs"
|
|
102
|
+
|
|
103
|
+
migration:
|
|
104
|
+
name: "Migration Phase"
|
|
105
|
+
description: "Implementation of changes"
|
|
106
|
+
typical_risks:
|
|
107
|
+
- id: MIG-001
|
|
108
|
+
name: "Breaking Changes"
|
|
109
|
+
description: "New code breaks existing functionality"
|
|
110
|
+
probability: medium
|
|
111
|
+
impact: critical
|
|
112
|
+
mitigation: "Feature flags, comprehensive test coverage before changes"
|
|
113
|
+
- id: MIG-002
|
|
114
|
+
name: "Data Loss"
|
|
115
|
+
description: "Database migration causes data corruption or loss"
|
|
116
|
+
probability: low
|
|
117
|
+
impact: critical
|
|
118
|
+
mitigation: "Backup before migration, dry-run on staging, rollback script ready"
|
|
119
|
+
- id: MIG-003
|
|
120
|
+
name: "Downtime"
|
|
121
|
+
description: "Migration requires extended system downtime"
|
|
122
|
+
probability: medium
|
|
123
|
+
impact: high
|
|
124
|
+
mitigation: "Zero-downtime migration strategy, maintenance window planning"
|
|
125
|
+
|
|
126
|
+
rollout:
|
|
127
|
+
name: "Rollout Phase"
|
|
128
|
+
description: "Progressive deployment"
|
|
129
|
+
typical_risks:
|
|
130
|
+
- id: ROLL-001
|
|
131
|
+
name: "Performance Degradation"
|
|
132
|
+
description: "New code slower than existing implementation"
|
|
133
|
+
probability: medium
|
|
134
|
+
impact: high
|
|
135
|
+
mitigation: "Load testing before rollout, monitoring during rollout"
|
|
136
|
+
- id: ROLL-002
|
|
137
|
+
name: "User Disruption"
|
|
138
|
+
description: "Changed UX confuses existing users"
|
|
139
|
+
probability: medium
|
|
140
|
+
impact: medium
|
|
141
|
+
mitigation: "Gradual rollout (10% → 50% → 100%), feedback collection"
|
|
142
|
+
- id: ROLL-003
|
|
143
|
+
name: "Rollback Failure"
|
|
144
|
+
description: "Unable to revert to previous state"
|
|
145
|
+
probability: low
|
|
146
|
+
impact: critical
|
|
147
|
+
mitigation: "Test rollback before production rollout, checkpoint commits"
|
|
148
|
+
|
|
149
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
150
|
+
# RISK MATRIX
|
|
151
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
152
|
+
|
|
153
|
+
risk_matrix:
|
|
154
|
+
title: "Risk Assessment Matrix"
|
|
155
|
+
content: |
|
|
156
|
+
## Risk Classification
|
|
157
|
+
|
|
158
|
+
| Probability / Impact | Low | Medium | High | Critical |
|
|
159
|
+
|----------------------|-----|--------|------|----------|
|
|
160
|
+
| **High** | Medium | High | Critical | Critical |
|
|
161
|
+
| **Medium** | Low | Medium | High | Critical |
|
|
162
|
+
| **Low** | Low | Low | Medium | High |
|
|
163
|
+
|
|
164
|
+
### Risk Levels
|
|
165
|
+
|
|
166
|
+
- **Critical**: Immediate action required, blocks progress
|
|
167
|
+
- **High**: Must be mitigated before proceeding to next phase
|
|
168
|
+
- **Medium**: Should be addressed, can proceed with monitoring
|
|
169
|
+
- **Low**: Acceptable, document and monitor
|
|
170
|
+
|
|
171
|
+
### Current Phase Risks
|
|
172
|
+
|
|
173
|
+
| ID | Risk | Probability | Impact | Level | Status |
|
|
174
|
+
|----|------|-------------|--------|-------|--------|
|
|
175
|
+
{{risk_table}}
|
|
176
|
+
|
|
177
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
178
|
+
# MITIGATION PLAN
|
|
179
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
180
|
+
|
|
181
|
+
mitigation_plan:
|
|
182
|
+
title: "Mitigation Plan"
|
|
183
|
+
content: |
|
|
184
|
+
## Mitigation Strategies
|
|
185
|
+
|
|
186
|
+
### Critical & High Risks
|
|
187
|
+
|
|
188
|
+
{{critical_mitigations}}
|
|
189
|
+
|
|
190
|
+
### Medium Risks
|
|
191
|
+
|
|
192
|
+
{{medium_mitigations}}
|
|
193
|
+
|
|
194
|
+
### Monitoring Plan
|
|
195
|
+
|
|
196
|
+
| Risk ID | Metric to Watch | Threshold | Action if Exceeded |
|
|
197
|
+
|---------|-----------------|-----------|-------------------|
|
|
198
|
+
{{monitoring_table}}
|
|
199
|
+
|
|
200
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
201
|
+
# ROLLBACK STRATEGY
|
|
202
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
203
|
+
|
|
204
|
+
rollback_strategy:
|
|
205
|
+
title: "Rollback Strategy"
|
|
206
|
+
content: |
|
|
207
|
+
## Rollback Checkpoints
|
|
208
|
+
|
|
209
|
+
### Phase Checkpoints
|
|
210
|
+
|
|
211
|
+
| Phase | Checkpoint | Rollback Command | Recovery Time |
|
|
212
|
+
|-------|------------|------------------|---------------|
|
|
213
|
+
| Discovery | Pre-analysis | N/A (read-only) | N/A |
|
|
214
|
+
| Planning | Pre-PRD | `git checkout {{pre_planning_commit}}` | < 1 min |
|
|
215
|
+
| Migration | Pre-migration | `git checkout {{pre_migration_commit}}` | < 5 min |
|
|
216
|
+
| Rollout | Pre-rollout | `git checkout {{pre_rollout_commit}}` | < 5 min |
|
|
217
|
+
|
|
218
|
+
### Database Rollback
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
# If database migration was applied:
|
|
222
|
+
npm run db:rollback -- --to={{last_good_migration}}
|
|
223
|
+
|
|
224
|
+
# If data was modified:
|
|
225
|
+
# Restore from backup taken at {{backup_timestamp}}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Rollback Triggers
|
|
229
|
+
|
|
230
|
+
Automatic rollback if:
|
|
231
|
+
- [ ] Error rate exceeds 5% for 5 minutes
|
|
232
|
+
- [ ] Response time increases >200% from baseline
|
|
233
|
+
- [ ] Critical functionality fails health check
|
|
234
|
+
|
|
235
|
+
Manual rollback decision by:
|
|
236
|
+
- [ ] Tech lead approval for partial rollback
|
|
237
|
+
- [ ] CTO approval for full rollback
|
|
238
|
+
|
|
239
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
240
|
+
# SIGN-OFF
|
|
241
|
+
# ─────────────────────────────────────────────────────────────────────────────
|
|
242
|
+
|
|
243
|
+
sign_off:
|
|
244
|
+
title: "Sign-Off"
|
|
245
|
+
content: |
|
|
246
|
+
## Phase Approval
|
|
247
|
+
|
|
248
|
+
| Role | Name | Approval | Date |
|
|
249
|
+
|------|------|----------|------|
|
|
250
|
+
| Technical Lead | | [ ] Approved | |
|
|
251
|
+
| Product Owner | | [ ] Approved | |
|
|
252
|
+
| QA Lead | | [ ] Approved | |
|
|
253
|
+
|
|
254
|
+
### Conditions for Proceeding
|
|
255
|
+
|
|
256
|
+
- [ ] All critical risks mitigated
|
|
257
|
+
- [ ] All high risks have mitigation plan
|
|
258
|
+
- [ ] Rollback tested and verified
|
|
259
|
+
- [ ] Stakeholders notified
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
**Report Generated By:** @analyst
|
|
264
|
+
**Template Version:** 1.0
|
|
265
|
+
**Story:** AIOS-DIFF-4.3.2
|
|
266
|
+
|
|
267
|
+
# ═══════════════════════════════════════════════════════════════════════════════
|
|
268
|
+
# USAGE
|
|
269
|
+
# ═══════════════════════════════════════════════════════════════════════════════
|
|
270
|
+
|
|
271
|
+
usage:
|
|
272
|
+
command: "@analyst → *create-doc brownfield-risk-report"
|
|
273
|
+
output: "docs/reports/BROWNFIELD-RISK-REPORT-{{phase}}.md"
|
|
274
|
+
triggers:
|
|
275
|
+
- Before each brownfield phase transition
|
|
276
|
+
- When new risks are identified
|
|
277
|
+
- Before stakeholder review meetings
|
|
@@ -22,6 +22,7 @@ const path = require('path');
|
|
|
22
22
|
let wis = null;
|
|
23
23
|
let SessionContextLoader = null;
|
|
24
24
|
let learning = null;
|
|
25
|
+
let WorkflowStateManager = null;
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
28
|
* Default cache TTL for suggestions (5 minutes)
|
|
@@ -93,6 +94,15 @@ class SuggestionEngine {
|
|
|
93
94
|
learning = null;
|
|
94
95
|
}
|
|
95
96
|
}
|
|
97
|
+
|
|
98
|
+
if (!WorkflowStateManager) {
|
|
99
|
+
try {
|
|
100
|
+
({ WorkflowStateManager } = require('../../development/scripts/workflow-state-manager'));
|
|
101
|
+
} catch (error) {
|
|
102
|
+
console.warn('[SuggestionEngine] Failed to load WorkflowStateManager:', error.message);
|
|
103
|
+
WorkflowStateManager = null;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
96
106
|
}
|
|
97
107
|
|
|
98
108
|
/**
|
|
@@ -154,11 +164,12 @@ class SuggestionEngine {
|
|
|
154
164
|
*/
|
|
155
165
|
async suggestNext(context) {
|
|
156
166
|
this._loadDependencies();
|
|
167
|
+
const runtimeNext = this._getRuntimeNextRecommendation(context);
|
|
157
168
|
|
|
158
169
|
// Check cache first
|
|
159
170
|
const cacheKey = this._generateCacheKey(context);
|
|
160
171
|
if (this._isCacheValid(cacheKey)) {
|
|
161
|
-
return this.suggestionCache;
|
|
172
|
+
return this._withRuntimeRecommendation(this.suggestionCache, runtimeNext);
|
|
162
173
|
}
|
|
163
174
|
|
|
164
175
|
// Default result for when WIS is not available
|
|
@@ -172,7 +183,7 @@ class SuggestionEngine {
|
|
|
172
183
|
};
|
|
173
184
|
|
|
174
185
|
if (!wis) {
|
|
175
|
-
return defaultResult;
|
|
186
|
+
return this._withRuntimeRecommendation(defaultResult, runtimeNext);
|
|
176
187
|
}
|
|
177
188
|
|
|
178
189
|
try {
|
|
@@ -180,10 +191,10 @@ class SuggestionEngine {
|
|
|
180
191
|
const suggestions = wis.getSuggestions(context);
|
|
181
192
|
|
|
182
193
|
if (!suggestions || suggestions.length === 0) {
|
|
183
|
-
return {
|
|
194
|
+
return this._withRuntimeRecommendation({
|
|
184
195
|
...defaultResult,
|
|
185
196
|
message: 'No matching workflow found for current context',
|
|
186
|
-
};
|
|
197
|
+
}, runtimeNext);
|
|
187
198
|
}
|
|
188
199
|
|
|
189
200
|
// Get workflow match info
|
|
@@ -222,7 +233,7 @@ class SuggestionEngine {
|
|
|
222
233
|
: 0;
|
|
223
234
|
|
|
224
235
|
// Build result
|
|
225
|
-
|
|
236
|
+
let result = {
|
|
226
237
|
workflow: match?.name || suggestions[0]?.workflow || null,
|
|
227
238
|
currentState: suggestions[0]?.state || null,
|
|
228
239
|
confidence: Math.round(finalAvgConfidence * 100) / 100,
|
|
@@ -231,6 +242,8 @@ class SuggestionEngine {
|
|
|
231
242
|
message: null,
|
|
232
243
|
};
|
|
233
244
|
|
|
245
|
+
result = this._withRuntimeRecommendation(result, runtimeNext);
|
|
246
|
+
|
|
234
247
|
// Cache the result
|
|
235
248
|
this._cacheResult(cacheKey, result);
|
|
236
249
|
|
|
@@ -244,6 +257,102 @@ class SuggestionEngine {
|
|
|
244
257
|
}
|
|
245
258
|
}
|
|
246
259
|
|
|
260
|
+
/**
|
|
261
|
+
* Build runtime execution signals for deterministic next-action recommendation
|
|
262
|
+
* @param {Object} context - Current session context
|
|
263
|
+
* @returns {Object} Normalized runtime signals
|
|
264
|
+
* @private
|
|
265
|
+
*/
|
|
266
|
+
_buildRuntimeSignals(context = {}) {
|
|
267
|
+
const projectState = context.projectState || {};
|
|
268
|
+
const hasUncommitted =
|
|
269
|
+
typeof projectState.hasUncommittedChanges === 'boolean'
|
|
270
|
+
? projectState.hasUncommittedChanges
|
|
271
|
+
: false;
|
|
272
|
+
|
|
273
|
+
const baseSignals = {
|
|
274
|
+
story_status:
|
|
275
|
+
projectState.story_status || projectState.storyStatus || (projectState.activeStory ? 'in_progress' : 'unknown'),
|
|
276
|
+
qa_status: projectState.qa_status || projectState.qaStatus || 'unknown',
|
|
277
|
+
ci_status:
|
|
278
|
+
projectState.ci_status ||
|
|
279
|
+
projectState.ciStatus ||
|
|
280
|
+
(projectState.failingTests ? 'failed' : 'unknown'),
|
|
281
|
+
has_uncommitted_changes: hasUncommitted,
|
|
282
|
+
};
|
|
283
|
+
|
|
284
|
+
return {
|
|
285
|
+
...baseSignals,
|
|
286
|
+
...(context.executionSignals || {}),
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Get deterministic runtime-first recommendation if signals are available
|
|
292
|
+
* @param {Object} context - Current session context
|
|
293
|
+
* @returns {Object|null} Runtime recommendation or null
|
|
294
|
+
* @private
|
|
295
|
+
*/
|
|
296
|
+
_getRuntimeNextRecommendation(context = {}) {
|
|
297
|
+
if (!WorkflowStateManager) {
|
|
298
|
+
return null;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
try {
|
|
302
|
+
const manager = new WorkflowStateManager();
|
|
303
|
+
const runtimeSignals = this._buildRuntimeSignals(context);
|
|
304
|
+
const recommendation = manager.getNextActionRecommendation(runtimeSignals, {
|
|
305
|
+
story: context.storyPath || '',
|
|
306
|
+
});
|
|
307
|
+
|
|
308
|
+
if (!recommendation || recommendation.state === 'unknown') {
|
|
309
|
+
return null;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
return recommendation;
|
|
313
|
+
} catch (_error) {
|
|
314
|
+
return null;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Merge runtime-first deterministic recommendation into suggestion result.
|
|
320
|
+
* @param {Object} result - Suggestion result
|
|
321
|
+
* @param {Object|null} runtimeNext - Runtime recommendation
|
|
322
|
+
* @returns {Object} Enhanced result
|
|
323
|
+
* @private
|
|
324
|
+
*/
|
|
325
|
+
_withRuntimeRecommendation(result, runtimeNext) {
|
|
326
|
+
if (!result || !runtimeNext) {
|
|
327
|
+
return result;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
const runtimeSuggestion = {
|
|
331
|
+
command: runtimeNext.command,
|
|
332
|
+
args: '',
|
|
333
|
+
description: runtimeNext.rationale,
|
|
334
|
+
confidence: runtimeNext.confidence,
|
|
335
|
+
priority: 0,
|
|
336
|
+
source: 'runtime_first',
|
|
337
|
+
agent: runtimeNext.agent,
|
|
338
|
+
executionState: runtimeNext.state,
|
|
339
|
+
};
|
|
340
|
+
|
|
341
|
+
const existing = Array.isArray(result.suggestions) ? result.suggestions : [];
|
|
342
|
+
const normalizedRuntimeCommand = String(runtimeSuggestion.command || '').trim().toLowerCase();
|
|
343
|
+
const deduped = existing.filter(
|
|
344
|
+
(s) => String((s.command || '') + (s.args ? ` ${s.args}` : '')).trim().toLowerCase() !== normalizedRuntimeCommand,
|
|
345
|
+
);
|
|
346
|
+
|
|
347
|
+
return {
|
|
348
|
+
...result,
|
|
349
|
+
suggestions: [runtimeSuggestion, ...deduped],
|
|
350
|
+
confidence: Math.max(result.confidence || 0, runtimeNext.confidence || 0),
|
|
351
|
+
isUncertain: false,
|
|
352
|
+
runtimeState: runtimeNext.state,
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
|
|
247
356
|
/**
|
|
248
357
|
* Detect current active agent from environment or session
|
|
249
358
|
* @returns {string} Agent ID
|
package/LICENSE
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2025
|
|
3
|
+
Copyright (c) 2025 BMad Code, LLC (BMad Method - original work)
|
|
4
|
+
Copyright (c) 2025 SynkraAI Inc. (AIOS Framework - derivative work)
|
|
5
|
+
|
|
6
|
+
This project was originally derived from the BMad Method
|
|
7
|
+
(https://github.com/bmad-code-org/BMAD-METHOD), created by Brian Madison.
|
|
8
|
+
Synkra AIOS is NOT affiliated with, endorsed by, or sanctioned by the
|
|
9
|
+
BMad Method or BMad Code, LLC.
|
|
4
10
|
|
|
5
11
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
12
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -19,3 +25,9 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
19
25
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
26
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
27
|
SOFTWARE.
|
|
28
|
+
|
|
29
|
+
TRADEMARK NOTICE:
|
|
30
|
+
BMad, BMad Method, and BMad Core are trademarks of BMad Code, LLC.
|
|
31
|
+
These trademarks are NOT licensed under the MIT License. See the BMad Method
|
|
32
|
+
TRADEMARK.md (https://github.com/bmad-code-org/BMAD-METHOD/blob/main/TRADEMARK.md)
|
|
33
|
+
for detailed guidelines on trademark usage.
|
package/README.md
CHANGED
|
@@ -12,6 +12,30 @@
|
|
|
12
12
|
|
|
13
13
|
Framework de Desenvolvimento Auto-Modificável Alimentado por IA. Fundado em Desenvolvimento Ágil Dirigido por Agentes, oferecendo capacidades revolucionárias para desenvolvimento dirigido por IA e muito mais. Transforme qualquer domínio com expertise especializada de IA: desenvolvimento de software, entretenimento, escrita criativa, estratégia de negócios, bem-estar pessoal e muito mais.
|
|
14
14
|
|
|
15
|
+
## Comece Aqui (10 Min)
|
|
16
|
+
|
|
17
|
+
Se é sua primeira vez no AIOS, siga este caminho linear:
|
|
18
|
+
|
|
19
|
+
1. Instale em um projeto novo ou existente:
|
|
20
|
+
```bash
|
|
21
|
+
# novo projeto
|
|
22
|
+
npx aios-core init meu-projeto
|
|
23
|
+
|
|
24
|
+
# projeto existente
|
|
25
|
+
cd seu-projeto
|
|
26
|
+
npx aios-core install
|
|
27
|
+
```
|
|
28
|
+
2. Escolha sua IDE/CLI e o caminho de ativação:
|
|
29
|
+
- Claude Code: `/agent-name`
|
|
30
|
+
- Gemini CLI: `/aios-menu` → `/aios-<agent>`
|
|
31
|
+
- Codex CLI: `/skills` → `aios-<agent-id>`
|
|
32
|
+
- Cursor/Copilot/AntiGravity: siga os limites e workarounds em `docs/ide-integration.md`
|
|
33
|
+
3. Ative 1 agente e confirme o greeting.
|
|
34
|
+
4. Rode 1 comando inicial (`*help` ou equivalente) para validar first-value.
|
|
35
|
+
|
|
36
|
+
Definição de first-value (binária): ativação de agente + greeting válido + comando inicial com output útil em <= 10 minutos.
|
|
37
|
+
|
|
38
|
+
|
|
15
39
|
## Compatibilidade de Hooks por IDE (Realidade AIOS 4.0.4)
|
|
16
40
|
|
|
17
41
|
Muitos recursos avançados do AIOS dependem de eventos de ciclo de vida (hooks). A tabela abaixo mostra a paridade real entre IDEs/plataformas:
|
|
@@ -27,11 +51,15 @@ Muitos recursos avançados do AIOS dependem de eventos de ciclo de vida (hooks).
|
|
|
27
51
|
|
|
28
52
|
Impactos e mitigação detalhados: `docs/ide-integration.md`.
|
|
29
53
|
|
|
30
|
-
##
|
|
54
|
+
## Acknowledgments & Attribution
|
|
55
|
+
|
|
56
|
+
Synkra AIOS was originally derived from the [BMad Method](https://github.com/bmad-code-org/BMAD-METHOD), created by [Brian Madison](https://github.com/bmadcode) (BMad Code, LLC). We gratefully acknowledge the BMad Method for providing the foundation from which this project began.
|
|
31
57
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
58
|
+
**Important:** This project is **NOT affiliated with, endorsed by, or sanctioned by** the BMad Method or BMad Code, LLC. Contributors appearing in the git history from the original BMad Method repository do not imply active participation in or endorsement of Synkra AIOS.
|
|
59
|
+
|
|
60
|
+
Since its origin, AIOS has evolved significantly with its own architecture, terminology, and features (v4.x+), and does not depend on BMad for current operation. The BMad Method remains an excellent framework in its own right — please visit the [official BMad Method repository](https://github.com/bmad-code-org/BMAD-METHOD) to learn more.
|
|
61
|
+
|
|
62
|
+
BMad, BMad Method, and BMad Core are trademarks of BMad Code, LLC. See [TRADEMARK.md](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/TRADEMARK.md) for usage guidelines.
|
|
35
63
|
|
|
36
64
|
## Visão Geral
|
|
37
65
|
|
|
@@ -104,7 +132,7 @@ Esta abordagem de duas fases elimina tanto a **inconsistência de planejamento**
|
|
|
104
132
|
- **[Criar meus próprios agentes IA](#criando-seu-próprio-squad)** → Construir agentes para seu domínio
|
|
105
133
|
- **[Navegar Squads prontos](docs/guides/squads-overview.md)** → Veja como criar e usar equipes de agentes IA
|
|
106
134
|
- **[Entender a arquitetura](docs/architecture/ARCHITECTURE-INDEX.md)** → Mergulho técnico profundo
|
|
107
|
-
- **[
|
|
135
|
+
- **[Reportar problemas](https://github.com/SynkraAI/aios-core/issues)** → Bug reports e feature requests
|
|
108
136
|
|
|
109
137
|
## Importante: Mantenha Sua Instalação AIOS Atualizada
|
|
110
138
|
|
|
@@ -601,12 +629,10 @@ npm install @aios-fullstack/pro
|
|
|
601
629
|
|
|
602
630
|
Para mais informações, execute `npx aios-core pro --help` após a instalação.
|
|
603
631
|
|
|
604
|
-
## Suporte
|
|
632
|
+
## Suporte
|
|
605
633
|
|
|
606
|
-
-
|
|
607
|
-
- 💬 [Discussões GitHub](https://github.com/SynkraAI/aios-core/discussions) - Hub central da comunidade
|
|
634
|
+
- 🐛 [Rastreador de Issues](https://github.com/SynkraAI/aios-core/issues) - Bug reports e feature requests
|
|
608
635
|
- 💡 [Processo de Features](docs/FEATURE_PROCESS.md) - Como propor novas funcionalidades
|
|
609
|
-
- 🐛 [Rastreador de Issues](https://github.com/SynkraAI/aios-core/issues)
|
|
610
636
|
- 📋 [Como Contribuir](CONTRIBUTING.md)
|
|
611
637
|
- 🗺️ [Roadmap](docs/roadmap.md) - Veja o que estamos construindo
|
|
612
638
|
- 🤖 [Guia de Squads](docs/guides/squads-guide.md) - Crie equipes de agentes IA
|
|
@@ -704,6 +730,10 @@ Veja também:
|
|
|
704
730
|
|
|
705
731
|
## Reconhecimentos
|
|
706
732
|
|
|
733
|
+
This project was originally derived from the [BMad Method](https://github.com/bmad-code-org/BMAD-METHOD) by [Brian Madison](https://github.com/bmadcode). We thank Brian and all BMad Method contributors for the original work that made this project possible.
|
|
734
|
+
|
|
735
|
+
**Note:** Some contributors shown in the GitHub contributors graph are inherited from the original BMad Method git history and do not represent active participation in or endorsement of Synkra AIOS.
|
|
736
|
+
|
|
707
737
|
[](https://github.com/SynkraAI/aios-core/graphs/contributors)
|
|
708
738
|
|
|
709
739
|
<sub>Construído com ❤️ para a comunidade de desenvolvimento assistido por IA</sub>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aios-core",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.7",
|
|
4
4
|
"description": "Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework",
|
|
5
5
|
"bin": {
|
|
6
6
|
"aios": "bin/aios.js",
|
|
@@ -56,10 +56,11 @@
|
|
|
56
56
|
"sync:skills:codex": "node .aios-core/infrastructure/scripts/codex-skills-sync/index.js",
|
|
57
57
|
"sync:skills:codex:global": "node .aios-core/infrastructure/scripts/codex-skills-sync/index.js --global --global-only",
|
|
58
58
|
"validate:codex-skills": "node .aios-core/infrastructure/scripts/codex-skills-sync/validate.js --strict",
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
"validate:paths": "node .aios-core/infrastructure/scripts/validate-paths.js",
|
|
60
|
+
"validate:parity": "node .aios-core/infrastructure/scripts/validate-parity.js",
|
|
61
|
+
"validate:semantic-lint": "node scripts/semantic-lint.js",
|
|
62
|
+
"manifest:ensure": "node scripts/ensure-manifest.js",
|
|
63
|
+
"sync:ide:cursor": "node .aios-core/infrastructure/scripts/ide-sync/index.js sync --ide cursor",
|
|
63
64
|
"prepublishOnly": "npm run generate:manifest && npm run validate:manifest",
|
|
64
65
|
"prepare": "husky"
|
|
65
66
|
},
|
|
@@ -139,7 +140,8 @@
|
|
|
139
140
|
"prettier --write"
|
|
140
141
|
],
|
|
141
142
|
"*.md": [
|
|
142
|
-
"prettier --write"
|
|
143
|
+
"prettier --write",
|
|
144
|
+
"node scripts/semantic-lint.js --staged"
|
|
143
145
|
],
|
|
144
146
|
".aios-core/development/agents/*.md": [
|
|
145
147
|
"npm run sync:ide"
|