Skip to content

agents: the flow names each role's profile; spawn refuses others (#758) - #762

Closed
contursofran wants to merge 2 commits into
mainfrom
agent/758-flow-profiles
Closed

contursofran wants to merge 2 commits into
mainfrom
agent/758-flow-profiles

Conversation

@contursofran

Copy link
Copy Markdown
Owner

Fixes #758

Steps

  1. agents.Flow gets profiles (RoleProfiles: builder, planner, reviewer, debugger, explorer). An empty key is the role's own name; omitzero keeps old files as they were.
  2. The flow text ends with Profiles: builder: …, planner: …. Spawn each role with its profile only. (shows in contr agents flow, the compaction hook and the D293 change note).
  3. Config.CheckProfile: contr agents spawn and the MCP spawn tool refuse a profile the flow names for no role; the error lists the allowed profiles. Override: --any-profile / any_profile: true. An unknown profile still gets the "no profile" error.
  4. D294 in docs/DECISIONS.md; kit/README.md explains flow.profiles.

The app's orchestrator spawn (neworch) is not checked: it starts an orchestrator, not a worker role.

Pre-check

  1. Tests: TestFlowProfilesLoadAndCheck, TestAgentsSpawn (orchestrator refused, --any-profile passes), TestMCPSpawnReadsProfilesEachTime (refused, any_profile, flow edit picked up), TestFlowText. With CheckProfile made to return nil, the first three failed.
  2. Plan: issue and brief done; defaults are the role names; old agents.json loads as before.
  3. Contract: --any-profile, any_profile, flow.profiles keys as in the brief.
  4. Up to date: main merged; no open PR touches these files.
  5. Diff read: no leftovers.
  6. Coverage: both acceptance lines done.
  7. Duties: nothing removed.
  8. Evidence: no UI change. Settings tab not changed (format only gains an optional key; Save keeps it).

Checks: scripts/check.sh passes. Once it hit a flaky test, TestPostToolParallelKeepsAll (pre-existing D293 race, #761); it passed on rerun. No e2e or hccore test covers this code.

@contursofran

Copy link
Copy Markdown
Owner Author

Closed without a merge: the orchestration tool moves to the herdr-contr repository as a Rust port, and the profile guard of this branch is already in its first slice.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

agents: the flow names the profile of each role, and spawn refuses a profile the flow does not name

1 participant