ts.rtl.fork

Fork a ritual (create a new ritual derived from an existing one).

Fork a ritual (create a new ritual derived from an existing one).

Requires authentication

Description

Creates a new ritual derived from an existing one. This is how you evolve methodology prompts while preserving history.

The forked ritual:

  • Gets origin=“fork” and predecessor_id pointing to the source
  • Inherits name, prompt, description, and schedule from the source (unless overridden)
  • Is a fully independent ritual that can be modified separately
  • Can optionally be linked to a different endeavour

Use ts.rtl.lineage to trace the full version chain.

Parameters

NameTypeRequiredDefaultDescription
source_idstringYesThe ritual to fork from
namestringName for the fork (defaults to source name)
promptstringModified prompt (defaults to source prompt)
descriptionstringDescription (defaults to source description)
endeavour_idstringEndeavour the forked ritual governs
scheduleobjectSchedule metadata (defaults to source schedule)
metadataobjectArbitrary key-value pairs

Response

Returns the forked ritual summary.

{
  "created_at": "2026-02-09T12:00:00Z",
  "id": "rtl_b2c3d4e5f6a1...",
  "is_enabled": true,
  "name": "Daily standup v2",
  "origin": "fork",
  "predecessor_id": "rtl_a1b2c3d4e5f6...",
  "status": "active"
}

Errors

CodeDescription
not_authenticatedNo active login for this session
not_foundSource ritual does not exist

Examples

Fork with modified prompt

Create a new version of a ritual with an updated prompt.

Request:

{
  "name": "Daily standup v2",
  "prompt": "Review progress, blockers, and today's plan. Include metrics from the dashboard.",
  "source_id": "rtl_a1b2c3d4e5f6..."
}

Response:

{
  "created_at": "2026-02-09T12:00:00Z",
  "id": "rtl_b2c3d4e5f6a1...",
  "is_enabled": true,
  "name": "Daily standup v2",
  "origin": "fork",
  "predecessor_id": "rtl_a1b2c3d4e5f6...",
  "status": "active"
}

Fork for a different endeavour

Fork a template ritual for a specific project.

Request:

{
  "endeavour_id": "edv_newproject...",
  "source_id": "rtl_template_standup..."
}

Response:

{
  "created_at": "2026-02-09T12:00:00Z",
  "id": "rtl_c3d4e5f6a1b2...",
  "is_enabled": true,
  "name": "Daily standup",
  "origin": "fork",
  "predecessor_id": "rtl_template_standup...",
  "status": "active"
}