@yemi33/minions 0.1.524 → 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 CHANGED
@@ -1,10 +1,13 @@
1
1
  # Changelog
2
2
 
3
- ## 0.1.524 (2026-04-07)
3
+ ## 0.1.525 (2026-04-07)
4
4
 
5
5
  ### Features
6
6
  - 9 test isolation verification tests — run last to detect pollution
7
7
 
8
+ ### Fixes
9
+ - write dispatched_to and dispatched_at to work items on dispatch (closes #402) (#433)
10
+
8
11
  ## 0.1.523 (2026-04-07)
9
12
 
10
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.524",
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"