@juangcarmona/lighthouse-sdlc 0.18.1 → 0.18.3
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/package.json +1 -1
- package/src/epic-native.mjs +1 -2
- package/src/issue-actions.mjs +1 -1
package/package.json
CHANGED
package/src/epic-native.mjs
CHANGED
|
@@ -140,8 +140,7 @@ export async function checkEpicCapacity({ api, repository, owner, child, current
|
|
|
140
140
|
if (!Array.isArray(candidates) || candidates.length !== 1) throw Error('Epic child inventory is incomplete or ambiguous');
|
|
141
141
|
const issue = await api(`issues/${candidates[0].number}`);
|
|
142
142
|
if (issue.id !== candidates[0].id || issue.user?.login !== 'github-actions[bot]' || issue.user.type !== 'Bot' || !isDeepStrictEqual(readEpicMarker(issue.body), correlation)) throw Error('Epic child inventory changed');
|
|
143
|
-
if (issue.state
|
|
144
|
-
if (issue.state !== 'open' || issue.pull_request) throw Error('Epic child state is uncertain');
|
|
143
|
+
if (!['open', 'closed'].includes(issue.state) || issue.pull_request) throw Error('Epic child state is uncertain');
|
|
145
144
|
const comments = await issueComments(api, issue.number);
|
|
146
145
|
const active = comments.filter(comment => comment.user?.login === 'github-actions[bot]' && comment.user.type === 'Bot' && comment.body?.includes('<!-- lighthouse-dispatch:')).map(comment => readDispatchReceipt(comment, repository, issue.number)).some(receipt => receipt.stage === 'implement' && receipt.id !== excludeRequest && ['requested', 'running', 'unknown'].includes(receipt.status));
|
|
147
146
|
if (active || issue.number !== child && issue.labels.some(label => label.name === 'agent-working')) occupied++;
|
package/src/issue-actions.mjs
CHANGED
|
@@ -125,7 +125,7 @@ export function checkProductEntry(product, snapshot) {
|
|
|
125
125
|
|
|
126
126
|
export function productGapNextAction({ gap, enabled, dispatched, paused }) {
|
|
127
127
|
if (!gap) return null;
|
|
128
|
-
if (paused) return { action: 'Owner: remove the future label when work may resume.', next: dispatched ? 'Then replay this run through the router using this issue, stage and run ID as after_run.' : 'Then request a new authorized stage execution.' };
|
|
128
|
+
if (paused) return { action: 'Owner: remove the future label when work may resume.', next: !enabled ? 'The workflow maintainer must also install and enable the Product Change workflow, then request a new authorized stage execution.' : dispatched ? 'Then replay this run through the router using this issue, stage and run ID as after_run.' : 'Then request a new authorized stage execution.' };
|
|
129
129
|
if (enabled && dispatched) return { action: 'None. Wait for the Product Change preparation outcome.', next: 'The workflow will authenticate this prerequisite and check whether product preparation is authorized; implementation remains stopped.' };
|
|
130
130
|
return { action: enabled ? 'Workflow maintainer: request a new authorized stage execution in the router.' : 'Workflow maintainer: install and enable the Product Change workflow.', next: 'Request a new authorized stage execution in the router; implementation remains stopped until the product prerequisite is approved and applied.' };
|
|
131
131
|
}
|