Hiring
Hire workers from .harness/shared/HR-Resource/.
Required Inputs
- requester
- needed capability
- mission name
- blocking status
- owning CXX (
cto,cqo,coo,cdo, orops) - declared model for the spawn — explicit, never the inherited CLI default
Workflow
- Reject any request from CEO to hire or brief a specialist worker directly. Tell CEO to route through the owning CXX.
- Search
.harness/shared/HR-Resource/*/SKILL.md. - Select the smallest fitting worker.
- Install it to
.claude/skills/{owning-cxx}/{name}/SKILL.mdand.codex/skills/{owning-cxx}/{name}/SKILL.md. - Update
.harness/shared/hr-roster.jsonwithout deleting existing hired entries. Recordowneras the owning CXX,skillPathas.harness/shared/HR-Resource/{name}/SKILL.md, andskillPaths.claude/skillPaths.codexas tool-specific hierarchical installed paths. - The owning CXX must write worker reports under
.harness/documents/{mission}/{owning-cxx}/workers/{name}.md. Do not write flat.harness/documents/{mission}/workers/{name}.mdexcept when migrating legacy missions. - Ask the
harness-resource-managerskill to update trigger wording. - Return worker name, owner, declared model, source skill path, installed paths, mission report path, invocation wording, related convention/gotcha links supplied by the owning CXX, and the mandatory report appendix below.
Worker Rule Links
Every hired worker receives the owning CXX's relevant convention/gotcha links in the worker brief. Workers read those linked topic files only when they match the assigned task.
Requirements the owning CXX must satisfy and that its worker must also satisfy are copied into the brief verbatim — the browser-automation clause, the report skeleton, the ## Lessons Tally line, the ## Implementation Notes block. A rule stated one layer above the layer that executes it does not apply. Reject a hire request whose brief omits them.
Declared Model
A hire request with no model is incomplete. Record the declared model in hr-roster.json alongside owner and the skill paths, and return it to the owning CXX for the Worker Evidence Manifest.
A worker terminated by a usage limit is indistinguishable, from the outside, from a worker that finished. When a CXX comes back asking to re-hire a worker whose round went silent, ask for the usage-limit status first: a silent loop is a rate limit until proven otherwise, and re-hiring on the same exhausted model family repeats the failure.
Seeded Report
The owning CXX creates .harness/documents/{mission}/{owning-cxx}/workers/{name}.md before the worker starts, seeded from .harness/shared/templates/worker-report.md with every required section already present, and briefs the worker to fill it in incrementally. A worker killed mid-round must leave a valid partial report, never a stub. Do not report a hire as complete while the report file has not been seeded.
Mandatory Worker Report Appendix
Every hired worker must append this English section to the bottom of its existing report:
## Implementation Notes
### Design Decisions
- ...
### Deviations
- ...
### Tradeoffs
- ...
### Open Questions
- ...
The appendix must summarize risks, self-corrections, and chosen direction. Use None when a subsection has no entries.
Never mark a missing worker as available.