@xn-intenton-z2a/agentic-lib 7.4.45 → 7.4.47
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/.github/workflows/agentic-lib-bot.yml +9 -4
- package/.github/workflows/agentic-lib-flow.yml +29 -14
- package/.github/workflows/agentic-lib-init.yml +19 -9
- package/.github/workflows/agentic-lib-report.yml +13 -6
- package/.github/workflows/agentic-lib-schedule.yml +11 -5
- package/.github/workflows/agentic-lib-test.yml +5 -2
- package/.github/workflows/agentic-lib-update.yml +5 -2
- package/.github/workflows/agentic-lib-workflow.yml +25 -12
- package/agentic-lib.toml +9 -12
- package/package.json +1 -1
- package/src/seeds/zero-package.json +1 -1
|
@@ -97,6 +97,11 @@ jobs:
|
|
|
97
97
|
sparse-checkout-cone-mode: false
|
|
98
98
|
- id: resolve
|
|
99
99
|
uses: actions/github-script@v8
|
|
100
|
+
env:
|
|
101
|
+
INPUT_MODEL: ${{ inputs.model }}
|
|
102
|
+
INPUT_DRY_RUN: ${{ inputs.dry-run }}
|
|
103
|
+
INPUT_DISCUSSION_URL: ${{ inputs.discussion-url }}
|
|
104
|
+
INPUT_MESSAGE: ${{ inputs.message }}
|
|
100
105
|
with:
|
|
101
106
|
script: |
|
|
102
107
|
const fs = require('fs');
|
|
@@ -123,10 +128,10 @@ jobs:
|
|
|
123
128
|
core.setOutput(name, value);
|
|
124
129
|
return value;
|
|
125
130
|
};
|
|
126
|
-
resolve('model',
|
|
127
|
-
resolve('dry-run',
|
|
128
|
-
resolve('discussion-url',
|
|
129
|
-
resolve('message',
|
|
131
|
+
resolve('model', process.env.INPUT_MODEL, 'model', 'gpt-5-mini');
|
|
132
|
+
resolve('dry-run', process.env.INPUT_DRY_RUN, null, 'true');
|
|
133
|
+
resolve('discussion-url', process.env.INPUT_DISCUSSION_URL, null, '');
|
|
134
|
+
resolve('message', process.env.INPUT_MESSAGE, null, '');
|
|
130
135
|
|
|
131
136
|
respond:
|
|
132
137
|
needs: params
|
|
@@ -195,6 +195,21 @@ jobs:
|
|
|
195
195
|
sparse-checkout-cone-mode: false
|
|
196
196
|
- id: resolve
|
|
197
197
|
uses: actions/github-script@v8
|
|
198
|
+
env:
|
|
199
|
+
INPUT_MODE: ${{ inputs.mode }}
|
|
200
|
+
INPUT_MISSION_SEED: ${{ inputs.mission-seed }}
|
|
201
|
+
INPUT_MISSION_TEXT: ${{ inputs.mission-text }}
|
|
202
|
+
INPUT_MODEL: ${{ inputs.model }}
|
|
203
|
+
INPUT_PROFILE: ${{ inputs.profile }}
|
|
204
|
+
INPUT_WORKFLOW_RUNS: ${{ inputs.workflow-runs }}
|
|
205
|
+
INPUT_SCHEDULE: ${{ inputs.schedule }}
|
|
206
|
+
INPUT_DRY_RUN: ${{ inputs.dry-run }}
|
|
207
|
+
INPUT_MESSAGE: ${{ inputs.message }}
|
|
208
|
+
INPUT_CONFIG_PATH: ${{ inputs.config-path }}
|
|
209
|
+
INPUT_SKIP_MAINTAIN: ${{ inputs.skipMaintain }}
|
|
210
|
+
INPUT_CREATE_SEED_ISSUES: ${{ inputs.create-seed-issues }}
|
|
211
|
+
INPUT_SKIP_TESTS: ${{ inputs.skip-tests }}
|
|
212
|
+
INPUT_GENERATE_REPORT: ${{ inputs.generate-report }}
|
|
198
213
|
with:
|
|
199
214
|
script: |
|
|
200
215
|
const fs = require('fs');
|
|
@@ -221,20 +236,20 @@ jobs:
|
|
|
221
236
|
core.setOutput(name, value);
|
|
222
237
|
return value;
|
|
223
238
|
};
|
|
224
|
-
resolve('mode',
|
|
225
|
-
resolve('mission-seed',
|
|
226
|
-
resolve('mission-text',
|
|
227
|
-
resolve('model',
|
|
228
|
-
resolve('profile',
|
|
229
|
-
resolve('workflow-runs',
|
|
230
|
-
resolve('schedule',
|
|
231
|
-
resolve('dry-run',
|
|
232
|
-
resolve('message',
|
|
233
|
-
resolve('config-path',
|
|
234
|
-
resolve('skipMaintain',
|
|
235
|
-
resolve('create-seed-issues',
|
|
236
|
-
resolve('skip-tests',
|
|
237
|
-
resolve('generate-report',
|
|
239
|
+
resolve('mode', process.env.INPUT_MODE, null, 'purge');
|
|
240
|
+
resolve('mission-seed', process.env.INPUT_MISSION_SEED, null, '7-kyu-understand-fizz-buzz');
|
|
241
|
+
resolve('mission-text', process.env.INPUT_MISSION_TEXT, null, '');
|
|
242
|
+
resolve('model', process.env.INPUT_MODEL, 'model', 'gpt-5-mini');
|
|
243
|
+
resolve('profile', process.env.INPUT_PROFILE, 'profile', 'max');
|
|
244
|
+
resolve('workflow-runs', process.env.INPUT_WORKFLOW_RUNS, null, '4');
|
|
245
|
+
resolve('schedule', process.env.INPUT_SCHEDULE, null, 'off');
|
|
246
|
+
resolve('dry-run', process.env.INPUT_DRY_RUN, null, 'false');
|
|
247
|
+
resolve('message', process.env.INPUT_MESSAGE, null, '');
|
|
248
|
+
resolve('config-path', process.env.INPUT_CONFIG_PATH, null, 'agentic-lib.toml');
|
|
249
|
+
resolve('skipMaintain', process.env.INPUT_SKIP_MAINTAIN, null, 'false');
|
|
250
|
+
resolve('create-seed-issues', process.env.INPUT_CREATE_SEED_ISSUES, null, 'false');
|
|
251
|
+
resolve('skip-tests', process.env.INPUT_SKIP_TESTS, null, 'true');
|
|
252
|
+
resolve('generate-report', process.env.INPUT_GENERATE_REPORT, null, 'false');
|
|
238
253
|
|
|
239
254
|
# ── Phase 0: Update agentic-lib package ────────────────────────────
|
|
240
255
|
update:
|
|
@@ -161,6 +161,16 @@ jobs:
|
|
|
161
161
|
steps:
|
|
162
162
|
- id: resolve
|
|
163
163
|
uses: actions/github-script@v8
|
|
164
|
+
env:
|
|
165
|
+
INPUT_DRY_RUN: ${{ inputs.dry-run }}
|
|
166
|
+
INPUT_MODE: ${{ inputs.mode }}
|
|
167
|
+
INPUT_MISSION_SEED: ${{ inputs.mission-seed }}
|
|
168
|
+
INPUT_MISSION_TEXT: ${{ inputs.mission-text }}
|
|
169
|
+
INPUT_SCHEDULE: ${{ inputs.schedule }}
|
|
170
|
+
INPUT_MODEL: ${{ inputs.model }}
|
|
171
|
+
INPUT_PROFILE: ${{ inputs.profile }}
|
|
172
|
+
INPUT_CREATE_SEED_ISSUES: ${{ inputs.create-seed-issues }}
|
|
173
|
+
INPUT_RUN_WORKFLOW: ${{ inputs.run-workflow }}
|
|
164
174
|
with:
|
|
165
175
|
script: |
|
|
166
176
|
const resolve = (name, input, configKey, defaultValue) => {
|
|
@@ -177,15 +187,15 @@ jobs:
|
|
|
177
187
|
core.setOutput(name, value);
|
|
178
188
|
return value;
|
|
179
189
|
};
|
|
180
|
-
resolve('dry-run',
|
|
181
|
-
resolve('mode',
|
|
182
|
-
resolve('mission-seed',
|
|
183
|
-
resolve('mission-text',
|
|
184
|
-
resolve('schedule',
|
|
185
|
-
resolve('model',
|
|
186
|
-
resolve('profile',
|
|
187
|
-
resolve('create-seed-issues',
|
|
188
|
-
resolve('run-workflow',
|
|
190
|
+
resolve('dry-run', process.env.INPUT_DRY_RUN, null, 'false');
|
|
191
|
+
resolve('mode', process.env.INPUT_MODE, null, 'purge');
|
|
192
|
+
resolve('mission-seed', process.env.INPUT_MISSION_SEED, null, '7-kyu-understand-fizz-buzz');
|
|
193
|
+
resolve('mission-text', process.env.INPUT_MISSION_TEXT, null, '');
|
|
194
|
+
resolve('schedule', process.env.INPUT_SCHEDULE, null, '');
|
|
195
|
+
resolve('model', process.env.INPUT_MODEL, null, '');
|
|
196
|
+
resolve('profile', process.env.INPUT_PROFILE, null, '');
|
|
197
|
+
resolve('create-seed-issues', process.env.INPUT_CREATE_SEED_ISSUES, null, 'false');
|
|
198
|
+
resolve('run-workflow', process.env.INPUT_RUN_WORKFLOW, null, 'true');
|
|
189
199
|
|
|
190
200
|
# Step 1: Update agentic-lib and infrastructure (commits to main)
|
|
191
201
|
# Skip tests when purge/reseed will replace all user code anyway
|
|
@@ -88,10 +88,17 @@ jobs:
|
|
|
88
88
|
sparse-checkout-cone-mode: false
|
|
89
89
|
- id: resolve
|
|
90
90
|
uses: actions/github-script@v8
|
|
91
|
+
env:
|
|
92
|
+
INPUT_PERIOD_START: ${{ inputs.period-start }}
|
|
93
|
+
INPUT_PERIOD_END: ${{ inputs.period-end }}
|
|
94
|
+
INPUT_MODEL: ${{ inputs.model }}
|
|
95
|
+
INPUT_CONFIG_PATH: ${{ inputs.config-path }}
|
|
96
|
+
INPUT_DRY_RUN: ${{ inputs.dry-run }}
|
|
97
|
+
CONFIG_PATH: ${{ env.configPath }}
|
|
91
98
|
with:
|
|
92
99
|
script: |
|
|
93
100
|
const fs = require('fs');
|
|
94
|
-
const configPath =
|
|
101
|
+
const configPath = process.env.CONFIG_PATH;
|
|
95
102
|
let toml = '';
|
|
96
103
|
if (fs.existsSync(configPath)) toml = fs.readFileSync(configPath, 'utf8');
|
|
97
104
|
const readToml = (key) => {
|
|
@@ -114,11 +121,11 @@ jobs:
|
|
|
114
121
|
core.setOutput(name, value);
|
|
115
122
|
return value;
|
|
116
123
|
};
|
|
117
|
-
resolve('period-start',
|
|
118
|
-
resolve('period-end',
|
|
119
|
-
resolve('model',
|
|
120
|
-
resolve('config-path',
|
|
121
|
-
resolve('dry-run',
|
|
124
|
+
resolve('period-start', process.env.INPUT_PERIOD_START, null, '');
|
|
125
|
+
resolve('period-end', process.env.INPUT_PERIOD_END, null, '');
|
|
126
|
+
resolve('model', process.env.INPUT_MODEL, 'model', 'gpt-5-mini');
|
|
127
|
+
resolve('config-path', process.env.INPUT_CONFIG_PATH, null, process.env.CONFIG_PATH);
|
|
128
|
+
resolve('dry-run', process.env.INPUT_DRY_RUN, null, 'false');
|
|
122
129
|
|
|
123
130
|
generate-report:
|
|
124
131
|
needs: [params]
|
|
@@ -107,6 +107,12 @@ jobs:
|
|
|
107
107
|
sparse-checkout-cone-mode: false
|
|
108
108
|
- id: resolve
|
|
109
109
|
uses: actions/github-script@v8
|
|
110
|
+
env:
|
|
111
|
+
INPUT_FREQUENCY: ${{ inputs.frequency }}
|
|
112
|
+
INPUT_MODEL: ${{ inputs.model }}
|
|
113
|
+
INPUT_PROFILE: ${{ inputs.profile }}
|
|
114
|
+
INPUT_FOCUS: ${{ inputs.focus }}
|
|
115
|
+
INPUT_DRY_RUN: ${{ inputs.dry-run }}
|
|
110
116
|
with:
|
|
111
117
|
script: |
|
|
112
118
|
const fs = require('fs');
|
|
@@ -133,16 +139,16 @@ jobs:
|
|
|
133
139
|
core.setOutput(name, value);
|
|
134
140
|
return value;
|
|
135
141
|
};
|
|
136
|
-
const frequency = resolve('frequency',
|
|
137
|
-
resolve('model',
|
|
138
|
-
resolve('profile',
|
|
139
|
-
let focus = resolve('focus',
|
|
142
|
+
const frequency = resolve('frequency', process.env.INPUT_FREQUENCY, 'supervisor', 'off');
|
|
143
|
+
resolve('model', process.env.INPUT_MODEL, 'model', 'gpt-5-mini');
|
|
144
|
+
resolve('profile', process.env.INPUT_PROFILE, 'profile', '');
|
|
145
|
+
let focus = resolve('focus', process.env.INPUT_FOCUS, 'focus', 'mission');
|
|
140
146
|
if (frequency === 'maintenance') {
|
|
141
147
|
focus = 'maintenance';
|
|
142
148
|
core.info(`param focus: overridden to 'maintenance' (frequency=maintenance)`);
|
|
143
149
|
core.setOutput('focus', focus);
|
|
144
150
|
}
|
|
145
|
-
resolve('dry-run',
|
|
151
|
+
resolve('dry-run', process.env.INPUT_DRY_RUN, null, 'false');
|
|
146
152
|
const maintenance = frequency === 'maintenance' ? 'true' : 'false';
|
|
147
153
|
core.info(`param maintenance: derived='${maintenance}' (frequency='${frequency}')`);
|
|
148
154
|
core.setOutput('maintenance', maintenance);
|
|
@@ -70,6 +70,9 @@ jobs:
|
|
|
70
70
|
steps:
|
|
71
71
|
- id: resolve
|
|
72
72
|
uses: actions/github-script@v8
|
|
73
|
+
env:
|
|
74
|
+
INPUT_PUSH_SCREENSHOT: ${{ inputs.push-screenshot }}
|
|
75
|
+
INPUT_LOG_BRANCH: ${{ inputs.log-branch }}
|
|
73
76
|
with:
|
|
74
77
|
script: |
|
|
75
78
|
const resolve = (name, input, configKey, defaultValue) => {
|
|
@@ -86,8 +89,8 @@ jobs:
|
|
|
86
89
|
core.setOutput(name, value);
|
|
87
90
|
return value;
|
|
88
91
|
};
|
|
89
|
-
resolve('push-screenshot',
|
|
90
|
-
resolve('log-branch',
|
|
92
|
+
resolve('push-screenshot', process.env.INPUT_PUSH_SCREENSHOT, null, 'false');
|
|
93
|
+
resolve('log-branch', process.env.INPUT_LOG_BRANCH, null, 'agentic-lib-logs');
|
|
91
94
|
|
|
92
95
|
test:
|
|
93
96
|
needs: [params]
|
|
@@ -45,6 +45,9 @@ jobs:
|
|
|
45
45
|
steps:
|
|
46
46
|
- id: resolve
|
|
47
47
|
uses: actions/github-script@v8
|
|
48
|
+
env:
|
|
49
|
+
INPUT_DRY_RUN: ${{ inputs.dry-run }}
|
|
50
|
+
INPUT_SKIP_TESTS: ${{ inputs.skip-tests }}
|
|
48
51
|
with:
|
|
49
52
|
script: |
|
|
50
53
|
const resolve = (name, input, configKey, defaultValue) => {
|
|
@@ -61,8 +64,8 @@ jobs:
|
|
|
61
64
|
core.setOutput(name, value);
|
|
62
65
|
return value;
|
|
63
66
|
};
|
|
64
|
-
resolve('dry-run',
|
|
65
|
-
resolve('skip-tests',
|
|
67
|
+
resolve('dry-run', process.env.INPUT_DRY_RUN, null, 'false');
|
|
68
|
+
resolve('skip-tests', process.env.INPUT_SKIP_TESTS, null, 'false');
|
|
66
69
|
|
|
67
70
|
update:
|
|
68
71
|
needs: [params]
|
|
@@ -166,10 +166,23 @@ jobs:
|
|
|
166
166
|
sparse-checkout-cone-mode: false
|
|
167
167
|
- id: resolve
|
|
168
168
|
uses: actions/github-script@v8
|
|
169
|
+
env:
|
|
170
|
+
INPUT_MODEL: ${{ inputs.model }}
|
|
171
|
+
INPUT_PROFILE: ${{ inputs.profile }}
|
|
172
|
+
INPUT_MODE: ${{ inputs.mode }}
|
|
173
|
+
INPUT_MESSAGE: ${{ inputs.message }}
|
|
174
|
+
INPUT_ISSUE_NUMBER: ${{ inputs.issue-number }}
|
|
175
|
+
INPUT_SCHEDULE: ${{ inputs.schedule }}
|
|
176
|
+
INPUT_PR_NUMBER: ${{ inputs.pr-number }}
|
|
177
|
+
INPUT_CONFIG_PATH: ${{ inputs.config-path }}
|
|
178
|
+
INPUT_SKIP_MAINTAIN: ${{ inputs.skipMaintain }}
|
|
179
|
+
INPUT_DRY_RUN: ${{ inputs.dry-run }}
|
|
180
|
+
CONFIG_PATH: ${{ env.configPath }}
|
|
181
|
+
EVENT_NAME: ${{ github.event_name }}
|
|
169
182
|
with:
|
|
170
183
|
script: |
|
|
171
184
|
const fs = require('fs');
|
|
172
|
-
const configPath =
|
|
185
|
+
const configPath = process.env.CONFIG_PATH;
|
|
173
186
|
let toml = '';
|
|
174
187
|
if (fs.existsSync(configPath)) toml = fs.readFileSync(configPath, 'utf8');
|
|
175
188
|
const readToml = (key) => {
|
|
@@ -192,19 +205,19 @@ jobs:
|
|
|
192
205
|
core.setOutput(name, value);
|
|
193
206
|
return value;
|
|
194
207
|
};
|
|
195
|
-
resolve('model',
|
|
196
|
-
resolve('profile',
|
|
197
|
-
resolve('mode',
|
|
198
|
-
resolve('message',
|
|
199
|
-
resolve('issue-number',
|
|
200
|
-
resolve('schedule',
|
|
201
|
-
resolve('pr-number',
|
|
202
|
-
resolve('config-path',
|
|
203
|
-
resolve('skipMaintain',
|
|
208
|
+
resolve('model', process.env.INPUT_MODEL, 'model', 'gpt-5-mini');
|
|
209
|
+
resolve('profile', process.env.INPUT_PROFILE, 'profile', '');
|
|
210
|
+
resolve('mode', process.env.INPUT_MODE, null, 'full');
|
|
211
|
+
resolve('message', process.env.INPUT_MESSAGE, null, '');
|
|
212
|
+
resolve('issue-number', process.env.INPUT_ISSUE_NUMBER, null, '');
|
|
213
|
+
resolve('schedule', process.env.INPUT_SCHEDULE, null, '');
|
|
214
|
+
resolve('pr-number', process.env.INPUT_PR_NUMBER, null, '');
|
|
215
|
+
resolve('config-path', process.env.INPUT_CONFIG_PATH, null, process.env.CONFIG_PATH);
|
|
216
|
+
resolve('skipMaintain', process.env.INPUT_SKIP_MAINTAIN, null, 'false');
|
|
204
217
|
// dry-run: schedule events default to false (live), others to true
|
|
205
|
-
const eventName =
|
|
218
|
+
const eventName = process.env.EVENT_NAME;
|
|
206
219
|
const dryRunDefault = eventName === 'schedule' ? 'false' : 'true';
|
|
207
|
-
resolve('dry-run',
|
|
220
|
+
resolve('dry-run', process.env.INPUT_DRY_RUN, null, dryRunDefault);
|
|
208
221
|
// Bot config from TOML
|
|
209
222
|
resolve('log-prefix', '', 'log-prefix', 'agent-log-');
|
|
210
223
|
resolve('log-branch', '', 'log-branch', 'agentic-lib-logs');
|
package/agentic-lib.toml
CHANGED
|
@@ -70,7 +70,6 @@ infinite-sessions = false # set to true for long sessions with compaction
|
|
|
70
70
|
# [tuning] or [limits] to deviate from the active profile.
|
|
71
71
|
|
|
72
72
|
[profiles.min]
|
|
73
|
-
# Fast, cheap — CI testing, quick validation.
|
|
74
73
|
reasoning-effort = "low" # low | medium | high | none
|
|
75
74
|
infinite-sessions = false # enable session compaction for long runs
|
|
76
75
|
transformation-budget = 16 # max code-changing cycles per run
|
|
@@ -93,12 +92,11 @@ max-fix-test-output = 8000 # max chars of failed run log in fix-code
|
|
|
93
92
|
review-issues-cap = 2 # max issues reviewed per batch (conservative for 10 min timeout)
|
|
94
93
|
min-resolved-issues = 1 # mission-complete: minimum closed-as-RESOLVED issues
|
|
95
94
|
min-cumulative-transforms = 1 # mission-complete: minimum transform cycles
|
|
96
|
-
max-source-todos =
|
|
97
|
-
acceptance-criteria-threshold =
|
|
95
|
+
max-source-todos = 1 # mission-complete: max TODO comments in src
|
|
96
|
+
acceptance-criteria-threshold = 80 # mission-complete: % acceptance criteria required
|
|
98
97
|
|
|
99
98
|
[profiles.med]
|
|
100
|
-
#
|
|
101
|
-
reasoning-effort = "medium" # low | medium | high | none
|
|
99
|
+
reasoning-effort = "high" # low | medium | high | none
|
|
102
100
|
infinite-sessions = true # enable session compaction for long runs
|
|
103
101
|
transformation-budget = 32 # max code-changing cycles per run
|
|
104
102
|
max-issues = 15 # max open issues fetched from GitHub
|
|
@@ -118,13 +116,12 @@ max-file-listing = 100 # max files in directory listings (0 = un
|
|
|
118
116
|
max-library-index = 5000 # max chars for library index in prompts
|
|
119
117
|
max-fix-test-output = 15000 # max chars of failed run log in fix-code
|
|
120
118
|
review-issues-cap = 3 # max issues reviewed per batch
|
|
121
|
-
min-resolved-issues =
|
|
119
|
+
min-resolved-issues = 1 # mission-complete: minimum closed-as-RESOLVED issues
|
|
122
120
|
min-cumulative-transforms = 1 # mission-complete: minimum transform cycles
|
|
123
121
|
max-source-todos = 1 # mission-complete: max TODO comments in src
|
|
124
|
-
acceptance-criteria-threshold =
|
|
122
|
+
acceptance-criteria-threshold = 80 # mission-complete: % acceptance criteria required
|
|
125
123
|
|
|
126
124
|
[profiles.max]
|
|
127
|
-
# Thorough — maximum context for complex missions.
|
|
128
125
|
reasoning-effort = "high" # low | medium | high | none
|
|
129
126
|
infinite-sessions = true # enable session compaction for long runs
|
|
130
127
|
transformation-budget = 128 # max code-changing cycles per run
|
|
@@ -145,10 +142,10 @@ max-file-listing = 0 # max files in directory listings (0 = un
|
|
|
145
142
|
max-library-index = 10000 # max chars for library index in prompts
|
|
146
143
|
max-fix-test-output = 30000 # max chars of failed run log in fix-code
|
|
147
144
|
review-issues-cap = 4 # max issues reviewed per batch (may need step timeout awareness)
|
|
148
|
-
min-resolved-issues =
|
|
149
|
-
min-cumulative-transforms =
|
|
145
|
+
min-resolved-issues = 1 # mission-complete: minimum closed-as-RESOLVED issues
|
|
146
|
+
min-cumulative-transforms = 1 # mission-complete: minimum transform cycles
|
|
150
147
|
max-source-todos = 0 # mission-complete: max TODO comments in src
|
|
151
|
-
acceptance-criteria-threshold =
|
|
148
|
+
acceptance-criteria-threshold = 80 # mission-complete: % acceptance criteria required
|
|
152
149
|
|
|
153
150
|
[goals]
|
|
154
151
|
# W12/W13: Code coverage thresholds — stated in all code-changing prompts
|
|
@@ -160,7 +157,7 @@ min-branch-coverage = 30 # minimum % branch coverage required
|
|
|
160
157
|
# All conditions must be met simultaneously.
|
|
161
158
|
min-resolved-issues = 1 # minimum closed-as-RESOLVED issues since init
|
|
162
159
|
max-source-todos = 0 # max TODO comments allowed in ./src (0 = none)
|
|
163
|
-
acceptance-criteria-threshold =
|
|
160
|
+
acceptance-criteria-threshold = 80 # percentage of acceptance criteria that must be met (0-100)
|
|
164
161
|
min-cumulative-transforms = 1 # minimum transform cycles completed
|
|
165
162
|
require-no-open-issues = true # all issues must be closed
|
|
166
163
|
require-no-open-prs = true # all PRs must be merged/closed
|
package/package.json
CHANGED