Skip to content

bug(library): the agent catalog still ships 11 dd-* VC-demo templates and a Dec-2025 GitHub repo list as real options #1931

Description

@vybe

Summary

The Library page's agent catalog still presents the 11 dd-* VC-demo templates as real, installable options, alongside a hardcoded GitHub repo list last pushed in Dec 2025 / Jan 2026. Of the 14 locally-bundled templates a user can see today, 3 are genuine starters (sage, scout, scribe). The first screen a new operator reaches is ~80% demo fixtures and dead links.

This is the content half of the catalog problem. #1513 fixed the fixture half and closed; dd-* was never in its scope.

What a user sees today

Starter Templates (local) — 14 visible of 25 bundled dirs (config/agent-templates/, non-hidden only):

  • sage, scout, scribe — the real starters (priority: 20)
  • dd-intake, dd-lead, dd-market, dd-tech, dd-founder, dd-traction, dd-bizmodel, dd-captable, dd-competitor, dd-compliance, dd-legal — 11 templates with author: Trinity VC Demo, a purpose-built due-diligence demo fleet. Last touched 2026-01-30 (69384bf3). No hidden: flag.

GitHub Templates — 6 entries from DEFAULT_GITHUB_TEMPLATE_REPOS (src/backend/config.py:329): agent-ruby, agent-cornelius, agent-corbin, ruby-orchestrator, ruby-content, ruby-engagement. All last pushed Dec 2025 / 2026-01-03 — the pre-2026 Ruby-era set. agent-cornelius also duplicated the bundled cornelius until that directory was removed.

Expected

The catalog offers only templates we would stand behind as a first agent. Demo fleets are available deliberately (a demo manifest, a flag, an explicitly-labelled section) — never mixed into the default browse list.

Technical notes

  • Catalog assembly: src/backend/services/template_service.py → get_all_templates() returns local + github.
  • local = every non-hidden directory under config/agent-templates/. The hidden: true mechanism already exists — bug: agent template catalog surfaces internal test/canary fixtures + a broken stub as real templates #1513 built it and applied it to the 11 fixture/demo/system dirs. Hiding dd-* is the same one-line-per-template change.
  • github = rows in system_settings.github_templates when an admin has configured them (GET/PUT/DELETE /api/settings/github-templates, src/backend/routers/settings.py:1278), else the hardcoded DEFAULT_GITHUB_TEMPLATE_REPOS fallback. No instance has ever written an override row, so every install sees the stale list.
  • Convention guard: tests/unit/test_local_templates_listing.py covers the local-listing contract.

Relationship to the structural fix

This is the tactical cleanup, deliberately separable from — and much cheaper than — the two issues that fix the underlying model:

  • abilityai/trinity-enterprise#14 — remote template registry, so the catalog is a manifest we edit rather than an image we cut a release for.
  • abilityai/trinity-enterprise#137 — curating the public starter fleet that the registry then serves.

Do this one now so the Library stops shipping demo content; the registry work supersedes the mechanism later. Adjacent: #1908 (the three real starters ship no .gitignore).

Acceptance criteria

  • The 11 dd-* templates no longer appear in the default Library catalog
  • The dd-* demo fleet remains reachable deliberately (demo manifest / explicit opt-in), not deleted outright — it is a working VC demo we still use
  • DEFAULT_GITHUB_TEMPLATE_REPOS no longer offers repos that are unmaintained or that 404/duplicate a bundled template — either refreshed to a list we stand behind, or emptied so the section renders its empty state
  • The GitHub Templates section teaches the next action when the list is empty (no dead empty state — quality bar Feature/vector log retention #3)
  • A fresh install's Library shows only templates that produce a working agent (quality bar Fix: Add missing Docker labels to system agent container #1)
  • Convention test updated so a newly-added bundled directory must declare its catalog intent rather than defaulting to visible

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions