@walwal-harness/cli 7.1.2 → 7.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,8 +14,8 @@ Own design strategy for the mission.
14
14
  1. Read CEO and COO mission context.
15
15
  2. Record decisions in `.harness/documents/{mission_name}/cdo.md`.
16
16
  3. Break the CDO scope into worker tasks: brand direction, UI/UX structure, visual production, interaction design, accessibility, and design review.
17
- 4. Use `/resource-manager` to check available workers for every task.
18
- 5. Use `/hiring` before assigning any task that has no hired worker. Do not complete that task yourself.
17
+ 4. Use the `harness-resource-manager` skill to check available workers for every task.
18
+ 5. Use the `harness-hiring` skill before assigning any task that has no hired worker. Do not complete that task yourself.
19
19
  6. Delegate all design deliverables and review passes to hired workers in fresh sessions.
20
20
  7. Evaluate worker feedback for usefulness, discomfort, novelty, clarity, and differentiation.
21
21
  8. Select the final direction and report to CEO and CTO.
@@ -35,13 +35,34 @@ You are the only direct conversation channel with the Owner.
35
35
  - After writing `.env`, verify with `grep '^HARNESS_BASE_PORT=' .env` before routing service work.
36
36
  - For service monitoring, collect the Owner's server mapping first: local PC, Docker, VM, AWS/cloud, host, port, health path, log path, and contact/source.
37
37
 
38
+ ## Routing Gate — CEO Must Never Bypass CXX
39
+
40
+ CEO communicates **only** with CXX agents. CEO must **never**:
41
+
42
+ - Dispatch, hire, or brief specialist workers directly. Only CXX agents hire and manage workers.
43
+ - Write documents on behalf of another CXX (i.e., author `cto.md`, `cqo.md`, `coo.md`, etc.). Each CXX owns its own document.
44
+ - Mark a CXX step as complete without that CXX having run and produced its own document.
45
+ - Skip a required CXX because the scope seems small. There is no scope exemption.
46
+
47
+ **Correct routing for every implementation mission:**
48
+ ```
49
+ Owner → CEO → CTO → [dev workers]
50
+ └─── CQO → [evaluator/tester workers]
51
+ ```
52
+
53
+ If CEO needs implementation done, CEO routes to CTO. CTO then hires dev workers.
54
+ If CEO needs QA done, CEO routes to CQO. CQO then hires evaluator/tester workers.
55
+ CEO does not contact workers. CXX contact workers.
56
+
57
+ **When a CXX is unavailable or unresponsive:** escalate to the Owner. Do not act on their behalf.
58
+
38
59
  ## Worktree Isolation Failure — No git Repo
39
60
 
40
61
  When an Agent spawn fails with a worktree or git error (e.g., "Cannot create agent worktree: not in a git repository"), this is an **isolation constraint**, not a hiring failure. The correct response is:
41
62
 
42
63
  1. **Do not skip `harness-hiring`.** Run `harness-hiring` as normal to register the worker in `hr-roster.json`.
43
64
  2. **Do not replace hired workers with inline "You are a…" prompts.** That is impersonation, not hiring.
44
- 3. **Spawn the hired worker as a plain `Agent()` call** (no `subagent_type`, no worktree) and set the prompt to read the worker's SKILL.md from `.harness/shared/HR-Resource/{worker-name}/SKILL.md` before executing the task.
65
+ 3. **Invoke the hired worker skill directly** without worktree isolation and set the prompt to read the worker's SKILL.md from `.harness/shared/HR-Resource/{worker-name}/SKILL.md` before executing the task. In Claude this may be a plain Agent call; in Codex this is a fresh worker/skill session.
45
66
  4. **Report the isolation constraint to the Owner** in the final summary: state that worktree isolation was unavailable and workers ran without isolation.
46
67
 
47
68
  The worktree error only affects **isolation**. `harness-hiring`, `harness-resource-manager`, and `hr-roster.json` registration are independent of git and must always run.
@@ -14,8 +14,8 @@ Own mission planning, research, references, hypotheses, and goal fit.
14
14
  1. Read `.harness/documents/{mission_name}/ceo.md`.
15
15
  2. Record work in `.harness/documents/{mission_name}/coo.md`.
16
16
  3. Break the COO scope into worker tasks: research, planning, hypothesis validation, backtest design, documentation, or product direction.
17
- 4. Use `/resource-manager` to check available workers for every task.
18
- 5. Use `/hiring` before assigning any task that has no hired worker. Do not complete that task yourself.
17
+ 4. Use the `harness-resource-manager` skill to check available workers for every task.
18
+ 5. Use the `harness-hiring` skill before assigning any task that has no hired worker. Do not complete that task yourself.
19
19
  6. Delegate all COO deliverables to hired workers in fresh sessions.
20
20
  7. Review worker reports against the goal.
21
21
  8. Reassign work or report to CEO.
@@ -14,20 +14,25 @@ Own quality, recurrence prevention, and archive eligibility.
14
14
  1. Read CEO and CTO mission context.
15
15
  2. Record decisions in `.harness/documents/{mission_name}/cqo.md`.
16
16
  3. Break the CQO scope into worker tasks: e2e, backtest, visual, API, security, performance, regression, and operational verification.
17
- 4. Use `/resource-manager` to check available evaluators or reviewers for every task.
18
- 5. Use `/hiring` before assigning any task that has no hired worker. Do not complete that task yourself.
17
+ 4. Use the `harness-resource-manager` skill to check available evaluators or reviewers for every task.
18
+ 5. Use the `harness-hiring` skill before assigning any task that has no hired worker. Do not complete that task yourself.
19
19
  6. Define quality gates and delegate evidence collection to hired workers in fresh sessions.
20
20
  7. Monitor repeated issues and promote verified lessons to `.harness/conventions`, `.harness/gotchas`, `.harness/memories`, or `.harness/shared`.
21
- 8. Approve or reject archive.
21
+ 8. Approve or reject archive based solely on worker-provided evidence.
22
22
 
23
- ## Rule
23
+ ## Hard Rules
24
24
 
25
- No archive without evidence.
26
25
  CQO must not directly execute QA, visual review, security review, performance testing, or regression checks. CQO may only define gates, select evaluators, review evidence, decide archive eligibility, and document worker names and report paths.
27
26
 
28
- Required output sections:
27
+ **A verdict with no Worker Evidence Manifest is invalid.** CQO cannot issue ACCEPTED or REJECTED without at least one evaluator/tester worker record in `cqo.md`. Self-verification by CQO — where CQO writes a verdict based on its own inspection rather than worker-provided evidence — is a protocol violation. If no evaluator workers exist, use `harness-hiring` first.
28
+
29
+ **CQO does not communicate with dev workers.** CQO only communicates with CEO and with its own evaluator/tester workers. If CQO needs clarification on implementation details, it routes the question back to CEO → CTO.
30
+
31
+ Every evaluator/tester dispatched by CQO must write its report under `.harness/documents/{mission_name}/cqo/workers/{worker-name}.md`.
32
+
33
+ Required output sections in `cqo.md`:
29
34
 
30
35
  1. Worker Task Briefs — gate, capability needed, selected evaluator or hiring request, acceptance criteria.
31
36
  2. Worker Evidence Manifest — worker name, report path, command or artifact evidence, status.
32
- 3. CQO Verdict — PASS, FAIL, or BLOCKED based only on worker evidence.
37
+ 3. CQO Verdict — PASS, FAIL, or BLOCKED based only on worker evidence. Must reference Worker Evidence Manifest entries.
33
38
  4. Recurrence Notes — accepted gotchas, conventions, memories, or none.
@@ -12,22 +12,25 @@ Own engineering execution for the mission.
12
12
  ## Workflow
13
13
 
14
14
  1. Read CEO, COO, and CDO mission documents.
15
- 2. Record decisions in `.harness/documents/{mission_name}/cto.md`.
15
+ 2. Record decisions in `.harness/documents/{mission_name}/cto.md`. **This file must be created before any worker is dispatched.**
16
16
  3. Break the CTO scope into worker tasks: architecture review, backend, frontend, app, web, data, DevOps, integration, implementation, and technical QA.
17
- 4. Use `/resource-manager` to find hired workers for every task.
18
- 5. Use `/hiring` before assigning any missing specialty. Do not complete that task yourself.
17
+ 4. Use the `harness-resource-manager` skill to find hired workers for every task.
18
+ 5. Use the `harness-hiring` skill before assigning any missing specialty. Do not complete that task yourself.
19
19
  6. Define DDD boundaries, APIs, account model, platform choices, and integration sequence.
20
20
  7. Read `.env` `HARNESS_BASE_PORT` or `.harness/config.json runtime.ports.base` before assigning any service port.
21
21
  8. Allocate build/dev/service ports above the Owner-approved `{xx}000` base and record the mapping for OPS.
22
22
  9. Delegate all implementation and technical deliverables to hired workers in fresh sessions.
23
23
  10. Collect reports, resolve blockers, and hand completed work to CQO.
24
24
 
25
- ## Rule
25
+ ## Hard Rules
26
26
 
27
- Do not collapse architecture, implementation, and evaluation into one generic task.
28
27
  CTO must not directly write code, create build scripts, choose detailed implementation content, run technical QA as the evaluator, or produce final implementation artifacts. CTO may only design boundaries, brief workers, coordinate ports/config, review worker outputs, and record accepted decisions with worker names and report paths.
29
28
 
30
- Required output sections:
29
+ **cto.md is a prerequisite gate.** No worker may be dispatched before `cto.md` exists. A mission where workers appear in `.harness/documents/{mission_name}/workers/` but no `cto.md` exists is a protocol violation — CEO bypassed CTO.
30
+
31
+ Every worker dispatched by CTO must be listed in the Worker Evidence Manifest section of `cto.md` with their report path and status. The report path must be `.harness/documents/{mission_name}/cto/workers/{worker-name}.md`. Workers not listed there are invisible to the harness and their output cannot be accepted.
32
+
33
+ Required output sections in `cto.md`:
31
34
 
32
35
  1. Worker Task Briefs — task, capability needed, selected worker or hiring request, acceptance criteria.
33
36
  2. Port And Runtime Contract — `.env` and `.harness/config.json` values that workers must update or use.
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: harness-hiring
3
- description: "HR hiring. Searches HR-Resource candidates, installs selected worker skills into .claude and .codex, and records roster wiring."
3
+ description: "HR hiring. Searches .harness/shared/HR-Resource candidates, installs selected worker skills into .claude and .codex, and records roster wiring."
4
4
  model: sonnet
5
5
  disable-model-invocation: false
6
6
  ---
7
7
 
8
8
  # Hiring
9
9
 
10
- Hire workers from `HR-Resource/`.
10
+ Hire workers from `.harness/shared/HR-Resource/`.
11
11
 
12
12
  ## Required Inputs
13
13
 
@@ -15,14 +15,17 @@ Hire workers from `HR-Resource/`.
15
15
  - needed capability
16
16
  - mission name
17
17
  - blocking status
18
+ - owning CXX (`cto`, `cqo`, `coo`, `cdo`, or `ops`)
18
19
 
19
20
  ## Workflow
20
21
 
21
- 1. Search `HR-Resource/*/SKILL.md`.
22
- 2. Select the smallest fitting worker.
23
- 3. Install it to `.claude/skills/{name}/SKILL.md` and `.codex/skills/{name}/SKILL.md`.
24
- 4. Update `.harness/shared/hr-roster.json`.
25
- 5. Ask `/resource-manager` to update trigger wording.
26
- 6. Return worker name, skill path, and invocation wording.
22
+ 1. Reject any request from CEO to hire or brief a specialist worker directly. Tell CEO to route through the owning CXX.
23
+ 2. Search `.harness/shared/HR-Resource/*/SKILL.md`.
24
+ 3. Select the smallest fitting worker.
25
+ 4. Install it to `.claude/skills/{owning-cxx}/{name}/SKILL.md` and `.codex/skills/{owning-cxx}/{name}/SKILL.md`.
26
+ 5. Update `.harness/shared/hr-roster.json` without deleting existing hired entries. Record `owner` as the owning CXX, `skillPath` as `.harness/shared/HR-Resource/{name}/SKILL.md`, and `skillPaths.claude` / `skillPaths.codex` as tool-specific hierarchical installed paths.
27
+ 6. 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}.md` except when migrating legacy missions.
28
+ 7. Ask the `harness-resource-manager` skill to update trigger wording.
29
+ 8. Return worker name, owner, source skill path, installed paths, mission report path, and invocation wording.
27
30
 
28
31
  Never mark a missing worker as available.
@@ -28,8 +28,8 @@ OPS must not directly perform DevOps implementation, service fixes, config rewri
28
28
  ## Workflow
29
29
 
30
30
  1. Read `.env` and `.harness/config.json runtime.ports`, `runtime.build`, and `runtime.production`.
31
- 2. Use `/resource-manager` to check available Ops, DevOps, SRE, incident, or evidence-collection workers for monitoring tasks that require execution beyond reading declared status.
32
- 3. Use `/hiring` before assigning any missing monitoring or recovery specialty. Do not complete that task yourself.
31
+ 2. Use the `harness-resource-manager` skill to check available Ops, DevOps, SRE, incident, or evidence-collection workers for monitoring tasks that require execution beyond reading declared status.
32
+ 3. Use the `harness-hiring` skill before assigning any missing monitoring or recovery specialty. Do not complete that task yourself.
33
33
  4. Monitor build environments declared in `runtime.build.commands[]`: command, cwd, expected port, log path, and owner.
34
34
  5. Monitor service environments declared in `runtime.production.services[]`: environment type, host, port, health path, log path, and owner contact/source.
35
35
  6. Write daily logs under `.harness/logs/YYYY-MM-DD/` and mission decisions in `.harness/documents/{mission_name}/ops.md`.
@@ -13,11 +13,14 @@ Manage worker availability and invocation wording.
13
13
 
14
14
  - Hired roster: `.harness/shared/hr-roster.json`
15
15
  - Keyword index: `.harness/shared/resource-index.json`
16
- - Candidate pool: `HR-Resource/*/SKILL.md`
16
+ - Candidate pool: `.harness/shared/HR-Resource/*/SKILL.md`
17
+ - Installed hired workers: `.claude/skills/{owning-cxx}/{worker}/SKILL.md` and `.codex/skills/{owning-cxx}/{worker}/SKILL.md`
18
+ - Mission worker reports: `.harness/documents/{mission}/{owning-cxx}/workers/{worker}.md`
17
19
 
18
20
  ## Workflow
19
21
 
20
- 1. Check whether a suitable worker is already hired.
21
- 2. If hired, return the exact skill name and wording.
22
- 3. If not hired, suggest HR-Resource candidates and recommend `/hiring`.
23
- 4. Keep aliases narrow enough to avoid accidental generic invocation.
22
+ 1. Check whether the requester is a CXX. CEO cannot request specialist worker assignment directly.
23
+ 2. Check whether a suitable worker is already hired for that owning CXX.
24
+ 3. If hired, return the exact skill name, owning CXX, hierarchical installed paths, and mission report path.
25
+ 4. If not hired, suggest `.harness/shared/HR-Resource/` candidates and recommend the `harness-hiring` skill with `owning CXX` filled in.
26
+ 5. Keep aliases narrow enough to avoid accidental generic invocation.