@yemi33/minions 0.1.2281 → 0.1.2283
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/engine/cleanup.js +1 -1
- package/engine/lifecycle.js +8 -2
- package/package.json +1 -1
package/engine/cleanup.js
CHANGED
|
@@ -1643,7 +1643,7 @@ function runPeriodicWorktreeSweep(config) {
|
|
|
1643
1643
|
// null" claim is true for the dispatch-end GC but NOT for this registry-derived
|
|
1644
1644
|
// periodic sweep.)
|
|
1645
1645
|
const projects = allProjects.filter(p => {
|
|
1646
|
-
try { return !shared.isLiveCheckoutProject(p); } catch { return
|
|
1646
|
+
try { return !shared.isLiveCheckoutProject(p); } catch { return false; } // W-mquoe8fu000w9383: fail-CLOSED — exclude from GC when checkout mode cannot be determined
|
|
1647
1647
|
});
|
|
1648
1648
|
const liveSkipped = allProjects.length - projects.length;
|
|
1649
1649
|
if (projects.length === 0) {
|
package/engine/lifecycle.js
CHANGED
|
@@ -749,6 +749,12 @@ function updateWorkItemStatus(meta, status, reason) {
|
|
|
749
749
|
const _VALID_PRD_STATUSES = new Set([...Object.values(WI_STATUS), 'missing']);
|
|
750
750
|
// (#984) PRD statuses that are stale when the work item is actually done
|
|
751
751
|
const _STALE_PRD_STATUSES = new Set([WI_STATUS.DISPATCHED, WI_STATUS.FAILED, WI_STATUS.PENDING]);
|
|
752
|
+
// (W-mquoejfa000xd6b6) PRD top-level statuses that are frozen — reconcilePrdStatuses must skip
|
|
753
|
+
// these entirely to avoid spurious status transitions or WI dispatches on paused/rejected/
|
|
754
|
+
// awaiting-approval PRDs. Previously only COMPLETED was skipped.
|
|
755
|
+
const _PRD_FROZEN_STATUSES = new Set([
|
|
756
|
+
PLAN_STATUS.COMPLETED, PLAN_STATUS.PAUSED, PLAN_STATUS.REJECTED, PLAN_STATUS.AWAITING_APPROVAL,
|
|
757
|
+
]);
|
|
752
758
|
function syncPrdItemStatus(itemId, status, sourcePlan) {
|
|
753
759
|
if (!itemId) return;
|
|
754
760
|
if (!_VALID_PRD_STATUSES.has(status)) return;
|
|
@@ -826,8 +832,8 @@ function reconcilePrdStatuses(config) {
|
|
|
826
832
|
const logMessages = [];
|
|
827
833
|
mutateJsonFileLocked(fpath, (plan) => {
|
|
828
834
|
if (!plan?.missing_features) return plan;
|
|
829
|
-
// Skip
|
|
830
|
-
if (plan.status
|
|
835
|
+
// Skip frozen PRDs — paused/rejected/awaiting-approval/completed require no reconciliation
|
|
836
|
+
if (_PRD_FROZEN_STATUSES.has(plan.status)) return plan;
|
|
831
837
|
|
|
832
838
|
for (const feature of plan.missing_features) {
|
|
833
839
|
if (feature.status === PRD_ITEM_STATUS.MISSING && doneWiById.has(feature.id)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2283",
|
|
4
4
|
"description": "Multi-agent AI dev team that runs from ~/.minions/ — five autonomous agents share a single engine, dashboard, and knowledge base",
|
|
5
5
|
"bin": {
|
|
6
6
|
"minions": "bin/minions.js"
|