@yemi33/minions 0.1.523 → 0.1.525
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 +8 -0
- package/engine.js +26 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.525 (2026-04-07)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
- 9 test isolation verification tests — run last to detect pollution
|
|
7
|
+
|
|
8
|
+
### Fixes
|
|
9
|
+
- write dispatched_to and dispatched_at to work items on dispatch (closes #402) (#433)
|
|
10
|
+
|
|
3
11
|
## 0.1.523 (2026-04-07)
|
|
4
12
|
|
|
5
13
|
### Other
|
package/engine.js
CHANGED
|
@@ -794,6 +794,32 @@ function spawnAgent(dispatchItem, config) {
|
|
|
794
794
|
return dispatch;
|
|
795
795
|
});
|
|
796
796
|
|
|
797
|
+
// Atomically stamp dispatched_to/dispatched_at on the originating work item (#402)
|
|
798
|
+
// The discover phase sets these via safeWrite which can race with concurrent writes;
|
|
799
|
+
// this locked write ensures the fields are persisted reliably.
|
|
800
|
+
if (meta?.item?.id) {
|
|
801
|
+
try {
|
|
802
|
+
let wiPath = null;
|
|
803
|
+
if (meta.source === 'central-work-item' || meta.source === 'central-work-item-fanout') {
|
|
804
|
+
wiPath = path.join(MINIONS_DIR, 'work-items.json');
|
|
805
|
+
} else if (meta.source === 'work-item' && meta.project?.name) {
|
|
806
|
+
wiPath = projectWorkItemsPath({ name: meta.project.name, localPath: meta.project.localPath });
|
|
807
|
+
}
|
|
808
|
+
if (wiPath) {
|
|
809
|
+
mutateJsonFileLocked(wiPath, (items) => {
|
|
810
|
+
if (!Array.isArray(items)) return items;
|
|
811
|
+
const wi = items.find(i => i.id === meta.item.id);
|
|
812
|
+
if (wi) {
|
|
813
|
+
wi.dispatched_to = wi.dispatched_to || agentId;
|
|
814
|
+
wi.dispatched_at = wi.dispatched_at || startedAt;
|
|
815
|
+
if (wi.status !== WI_STATUS.DISPATCHED) wi.status = WI_STATUS.DISPATCHED;
|
|
816
|
+
}
|
|
817
|
+
return items;
|
|
818
|
+
}, { defaultValue: [] });
|
|
819
|
+
}
|
|
820
|
+
} catch (e) { log('warn', `stamp dispatched_to on work item ${meta.item.id}: ${e.message}`); }
|
|
821
|
+
}
|
|
822
|
+
|
|
797
823
|
return proc;
|
|
798
824
|
}
|
|
799
825
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.525",
|
|
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"
|