@jaimevalasek/aioson 1.3.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/CHANGELOG.md +456 -0
- package/CODE_OF_CONDUCT.md +12 -0
- package/CONTRIBUTING.md +13 -0
- package/LICENSE +21 -0
- package/README.md +254 -0
- package/bin/aioson.js +4 -0
- package/docs/en/cli-reference.md +398 -0
- package/docs/en/i18n.md +52 -0
- package/docs/en/json-schemas.md +41 -0
- package/docs/en/mcp.md +56 -0
- package/docs/en/parallel.md +82 -0
- package/docs/en/qa-browser.md +339 -0
- package/docs/en/release-flow.md +22 -0
- package/docs/en/release-notes-template.md +41 -0
- package/docs/en/release.md +28 -0
- package/docs/en/schemas/agent-prompt.schema.json +17 -0
- package/docs/en/schemas/agents.schema.json +32 -0
- package/docs/en/schemas/context-validate.schema.json +36 -0
- package/docs/en/schemas/doctor.schema.json +89 -0
- package/docs/en/schemas/error.schema.json +24 -0
- package/docs/en/schemas/i18n-add.schema.json +15 -0
- package/docs/en/schemas/index.json +116 -0
- package/docs/en/schemas/info.schema.json +39 -0
- package/docs/en/schemas/init.schema.json +48 -0
- package/docs/en/schemas/install.schema.json +60 -0
- package/docs/en/schemas/locale-apply.schema.json +30 -0
- package/docs/en/schemas/mcp-doctor.schema.json +95 -0
- package/docs/en/schemas/mcp-init.schema.json +122 -0
- package/docs/en/schemas/package-test.schema.json +24 -0
- package/docs/en/schemas/parallel-assign.schema.json +57 -0
- package/docs/en/schemas/parallel-doctor.schema.json +86 -0
- package/docs/en/schemas/parallel-init.schema.json +53 -0
- package/docs/en/schemas/parallel-status.schema.json +94 -0
- package/docs/en/schemas/setup-context.schema.json +39 -0
- package/docs/en/schemas/smoke.schema.json +23 -0
- package/docs/en/schemas/update.schema.json +48 -0
- package/docs/en/schemas/workflow-plan.schema.json +30 -0
- package/docs/en/web3.md +54 -0
- package/docs/pt/README.md +46 -0
- package/docs/pt/advisor-spec.md +335 -0
- package/docs/pt/agentes.md +453 -0
- package/docs/pt/cenarios.md +1230 -0
- package/docs/pt/clientes-ai.md +224 -0
- package/docs/pt/comandos-cli.md +511 -0
- package/docs/pt/genome-3.0-spec.md +296 -0
- package/docs/pt/guia-engineer.md +226 -0
- package/docs/pt/inicio-rapido.md +138 -0
- package/docs/pt/profiler-system.md +214 -0
- package/docs/pt/runtime-observability.md +72 -0
- package/docs/pt/squad-genoma.md +777 -0
- package/docs/pt/web3.md +797 -0
- package/docs/testing/genome-2.0-manual-regression.md +23 -0
- package/docs/testing/genome-2.0-matrix.md +36 -0
- package/docs/testing/genome-2.0-rollout.md +184 -0
- package/package.json +50 -0
- package/src/agents.js +56 -0
- package/src/cli.js +497 -0
- package/src/commands/agents.js +142 -0
- package/src/commands/cloud.js +1767 -0
- package/src/commands/config.js +90 -0
- package/src/commands/context-validate.js +91 -0
- package/src/commands/doctor.js +123 -0
- package/src/commands/genome-doctor.js +41 -0
- package/src/commands/genome-migrate.js +49 -0
- package/src/commands/i18n-add.js +56 -0
- package/src/commands/info.js +41 -0
- package/src/commands/init.js +75 -0
- package/src/commands/install.js +68 -0
- package/src/commands/locale-apply.js +51 -0
- package/src/commands/locale-diff.js +126 -0
- package/src/commands/mcp-doctor.js +406 -0
- package/src/commands/mcp-init.js +379 -0
- package/src/commands/package-e2e.js +273 -0
- package/src/commands/parallel-assign.js +403 -0
- package/src/commands/parallel-doctor.js +437 -0
- package/src/commands/parallel-init.js +249 -0
- package/src/commands/parallel-status.js +290 -0
- package/src/commands/qa-doctor.js +185 -0
- package/src/commands/qa-init.js +161 -0
- package/src/commands/qa-report.js +58 -0
- package/src/commands/qa-run.js +873 -0
- package/src/commands/qa-scan.js +337 -0
- package/src/commands/runtime.js +948 -0
- package/src/commands/scan-project.js +1107 -0
- package/src/commands/setup-context.js +650 -0
- package/src/commands/smoke.js +426 -0
- package/src/commands/squad-doctor.js +358 -0
- package/src/commands/squad-export.js +46 -0
- package/src/commands/squad-pipeline.js +97 -0
- package/src/commands/squad-repair-genomes.js +39 -0
- package/src/commands/squad-status.js +424 -0
- package/src/commands/squad-validate.js +230 -0
- package/src/commands/test-agents.js +194 -0
- package/src/commands/update.js +55 -0
- package/src/commands/workflow-next.js +594 -0
- package/src/commands/workflow-plan.js +108 -0
- package/src/constants.js +314 -0
- package/src/context-parse-reason.js +22 -0
- package/src/context-writer.js +150 -0
- package/src/context.js +217 -0
- package/src/detector.js +261 -0
- package/src/doctor.js +289 -0
- package/src/execution-gateway.js +461 -0
- package/src/genome-files.js +198 -0
- package/src/genome-format.js +442 -0
- package/src/genome-schema.js +215 -0
- package/src/genomes/bindings.js +281 -0
- package/src/genomes.js +467 -0
- package/src/i18n/index.js +103 -0
- package/src/i18n/messages/en.js +784 -0
- package/src/i18n/messages/es.js +718 -0
- package/src/i18n/messages/fr.js +725 -0
- package/src/i18n/messages/pt-BR.js +818 -0
- package/src/i18n/scaffold.js +64 -0
- package/src/installer.js +232 -0
- package/src/lib/genomes/compat.js +206 -0
- package/src/lib/genomes/migrate.js +90 -0
- package/src/lib/squads/genome-repair.js +49 -0
- package/src/locales.js +84 -0
- package/src/onboarding.js +305 -0
- package/src/parser.js +53 -0
- package/src/prompt-tool.js +20 -0
- package/src/qa-html-report.js +472 -0
- package/src/runtime-store.js +1527 -0
- package/src/squads/apply-genome.js +21 -0
- package/src/squads/genome-binding-service.js +154 -0
- package/src/updater.js +32 -0
- package/src/utils.js +46 -0
- package/src/version.js +50 -0
- package/template/.aioson/advisors/.gitkeep +1 -0
- package/template/.aioson/agents/analyst.md +225 -0
- package/template/.aioson/agents/architect.md +221 -0
- package/template/.aioson/agents/dev.md +201 -0
- package/template/.aioson/agents/discovery-design-doc.md +196 -0
- package/template/.aioson/agents/genoma.md +300 -0
- package/template/.aioson/agents/orchestrator.md +107 -0
- package/template/.aioson/agents/pm.md +89 -0
- package/template/.aioson/agents/product.md +361 -0
- package/template/.aioson/agents/profiler-enricher.md +266 -0
- package/template/.aioson/agents/profiler-forge.md +188 -0
- package/template/.aioson/agents/profiler-researcher.md +245 -0
- package/template/.aioson/agents/qa.md +344 -0
- package/template/.aioson/agents/setup.md +381 -0
- package/template/.aioson/agents/squad.md +837 -0
- package/template/.aioson/agents/ux-ui.md +416 -0
- package/template/.aioson/config.md +56 -0
- package/template/.aioson/context/.gitkeep +0 -0
- package/template/.aioson/context/parallel/.gitkeep +0 -0
- package/template/.aioson/context/spec.md.template +37 -0
- package/template/.aioson/genomas/.gitkeep +0 -0
- package/template/.aioson/locales/en/agents/analyst.md +214 -0
- package/template/.aioson/locales/en/agents/architect.md +210 -0
- package/template/.aioson/locales/en/agents/dev.md +187 -0
- package/template/.aioson/locales/en/agents/discovery-design-doc.md +27 -0
- package/template/.aioson/locales/en/agents/genoma.md +212 -0
- package/template/.aioson/locales/en/agents/orchestrator.md +105 -0
- package/template/.aioson/locales/en/agents/pm.md +77 -0
- package/template/.aioson/locales/en/agents/product.md +310 -0
- package/template/.aioson/locales/en/agents/profiler-enricher.md +5 -0
- package/template/.aioson/locales/en/agents/profiler-forge.md +5 -0
- package/template/.aioson/locales/en/agents/profiler-researcher.md +5 -0
- package/template/.aioson/locales/en/agents/qa.md +214 -0
- package/template/.aioson/locales/en/agents/setup.md +342 -0
- package/template/.aioson/locales/en/agents/squad.md +247 -0
- package/template/.aioson/locales/en/agents/ux-ui.md +320 -0
- package/template/.aioson/locales/es/agents/analyst.md +203 -0
- package/template/.aioson/locales/es/agents/architect.md +208 -0
- package/template/.aioson/locales/es/agents/dev.md +183 -0
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +19 -0
- package/template/.aioson/locales/es/agents/genoma.md +102 -0
- package/template/.aioson/locales/es/agents/orchestrator.md +108 -0
- package/template/.aioson/locales/es/agents/pm.md +81 -0
- package/template/.aioson/locales/es/agents/product.md +310 -0
- package/template/.aioson/locales/es/agents/profiler-enricher.md +5 -0
- package/template/.aioson/locales/es/agents/profiler-forge.md +5 -0
- package/template/.aioson/locales/es/agents/profiler-researcher.md +5 -0
- package/template/.aioson/locales/es/agents/qa.md +163 -0
- package/template/.aioson/locales/es/agents/setup.md +347 -0
- package/template/.aioson/locales/es/agents/squad.md +247 -0
- package/template/.aioson/locales/es/agents/ux-ui.md +201 -0
- package/template/.aioson/locales/fr/agents/analyst.md +203 -0
- package/template/.aioson/locales/fr/agents/architect.md +208 -0
- package/template/.aioson/locales/fr/agents/dev.md +183 -0
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +19 -0
- package/template/.aioson/locales/fr/agents/genoma.md +102 -0
- package/template/.aioson/locales/fr/agents/orchestrator.md +108 -0
- package/template/.aioson/locales/fr/agents/pm.md +81 -0
- package/template/.aioson/locales/fr/agents/product.md +310 -0
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +5 -0
- package/template/.aioson/locales/fr/agents/profiler-forge.md +5 -0
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +5 -0
- package/template/.aioson/locales/fr/agents/qa.md +163 -0
- package/template/.aioson/locales/fr/agents/setup.md +347 -0
- package/template/.aioson/locales/fr/agents/squad.md +247 -0
- package/template/.aioson/locales/fr/agents/ux-ui.md +201 -0
- package/template/.aioson/locales/pt-BR/agents/analyst.md +217 -0
- package/template/.aioson/locales/pt-BR/agents/architect.md +213 -0
- package/template/.aioson/locales/pt-BR/agents/dev.md +198 -0
- package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +198 -0
- package/template/.aioson/locales/pt-BR/agents/genoma.md +297 -0
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +108 -0
- package/template/.aioson/locales/pt-BR/agents/pm.md +81 -0
- package/template/.aioson/locales/pt-BR/agents/product.md +316 -0
- package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +5 -0
- package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +5 -0
- package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +5 -0
- package/template/.aioson/locales/pt-BR/agents/qa.md +217 -0
- package/template/.aioson/locales/pt-BR/agents/setup.md +371 -0
- package/template/.aioson/locales/pt-BR/agents/squad.md +772 -0
- package/template/.aioson/locales/pt-BR/agents/ux-ui.md +322 -0
- package/template/.aioson/mcp/servers.md +24 -0
- package/template/.aioson/profiler-reports/.gitkeep +1 -0
- package/template/.aioson/schemas/content-blueprint.schema.json +30 -0
- package/template/.aioson/schemas/genome-meta.schema.json +150 -0
- package/template/.aioson/schemas/genome.schema.json +115 -0
- package/template/.aioson/schemas/readiness.schema.json +27 -0
- package/template/.aioson/schemas/squad-blueprint.schema.json +172 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +276 -0
- package/template/.aioson/skills/dynamic/README.md +30 -0
- package/template/.aioson/skills/dynamic/cardano-docs.md +16 -0
- package/template/.aioson/skills/dynamic/ethereum-docs.md +17 -0
- package/template/.aioson/skills/dynamic/flux-ui-docs.md +13 -0
- package/template/.aioson/skills/dynamic/laravel-docs.md +41 -0
- package/template/.aioson/skills/dynamic/npm-packages.md +16 -0
- package/template/.aioson/skills/dynamic/solana-docs.md +16 -0
- package/template/.aioson/skills/references/premium-command-center-ui/master-application-prompt.md +79 -0
- package/template/.aioson/skills/references/premium-command-center-ui/operational-ux-playbook.md +253 -0
- package/template/.aioson/skills/references/premium-command-center-ui/quality-validation-checklist.md +82 -0
- package/template/.aioson/skills/references/premium-command-center-ui/visual-system-and-component-patterns.md +270 -0
- package/template/.aioson/skills/static/django-patterns.md +342 -0
- package/template/.aioson/skills/static/fastapi-patterns.md +344 -0
- package/template/.aioson/skills/static/filament-patterns.md +267 -0
- package/template/.aioson/skills/static/flux-ui-components.md +262 -0
- package/template/.aioson/skills/static/git-conventions.md +227 -0
- package/template/.aioson/skills/static/interface-design.md +372 -0
- package/template/.aioson/skills/static/jetstream-setup.md +200 -0
- package/template/.aioson/skills/static/laravel-conventions.md +491 -0
- package/template/.aioson/skills/static/nextjs-patterns.md +321 -0
- package/template/.aioson/skills/static/node-express-patterns.md +317 -0
- package/template/.aioson/skills/static/node-typescript-patterns.md +282 -0
- package/template/.aioson/skills/static/premium-command-center-ui.md +190 -0
- package/template/.aioson/skills/static/rails-conventions.md +307 -0
- package/template/.aioson/skills/static/react-motion-patterns.md +577 -0
- package/template/.aioson/skills/static/static-html-patterns.md +1935 -0
- package/template/.aioson/skills/static/tall-stack-patterns.md +286 -0
- package/template/.aioson/skills/static/ui-ux-modern.md +75 -0
- package/template/.aioson/skills/static/web3-cardano-patterns.md +337 -0
- package/template/.aioson/skills/static/web3-ethereum-patterns.md +310 -0
- package/template/.aioson/skills/static/web3-security-checklist.md +284 -0
- package/template/.aioson/skills/static/web3-solana-patterns.md +324 -0
- package/template/.aioson/squads/.artisan/.gitkeep +0 -0
- package/template/.aioson/squads/.gitkeep +0 -0
- package/template/.aioson/squads/memory.md +5 -0
- package/template/.aioson/tasks/squad-analyze.md +83 -0
- package/template/.aioson/tasks/squad-create.md +99 -0
- package/template/.aioson/tasks/squad-design.md +100 -0
- package/template/.aioson/tasks/squad-export.md +20 -0
- package/template/.aioson/tasks/squad-extend.md +68 -0
- package/template/.aioson/tasks/squad-pipeline.md +122 -0
- package/template/.aioson/tasks/squad-repair.md +85 -0
- package/template/.aioson/tasks/squad-validate.md +58 -0
- package/template/.aioson/templates/squads/content-basic/template.json +21 -0
- package/template/.aioson/templates/squads/media-channel/template.json +24 -0
- package/template/.aioson/templates/squads/research-analysis/template.json +22 -0
- package/template/.aioson/templates/squads/software-delivery/template.json +21 -0
- package/template/.claude/commands/aioson/analyst.md +5 -0
- package/template/.claude/commands/aioson/architect.md +5 -0
- package/template/.claude/commands/aioson/dev.md +5 -0
- package/template/.claude/commands/aioson/orchestrator.md +5 -0
- package/template/.claude/commands/aioson/pm.md +5 -0
- package/template/.claude/commands/aioson/qa.md +5 -0
- package/template/.claude/commands/aioson/setup.md +5 -0
- package/template/.claude/commands/aioson/ux-ui.md +5 -0
- package/template/.gemini/GEMINI.md +10 -0
- package/template/.gemini/commands/aios-analyst.toml +4 -0
- package/template/.gemini/commands/aios-architect.toml +7 -0
- package/template/.gemini/commands/aios-dev.toml +8 -0
- package/template/.gemini/commands/aios-discovery-design-doc.toml +4 -0
- package/template/.gemini/commands/aios-orchestrator.toml +8 -0
- package/template/.gemini/commands/aios-pm.toml +8 -0
- package/template/.gemini/commands/aios-product.toml +4 -0
- package/template/.gemini/commands/aios-qa.toml +6 -0
- package/template/.gemini/commands/aios-setup.toml +3 -0
- package/template/.gemini/commands/aios-ux-ui.toml +8 -0
- package/template/AGENTS.md +67 -0
- package/template/CLAUDE.md +31 -0
- package/template/OPENCODE.md +24 -0
- package/template/aioson-models.json +40 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Genome 2.0 Manual Regression
|
|
2
|
+
|
|
3
|
+
Run this only after the gated rollout in `genome-2.0-rollout.md` finishes green.
|
|
4
|
+
|
|
5
|
+
## Core
|
|
6
|
+
|
|
7
|
+
- Create a Genome 2.0 file with the core helpers or CLI and confirm both markdown and `.meta.json` are written.
|
|
8
|
+
- Read a legacy genome markdown and confirm the core still normalizes it without error.
|
|
9
|
+
- Apply a genome to a squad and inspect `squad.manifest.json`, `.designs/*.blueprint.json` and `docs/readiness.md`.
|
|
10
|
+
|
|
11
|
+
## Dashboard
|
|
12
|
+
|
|
13
|
+
- Open `/genomes` and confirm the new genome appears with metadata and binding counts.
|
|
14
|
+
- Open `/squads` and confirm the target squad shows genome badges.
|
|
15
|
+
- Open the squad workspace and use `Manage genomes` to inspect bindings.
|
|
16
|
+
- Open `/pipelines` and confirm pipelines still load with squad-only nodes.
|
|
17
|
+
- Open a pipeline node inspector and confirm genome bindings appear as contextual badges and inspector items.
|
|
18
|
+
|
|
19
|
+
## Compatibility
|
|
20
|
+
|
|
21
|
+
- Re-run the same flow with a legacy genome fixture and confirm no page crashes or malformed payloads.
|
|
22
|
+
- Confirm pipelines never accept genome as executable node.
|
|
23
|
+
- Confirm removing a binding from the dashboard does not corrupt the persisted manifest.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Genome 2.0 Test Matrix
|
|
2
|
+
|
|
3
|
+
## Scope
|
|
4
|
+
|
|
5
|
+
| Scenario | Layer | Expected Result |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| 1. Legacy genome is readable by the core | `aioson` core | Markdown without v2 frontmatter is normalized and receives synthesized compat metadata |
|
|
8
|
+
| 2. Genome 2.0 is generated and saved | `aioson` core | Markdown and `.meta.json` are persisted together with v2 schema |
|
|
9
|
+
| 3. New squad receives genome | `aioson` squad binding | Manifest, blueprint and readiness get synchronized bindings |
|
|
10
|
+
| 4. Existing squad receives binding | `aioson` squad binding | Executor and squad scopes merge without breaking legacy executor genomes |
|
|
11
|
+
| 5. Artisan generates Genome Brief | `aios-dashboard` Artisan API | Genome brief result returns markdown, confidence and fallback file write remains non-fatal |
|
|
12
|
+
| 6. `/genomes` lists metadata | `aios-dashboard` catalog | Catalog returns local genome metadata, origin and binding counts |
|
|
13
|
+
| 7. `/squads` shows bindings | `aios-dashboard` squads | Squad payload and UI consumers expose squad and executor bindings |
|
|
14
|
+
| 8. `/pipelines` shows badges | `aios-dashboard` pipelines | Pipeline payload exposes contextual `genomeBindings` on squad nodes only |
|
|
15
|
+
| 9. Legacy data remains valid | cross-repo contract | Dashboard still reads manifests written by the core for legacy and v2 formats |
|
|
16
|
+
|
|
17
|
+
## Automated Coverage
|
|
18
|
+
|
|
19
|
+
- Core fixtures and smoke: `tests/integration/genome-2.0-smoke.test.js`
|
|
20
|
+
- Core binding contract: `tests/integration/genome-binding-contract.test.js`
|
|
21
|
+
- Dashboard Artisan brief API: `tests/api/artisan.generate-genome-brief.test.mjs`
|
|
22
|
+
- Dashboard contract and catalog/bindings: `tests/integration/genome-binding-contract.test.mjs`
|
|
23
|
+
- Dashboard pipeline/catalog integration: `tests/integration/dashboard.genome-catalog-and-bindings.test.mjs`
|
|
24
|
+
|
|
25
|
+
## Rollout Entry Point
|
|
26
|
+
|
|
27
|
+
- Full gated rollout: `npm run test:genome-2.0:rollout -- --dashboard-root ../aios-dashboard`
|
|
28
|
+
- Operational runbook: `genome-2.0-rollout.md`
|
|
29
|
+
|
|
30
|
+
## Shared Fixtures
|
|
31
|
+
|
|
32
|
+
- `tests/fixtures/genomes/legacy-genome.md`
|
|
33
|
+
- `tests/fixtures/genomes/genome-2.0.md`
|
|
34
|
+
- `tests/fixtures/genomes/genome-2.0.meta.json`
|
|
35
|
+
- `tests/fixtures/squads/squad-without-genome/`
|
|
36
|
+
- `tests/fixtures/squads/squad-with-genome/`
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# Genome 2.0 Rollout Runbook
|
|
2
|
+
|
|
3
|
+
## Goal
|
|
4
|
+
|
|
5
|
+
Bring the full Genome 2.0 package into `aioson` and `aios-dashboard` with explicit gates, repeatable checks, and a non-destructive fallback path.
|
|
6
|
+
|
|
7
|
+
This document operationalizes Phase 09 from `notes-local/plano-genoma-2/09-rollout-checklist.md`.
|
|
8
|
+
|
|
9
|
+
## Recommended implementation order
|
|
10
|
+
|
|
11
|
+
1. Block A: `aioson` core, bindings, compatibility.
|
|
12
|
+
2. Block B: dashboard Artisan genome incubation and `/genomes` catalog.
|
|
13
|
+
3. Block C: dashboard squad bindings and pipeline contextual badges.
|
|
14
|
+
4. Block D: integration, regression, and manual close-out.
|
|
15
|
+
|
|
16
|
+
## Recommended merge order
|
|
17
|
+
|
|
18
|
+
1. `aioson` Phase 01
|
|
19
|
+
2. `aioson` Phase 02
|
|
20
|
+
3. `aioson` Phase 03
|
|
21
|
+
4. `aios-dashboard` Phase 04
|
|
22
|
+
5. `aios-dashboard` Phase 05
|
|
23
|
+
6. `aios-dashboard` Phase 06
|
|
24
|
+
7. `aios-dashboard` Phase 07
|
|
25
|
+
8. Integration coverage from Phase 08
|
|
26
|
+
9. This rollout phase and final docs
|
|
27
|
+
|
|
28
|
+
## Commands by block
|
|
29
|
+
|
|
30
|
+
### Block A
|
|
31
|
+
|
|
32
|
+
Run from `aioson`:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npm run test:genome-2.0:block-a
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
This executes:
|
|
39
|
+
|
|
40
|
+
- core smoke for legacy + v2 genomes;
|
|
41
|
+
- compatibility tests;
|
|
42
|
+
- full core test suite;
|
|
43
|
+
- core lint.
|
|
44
|
+
|
|
45
|
+
### Block B
|
|
46
|
+
|
|
47
|
+
Run from `aios-dashboard`:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm run test:genome-2.0:block-b
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
This covers:
|
|
54
|
+
|
|
55
|
+
- Genome Brief generation helpers and API payloads;
|
|
56
|
+
- Artisan schema compatibility;
|
|
57
|
+
- `/genomes` catalog and detail payloads.
|
|
58
|
+
|
|
59
|
+
### Block C
|
|
60
|
+
|
|
61
|
+
Run from `aios-dashboard`:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npm run test:genome-2.0:block-c
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
This covers:
|
|
68
|
+
|
|
69
|
+
- squad genome apply/remove flows;
|
|
70
|
+
- squad bindings payloads;
|
|
71
|
+
- pipeline genome badge payloads.
|
|
72
|
+
|
|
73
|
+
### Block D
|
|
74
|
+
|
|
75
|
+
Run from `aios-dashboard`:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
npm run test:genome-2.0:block-d
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
This executes the full dashboard gate:
|
|
82
|
+
|
|
83
|
+
- complete automated suite;
|
|
84
|
+
- lint;
|
|
85
|
+
- production build.
|
|
86
|
+
|
|
87
|
+
### Full rollout from the core repo
|
|
88
|
+
|
|
89
|
+
Run from `aioson`:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npm run test:genome-2.0:rollout -- --dashboard-root ../aios-dashboard
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Useful options:
|
|
96
|
+
|
|
97
|
+
- `--block=A|B|C|D`
|
|
98
|
+
- `--skip-dashboard`
|
|
99
|
+
- `--dry-run`
|
|
100
|
+
- `--json`
|
|
101
|
+
|
|
102
|
+
## Mandatory smoke acceptance
|
|
103
|
+
|
|
104
|
+
### After Block A
|
|
105
|
+
|
|
106
|
+
- [ ] Legacy genome is readable.
|
|
107
|
+
- [ ] Genome 2.0 writes markdown and `.meta.json`.
|
|
108
|
+
- [ ] New squad binding persists correctly.
|
|
109
|
+
- [ ] Existing squad binding stays compatible.
|
|
110
|
+
- [ ] Migrate and repair paths still work in dry-run.
|
|
111
|
+
|
|
112
|
+
### After Block B
|
|
113
|
+
|
|
114
|
+
- [ ] `/artisan` supports genome ideas.
|
|
115
|
+
- [ ] `Genome Brief` is persisted.
|
|
116
|
+
- [ ] `/genomes` lists legacy and v2 genomes.
|
|
117
|
+
- [ ] Catalog cards show type, depth, and evidence mode.
|
|
118
|
+
|
|
119
|
+
### After Block C
|
|
120
|
+
|
|
121
|
+
- [ ] `/squads` manages squad and executor bindings.
|
|
122
|
+
- [ ] Apply and remove binding flows are stable.
|
|
123
|
+
- [ ] `/pipelines` shows contextual genome badges only.
|
|
124
|
+
- [ ] Legacy pipelines remain valid.
|
|
125
|
+
|
|
126
|
+
### After Block D
|
|
127
|
+
|
|
128
|
+
- [ ] Automated checks pass.
|
|
129
|
+
- [ ] Manual checklist is complete.
|
|
130
|
+
- [ ] Legacy data remains accessible.
|
|
131
|
+
|
|
132
|
+
## Manual close-out
|
|
133
|
+
|
|
134
|
+
Use the manual regression guide in `genome-2.0-manual-regression.md` after the automated rollout checks pass.
|
|
135
|
+
|
|
136
|
+
Recommended sequence:
|
|
137
|
+
|
|
138
|
+
1. Validate `/genomes`.
|
|
139
|
+
2. Validate `/squads` binding management.
|
|
140
|
+
3. Validate `/pipelines` contextual rendering.
|
|
141
|
+
4. Re-check a legacy genome end-to-end.
|
|
142
|
+
|
|
143
|
+
## Fallback strategy
|
|
144
|
+
|
|
145
|
+
If compatibility regresses at any point:
|
|
146
|
+
|
|
147
|
+
1. Keep the new code in place.
|
|
148
|
+
2. Stop new writes where possible.
|
|
149
|
+
3. Keep tolerant reads active.
|
|
150
|
+
4. Record the gap before patching.
|
|
151
|
+
5. Re-run the relevant block and then the full rollout gate.
|
|
152
|
+
|
|
153
|
+
Dashboard-specific fallback:
|
|
154
|
+
|
|
155
|
+
- keep `/genomes` returning a minimal payload;
|
|
156
|
+
- hide advanced genome badges if enrichment breaks;
|
|
157
|
+
- never block the listing because of missing v2 metadata.
|
|
158
|
+
|
|
159
|
+
## Final release acceptance
|
|
160
|
+
|
|
161
|
+
Only close the package when all statements below are true:
|
|
162
|
+
|
|
163
|
+
- [ ] Genome 2.0 can be created.
|
|
164
|
+
- [ ] Genome 2.0 can be applied to a new squad.
|
|
165
|
+
- [ ] Genome 2.0 can be applied to an existing squad.
|
|
166
|
+
- [ ] `/artisan` supports genome incubation.
|
|
167
|
+
- [ ] `/genomes` exposes the enriched catalog.
|
|
168
|
+
- [ ] `/squads` manages bindings safely.
|
|
169
|
+
- [ ] `/pipelines` treats genomes as context, not executable nodes.
|
|
170
|
+
- [ ] Automated and manual validation are both complete.
|
|
171
|
+
|
|
172
|
+
## Suggested commit messages
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
feat(core): implement genome 2.0 foundation
|
|
176
|
+
feat(core): add genome bindings to squads
|
|
177
|
+
feat(core): add migration and compatibility layer for genome 2.0
|
|
178
|
+
feat(dashboard): add genome incubation flow to artisan
|
|
179
|
+
feat(dashboard): enrich genomes catalog for genome 2.0
|
|
180
|
+
feat(dashboard): add genome bindings management to squads
|
|
181
|
+
feat(dashboard): show genome bindings in squad pipelines without changing pipeline model
|
|
182
|
+
test(integration): add end-to-end coverage for genome 2.0 and dashboard bindings
|
|
183
|
+
docs(plan): add rollout checklist for genome 2.0 program
|
|
184
|
+
```
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jaimevalasek/aioson",
|
|
3
|
+
"version": "1.3.0",
|
|
4
|
+
"description": "AI operating framework for hyper-personalized software.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ai",
|
|
7
|
+
"agents",
|
|
8
|
+
"claude",
|
|
9
|
+
"codex",
|
|
10
|
+
"gemini",
|
|
11
|
+
"opencode",
|
|
12
|
+
"cli",
|
|
13
|
+
"framework"
|
|
14
|
+
],
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"main": "src/cli.js",
|
|
17
|
+
"bin": {
|
|
18
|
+
"aios": "bin/aioson.js",
|
|
19
|
+
"aioson": "bin/aioson.js"
|
|
20
|
+
},
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"files": [
|
|
25
|
+
"bin/",
|
|
26
|
+
"src/",
|
|
27
|
+
"template/",
|
|
28
|
+
"docs/",
|
|
29
|
+
"README.md",
|
|
30
|
+
"CHANGELOG.md",
|
|
31
|
+
"CONTRIBUTING.md",
|
|
32
|
+
"CODE_OF_CONDUCT.md",
|
|
33
|
+
"LICENSE"
|
|
34
|
+
],
|
|
35
|
+
"engines": {
|
|
36
|
+
"node": ">=18.0.0"
|
|
37
|
+
},
|
|
38
|
+
"scripts": {
|
|
39
|
+
"test": "node --test",
|
|
40
|
+
"test:genoma": "node --test tests/genoma-compat.test.js tests/genoma-migrate.test.js",
|
|
41
|
+
"test:genome-2.0-smoke": "node scripts/smoke/genome-2.0-smoke.js",
|
|
42
|
+
"test:genome-2.0:block-a": "node scripts/smoke/genome-2.0-smoke.js && npm run test:genoma && npm test && npm run lint",
|
|
43
|
+
"test:genome-2.0:rollout": "node scripts/testing/genome-2.0-rollout.js",
|
|
44
|
+
"lint": "node --check src/*.js src/commands/*.js src/i18n/*.js src/i18n/messages/*.js bin/*.js",
|
|
45
|
+
"ci": "npm run lint && npm test"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"better-sqlite3": "^12.6.2"
|
|
49
|
+
}
|
|
50
|
+
}
|
package/src/agents.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { AGENT_DEFINITIONS } = require('./constants');
|
|
4
|
+
const { getLocalizedAgentPath } = require('./locales');
|
|
5
|
+
|
|
6
|
+
function normalizeAgentName(input) {
|
|
7
|
+
return String(input || '')
|
|
8
|
+
.trim()
|
|
9
|
+
.toLowerCase()
|
|
10
|
+
.replace(/^@/, '');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function getAgentDefinition(name) {
|
|
14
|
+
const normalized = normalizeAgentName(name);
|
|
15
|
+
return AGENT_DEFINITIONS.find((agent) => agent.id === normalized) || null;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function listAgentDefinitions() {
|
|
19
|
+
return [...AGENT_DEFINITIONS];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function resolveInstructionPath(agent, locale) {
|
|
23
|
+
if (!locale) return agent.path;
|
|
24
|
+
return getLocalizedAgentPath(agent.id, locale);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function buildAgentPrompt(agent, tool, options = {}) {
|
|
28
|
+
const safeTool = String(tool || 'codex').toLowerCase();
|
|
29
|
+
const instructionPath = options.instructionPath || agent.path;
|
|
30
|
+
const dependencyText =
|
|
31
|
+
agent.dependsOn.length > 0
|
|
32
|
+
? `Check required context files first: ${agent.dependsOn.join(', ')}.`
|
|
33
|
+
: 'No prerequisite context files are required.';
|
|
34
|
+
|
|
35
|
+
if (safeTool === 'claude') {
|
|
36
|
+
return `Read ${instructionPath} and execute ${agent.command}. ${dependencyText} Write output to ${agent.output}.`;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
if (safeTool === 'gemini') {
|
|
40
|
+
return `Run the Gemini command mapped to ${instructionPath} and execute ${agent.command}. ${dependencyText} Save result to ${agent.output}.`;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (safeTool === 'opencode') {
|
|
44
|
+
return `Use agent "${agent.id}" from ${instructionPath}. ${dependencyText} Save output to ${agent.output}.`;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return `Read AGENTS.md and execute ${agent.command} using ${instructionPath}. ${dependencyText} Save output to ${agent.output}.`;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = {
|
|
51
|
+
normalizeAgentName,
|
|
52
|
+
getAgentDefinition,
|
|
53
|
+
listAgentDefinitions,
|
|
54
|
+
resolveInstructionPath,
|
|
55
|
+
buildAgentPrompt
|
|
56
|
+
};
|