bc-code-intelligence-mcp 1.6.0 → 1.6.1

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.
Files changed (155) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +165 -165
  3. package/dist/config/config-loader.js +6 -6
  4. package/dist/config/config-loader.js.map +1 -1
  5. package/dist/layers/embedded-layer.js +29 -29
  6. package/dist/layers/git-layer.d.ts +2 -0
  7. package/dist/layers/git-layer.d.ts.map +1 -1
  8. package/dist/layers/git-layer.js +47 -14
  9. package/dist/layers/git-layer.js.map +1 -1
  10. package/dist/layers/project-layer.js +33 -33
  11. package/dist/services/methodology-service.js +28 -28
  12. package/dist/services/multi-content-layer-service.d.ts +5 -0
  13. package/dist/services/multi-content-layer-service.d.ts.map +1 -1
  14. package/dist/services/multi-content-layer-service.js +31 -0
  15. package/dist/services/multi-content-layer-service.js.map +1 -1
  16. package/dist/tools/create_layer_content/handler.js +83 -83
  17. package/dist/tools/scaffold_layer_repo/handler.js +276 -276
  18. package/dist/tools/workflow_batch/schema.js +9 -9
  19. package/dist/tools/workflow_cancel/schema.js +9 -9
  20. package/dist/tools/workflow_complete/schema.js +9 -9
  21. package/dist/tools/workflow_list/schema.js +11 -11
  22. package/dist/tools/workflow_next/schema.js +8 -8
  23. package/dist/tools/workflow_progress/schema.js +5 -5
  24. package/dist/tools/workflow_start/schema.js +14 -14
  25. package/dist/tools/workflow_status/schema.js +8 -8
  26. package/embedded-knowledge/.github/ISSUE_TEMPLATE/bug-report.md +23 -23
  27. package/embedded-knowledge/.github/ISSUE_TEMPLATE/content-improvement.md +23 -23
  28. package/embedded-knowledge/.github/ISSUE_TEMPLATE/knowledge-request.md +29 -29
  29. package/embedded-knowledge/AGENTS.md +177 -177
  30. package/embedded-knowledge/CONTRIBUTING.md +57 -57
  31. package/embedded-knowledge/LICENSE +20 -20
  32. package/embedded-knowledge/README.md +31 -31
  33. package/embedded-knowledge/codelens-mappings.yaml +111 -111
  34. package/embedded-knowledge/domains/shared/al-file-naming-conventions.md +155 -155
  35. package/embedded-knowledge/scripts/frontmatter_validator.ps1 +330 -330
  36. package/embedded-knowledge/workflows/bc-version-upgrade.yaml +160 -160
  37. package/embedded-knowledge/workflows/code-review.yaml +148 -148
  38. package/embedded-knowledge/workflows/error-to-errorinfo-migration.yaml +137 -137
  39. package/embedded-knowledge/workflows/onboarding.yaml +124 -124
  40. package/embedded-knowledge/workflows/performance-audit.yaml +148 -148
  41. package/embedded-knowledge/workflows/proposal-review.yaml +117 -117
  42. package/embedded-knowledge/workflows/security-audit.yaml +139 -139
  43. package/package.json +83 -83
  44. package/dist/services/roleplay-engine.d.ts +0 -169
  45. package/dist/services/roleplay-engine.d.ts.map +0 -1
  46. package/dist/services/roleplay-engine.js +0 -1026
  47. package/dist/services/roleplay-engine.js.map +0 -1
  48. package/dist/streamlined-handlers.d.ts +0 -8
  49. package/dist/streamlined-handlers.d.ts.map +0 -1
  50. package/dist/streamlined-handlers.js +0 -29
  51. package/dist/streamlined-handlers.js.map +0 -1
  52. package/dist/tools/advance_workflow/handler.d.ts +0 -21
  53. package/dist/tools/advance_workflow/handler.d.ts.map +0 -1
  54. package/dist/tools/advance_workflow/handler.js +0 -58
  55. package/dist/tools/advance_workflow/handler.js.map +0 -1
  56. package/dist/tools/advance_workflow/schema.d.ts +0 -8
  57. package/dist/tools/advance_workflow/schema.d.ts.map +0 -1
  58. package/dist/tools/advance_workflow/schema.js +0 -28
  59. package/dist/tools/advance_workflow/schema.js.map +0 -1
  60. package/dist/tools/config-diagnostic-tools.d.ts +0 -234
  61. package/dist/tools/config-diagnostic-tools.d.ts.map +0 -1
  62. package/dist/tools/config-diagnostic-tools.js +0 -887
  63. package/dist/tools/config-diagnostic-tools.js.map +0 -1
  64. package/dist/tools/context-snapshot/handler.d.ts +0 -14
  65. package/dist/tools/context-snapshot/handler.d.ts.map +0 -1
  66. package/dist/tools/context-snapshot/handler.js +0 -143
  67. package/dist/tools/context-snapshot/handler.js.map +0 -1
  68. package/dist/tools/context-snapshot/schema.d.ts +0 -11
  69. package/dist/tools/context-snapshot/schema.d.ts.map +0 -1
  70. package/dist/tools/context-snapshot/schema.js +0 -46
  71. package/dist/tools/context-snapshot/schema.js.map +0 -1
  72. package/dist/tools/core-tools.d.ts +0 -26
  73. package/dist/tools/core-tools.d.ts.map +0 -1
  74. package/dist/tools/core-tools.js +0 -262
  75. package/dist/tools/core-tools.js.map +0 -1
  76. package/dist/tools/get_workflow_help/handler.d.ts +0 -12
  77. package/dist/tools/get_workflow_help/handler.d.ts.map +0 -1
  78. package/dist/tools/get_workflow_help/handler.js +0 -54
  79. package/dist/tools/get_workflow_help/handler.js.map +0 -1
  80. package/dist/tools/get_workflow_help/schema.d.ts +0 -8
  81. package/dist/tools/get_workflow_help/schema.d.ts.map +0 -1
  82. package/dist/tools/get_workflow_help/schema.js +0 -25
  83. package/dist/tools/get_workflow_help/schema.js.map +0 -1
  84. package/dist/tools/handoff-tools.d.ts +0 -37
  85. package/dist/tools/handoff-tools.d.ts.map +0 -1
  86. package/dist/tools/handoff-tools.js +0 -265
  87. package/dist/tools/handoff-tools.js.map +0 -1
  88. package/dist/tools/knowledge-query/handler.d.ts +0 -29
  89. package/dist/tools/knowledge-query/handler.d.ts.map +0 -1
  90. package/dist/tools/knowledge-query/handler.js +0 -85
  91. package/dist/tools/knowledge-query/handler.js.map +0 -1
  92. package/dist/tools/knowledge-query/schema.d.ts +0 -12
  93. package/dist/tools/knowledge-query/schema.d.ts.map +0 -1
  94. package/dist/tools/knowledge-query/schema.js +0 -64
  95. package/dist/tools/knowledge-query/schema.js.map +0 -1
  96. package/dist/tools/onboarding-tools.d.ts +0 -43
  97. package/dist/tools/onboarding-tools.d.ts.map +0 -1
  98. package/dist/tools/onboarding-tools.js +0 -353
  99. package/dist/tools/onboarding-tools.js.map +0 -1
  100. package/dist/tools/specialist-consult/handler.d.ts +0 -23
  101. package/dist/tools/specialist-consult/handler.d.ts.map +0 -1
  102. package/dist/tools/specialist-consult/handler.js +0 -120
  103. package/dist/tools/specialist-consult/handler.js.map +0 -1
  104. package/dist/tools/specialist-consult/schema.d.ts +0 -11
  105. package/dist/tools/specialist-consult/schema.d.ts.map +0 -1
  106. package/dist/tools/specialist-consult/schema.js +0 -47
  107. package/dist/tools/specialist-consult/schema.js.map +0 -1
  108. package/dist/tools/specialist-discovery-tools.d.ts +0 -27
  109. package/dist/tools/specialist-discovery-tools.d.ts.map +0 -1
  110. package/dist/tools/specialist-discovery-tools.js +0 -281
  111. package/dist/tools/specialist-discovery-tools.js.map +0 -1
  112. package/dist/tools/specialist-list/handler.d.ts +0 -14
  113. package/dist/tools/specialist-list/handler.d.ts.map +0 -1
  114. package/dist/tools/specialist-list/handler.js +0 -70
  115. package/dist/tools/specialist-list/handler.js.map +0 -1
  116. package/dist/tools/specialist-list/schema.d.ts +0 -11
  117. package/dist/tools/specialist-list/schema.d.ts.map +0 -1
  118. package/dist/tools/specialist-list/schema.js +0 -29
  119. package/dist/tools/specialist-list/schema.js.map +0 -1
  120. package/dist/tools/start_bc_workflow/handler.d.ts +0 -21
  121. package/dist/tools/start_bc_workflow/handler.d.ts.map +0 -1
  122. package/dist/tools/start_bc_workflow/handler.js +0 -237
  123. package/dist/tools/start_bc_workflow/handler.js.map +0 -1
  124. package/dist/tools/start_bc_workflow/schema.d.ts +0 -8
  125. package/dist/tools/start_bc_workflow/schema.d.ts.map +0 -1
  126. package/dist/tools/start_bc_workflow/schema.js +0 -43
  127. package/dist/tools/start_bc_workflow/schema.js.map +0 -1
  128. package/dist/tools/workflow-execute/handler.d.ts +0 -44
  129. package/dist/tools/workflow-execute/handler.d.ts.map +0 -1
  130. package/dist/tools/workflow-execute/handler.js +0 -333
  131. package/dist/tools/workflow-execute/handler.js.map +0 -1
  132. package/dist/tools/workflow-execute/schema.d.ts +0 -13
  133. package/dist/tools/workflow-execute/schema.d.ts.map +0 -1
  134. package/dist/tools/workflow-execute/schema.js +0 -108
  135. package/dist/tools/workflow-execute/schema.js.map +0 -1
  136. package/dist/tools/workflow_start_v2/handler.d.ts +0 -21
  137. package/dist/tools/workflow_start_v2/handler.d.ts.map +0 -1
  138. package/dist/tools/workflow_start_v2/handler.js +0 -133
  139. package/dist/tools/workflow_start_v2/handler.js.map +0 -1
  140. package/dist/tools/workflow_start_v2/schema.d.ts +0 -8
  141. package/dist/tools/workflow_start_v2/schema.d.ts.map +0 -1
  142. package/dist/tools/workflow_start_v2/schema.js +0 -102
  143. package/dist/tools/workflow_start_v2/schema.js.map +0 -1
  144. package/dist/tools/workspace-tools.d.ts +0 -96
  145. package/dist/tools/workspace-tools.d.ts.map +0 -1
  146. package/dist/tools/workspace-tools.js +0 -188
  147. package/dist/tools/workspace-tools.js.map +0 -1
  148. package/dist/types/roleplay-types.d.ts +0 -156
  149. package/dist/types/roleplay-types.d.ts.map +0 -1
  150. package/dist/types/roleplay-types.js +0 -8
  151. package/dist/types/roleplay-types.js.map +0 -1
  152. package/dist/workflows/domain-workflows.d.ts +0 -8
  153. package/dist/workflows/domain-workflows.d.ts.map +0 -1
  154. package/dist/workflows/domain-workflows.js +0 -360
  155. package/dist/workflows/domain-workflows.js.map +0 -1
@@ -1,160 +1,160 @@
1
- type: "bc-version-upgrade"
2
- name: "BC Version Upgrade"
3
- description: "Upgrade Business Central codebase between major versions, handling breaking changes and deprecated features"
4
- specialist: "alex-architect"
5
-
6
- file_patterns:
7
- - "**/*.al"
8
- - "**/app.json"
9
- file_exclusions:
10
- - "**/node_modules/**"
11
- - "**/.altestrunner/**"
12
-
13
- phases:
14
- - id: "inventory"
15
- name: "File Inventory"
16
- description: "Enumerate all AL files and identify current BC version"
17
- required: true
18
- mode: "autonomous"
19
- available_actions:
20
- - "read_app_json"
21
- - "identify_bc_version"
22
- - "list_files"
23
-
24
- - id: "breaking_changes_scan"
25
- name: "Breaking Changes Scan"
26
- description: "Scan for patterns affected by breaking changes between versions"
27
- required: true
28
- mode: "autonomous"
29
- entry_conditions:
30
- - "inventory phase completed"
31
- available_actions:
32
- - "scan_deprecated_apis"
33
- - "scan_removed_features"
34
- - "scan_changed_behavior"
35
-
36
- - id: "dependency_review"
37
- name: "Dependency Review"
38
- description: "Review app dependencies and verify compatibility with target version"
39
- required: true
40
- mode: "guided"
41
- entry_conditions:
42
- - "inventory phase completed"
43
- available_actions:
44
- - "check_dependencies"
45
- - "check_runtime_version"
46
- - "check_symbol_references"
47
-
48
- - id: "migration_planning"
49
- name: "Migration Planning"
50
- description: "Create migration plan for breaking changes and deprecated features"
51
- required: true
52
- mode: "agent_driven"
53
- entry_conditions:
54
- - "breaking_changes_scan phase completed"
55
- - "dependency_review phase completed"
56
- available_actions:
57
- - "prioritize_changes"
58
- - "identify_workarounds"
59
- - "create_migration_tasks"
60
-
61
- - id: "code_migration"
62
- name: "Code Migration"
63
- description: "Apply migrations for deprecated/removed features"
64
- required: true
65
- mode: "guided"
66
- entry_conditions:
67
- - "migration_planning phase completed"
68
- available_actions:
69
- - "migrate_file"
70
- - "apply_transformation"
71
- - "skip_migration"
72
-
73
- - id: "verification"
74
- name: "Verification"
75
- description: "Compile and test migrated code against target version"
76
- required: true
77
- mode: "guided"
78
- entry_conditions:
79
- - "code_migration phase completed"
80
- available_actions:
81
- - "compile_check"
82
- - "run_tests"
83
- - "validate_functionality"
84
-
85
- - id: "summary"
86
- name: "Migration Report"
87
- description: "Generate migration summary with statistics and remaining issues"
88
- required: true
89
- mode: "autonomous"
90
- entry_conditions:
91
- - "verification phase completed"
92
-
93
- per_file_checklist:
94
- - id: "scan"
95
- type: "analysis"
96
- description: "Scan for version-specific patterns"
97
- required: true
98
-
99
- - id: "deprecated_check"
100
- type: "pattern_instance"
101
- description: "Check for deprecated API usage"
102
- required: true
103
-
104
- - id: "migration_complete"
105
- type: "validation"
106
- description: "File migrated to target version"
107
- required: true
108
-
109
- topic_discovery:
110
- enabled: true
111
- tool: "find_bc_knowledge"
112
- auto_expand_checklist: true
113
- min_relevance_score: 0.6
114
-
115
- pattern_discovery:
116
- enabled: true
117
- create_instance_items: true
118
- group_identical: true
119
- specialist: "alex-architect"
120
- patterns:
121
- - id: "obsolete-attribute"
122
- name: "Obsolete Attribute"
123
- description: "Code marked as obsolete that may be removed in target version"
124
- regex: "\\[Obsolete\\([^)]*\\)\\]"
125
- regex_flags: "gi"
126
- context_lines: 3
127
- specialist: "alex-architect"
128
-
129
- - id: "deprecated-no-series"
130
- name: "Deprecated No. Series Pattern"
131
- description: "Legacy No. Series implementation that should use BC24+ module"
132
- regex: "NoSeriesMgt\\.(InitSeries|GetNextNo|SetDefaultSeries)"
133
- regex_flags: "gi"
134
- context_lines: 2
135
- instance_classifier:
136
- rules:
137
- - name: "init_series"
138
- pattern: "InitSeries"
139
- suggested_action: "Migrate to NoSeries.GetNextNo() or AreRelated()"
140
- auto_fixable: false
141
- - name: "get_next_no"
142
- pattern: "GetNextNo"
143
- suggested_action: "Migrate to NoSeries.GetNextNo()"
144
- auto_fixable: false
145
- specialist: "dean-debug"
146
- topic_id: "dean-debug/bc24-no-series-conversion-guide"
147
-
148
- - id: "removed-codeunit-run"
149
- name: "Deprecated Codeunit.Run Pattern"
150
- description: "Codeunit.Run patterns that may have changed behavior"
151
- regex: "Codeunit\\.Run\\s*\\([^)]+\\)"
152
- regex_flags: "gi"
153
- context_lines: 2
154
- specialist: "eva-errors"
155
- topic_id: "eva-errors/codeunit-run-pattern"
156
-
157
- completion_rules:
158
- require_all_files: true
159
- require_all_checklist_items: true
160
- allow_skip_with_reason: true
1
+ type: "bc-version-upgrade"
2
+ name: "BC Version Upgrade"
3
+ description: "Upgrade Business Central codebase between major versions, handling breaking changes and deprecated features"
4
+ specialist: "alex-architect"
5
+
6
+ file_patterns:
7
+ - "**/*.al"
8
+ - "**/app.json"
9
+ file_exclusions:
10
+ - "**/node_modules/**"
11
+ - "**/.altestrunner/**"
12
+
13
+ phases:
14
+ - id: "inventory"
15
+ name: "File Inventory"
16
+ description: "Enumerate all AL files and identify current BC version"
17
+ required: true
18
+ mode: "autonomous"
19
+ available_actions:
20
+ - "read_app_json"
21
+ - "identify_bc_version"
22
+ - "list_files"
23
+
24
+ - id: "breaking_changes_scan"
25
+ name: "Breaking Changes Scan"
26
+ description: "Scan for patterns affected by breaking changes between versions"
27
+ required: true
28
+ mode: "autonomous"
29
+ entry_conditions:
30
+ - "inventory phase completed"
31
+ available_actions:
32
+ - "scan_deprecated_apis"
33
+ - "scan_removed_features"
34
+ - "scan_changed_behavior"
35
+
36
+ - id: "dependency_review"
37
+ name: "Dependency Review"
38
+ description: "Review app dependencies and verify compatibility with target version"
39
+ required: true
40
+ mode: "guided"
41
+ entry_conditions:
42
+ - "inventory phase completed"
43
+ available_actions:
44
+ - "check_dependencies"
45
+ - "check_runtime_version"
46
+ - "check_symbol_references"
47
+
48
+ - id: "migration_planning"
49
+ name: "Migration Planning"
50
+ description: "Create migration plan for breaking changes and deprecated features"
51
+ required: true
52
+ mode: "agent_driven"
53
+ entry_conditions:
54
+ - "breaking_changes_scan phase completed"
55
+ - "dependency_review phase completed"
56
+ available_actions:
57
+ - "prioritize_changes"
58
+ - "identify_workarounds"
59
+ - "create_migration_tasks"
60
+
61
+ - id: "code_migration"
62
+ name: "Code Migration"
63
+ description: "Apply migrations for deprecated/removed features"
64
+ required: true
65
+ mode: "guided"
66
+ entry_conditions:
67
+ - "migration_planning phase completed"
68
+ available_actions:
69
+ - "migrate_file"
70
+ - "apply_transformation"
71
+ - "skip_migration"
72
+
73
+ - id: "verification"
74
+ name: "Verification"
75
+ description: "Compile and test migrated code against target version"
76
+ required: true
77
+ mode: "guided"
78
+ entry_conditions:
79
+ - "code_migration phase completed"
80
+ available_actions:
81
+ - "compile_check"
82
+ - "run_tests"
83
+ - "validate_functionality"
84
+
85
+ - id: "summary"
86
+ name: "Migration Report"
87
+ description: "Generate migration summary with statistics and remaining issues"
88
+ required: true
89
+ mode: "autonomous"
90
+ entry_conditions:
91
+ - "verification phase completed"
92
+
93
+ per_file_checklist:
94
+ - id: "scan"
95
+ type: "analysis"
96
+ description: "Scan for version-specific patterns"
97
+ required: true
98
+
99
+ - id: "deprecated_check"
100
+ type: "pattern_instance"
101
+ description: "Check for deprecated API usage"
102
+ required: true
103
+
104
+ - id: "migration_complete"
105
+ type: "validation"
106
+ description: "File migrated to target version"
107
+ required: true
108
+
109
+ topic_discovery:
110
+ enabled: true
111
+ tool: "find_bc_knowledge"
112
+ auto_expand_checklist: true
113
+ min_relevance_score: 0.6
114
+
115
+ pattern_discovery:
116
+ enabled: true
117
+ create_instance_items: true
118
+ group_identical: true
119
+ specialist: "alex-architect"
120
+ patterns:
121
+ - id: "obsolete-attribute"
122
+ name: "Obsolete Attribute"
123
+ description: "Code marked as obsolete that may be removed in target version"
124
+ regex: "\\[Obsolete\\([^)]*\\)\\]"
125
+ regex_flags: "gi"
126
+ context_lines: 3
127
+ specialist: "alex-architect"
128
+
129
+ - id: "deprecated-no-series"
130
+ name: "Deprecated No. Series Pattern"
131
+ description: "Legacy No. Series implementation that should use BC24+ module"
132
+ regex: "NoSeriesMgt\\.(InitSeries|GetNextNo|SetDefaultSeries)"
133
+ regex_flags: "gi"
134
+ context_lines: 2
135
+ instance_classifier:
136
+ rules:
137
+ - name: "init_series"
138
+ pattern: "InitSeries"
139
+ suggested_action: "Migrate to NoSeries.GetNextNo() or AreRelated()"
140
+ auto_fixable: false
141
+ - name: "get_next_no"
142
+ pattern: "GetNextNo"
143
+ suggested_action: "Migrate to NoSeries.GetNextNo()"
144
+ auto_fixable: false
145
+ specialist: "dean-debug"
146
+ topic_id: "dean-debug/bc24-no-series-conversion-guide"
147
+
148
+ - id: "removed-codeunit-run"
149
+ name: "Deprecated Codeunit.Run Pattern"
150
+ description: "Codeunit.Run patterns that may have changed behavior"
151
+ regex: "Codeunit\\.Run\\s*\\([^)]+\\)"
152
+ regex_flags: "gi"
153
+ context_lines: 2
154
+ specialist: "eva-errors"
155
+ topic_id: "eva-errors/codeunit-run-pattern"
156
+
157
+ completion_rules:
158
+ require_all_files: true
159
+ require_all_checklist_items: true
160
+ allow_skip_with_reason: true
@@ -1,148 +1,148 @@
1
- type: "code-review"
2
- name: "Business Central Code Review"
3
- description: "Systematic code review for AL extensions focusing on performance, security, and maintainability"
4
- specialist: "roger-reviewer"
5
-
6
- file_patterns:
7
- - "**/*.al"
8
- file_exclusions:
9
- - "**/test/**"
10
- - "**/Test/**"
11
- - "**/.altestrunner/**"
12
- - "**/node_modules/**"
13
-
14
- phases:
15
- - id: "inventory"
16
- name: "File Inventory"
17
- description: "Enumerate all AL files in scope"
18
- required: true
19
- mode: "autonomous"
20
-
21
- - id: "preparation"
22
- name: "Pre-Review Preparation"
23
- description: "Verify tests pass, run static analysis, check formatting"
24
- required: true
25
- mode: "guided"
26
- entry_conditions:
27
- - "inventory phase completed"
28
- available_actions:
29
- - "run_tests"
30
- - "run_static_analysis"
31
- - "check_formatting"
32
-
33
- - id: "analysis"
34
- name: "Code Analysis"
35
- description: "Run analyze_al_code on each file, expand checklists with relevant topics"
36
- required: true
37
- mode: "guided"
38
- entry_conditions:
39
- - "preparation phase completed"
40
- available_actions:
41
- - "analyze_file"
42
- - "expand_checklist"
43
- - "record_finding"
44
-
45
- - id: "performance_review"
46
- name: "Performance Analysis"
47
- description: "Check SetLoadFields usage, query patterns, SIFT usage, loop efficiency"
48
- required: true
49
- mode: "guided"
50
- entry_conditions:
51
- - "analysis phase completed"
52
- available_actions:
53
- - "check_setloadfields"
54
- - "check_query_patterns"
55
- - "check_sift_usage"
56
- - "check_loop_efficiency"
57
- - "record_finding"
58
-
59
- - id: "security_review"
60
- name: "Security & Validation"
61
- description: "Validate input handling, permissions, error handling, data validation"
62
- required: true
63
- mode: "guided"
64
- entry_conditions:
65
- - "performance_review phase completed"
66
- available_actions:
67
- - "check_input_validation"
68
- - "check_permissions"
69
- - "check_error_handling"
70
- - "record_finding"
71
-
72
- - id: "maintainability"
73
- name: "Code Maintainability"
74
- description: "Check naming conventions, complexity, commenting, testability"
75
- required: false
76
- mode: "guided"
77
- entry_conditions:
78
- - "security_review phase completed"
79
- available_actions:
80
- - "check_naming"
81
- - "check_complexity"
82
- - "check_documentation"
83
- - "record_finding"
84
-
85
- - id: "summary"
86
- name: "Summary & Report"
87
- description: "Generate final review report with findings and recommendations"
88
- required: true
89
- mode: "autonomous"
90
- entry_conditions:
91
- - "security_review phase completed"
92
-
93
- per_file_checklist:
94
- - id: "analyze"
95
- type: "analysis"
96
- description: "Run analyze_al_code to discover relevant topics"
97
- required: true
98
-
99
- - id: "setloadfields_check"
100
- type: "topic_application"
101
- description: "Check SetLoadFields usage before FindSet/FindFirst"
102
- required: true
103
- conditions:
104
- content_pattern: "Find(Set|First|Last)\\s*\\("
105
-
106
- - id: "query_patterns_check"
107
- type: "topic_application"
108
- description: "Verify efficient query patterns (SetRange, SetFilter, SetCurrentKey)"
109
- required: true
110
- conditions:
111
- content_pattern: "SetRange|SetFilter|SetCurrentKey"
112
-
113
- - id: "sift_check"
114
- type: "topic_application"
115
- description: "Validate SIFT usage for summations instead of manual loops"
116
- required: true
117
- conditions:
118
- content_pattern: "CalcSums|CalcFields|repeat"
119
-
120
- - id: "loop_efficiency_check"
121
- type: "topic_application"
122
- description: "Review loop efficiency and minimal processing inside repeat-until"
123
- required: true
124
- conditions:
125
- content_pattern: "repeat"
126
-
127
- - id: "error_handling_check"
128
- type: "topic_application"
129
- description: "Verify error handling patterns"
130
- required: true
131
- conditions:
132
- content_pattern: "Error\\(|if.*then.*Error"
133
-
134
- - id: "review_complete"
135
- type: "validation"
136
- description: "Mark review complete for this file"
137
- required: true
138
-
139
- topic_discovery:
140
- enabled: true
141
- tool: "analyze_al_code"
142
- auto_expand_checklist: true
143
- min_relevance_score: 0.6
144
-
145
- completion_rules:
146
- require_all_files: true
147
- require_all_checklist_items: true
148
- allow_skip_with_reason: true
1
+ type: "code-review"
2
+ name: "Business Central Code Review"
3
+ description: "Systematic code review for AL extensions focusing on performance, security, and maintainability"
4
+ specialist: "roger-reviewer"
5
+
6
+ file_patterns:
7
+ - "**/*.al"
8
+ file_exclusions:
9
+ - "**/test/**"
10
+ - "**/Test/**"
11
+ - "**/.altestrunner/**"
12
+ - "**/node_modules/**"
13
+
14
+ phases:
15
+ - id: "inventory"
16
+ name: "File Inventory"
17
+ description: "Enumerate all AL files in scope"
18
+ required: true
19
+ mode: "autonomous"
20
+
21
+ - id: "preparation"
22
+ name: "Pre-Review Preparation"
23
+ description: "Verify tests pass, run static analysis, check formatting"
24
+ required: true
25
+ mode: "guided"
26
+ entry_conditions:
27
+ - "inventory phase completed"
28
+ available_actions:
29
+ - "run_tests"
30
+ - "run_static_analysis"
31
+ - "check_formatting"
32
+
33
+ - id: "analysis"
34
+ name: "Code Analysis"
35
+ description: "Run analyze_al_code on each file, expand checklists with relevant topics"
36
+ required: true
37
+ mode: "guided"
38
+ entry_conditions:
39
+ - "preparation phase completed"
40
+ available_actions:
41
+ - "analyze_file"
42
+ - "expand_checklist"
43
+ - "record_finding"
44
+
45
+ - id: "performance_review"
46
+ name: "Performance Analysis"
47
+ description: "Check SetLoadFields usage, query patterns, SIFT usage, loop efficiency"
48
+ required: true
49
+ mode: "guided"
50
+ entry_conditions:
51
+ - "analysis phase completed"
52
+ available_actions:
53
+ - "check_setloadfields"
54
+ - "check_query_patterns"
55
+ - "check_sift_usage"
56
+ - "check_loop_efficiency"
57
+ - "record_finding"
58
+
59
+ - id: "security_review"
60
+ name: "Security & Validation"
61
+ description: "Validate input handling, permissions, error handling, data validation"
62
+ required: true
63
+ mode: "guided"
64
+ entry_conditions:
65
+ - "performance_review phase completed"
66
+ available_actions:
67
+ - "check_input_validation"
68
+ - "check_permissions"
69
+ - "check_error_handling"
70
+ - "record_finding"
71
+
72
+ - id: "maintainability"
73
+ name: "Code Maintainability"
74
+ description: "Check naming conventions, complexity, commenting, testability"
75
+ required: false
76
+ mode: "guided"
77
+ entry_conditions:
78
+ - "security_review phase completed"
79
+ available_actions:
80
+ - "check_naming"
81
+ - "check_complexity"
82
+ - "check_documentation"
83
+ - "record_finding"
84
+
85
+ - id: "summary"
86
+ name: "Summary & Report"
87
+ description: "Generate final review report with findings and recommendations"
88
+ required: true
89
+ mode: "autonomous"
90
+ entry_conditions:
91
+ - "security_review phase completed"
92
+
93
+ per_file_checklist:
94
+ - id: "analyze"
95
+ type: "analysis"
96
+ description: "Run analyze_al_code to discover relevant topics"
97
+ required: true
98
+
99
+ - id: "setloadfields_check"
100
+ type: "topic_application"
101
+ description: "Check SetLoadFields usage before FindSet/FindFirst"
102
+ required: true
103
+ conditions:
104
+ content_pattern: "Find(Set|First|Last)\\s*\\("
105
+
106
+ - id: "query_patterns_check"
107
+ type: "topic_application"
108
+ description: "Verify efficient query patterns (SetRange, SetFilter, SetCurrentKey)"
109
+ required: true
110
+ conditions:
111
+ content_pattern: "SetRange|SetFilter|SetCurrentKey"
112
+
113
+ - id: "sift_check"
114
+ type: "topic_application"
115
+ description: "Validate SIFT usage for summations instead of manual loops"
116
+ required: true
117
+ conditions:
118
+ content_pattern: "CalcSums|CalcFields|repeat"
119
+
120
+ - id: "loop_efficiency_check"
121
+ type: "topic_application"
122
+ description: "Review loop efficiency and minimal processing inside repeat-until"
123
+ required: true
124
+ conditions:
125
+ content_pattern: "repeat"
126
+
127
+ - id: "error_handling_check"
128
+ type: "topic_application"
129
+ description: "Verify error handling patterns"
130
+ required: true
131
+ conditions:
132
+ content_pattern: "Error\\(|if.*then.*Error"
133
+
134
+ - id: "review_complete"
135
+ type: "validation"
136
+ description: "Mark review complete for this file"
137
+ required: true
138
+
139
+ topic_discovery:
140
+ enabled: true
141
+ tool: "analyze_al_code"
142
+ auto_expand_checklist: true
143
+ min_relevance_score: 0.6
144
+
145
+ completion_rules:
146
+ require_all_files: true
147
+ require_all_checklist_items: true
148
+ allow_skip_with_reason: true