fix: handle single-connector case in matching heuristic and CEO prompt

- matchConnector returns honest reason when only one connector is ready
- CEO prompt detects single-connector scenario and tells CEO to use it for all agents
- Removes misleading 'Best match' language when there's no actual choice
This commit is contained in:
ZacharyZhang-NY committed 2026-03-22 13:00:11 -04:00
1 parent 51dbeb0cac
commit 6f13d324e4
2 files changed
+18 -2

No files matched your search

+14 -1
View File
@@ -928,7 +928,19 @@ IMPORTANT: Wait for the Board to approve before starting business operations.
return `- **${c.label}** (\`${c.id}\`): ${strengths} [STATUS: ${c.status}]`;
});
sections.push(`# Available Connectors for Hiring
const readyConnectors = ctx.allConnectors.filter((c) => c.status === "ready");
const onlyOneConnector = readyConnectors.length === 1;
if (onlyOneConnector) {
const sole = readyConnectors[0];
sections.push(`# Available Connectors for Hiring
You have ONE available connector:
${connectorLines.join("\n")}
Since only **${sole.label}** (\`${sole.id}\`) is ready, assign it to ALL agents you create. Do not worry about matching connectors to roles — use this connector for every agent.
`);
} else {
sections.push(`# Available Connectors for Hiring
When hiring agents, assign the best connector for their role:
${connectorLines.join("\n")}
@@ -940,6 +952,7 @@ Connector Assignment Guide:
- If preferred connector is not listed as "ready", use the next best available
- NEVER assign a connector with status "not_installed" or "error"
`);
}
}
} else if (hasPendingOrgApproval) {
sections.push(`# Operating Instructions (CEO — Awaiting Org Approval)