Guia do Sistema de Greeting Contextual
Story: 6.1.2.5 - Contextual Agent Load System Status: Componentes Implementados, Integração Pendente Data: 2025-01-15
Visão Geral
O Sistema de Greeting Contextual é uma melhoria de UX que torna os greetings dos agentes AIOS inteligentes e adaptativos, mostrando informações e comandos relevantes baseados no contexto da sessão.
O Que Foi Implementado
Componentes Core (Story 6.1.2.5)
-
ContextDetector (
.aios-core/core/session/context-detector.js)- Detecta tipo de sessão:
new,existing, ouworkflow - Abordagem híbrida: histórico de conversação (preferido) + arquivo de sessão (fallback)
- TTL de 1 hora para sessões inativas
- Detecta tipo de sessão:
-
GitConfigDetector (
.aios-core/infrastructure/scripts/git-config-detector.js)- Detecta configuração do git do projeto
- Cache com TTL de 5 minutos
- Proteção de timeout de 1000ms
-
GreetingBuilder (
.aios-core/development/scripts/greeting-builder.js)- Monta greetings contextuais baseados no tipo de sessão
- Filtra comandos por visibilidade (full/quick/key)
- Timeout de 150ms com fallback gracioso
-
WorkflowNavigator (
.aios-core/development/scripts/workflow-navigator.js)- Detecta estado do workflow atual
- Sugere próximos comandos baseado no estado
- Pre-popula comandos com contexto (story path, branch)
-
Workflow Patterns (
.aios-core/data/workflow-patterns.yaml)- 10 workflows comuns definidos
- Transições de estado com sugestões de próximos passos
- Padrões validados contra uso real do projeto
Pendente (Story Futura - 6.1.4 ou 6.1.6)
Integração com Processo de Ativação:
- Interceptar ativação do agente (quando você digita
@dev,@po, etc.) - Chamar GreetingBuilder automaticamente
- Injetar greeting contextual no lugar do greeting padrão
Tipos de Sessão
1. New Session (Sessão Nova)
Quando: Primeira interação ou após 1 hora de inatividade
Características:
- Apresentação completa (greeting archetypal)
- Descrição do papel do agente
- Status do projeto (se git configurado)
- Comandos completos (até 12 comandos com visibility=full)
Exemplo:
Dex (Builder) ready. Let's build something solid!
**Role:** Full Stack Developer specializing in clean, maintainable code
Project Status:
main
5 modified files
Last commit: feat: implement greeting system
**Available Commands:**
- `*help`: Show all available commands
- `*develop`: Implement story tasks
- `*review-code`: Review code changes
- `*run-tests`: Execute test suite
- `*build`: Build for production
... (até 12 comandos)2. Existing Session (Sessão Existente)
Quando: Continuando trabalho na mesma sessão
Características:
- Apresentação resumida (greeting named)
- Status do projeto
- Contexto atual (última ação)
- Comandos rápidos (6-8 comandos com visibility=quick)
Exemplo:
Dex (Builder) ready.
Project Status:
feature/story-6.1.2.5
3 modified files
**Last Action:** review-code
**Quick Commands:**
- `*help`: Show help
- `*develop`: Implement story
- `*review-code`: Review code
- `*run-tests`: Run tests
- `*qa-gate`: Run quality gate
... (6-8 comandos mais usados)3. Workflow Session (Sessão em Workflow)
Quando: No meio de um workflow ativo (ex: após validar story)
Características:
- Apresentação mínima (greeting minimal)
- Status condensado do projeto
- Contexto do workflow (working on X)
- Sugestões de próximos passos (NEW!)
- Comandos chave (3-5 comandos com visibility=key)
Exemplo:
Pax ready.
main | 5 modified | STORY-6.1.2.5
**Context:** Working on Story 6.1.2.5
**Story validated! Next steps:**
1. `*develop-yolo story-6.1.2.5.md` - Autonomous mode (no interruptions)
2. `*develop-interactive story-6.1.2.5.md` - Interactive mode with checkpoints
3. `*develop-preflight story-6.1.2.5.md` - Plan first, then execute
**Key Commands:**
- `*help`: Show help
- `*validate-story-draft`: Validate story
- `*backlog-summary`: Quick backlog statusSistema de Visibilidade de Comandos
Metadados de Comandos
Cada comando agora tem um atributo visibility que controla quando ele aparece:
commands:
- name: help
visibility: [full, quick, key] # Sempre visível
description: "Show all available commands"
- name: develop
visibility: [full, quick, key] # Comando principal
description: "Implement story tasks"
- name: review-code
visibility: [full, quick] # Usado frequentemente, mas não crítico
description: "Review code changes"
- name: build
visibility: [full] # Menos usado, só em new session
description: "Build for production"
- name: qa-gate
visibility: [key] # Crítico em workflows, mas não sempre necessário
description: "Run quality gate"Guidelines de Categorização
full (12 comandos) - New Session
- Todos os comandos disponíveis
- Mostra capacidades completas do agente
- Ideal para descoberta
quick (6-8 comandos) - Existing Session
- Comandos usados frequentemente
- Focado em produtividade
- Remove comandos raramente usados
key (3-5 comandos) - Workflow Session
- Comandos críticos para o workflow atual
- Mínimo de distração
- Máxima eficiência
Navegação de Workflow
Workflows Definidos
10 workflows comuns:
- story_development - Validate -> Develop -> QA -> Deploy
- epic_creation - Create epic -> Create stories -> Validate
- backlog_management - Review -> Prioritize -> Schedule
- architecture_review - Analyze -> Document -> Review
- git_workflow - Quality gate -> PR -> Merge
- database_workflow - Design -> Migrate -> Test
- code_quality_workflow - Assess -> Refactor -> Test
- documentation_workflow - Research -> Document -> Sync
- ux_workflow - Design -> Implement -> Validate
- research_workflow - Brainstorm -> Analyze -> Document
Transições de Estado
Cada workflow define transições entre estados com:
- Trigger: Comando que completa com sucesso
- Greeting Message: Mensagem contextual
- Next Steps: Sugestões de próximos comandos com args pré-populados
Exemplo (Story Development):
story_development:
transitions:
validated:
trigger: "validate-story-draft completed successfully"
greeting_message: "Story validated! Ready to implement."
next_steps:
- command: develop-yolo
args_template: "${story_path}"
description: "Autonomous YOLO mode (no interruptions)"
- command: develop-interactive
args_template: "${story_path}"
description: "Interactive mode with checkpoints (default)"
- command: develop-preflight
args_template: "${story_path}"
description: "Plan everything upfront, then execute"Como Testar Agora
Opção 1: Script de Teste Automático
node .aios-core/development/scripts/test-greeting-system.jsEste script testa os 4 cenários:
- New session greeting (Dev)
- Existing session greeting (Dev)
- Workflow session greeting (PO)
- Simple greeting fallback
Opção 2: Teste Manual via Node REPL
const GreetingBuilder = require('./.aios-core/development/scripts/greeting-builder');
const builder = new GreetingBuilder();
// Mock agent
const mockAgent = {
name: 'Dex',
icon: '',
persona_profile: {
greeting_levels: {
named: 'Dex (Builder) ready!'
}
},
persona: { role: 'Developer' },
commands: [
{ name: 'help', visibility: ['full', 'quick', 'key'] }
]
};
// Test new session
builder.buildGreeting(mockAgent, { conversationHistory: [] })
.then(greeting => console.log(greeting));Opção 3: Aguardar Integração Completa
Quando a integração com o processo de ativação estiver implementada (Story 6.1.4/6.1.6), o sistema funcionará automaticamente ao ativar qualquer agente:
@dev -> Greeting contextual automático
@po -> Greeting contextual automático
@qa -> Greeting contextual automáticoArquivos Relacionados
Scripts Core
.aios-core/core/session/context-detector.js- Detecção de tipo de sessão.aios-core/infrastructure/scripts/git-config-detector.js- Detecção de git config.aios-core/development/scripts/greeting-builder.js- Montagem do greeting.aios-core/development/scripts/workflow-navigator.js- Navegação de workflow.aios-core/development/scripts/agent-exit-hooks.js- Hooks de saída (para persistência)
Arquivos de Dados
.aios-core/data/workflow-patterns.yaml- Definições de workflows
Testes
tests/unit/context-detector.test.js- 23 testestests/unit/git-config-detector.test.js- 19 testestests/unit/greeting-builder.test.js- 23 testestests/integration/performance.test.js- Validação de performance
Configuração
.aios-core/core-config.yaml- Configuração global (seções git + agentIdentity)
Agentes (Atualizados)
.aios-core/agents/dev.md- Metadata de visibilidade de comandos.aios-core/agents/po.md- Metadata de visibilidade de comandos.aios-core/agents/*.md- 9 agentes restantes (atualização pendente)
Próximos Passos
Imediato (Corrigir Problemas de Testes)
- Corrigir problemas de configuração de testes (1-2 horas)
- Executar suite completa de testes
- Executar testes de performance
Curto Prazo (Story 6.1.4 ou 6.1.6)
- Implementar integração com processo de ativação de agentes
- Atualizar 9 agentes restantes com metadata de visibilidade de comandos
- Testar com ativações reais de agentes
Longo Prazo (Story 6.1.2.6)
- Implementar aprendizado dinâmico de padrões de workflow
- Adicionar priorização de comandos baseada em uso
- Implementar dicas de colaboração entre agentes
Métricas de Performance
Alvo (da Story 6.1.2.5):
- Latência P50: <100ms
- Latência P95: <130ms
- Latência P99: <150ms (limite rígido)
Esperado (baseado em revisão de código):
- Git config (cache hit): <5ms
- Git config (cache miss): <50ms
- Detecção de contexto: <50ms
- I/O de arquivo de sessão: <10ms
- Matching de workflow: <20ms
- Total P99: ~100-120ms (bem abaixo do limite)
Otimizações:
- Execução paralela (Promise.all)
- Cache baseado em TTL
- Proteção de timeout
- Saída antecipada em cache hit
Compatibilidade Retroativa
100% Compatível:
- Agentes sem metadata de visibilidade mostram todos os comandos (max 12)
- Fallback gracioso para simple greeting em qualquer erro
- Zero breaking changes no processo de ativação
- Migração gradual (Fase 1: dev/po -> Fase 2: 9 restantes)
FAQ
P: Por que o greeting não está contextual quando ativo um agente agora? R: A integração com o processo de ativação ainda não foi implementada. Os componentes existem mas não são chamados automaticamente ainda.
P: Quando a integração será feita? R: Em uma story futura (provavelmente 6.1.4 ou 6.1.6). Depende do sistema de configuração de agentes.
P: Como posso testar agora?
R: Use o script de teste: node .aios-core/development/scripts/test-greeting-system.js
P: O que acontece se um agente não tiver metadata de visibilidade? R: Fallback: mostra todos os comandos (max 12). Não quebra nada.
P: Como adiciono metadata de visibilidade nos meus comandos? R: Veja a seção “Sistema de Visibilidade de Comandos” acima e os exemplos nos agents dev.md e po.md.
P: Posso desabilitar o greeting contextual?
R: Sim, via config: core-config.yaml -> agentIdentity.greeting.contextDetection: false
Documento Atualizado: 2025-01-15 Autor: Quinn (QA) + Dex (Dev) Story: 6.1.2.5 - Contextual Agent Load System