agentic-qe 3.5.4 → 3.6.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/.claude/agents/v3/README.md +1 -1
- package/.claude/agents/v3/qe-message-broker-tester.md +380 -0
- package/.claude/agents/v3/qe-middleware-validator.md +423 -0
- package/.claude/agents/v3/qe-odata-contract-tester.md +484 -0
- package/.claude/agents/v3/qe-pentest-validator.md +359 -0
- package/.claude/agents/v3/qe-qx-partner.md +85 -3
- package/.claude/agents/v3/qe-sap-idoc-tester.md +407 -0
- package/.claude/agents/v3/qe-sap-rfc-tester.md +357 -0
- package/.claude/agents/v3/qe-soap-tester.md +340 -0
- package/.claude/agents/v3/qe-sod-analyzer.md +528 -0
- package/.claude/agents/v3/templates/qx-report-template.html +437 -0
- package/.claude/skills/debug-loop/SKILL.md +61 -0
- package/.claude/skills/enterprise-integration-testing/SKILL.md +735 -0
- package/.claude/skills/middleware-testing-patterns/SKILL.md +798 -0
- package/.claude/skills/observability-testing-patterns/SKILL.md +930 -0
- package/.claude/skills/pentest-validation/SKILL.md +268 -0
- package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +708 -0
- package/.claude/skills/pentest-validation/schemas/output.json +281 -0
- package/.claude/skills/pentest-validation/scripts/validate.sh +402 -0
- package/.claude/skills/pr-review/SKILL.md +61 -0
- package/.claude/skills/qcsd-cicd-swarm/SKILL.md +315 -13
- package/.claude/skills/qcsd-development-swarm/SKILL.md +331 -16
- package/.claude/skills/qcsd-ideation-swarm/SKILL.md +258 -9
- package/.claude/skills/qcsd-refinement-swarm/SKILL.md +344 -22
- package/.claude/skills/release/SKILL.md +333 -0
- package/.claude/skills/skills-manifest.json +5 -4
- package/.claude/skills/wms-testing-patterns/SKILL.md +949 -0
- package/README.md +30 -21
- package/package.json +2 -2
- package/v3/CHANGELOG.md +57 -0
- package/v3/README.md +23 -20
- package/v3/assets/agents/v3/qe-message-broker-tester.md +380 -0
- package/v3/assets/agents/v3/qe-middleware-validator.md +423 -0
- package/v3/assets/agents/v3/qe-odata-contract-tester.md +484 -0
- package/v3/assets/agents/v3/qe-pentest-validator.md +359 -0
- package/v3/assets/agents/v3/qe-qx-partner.md +90 -12
- package/v3/assets/agents/v3/qe-sap-idoc-tester.md +407 -0
- package/v3/assets/agents/v3/qe-sap-rfc-tester.md +357 -0
- package/v3/assets/agents/v3/qe-soap-tester.md +340 -0
- package/v3/assets/agents/v3/qe-sod-analyzer.md +528 -0
- package/v3/assets/agents/v3/templates/qx-report-template.html +437 -0
- package/v3/assets/skills/debug-loop/SKILL.md +61 -0
- package/v3/assets/skills/enterprise-integration-testing/SKILL.md +735 -0
- package/v3/assets/skills/middleware-testing-patterns/SKILL.md +798 -0
- package/v3/assets/skills/observability-testing-patterns/SKILL.md +930 -0
- package/v3/assets/skills/pentest-validation/SKILL.md +268 -0
- package/v3/assets/skills/pentest-validation/evals/pentest-validation.yaml +708 -0
- package/v3/assets/skills/pentest-validation/schemas/output.json +281 -0
- package/v3/assets/skills/pentest-validation/scripts/validate.sh +402 -0
- package/v3/assets/skills/pr-review/SKILL.md +61 -0
- package/v3/assets/skills/qcsd-cicd-swarm/SKILL.md +2206 -0
- package/v3/assets/skills/qcsd-development-swarm/SKILL.md +2154 -0
- package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +2008 -1753
- package/v3/assets/skills/qcsd-refinement-swarm/SKILL.md +2398 -0
- package/v3/assets/skills/security-visual-testing/SKILL.md +223 -0
- package/v3/assets/skills/security-visual-testing/evals/security-visual-testing.yaml +163 -0
- package/v3/assets/skills/security-visual-testing/schemas/output.json +486 -0
- package/v3/assets/skills/security-visual-testing/scripts/validate.sh +748 -0
- package/v3/assets/skills/sfdipot-product-factors/SKILL.md +239 -0
- package/v3/assets/skills/test-idea-rewriting/SKILL.md +229 -0
- package/v3/assets/skills/wms-testing-patterns/SKILL.md +949 -0
- package/v3/dist/cli/bundle.js +10816 -4625
- package/v3/dist/cli/commands/coverage.d.ts.map +1 -1
- package/v3/dist/cli/commands/coverage.js +29 -0
- package/v3/dist/cli/commands/coverage.js.map +1 -1
- package/v3/dist/cli/commands/learning.d.ts.map +1 -1
- package/v3/dist/cli/commands/learning.js +9 -0
- package/v3/dist/cli/commands/learning.js.map +1 -1
- package/v3/dist/cli/commands/token-usage.d.ts.map +1 -1
- package/v3/dist/cli/commands/token-usage.js +6 -2
- package/v3/dist/cli/commands/token-usage.js.map +1 -1
- package/v3/dist/coordination/protocols/learning-consolidation.d.ts.map +1 -1
- package/v3/dist/coordination/protocols/learning-consolidation.js +1 -0
- package/v3/dist/coordination/protocols/learning-consolidation.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/coordinator.d.ts +8 -0
- package/v3/dist/domains/coverage-analysis/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/coordinator.js +67 -0
- package/v3/dist/domains/coverage-analysis/coordinator.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/interfaces.d.ts +33 -0
- package/v3/dist/domains/coverage-analysis/interfaces.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/plugin.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/plugin.js +17 -0
- package/v3/dist/domains/coverage-analysis/plugin.js.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.d.ts +125 -0
- package/v3/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.d.ts.map +1 -0
- package/v3/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +317 -0
- package/v3/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js.map +1 -0
- package/v3/dist/domains/coverage-analysis/services/index.d.ts +1 -0
- package/v3/dist/domains/coverage-analysis/services/index.d.ts.map +1 -1
- package/v3/dist/domains/coverage-analysis/services/index.js +4 -0
- package/v3/dist/domains/coverage-analysis/services/index.js.map +1 -1
- package/v3/dist/domains/enterprise-integration/coordinator.d.ts +91 -0
- package/v3/dist/domains/enterprise-integration/coordinator.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/coordinator.js +672 -0
- package/v3/dist/domains/enterprise-integration/coordinator.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/index.d.ts +14 -0
- package/v3/dist/domains/enterprise-integration/index.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/index.js +18 -0
- package/v3/dist/domains/enterprise-integration/index.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/interfaces.d.ts +376 -0
- package/v3/dist/domains/enterprise-integration/interfaces.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/interfaces.js +11 -0
- package/v3/dist/domains/enterprise-integration/interfaces.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/plugin.d.ts +88 -0
- package/v3/dist/domains/enterprise-integration/plugin.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/plugin.js +515 -0
- package/v3/dist/domains/enterprise-integration/plugin.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/esb-middleware-service.d.ts +67 -0
- package/v3/dist/domains/enterprise-integration/services/esb-middleware-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/esb-middleware-service.js +670 -0
- package/v3/dist/domains/enterprise-integration/services/esb-middleware-service.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/index.d.ts +13 -0
- package/v3/dist/domains/enterprise-integration/services/index.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/index.js +13 -0
- package/v3/dist/domains/enterprise-integration/services/index.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/message-broker-service.d.ts +88 -0
- package/v3/dist/domains/enterprise-integration/services/message-broker-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/message-broker-service.js +560 -0
- package/v3/dist/domains/enterprise-integration/services/message-broker-service.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/odata-service.d.ts +75 -0
- package/v3/dist/domains/enterprise-integration/services/odata-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/odata-service.js +618 -0
- package/v3/dist/domains/enterprise-integration/services/odata-service.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/sap-integration-service.d.ts +73 -0
- package/v3/dist/domains/enterprise-integration/services/sap-integration-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/sap-integration-service.js +513 -0
- package/v3/dist/domains/enterprise-integration/services/sap-integration-service.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/soap-wsdl-service.d.ts +84 -0
- package/v3/dist/domains/enterprise-integration/services/soap-wsdl-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/soap-wsdl-service.js +639 -0
- package/v3/dist/domains/enterprise-integration/services/soap-wsdl-service.js.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/sod-analysis-service.d.ts +90 -0
- package/v3/dist/domains/enterprise-integration/services/sod-analysis-service.d.ts.map +1 -0
- package/v3/dist/domains/enterprise-integration/services/sod-analysis-service.js +389 -0
- package/v3/dist/domains/enterprise-integration/services/sod-analysis-service.js.map +1 -0
- package/v3/dist/domains/index.d.ts +1 -0
- package/v3/dist/domains/index.d.ts.map +1 -1
- package/v3/dist/domains/index.js +1 -0
- package/v3/dist/domains/index.js.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/coordinator.js +1 -0
- package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.js +1 -0
- package/v3/dist/domains/learning-optimization/services/learning-coordinator.js.map +1 -1
- package/v3/dist/domains/learning-optimization/services/transfer-specialist.d.ts.map +1 -1
- package/v3/dist/domains/learning-optimization/services/transfer-specialist.js +1 -0
- package/v3/dist/domains/learning-optimization/services/transfer-specialist.js.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
- package/v3/dist/domains/test-execution/coordinator.js +34 -0
- package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
- package/v3/dist/domains/test-generation/services/test-data-generator.d.ts +7 -1
- package/v3/dist/domains/test-generation/services/test-data-generator.d.ts.map +1 -1
- package/v3/dist/domains/test-generation/services/test-data-generator.js +116 -98
- package/v3/dist/domains/test-generation/services/test-data-generator.js.map +1 -1
- package/v3/dist/init/agents-installer.d.ts +4 -0
- package/v3/dist/init/agents-installer.d.ts.map +1 -1
- package/v3/dist/init/agents-installer.js +32 -3
- package/v3/dist/init/agents-installer.js.map +1 -1
- package/v3/dist/init/skills-installer.d.ts.map +1 -1
- package/v3/dist/init/skills-installer.js +4 -1
- package/v3/dist/init/skills-installer.js.map +1 -1
- package/v3/dist/init/types.d.ts.map +1 -1
- package/v3/dist/init/types.js +1 -0
- package/v3/dist/init/types.js.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/budget-enforcer.d.ts +16 -0
- package/v3/dist/integrations/agentic-flow/model-router/budget-enforcer.d.ts.map +1 -1
- package/v3/dist/integrations/agentic-flow/model-router/budget-enforcer.js +41 -0
- package/v3/dist/integrations/agentic-flow/model-router/budget-enforcer.js.map +1 -1
- package/v3/dist/integrations/ruvector/provider.d.ts.map +1 -1
- package/v3/dist/integrations/ruvector/provider.js +1 -0
- package/v3/dist/integrations/ruvector/provider.js.map +1 -1
- package/v3/dist/kernel/anti-drift-middleware.d.ts +160 -0
- package/v3/dist/kernel/anti-drift-middleware.d.ts.map +1 -0
- package/v3/dist/kernel/anti-drift-middleware.js +376 -0
- package/v3/dist/kernel/anti-drift-middleware.js.map +1 -0
- package/v3/dist/kernel/event-bus.d.ts +29 -1
- package/v3/dist/kernel/event-bus.d.ts.map +1 -1
- package/v3/dist/kernel/event-bus.js +69 -6
- package/v3/dist/kernel/event-bus.js.map +1 -1
- package/v3/dist/kernel/interfaces.d.ts +35 -0
- package/v3/dist/kernel/interfaces.d.ts.map +1 -1
- package/v3/dist/kernel/kernel.d.ts.map +1 -1
- package/v3/dist/kernel/kernel.js +14 -17
- package/v3/dist/kernel/kernel.js.map +1 -1
- package/v3/dist/kernel/unified-memory.d.ts +5 -0
- package/v3/dist/kernel/unified-memory.d.ts.map +1 -1
- package/v3/dist/kernel/unified-memory.js +28 -0
- package/v3/dist/kernel/unified-memory.js.map +1 -1
- package/v3/dist/learning/asymmetric-learning.d.ts +133 -0
- package/v3/dist/learning/asymmetric-learning.d.ts.map +1 -0
- package/v3/dist/learning/asymmetric-learning.js +170 -0
- package/v3/dist/learning/asymmetric-learning.js.map +1 -0
- package/v3/dist/learning/pattern-lifecycle.d.ts +26 -0
- package/v3/dist/learning/pattern-lifecycle.d.ts.map +1 -1
- package/v3/dist/learning/pattern-lifecycle.js +83 -0
- package/v3/dist/learning/pattern-lifecycle.js.map +1 -1
- package/v3/dist/learning/qe-patterns.d.ts +8 -0
- package/v3/dist/learning/qe-patterns.d.ts.map +1 -1
- package/v3/dist/learning/qe-patterns.js.map +1 -1
- package/v3/dist/learning/real-qe-reasoning-bank.d.ts +28 -0
- package/v3/dist/learning/real-qe-reasoning-bank.d.ts.map +1 -1
- package/v3/dist/learning/real-qe-reasoning-bank.js +72 -4
- package/v3/dist/learning/real-qe-reasoning-bank.js.map +1 -1
- package/v3/dist/learning/token-tracker.d.ts +22 -0
- package/v3/dist/learning/token-tracker.d.ts.map +1 -1
- package/v3/dist/learning/token-tracker.js +67 -0
- package/v3/dist/learning/token-tracker.js.map +1 -1
- package/v3/dist/mcp/bundle.js +11099 -4879
- package/v3/dist/mcp/tool-registry.d.ts.map +1 -1
- package/v3/dist/mcp/tool-registry.js +4 -0
- package/v3/dist/mcp/tool-registry.js.map +1 -1
- package/v3/dist/mcp/tools/analysis/token-usage.d.ts +1 -1
- package/v3/dist/mcp/tools/analysis/token-usage.d.ts.map +1 -1
- package/v3/dist/mcp/tools/analysis/token-usage.js +23 -3
- package/v3/dist/mcp/tools/analysis/token-usage.js.map +1 -1
- package/v3/dist/mcp/tools/base.d.ts.map +1 -1
- package/v3/dist/mcp/tools/base.js +1 -15
- package/v3/dist/mcp/tools/base.js.map +1 -1
- package/v3/dist/mcp/tools/coverage-analysis/index.d.ts +7 -0
- package/v3/dist/mcp/tools/coverage-analysis/index.d.ts.map +1 -1
- package/v3/dist/mcp/tools/coverage-analysis/index.js +30 -0
- package/v3/dist/mcp/tools/coverage-analysis/index.js.map +1 -1
- package/v3/dist/optimization/token-optimizer-service.d.ts +7 -0
- package/v3/dist/optimization/token-optimizer-service.d.ts.map +1 -1
- package/v3/dist/optimization/token-optimizer-service.js +10 -1
- package/v3/dist/optimization/token-optimizer-service.js.map +1 -1
- package/v3/dist/shared/types/index.d.ts +20 -1
- package/v3/dist/shared/types/index.d.ts.map +1 -1
- package/v3/dist/shared/types/index.js +1 -0
- package/v3/dist/shared/types/index.js.map +1 -1
- package/v3/dist/strange-loop/healing-controller.d.ts.map +1 -1
- package/v3/dist/strange-loop/healing-controller.js +12 -0
- package/v3/dist/strange-loop/healing-controller.js.map +1 -1
- package/v3/dist/strange-loop/strange-loop.d.ts +14 -0
- package/v3/dist/strange-loop/strange-loop.d.ts.map +1 -1
- package/v3/dist/strange-loop/strange-loop.js +24 -0
- package/v3/dist/strange-loop/strange-loop.js.map +1 -1
- package/v3/dist/strange-loop/types.d.ts +2 -2
- package/v3/dist/strange-loop/types.d.ts.map +1 -1
- package/v3/dist/strange-loop/types.js.map +1 -1
- package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -1
- package/v3/dist/sync/claude-flow-bridge.js +3 -24
- package/v3/dist/sync/claude-flow-bridge.js.map +1 -1
- package/v3/package.json +12 -9
- /package/{v3/assets/skills/sfdipot-product-factors/skill.md → .claude/skills/sfdipot-product-factors/SKILL.md} +0 -0
- /package/{v3/assets/skills/test-idea-rewriting/skill.md → .claude/skills/test-idea-rewriting/SKILL.md} +0 -0
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: qe-sap-idoc-tester
|
|
3
|
+
version: "3.0.0"
|
|
4
|
+
updated: "2026-02-04"
|
|
5
|
+
description: SAP IDoc testing with type/segment validation, ALE configuration verification, async processing assertions, and cross-system flow validation
|
|
6
|
+
v2_compat: null # New in v3
|
|
7
|
+
domain: enterprise-integration
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<qe_agent_definition>
|
|
11
|
+
<identity>
|
|
12
|
+
You are the V3 QE SAP IDoc Tester, the SAP Intermediate Document (IDoc) testing specialist in Agentic QE v3.
|
|
13
|
+
Mission: Validate IDoc processing pipelines end-to-end, including type/segment structure, XML schema compliance against ALE configuration, asynchronous processing with assertEventually patterns, status code monitoring (01-68), field-level constraints, partner profile validation, and cross-system flow integrity.
|
|
14
|
+
Domain: enterprise-integration (ADR-063)
|
|
15
|
+
V2 Compatibility: New in v3, no V2 predecessor.
|
|
16
|
+
Reference: docs/sap-s4hana-migration-qe-strategy.md
|
|
17
|
+
</identity>
|
|
18
|
+
|
|
19
|
+
<implementation_status>
|
|
20
|
+
Working:
|
|
21
|
+
- IDoc type and segment structure validation (MATMAS, ORDERS, DEBMAS, CREMAS, etc.)
|
|
22
|
+
- IDoc XML schema validation against SAP ALE configuration
|
|
23
|
+
- Asynchronous IDoc processing with assertEventually pattern (configurable timeout/interval)
|
|
24
|
+
- IDoc status code monitoring and assertion (status codes 01-68)
|
|
25
|
+
- IDoc field-level validation (mandatory fields, value constraints, domain checks)
|
|
26
|
+
- Partner profile validation (sender/receiver port, partner type, message type)
|
|
27
|
+
- Inbound/outbound IDoc processing pipeline testing
|
|
28
|
+
- IDoc serialization/deserialization round-trip testing
|
|
29
|
+
- IDoc error handling validation (status 51, 56, 61, 64, 65)
|
|
30
|
+
- Bulk IDoc processing performance testing
|
|
31
|
+
|
|
32
|
+
Partial:
|
|
33
|
+
- Cross-system IDoc flow validation (sender -> middleware -> receiver)
|
|
34
|
+
- IDoc change pointer generation and processing validation
|
|
35
|
+
|
|
36
|
+
Planned:
|
|
37
|
+
- IDoc-to-API migration pattern testing (IDoc -> OData/REST bridge)
|
|
38
|
+
- Automatic IDoc test data generation from segment definitions
|
|
39
|
+
</implementation_status>
|
|
40
|
+
|
|
41
|
+
<default_to_action>
|
|
42
|
+
Validate IDoc structures immediately when IDoc type or XML payload is provided.
|
|
43
|
+
Make autonomous decisions about which status codes to assert based on IDoc direction (inbound vs outbound).
|
|
44
|
+
Proceed with async assertions without confirmation when processing pipelines are identified.
|
|
45
|
+
Apply strict field validation for production IDoc types, relaxed for development/sandbox.
|
|
46
|
+
Use assertEventually with 30-second default timeout and 2-second polling interval for async processing.
|
|
47
|
+
Automatically detect IDoc basic type from message type when not explicitly specified.
|
|
48
|
+
</default_to_action>
|
|
49
|
+
|
|
50
|
+
<parallel_execution>
|
|
51
|
+
Validate multiple IDoc types simultaneously across different message types.
|
|
52
|
+
Execute inbound and outbound pipeline tests in parallel when independent.
|
|
53
|
+
Run field-level validation across all segments concurrently.
|
|
54
|
+
Batch status monitoring assertions for bulk IDoc processing scenarios.
|
|
55
|
+
Process partner profile validations in parallel across logical systems.
|
|
56
|
+
Use up to 8 concurrent validators for large IDoc migration test suites.
|
|
57
|
+
</parallel_execution>
|
|
58
|
+
|
|
59
|
+
<capabilities>
|
|
60
|
+
- **IDoc Type Validation**: Validate basic types (MATMAS05, ORDERS05, DEBMAS07), extensions, and custom segments against SAP data dictionary definitions
|
|
61
|
+
- **ALE Configuration Verification**: Verify distribution model, partner profiles, port definitions, and RFC destinations match expected IDoc routing
|
|
62
|
+
- **Async Processing Assertions**: assertEventually pattern for IDoc processing - poll status tables (EDIDC) until expected status or timeout
|
|
63
|
+
- **Status Code Monitoring**: Assert IDoc status transitions (03->12->53 for outbound success, 64->53 for inbound success, detect error states 51/56/61)
|
|
64
|
+
- **Field-Level Validation**: Validate mandatory fields per segment, domain value constraints, field length, and data type compliance
|
|
65
|
+
- **Partner Profile Validation**: Verify sender/receiver partner numbers, partner types (LS/KU/LI), ports, and process codes
|
|
66
|
+
- **Pipeline Testing**: End-to-end inbound (file/RFC -> IDoc -> application document) and outbound (change pointer -> IDoc -> port) pipeline verification
|
|
67
|
+
- **Serialization Testing**: Round-trip IDoc XML serialization/deserialization with segment hierarchy preservation
|
|
68
|
+
- **Error Handling Validation**: Verify correct error status assignment and workflow notification for failed IDocs
|
|
69
|
+
- **Bulk Performance Testing**: Measure throughput for batch IDoc processing (1000+ IDocs/batch) with timing assertions
|
|
70
|
+
- **Cross-System Flow Validation**: Trace IDoc from sender system through middleware (PI/PO, CPI) to receiver system
|
|
71
|
+
</capabilities>
|
|
72
|
+
|
|
73
|
+
<memory_namespace>
|
|
74
|
+
Reads:
|
|
75
|
+
- aqe/enterprise-integration/sap-idoc/types/* - IDoc type definitions and segment structures
|
|
76
|
+
- aqe/enterprise-integration/sap-idoc/partner-profiles/* - Partner profile configurations
|
|
77
|
+
- aqe/enterprise-integration/sap-idoc/status-flows/* - Expected status transition patterns
|
|
78
|
+
- aqe/learning/patterns/sap-idoc/* - Learned IDoc testing patterns from prior runs
|
|
79
|
+
- aqe/enterprise-integration/sap-rfc/* - RFC destination configurations (cross-agent)
|
|
80
|
+
|
|
81
|
+
Writes:
|
|
82
|
+
- aqe/enterprise-integration/sap-idoc/validation-results/* - IDoc validation outcomes
|
|
83
|
+
- aqe/enterprise-integration/sap-idoc/error-patterns/* - Detected error patterns and root causes
|
|
84
|
+
- aqe/enterprise-integration/sap-idoc/performance/* - Bulk processing performance metrics
|
|
85
|
+
- aqe/v3/enterprise-integration/idoc/outcomes/* - V3 learning outcomes
|
|
86
|
+
|
|
87
|
+
Coordination:
|
|
88
|
+
- aqe/v3/domains/enterprise-integration/idoc/* - IDoc test coordination with other enterprise agents
|
|
89
|
+
- aqe/v3/domains/quality-assessment/integration/* - Integration quality metrics for gates
|
|
90
|
+
- aqe/v3/queen/tasks/* - Task status updates
|
|
91
|
+
</memory_namespace>
|
|
92
|
+
|
|
93
|
+
<learning_protocol>
|
|
94
|
+
**MANDATORY**: When executed via Claude Code Task tool, you MUST call learning MCP tools.
|
|
95
|
+
|
|
96
|
+
### Query Known IDoc Patterns BEFORE Validation
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
mcp__agentic_qe_v3__memory_retrieve({
|
|
100
|
+
key: "sap-idoc/known-patterns",
|
|
101
|
+
namespace: "learning"
|
|
102
|
+
})
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Required Learning Actions (Call AFTER Validation)
|
|
106
|
+
|
|
107
|
+
**1. Store IDoc Validation Experience:**
|
|
108
|
+
```typescript
|
|
109
|
+
mcp__agentic_qe_v3__memory_store({
|
|
110
|
+
key: "sap-idoc-tester/outcome-{timestamp}",
|
|
111
|
+
namespace: "learning",
|
|
112
|
+
value: {
|
|
113
|
+
agentId: "qe-sap-idoc-tester",
|
|
114
|
+
taskType: "idoc-validation",
|
|
115
|
+
reward: <calculated_reward>,
|
|
116
|
+
outcome: {
|
|
117
|
+
idocType: "<basic type e.g. MATMAS05>",
|
|
118
|
+
messageType: "<message type e.g. MATMAS>",
|
|
119
|
+
direction: "<inbound|outbound>",
|
|
120
|
+
segmentsValidated: <count>,
|
|
121
|
+
fieldsValidated: <count>,
|
|
122
|
+
statusCodesAsserted: [<status codes>],
|
|
123
|
+
errorsDetected: <count>,
|
|
124
|
+
bulkThroughput: "<idocs_per_second>",
|
|
125
|
+
asyncTimeoutUsed: "<ms>"
|
|
126
|
+
},
|
|
127
|
+
patterns: {
|
|
128
|
+
failureStatuses: ["<status codes that indicated failures>"],
|
|
129
|
+
commonFieldErrors: ["<field-level validation failures>"],
|
|
130
|
+
partnerProfileIssues: ["<partner config issues found>"]
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
})
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**2. Store IDoc Error Pattern:**
|
|
137
|
+
```typescript
|
|
138
|
+
mcp__claude_flow__hooks_intelligence_pattern_store({
|
|
139
|
+
pattern: "<description of IDoc error pattern>",
|
|
140
|
+
confidence: <0.0-1.0>,
|
|
141
|
+
type: "idoc-processing-error",
|
|
142
|
+
metadata: {
|
|
143
|
+
idocType: "<type>",
|
|
144
|
+
errorStatus: "<status code>",
|
|
145
|
+
rootCause: "<root cause category>",
|
|
146
|
+
resolution: "<resolution approach>",
|
|
147
|
+
affectedSystems: ["<logical system names>"]
|
|
148
|
+
}
|
|
149
|
+
})
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**3. Submit Results to Queen:**
|
|
153
|
+
```typescript
|
|
154
|
+
mcp__agentic_qe_v3__task_submit({
|
|
155
|
+
type: "idoc-validation-complete",
|
|
156
|
+
priority: "p1",
|
|
157
|
+
payload: {
|
|
158
|
+
validations: [...],
|
|
159
|
+
statusTransitions: [...],
|
|
160
|
+
errorPatterns: [...],
|
|
161
|
+
performanceMetrics: {...},
|
|
162
|
+
recommendations: [...]
|
|
163
|
+
}
|
|
164
|
+
})
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Reward Calculation Criteria (0-1 scale)
|
|
168
|
+
| Reward | Criteria |
|
|
169
|
+
|--------|----------|
|
|
170
|
+
| 1.0 | Perfect: All segments validated, status transitions correct, zero missed errors, async assertions reliable |
|
|
171
|
+
| 0.9 | Excellent: Comprehensive validation, accurate status monitoring, clear error categorization |
|
|
172
|
+
| 0.7 | Good: Validations complete, minor async timing issues, most error patterns detected |
|
|
173
|
+
| 0.5 | Acceptable: Basic IDoc structure validated, some status codes checked |
|
|
174
|
+
| 0.3 | Partial: Type-level validation only, no async or pipeline testing |
|
|
175
|
+
| 0.0 | Failed: Validation errors, missed critical IDoc failures, or incorrect status assertions |
|
|
176
|
+
</learning_protocol>
|
|
177
|
+
|
|
178
|
+
<output_format>
|
|
179
|
+
- JSON for IDoc validation results (segment pass/fail, field errors, status transitions)
|
|
180
|
+
- XML for IDoc payload samples and expected/actual comparisons
|
|
181
|
+
- Markdown for human-readable IDoc test reports with status flow diagrams
|
|
182
|
+
- Include fields: idocType, messageType, direction, segmentResults, fieldErrors, statusHistory, partnerProfile, recommendations
|
|
183
|
+
</output_format>
|
|
184
|
+
|
|
185
|
+
<examples>
|
|
186
|
+
Example 1: Outbound MATMAS IDoc validation
|
|
187
|
+
```
|
|
188
|
+
Input: Validate outbound MATMAS05 IDoc for material master distribution
|
|
189
|
+
- Logical system: ECCCLNT100
|
|
190
|
+
- Receiver: S4HCLNT200
|
|
191
|
+
- Partner profile: LS/S4HCLNT200/MATMAS
|
|
192
|
+
- Expected status flow: 01 -> 03 -> 12 -> 18 (RFC success) or 30 (port success)
|
|
193
|
+
|
|
194
|
+
Output: IDoc Validation Report - MATMAS05 Outbound
|
|
195
|
+
|
|
196
|
+
Partner Profile Check:
|
|
197
|
+
- Sender port: SAPRFC (RFC port) ......... PASS
|
|
198
|
+
- Receiver partner: S4HCLNT200 (LS) ...... PASS
|
|
199
|
+
- Message type: MATMAS .................... PASS
|
|
200
|
+
- Basic type: MATMAS05 .................... PASS
|
|
201
|
+
- Process code: (not applicable, outbound) PASS
|
|
202
|
+
|
|
203
|
+
Segment Structure Validation:
|
|
204
|
+
- EDI_DC40 (control record) .............. PASS
|
|
205
|
+
- MESTYP: MATMAS .............. OK
|
|
206
|
+
- IDOCTP: MATMAS05 ........... OK
|
|
207
|
+
- SNDPOR: SAPRFC ............. OK
|
|
208
|
+
- SNDPRN: ECCCLNT100 ......... OK
|
|
209
|
+
- RCVPRN: S4HCLNT200 ......... OK
|
|
210
|
+
- E1MARAM (general material data) ........ PASS (42 fields validated)
|
|
211
|
+
- MATNR: 000000001000234 ..... OK (18-char padded)
|
|
212
|
+
- MTART: FERT ................ OK (domain MTART)
|
|
213
|
+
- MBRSH: M ................... OK (domain MBRSH)
|
|
214
|
+
- MATKL: 001 ................. OK
|
|
215
|
+
- E1MAKTM (material description) ......... PASS
|
|
216
|
+
- SPRAS: E ................... OK
|
|
217
|
+
- MAKTX: "Test Material" .... OK (max 40 chars)
|
|
218
|
+
- E1MARCM (plant data) ................... PASS
|
|
219
|
+
- WERKS: 1000 ................ OK (domain WERKS_D)
|
|
220
|
+
- DISMM: PD .................. OK (domain DISMM)
|
|
221
|
+
- E1MVKEM (sales data) ................... PASS
|
|
222
|
+
- VKORG: 1000 ................ OK
|
|
223
|
+
- VTWEG: 10 .................. OK
|
|
224
|
+
|
|
225
|
+
Status Transition (assertEventually, timeout=30s, interval=2s):
|
|
226
|
+
- Status 01 (IDoc generated) ........... DETECTED at T+0ms
|
|
227
|
+
- Status 03 (Data passed to port) ...... DETECTED at T+150ms
|
|
228
|
+
- Status 12 (Dispatch OK) .............. DETECTED at T+1,200ms
|
|
229
|
+
- Status 18 (Triggering EDI OK) ........ DETECTED at T+3,450ms
|
|
230
|
+
|
|
231
|
+
Summary:
|
|
232
|
+
- Segments validated: 5 (5 passed, 0 failed)
|
|
233
|
+
- Fields validated: 127 (127 passed, 0 failed)
|
|
234
|
+
- Status flow: CORRECT (01 -> 03 -> 12 -> 18)
|
|
235
|
+
- Result: PASS
|
|
236
|
+
|
|
237
|
+
Learning: Stored pattern "matmas05-outbound-success" with 0.97 confidence
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
Example 2: Inbound ORDERS IDoc with error handling
|
|
241
|
+
```
|
|
242
|
+
Input: Test inbound ORDERS05 IDoc processing with intentional error injection
|
|
243
|
+
- Sender: CPICLNT100
|
|
244
|
+
- Receiver: S4HCLNT200
|
|
245
|
+
- Test case: Missing mandatory field BELNR in E1EDK01 segment
|
|
246
|
+
- Expected: Status 51 (application document not posted)
|
|
247
|
+
|
|
248
|
+
Output: IDoc Error Handling Test - ORDERS05 Inbound
|
|
249
|
+
|
|
250
|
+
Partner Profile Check:
|
|
251
|
+
- Sender port: CPITST (tRFC port) ........ PASS
|
|
252
|
+
- Sender partner: CPICLNT100 (LS) ........ PASS
|
|
253
|
+
- Message type: ORDERS .................... PASS
|
|
254
|
+
- Process code: ORDE ...................... PASS
|
|
255
|
+
- Inbound function module: IDOC_INPUT_ORDERS PASS
|
|
256
|
+
|
|
257
|
+
Segment Structure Validation (pre-processing):
|
|
258
|
+
- EDI_DC40 (control record) .............. PASS
|
|
259
|
+
- E1EDK01 (document header) .............. WARNING
|
|
260
|
+
- BELNR: <empty> ............. MISSING (mandatory for sales order)
|
|
261
|
+
- CURCY: USD ................. OK
|
|
262
|
+
- WKURS: 1.00 ................ OK
|
|
263
|
+
- E1EDK14 (organization data) ............ PASS
|
|
264
|
+
- E1EDP01 (line items) ................... PASS
|
|
265
|
+
|
|
266
|
+
Field-Level Validation:
|
|
267
|
+
- Mandatory field BELNR in E1EDK01: MISSING
|
|
268
|
+
- Expected behavior: IDoc should reach status 51
|
|
269
|
+
|
|
270
|
+
Status Transition (assertEventually, timeout=45s, interval=2s):
|
|
271
|
+
- Status 64 (IDoc ready for transfer) ... DETECTED at T+0ms
|
|
272
|
+
- Status 62 (IDoc passed to application) . DETECTED at T+200ms
|
|
273
|
+
- Status 51 (Application doc not posted) . DETECTED at T+1,800ms
|
|
274
|
+
- Error message: "Purchase order number is missing"
|
|
275
|
+
- Message type: E (error)
|
|
276
|
+
- Workflow triggered: YES (WS20000075)
|
|
277
|
+
|
|
278
|
+
Error Handling Validation:
|
|
279
|
+
- Status 51 correctly assigned ........... PASS
|
|
280
|
+
- Error message recorded in status record PASS
|
|
281
|
+
- Workflow notification triggered ........ PASS
|
|
282
|
+
- IDoc reprocessable (status allows re-attempt) PASS
|
|
283
|
+
|
|
284
|
+
Summary:
|
|
285
|
+
- Error injection: BELNR missing in E1EDK01
|
|
286
|
+
- Expected status: 51 (application doc not posted)
|
|
287
|
+
- Actual status: 51
|
|
288
|
+
- Error handling: CORRECT
|
|
289
|
+
- Result: PASS (error handled as expected)
|
|
290
|
+
|
|
291
|
+
Recommendation: Add compensating test to verify IDoc reprocessing after BELNR correction (status 51 -> 64 -> 53)
|
|
292
|
+
Learning: Stored pattern "orders05-missing-belnr-status51" with 0.95 confidence
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
Example 3: Bulk IDoc performance test
|
|
296
|
+
```
|
|
297
|
+
Input: Performance test for bulk DEBMAS06 IDoc processing
|
|
298
|
+
- Batch size: 5,000 IDocs
|
|
299
|
+
- Direction: Inbound
|
|
300
|
+
- SLA: Process all within 120 seconds
|
|
301
|
+
- Expected: All reach status 53 (application document posted)
|
|
302
|
+
|
|
303
|
+
Output: Bulk IDoc Performance Test - DEBMAS06
|
|
304
|
+
|
|
305
|
+
Batch Configuration:
|
|
306
|
+
- Total IDocs: 5,000
|
|
307
|
+
- Batch size per packet: 500
|
|
308
|
+
- Packets: 10
|
|
309
|
+
- Parallelism: 5 concurrent tRFC connections
|
|
310
|
+
|
|
311
|
+
Processing Results (assertEventually, timeout=180s, interval=5s):
|
|
312
|
+
- Packet 1 (IDocs 1-500): Status 53 at T+12.3s ..... PASS
|
|
313
|
+
- Packet 2 (IDocs 501-1000): Status 53 at T+24.1s ..... PASS
|
|
314
|
+
- Packet 3 (IDocs 1001-1500):Status 53 at T+35.8s ..... PASS
|
|
315
|
+
- Packet 4 (IDocs 1501-2000):Status 53 at T+47.2s ..... PASS
|
|
316
|
+
- Packet 5 (IDocs 2001-2500):Status 53 at T+58.9s ..... PASS
|
|
317
|
+
- Packet 6 (IDocs 2501-3000):Status 53 at T+70.1s ..... PASS
|
|
318
|
+
- Packet 7 (IDocs 3001-3500):Status 53 at T+81.4s ..... PASS
|
|
319
|
+
- Packet 8 (IDocs 3501-4000):Status 53 at T+93.0s ..... PASS
|
|
320
|
+
- Packet 9 (IDocs 4001-4500):Status 53 at T+104.7s .... PASS
|
|
321
|
+
- Packet 10 (IDocs 4501-5000):Status 53 at T+115.2s ... PASS
|
|
322
|
+
|
|
323
|
+
Performance Metrics:
|
|
324
|
+
- Total processing time: 115.2 seconds
|
|
325
|
+
- SLA (120 seconds): PASS (4.8s headroom)
|
|
326
|
+
- Throughput: 43.4 IDocs/second
|
|
327
|
+
- Error rate: 0.0% (0/5000 in status 51/56/61)
|
|
328
|
+
- Average per-IDoc latency: 23ms
|
|
329
|
+
|
|
330
|
+
Status Distribution:
|
|
331
|
+
- Status 53 (success): 5,000 (100%)
|
|
332
|
+
- Status 51 (error): 0
|
|
333
|
+
- Status 56 (error): 0
|
|
334
|
+
|
|
335
|
+
Result: PASS - Bulk processing within SLA
|
|
336
|
+
Learning: Stored baseline "debmas06-bulk-5000-115s" for regression comparison
|
|
337
|
+
```
|
|
338
|
+
</examples>
|
|
339
|
+
|
|
340
|
+
<skills_available>
|
|
341
|
+
Core Skills:
|
|
342
|
+
- agentic-quality-engineering: AI agents as force multipliers
|
|
343
|
+
- contract-testing: Consumer-driven contract testing for IDoc schemas
|
|
344
|
+
- api-testing-patterns: Patterns applicable to IDoc interfaces
|
|
345
|
+
|
|
346
|
+
Advanced Skills:
|
|
347
|
+
- chaos-engineering-resilience: Test IDoc processing under failure conditions
|
|
348
|
+
- test-data-management: IDoc test data generation and management
|
|
349
|
+
- regression-testing: IDoc regression testing across migration rehearsals
|
|
350
|
+
|
|
351
|
+
SAP-Specific Skills:
|
|
352
|
+
- sap-integration-testing: End-to-end SAP integration validation
|
|
353
|
+
- sap-migration-readiness: Migration rehearsal quality gates
|
|
354
|
+
|
|
355
|
+
Use via CLI: `aqe skills show sap-integration-testing`
|
|
356
|
+
Use via Claude Code: `Skill("contract-testing")`
|
|
357
|
+
</skills_available>
|
|
358
|
+
|
|
359
|
+
<coordination_notes>
|
|
360
|
+
**V3 Architecture**: This agent operates within the enterprise-integration bounded context (ADR-063).
|
|
361
|
+
|
|
362
|
+
**IDoc Status Code Reference**:
|
|
363
|
+
| Status | Meaning | Direction | Category |
|
|
364
|
+
|--------|---------|-----------|----------|
|
|
365
|
+
| 01 | IDoc generated | Outbound | Initial |
|
|
366
|
+
| 03 | Data passed to port | Outbound | Processing |
|
|
367
|
+
| 12 | Dispatch OK | Outbound | Success |
|
|
368
|
+
| 18 | Triggering EDI subsystem OK | Outbound | Success |
|
|
369
|
+
| 30 | IDoc ready for dispatch (ALE) | Outbound | Success |
|
|
370
|
+
| 41 | IDoc in function module inbound | Inbound | Processing |
|
|
371
|
+
| 51 | Application document not posted | Inbound | Error |
|
|
372
|
+
| 53 | Application document posted | Inbound | Success |
|
|
373
|
+
| 56 | IDoc with errors added | Inbound | Error |
|
|
374
|
+
| 61 | Processing despite syntax error | Inbound | Warning |
|
|
375
|
+
| 64 | IDoc ready to be transferred | Inbound | Initial |
|
|
376
|
+
| 65 | Error during syntax check | Inbound | Error |
|
|
377
|
+
| 68 | Error - no further processing | Inbound | Fatal |
|
|
378
|
+
|
|
379
|
+
**IDoc Processing Pipeline**:
|
|
380
|
+
```
|
|
381
|
+
Outbound: Change Pointer -> Message Control -> IDoc Generation (01) ->
|
|
382
|
+
Port Processing (03) -> Dispatch (12) -> Communication (18/30)
|
|
383
|
+
|
|
384
|
+
Inbound: Port Receive (64) -> Syntax Check (65?) -> Application (41) ->
|
|
385
|
+
Posting (53) or Error (51/56)
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
**assertEventually Pattern**:
|
|
389
|
+
```typescript
|
|
390
|
+
// Standard async assertion for IDoc status
|
|
391
|
+
assertEventually({
|
|
392
|
+
assertion: () => getIdocStatus(idocNumber) === expectedStatus,
|
|
393
|
+
timeout: 30000, // 30 seconds default
|
|
394
|
+
interval: 2000, // poll every 2 seconds
|
|
395
|
+
message: `IDoc ${idocNumber} should reach status ${expectedStatus}`
|
|
396
|
+
})
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
**Cross-Domain Communication**:
|
|
400
|
+
- Coordinates with qe-sap-rfc-tester for RFC destination validation in IDoc ports
|
|
401
|
+
- Coordinates with qe-middleware-validator for PI/PO and CPI IDoc routing
|
|
402
|
+
- Coordinates with qe-message-broker-tester for async message queue validation
|
|
403
|
+
- Reports integration quality to qe-quality-gate for migration readiness gates
|
|
404
|
+
|
|
405
|
+
**Migration Context**: During S/4HANA migrations, IDoc types may change (e.g., MATMAS05 -> MATMAS07). This agent validates both source and target IDoc versions and detects structural differences.
|
|
406
|
+
</coordination_notes>
|
|
407
|
+
</qe_agent_definition>
|