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.
Track fields
Section titled “Track fields”Each track has the following configurable properties:
| Field | Description |
|---|---|
| Name | Unique identifier for the track within the repository. Used as a stable key (e.g., test-coverage, type-tightening). |
| Label | Code-host label applied to the seeded issue (for example, colony:si-test-coverage). It is not a separate display title. |
| Cooldown | Minimum 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. |
| Prompt | The versioned prompt Colony runs against the repository. Consists of a seedTitle, seedBody, and instructions field (see Prompt authoring below). |
| Enabled | Toggle to allow or pause the track. Disabled tracks are visible in the dashboard but will not run. |
Configure tracks per repository
Section titled “Configure tracks per repository”SI track configuration lives on the per-repository SI Tracks tab, not in org-level settings.
- Open Repositories from the left navigation and click a repository name.
- Select the SI Tracks tab.
- Click Add track to create a new track, or click Edit on an existing track.
- 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.
- 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.
Prompt authoring
Section titled “Prompt authoring”Each track’s active prompt has three fields:
| Field | Purpose |
|---|---|
| Seed title | Template for the GitHub issue title Colony files when the track produces a candidate. May include placeholders resolved at run time. |
| Seed body | Template for the GitHub issue body. Should describe the work and acceptance criteria clearly enough for the pipeline’s analyzer to plan against. |
| Instructions | Directive 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.
Monitor tracks — SI Tracks dashboard
Section titled “Monitor tracks — SI Tracks dashboard”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:
| Column | What it shows |
|---|---|
| Track | Track label and the repository it belongs to (links to the per-repo page). |
| Cooldown | Admin view: editable number input (minutes). Non-admin view: “every N min”. |
| Last run | Timestamp of the most recent run, or “Never” if the track has not run yet. |
| Status | Overdue badge appears when now - last_run_at > cooldown_minutes. Check Worker availability if tracks are consistently overdue. |
| Prompt | Manage button opens the prompt drawer to view and edit prompt versions. |
| Enabled | Admin-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_tracksrows for the org. A track is overdue ifnow - last_run_at > cooldown_minutes. Source:/api/si-tracksendpoint.
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.
/colony:track slash command
Section titled “/colony:track slash command”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.
Recommended starting point
Section titled “Recommended starting point”- Create one track in a low-activity repository with a long cooldown (1440 minutes = 24 hours).
- Author a focused prompt — for example, “identify up to three public functions missing unit tests and file a single issue listing them.”
- Enable the track and wait for the first run.
- 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.
- 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.