brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
sap-workflow-pipelinePipeline automatizado spec → transport para ABAP com Business Workflow. Lê especificação, identifica módulo SAP, gera proposta técnica, implementa, roda abaplint, peer review com 9 dimensões, e produz transporte pronto. Incorpora conceitos de BOR (Business Object Repository), eventos, receivers e gestão de status do SAP Business Workflow.
Independent GitHub snapshot · Automated classification · Original documentation governs
name: sap-workflow-pipeline description: >- Pipeline automatizado spec → transport para ABAP com Business Workflow. Lê especificação, identifica módulo SAP, gera proposta técnica, implementa, roda abaplint, peer review com 9 dimensões, e produz transporte pronto. Incorpora conceitos de BOR (Business Object Repository), eventos, receivers e gestão de status do SAP Business Workflow. trigger:
Pipeline de 8 estágios: spec → análise → proposta → review → implementação → lint → crew analysis → transport gate. Integrado ao SAP Business Workflow: BOR object types, eventos, receivers e gestão de status.
scripts/sap_router.py)@abaplint/cli instaladoopenpyxl se usando XLSX: pip install openpyxl# Pipeline completo (8 estágios, ~50K tokens, 3-5 min)
python scripts/sap_router.py pipeline --spec requirements.md --module auto
# Fast mode: análise → implementação → lint (pula crew analysis, ~15K tokens)
python scripts/sap_router.py pipeline --spec requirements.md --mode fast
# Dry run: analisa spec, gera proposta, não escreve código
python scripts/sap_router.py pipeline --spec requirements.md --dry-run
# Resume a partir de estágio específico (após corrigir issues)
python scripts/sap_router.py pipeline --spec requirements.md --resume-from stage4
SPEC → 1.Análise → 2.Proposta → 3.Review1 → 4.Implementação
→ 5.Lint → 6.CrewAnalysis → 7.Review2 → 8.TransportGate → DONE
MODULE_ANALYSIS.mdTECHNICAL_PROPOSAL.mdabaplint + security gate + clean code gate.Conceitos de BOR e Workflow incorporados ao pipeline:
Eventos comunicam entre aplicação e workflow system. Usados para sincronizar
processos (ex: "Wait until document is released"). O object type é definido no
Business Object Repository (transação SWO1).
# Detecção de workflow events no spec analyzer
WORKFLOW_KEYWORDS = {
'event': ['event', 'trigger', 'BOR', 'object type', 'SWO1'],
'receiver': ['receiver', 'event receiver', 'linkage', 'SWE2'],
'status': ['status management', 'work item', 'SWI1', 'SWI2_FREQ'],
'decision': ['user decision', 'approval', 'reject', 'SBWP'],
}
SWO1 — BOR object type maintenanceSWE2 — Event linkage configurationPFTC — General task maintenance (PFTC_DIS=display, PFTC_CHG=change)SWI1 — Workflow log (overview of steps, container, agents)SBWP — Business workspace (workitem inbox)SWI2_FREQ — Work items per task frequency analysis" Obter objetos do work item (leading object como POR)
CALL FUNCTION 'SAP_WAPI_GET_OBJECTS'
EXPORTING
workitem_id = lv_wi_id
IMPORTING
leading_object = ls_por.
" Converter POR para runtime handle (BOR macro)
" Requer include <cntn01>
SWC_OBJECT_FROM_PERSISTENT ls_por lv_obj.
Work item status: WAITING → READY → IN_PROGRESS → COMPLETED/CANCELLED.
O pipeline valida status em Stage 3 (Review) e Stage 7 (Review 2).
Proposta inclui: Architecture (module, approach, object count), Classes
(ZCL_{MODULE}_HANDLER/HELPER), DDIC (Z{MODULE}_LOG audit table), Error
Handling (ZCX_{MODULE} + BAL + BAPIRET2 TABLES RETURN check), Authorization
(check at method entry + before BAPI), Test Strategy (ABAP Unit + risk level).
TABLES RETURN, nunca só IMPORTING.@abaplint/cli no CI. Rule changes flip gates.<cntn01> obrigatório para SWC_* macros. Sem ele = dump.SAP_WAPI_GET_OBJECTS
pode retornar POR de work item já CANCELLED.# 1. Verificar driver do skill (50 checks, exit 0 = pass)
python .Codex/skills/run-sap-router-skill/driver.py
# 2. Verificar MEMORY.md após pipeline
python scripts/memory_manager.py verify --input MEMORY.md
# 3. Verificar objetos deployados via ADT
# (via ADT MCP: read_source + syntax_check em cada objeto)
# 4. Verificar workflow log (se BOR events envolvidos)
# Transação SWI1 no SAP: filtrar por task/template ID
# 5. Verificar event linkage ativo
# Transação SWE2: confirmar linkage ENABLED para o object type/event
# 6. Verificar workitem inbox
# Transação SBWP: confirmar work items criados e assigned corretamente
# 7. Verificar transport
python scripts/sap_router.py transport-status --tr DEVK900043
Cada estágio escreve um bloco em MEMORY.md (máx 20 blocos, 100 linhas):
### [14:32] WORKFLOW/MM-CreateMaterial-Spec
status:OK | stage:1 | module:MM | bapi:BAPI_MATERIAL_SAVEDATA
### [14:50] WORKFLOW/MM-CreateMaterial-Transport
status:GO | stage:8 | tr:DEVK900043 | release:APPROVED
SAP_WAPI_*SWC_* macros sem include <cntn01>