Overview
Tool Name
Purpose
The project_manager_tools suite organizes work into missions and todos. It supports creation, assignment, dependencies, bulk operations, work recording, asset management, and starting existing blueprints as tracked Missions so projects move from plan to done with clear ownership and traceability.Key Features & Functions
Plan Missions
Create and update missions with descriptions, status, and timelines, or retire a
mission that should not resume.
Track Todos
Create, assign, and update todos with rich details and statuses.
Manage Dependencies
Add or remove todo relationships to enforce execution order.
Record Progress
Log work done with outcomes for audit-ready history.
Handle Assets
Attach and manage mission assets like files, links, and git paths.
Scale With Bulk Ops
Create or delete many todos at once with optional dependency wiring.
See Data Agent Involvement
List data agents assigned to missions and todos for load visibility.
Project-aware calls continue using a thread’s saved active mission when the
chat thread is reopened or no longer has a live in-memory thread object. If
Genesis has already confirmed that the thread has no active mission, it
persists that empty state too so later calls do not re-resolve a project
unnecessarily.
Input Parameters for Each Function
manage_todos
Parameters
manage_projects
Parameters
Set
new_status to RETIRED when work stopped early and the mission must remain
terminal. Include a non-empty reason; retired missions cannot return to an active
state or continue Blueprint execution.
Project and todo ids are generated by the platform. Store them in your automation so later updates and dependency wiring are reliable.
start_blueprint_mission
Start an existing blueprint as a tracked Mission from the current thread. This
is the supported execution path when the user asks Genesis to run, execute,
kick off, or create work from a blueprint. Genesis creates or reuses the
Mission/project, links it to the conversation, and enters the requested phase
automatically before the kickoff turn begins.
Parameters
bot_id, thread_id, and user_id are supplied implicitly by Genesis at
runtime. start_blueprint_mission requires a current thread so the Mission
can be linked to the active conversation.If
_blueprint_tool(action="GET_BLUEPRINT_INFO", ...) reports
requires_source_selection=true, choose source_context explicitly before
calling start_blueprint_mission. Use _blueprint_tool for blueprint
discovery, registry management, or lower-level recovery, not for manually
executing steps copied from blueprint metadata.goal_statement:
PROCEED_TO_NEXT_PHASE without asking for confirmation, stopping for a
blueprint-directed gate or when operator input is needed. See Goal mode
transitions for
phase criteria and transition behavior.
Successful responses include project_id, repo_id, phase, requested_mode,
reused_existing_project, and both project_result and phase_result for
follow-up inspection. When phase entry succeeds, mode reports the mode actually
applied; it can differ from requested_mode if goal mode could not be applied. If
an existing phase is preserved with preserve_active_phase_on_reuse=true, mode
reports that phase’s current mode. A response where phase entry did not start omits
mode, because no new mode was applied. When a phase is preserved, the response
also includes active_phase_preserved: true, the canonical active_phase, and
the originally requested requested_phase; phase reports the preserved phase
number.
When a phase starts without preserving an existing active phase, Genesis also
writes a MISSION_STARTED INFO log anchor. The system-test blueprints use it
for error attribution; see Blueprint system-test guidance.
Policy-blocked mission start
When workspace High-Risk Tool Controls block tools the blueprint requires,
Genesis returns success: false before creating a mission. The response
includes a human-readable error plus structured fields:
Enable the high-risk tool family under
Workspace Policies, then
retry
start_blueprint_mission.
If Genesis cannot load the blueprint manifest for preflight (for example an
unresolved source_context="wip" source), the tool also returns success: false
with manual_execution_guardrail and does not create a mission.
MCP / agent-to-agent continuous kickoff
For an external agent that should drive the blueprint between configured gates,
use mode="continuous". Continuous mode does not bypass a phase whose manifest
sets require_human_approval: true: Genesis pauses the mission and sends the
approval request to the originating Google Chat conversation when that transport
is available. continuous is a legacy mode kept for existing integrations; a
new integration can omit mode to run in the blueprint’s default, normally
goal. Standard chat and UI starts use that default too, and pass
mode="manual" when the operator will drive phase transitions.
From the Genesis MCP v2 genesis tool you can start the Mission in the same
pattern as other initial tool calls, for example:
Partner or host applications that supervise missions from their own UI should
use the REST BlueprintRun API (
POST /api/blueprints/{name}/runs,
POST /api/runs/{run_id}/input/{input_id}) rather than
start_blueprint_mission. See
Programmatic BlueprintRun.record_todo_work
Parameters
get_todo_history
Parameters
get_project_todos
Parameters
get_todo_dependencies
Parameters
manage_todo_dependencies
Parameters
delete_todos_bulk
Parameters
create_todos_bulk
Parameters
manage_project_assets
Parameters
Checked project records
The record-writing and detail tools create and maintain typed project records with declared goals, versioned assets, attributed notes, and server-checked evidence. They are separate from the mission and todo tools above and belong to their own tool group,project_record_tools: a thread with only project_manager_tools active does not have
those tools. A mission phase starts with them only when its blueprint lists
project_record_tools for that phase; otherwise the agent can add the group itself with
manage_context, if its tool policy allows the group and the provider’s function limit
has room, and must add it again after the next phase starts. project_list is also
available through context_tools, which new chats hold. This slice currently supports
palantir_databricks, which is opened by planning the Foundry space with
foundry_plan_migration and not by project_open, with three interim goals pending their final definitions:
landed uses foundry_copy_receipt, rebuilt_and_ran uses databricks_run, and
proved uses prover_grade. A landed check accepts only a Foundry copy the server
filed under this project and goal.
project_list
Lists the signed-in person’s live checked migration projects, newest first, with each
goal’s status and the next tool call for continuing the project. Call this first when
someone asks about a migration they already started, including from a new chat; it
does not list Missions, TODOs, retired projects, or another person’s projects. Use the
returned project only when it matches the work they named. Answer status questions
from the listed goals, and follow next only when they want to continue. If no listed
project matches, search threads, runs, or proofs rather than saying the work does not
exist. Use project_read for a project’s notes and evidence.
The response contains
projects, truncated, and unreadable. Each project includes
its id, name, project_type, source, created_at, plan_incomplete, goals
(including status and planned done-of-total counts), and next. When multiple
projects share a source, same_source_as explains how to choose which one to
continue. Do not call a project complete while plan_incomplete is true. An empty
projects list means the person has no checked migration project under way only
when truncated is false and unreadable is empty. Report unreadable ids as projects
that exist but could not be read. On success: false, report the error briefly.
Cost: one database SELECT when the person has no live project; otherwise three
SELECTs for their 20 newest live projects, their goals, and notes. It does not call
a source system.
project_open
A Palantir-to-Databricks migration project is not opened with this tool. Planning the
Foundry space with
foundry_plan_migration opens it for the signed-in person, or
resumes the one they have, and returns its id in the plan’s project block; calling
project_open with palantir_databricks returns success: false and names that tool.
No project type declared today is opened by hand.
For a type that is opened by hand it returns the new project id and project_type;
use that id with project_note and project_read. Unknown project types, missing parameters, or
undeclared parameter names return success: false.
project_note
The evidence kinds in this slice are:
Genesis looks for finished, unrecorded copies once a minute and records each one as a
note by the server that says when it was checked. A copy still running is not checked
until it reports how it ended. A check that cannot answer yet (for example, a stopped
SQL warehouse) is tried again later.
An older copy whose table now holds a newer copy filed under the same project reads
as replaced and does not count. A table that no longer exists, or that holds a copy
which failed, is recorded as failed. See Databricks connection setup
for connection and warehouse access requirements.
For
palantir_databricks, register each asset other than a filed copy or a published
notebook against the goal it belongs to in an earlier note before citing it. The goals have
no fixed input assets, so evidence can only match an asset registered to that same goal at
its current version: prover_grade matches the asset version to diff_hash. A project
opened by planning expects rebuilt_and_ran to cover every pipeline the plan can
translate; a pipeline it cannot translate is listed as a gap. If more than one asset on the goal has that version,
include asset_id in evidence to identify the intended asset. For Databricks
connection setup and access, see
Connect to Databricks and
Connections.
Only the project owner or an administrator can add notes. Evidence that cannot be
checked, does not identify a current asset version, or is not confirmed is recorded
as unverified and does not meet the goal. A confirmed passing check can meet the
goal; a confirmed failing check records a failed goal. A goal with multiple registered
assets is met only when every asset has passed at its current version; any failed
check makes it failed, and a new version or newly registered asset makes a met goal
stale. This only accounts for registered assets, not assets that should have been
registered but were omitted. A waiver must be a separate note made in the
authenticated person’s own chat turn; agent, Slack, and Teams turns cannot waive a
goal. The result includes the current status, verification, and note id. The
first note for a goal added to the project type after a project was opened also
reconciles that goal into the stored project.
A prover_grade accepted this way is recorded as passed on a person’s acceptance, not
on the grade alone; the note names the accepting person or people and the accepted
items. Acceptance must belong to the cited grade’s run and population, so an acceptance
for an earlier grade does not count. If the review outcome cannot be read, the citation
stays unverified and can be retried. When the grade itself does not read Verified,
checking for acceptance also reads the comparison’s review history and, when a verified
approval stands, resolves its review population and findings, including an uncapped scan
of stimulus records. Approver display names use cached user lookups.
A citation of a Foundry copy the server filed runs no warehouse statement and writes no
note. It costs one read of the project, one SELECT of the copy’s row, and, when it asks
for the copy to be recorded, one UPDATE. The warehouse check runs in Genesis’s
recording job: at most four statements on the customer’s SQL warehouse
(DESCRIBE DETAIL, SHOW TBLPROPERTIES, COUNT(*) and DESCRIBE DETAIL again), each
with a 120-second limit and a session open bounded to about two minutes. A stopped
warehouse may start and bill its minimum.
After registering current-comparison at version diff_... in an earlier note, add
this evidence note:
project_read
Returns the project with its goals, notes, and assets. Current status is computed
from the latest asset versions and goal preconditions; only the project owner or an
administrator can read the record. The response includes
created_at, and goals
are returned in the project type’s declaration order.
get_project_bots
Parameters
get_todo_bots
Parameters
_blueprint_tool
The same tool group also exposes _blueprint_tool for blueprint
discovery, lower-level phase operations, import/export, and registry
management. Use GET_BLUEPRINT_INDEX and GET_BLUEPRINT_INFO to inspect
available blueprints and source options. When the user wants to run a
blueprint from chat, call start_blueprint_mission instead of manually
executing steps from GET_BLUEPRINT or GET_BLUEPRINT_INFO. The actions
below cover rename, upload-to-install, and local-to-managed promotion
workflows.
These management actions follow Genesis blueprint-management permissions. In
standard deployments, Eve is the agent that runs them.
action="RENAME_BLUEPRINT"
Rename an existing custom or remote-backed blueprint using the same backend
flow as the Blueprint Library UI.
Parameters
Local renames complete immediately. Remote-backed renames return pull-request
metadata and become effective after the pull request is merged and the next
source sync applies the rename. Genesis rejects the action when the target
name already exists, the blueprint is default, or referenced missions are
still in flight.
action="INSTALL_BLUEPRINT_FROM_UPLOAD"
Create a blueprint from a ZIP in the uploads repo using the same validation
flow as the Blueprint Library UI. This action is create-only: when the
target name already exists locally or in the managed write target, Genesis
returns success: false with error_code: BLUEPRINT_IMPORT_NAME_COLLISION (or
BLUEPRINT_IMPORT_COLLISION_CHECK_FAILED when collision detection itself
fails) and does not overwrite or append a version. Use the Blueprint Library
import UI or POST /api/blueprints/import when the operator needs Add as a
new version or Replace behavior.
Parameters
Use
target_repo_id for this action, not blueprint_source_repo_id.
upload_path must stay relative to uploads/ and cannot contain . or
.. path segments.action="PROMOTE_BLUEPRINT_TO_MANAGED_REPO"
Move a blueprint that is already installed locally into a managed git-backed
repo without asking the user to re-upload the ZIP.
Parameters
Use
target_repo_id here too. blueprint_source_repo_id is for the legacy
IMPORT_BLUEPRINT flow and is rejected for promotion.Promotion is only for blueprints currently installed in the local
blueprints repo. If the blueprint is already in the target managed repo,
Genesis returns a success no-op. If it is already managed in a different
repo, Genesis returns an error instead of performing a cross-managed-repo
migration.Use Cases
- Managing complex data engineering projects with multiple interdependent tasks
- Coordinating team workflows with automated task assignment and progress tracking
- Building project documentation and asset libraries with organized file management
- Tracking mission progress with detailed work logs and completion metrics
- Managing dependencies between tasks to ensure proper execution sequencing
- Creating comprehensive project dashboards with data agent assignment and progress visibility
- Coordinating cross-functional projects with multiple stakeholders and deliverables
Workflow/How It Works
- Create a mission with name and purpose.
- Break down work into todos and assign to data agents or people.
- Wire dependencies so prerequisites complete first.
- Record work as progress is made, attaching outputs and links.
- Manage assets at the mission level for easy retrieval.
- Scale with bulk create or delete when scope shifts.
Integration Relevance
- file_manager_tools for storing specs, outputs, and evidence.
- make_baby_bot to assign specialized agents to todos.
- data_connector_tools to link data work directly to tasks.
- git_action for versioned assets and code paths.
- handoff to orchestrate multi-agent workflows.
- slack_tools to notify owners on status changes.
Configuration Details
- Status values must match the allowed set for reliable dashboards.
- Use
for_bot_idwhen automations act on behalf of a controller agent. - Store returned ids from create calls for subsequent updates and dependency wiring.
- Choose asset types that reflect storage location and retrieval method.
Limitations or Notes
- Deletions are permanent. Export state before bulk removals.
- Very large dependency graphs can be hard to visualize. Document key chains in the mission description.
- Bulk operations may take time on large projects. Plan during low-traffic windows.
- Data Agent assignment depends on availability and permissions.
- Asset references require valid external integrations where applicable.
Output
- Task Operations Creation confirmations, detail payloads, and status updates.
- Mission Operations Creation confirmations, status changes, and listings.
- Work Recording Timestamped entries with descriptions and results.
- History Full audit trails of changes and actors.
- Dependencies Add or remove confirmations and resolved trees.
- Bulk Ops Summaries with success and failure counts.
- Assets Created or updated records, listings, and detail views.
- Data Agents
Assignment summaries and participation metrics. - Errors Clear messages for invalid ids, status mismatches, or permission failures.

