-
Notifications
You must be signed in to change notification settings - Fork 2
plat 358
| Coordination | Value |
|---|---|
| Assigned agent | Muse Code |
| Ticket state | implemented and pushed to main; deployment and live acceptance pending |
| Last synchronized | 2026-09-24 |
| Priority | P1 correctness |
create_crew took two overlapping identity inputs — optional description
("short Crew summary") and optional purpose ("what the Crew owns, seeded
into its starter brief") — and no role at all. Identity completeness
needs role AND purpose (isWorkIdentityComplete), and the Identity panel
reads purpose from the top-level project description, so Builder-created
Crews were born incomplete in two ways. QA on the Confida server
(issue #205,
BUG_ID_003) showed a Crew whose proposal carried a purpose still opening
with "This Crew needs a role and purpose before it can help at its best":
role was never written, and a purpose-only proposal left the description
slot empty.
Crew creation has one identity statement, not two: required purpose plus
required role. Purpose fills the stored description slot the Identity
panel reads and is seeded into the starter brief; role fills the identity
block. A Builder-created Crew opens with complete identity and no setup
banner. The product.json storage field keeps its description name (the
slot the Identity panel already reads), so existing Crews need no
migration; pre-fix Crews without a role keep showing the banner until a
role is set once in Identity.
Backend (agent_go/cmd/server):
-
crew_builder_tools.go:create_crewschema dropsdescription;purposeandrole(≤120 chars, matching the Identity limit) join the required list; arg mapping passes both through. -
crew_creation.go:CreateCrewRequest.Descriptionremoved,Roleadded; validation requires non-empty purpose (≤2000) and role (≤120);writeCrewCreationManifestswrites purpose into thedescriptionslot and role into the identity block; the idempotency fingerprint swaps description for role.
Regression: crew_creation_test.go asserts the description slot carries
the purpose and the identity block carries the role; validation cases
cover missing/overlong role and purpose; the obsolete empty-starter test
now asserts the brief is seeded (an empty brief is unreachable once
purpose is required).
- Deploy to Confida; Builder-create a Crew with purpose + role.
- Crew opens with no identity banner; Identity → General shows both.
- Re-run issue #205
BUG_ID_003repro steps.
Related: issue #205
(BUG_ID_003), PLAT-353 (Crew Run mode, BUG_ID_001).
Auto-synced from docs/ on main. Edit there, not here.