@yemi33/minions 0.1.149 → 0.1.150
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/CHANGELOG.md +5 -0
- package/dashboard/js/render-plans.js +6 -8
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -172,19 +172,15 @@ function renderPlans(plans) {
|
|
|
172
172
|
const isArchived = p.archived;
|
|
173
173
|
|
|
174
174
|
// For .md plans with a linked PRD, use the PRD's status as the authoritative intent
|
|
175
|
-
// (p.status for .md is 'draft'/'converted'/'active', not the PRD lifecycle status)
|
|
176
175
|
let prdJsonStatus = p.status || 'active';
|
|
177
176
|
if (prdFile && p.format !== 'prd') {
|
|
178
177
|
const linkedPrd = plans.find(pp => pp.file === prdFile && pp.format === 'prd');
|
|
179
178
|
if (linkedPrd) prdJsonStatus = linkedPrd.status || prdJsonStatus;
|
|
180
|
-
// If the linked PRD was archived, treat the .md plan as completed
|
|
181
179
|
else if (!linkedPrd) {
|
|
182
180
|
const archivedPrd = archivedPlans.find(pp => pp.file === prdFile && pp.format === 'prd');
|
|
183
181
|
if (archivedPrd) prdJsonStatus = 'completed';
|
|
184
182
|
}
|
|
185
183
|
}
|
|
186
|
-
// 'converted' means plan-to-PRD succeeded — treat as 'approved' for status derivation
|
|
187
|
-
if (prdJsonStatus === 'converted') prdJsonStatus = prdFile ? 'approved' : 'completed';
|
|
188
184
|
|
|
189
185
|
// Single source of truth: derive status from work items
|
|
190
186
|
const effectiveStatus = isArchived ? 'completed' : derivePlanStatus(prdFile, p.file, prdJsonStatus, allWi);
|
|
@@ -192,14 +188,13 @@ function renderPlans(plans) {
|
|
|
192
188
|
const statusLabelsMap = {
|
|
193
189
|
'completed': 'Completed', 'in-progress': 'In Progress', 'paused': 'Paused',
|
|
194
190
|
'awaiting-approval': 'Awaiting Approval', 'approved': 'Approved', 'rejected': 'Rejected',
|
|
195
|
-
'revision-requested': 'Revision Requested', 'has-failures': 'Has Failures', 'active': 'Active'
|
|
196
|
-
'converted': 'Converted to PRD', 'draft': 'Draft'
|
|
191
|
+
'revision-requested': 'Revision Requested', 'has-failures': 'Has Failures', 'active': 'Active'
|
|
197
192
|
};
|
|
198
193
|
const label = statusLabelsMap[effectiveStatus] || effectiveStatus;
|
|
199
194
|
const needsAction = (effectiveStatus === 'awaiting-approval' || effectiveStatus === 'paused') && !isArchived;
|
|
200
195
|
const isRevision = effectiveStatus === 'revision-requested';
|
|
201
196
|
const isCompleted = effectiveStatus === 'completed';
|
|
202
|
-
const isDraft =
|
|
197
|
+
const isDraft = p.format === 'draft' && !isCompleted;
|
|
203
198
|
// For .md drafts: show Execute only if no PRD exists yet (not already executed)
|
|
204
199
|
|
|
205
200
|
let actions = '';
|
|
@@ -571,7 +566,10 @@ async function planArchive(file, btn) {
|
|
|
571
566
|
const d = await res.json().catch(() => ({}));
|
|
572
567
|
if (res.ok && d.ok) {
|
|
573
568
|
try { closeModal(); } catch { /* may not be open */ }
|
|
574
|
-
|
|
569
|
+
var msg = 'Archived';
|
|
570
|
+
if (d.archivedSource) msg += ' PRD + source plan (' + d.archivedSource + ')';
|
|
571
|
+
if (d.cancelledItems) msg += ', cancelled ' + d.cancelledItems + ' pending item(s)';
|
|
572
|
+
showToast('cmd-toast', msg, true);
|
|
575
573
|
refreshPlans();
|
|
576
574
|
refresh();
|
|
577
575
|
} else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.150",
|
|
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"
|