# Project Tools
Generated: 2026-09-13T04:34:29.634Z
Source build: local
Canonical docs: https://teammately.ai/docs
---
id: assets.project-tools
title: Project Tools
summary: Understand the current Project Tools asset surface and its deliberately limited public behavior.
kind: reference
product_area: assets
status: stable
updated: 2026-09-07
canonical: /docs/assets/project-tools
---
# Project Tools
## Definition
Project Tools is a visible project-level Asset category intended for reusable callable capabilities. In the current product, the page presents an empty state and does not expose creation, editing, versioning, permissions, activation, or execution controls.
> Current capability boundary
>
> Do not document a Project Tool lifecycle or claim that a Harness can select a Project Tool merely because the tab exists. No durable public workflow is exposed on the current page.
Harness source and dependencies remain in Harnesses. Connected knowledge remains in Reference Materials. Static Case inputs and materials remain governed by Project Input Schema and the Case.
## Fields, states, or lifecycle rules
There are currently no public fields, durable states, or lifecycle actions on this page. The absence of controls is itself the verified boundary.
## What to use today
Keep candidate-specific code and declared dependencies inside the Harness bundle. Use Workspace Secrets for credentials granted to the exact Harness, Reference Materials for connected knowledge, and Project Input Schema for Case inputs and materials. Do not relabel those objects as Project Tools because their ownership and evidence boundaries differ.
The empty state does not provide a Project Tool ID, activation action, persistence contract, or Harness-selection control.
{% related-card-grid title="Available alternatives" %}
- [Manage Harnesses](/docs/assets/harnesses)
- [Configure Reference Materials](/docs/agent-setup/reference-materials)
- [Configure Project Input Schema](/docs/project-settings/input-schema)
{% /related-card-grid %}
## Related task pages
{% related-card-grid title="Related task pages" %}
- [Manage Harnesses](/docs/assets/harnesses)
- [Configure Reference Materials](/docs/agent-setup/reference-materials)
{% /related-card-grid %}
## Source confidence
Code-backed: the Assets layout exposes the Project Tools tab and its current route renders “No Project Tools yet.” No additional public behavior is claimed.
---
id: assets.overview
title: Assets
summary: Manage reusable project cases, worlds, project tools, harnesses, weights, comparison directions, and review screens before selecting them for benchmark work.
kind: concept
product_area: assets
status: stable
updated: 2026-09-07
canonical: /docs/assets
---
# Assets
Assets is the project-level pool for cases, worlds, project tools, harnesses, weights, Comparison Directions, and Review Screens. Assets are managed once at project scope and selected for use in a specific benchmark rather than being recreated inside every benchmark workspace.
## Definition
The active tabs are **Cases**, **Worlds**, **Project Tools**, **Harnesses**, **Weights**, **Comparison Directions**, and **Review Screens**. Cases provide the canonical situations evaluated or reviewed. Harnesses provide executable candidate implementations with Draft and saved Versions. Comparison Directions guide comparative output variation, and Review Screens provide reusable expert-facing presentation templates. Worlds, Project Tools, and Weights are visible categories whose current pages expose empty states rather than creation or lifecycle controls.
Assets is distinct from Benchmark Datasets. The project pool answers what is available to the project. A benchmark dataset answers which cases and snapshot define one benchmark's evidence boundary.
## Decision checkpoint
| Need | Asset or workspace | Boundary |
| --- | --- | --- |
| Create or inspect a reusable situation | Assets → Cases | Case content follows Project Input Schema |
| Edit candidate code or prompt logic | Assets → Harnesses | A Draft must be saved as an exact version before evaluation |
| Select cases for a benchmark | Benchmark Datasets | Selection and snapshot are benchmark-scoped |
| Supply static documents or values to a case | Case materials | Static support is not a World |
| Inspect planned environment assets | Worlds | Current product exposes the category but no public lifecycle yet |
| Inspect planned callable project assets | Project Tools | Current product exposes the category but no public lifecycle yet |
| Inspect planned model-weight assets | Weights | Current product exposes the category but no public lifecycle yet |
| Guide comparative output variation | Comparison Directions | Direction guidance is separate from coverage structure and approval |
| Configure reusable expert-facing presentation | Review Screens | Presentation is separate from Case content and Contribution objectives |
## Project reuse and benchmark selection
Project scope makes assets reusable across multiple benchmarks. That reuse also increases the impact of changes. Editing a case can affect any future benchmark snapshot that selects it. Saving a new Harness version does not silently change Runs that referenced an older version. Benchmark evidence should always identify the exact asset versions or snapshot involved.
Worlds, Project Tools, and Weights are visible product categories, but their current pages do not expose durable user actions. Do not infer persistence, activation, execution, or evaluation semantics from the navigation label alone. Their reference pages record this limitation so operators and agents do not invent a workflow.
## Relationship to the five capabilities
Weave creates and curates cases and supporting materials. Trialground evaluates saved Harness versions. Coevolve can materialize or evaluate candidate Harness versions during Improvement Sessions. Coverage Engineering and Correctness Elicitation influence which cases and candidates are useful, but ownership remains with the appropriate Asset or governed project surface.
{% example-demo title="Shared harness pool" %}
A project contains two saved retrieval Harness versions and one draft experiment. Two benchmarks select different case snapshots but can evaluate either saved Harness version. The draft remains editable and cannot be mistaken for the candidate used by an existing Run. Compare can therefore attribute result movement to the saved candidate and benchmark evidence boundary.
{% /example-demo %}
## Related workflows
{% related-card-grid title="Related workflows" %}
- [Work with cases](/docs/assets/cases)
- [Manage Harnesses](/docs/assets/harnesses)
- [Understand Project Tools](/docs/assets/project-tools)
- [Understand Worlds](/docs/assets/worlds)
- [Understand Weights](/docs/assets/weights)
- [Manage Comparison Directions](/docs/assets/comparison-directions)
- [Manage Review Screens](/docs/assets/review-screens)
- [Work with Benchmark Datasets](/docs/benchmark-datasets)
{% /related-card-grid %}
## Related reference pages
{% related-card-grid title="Related reference pages" %}
- [Project Input Schema](/docs/project-settings/input-schema)
- [Benchmarks](/docs/object-model/benchmarks)
- [Product boundaries](/docs/introduction/product-boundaries)
{% /related-card-grid %}
## Source confidence
Code-backed: the active Assets layout and navigation establish the project-level pool and tab names. Cases, Harnesses, Comparison Directions, and Review Screens have active surfaces; the current Worlds, Project Tools, and Weights routes expose empty states only.
---
id: assets.harnesses
title: Harnesses
summary: Build versioned Python Harness bundles, validate and debug Drafts, publish exact Versions, and activate them for benchmark evaluations.
kind: reference
product_area: assets
status: stable
updated: 2026-08-22
canonical: /docs/assets/harnesses
---
# Harnesses
## Definition
A Harness is a project-level, versioned Python bundle used to produce behavior for benchmark cases. It implements `generate_result(request)` at its configured entrypoint and returns the result expected by the case contract. The workspace provides a multi-file editor, one editable Draft, immutable saved Versions, Coding Agent proposals, secret grants, debug runs, runtime preparation, export, and benchmark activation.
A Harness can represent prompt logic, retrieval, tools, orchestration, or other candidate behavior supported by the managed runtime. It is the executable candidate boundary, not a general model registry entry.
## Fields, states, or lifecycle rules
- A newly created Harness begins with one blank editable Draft.
- Draft source and runtime changes autosave after a short delay. Concurrent edits use a Draft revision and can surface a conflict that must be reloaded.
- The Draft contains source files, an entrypoint, Python version, dependency specifications, sandbox profile, and target-platform/runtime facts.
- Draft validation errors block publication. Warnings remain visible for operator review.
- **Publish** creates an immutable saved Version from the exact Draft bundle and runtime configuration. Publication also uses that Version for the currently selected benchmark.
- A previously saved Version can be selected with **Use this Version** for the current benchmark.
- Existing Runs keep their referenced Harness version even after later Draft or Saved changes.
- Archived Harnesses remain visible but cannot be edited, debugged, activated, or granted new secrets.
- Credentials belong in workspace secrets and are explicitly granted to the Harness. Secret values do not belong in source, case content, or Run Metadata.
- Coding Agent proposals are staged as file diffs. Accept or reject the proposed hunks before they modify the canonical Draft.
- Runtime delivery can include the rendered case view, static `case_material_refs`, and an optional supported `world_instance_ref`.
- Debug runs execute only a saved Version against a `harness_contract.v1` request. They are authoring checks, not benchmark evaluation evidence.
## Draft, saved version, and activation
Use Draft for active editing. Publish when a candidate is coherent enough to identify, compare, or evaluate. If a benchmark needs a different saved Version, select it explicitly. Do not describe a Run as evaluating “the current Harness” because the Draft and benchmark activation may have changed after the Run began.
The Evaluations execution settings show project Harnesses with saved Versions and control which are active for future managed Runs. Activation is benchmark-scoped. Every admitted Run still records the exact saved Harness Version, so later activation changes do not rewrite existing evidence.
## Runtime, debug, and output mapping
Publishing preserves bundle and dependency hashes and can prepare the immutable runtime image. A failed or missing runtime can be prepared or retried from the saved Version. Use Debug to send a single contract-shaped request before spending a benchmark Run.
Output mapping is a separate boundary. A Harness return must match the benchmark's declared result contract. For imported reference outputs, Benchmark Evaluations maps uploaded rows to immutable benchmark cases. Neither debug success nor a syntactically valid upload proves rubric correctness.
Improvement Sessions can generate or receive candidate Harness versions. Those candidates become meaningful in a session only when their identity and canonical evaluation receipt are observable.
{% example-demo title="Example: exact candidate identity" %}
An engineer edits retrieval filtering in a Harness Draft and publishes Version 12 for the selected benchmark. A managed Run records that exact Version. The engineer then continues editing the Draft toward Version 13. The existing Run still refers to Version 12, so its case responses and rubric results remain attributable even though the editor shows newer work.
{% /example-demo %}
## Source confidence
Code-backed: the active Harness list and editor establish creation, archive state, Draft autosave and conflicts, validation, publication, activation, secrets, debug, Coding Agent proposals, and runtime preparation. The runnable adapter supports the execution boundary without making its internal API public.
## Related task pages
{% related-card-grid title="Related task pages" %}
- [Run a benchmark evaluation](/docs/benchmark-evaluations/run-evaluation)
- [Start an Improvement Session](/docs/improve/start-improvement-session)
- [Configure Project Input Schema](/docs/project-settings/input-schema)
{% /related-card-grid %}