@yemi33/minions 0.1.1573 → 0.1.1574
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 +6 -0
- package/engine/lifecycle.js +19 -17
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dashboard.js
CHANGED
|
@@ -912,6 +912,10 @@ async function executeCCActions(actions) {
|
|
|
912
912
|
const project = action.project || '';
|
|
913
913
|
const targetProject = project ? PROJECTS.find(p => p.name?.toLowerCase() === project.toLowerCase()) : PROJECTS[0];
|
|
914
914
|
const wiPath = targetProject ? shared.projectWorkItemsPath(targetProject) : path.join(MINIONS_DIR, 'work-items.json');
|
|
915
|
+
// Issue #1772: CC review/explore/test are human-initiated one-offs.
|
|
916
|
+
// Mark oneShot so any discovered PR is tagged _contextOnly (skips eval loop).
|
|
917
|
+
const ccOneShotTypes = new Set(['review', 'explore', 'test']);
|
|
918
|
+
const isOneShot = action.oneShot === true || (action.oneShot !== false && ccOneShotTypes.has(workType));
|
|
915
919
|
shared.mutateJsonFileLocked(wiPath, items => {
|
|
916
920
|
if (!Array.isArray(items)) items = [];
|
|
917
921
|
items.push({
|
|
@@ -920,6 +924,7 @@ async function executeCCActions(actions) {
|
|
|
920
924
|
status: WI_STATUS.PENDING, created: new Date().toISOString(),
|
|
921
925
|
createdBy: 'command-center', project,
|
|
922
926
|
...(action.agents?.length ? { preferred_agent: action.agents[0] } : {}),
|
|
927
|
+
...(isOneShot ? { oneShot: true } : {}),
|
|
923
928
|
});
|
|
924
929
|
return items;
|
|
925
930
|
}, { defaultValue: [] });
|
|
@@ -1978,6 +1983,7 @@ const server = http.createServer(async (req, res) => {
|
|
|
1978
1983
|
if (body.references) item.references = body.references;
|
|
1979
1984
|
if (body.acceptanceCriteria) item.acceptanceCriteria = body.acceptanceCriteria;
|
|
1980
1985
|
if (body.skipPr) item.skipPr = true;
|
|
1986
|
+
if (body.oneShot) item.oneShot = true;
|
|
1981
1987
|
let dupId = null;
|
|
1982
1988
|
mutateJsonFileLocked(wiPath, (items) => {
|
|
1983
1989
|
if (!Array.isArray(items)) items = [];
|
package/engine/lifecycle.js
CHANGED
|
@@ -800,23 +800,25 @@ function syncPrsFromOutput(output, agentId, meta, config) {
|
|
|
800
800
|
}
|
|
801
801
|
|
|
802
802
|
if (!newPrsByPath.has(prPath)) newPrsByPath.set(prPath, { name: targetName, project: targetProject, entries: [] });
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
803
|
+
const entry = {
|
|
804
|
+
id: fullId,
|
|
805
|
+
prNumber: parseInt(prId, 10) || prId,
|
|
806
|
+
title: (title || `PR created by ${agentName}`).slice(0, 120),
|
|
807
|
+
agent: agentName,
|
|
808
|
+
branch: meta?.branch || '',
|
|
809
|
+
reviewStatus: 'pending',
|
|
810
|
+
status: PR_STATUS.ACTIVE,
|
|
811
|
+
created: ts(),
|
|
812
|
+
url: prUrl,
|
|
813
|
+
prdItems: meta?.item?.id ? [meta.item.id] : [],
|
|
814
|
+
sourcePlan: meta?.item?.sourcePlan || '',
|
|
815
|
+
itemType: meta?.item?.itemType || ''
|
|
816
|
+
};
|
|
817
|
+
// Issue #1772: one-off dispatches (e.g. human-initiated "review this PR" via CC)
|
|
818
|
+
// must not enroll the discovered PR into the auto eval loop. Tag _contextOnly so
|
|
819
|
+
// discoverFromPrs skips it for review/fix dispatch (still polled for status/comments).
|
|
820
|
+
if (meta?.item?.oneShot) entry._contextOnly = true;
|
|
821
|
+
newPrsByPath.get(prPath).entries.push({ prId, fullId, entry });
|
|
820
822
|
}
|
|
821
823
|
|
|
822
824
|
const entryBranch = meta?.branch || '';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yemi33/minions",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1574",
|
|
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"
|