CEO can answer progress and rewrite goals from live data

Two c_suite tools in agent-goal-tools: company_status reports every goal
with real-work task counts (wake tasks and review checkpoints stay out),
work in flight, recent completions, and team headcount, so progress
answers come from the board instead of the model's memory; update_goal
rewrites an active goal's title/description when the founder redirects
the company, audited, CEO-or-owner gated. Both route through the sync
dispatcher; complete_goal now shares the same permission helper.
This commit is contained in:
ZacharyZhang-NY committed 2026-07-14 00:13:08 -04:00
1 parent 62ce1570cd
commit 4a7fac654e
3 files changed
+277 -6

No files matched your search

+5 -1
View File
@@ -8,7 +8,7 @@ import { readMessagesTool } from "./agent-read-messages";
import { grantConnectorTool, listConnectorsTool } from "./agent-connector-tools";
import { bindSkillSlugs, grantSkillTool, listSkillsTool } from "./agent-skill-tools";
import { createDocumentTool, writeDeliverableTool } from "./agent-deliverable-tools";
import { GOAL_TOOLS } from "./agent-goal-tools";
import { companyStatusTool, GOAL_TOOLS, updateGoalTool } from "./agent-goal-tools";
import { describeSend } from "./agent-message-presence";
import { optionalString, optionalStringArray, requireString } from "./agent-tool-args";
import type { JsonRecord } from "./provider-http";
@@ -248,6 +248,10 @@ export function dispatchAgentTool(
return grantConnectorTool(deps, ctx, call.arguments, "grant");
case "revoke_connector":
return grantConnectorTool(deps, ctx, call.arguments, "revoke");
case "company_status":
return companyStatusTool(deps, ctx);
case "update_goal":
return updateGoalTool(deps, ctx, call.arguments);
case "list_skills":
return listSkillsTool(deps, ctx);
case "grant_skill":