Skip to content

Self-Improvement Tracks

Self-improvement tracks are recurring jobs Colony runs against a repository on a schedule — analyzing the codebase and filing issues proactively. For a conceptual overview of track anatomy, cadence and cooldown semantics, and how proactive work is proposed, see Self-Improvement.

Each track has the following configurable properties:

FieldDescription
NameUnique identifier for the track within the repository. Used as a stable key (e.g., test-coverage, type-tightening).
LabelCode-host label applied to the seeded issue (for example, colony:si-test-coverage). It is not a separate display title.
CooldownMinimum interval after the latest linked SI issue completes before the track becomes eligible again. A track can also have only one open linked issue at a time. Stored as cooldown_minutes — for example, Daily = 1440 minutes.
PromptThe versioned prompt Colony runs against the repository. Consists of a seedTitle, seedBody, and instructions field (see Prompt authoring below).
EnabledToggle to allow or pause the track. Disabled tracks are visible in the dashboard but will not run.

SI track configuration lives on the per-repository SI Tracks tab, not in org-level settings.

  1. Open Repositories from the left navigation and click a repository name.
  2. Select the SI Tracks tab.
  3. Click Add track to create a new track, or click Edit on an existing track.
  4. Set the code-host Label, choose a Cooldown preset (Instant / Hourly / Every 2 hours / Every 4 hours / Every 8 hours / Daily / Weekly), and toggle whether the track should start enabled.
  5. Save the track and then click Manage Prompts to author or update the track’s prompt.

Dashboard edits apply immediately. If you also maintain a colony.config.yaml in your repository, keep it in sync — the dashboard does not write back to YAML.

Each track’s active prompt has three fields:

FieldPurpose
Seed titleTemplate for the GitHub issue title Colony files when the track produces a candidate. May include placeholders resolved at run time.
Seed bodyTemplate for the GitHub issue body. Should describe the work and acceptance criteria clearly enough for the pipeline’s analyzer to plan against.
InstructionsDirective Colony follows when scanning the repo. This is what Colony actually reads and executes — it controls what Colony looks for and how it decides whether to file an issue.

Prompts are versioned. Each save creates a new version; you can view history and activate a prior version from the Prompt drawer. Only the active version runs.

Open Dashboard → SI Tracks (/dashboard/si-tracks) for an org-wide view of every configured track.

The table shows one row per track, across all repositories:

ColumnWhat it shows
TrackTrack label and the repository it belongs to (links to the per-repo page).
CooldownAdmin view: editable number input (minutes). Non-admin view: “every N min”.
Last runTimestamp of the most recent run, or “Never” if the track has not run yet.
StatusOverdue badge appears when now - last_run_at > cooldown_minutes. Check Worker availability if tracks are consistently overdue.
PromptManage button opens the prompt drawer to view and edit prompt versions.
EnabledAdmin-only toggle (Enable / Disable). A confirmation dialog appears before disabling an active track.

The SI Tracks count metric counts the total number of configured tracks across all repos in the org. The metric definition is:

Number of self-improvement tracks configured across all repos in the org. Count of si_tracks rows for the org. A track is overdue if now - last_run_at > cooldown_minutes. Source: /api/si-tracks endpoint.

If the SI Tracks table is empty, no tracks have been configured yet. Use the per-repo SI Tracks tab to add your first track.

The /colony:track command is listed in the /colony:help output with the description “manage self-improvement track assignment (limited support)”. In the current release, issuing /colony:track on a GitHub issue acknowledges the command with a thumbs-up reaction but takes no further automated action. Full track-assignment dispatch is not yet implemented.

Use the Colony Cloud dashboard to manage track configuration and enable/disable state instead.

  1. Create one track in a low-activity repository with a long cooldown (1440 minutes = 24 hours).
  2. Author a focused prompt — for example, “identify up to three public functions missing unit tests and file a single issue listing them.”
  3. Enable the track and wait for the first run.
  4. Review the candidate slate and selected work in the pipeline. If the evidence and scope look right after completion, consider reducing the cooldown. If Colony over-proposed, tighten the instructions.
  5. Once the first track is tuned, add a second track for a different improvement category.

Avoid enabling multiple tracks simultaneously before you have reviewed at least one full cycle. Tracks share the same Worker pool as your pipeline; too many concurrent track-filed issues can crowd out human-filed work.