Add declarative system-type profiles: framework/fleet/profiles/*.yaml map a system type to a persona roster + org topology (reports_to, multiplicity). Profiles are DATA, seeded like roles, so an operator declares a system type and gets the matching roster from the baseline library with no code change (NS-9 / AC-NS-6). - 5 baseline profiles: software-delivery, personal-assistant, research, business (company-in-a-box), marketing. - fleet-profiles.ts: loadProfiles/loadProfile/parseProfile/validateProfile + listPersonaClasses (extracts valid classes from the role library by unioning inline `class:` markers, LIBRARY.md rows, and role filenames so marker-less personas like planner/decomposition resolve). - CLI: `mosaic fleet profile list|show [--json]`; invalid profiles exit non-zero. - Spec covers parse/validate, the library-drift guard (every referenced class resolves against the real role library), and unknown-class/reports_to rejection. - install.sh: profiles seed via the existing rsync (comment clarified; the preserved top-level `fleet/*.yaml` glob does not shadow fleet/profiles/*.yaml). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
31 lines
782 B
YAML
31 lines
782 B
YAML
id: business
|
|
title: Business (Company-in-a-Box)
|
|
description: >-
|
|
A full company org: the CEO sets direction, the COO and CFO run execution and
|
|
finance, and the functional leads (product, marketing, sales, operations,
|
|
customer success) plus a small engineering slice deliver the work. reports_to
|
|
encodes the org chart.
|
|
lead: ceo
|
|
floor:
|
|
- ceo
|
|
roster:
|
|
- class: ceo
|
|
- class: coo
|
|
reports_to: ceo
|
|
- class: cfo
|
|
reports_to: ceo
|
|
- class: product-manager
|
|
reports_to: coo
|
|
- class: marketing-lead
|
|
reports_to: coo
|
|
- class: sales-lead
|
|
reports_to: coo
|
|
- class: operations-manager
|
|
reports_to: coo
|
|
- class: customer-success-manager
|
|
reports_to: coo
|
|
- class: code
|
|
reports_to: product-manager
|
|
- class: review
|
|
reports_to: product-manager
|