auroq-os 1.7.0 → 1.8.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/.auroq-core/development/scripts/squad/README.md +1 -1
- package/.auroq-core/development/scripts/squad/index.js +3 -3
- package/.auroq-core/development/scripts/squad/squad-analyzer.js +3 -3
- package/.auroq-core/development/scripts/squad/squad-downloader.js +10 -10
- package/.auroq-core/development/scripts/squad/squad-generator.js +12 -12
- package/.auroq-core/development/scripts/squad/squad-migrator.js +10 -10
- package/.auroq-core/development/scripts/squad/squad-publisher.js +10 -10
- package/.auroq-core/development/scripts/squad/squad-validator.js +2 -2
- package/.claude/commands/AuroqOS/agents/ops.md +28 -36
- package/.claude/commands/auroq-consultor.md +7 -0
- package/.claude/commands/auroq-squad-edicao-arcane.md +7 -0
- package/agents/clone-forge/README.md +1 -1
- package/agents/clone-forge/data/source-type-handlers.yaml +4 -4
- package/agents/clone-forge/tasks/collect-and-merge-sources.md +1 -1
- package/agents/clone-forge/tasks/deep-interview.md +1 -1
- package/agents/clone-forge/tasks/generate-agent-from-profile.md +7 -7
- package/agents/clone-forge/tasks/ingest-local-content.md +8 -8
- package/agents/clone-forge/workflows/wf-clone-forge-full.yaml +1 -1
- package/agents/consultor/agents/consultor.md +185 -0
- package/agents/consultor/knowledge/01-arquitetura-e-engenharia.md +157 -0
- package/agents/consultor/knowledge/02-operar-o-negocio.md +136 -0
- package/agents/consultor/knowledge/03-os-8-agentes.md +96 -0
- package/agents/consultor/knowledge/04-filosofia-e-didatica.md +131 -0
- package/agents/consultor/knowledge/05-fazer-no-dia-a-dia.md +99 -0
- package/agents/consultor/knowledge/06-quando-criar-agente-ou-squad.md +109 -0
- package/agents/consultor/knowledge/07-logicas-de-uso-e-higiene.md +87 -0
- package/agents/consultor/tasks/start.md +26 -0
- package/agents/mind-forge/README.md +1 -1
- package/agents/squad-forge/README.md +3 -3
- package/agents/squad-forge/agents/forge-chief.md +4 -4
- package/agents/squad-forge/agents/forge-smith.md +11 -11
- package/agents/squad-forge/checklists/nuclear-structure-validation.md +1 -1
- package/agents/squad-forge/data/executor-mapping-guide.yaml +1 -1
- package/agents/squad-forge/data/forge-kb.md +3 -3
- package/agents/squad-forge/data/quality-thresholds.yaml +2 -2
- package/agents/squad-forge/squad.yaml +3 -3
- package/agents/squad-forge/tasks/architect-squad.md +2 -2
- package/agents/squad-forge/tasks/assemble-squad.md +4 -4
- package/agents/squad-forge/tasks/fix-squad.md +1 -1
- package/agents/squad-forge/tasks/generate-prd.md +1 -1
- package/agents/squad-forge/tasks/playback-validate.md +1 -1
- package/agents/squad-forge/tasks/self-test.md +1 -1
- package/agents/squad-forge/tasks/start.md +1 -1
- package/agents/squad-forge/tasks/validate-squad.md +3 -3
- package/agents/squad-forge/templates/squad-blueprint-tmpl.yaml +2 -2
- package/agents/squad-forge/workflows/wf-squad-forge.yaml +8 -8
- package/agents/worker-forge/agents/knowledge-curator.md +1 -1
- package/agents/worker-forge/agents/role-designer.md +1 -1
- package/agents/worker-forge/agents/worker-chief.md +2 -2
- package/agents/worker-forge/agents/worker-smith.md +3 -3
- package/agents/worker-forge/data/worker-forge-kb.md +4 -4
- package/agents/worker-forge/knowledge/autonomous-agent-architectures.md +1 -1
- package/agents/worker-forge/knowledge/job-design-business-systems.md +2 -2
- package/agents/worker-forge/skill.md +1 -1
- package/agents/worker-forge/squad.yaml +2 -2
- package/agents/worker-forge/tasks/assemble-worker.md +3 -3
- package/agents/worker-forge/tasks/playback-validate.md +1 -1
- package/agents/worker-forge/tasks/research-domain.md +1 -1
- package/agents/worker-forge/tasks/validate-worker.md +1 -1
- package/agents/worker-forge/workflows/wf-worker-forge.yaml +1 -1
- package/bin/auroq-os.js +25 -0
- package/lib/auth.js +77 -0
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @see {@link ./squad-validator.js} - Validate squad structure (SQS-3)
|
|
9
9
|
* @see {@link ./squad-generator.js} - Generate new squads (SQS-4)
|
|
10
10
|
* @see {@link ./squad-designer.js} - Design squads from documentation (SQS-9)
|
|
11
|
-
* @see {@link ./squad-migrator.js} - Migrate legacy squads to
|
|
11
|
+
* @see {@link ./squad-migrator.js} - Migrate legacy squads to Auroq 2.1 (SQS-7)
|
|
12
12
|
* @see {@link ./squad-downloader.js} - Download squads from registry (SQS-6)
|
|
13
13
|
* @see {@link ./squad-publisher.js} - Publish squads to registry (SQS-6)
|
|
14
14
|
*/
|
|
@@ -64,7 +64,7 @@ const {
|
|
|
64
64
|
SquadPublisher,
|
|
65
65
|
SquadPublisherError,
|
|
66
66
|
PublisherErrorCodes,
|
|
67
|
-
|
|
67
|
+
AUROQ_SQUADS_REPO,
|
|
68
68
|
SAFE_NAME_PATTERN,
|
|
69
69
|
sanitizeForShell,
|
|
70
70
|
isValidName,
|
|
@@ -116,7 +116,7 @@ module.exports = {
|
|
|
116
116
|
SquadPublisher,
|
|
117
117
|
SquadPublisherError,
|
|
118
118
|
PublisherErrorCodes,
|
|
119
|
-
|
|
119
|
+
AUROQ_SQUADS_REPO,
|
|
120
120
|
SAFE_NAME_PATTERN,
|
|
121
121
|
sanitizeForShell,
|
|
122
122
|
isValidName,
|
|
@@ -410,7 +410,7 @@ class SquadAnalyzer {
|
|
|
410
410
|
author: manifest.author || 'Unknown',
|
|
411
411
|
license: manifest.license || 'MIT',
|
|
412
412
|
description: manifest.description || '',
|
|
413
|
-
|
|
413
|
+
auroqMinVersion: manifest.auroq?.minVersion || '2.1.0',
|
|
414
414
|
};
|
|
415
415
|
}
|
|
416
416
|
|
|
@@ -482,7 +482,7 @@ class SquadAnalyzer {
|
|
|
482
482
|
lines.push(` Version: ${overview.version}`);
|
|
483
483
|
lines.push(` Author: ${overview.author}`);
|
|
484
484
|
lines.push(` License: ${overview.license}`);
|
|
485
|
-
lines.push(`
|
|
485
|
+
lines.push(` Auroq Min Version: ${overview.auroqMinVersion}`);
|
|
486
486
|
if (overview.description) {
|
|
487
487
|
lines.push(` Description: ${overview.description}`);
|
|
488
488
|
}
|
|
@@ -570,7 +570,7 @@ class SquadAnalyzer {
|
|
|
570
570
|
lines.push(`| Version | ${overview.version} |`);
|
|
571
571
|
lines.push(`| Author | ${overview.author} |`);
|
|
572
572
|
lines.push(`| License | ${overview.license} |`);
|
|
573
|
-
lines.push(`|
|
|
573
|
+
lines.push(`| Auroq Min Version | ${overview.auroqMinVersion} |`);
|
|
574
574
|
lines.push('');
|
|
575
575
|
|
|
576
576
|
lines.push('## Components');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Squad Downloader Utility
|
|
3
3
|
*
|
|
4
|
-
* Downloads squads from the
|
|
4
|
+
* Downloads squads from the auroq-squads GitHub repository.
|
|
5
5
|
* Uses GitHub API for registry.json and raw file downloads.
|
|
6
6
|
*
|
|
7
7
|
* @module squad-downloader
|
|
@@ -14,18 +14,18 @@ const fs = require('fs').promises;
|
|
|
14
14
|
const path = require('path');
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
|
-
* Default registry URL for
|
|
17
|
+
* Default registry URL for auroq-squads
|
|
18
18
|
* @constant {string}
|
|
19
19
|
*/
|
|
20
20
|
const REGISTRY_URL =
|
|
21
|
-
'https://raw.githubusercontent.com/
|
|
21
|
+
'https://raw.githubusercontent.com/arkaeducation/auroq-squads/main/registry.json';
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* GitHub API base URL for
|
|
24
|
+
* GitHub API base URL for auroq-squads contents
|
|
25
25
|
* @constant {string}
|
|
26
26
|
*/
|
|
27
27
|
const GITHUB_API_BASE =
|
|
28
|
-
'https://api.github.com/repos/
|
|
28
|
+
'https://api.github.com/repos/arkaeducation/auroq-squads/contents/packages';
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
31
|
* Default path for downloaded squads
|
|
@@ -84,7 +84,7 @@ class SquadDownloaderError extends Error {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/**
|
|
87
|
-
* Squad Downloader class for downloading squads from
|
|
87
|
+
* Squad Downloader class for downloading squads from auroq-squads repository
|
|
88
88
|
*/
|
|
89
89
|
class SquadDownloader {
|
|
90
90
|
/**
|
|
@@ -145,7 +145,7 @@ class SquadDownloader {
|
|
|
145
145
|
version: squad.version || 'latest',
|
|
146
146
|
description: squad.description || '',
|
|
147
147
|
type: 'official',
|
|
148
|
-
author: squad.author || '
|
|
148
|
+
author: squad.author || 'Auroq',
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
151
|
}
|
|
@@ -259,7 +259,7 @@ class SquadDownloader {
|
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
/**
|
|
262
|
-
* Fetch registry from
|
|
262
|
+
* Fetch registry from auroq-squads repository
|
|
263
263
|
*
|
|
264
264
|
* @returns {Promise<Object>} Registry data
|
|
265
265
|
* @throws {SquadDownloaderError} REGISTRY_FETCH_ERROR if fetch fails
|
|
@@ -360,7 +360,7 @@ class SquadDownloader {
|
|
|
360
360
|
throw new SquadDownloaderError(
|
|
361
361
|
DownloaderErrorCodes.DOWNLOAD_ERROR,
|
|
362
362
|
'Invalid response from GitHub API',
|
|
363
|
-
'Check if squad exists in
|
|
363
|
+
'Check if squad exists in auroq-squads repository',
|
|
364
364
|
);
|
|
365
365
|
}
|
|
366
366
|
|
|
@@ -406,7 +406,7 @@ class SquadDownloader {
|
|
|
406
406
|
return new Promise((resolve, reject) => {
|
|
407
407
|
const options = {
|
|
408
408
|
headers: {
|
|
409
|
-
'User-Agent': '
|
|
409
|
+
'User-Agent': 'Auroq-SquadDownloader/1.0',
|
|
410
410
|
},
|
|
411
411
|
};
|
|
412
412
|
|
|
@@ -33,10 +33,10 @@ const DEFAULT_DESIGNS_PATH = './squads/.designs';
|
|
|
33
33
|
const SQUAD_DESIGN_SCHEMA_PATH = path.join(__dirname, '../../schemas/squad-design-schema.json');
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
|
-
* Default
|
|
36
|
+
* Default Auroq minimum version
|
|
37
37
|
* @constant {string}
|
|
38
38
|
*/
|
|
39
|
-
const
|
|
39
|
+
const DEFAULT_AUROQ_MIN_VERSION = '2.1.0';
|
|
40
40
|
|
|
41
41
|
/**
|
|
42
42
|
* Available templates
|
|
@@ -213,7 +213,7 @@ class SquadGeneratorError extends Error {
|
|
|
213
213
|
return new SquadGeneratorError(
|
|
214
214
|
GeneratorErrorCodes.SCHEMA_NOT_FOUND,
|
|
215
215
|
`Schema not found at "${schemaPath}"`,
|
|
216
|
-
'Ensure
|
|
216
|
+
'Ensure Auroq is properly installed',
|
|
217
217
|
);
|
|
218
218
|
}
|
|
219
219
|
}
|
|
@@ -333,8 +333,8 @@ author: ${safeYamlValue(config.author || 'Unknown')}
|
|
|
333
333
|
license: ${config.license || 'MIT'}
|
|
334
334
|
slashPrefix: ${extractSlashPrefix(config.name)}
|
|
335
335
|
|
|
336
|
-
|
|
337
|
-
minVersion: "${config.
|
|
336
|
+
auroq:
|
|
337
|
+
minVersion: "${config.auroqMinVersion || DEFAULT_AUROQ_MIN_VERSION}"
|
|
338
338
|
type: squad
|
|
339
339
|
|
|
340
340
|
components:
|
|
@@ -376,7 +376,7 @@ tags:
|
|
|
376
376
|
function generateReadme(config) {
|
|
377
377
|
return `# ${config.name}
|
|
378
378
|
|
|
379
|
-
${config.description || 'Custom
|
|
379
|
+
${config.description || 'Custom Auroq squad.'}
|
|
380
380
|
|
|
381
381
|
## Installation
|
|
382
382
|
|
|
@@ -400,7 +400,7 @@ ${config.includeTask || config.template === 'etl' ? '- **example-agent-task** -
|
|
|
400
400
|
|
|
401
401
|
## Configuration
|
|
402
402
|
|
|
403
|
-
This squad ${config.configMode === 'extend' ? 'extends' : config.configMode === 'override' ? 'overrides' : 'does not inherit'} the core
|
|
403
|
+
This squad ${config.configMode === 'extend' ? 'extends' : config.configMode === 'override' ? 'overrides' : 'does not inherit'} the core Auroq configuration.
|
|
404
404
|
|
|
405
405
|
## Development
|
|
406
406
|
|
|
@@ -423,7 +423,7 @@ ${config.license || 'MIT'}
|
|
|
423
423
|
function generateCodingStandards(config) {
|
|
424
424
|
return `# Coding Standards - ${config.name}
|
|
425
425
|
|
|
426
|
-
> This file ${config.configMode === 'extend' ? 'extends' : config.configMode === 'override' ? 'overrides' : 'is independent of'} the core
|
|
426
|
+
> This file ${config.configMode === 'extend' ? 'extends' : config.configMode === 'override' ? 'overrides' : 'is independent of'} the core Auroq coding standards.
|
|
427
427
|
|
|
428
428
|
## Code Style
|
|
429
429
|
|
|
@@ -463,7 +463,7 @@ function generateTechStack(config) {
|
|
|
463
463
|
## Runtime
|
|
464
464
|
|
|
465
465
|
- Node.js >= 18.x
|
|
466
|
-
-
|
|
466
|
+
- Auroq >= ${config.auroqMinVersion || DEFAULT_AUROQ_MIN_VERSION}
|
|
467
467
|
|
|
468
468
|
## Dependencies
|
|
469
469
|
|
|
@@ -744,7 +744,7 @@ class SquadGenerator {
|
|
|
744
744
|
* @param {string} [config.configMode='extend'] - Config inheritance mode
|
|
745
745
|
* @param {boolean} [config.includeAgent=true] - Include example agent
|
|
746
746
|
* @param {boolean} [config.includeTask=true] - Include example task
|
|
747
|
-
* @param {string} [config.
|
|
747
|
+
* @param {string} [config.auroqMinVersion] - Minimum Auroq version
|
|
748
748
|
* @param {string} [config.projectRoot] - Project root directory (for detecting project configs)
|
|
749
749
|
* @returns {Promise<Object>} Generation result with path and files
|
|
750
750
|
* @throws {SquadGeneratorError} If generation fails
|
|
@@ -760,7 +760,7 @@ class SquadGenerator {
|
|
|
760
760
|
configMode: config.configMode || 'extend',
|
|
761
761
|
includeAgent: config.includeAgent !== false,
|
|
762
762
|
includeTask: config.includeTask !== false,
|
|
763
|
-
|
|
763
|
+
auroqMinVersion: config.auroqMinVersion || DEFAULT_AUROQ_MIN_VERSION,
|
|
764
764
|
projectRoot: config.projectRoot || process.cwd(),
|
|
765
765
|
};
|
|
766
766
|
|
|
@@ -1398,7 +1398,7 @@ module.exports = {
|
|
|
1398
1398
|
CONFIG_MODES,
|
|
1399
1399
|
DEFAULT_SQUADS_PATH,
|
|
1400
1400
|
DEFAULT_DESIGNS_PATH,
|
|
1401
|
-
|
|
1401
|
+
DEFAULT_AUROQ_MIN_VERSION,
|
|
1402
1402
|
SQUAD_DESIGN_SCHEMA_PATH,
|
|
1403
1403
|
isValidSquadName,
|
|
1404
1404
|
getGitUserName,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Squad Migrator Utility
|
|
3
3
|
*
|
|
4
|
-
* Migrates legacy squad formats to
|
|
4
|
+
* Migrates legacy squad formats to Auroq 2.1 standard.
|
|
5
5
|
* Handles manifest, structure, and task format migrations.
|
|
6
6
|
*
|
|
7
7
|
* Used by: squad-creator agent (*migrate-squad task)
|
|
@@ -228,32 +228,32 @@ class SquadMigrator {
|
|
|
228
228
|
const content = await fs.readFile(manifestPath, 'utf-8');
|
|
229
229
|
const manifest = yaml.load(content);
|
|
230
230
|
|
|
231
|
-
// Check for missing
|
|
232
|
-
if (!manifest.
|
|
231
|
+
// Check for missing auroq.type
|
|
232
|
+
if (!manifest.auroq?.type) {
|
|
233
233
|
analysis.needsMigration = true;
|
|
234
234
|
analysis.issues.push({
|
|
235
|
-
type: '
|
|
236
|
-
message: 'Missing required field:
|
|
235
|
+
type: 'MISSING_AUROQ_TYPE',
|
|
236
|
+
message: 'Missing required field: auroq.type',
|
|
237
237
|
severity: 'error',
|
|
238
238
|
});
|
|
239
239
|
analysis.actions.push({
|
|
240
240
|
type: 'ADD_FIELD',
|
|
241
|
-
path: '
|
|
241
|
+
path: 'auroq.type',
|
|
242
242
|
value: 'squad',
|
|
243
243
|
});
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
-
// Check for missing
|
|
247
|
-
if (!manifest.
|
|
246
|
+
// Check for missing auroq.minVersion
|
|
247
|
+
if (!manifest.auroq?.minVersion) {
|
|
248
248
|
analysis.needsMigration = true;
|
|
249
249
|
analysis.issues.push({
|
|
250
250
|
type: 'MISSING_MIN_VERSION',
|
|
251
|
-
message: 'Missing required field:
|
|
251
|
+
message: 'Missing required field: auroq.minVersion',
|
|
252
252
|
severity: 'error',
|
|
253
253
|
});
|
|
254
254
|
analysis.actions.push({
|
|
255
255
|
type: 'ADD_FIELD',
|
|
256
|
-
path: '
|
|
256
|
+
path: 'auroq.minVersion',
|
|
257
257
|
value: '2.1.0',
|
|
258
258
|
});
|
|
259
259
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Squad Publisher Utility
|
|
3
3
|
*
|
|
4
|
-
* Publishes squads to the
|
|
4
|
+
* Publishes squads to the auroq-squads GitHub repository via Pull Request.
|
|
5
5
|
* Requires GitHub CLI (gh) authentication.
|
|
6
6
|
*
|
|
7
7
|
* @module squad-publisher
|
|
@@ -21,10 +21,10 @@ const path = require('path');
|
|
|
21
21
|
const SAFE_NAME_PATTERN = /^[a-zA-Z0-9._-]+$/;
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* Repository for
|
|
24
|
+
* Repository for auroq-squads
|
|
25
25
|
* @constant {string}
|
|
26
26
|
*/
|
|
27
|
-
const
|
|
27
|
+
const AUROQ_SQUADS_REPO = 'arkaeducation/auroq-squads';
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* Error codes for SquadPublisherError
|
|
@@ -106,7 +106,7 @@ class SquadPublisherError extends Error {
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
/**
|
|
109
|
-
* Squad Publisher class for publishing squads to
|
|
109
|
+
* Squad Publisher class for publishing squads to auroq-squads repository
|
|
110
110
|
*/
|
|
111
111
|
class SquadPublisher {
|
|
112
112
|
/**
|
|
@@ -114,12 +114,12 @@ class SquadPublisher {
|
|
|
114
114
|
* @param {Object} [options={}] - Configuration options
|
|
115
115
|
* @param {boolean} [options.verbose=false] - Enable verbose logging
|
|
116
116
|
* @param {boolean} [options.dryRun=false] - Simulate without creating PR
|
|
117
|
-
* @param {string} [options.repo] - Target repository (default:
|
|
117
|
+
* @param {string} [options.repo] - Target repository (default: arkaeducation/auroq-squads)
|
|
118
118
|
*/
|
|
119
119
|
constructor(options = {}) {
|
|
120
120
|
this.verbose = options.verbose || false;
|
|
121
121
|
this.dryRun = options.dryRun || false;
|
|
122
|
-
this.repo = options.repo ||
|
|
122
|
+
this.repo = options.repo || AUROQ_SQUADS_REPO;
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
/**
|
|
@@ -167,7 +167,7 @@ class SquadPublisher {
|
|
|
167
167
|
}
|
|
168
168
|
|
|
169
169
|
/**
|
|
170
|
-
* Publish squad to
|
|
170
|
+
* Publish squad to auroq-squads repository
|
|
171
171
|
*
|
|
172
172
|
* @param {string} squadPath - Path to squad directory
|
|
173
173
|
* @param {Object} [options={}] - Publish options
|
|
@@ -313,7 +313,7 @@ ${manifest.dependencies?.length > 0 ? manifest.dependencies.map((d) => `- ${d}`)
|
|
|
313
313
|
|
|
314
314
|
### Pre-submission Checklist
|
|
315
315
|
|
|
316
|
-
- [x] Squad follows
|
|
316
|
+
- [x] Squad follows Auroq task-first architecture
|
|
317
317
|
- [x] Documentation is complete (squad.yaml has all required fields)
|
|
318
318
|
- [x] Squad validated locally with \`*validate-squad\`
|
|
319
319
|
- [ ] No sensitive data included (API keys, credentials, etc.)
|
|
@@ -328,7 +328,7 @@ Tested locally with:
|
|
|
328
328
|
\`\`\`
|
|
329
329
|
|
|
330
330
|
---
|
|
331
|
-
*Submitted via \`*publish-squad\` from
|
|
331
|
+
*Submitted via \`*publish-squad\` from Auroq-FullStack*`;
|
|
332
332
|
}
|
|
333
333
|
|
|
334
334
|
/**
|
|
@@ -622,7 +622,7 @@ module.exports = {
|
|
|
622
622
|
SquadPublisher,
|
|
623
623
|
SquadPublisherError,
|
|
624
624
|
PublisherErrorCodes,
|
|
625
|
-
|
|
625
|
+
AUROQ_SQUADS_REPO,
|
|
626
626
|
SAFE_NAME_PATTERN,
|
|
627
627
|
sanitizeForShell,
|
|
628
628
|
isValidName,
|
|
@@ -504,7 +504,7 @@ class SquadValidator {
|
|
|
504
504
|
result.warnings.push({
|
|
505
505
|
code: ValidationErrorCodes.AGENT_INVALID_FORMAT,
|
|
506
506
|
file: agentFile,
|
|
507
|
-
message: 'Agent file may not follow
|
|
507
|
+
message: 'Agent file may not follow Auroq agent definition format',
|
|
508
508
|
suggestion:
|
|
509
509
|
'Use agent: YAML frontmatter or markdown heading structure',
|
|
510
510
|
});
|
|
@@ -637,7 +637,7 @@ class SquadValidator {
|
|
|
637
637
|
return result;
|
|
638
638
|
}
|
|
639
639
|
|
|
640
|
-
const coreAgentsPath = path.join(process.cwd(), '.
|
|
640
|
+
const coreAgentsPath = path.join(process.cwd(), '.auroq-core', 'development', 'agents');
|
|
641
641
|
const validator = new WorkflowValidator({
|
|
642
642
|
verbose: this.verbose,
|
|
643
643
|
strict: this.strict,
|
|
@@ -162,6 +162,17 @@ Se expert pedir `*push` junto ou se faz sentido:
|
|
|
162
162
|
Atualizar o Auroq OS com a versao mais recente do framework via npm.
|
|
163
163
|
O expert so precisa pedir "atualiza o sistema" — Ops faz o resto.
|
|
164
164
|
|
|
165
|
+
**Passo 0 — Verificar acesso (OBRIGATORIO — gate de aluno ativo)**
|
|
166
|
+
Antes de QUALQUER coisa, validar que o expert tem acesso ativo a Mentoria Arcane:
|
|
167
|
+
```bash
|
|
168
|
+
npx auroq-os check-access # no projeto do aluno (baixa o pacote com as deps)
|
|
169
|
+
```
|
|
170
|
+
(No repo de desenvolvimento do Auroq OS, onde existe `bin/`, pode usar `node bin/auroq-os.js check-access`.)
|
|
171
|
+
- **Exit 0** (contrato ativo, validado online) → continuar pro Passo 1.
|
|
172
|
+
- **Exit != 0** (bloqueado, sem internet ou ex-aluno) → **ABORTAR o update**. Mostrar a mensagem que o comando retornou e NAO baixar nem aplicar nada.
|
|
173
|
+
|
|
174
|
+
A validacao e ONLINE e obrigatoria, sem fallback offline — e a mesma trava do Pack Arcane: quem saiu da mentoria nao atualiza. **Nunca pular este passo.**
|
|
175
|
+
|
|
165
176
|
**Passo 1 — Verificar versao atual vs disponivel**
|
|
166
177
|
1. Ler versao local: `cat package.json | grep version`
|
|
167
178
|
2. Verificar versao mais recente no npm: `npm view auroq-os version`
|
|
@@ -1194,44 +1205,24 @@ echo "Backup do squad antigo em: agents/_archive/{slug}-v{old_version}-$TIMESTAM
|
|
|
1194
1205
|
|
|
1195
1206
|
**Retencao:** 30 dias. Apos isso, expert pode deletar manualmente.
|
|
1196
1207
|
|
|
1197
|
-
**Passo 5 —
|
|
1208
|
+
**Passo 5 — Preservacao e AUTOMATICA (merge aditivo — sem whitelist)**
|
|
1198
1209
|
|
|
1199
|
-
|
|
1210
|
+
Nao ha mais whitelist nem staging. O update e ADITIVO: so sobrescreve os arquivos que vem no zip e NUNCA apaga o que nao vem. Logo, TUDO que o expert gerou dentro do squad e preservado automaticamente, sem precisar listar:
|
|
1211
|
+
- `minds/`, `.state.json`, `*-state.json`, `.local/` (runtime)
|
|
1212
|
+
- dados preenchidos a partir de templates (ex: `accounts.yaml` gerado de `accounts.example.yaml`)
|
|
1213
|
+
- `output/`, `historico-acoes.md` e qualquer arquivo que o expert criou
|
|
1200
1214
|
|
|
1201
|
-
|
|
1202
|
-
PRESERVE=(
|
|
1203
|
-
"agents/{slug}/minds/" # outputs do expert (clones, mind-forge runs, etc)
|
|
1204
|
-
"agents/{slug}/.state.json" # estado de pipeline em andamento
|
|
1205
|
-
"agents/{slug}/*-state.json" # outros state files
|
|
1206
|
-
"agents/{slug}/.local/" # configs locais (se padrao se estabelecer)
|
|
1207
|
-
)
|
|
1208
|
-
|
|
1209
|
-
# Criar staging area pro runtime
|
|
1210
|
-
mkdir -p /tmp/squad-update-staging-{slug}/
|
|
1211
|
-
for path in "${PRESERVE[@]}"; do
|
|
1212
|
-
if [ -e "$path" ]; then
|
|
1213
|
-
cp -r "$path" /tmp/squad-update-staging-{slug}/
|
|
1214
|
-
fi
|
|
1215
|
-
done
|
|
1216
|
-
```
|
|
1215
|
+
> **Por que mudou:** a versao anterior fazia `rm -rf agents/{slug}/*` e restaurava so uma whitelist (`minds/`, `.state.json`) — isso APAGAVA dados do aluno fora da lista (`accounts.yaml`, `output/`, `historico-acoes.md`). O merge aditivo elimina o `rm -rf` e nunca toca no que o expert criou.
|
|
1217
1216
|
|
|
1218
|
-
**Passo 6 — Aplicar update**
|
|
1217
|
+
**Passo 6 — Aplicar update (MERGE ADITIVO)**
|
|
1219
1218
|
|
|
1220
|
-
1.
|
|
1221
|
-
```bash
|
|
1222
|
-
rm -rf agents/{slug}/*
|
|
1223
|
-
rm -rf agents/{slug}/.[!.]* # arquivos hidden tambem
|
|
1224
|
-
```
|
|
1225
|
-
2. Copiar conteudo do zip pra `agents/{slug}/`:
|
|
1226
|
-
```bash
|
|
1227
|
-
cp -r /tmp/squad-update-{slug}-{timestamp}/* agents/{slug}/
|
|
1228
|
-
```
|
|
1229
|
-
3. Restaurar runtime preservado:
|
|
1219
|
+
1. Copiar o conteudo do zip POR CIMA do squad atual, sobrescrevendo apenas o que vem no zip:
|
|
1230
1220
|
```bash
|
|
1231
|
-
|
|
1232
|
-
cp -r "$item" agents/{slug}/
|
|
1233
|
-
done
|
|
1221
|
+
cp -R /tmp/squad-update-{slug}-{timestamp}/{slug}/. agents/{slug}/
|
|
1234
1222
|
```
|
|
1223
|
+
(`cp -R origem/.` copia o conteudo sobrescrevendo arquivos iguais e **sem apagar** os que ja existem e nao vem no zip.)
|
|
1224
|
+
2. **NAO rodar `rm -rf`.** O que o expert criou e que nao vem no zip permanece intacto (ver Passo 5).
|
|
1225
|
+
3. **Orfaos de framework (raro):** se a versao nova REMOVEU um arquivo de framework que existia na antiga, ele continua na pasta (o merge nunca apaga). Nao quebra nada. Comparar com o backup do Passo 4 e, havendo orfaos obvios, AVISAR o expert no relatorio (Passo 9) — sem apagar automaticamente.
|
|
1235
1226
|
|
|
1236
1227
|
**Passo 7 — Atualizar slash command(s)**
|
|
1237
1228
|
|
|
@@ -1291,8 +1282,10 @@ Ativacao:
|
|
|
1291
1282
|
{SE houver slash_prefix_legacy:} - /{slash_prefix_legacy} (alias backward-compat)
|
|
1292
1283
|
|
|
1293
1284
|
Arquivos:
|
|
1294
|
-
- {N} arquivos framework
|
|
1295
|
-
-
|
|
1285
|
+
- {N} arquivos framework atualizados (sobrescritos pelo zip)
|
|
1286
|
+
- Teus dados foram preservados (merge aditivo nao apaga nada fora do zip): minds/, .state.json, accounts.yaml, output/ e tudo que voce criou
|
|
1287
|
+
{SE houver orfaos de framework (arquivos que sumiram na versao nova):}
|
|
1288
|
+
- {K} arquivo(s) que nao fazem mais parte do squad ficaram na pasta — pode apagar se quiser: {lista}
|
|
1296
1289
|
|
|
1297
1290
|
Backups criados:
|
|
1298
1291
|
- agents/_archive/{slug}-v{old}-{timestamp}/ (squad antigo completo, 30 dias retencao)
|
|
@@ -1306,8 +1299,7 @@ Tudo certo. Pode usar normalmente.
|
|
|
1306
1299
|
|
|
1307
1300
|
**Passo 10 — Limpar**
|
|
1308
1301
|
1. Remover `/tmp/squad-update-{slug}-{timestamp}/`
|
|
1309
|
-
2.
|
|
1310
|
-
3. SE expert quer: commitar update
|
|
1302
|
+
2. SE expert quer: commitar update
|
|
1311
1303
|
→ `setup: atualizou {slug} v{old} -> v{new}`
|
|
1312
1304
|
|
|
1313
1305
|
**Protecoes:**
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# auroq-consultor
|
|
2
|
+
|
|
3
|
+
Guia vivo do Auroq OS. Conhece todo o sistema — pastas, agentes, engenharia e como operar o negócio. Tira dúvidas, ensina e destrava o aluno.
|
|
4
|
+
|
|
5
|
+
CRITICAL: First, read and adopt the persona defined in `agents/consultor/agents/consultor.md`.
|
|
6
|
+
Then, read and execute the task defined in `agents/consultor/tasks/start.md`.
|
|
7
|
+
Follow ALL instructions exactly as written. Those files are your single source of truth.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# squad-edicao-arcane
|
|
2
|
+
|
|
3
|
+
Edita video bruto talking-head pra Reels/Shorts: corte por fala (Silero VAD agressivo), aceleracao 1.25x mantendo pitch, legenda estilo viral (Bebas Neue, 2 linhas branco+amarelo). 5 agents com quality gates entre handoffs.
|
|
4
|
+
|
|
5
|
+
CRITICAL: First, read and adopt the persona defined in `agents/squad-edicao-arcane/agents/chief.md`.
|
|
6
|
+
Then, read and execute the task defined in `agents/squad-edicao-arcane/tasks/start.md`.
|
|
7
|
+
Follow ALL instructions exactly as written. Those files are your single source of truth.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Clone Forge
|
|
2
2
|
|
|
3
|
-
Pipeline de clonagem cognitiva que transforma qualquer expert em um agente
|
|
3
|
+
Pipeline de clonagem cognitiva que transforma qualquer expert em um agente Auroq de alta fidelidade — voz, heuristicas, estilo de decisao preservados.
|
|
4
4
|
|
|
5
5
|
## Ativacao
|
|
6
6
|
|
|
@@ -188,17 +188,17 @@ handlers:
|
|
|
188
188
|
notes: "Pedir contexto: de onde veio, quando, por que"
|
|
189
189
|
|
|
190
190
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
191
|
-
# SKILL
|
|
191
|
+
# SKILL Auroq (formato especifico)
|
|
192
192
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
193
|
-
|
|
194
|
-
input_format: "Diretorio de skill
|
|
193
|
+
auroq_skill:
|
|
194
|
+
input_format: "Diretorio de skill Auroq (~/Downloads/minhas-skills/{skill}/)"
|
|
195
195
|
processing:
|
|
196
196
|
step_1: "Ler todos os arquivos da skill"
|
|
197
197
|
step_2: "Extrair persona, voice_dna, thinking_dna, commands"
|
|
198
198
|
step_3: "Classificar como Tier 1 (curado por humano)"
|
|
199
199
|
step_4: "Salvar em 01-sources/raw/{source_id}.md"
|
|
200
200
|
tier_default: 1
|
|
201
|
-
notes: "Skills
|
|
201
|
+
notes: "Skills Auroq ja sao pre-processadas — alta qualidade"
|
|
202
202
|
|
|
203
203
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
204
204
|
# ASSESSMENT RESULTS
|
|
@@ -319,7 +319,7 @@ tier_classification:
|
|
|
319
319
|
3. Excepcoes automaticas de tier:
|
|
320
320
|
- Assessment formal → sempre Tier 0
|
|
321
321
|
- Entrevista profunda (Fase 1.5) → sempre Tier 0
|
|
322
|
-
- Skill
|
|
322
|
+
- Skill Auroq → sempre Tier 1
|
|
323
323
|
- Texto de terceiros sobre a pessoa → maximo Tier 3
|
|
324
324
|
|
|
325
325
|
**Checkpoint:** Todos os fontes classificados por tier com score de curadoria.
|
|
@@ -714,7 +714,7 @@ Isto NAO e um formulario. E uma CONVERSA. A diferenca:
|
|
|
714
714
|
|
|
715
715
|
### Quando o Sujeito e o Proprio Operador
|
|
716
716
|
|
|
717
|
-
Na maioria dos casos no Clone Forge, a pessoa sendo clonada e a mesma pessoa operando o
|
|
717
|
+
Na maioria dos casos no Clone Forge, a pessoa sendo clonada e a mesma pessoa operando o Auroq. Isso muda a dinamica:
|
|
718
718
|
- Nao precisa explicar conceitos tecnicos
|
|
719
719
|
- Pode ser mais direto nas perguntas
|
|
720
720
|
- As respostas tendem a ser mais reflexivas
|
|
@@ -499,15 +499,15 @@ structure:
|
|
|
499
499
|
|
|
500
500
|
- name: "Instrucoes de Uso"
|
|
501
501
|
content: |
|
|
502
|
-
Como ativar o agente (integracao com
|
|
502
|
+
Como ativar o agente (integracao com Auroq ou standalone).
|
|
503
503
|
Como configurar como system prompt em outro LLM.
|
|
504
504
|
Parametros recomendados (temperature, top_p, max_tokens).
|
|
505
505
|
Recomendacao de modelo: qual LLM performa melhor com este prompt.
|
|
506
506
|
details:
|
|
507
|
-
|
|
507
|
+
auroq_integration: |
|
|
508
508
|
1. Copiar agent-config.yaml para agents/{slug}.yaml
|
|
509
509
|
2. Registrar no config.yaml do squad
|
|
510
|
-
3. Ativar via @{slug} ou /
|
|
510
|
+
3. Ativar via @{slug} ou /Auroq:agents:{slug}
|
|
511
511
|
standalone: |
|
|
512
512
|
1. Copiar conteudo de system-prompt.md
|
|
513
513
|
2. Colar como system message no LLM de escolha
|
|
@@ -665,7 +665,7 @@ AVISOS:
|
|
|
665
665
|
{/se}
|
|
666
666
|
|
|
667
667
|
O agente esta pronto. Use o system-prompt.md como prompt de sistema
|
|
668
|
-
em qualquer LLM compativel, ou integre o agent-config.yaml no
|
|
668
|
+
em qualquer LLM compativel, ou integre o agent-config.yaml no Auroq.
|
|
669
669
|
```
|
|
670
670
|
|
|
671
671
|
---
|
|
@@ -699,7 +699,7 @@ em qualquer LLM compativel, ou integre o agent-config.yaml no AIOS.
|
|
|
699
699
|
- [ ] system-prompt.md inclui contradicoes como features (nao tenta resolver)
|
|
700
700
|
- [ ] deployment-notes.md gerado com todas as 7 secoes
|
|
701
701
|
- [ ] deployment-notes.md documenta limitacoes reais (nao boilerplate)
|
|
702
|
-
- [ ] deployment-notes.md inclui instrucoes de uso (
|
|
702
|
+
- [ ] deployment-notes.md inclui instrucoes de uso (Auroq + standalone + API)
|
|
703
703
|
- [ ] deployment-notes.md inclui recomendacoes de melhoria priorizadas
|
|
704
704
|
- [ ] NEVER rules derivadas de voice-dna.never_use + contradictions + obsessions
|
|
705
705
|
- [ ] ALWAYS rules derivadas de non_negotiables + obsessions + valores_core
|
|
@@ -824,7 +824,7 @@ em qualquer LLM compativel, ou integre o agent-config.yaml no AIOS.
|
|
|
824
824
|
| Destino | Dados | Formato |
|
|
825
825
|
|---------|-------|---------|
|
|
826
826
|
| Usuario final | Agente pronto para uso | 3 artefatos em `08-agent/` |
|
|
827
|
-
|
|
|
827
|
+
| Auroq integration (futuro) | agent-config.yaml | Compativel com formato de agents Auroq |
|
|
828
828
|
| LLM externo (standalone) | system-prompt.md | System message texto puro |
|
|
829
829
|
| Integracao via API | agent-config.yaml | YAML parseavel programaticamente |
|
|
830
830
|
|
|
@@ -843,7 +843,7 @@ delivery_package:
|
|
|
843
843
|
- minds/{slug}/08-agent/system-prompt.md
|
|
844
844
|
- minds/{slug}/08-agent/deployment-notes.md
|
|
845
845
|
instrucoes: |
|
|
846
|
-
1. Para usar no
|
|
846
|
+
1. Para usar no Auroq: copiar agent-config.yaml para agents/{slug}.yaml
|
|
847
847
|
2. Para usar standalone: copiar conteudo de system-prompt.md como system message
|
|
848
848
|
3. Parametros recomendados: temperature 0.7, top_p 0.9
|
|
849
849
|
4. Modelo recomendado: Claude Sonnet 3.5+ ou GPT-4o+ (modelos com bom instruction following)
|