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.
- package/LICENSE +20 -20
- package/README.md +165 -165
- package/dist/config/config-loader.js +6 -6
- package/dist/config/config-loader.js.map +1 -1
- package/dist/layers/embedded-layer.js +29 -29
- package/dist/layers/git-layer.d.ts +2 -0
- package/dist/layers/git-layer.d.ts.map +1 -1
- package/dist/layers/git-layer.js +47 -14
- package/dist/layers/git-layer.js.map +1 -1
- package/dist/layers/project-layer.js +33 -33
- package/dist/services/methodology-service.js +28 -28
- package/dist/services/multi-content-layer-service.d.ts +5 -0
- package/dist/services/multi-content-layer-service.d.ts.map +1 -1
- package/dist/services/multi-content-layer-service.js +31 -0
- package/dist/services/multi-content-layer-service.js.map +1 -1
- package/dist/tools/create_layer_content/handler.js +83 -83
- package/dist/tools/scaffold_layer_repo/handler.js +276 -276
- package/dist/tools/workflow_batch/schema.js +9 -9
- package/dist/tools/workflow_cancel/schema.js +9 -9
- package/dist/tools/workflow_complete/schema.js +9 -9
- package/dist/tools/workflow_list/schema.js +11 -11
- package/dist/tools/workflow_next/schema.js +8 -8
- package/dist/tools/workflow_progress/schema.js +5 -5
- package/dist/tools/workflow_start/schema.js +14 -14
- package/dist/tools/workflow_status/schema.js +8 -8
- package/embedded-knowledge/.github/ISSUE_TEMPLATE/bug-report.md +23 -23
- package/embedded-knowledge/.github/ISSUE_TEMPLATE/content-improvement.md +23 -23
- package/embedded-knowledge/.github/ISSUE_TEMPLATE/knowledge-request.md +29 -29
- package/embedded-knowledge/AGENTS.md +177 -177
- package/embedded-knowledge/CONTRIBUTING.md +57 -57
- package/embedded-knowledge/LICENSE +20 -20
- package/embedded-knowledge/README.md +31 -31
- package/embedded-knowledge/codelens-mappings.yaml +111 -111
- package/embedded-knowledge/domains/shared/al-file-naming-conventions.md +155 -155
- package/embedded-knowledge/scripts/frontmatter_validator.ps1 +330 -330
- package/embedded-knowledge/workflows/bc-version-upgrade.yaml +160 -160
- package/embedded-knowledge/workflows/code-review.yaml +148 -148
- package/embedded-knowledge/workflows/error-to-errorinfo-migration.yaml +137 -137
- package/embedded-knowledge/workflows/onboarding.yaml +124 -124
- package/embedded-knowledge/workflows/performance-audit.yaml +148 -148
- package/embedded-knowledge/workflows/proposal-review.yaml +117 -117
- package/embedded-knowledge/workflows/security-audit.yaml +139 -139
- package/package.json +83 -83
- package/dist/services/roleplay-engine.d.ts +0 -169
- package/dist/services/roleplay-engine.d.ts.map +0 -1
- package/dist/services/roleplay-engine.js +0 -1026
- package/dist/services/roleplay-engine.js.map +0 -1
- package/dist/streamlined-handlers.d.ts +0 -8
- package/dist/streamlined-handlers.d.ts.map +0 -1
- package/dist/streamlined-handlers.js +0 -29
- package/dist/streamlined-handlers.js.map +0 -1
- package/dist/tools/advance_workflow/handler.d.ts +0 -21
- package/dist/tools/advance_workflow/handler.d.ts.map +0 -1
- package/dist/tools/advance_workflow/handler.js +0 -58
- package/dist/tools/advance_workflow/handler.js.map +0 -1
- package/dist/tools/advance_workflow/schema.d.ts +0 -8
- package/dist/tools/advance_workflow/schema.d.ts.map +0 -1
- package/dist/tools/advance_workflow/schema.js +0 -28
- package/dist/tools/advance_workflow/schema.js.map +0 -1
- package/dist/tools/config-diagnostic-tools.d.ts +0 -234
- package/dist/tools/config-diagnostic-tools.d.ts.map +0 -1
- package/dist/tools/config-diagnostic-tools.js +0 -887
- package/dist/tools/config-diagnostic-tools.js.map +0 -1
- package/dist/tools/context-snapshot/handler.d.ts +0 -14
- package/dist/tools/context-snapshot/handler.d.ts.map +0 -1
- package/dist/tools/context-snapshot/handler.js +0 -143
- package/dist/tools/context-snapshot/handler.js.map +0 -1
- package/dist/tools/context-snapshot/schema.d.ts +0 -11
- package/dist/tools/context-snapshot/schema.d.ts.map +0 -1
- package/dist/tools/context-snapshot/schema.js +0 -46
- package/dist/tools/context-snapshot/schema.js.map +0 -1
- package/dist/tools/core-tools.d.ts +0 -26
- package/dist/tools/core-tools.d.ts.map +0 -1
- package/dist/tools/core-tools.js +0 -262
- package/dist/tools/core-tools.js.map +0 -1
- package/dist/tools/get_workflow_help/handler.d.ts +0 -12
- package/dist/tools/get_workflow_help/handler.d.ts.map +0 -1
- package/dist/tools/get_workflow_help/handler.js +0 -54
- package/dist/tools/get_workflow_help/handler.js.map +0 -1
- package/dist/tools/get_workflow_help/schema.d.ts +0 -8
- package/dist/tools/get_workflow_help/schema.d.ts.map +0 -1
- package/dist/tools/get_workflow_help/schema.js +0 -25
- package/dist/tools/get_workflow_help/schema.js.map +0 -1
- package/dist/tools/handoff-tools.d.ts +0 -37
- package/dist/tools/handoff-tools.d.ts.map +0 -1
- package/dist/tools/handoff-tools.js +0 -265
- package/dist/tools/handoff-tools.js.map +0 -1
- package/dist/tools/knowledge-query/handler.d.ts +0 -29
- package/dist/tools/knowledge-query/handler.d.ts.map +0 -1
- package/dist/tools/knowledge-query/handler.js +0 -85
- package/dist/tools/knowledge-query/handler.js.map +0 -1
- package/dist/tools/knowledge-query/schema.d.ts +0 -12
- package/dist/tools/knowledge-query/schema.d.ts.map +0 -1
- package/dist/tools/knowledge-query/schema.js +0 -64
- package/dist/tools/knowledge-query/schema.js.map +0 -1
- package/dist/tools/onboarding-tools.d.ts +0 -43
- package/dist/tools/onboarding-tools.d.ts.map +0 -1
- package/dist/tools/onboarding-tools.js +0 -353
- package/dist/tools/onboarding-tools.js.map +0 -1
- package/dist/tools/specialist-consult/handler.d.ts +0 -23
- package/dist/tools/specialist-consult/handler.d.ts.map +0 -1
- package/dist/tools/specialist-consult/handler.js +0 -120
- package/dist/tools/specialist-consult/handler.js.map +0 -1
- package/dist/tools/specialist-consult/schema.d.ts +0 -11
- package/dist/tools/specialist-consult/schema.d.ts.map +0 -1
- package/dist/tools/specialist-consult/schema.js +0 -47
- package/dist/tools/specialist-consult/schema.js.map +0 -1
- package/dist/tools/specialist-discovery-tools.d.ts +0 -27
- package/dist/tools/specialist-discovery-tools.d.ts.map +0 -1
- package/dist/tools/specialist-discovery-tools.js +0 -281
- package/dist/tools/specialist-discovery-tools.js.map +0 -1
- package/dist/tools/specialist-list/handler.d.ts +0 -14
- package/dist/tools/specialist-list/handler.d.ts.map +0 -1
- package/dist/tools/specialist-list/handler.js +0 -70
- package/dist/tools/specialist-list/handler.js.map +0 -1
- package/dist/tools/specialist-list/schema.d.ts +0 -11
- package/dist/tools/specialist-list/schema.d.ts.map +0 -1
- package/dist/tools/specialist-list/schema.js +0 -29
- package/dist/tools/specialist-list/schema.js.map +0 -1
- package/dist/tools/start_bc_workflow/handler.d.ts +0 -21
- package/dist/tools/start_bc_workflow/handler.d.ts.map +0 -1
- package/dist/tools/start_bc_workflow/handler.js +0 -237
- package/dist/tools/start_bc_workflow/handler.js.map +0 -1
- package/dist/tools/start_bc_workflow/schema.d.ts +0 -8
- package/dist/tools/start_bc_workflow/schema.d.ts.map +0 -1
- package/dist/tools/start_bc_workflow/schema.js +0 -43
- package/dist/tools/start_bc_workflow/schema.js.map +0 -1
- package/dist/tools/workflow-execute/handler.d.ts +0 -44
- package/dist/tools/workflow-execute/handler.d.ts.map +0 -1
- package/dist/tools/workflow-execute/handler.js +0 -333
- package/dist/tools/workflow-execute/handler.js.map +0 -1
- package/dist/tools/workflow-execute/schema.d.ts +0 -13
- package/dist/tools/workflow-execute/schema.d.ts.map +0 -1
- package/dist/tools/workflow-execute/schema.js +0 -108
- package/dist/tools/workflow-execute/schema.js.map +0 -1
- package/dist/tools/workflow_start_v2/handler.d.ts +0 -21
- package/dist/tools/workflow_start_v2/handler.d.ts.map +0 -1
- package/dist/tools/workflow_start_v2/handler.js +0 -133
- package/dist/tools/workflow_start_v2/handler.js.map +0 -1
- package/dist/tools/workflow_start_v2/schema.d.ts +0 -8
- package/dist/tools/workflow_start_v2/schema.d.ts.map +0 -1
- package/dist/tools/workflow_start_v2/schema.js +0 -102
- package/dist/tools/workflow_start_v2/schema.js.map +0 -1
- package/dist/tools/workspace-tools.d.ts +0 -96
- package/dist/tools/workspace-tools.d.ts.map +0 -1
- package/dist/tools/workspace-tools.js +0 -188
- package/dist/tools/workspace-tools.js.map +0 -1
- package/dist/types/roleplay-types.d.ts +0 -156
- package/dist/types/roleplay-types.d.ts.map +0 -1
- package/dist/types/roleplay-types.js +0 -8
- package/dist/types/roleplay-types.js.map +0 -1
- package/dist/workflows/domain-workflows.d.ts +0 -8
- package/dist/workflows/domain-workflows.d.ts.map +0 -1
- package/dist/workflows/domain-workflows.js +0 -360
- 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
|