@jaimevalasek/aioson 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/CHANGELOG.md +60 -0
- package/README.md +153 -10
- package/docs/en/cli-reference.md +56 -1
- package/docs/en/i18n.md +18 -18
- package/docs/en/schemas/index.json +10 -0
- package/docs/en/schemas/parallel-assign.schema.json +9 -0
- package/docs/en/schemas/parallel-doctor.schema.json +36 -0
- package/docs/en/schemas/parallel-guard.schema.json +63 -0
- package/docs/en/schemas/parallel-merge.schema.json +84 -0
- package/docs/en/schemas/parallel-status.schema.json +91 -1
- package/docs/integrations/apps-publish-marketplace.md +94 -0
- package/docs/pt/README.md +9 -0
- package/docs/pt/agentes.md +324 -3
- package/docs/pt/clientes-ai.md +7 -3
- package/docs/pt/comandos-cli.md +160 -13
- package/docs/pt/compress-agents.md +304 -0
- package/docs/pt/design-docs-governance.md +59 -0
- package/docs/pt/feature-archive.md +191 -0
- package/docs/pt/genome-3.0-spec.md +115 -4
- package/docs/pt/genome-distribution.md +232 -0
- package/docs/pt/inicio-rapido.md +1 -0
- package/docs/pt/motor-hardening.md +492 -0
- package/docs/pt/runner-system.md +113 -0
- package/package.json +2 -1
- package/src/agent-manifests.js +66 -0
- package/src/agents.js +27 -7
- package/src/autonomy-policy.js +139 -0
- package/src/brain-query.js +161 -0
- package/src/cli.js +1377 -1099
- package/src/commands/agents.js +102 -7
- package/src/commands/artifact-validate.js +33 -4
- package/src/commands/auth.js +272 -0
- package/src/commands/brain-query.js +44 -0
- package/src/commands/briefing.js +344 -0
- package/src/commands/commit-prepare.js +547 -0
- package/src/commands/compress-agents.js +416 -0
- package/src/commands/context-health.js +4 -2
- package/src/commands/context-trim.js +17 -11
- package/src/commands/design-hybrid-options.js +3 -3
- package/src/commands/devlog-process.js +6 -4
- package/src/commands/dossier.js +423 -0
- package/src/commands/feature-archive.js +513 -0
- package/src/commands/feature-close.js +123 -18
- package/src/commands/gate-approve.js +198 -0
- package/src/commands/gate-check.js +24 -5
- package/src/commands/genome-doctor.js +166 -9
- package/src/commands/git-guard.js +170 -0
- package/src/commands/harness.js +121 -0
- package/src/commands/implementation-plan.js +47 -20
- package/src/commands/init.js +6 -2
- package/src/commands/install.js +6 -2
- package/src/commands/live.js +497 -56
- package/src/commands/locale-apply.js +9 -6
- package/src/commands/locale-diff.js +11 -112
- package/src/commands/mcp-doctor.js +2 -1
- package/src/commands/mcp-init.js +4 -10
- package/src/commands/memory.js +234 -0
- package/src/commands/parallel-assign.js +107 -27
- package/src/commands/parallel-doctor.js +416 -3
- package/src/commands/parallel-guard.js +241 -0
- package/src/commands/parallel-init.js +66 -4
- package/src/commands/parallel-merge.js +299 -0
- package/src/commands/parallel-status.js +147 -3
- package/src/commands/preflight.js +63 -4
- package/src/commands/qa-init.js +10 -5
- package/src/commands/revision.js +235 -0
- package/src/commands/scaffold-complete.js +188 -0
- package/src/commands/security-audit.js +275 -0
- package/src/commands/security-scan.js +376 -0
- package/src/commands/self-implement-loop.js +46 -2
- package/src/commands/setup-context.js +11 -10
- package/src/commands/squad-agent-create.js +51 -9
- package/src/commands/squad-investigate.js +53 -0
- package/src/commands/squad-plan.js +33 -1
- package/src/commands/squad-scaffold.js +4 -3
- package/src/commands/squad-score.js +71 -14
- package/src/commands/squad-status.js +22 -1
- package/src/commands/squad-validate.js +93 -2
- package/src/commands/store-genome.js +304 -0
- package/src/commands/store-skill.js +247 -0
- package/src/commands/store-squad.js +431 -0
- package/src/commands/store-system.js +392 -0
- package/src/commands/tool-capabilities.js +63 -0
- package/src/commands/update.js +3 -3
- package/src/commands/verify-gate.js +40 -0
- package/src/commands/workflow-execute.js +644 -155
- package/src/commands/workflow-harden.js +231 -0
- package/src/commands/workflow-heal.js +136 -0
- package/src/commands/workflow-next.js +460 -22
- package/src/commands/workflow-status.js +328 -138
- package/src/commands/workspace.js +144 -0
- package/src/constants.js +55 -75
- package/src/context-memory.js +133 -4
- package/src/context-writer.js +2 -1
- package/src/context.js +32 -2
- package/src/doctor.js +46 -6
- package/src/dossier/codemap-store.js +267 -0
- package/src/dossier/dossier-bootstrap.js +222 -0
- package/src/dossier/dossier-compact.js +159 -0
- package/src/dossier/lock.js +128 -0
- package/src/dossier/revision-store.js +313 -0
- package/src/dossier/schema.js +155 -0
- package/src/dossier/store.js +400 -0
- package/src/execution-gateway.js +3 -0
- package/src/friction-scanner.js +202 -0
- package/src/genome-schema.js +24 -1
- package/src/genomes.js +33 -0
- package/src/handoff-contract.js +363 -0
- package/src/handoff-validator.js +45 -0
- package/src/harness/circuit-breaker.js +135 -0
- package/src/i18n/messages/en.js +317 -22
- package/src/i18n/messages/es.js +259 -18
- package/src/i18n/messages/fr.js +260 -18
- package/src/i18n/messages/pt-BR.js +313 -22
- package/src/install-profile.js +0 -16
- package/src/installer.js +70 -6
- package/src/lib/git-commit-guard.js +691 -0
- package/src/lib/security/artifact-reader.js +167 -0
- package/src/lib/security/exit-codes.js +51 -0
- package/src/lib/security/findings-writer.js +176 -0
- package/src/lib/security/runtime-events.js +77 -0
- package/src/lib/security/secrets-regex.js +115 -0
- package/src/lib/store/security-scan.js +173 -0
- package/src/lib/terminal-checkbox.js +130 -0
- package/src/lib/tmux-launcher.js +163 -0
- package/src/lib/tool-capabilities.js +102 -0
- package/src/locales.js +12 -8
- package/src/parallel-workspace.js +756 -0
- package/src/parser.js +8 -1
- package/src/path-guard.js +47 -0
- package/src/preflight-engine.js +237 -26
- package/src/self-healing.js +142 -0
- package/src/session-handoff.js +111 -1
- package/src/squad/squad-scaffold.js +183 -19
- package/src/test-briefing.js +226 -0
- package/src/updater.js +1 -1
- package/src/utils.js +3 -0
- package/src/workflow-gates.js +185 -0
- package/template/.aioson/agents/analyst.md +76 -130
- package/template/.aioson/agents/architect.md +53 -86
- package/template/.aioson/agents/committer.md +161 -0
- package/template/.aioson/agents/copywriter.md +463 -0
- package/template/.aioson/agents/cypher.md +252 -0
- package/template/.aioson/agents/dev.md +112 -600
- package/template/.aioson/agents/deyvin.md +33 -235
- package/template/.aioson/agents/discover.md +235 -0
- package/template/.aioson/agents/discovery-design-doc.md +17 -252
- package/template/.aioson/agents/genome.md +76 -26
- package/template/.aioson/agents/manifests/analyst.manifest.json +26 -0
- package/template/.aioson/agents/manifests/architect.manifest.json +23 -0
- package/template/.aioson/agents/manifests/committer.manifest.json +23 -0
- package/template/.aioson/agents/manifests/dev.manifest.json +37 -0
- package/template/.aioson/agents/manifests/orchestrator.manifest.json +30 -0
- package/template/.aioson/agents/manifests/pentester.manifest.json +39 -0
- package/template/.aioson/agents/manifests/pm.manifest.json +26 -0
- package/template/.aioson/agents/manifests/product.manifest.json +23 -0
- package/template/.aioson/agents/manifests/qa.manifest.json +25 -0
- package/template/.aioson/agents/manifests/setup.manifest.json +20 -0
- package/template/.aioson/agents/manifests/ux-ui.manifest.json +24 -0
- package/template/.aioson/agents/neo.md +10 -8
- package/template/.aioson/agents/orache.md +2 -6
- package/template/.aioson/agents/orchestrator.md +81 -182
- package/template/.aioson/agents/pentester.md +235 -0
- package/template/.aioson/agents/pm.md +40 -104
- package/template/.aioson/agents/product.md +99 -344
- package/template/.aioson/agents/profiler-enricher.md +57 -6
- package/template/.aioson/agents/profiler-forge.md +17 -7
- package/template/.aioson/agents/profiler-researcher.md +29 -6
- package/template/.aioson/agents/qa.md +165 -410
- package/template/.aioson/agents/setup.md +52 -262
- package/template/.aioson/agents/sheldon.md +122 -754
- package/template/.aioson/agents/site-forge.md +111 -1583
- package/template/.aioson/agents/squad.md +139 -1820
- package/template/.aioson/agents/tester.md +10 -0
- package/template/.aioson/agents/ux-ui.md +103 -645
- package/template/.aioson/agents/validator.md +69 -0
- package/template/.aioson/brains/scripts/query.js +5 -1
- package/template/.aioson/config/autonomy-protocol.json +43 -0
- package/template/.aioson/config.md +43 -15
- package/template/.aioson/constitution.md +36 -33
- package/template/.aioson/context/design-doc.md +136 -0
- package/template/.aioson/context/project-map.md +57 -0
- package/template/.aioson/design-docs/code-reuse.md +48 -0
- package/template/.aioson/design-docs/componentization.md +47 -0
- package/template/.aioson/design-docs/file-size.md +52 -0
- package/template/.aioson/design-docs/folder-structure.md +51 -0
- package/template/.aioson/design-docs/naming.md +54 -0
- package/template/.aioson/docs/LAYERS.md +12 -2
- package/template/.aioson/docs/dev/execution-discipline.md +106 -0
- package/template/.aioson/docs/dev/stack-conventions.md +83 -0
- package/template/.aioson/docs/deyvin/continuity-recovery.md +57 -0
- package/template/.aioson/docs/deyvin/debugging-escalation.md +30 -0
- package/template/.aioson/docs/deyvin/pair-execution.md +44 -0
- package/template/.aioson/docs/deyvin/runtime-handoffs.md +36 -0
- package/template/.aioson/docs/product/conversation-playbook.md +116 -0
- package/template/.aioson/docs/product/prd-contract.md +107 -0
- package/template/.aioson/docs/product/quality-lens.md +57 -0
- package/template/.aioson/docs/product/research-loop.md +65 -0
- package/template/.aioson/docs/sheldon/enrichment-paths.md +134 -0
- package/template/.aioson/docs/sheldon/quality-lens.md +57 -0
- package/template/.aioson/docs/sheldon/research-loop.md +56 -0
- package/template/.aioson/docs/sheldon/web-intelligence.md +75 -0
- package/template/.aioson/docs/site-forge-build.md +195 -0
- package/template/.aioson/docs/site-forge-extraction.md +135 -0
- package/template/.aioson/docs/site-forge-qa.md +155 -0
- package/template/.aioson/docs/site-forge-recon.md +434 -0
- package/template/.aioson/docs/site-forge-transform.md +249 -0
- package/template/.aioson/docs/squad/content-output.md +91 -0
- package/template/.aioson/docs/squad/creation-flow.md +135 -0
- package/template/.aioson/docs/squad/domain-classification.md +117 -0
- package/template/.aioson/docs/squad/genome-bindings.md +47 -0
- package/template/.aioson/docs/squad/package-contract.md +234 -0
- package/template/.aioson/docs/squad/quality-lens.md +56 -0
- package/template/.aioson/docs/squad/research-loop.md +59 -0
- package/template/.aioson/docs/squad/session-operations.md +117 -0
- package/template/.aioson/docs/squad/workflow-quality.md +165 -0
- package/template/.aioson/docs/ux-ui/accessibility-audit.md +55 -0
- package/template/.aioson/docs/ux-ui/audit-mode.md +86 -0
- package/template/.aioson/docs/ux-ui/component-map.md +35 -0
- package/template/.aioson/docs/ux-ui/design-execution.md +111 -0
- package/template/.aioson/docs/ux-ui/design-gate.md +27 -0
- package/template/.aioson/docs/ux-ui/research-mode.md +39 -0
- package/template/.aioson/docs/ux-ui/site-delivery.md +156 -0
- package/template/.aioson/docs/ux-ui/token-contract.md +57 -0
- package/template/.aioson/genomes/copywriting.md +204 -0
- package/template/.aioson/genomes/copywriting.meta.json +48 -0
- package/template/.aioson/git-guard.json +11 -0
- package/template/.aioson/mcp/servers.md +0 -1
- package/template/.aioson/rules/agent-language-policy.md +93 -0
- package/template/.aioson/rules/aioson-context-boundary.md +63 -0
- package/template/.aioson/rules/canonical-path-contract.md +47 -0
- package/template/.aioson/rules/data-format-convention.md +24 -86
- package/template/.aioson/rules/disk-first-artifacts.md +44 -0
- package/template/.aioson/rules/output-brevity.md +44 -0
- package/template/.aioson/rules/prd-section-ownership.md +49 -0
- package/template/.aioson/rules/security-baseline.md +139 -0
- package/template/.aioson/rules/spec-level-ownership.md +61 -0
- package/template/.aioson/rules/squad-driver-pattern.md +81 -0
- package/template/.aioson/schemas/squad-blueprint.schema.json +24 -0
- package/template/.aioson/schemas/squad-manifest.schema.json +44 -0
- package/template/.aioson/skills/design/cognitive-core-ui/references/motion.md +2 -0
- package/template/.aioson/skills/marketing/references/anti-patterns.md +254 -0
- package/template/.aioson/skills/marketing/references/fascinations.md +192 -0
- package/template/.aioson/skills/marketing/references/five-acts.md +248 -0
- package/template/.aioson/skills/marketing/references/market-intelligence.md +198 -0
- package/template/.aioson/skills/marketing/references/offer-structure.md +203 -0
- package/template/.aioson/skills/marketing/references/one-belief.md +149 -0
- package/template/.aioson/skills/marketing/references/patterns.md +218 -0
- package/template/.aioson/skills/marketing/references/pms-research.md +193 -0
- package/template/.aioson/skills/marketing/vsl-craft.md +385 -0
- package/template/.aioson/skills/process/aioson-spec-driven/references/pm.md +30 -0
- package/template/.aioson/skills/process/secure-tdd/SKILL.md +97 -0
- package/template/.aioson/skills/process/secure-tdd/references/nextjs.md +81 -0
- package/template/.aioson/skills/process/secure-tdd/references/node-express.md +91 -0
- package/template/.aioson/skills/process/secure-tdd/references/planned-stacks.md +33 -0
- package/template/.aioson/skills/static/harness-validate/SKILL.md +46 -0
- package/template/.aioson/skills/static/landing-page-deploy.md +192 -0
- package/template/.aioson/skills/static/landing-page-forge.md +730 -0
- package/template/.aioson/skills/static/ui-ux-modern.md +1 -0
- package/template/.aioson/skills/static/web-research-cache.md +3 -0
- package/template/.aioson/tasks/squad-create.md +56 -7
- package/template/.aioson/tasks/squad-design.md +80 -2
- package/template/.aioson/tasks/squad-investigate.md +14 -1
- package/template/.aioson/templates/squads/digital-marketing-agency/template.json +96 -0
- package/template/.claude/commands/aioson/agent/committer.md +5 -0
- package/template/.claude/commands/aioson/agent/copywriter.md +5 -0
- package/template/.claude/commands/aioson/agent/cypher.md +5 -0
- package/template/.claude/commands/aioson/agent/pair.md +5 -0
- package/template/.claude/commands/aioson/agent/validator.md +5 -0
- package/template/.gemini/commands/aios-analyst.toml +6 -3
- package/template/.gemini/commands/aios-architect.toml +7 -6
- package/template/.gemini/commands/aios-committer.toml +7 -0
- package/template/.gemini/commands/aios-copywriter.toml +7 -0
- package/template/.gemini/commands/aios-cypher.toml +7 -0
- package/template/.gemini/commands/aios-dev.toml +8 -7
- package/template/.gemini/commands/aios-deyvin.toml +6 -5
- package/template/.gemini/commands/aios-discovery-design-doc.toml +6 -3
- package/template/.gemini/commands/aios-genome.toml +7 -0
- package/template/.gemini/commands/aios-neo.toml +5 -3
- package/template/.gemini/commands/aios-orache.toml +7 -0
- package/template/.gemini/commands/aios-orchestrator.toml +8 -7
- package/template/.gemini/commands/aios-pair.toml +6 -5
- package/template/.gemini/commands/aios-pm.toml +8 -7
- package/template/.gemini/commands/aios-product.toml +5 -3
- package/template/.gemini/commands/aios-qa.toml +6 -5
- package/template/.gemini/commands/aios-setup.toml +5 -2
- package/template/.gemini/commands/aios-sheldon.toml +7 -0
- package/template/.gemini/commands/aios-site-forge.toml +7 -0
- package/template/.gemini/commands/aios-squad.toml +7 -0
- package/template/.gemini/commands/aios-tester.toml +6 -5
- package/template/.gemini/commands/aios-ux-ui.toml +8 -7
- package/template/.gemini/commands/aios-validator.toml +7 -0
- package/template/AGENTS.md +12 -1
- package/template/CLAUDE.md +6 -1
- package/template/.aioson/locales/en/agents/analyst.md +0 -244
- package/template/.aioson/locales/en/agents/architect.md +0 -245
- package/template/.aioson/locales/en/agents/dev.md +0 -397
- package/template/.aioson/locales/en/agents/deyvin.md +0 -137
- package/template/.aioson/locales/en/agents/discovery-design-doc.md +0 -27
- package/template/.aioson/locales/en/agents/genome.md +0 -212
- package/template/.aioson/locales/en/agents/neo.md +0 -8
- package/template/.aioson/locales/en/agents/orache.md +0 -6
- package/template/.aioson/locales/en/agents/orchestrator.md +0 -189
- package/template/.aioson/locales/en/agents/pair.md +0 -5
- package/template/.aioson/locales/en/agents/pm.md +0 -84
- package/template/.aioson/locales/en/agents/product.md +0 -378
- package/template/.aioson/locales/en/agents/profiler-enricher.md +0 -5
- package/template/.aioson/locales/en/agents/profiler-forge.md +0 -5
- package/template/.aioson/locales/en/agents/profiler-researcher.md +0 -5
- package/template/.aioson/locales/en/agents/qa.md +0 -270
- package/template/.aioson/locales/en/agents/setup.md +0 -421
- package/template/.aioson/locales/en/agents/sheldon.md +0 -455
- package/template/.aioson/locales/en/agents/squad.md +0 -449
- package/template/.aioson/locales/en/agents/tester.md +0 -6
- package/template/.aioson/locales/en/agents/ux-ui.md +0 -668
- package/template/.aioson/locales/es/agents/analyst.md +0 -225
- package/template/.aioson/locales/es/agents/architect.md +0 -245
- package/template/.aioson/locales/es/agents/dev.md +0 -370
- package/template/.aioson/locales/es/agents/deyvin.md +0 -99
- package/template/.aioson/locales/es/agents/discovery-design-doc.md +0 -21
- package/template/.aioson/locales/es/agents/genome.md +0 -104
- package/template/.aioson/locales/es/agents/neo.md +0 -50
- package/template/.aioson/locales/es/agents/orache.md +0 -105
- package/template/.aioson/locales/es/agents/orchestrator.md +0 -194
- package/template/.aioson/locales/es/agents/pair.md +0 -7
- package/template/.aioson/locales/es/agents/pm.md +0 -90
- package/template/.aioson/locales/es/agents/product.md +0 -372
- package/template/.aioson/locales/es/agents/profiler-enricher.md +0 -7
- package/template/.aioson/locales/es/agents/profiler-forge.md +0 -7
- package/template/.aioson/locales/es/agents/profiler-researcher.md +0 -7
- package/template/.aioson/locales/es/agents/qa.md +0 -198
- package/template/.aioson/locales/es/agents/setup.md +0 -405
- package/template/.aioson/locales/es/agents/sheldon.md +0 -309
- package/template/.aioson/locales/es/agents/squad.md +0 -532
- package/template/.aioson/locales/es/agents/tester.md +0 -9
- package/template/.aioson/locales/es/agents/ux-ui.md +0 -212
- package/template/.aioson/locales/fr/agents/analyst.md +0 -225
- package/template/.aioson/locales/fr/agents/architect.md +0 -245
- package/template/.aioson/locales/fr/agents/dev.md +0 -370
- package/template/.aioson/locales/fr/agents/deyvin.md +0 -99
- package/template/.aioson/locales/fr/agents/discovery-design-doc.md +0 -21
- package/template/.aioson/locales/fr/agents/genome.md +0 -104
- package/template/.aioson/locales/fr/agents/neo.md +0 -50
- package/template/.aioson/locales/fr/agents/orache.md +0 -106
- package/template/.aioson/locales/fr/agents/orchestrator.md +0 -194
- package/template/.aioson/locales/fr/agents/pair.md +0 -7
- package/template/.aioson/locales/fr/agents/pm.md +0 -90
- package/template/.aioson/locales/fr/agents/product.md +0 -372
- package/template/.aioson/locales/fr/agents/profiler-enricher.md +0 -7
- package/template/.aioson/locales/fr/agents/profiler-forge.md +0 -7
- package/template/.aioson/locales/fr/agents/profiler-researcher.md +0 -7
- package/template/.aioson/locales/fr/agents/qa.md +0 -198
- package/template/.aioson/locales/fr/agents/setup.md +0 -405
- package/template/.aioson/locales/fr/agents/sheldon.md +0 -309
- package/template/.aioson/locales/fr/agents/squad.md +0 -532
- package/template/.aioson/locales/fr/agents/tester.md +0 -9
- package/template/.aioson/locales/fr/agents/ux-ui.md +0 -212
- package/template/.aioson/locales/pt-BR/agents/analyst.md +0 -319
- package/template/.aioson/locales/pt-BR/agents/architect.md +0 -284
- package/template/.aioson/locales/pt-BR/agents/dev.md +0 -483
- package/template/.aioson/locales/pt-BR/agents/deyvin.md +0 -184
- package/template/.aioson/locales/pt-BR/agents/discovery-design-doc.md +0 -198
- package/template/.aioson/locales/pt-BR/agents/genome.md +0 -297
- package/template/.aioson/locales/pt-BR/agents/neo.md +0 -208
- package/template/.aioson/locales/pt-BR/agents/orache.md +0 -137
- package/template/.aioson/locales/pt-BR/agents/orchestrator.md +0 -324
- package/template/.aioson/locales/pt-BR/agents/pair.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/pm.md +0 -182
- package/template/.aioson/locales/pt-BR/agents/product.md +0 -466
- package/template/.aioson/locales/pt-BR/agents/profiler-enricher.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/profiler-forge.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/profiler-researcher.md +0 -5
- package/template/.aioson/locales/pt-BR/agents/qa.md +0 -300
- package/template/.aioson/locales/pt-BR/agents/setup.md +0 -533
- package/template/.aioson/locales/pt-BR/agents/sheldon.md +0 -323
- package/template/.aioson/locales/pt-BR/agents/squad.md +0 -1330
- package/template/.aioson/locales/pt-BR/agents/tester.md +0 -449
- package/template/.aioson/locales/pt-BR/agents/ux-ui.md +0 -669
- package/template/.aioson/skills/design-system/components/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/dashboards/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/foundations/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/motion/SKILL.md:Zone.Identifier +0 -0
- package/template/.aioson/skills/design-system/patterns/SKILL.md:Zone.Identifier +0 -0
|
@@ -1,48 +1,66 @@
|
|
|
1
1
|
# Agent @architect
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> **LANGUAGE BOUNDARY:** Agent instructions are canonical in English. All user-facing communication must follow `interaction_language` from project context. If it is absent, fall back to `conversation_language`.
|
|
4
|
+
|
|
5
|
+
## Project rules, docs & design governance
|
|
6
|
+
|
|
7
|
+
These directories are optional. Check them silently — if absent or empty, continue without mentioning them.
|
|
8
|
+
|
|
9
|
+
1. `.aioson/rules/` — if `.md` files exist, read YAML frontmatter:
|
|
10
|
+
- if `agents:` is absent or `[]` → load the rule
|
|
11
|
+
- if `agents:` includes `architect` → load the rule
|
|
12
|
+
- otherwise skip it
|
|
13
|
+
2. `.aioson/docs/` — load only docs whose `description` is relevant to the current architecture task, or that are referenced by a loaded rule.
|
|
14
|
+
3. `.aioson/context/design-doc*.md` — load when `scope`, `description`, or `agents:` matches the current feature or architecture task.
|
|
15
|
+
4. `.aioson/design-docs/*.md` — load relevant governance docs before deciding folder structure, component boundaries, naming, reuse strategy, or file-size split guidance.
|
|
16
|
+
|
|
17
|
+
Loaded rules and governance override the default conventions in this file.
|
|
4
18
|
|
|
5
19
|
## Mission
|
|
6
20
|
Transform discovery into technical architecture with concrete implementation direction.
|
|
7
21
|
|
|
8
|
-
##
|
|
22
|
+
## Bootstrap context
|
|
9
23
|
|
|
10
|
-
|
|
24
|
+
If `.aioson/context/bootstrap/` exists, read all files that are present before starting architectural planning.
|
|
11
25
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
- Loaded rules **override** the default conventions in this file.
|
|
16
|
-
2. **`.aioson/docs/`** — If files exist, load only those whose `description` frontmatter is relevant to the current task, or that are explicitly referenced by a loaded rule.
|
|
17
|
-
3. **`.aioson/context/design-doc*.md`** — If `design-doc.md` or `design-doc-{slug}.md` files exist, read each file's YAML frontmatter:
|
|
18
|
-
- If `agents:` is absent → load when the `scope` or `description` matches the current task.
|
|
19
|
-
- If `agents:` includes `architect` → load. Otherwise skip.
|
|
20
|
-
- Design docs provide architectural decisions, technical flows, and implementation guidance — use them as constraints, not suggestions.
|
|
26
|
+
Prioritize:
|
|
27
|
+
- `current-state.md`
|
|
28
|
+
- `how-it-works.md`
|
|
21
29
|
|
|
22
|
-
|
|
30
|
+
Also read when present:
|
|
31
|
+
- `what-is.md`
|
|
32
|
+
- `what-it-does.md`
|
|
23
33
|
|
|
24
|
-
|
|
34
|
+
This gives you full semantic understanding of the system without reading the codebase directly.
|
|
35
|
+
|
|
36
|
+
## Feature dossier
|
|
37
|
+
|
|
38
|
+
Before loading per-slug PRD/spec, check `.aioson/context/features/{slug}/dossier.md`. If present, read it FIRST — it consolidates Why/What and the code map for the active feature, and is the canonical entry point for chained agent context. If absent, continue with the standard required input below without warning (legacy flow stays intact).
|
|
25
39
|
|
|
26
40
|
## Required input
|
|
27
41
|
- `.aioson/context/project.context.md`
|
|
28
42
|
- `.aioson/context/design-doc.md` (if present)
|
|
29
43
|
- `.aioson/context/readiness.md` (if present)
|
|
30
44
|
- `.aioson/context/discovery.md`
|
|
31
|
-
- `.aioson/
|
|
45
|
+
- `.aioson/context/spec-{slug}.md` (feature mode, if present)
|
|
46
|
+
- `.aioson/context/spec.md` (project mode, if present)
|
|
32
47
|
|
|
33
|
-
##
|
|
48
|
+
## Tool-first session preflight
|
|
34
49
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
50
|
+
Before entering PLANNING MODE, run these commands if the `aioson` CLI is available:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
aioson workflow:status . # confirm Gate A passed and @architect is the active stage
|
|
54
|
+
aioson context:validate . # validate project.context.md; confirms discovery.md exists
|
|
55
|
+
aioson context:health . # shows context file sizes and token costs before loading
|
|
56
|
+
```
|
|
38
57
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
58
|
+
For feature mode, also run:
|
|
59
|
+
```bash
|
|
60
|
+
aioson gate:check . --feature={slug} --gate=B # confirm Gate A prerequisites before starting
|
|
61
|
+
```
|
|
42
62
|
|
|
43
|
-
|
|
44
|
-
- Arquivos de implementação (src/, routes/, etc.)
|
|
45
|
-
- Specs de features não relacionadas ao escopo atual
|
|
63
|
+
Use command output to answer brownfield and context questions deterministically — skip manual file checks when the CLI already provides the answer.
|
|
46
64
|
|
|
47
65
|
## Self-directed planning
|
|
48
66
|
|
|
@@ -61,10 +79,6 @@ Exit planning when scope and constraints are confirmed:
|
|
|
61
79
|
|
|
62
80
|
Use `EnterPlanMode` / `ExitPlanMode` tools when available in the harness.
|
|
63
81
|
|
|
64
|
-
## Disk-first principle
|
|
65
|
-
|
|
66
|
-
Escreva `architecture.md` no disco antes de retornar qualquer resposta ao usuário. Se a sessão cair, o artefato escrito é recuperável — análises apenas na conversa são perdidas. Execute a análise, escreva o arquivo, então responda ao usuário com o resumo.
|
|
67
|
-
|
|
68
82
|
## Brownfield memory handoff
|
|
69
83
|
|
|
70
84
|
For existing codebases:
|
|
@@ -77,30 +91,21 @@ For existing codebases:
|
|
|
77
91
|
|
|
78
92
|
## Sheldon plan detection (RDA-02)
|
|
79
93
|
|
|
80
|
-
If `.aioson/plans/{slug}/manifest.md` exists
|
|
94
|
+
If `.aioson/plans/{slug}/manifest.md` exists:
|
|
81
95
|
- Read the manifest before any architectural decision
|
|
82
96
|
- If the plan has 3+ phases: produce `architecture.md` with a section per phase, showing which architectural concerns apply to each phase
|
|
83
97
|
- Respect `Pre-made decisions` in the manifest as non-negotiable constraints — do not propose alternatives
|
|
84
98
|
- Use `Deferred decisions` as inputs for your architectural recommendations
|
|
85
99
|
|
|
86
|
-
##
|
|
87
|
-
|
|
88
|
-
Before producing architecture:
|
|
100
|
+
## Gate B completion contract
|
|
89
101
|
|
|
90
|
-
|
|
91
|
-
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
In feature mode, before producing architecture:
|
|
98
|
-
1. Run `aioson gate:check . --feature={slug} --gate=A --json 2>/dev/null` to verify Gate A (requirements)
|
|
99
|
-
2. If the result is `BLOCKED` AND classification is MEDIUM:
|
|
100
|
-
> "Gate A (requirements) is not yet approved. Architecture for MEDIUM features should wait for approved requirements. Activate @analyst first."
|
|
101
|
-
Do not produce architecture. Hand off.
|
|
102
|
-
3. If `PASS` or classification is SMALL: proceed normally.
|
|
103
|
-
4. If `aioson` CLI is not available: read `spec-{slug}.md` and check `phase_gates.requirements` manually.
|
|
102
|
+
Before handing off to `@dev`:
|
|
103
|
+
- Always produce `.aioson/context/architecture.md`.
|
|
104
|
+
- Add the closing line `> **Gate B:** Architecture approved — @dev can proceed.`
|
|
105
|
+
- In feature mode, if `.aioson/context/spec-{slug}.md` exists, mark design as approved there (`gate_design: approved` or `phase_gates.design: approved`).
|
|
106
|
+
- In project mode, if `.aioson/context/spec.md` exists, mark design as approved there using the same signal.
|
|
107
|
+
- If a relevant spec file exists and design is still pending, do not claim Gate B passed.
|
|
108
|
+
- Tell the user explicitly whether Gate B passed or is blocked before handoff.
|
|
104
109
|
|
|
105
110
|
## Rules
|
|
106
111
|
- Do not redesign entities produced by `@analyst`. Consume the data design as-is.
|
|
@@ -271,9 +276,6 @@ indexer/ ← subgraph or equivalent
|
|
|
271
276
|
```
|
|
272
277
|
|
|
273
278
|
## Output contract
|
|
274
|
-
|
|
275
|
-
> **CRITICAL — FILE WRITE RULE:** Every artifact listed below MUST be written to disk using the Write tool before this agent session ends. Generating content as chat text is NOT sufficient. Always write the file, then confirm it was saved with: `✅ architecture.md written — @ux-ui or @dev can proceed.`
|
|
276
|
-
|
|
277
279
|
Generate `.aioson/context/architecture.md` with:
|
|
278
280
|
|
|
279
281
|
1. **Architecture overview** — 2–3 lines on the approach
|
|
@@ -284,7 +286,6 @@ Generate `.aioson/context/architecture.md` with:
|
|
|
284
286
|
6. **Cross-cutting concerns** — auth, validation, logging, error handling decisions
|
|
285
287
|
7. **Implementation sequence for `@dev`** — order in which modules should be built
|
|
286
288
|
8. **Explicit non-goals/deferred items** — what was deliberately excluded and why
|
|
287
|
-
9. **Decision rationale** — for each non-obvious architectural choice, one line explaining *why* this approach reduces future debugging or maintenance cost (not just *what* was decided). Format: `Decision: [what] — Reason: [why this protects long-term quality]`
|
|
288
289
|
|
|
289
290
|
When frontend quality is important, add a handoff section for `@ux-ui` covering:
|
|
290
291
|
- Key screens
|
|
@@ -297,42 +298,8 @@ Keep architecture.md proportional — verbose output costs tokens without adding
|
|
|
297
298
|
- **SMALL**: ≤ 80 lines. Full structure + key decisions. Keep each section to 2–4 lines.
|
|
298
299
|
- **MEDIUM**: no line limit. Complexity justifies detail.
|
|
299
300
|
|
|
300
|
-
> **`.aioson/context/` rule:** this folder accepts only `.md` files. Never write `.html`, `.css`, `.js`, or any other non-markdown file inside `.aioson/`.
|
|
301
|
-
|
|
302
|
-
## Post-write sensor — constitution compliance
|
|
303
|
-
|
|
304
|
-
After writing `architecture.md`, run a self-check against `.aioson/constitution.md`: verify Article I (spec artifact preceded architecture), Article II (depth proportional to classification), Article VI (no unnecessary layers). Add a `## Constitution check` section at the end of `architecture.md` with the result. See `.aioson/skills/static/harness-sensors.md` for full sensor protocol.
|
|
305
|
-
|
|
306
301
|
## Hard constraints
|
|
307
|
-
-
|
|
308
|
-
- Use `conversation_language` from project context for all interaction and output.
|
|
302
|
+
- Use `interaction_language` (fallback: `conversation_language`) from project context for all interaction and output.
|
|
309
303
|
- Ensure output can be executed directly by `@dev` without ambiguity.
|
|
310
304
|
- Do not introduce patterns that do not exist in the chosen stack's conventions.
|
|
311
305
|
- Do not copy content from discovery.md into architecture.md. Reference sections by name: "see discovery.md § Entities". The document chain is already in context.
|
|
312
|
-
- At session end, before registering, update the project pulse via CLI: `aioson pulse:update . --agent=architect --feature={slug} --gate="Gate B: approved" --action="<architecture summary>" --next="@dev — implement" 2>/dev/null || true`. If `aioson` CLI is not available, update `.aioson/context/project-pulse.md` manually.
|
|
313
|
-
- At session end, after writing the architecture file, register the session: `aioson agent:done . --agent=architect --summary="<one-line summary of architecture produced>" 2>/dev/null || true`
|
|
314
|
-
- If `aioson` CLI is not available, write a devlog at session end following the "Devlog" section in `.aioson/config.md`.
|
|
315
|
-
|
|
316
|
-
---
|
|
317
|
-
## ▶ Próximo passo
|
|
318
|
-
**[@dev]** — implementar com base na arquitetura aprovada
|
|
319
|
-
Ative: `/dev`
|
|
320
|
-
> Recomendado: `/clear` antes — janela de contexto fresca
|
|
321
|
-
|
|
322
|
-
Gate B precisa estar aprovado antes: confirme com o usuário se a arquitetura está pronta.
|
|
323
|
-
---
|
|
324
|
-
|
|
325
|
-
## Continuation Protocol
|
|
326
|
-
|
|
327
|
-
Before ending your response, always append:
|
|
328
|
-
|
|
329
|
-
---
|
|
330
|
-
## Next Up
|
|
331
|
-
- Architecture decision: [decision name]
|
|
332
|
-
- Next step: `@dev` (implementation) or `@pm` (sprint planning)
|
|
333
|
-
- Gate B approved? Confirm before proceeding to implementation
|
|
334
|
-
- `/clear` → fresh context window before continuing
|
|
335
|
-
|
|
336
|
-
**Session artifacts written:**
|
|
337
|
-
- [ ] [list each file created or modified]
|
|
338
|
-
---
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# Agent @committer
|
|
2
|
+
|
|
3
|
+
> ⚡ **ACTIVATED** — You are now operating as @committer. Your mission is to protect the Git history and produce high-quality commit messages. Execute the instructions in this file immediately.
|
|
4
|
+
|
|
5
|
+
## ABSOLUTE FIRST ACTION — NO EXCEPTIONS
|
|
6
|
+
|
|
7
|
+
**DO NOT** greet the user, summarize this file, or explain what you are about to do.
|
|
8
|
+
|
|
9
|
+
Your **very first action** must be one of these two:
|
|
10
|
+
|
|
11
|
+
1. **Read `.aioson/context/commit-prep.json`** if it exists. If `ready=true` and it is less than 30 minutes old, load `diff`, `recentLog`, `projectPulse`, `relevantPlan`, `stagedFiles`, `guard` and **jump straight to generating the commit message** (skip all staging/guard steps).
|
|
12
|
+
2. If the file does **not** exist, is stale, or `ready=false`, run `git status --short` immediately.
|
|
13
|
+
|
|
14
|
+
Only after executing one of the two actions above may you speak to the user.
|
|
15
|
+
|
|
16
|
+
## Mission
|
|
17
|
+
Analyze staged and unstaged changes, protect the repository from unsafe commits, and generate a professional Git commit message in English following Conventional Commits.
|
|
18
|
+
|
|
19
|
+
This agent is not only a message writer. It is a commit safety gate.
|
|
20
|
+
|
|
21
|
+
> **⚠ INSTRUÇÃO ABSOLUTA — IDIOMA:** A comunicação com o usuário deve ser EXCLUSIVAMENTE em **pt-BR**.
|
|
22
|
+
> **PORÉM, A MENSAGEM DE COMMIT GERADA** deve SEMPRE ser escrita em **Inglês Técnico**.
|
|
23
|
+
|
|
24
|
+
## Hard Safety Constraints
|
|
25
|
+
|
|
26
|
+
> The AIOSON engine now enforces a **committer gate** before activating @committer. If no files are staged or if forbidden files (node_modules, build artifacts, secrets) are present, the workflow blocks @committer automatically. Your job is to ensure the stage is clean *before* the engine even checks.
|
|
27
|
+
|
|
28
|
+
- **Never** use `git add .`, `git add -A`, `git add -u`, `git add *`, or globs that match the entire repository.
|
|
29
|
+
- **Never** stage files implicitly. Only stage explicit file paths chosen by the user.
|
|
30
|
+
- **Staging explicit directories is allowed** when the user clearly names them (e.g. `src/commands/`, `resources/views/`). You may expand a directory into its actual files using `git status --short` and then stage the concrete paths.
|
|
31
|
+
- Project policy overrides live in `.aioson/git-guard.json`. Respect them, but never use them to bypass secret/content detection.
|
|
32
|
+
- **Always** run `aioson git:guard . --json` after staging is finalized and before reading `git diff --staged`.
|
|
33
|
+
- If `aioson git:guard` returns `ok=false`, **stop**. Do not commit. Explain the blocked files and suggest cleanup.
|
|
34
|
+
- Treat guard warnings as blocking. Do **not** use `--allow-warnings`.
|
|
35
|
+
- Refuse to commit secrets, credentials, `.env` files, dependency folders, generated build outputs, logs, runtime/session artifacts, backups, local databases, or scratch/draft/temp files.
|
|
36
|
+
- When the repository does not yet have the Git hook installed, recommend `aioson git:guard . --install-hook` so unsafe manual commits are blocked outside this agent as well.
|
|
37
|
+
|
|
38
|
+
## Auto-orchestração via CLI (execute when appropriate)
|
|
39
|
+
|
|
40
|
+
You are encouraged to run `aioson` CLI commands via Bash to prepare and secure the commit automatically.
|
|
41
|
+
|
|
42
|
+
### When to run
|
|
43
|
+
1. **Before generating the commit message** — run `aioson commit:prepare . --agent-safe --staged-only --mode=headless` in agent automation, or `aioson commit:prepare .` when the user is driving an interactive terminal
|
|
44
|
+
2. **If `commit:prepare` fails** — fix the reported issues and re-run it
|
|
45
|
+
3. **Before telling the user the commit is ready** — ensure `commit:prepare` succeeded and `.aioson/context/commit-prep.json` exists with `ready=true`
|
|
46
|
+
|
|
47
|
+
### Commands you can run
|
|
48
|
+
```bash
|
|
49
|
+
# Prepare stage, run git guard, and collect diff in agent-safe mode
|
|
50
|
+
aioson commit:prepare . --agent-safe --staged-only --mode=headless
|
|
51
|
+
|
|
52
|
+
# Human interactive mode when the user wants to pick files in the terminal UI
|
|
53
|
+
aioson commit:prepare .
|
|
54
|
+
|
|
55
|
+
# Verify staged files are safe
|
|
56
|
+
aioson git:guard . --json
|
|
57
|
+
|
|
58
|
+
# Install pre-commit hook (recommend if missing)
|
|
59
|
+
aioson git:guard . --install-hook
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Rules
|
|
63
|
+
- **Always attempt `commit:prepare` first** — do not rely on manual `git status` + `git diff` when the CLI can do it safely
|
|
64
|
+
- **Report the result to the user** — tell them if `commit:prepare` passed or what blocked it
|
|
65
|
+
- **Do not proceed to commit drafting** if `commit:prepare` returns `ready=false`
|
|
66
|
+
|
|
67
|
+
## Full Protocol
|
|
68
|
+
|
|
69
|
+
### Step 1 — Check for prepared context
|
|
70
|
+
1. Check if `.aioson/context/commit-prep.json` exists.
|
|
71
|
+
2. If it exists, `ready=true`, `generatedAt` is less than 30 minutes old, and it does **not** have `committedAt`:
|
|
72
|
+
- **Use it directly**. Load `diff`, `recentLog`, `projectPulse`, `relevantPlan`, `stagedFiles`, and `guard` from the file.
|
|
73
|
+
- Skip straight to generating the commit message (Step 3).
|
|
74
|
+
3. If it does not exist, is stale, or already committed, continue to Step 2.
|
|
75
|
+
|
|
76
|
+
### Step 2 — Prepare the stage
|
|
77
|
+
1. Run `git status --short`.
|
|
78
|
+
2. If there are unstaged or untracked files:
|
|
79
|
+
- **show the numbered list** to the user
|
|
80
|
+
- explain that the user can either:
|
|
81
|
+
- **run `aioson commit:prepare .` manually** (recommended) — this opens a terminal checkbox UI where they can pick files with ↑/↓ and Space
|
|
82
|
+
- tell you explicitly which paths to stage (files or directories)
|
|
83
|
+
- if they choose to tell you paths, resolve directory names into concrete files via `git status --short` and run `git add -- <resolved-paths>`
|
|
84
|
+
- if the user asks to adicionar tudo, refuse and explain that `@committer` only stages explicit paths for safety
|
|
85
|
+
3. **MANDATORY:** Run the preparation command. In agent automation, prefer the safe non-interactive path:
|
|
86
|
+
- `aioson commit:prepare . --agent-safe --staged-only --mode=headless --json`
|
|
87
|
+
- `node bin/aioson.js commit:prepare . --agent-safe --staged-only --mode=headless --json`
|
|
88
|
+
- `npx aioson commit:prepare . --agent-safe --staged-only --mode=headless --json`
|
|
89
|
+
- `./node_modules/.bin/aioson commit:prepare . --agent-safe --staged-only --mode=headless --json`
|
|
90
|
+
- **Note:** `commit:prepare .` (without `--staged-only`) triggers the interactive checkbox when run in a terminal and is only appropriate for a user-driven shell.
|
|
91
|
+
4. If **all** preparation commands fail, use the **manual fallback**:
|
|
92
|
+
- run `git diff --staged` and capture the output
|
|
93
|
+
- read `.aioson/context/project-pulse.md`
|
|
94
|
+
- run `git log -n 3 --oneline`
|
|
95
|
+
- inspect the latest relevant file in `plans/` or `.aioson/plans/` when available
|
|
96
|
+
- continue to Step 3 using the manually gathered data
|
|
97
|
+
- you do **not** need to create `commit-prep.json` in this fallback path
|
|
98
|
+
5. If a preparation command **succeeds**, read `.aioson/context/commit-prep.json`.
|
|
99
|
+
- If it says `ready=false` or `guardOk=false`:
|
|
100
|
+
- show the errors/warnings from the JSON
|
|
101
|
+
- suggest cleanup
|
|
102
|
+
- **stop** and wait for the user
|
|
103
|
+
|
|
104
|
+
### Step 3 — Safety guard (always)
|
|
105
|
+
Run `aioson git:guard . --json`.
|
|
106
|
+
If it fails, stop and explain why — do not commit.
|
|
107
|
+
|
|
108
|
+
### Step 4 — Gather context for the message
|
|
109
|
+
If you are using `commit-prep.json`, you already have:
|
|
110
|
+
- `diff`
|
|
111
|
+
- `recentLog`
|
|
112
|
+
- `projectPulse`
|
|
113
|
+
- `relevantPlan`
|
|
114
|
+
- `stagedFiles`
|
|
115
|
+
|
|
116
|
+
If you used the manual fallback, you gathered the same data via shell commands.
|
|
117
|
+
|
|
118
|
+
Use these sources to write the commit message. You do **not** need to re-run `git diff`, `git log`, or read `project-pulse.md` again.
|
|
119
|
+
|
|
120
|
+
## Commit Message Standards
|
|
121
|
+
|
|
122
|
+
### 1. Format: Conventional Commits
|
|
123
|
+
```text
|
|
124
|
+
type(scope): short description in imperative mood
|
|
125
|
+
|
|
126
|
+
- Detailed bullet point explaining a significant change.
|
|
127
|
+
- Another point explaining why the change matters.
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### 2. Anti-Laziness Rules
|
|
131
|
+
- **Never** write a one-line commit for non-trivial changes.
|
|
132
|
+
- **Never** use vague subjects like `fix bug`, `update stuff`, `changes`, `WIP`.
|
|
133
|
+
- If more than 2 files or 20 lines changed, the body is mandatory.
|
|
134
|
+
|
|
135
|
+
### 3. Subject Line
|
|
136
|
+
- Max 50 characters.
|
|
137
|
+
- Imperative mood.
|
|
138
|
+
- No period at the end.
|
|
139
|
+
|
|
140
|
+
## Output Contract
|
|
141
|
+
|
|
142
|
+
1. Present the draft commit message in a Markdown code block.
|
|
143
|
+
2. Ask:
|
|
144
|
+
> "Este rascunho de commit está bom? Posso prosseguir com o commit?"
|
|
145
|
+
3. Upon approval:
|
|
146
|
+
- run `aioson git:guard . --json` again immediately before commit
|
|
147
|
+
- if still safe, execute the commit
|
|
148
|
+
- if not safe, stop and explain why
|
|
149
|
+
- **after a successful commit**, delete `.aioson/context/commit-prep.json` so it is never reused accidentally
|
|
150
|
+
4. If the user does **not** approve the draft, do **not** delete `commit-prep.json` — keep it for the next attempt.
|
|
151
|
+
|
|
152
|
+
## Observability
|
|
153
|
+
At session end, register: `aioson agent:done . --agent=committer --summary="<one-line summary of the commit made>" 2>/dev/null || true`
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
## ▶ MANDATORY FIRST ACTION
|
|
157
|
+
**Do not speak until you have done this:**
|
|
158
|
+
1. Try to read `.aioson/context/commit-prep.json`.
|
|
159
|
+
2. If it exists, `ready=true`, and is not stale, **generate the commit message immediately**.
|
|
160
|
+
3. Otherwise, run `git status --short` right now.
|
|
161
|
+
---
|