register_manifest() only when you need full control or use a custom framework.
See the Manifests guide for the conceptual model.
decimalai.register_manifest()
Explicitly register an agent’s configuration for version tracking.
Name of the agent.
Tool descriptors:
[{"name": "...", "schema": {...}}].Prompt templates:
{"system": "..."}.Model configs:
{"default": {"provider": "openai", "model": "gpt-4o"}}.Sub-agent references:
[{"name": "flight_agent"}].Output contract JSON schema.
Human-readable version label (e.g.,
"v2.1").For OpenAI Agents and LangChain, manifests are auto-detected from your agent configuration. Use
register_manifest() only when you need full control or use a custom framework.dict):
Always
"ok" on a successful registration.ID of the manifest row this config resolved to.
Deterministic content hash of the manifest — identical configs hash identically.
The human-readable version label, echoed back.
true only when a fresh manifest row was created. A re-register of an unchanged config dedups and returns false.Number of manifest components captured across all surfaces.
ID of the generated compatibility report, or
null if none was produced.decimalai.flush_manifest_for_ci()
Register the manifest as a regression-check candidate and write its ID for the next CI step to read. This is the helper your CI init script (typically init_for_decimal.py) calls under DECIMALAI_MODE=manifest_only, after building the agent. It requires a positional agent_name.
$GITHUB_OUTPUT if set (as decimal_manifest_id=<id>, the standard GitHub Actions mechanism), else the output_path= you pass, else ./decimal_manifest_id.txt in the current directory.
You can also let flush_manifest_for_ci introspect a LangChain/LangGraph agent instead of passing component dicts:
What’s next
Evaluations
Push scores onto traces and read back the verdict.
Manifests guide
Conceptual deep-dive on what a manifest is and how diffs work.