Legacy manual-only Builder is undiscoverable during plan acceptance

Open
#253 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
api, backend, testing

Research direction

Start at findAgentDef and trace the approved plan acceptance API path that dispatches Builder agents. Add focused unit coverage for name fallback, explicit aliases, and remappings, then add an API regression for an approved plan using a manual-only legacy Builder. Done means the existing tenant, project, and enabled filters remain unchanged and all acceptance cases pass.

Written by the indexing model from the issue text.

Description

Problem

An existing project can show an enabled, healthy Builder and advertise /builder
as always available on demand, while approving a current Architect plan fails
with:

plan_acceptance_builder_not_configured

New projects seed Builder agents with both a GitHub command trigger and a manual
trigger. Older project rows can legitimately contain only the manual trigger.

findAgentDef currently falls back to the agent name only when triggers is not
an array. A valid trigger array with no command or handle therefore makes an
enabled legacy Builder undiscoverable, despite the UI's on-demand contract.

Expected behavior

  • An enabled legacy agent with no explicit command binding is addressable by its
    name.
  • A renamed agent with an explicit /builder binding remains addressable by that
    binding.
  • An explicit remapping (for example, a Builder named builder bound to /ship)
    is not overridden by the name fallback.
  • Approved plan execution can dispatch through a legacy manual-only Builder.

Acceptance

  • Add focused unit coverage for fallback, explicit alias, and explicit remapping.
  • Add an API integration regression that executes approved plan acceptance with
    a manual-only legacy Builder.
  • Keep tenant/project/enabled filtering unchanged.
Dominant language
TypeScript
Stars
71
Forks
64
Avg merge
15h 38m
Merged PRs (30d)
66

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from theam/facility

All issues in theam/facility

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.