First-class org roles for Conductor packs. Hector wears these as hats; agents run as staff with a designated role. Roles drive tooling, not approval committees.
Corpus: corpus/org/roles.yml, corpus/org/tooling-matrix.yml.
Org leadership
| Role ID |
Title |
Mission |
Primary tools |
role.president |
President |
Sole human decision-maker; set direction; approve corpus proposals |
GitHub issues/PRs, Calendar, Bitwarden |
role.chief-of-staff |
Chief of Staff |
Capture, classify, route, protect attention |
Vikunja, GitHub issues, Calendar, Conductor consult |
role.strategy-research |
Strategy / Research |
Priority evidence, opportunity scans |
Web research, Vikunja read, Memory (when available) |
Portfolio Office
| Role ID |
Title |
Mission |
Primary tools |
role.portfolio-manager |
Portfolio Manager |
WIP, kill/park/continue, line routing |
GitHub Projects, Vikunja, Conductor portfolio inventories |
Product Evaluation
| Role ID |
Title |
Mission |
Primary tools |
role.product-manager |
Product Manager |
Outcome, gates, build-vs-buy, handoff to Software |
Scorecards, GitHub issue, pipeline folders |
role.market-researcher |
Market Researcher |
Desk research, interviews, supply/demand |
Research folders, interview notes |
role.scorecard-analyst |
Scorecard Analyst |
Run venture/bootstrap scorecards |
corpus/lines/product/scorecards/ |
Software
| Role ID |
Title |
Mission |
Primary tools |
role.engineering-lead |
Engineering Lead |
Frame scope, blueprint/stack bindings, DoD |
GitHub issue, Conductor software inventories |
role.implementer |
Implementer |
Code against pack guardrails |
git, local IDE, repo tests |
role.platform-engineer |
Platform / Deploy |
Host×shape, bootstrap, CI/CD, secrets |
promote/first-deploy scripts, secret-gate, templates/deploy/ |
Editorial (newsroom)
| Role ID |
Title |
Mission |
Primary tools |
role.editor-in-chief |
Editor-in-Chief |
Slate, kill/ship, editorial standards |
Conductor editorial workflow, site review |
role.desk-editor |
Desk Editor |
Assign desk + schema |
Taxonomy, writing-publisher-mcp classify/create |
role.reporter |
Reporter / Author |
Draft body |
Draft files / MCP update tools |
role.researcher |
Researcher |
Data/method for Research desk |
Analysis scripts, DWD/etc. sources |
role.fact-checker |
Fact-checker |
Claims vs sources; no fabrication |
Source docs, tables/figures |
role.copy-editor |
Copy editor |
Frontmatter, structure, quality gates |
Type schemas, MCP validators |
role.publisher |
Web producer / Publisher |
Publish + deploy writing |
writing-publisher-mcp, site repo |
role.translator |
Translator |
Authored locales EN/ES/DE |
Locale markdown files (no runtime MT) |
Services
| Role ID |
Title |
Mission |
Primary tools |
role.practice-lead |
Practice Lead |
Offer catalog, rates, what we sell |
services/1-offers/ |
role.bd-sales |
BD / Sales |
Lead progression |
Lead status.md, outreach |
role.engagement-manager |
Engagement Manager |
Scope, contract, client status |
Client folder, proposal/contract |
role.delivery-consultant |
Delivery Consultant |
Produce deliverables |
deliverables/; may hand off to Software |
role.billing |
Billing |
Invoices, paid close |
invoices/, rate card |
Operate
| Role ID |
Title |
Mission |
Primary tools |
role.platform-engineer |
Platform Engineer |
Shared host health, deploys |
konstant/VPS runbooks, systemd, nginx |
role.on-call |
On-call |
Incidents, restore |
MCP SSH, logs, runbooks |
Pack field
Every operating brief should set:
yaml
active_role: role.<id>
tooling: [<tool ids from matrix>]
If role is ambiguous, ask before inventing a multi-hat plan.