Skip to main content

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.
Use a short, action-oriented mission name and a precise todo title. It keeps lists scannable and status meetings fast.
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.
Example
To state the outcome explicitly in goal mode, pass goal_statement:
In goal mode, the kickoff tells the agent to advance sequential phases with 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.
Example

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.
Example

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.
Example

Use Cases

  1. Managing complex data engineering projects with multiple interdependent tasks
  2. Coordinating team workflows with automated task assignment and progress tracking
  3. Building project documentation and asset libraries with organized file management
  4. Tracking mission progress with detailed work logs and completion metrics
  5. Managing dependencies between tasks to ensure proper execution sequencing
  6. Creating comprehensive project dashboards with data agent assignment and progress visibility
  7. Coordinating cross-functional projects with multiple stakeholders and deliverables

Workflow/How It Works

  1. Create a mission with name and purpose.
  2. Break down work into todos and assign to data agents or people.
  3. Wire dependencies so prerequisites complete first.
  4. Record work as progress is made, attaching outputs and links.
  5. Manage assets at the mission level for easy retrieval.
  6. Scale with bulk create or delete when scope shifts.
Avoid circular dependencies. If A depends on B and B depends on A, scheduling will stall. Use get_todo_dependencies to verify the graph before large changes.

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_id when 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

  1. Deletions are permanent. Export state before bulk removals.
  2. Very large dependency graphs can be hard to visualize. Document key chains in the mission description.
  3. Bulk operations may take time on large projects. Plan during low-traffic windows.
  4. Data Agent assignment depends on availability and permissions.
  5. 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.