@walwal-harness/cli 7.1.13 → 7.1.14
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.
- package/HR-Resource/cdo/SKILL.md +4 -0
- package/HR-Resource/ceo/SKILL.md +2 -0
- package/HR-Resource/coo/SKILL.md +4 -0
- package/HR-Resource/cqo/SKILL.md +2 -0
- package/HR-Resource/cto/SKILL.md +2 -0
- package/HR-Resource/ops/SKILL.md +4 -0
- package/README.md +3 -1
- package/apps/harness-dashboard/components/Scene.tsx +24 -11
- package/assets/templates/AGENTS-ko.md.template +15 -4
- package/assets/templates/AGENTS.md.template +15 -4
- package/assets/templates/HARNESS.md +10 -0
- package/package.json +1 -1
package/HR-Resource/cdo/SKILL.md
CHANGED
|
@@ -25,6 +25,10 @@ Own design strategy for the mission.
|
|
|
25
25
|
Design output must be usable by implementation teams, not just descriptive.
|
|
26
26
|
CDO must not directly produce palettes, typography, layouts, mockups, interaction specs, or design-review findings. CDO may only brief workers, compare their outputs, decide, and document the accepted direction with worker names and report paths.
|
|
27
27
|
|
|
28
|
+
## Owner Handoff Gate
|
|
29
|
+
|
|
30
|
+
Owner is the final acceptance reviewer, not a design QA substitute. CDO must use design/review workers to validate UI/UX readiness, accessibility concerns, responsive behavior assumptions, and visual acceptance risks before handoff. Do not ask the Owner to discover whether the UI is usable or visually broken; ask only for final product or brand acceptance after worker-backed review.
|
|
31
|
+
|
|
28
32
|
Required output sections:
|
|
29
33
|
|
|
30
34
|
1. Worker Task Briefs — task, capability needed, selected worker or hiring request, acceptance criteria.
|
package/HR-Resource/ceo/SKILL.md
CHANGED
|
@@ -35,6 +35,8 @@ 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
|
- Every CEO and CXX mission document must include an English `## Implementation Notes` section with the required subsections below. CEO must reject CXX reports that omit it.
|
|
38
|
+
- Owner is the final acceptance reviewer, not a tester, QA substitute, debugger, or deployment verifier. CEO must not send "done, please check" reports while core functionality, regression, account setup, browser flows, logs, or runtime health remain unverified by workers.
|
|
39
|
+
- Before requesting Owner acceptance, CEO must collect and summarize CXX-backed completion evidence: CTO implementation evidence, CQO evaluator/tester evidence, and OPS runtime evidence when services are involved. The final Owner report may request acceptance review or business/product judgment, but must not ask the Owner to discover whether the software works.
|
|
38
40
|
|
|
39
41
|
## Required Mission Note Format
|
|
40
42
|
|
package/HR-Resource/coo/SKILL.md
CHANGED
|
@@ -24,6 +24,10 @@ Own mission planning, research, references, hypotheses, and goal fit.
|
|
|
24
24
|
|
|
25
25
|
COO must not directly produce research findings, sprint plans, feed lists, market conclusions, backtest scripts, or documentation deliverables. COO may only frame the question, select and brief workers, evaluate worker output, and record the accepted decision.
|
|
26
26
|
|
|
27
|
+
## Owner Handoff Gate
|
|
28
|
+
|
|
29
|
+
Owner is the final acceptance reviewer, not a tester or discovery worker. COO must define verifiable success criteria and worker-backed validation plans before work reaches implementation. Do not propose Owner manual checking as the way to discover whether the goal works; unresolved validation gaps must be reported to CEO as blockers or risks.
|
|
30
|
+
|
|
27
31
|
## Output
|
|
28
32
|
|
|
29
33
|
Return planning decisions, evidence, rejected options, mission fit, worker names used, worker report paths, and the next CXX that should receive the work.
|
package/HR-Resource/cqo/SKILL.md
CHANGED
|
@@ -30,6 +30,8 @@ CQO must not directly execute QA, visual review, security review, performance te
|
|
|
30
30
|
|
|
31
31
|
Every evaluator/tester dispatched by CQO must write its report under `.harness/documents/{goal-or-child-mission}/cqo/workers/{worker-name}.md`.
|
|
32
32
|
|
|
33
|
+
**Owner is not the QA tester.** CQO must not approve a handoff that asks the Owner to verify basic functionality, regression safety, browser behavior, account setup, logs, or runtime health. CQO must use evaluator/tester workers to collect the evidence, including E2E/Playwright/browser checks, regression commands, test-account or seeded-data validation, screenshots, logs, and risk notes when relevant. If evidence is missing, CQO verdict is BLOCKED or FAIL, not "ask Owner to check."
|
|
34
|
+
|
|
33
35
|
Required output sections in `cqo.md`:
|
|
34
36
|
|
|
35
37
|
1. Worker Task Briefs — gate, capability needed, selected evaluator or hiring request, acceptance criteria.
|
package/HR-Resource/cto/SKILL.md
CHANGED
|
@@ -30,6 +30,8 @@ CTO must not directly write code, create build scripts, choose detailed implemen
|
|
|
30
30
|
|
|
31
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/{goal-or-child-mission}/cto/workers/{worker-name}.md`. Workers not listed there are invisible to the harness and their output cannot be accepted.
|
|
32
32
|
|
|
33
|
+
**Owner is not the technical tester.** CTO must not hand unfinished software to CEO/Owner with "please check" as the validation plan. CTO must require workers to prove implementation readiness with appropriate unit tests, integration checks, build/run commands, seeded data or test account setup, browser/E2E checks when applicable, and changed-file evidence. If verification cannot be completed, CTO reports BLOCKED with the missing evidence instead of asking the Owner to test it.
|
|
34
|
+
|
|
33
35
|
Required output sections in `cto.md`:
|
|
34
36
|
|
|
35
37
|
1. Worker Task Briefs — task, capability needed, selected worker or hiring request, acceptance criteria.
|
package/HR-Resource/ops/SKILL.md
CHANGED
|
@@ -17,6 +17,10 @@ OPS owns two environment classes:
|
|
|
17
17
|
OPS is not the implementation owner. CTO/DevOps workers start or change systems; OPS observes whether the declared build/service environments are healthy and raises evidence-backed events.
|
|
18
18
|
OPS must not directly perform DevOps implementation, service fixes, config rewrites, deployment changes, or recovery work. OPS may only monitor, classify, brief hired Ops/DevOps workers, review their reports, and escalate evidence-backed events.
|
|
19
19
|
|
|
20
|
+
## Owner Handoff Gate
|
|
21
|
+
|
|
22
|
+
Owner is the final acceptance reviewer, not the runtime monitor. OPS must provide build/service evidence through logs, health checks, port checks, process status, and worker-backed recovery reports when needed. Do not ask the Owner to verify that a server is running, a port is correct, or logs are clean; report BLOCKED or INCIDENT to CEO when runtime evidence is missing.
|
|
23
|
+
|
|
20
24
|
## Port Policy
|
|
21
25
|
|
|
22
26
|
- CEO must agree on a `{xx}000` base port with the Owner before CXX services are allocated.
|
package/README.md
CHANGED
|
@@ -181,12 +181,13 @@ npx walwal-harness init --force --project-root /path/to/project
|
|
|
181
181
|
Features:
|
|
182
182
|
|
|
183
183
|
- **Split Workspace** — full-viewport left/right panes keep Org Tree + Mission Timeline beside the selected mission detail; both panes scroll independently with hidden scrollbars, and the detail pane resets to top on selection changes
|
|
184
|
-
- **Org Tree** — live status of Owner → CEO → CXX → Workers hierarchy, with worker cards grouped under their owning CXX
|
|
184
|
+
- **Org Tree** — live status of Owner → CEO → CXX → Workers hierarchy, with worker cards grouped under their owning CXX; clicking any node initializes the right pane to the relevant history, CXX document, or worker report
|
|
185
185
|
- **Mission Timeline** — clickable history of goal/submission/hot-fix missions showing the full dispatch chain
|
|
186
186
|
- **Mission Flow tab** — per-mission flow: Owner prompt → CEO routing → CXX → owner-specific worker evidence → CQO verdict
|
|
187
187
|
- **History tab** — mission-specific Owner request (from CEO summary + closest progress.log match)
|
|
188
188
|
- **Gotchas tab** — searchable `.harness/gotchas/*.md` knowledge base, click to read full markdown
|
|
189
189
|
- **Document tab** — per-CXX markdown doc viewer
|
|
190
|
+
- **Owner Acceptance Gate** — Owner is final acceptance only; CEO/CXX must complete worker-backed verification before asking for Owner review
|
|
190
191
|
|
|
191
192
|
---
|
|
192
193
|
|
|
@@ -222,6 +223,7 @@ harness-hiring → register and onboard worker
|
|
|
222
223
|
|
|
223
224
|
| Version | Summary |
|
|
224
225
|
|---|---|
|
|
226
|
+
| 7.1.14 | Owner acceptance gate: Owner is final reviewer, not tester; dashboard org-node clicks initialize the detail pane |
|
|
225
227
|
| 7.1.13 | Dashboard: full-viewport split workspace, hidden pane scrollbars, and detail scroll reset on selection |
|
|
226
228
|
| 7.1.12 | Dashboard: split workspace panes now scroll independently |
|
|
227
229
|
| 7.1.11 | Dashboard: persistent 50/50 split workspace and CXX-owned worker grouping in the org tree |
|
|
@@ -40,18 +40,18 @@ export function Scene({ snapshot: initial, lang = "ko" }: SceneProps) {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
const handleNodeClick = (node: OrgNodeDef) => {
|
|
43
|
+
const currentMission = snapshot.missions?.[0] ?? null;
|
|
43
44
|
setSelectedNode(node);
|
|
44
45
|
setSelectedAgent(null);
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
setSelectedMission(snapshot.missions[0]);
|
|
46
|
+
if (currentMission) {
|
|
47
|
+
setSelectedMission(currentMission);
|
|
48
48
|
}
|
|
49
49
|
if (node.id === "owner") {
|
|
50
50
|
setDrawerTab("history");
|
|
51
51
|
} else if (node.id.startsWith("worker-")) {
|
|
52
|
-
setDrawerTab("mission-
|
|
52
|
+
setDrawerTab("mission-doc");
|
|
53
53
|
} else {
|
|
54
|
-
setDrawerTab("mission-
|
|
54
|
+
setDrawerTab("mission-doc");
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
57
|
|
|
@@ -76,6 +76,14 @@ export function Scene({ snapshot: initial, lang = "ko" }: SceneProps) {
|
|
|
76
76
|
selectedNode?.id ?? "",
|
|
77
77
|
selectedAgent?.id ?? "",
|
|
78
78
|
].join(":");
|
|
79
|
+
const selectedWorkerName = selectedNode?.id.startsWith("worker-")
|
|
80
|
+
? selectedNode.label
|
|
81
|
+
: undefined;
|
|
82
|
+
const selectedDocumentRole = selectedWorkerName
|
|
83
|
+
? "worker"
|
|
84
|
+
: selectedNode?.role === "owner"
|
|
85
|
+
? "ceo"
|
|
86
|
+
: selectedNode?.role;
|
|
79
87
|
|
|
80
88
|
// Suppress unused lang warning — kept for future i18n
|
|
81
89
|
void lang;
|
|
@@ -161,14 +169,19 @@ export function Scene({ snapshot: initial, lang = "ko" }: SceneProps) {
|
|
|
161
169
|
{drawerTab === "mission-doc" && selectedNode && (
|
|
162
170
|
<MissionDocTab
|
|
163
171
|
missions={snapshot.missions ?? []}
|
|
164
|
-
role={
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
172
|
+
role={selectedDocumentRole as "ceo" | "cto" | "cqo" | "coo" | "cdo" | "ops" | "worker"}
|
|
173
|
+
workerName={selectedWorkerName}
|
|
174
|
+
fromLabel={
|
|
175
|
+
selectedWorkerName
|
|
176
|
+
? selectedNode.role.toUpperCase()
|
|
177
|
+
: selectedNode.role === "ceo"
|
|
178
|
+
? "Owner"
|
|
179
|
+
: "CEO"
|
|
168
180
|
}
|
|
169
|
-
fromLabel={selectedNode.role === "ceo" ? "Owner" : "CEO"}
|
|
170
181
|
toLabel={
|
|
171
|
-
|
|
182
|
+
selectedWorkerName
|
|
183
|
+
? "Evidence"
|
|
184
|
+
: selectedNode.role === "cto"
|
|
172
185
|
? "Workers"
|
|
173
186
|
: selectedNode.role === "cqo"
|
|
174
187
|
? "Owner Report"
|
|
@@ -106,7 +106,17 @@ Owner
|
|
|
106
106
|
|
|
107
107
|
CEO는 worker 기록 없이 완료된 산출물을 포함한 CXX 보고서를 거부한다.
|
|
108
108
|
|
|
109
|
-
## 7.
|
|
109
|
+
## 7. Owner 역할
|
|
110
|
+
|
|
111
|
+
Owner는 최종 검수자다. Tester, QA worker, debugger, 배포 확인 담당자가 아니다.
|
|
112
|
+
|
|
113
|
+
- 동작하지 않거나 검증되지 않았거나 부분적으로만 실행되는 소프트웨어를 Owner에게 전달하며 "확인해 주세요"를 다음 액션으로 삼지 않는다.
|
|
114
|
+
- Owner에게 개발자 테스트, 회귀 확인, 계정 생성/로그인 확인, Playwright 확인, E2E 순회, 로그 점검, 기본 기능 검증을 요구하지 않는다.
|
|
115
|
+
- CEO와 CXX는 worker를 통해 자체 검증을 계획하고 실행한다: unit test, E2E test, Playwright/browser check, test account, seed data, build/run check, log evidence.
|
|
116
|
+
- Owner 검수는 CEO가 CXX 완료 기록, CTO 구현 증거, CQO evaluator 증거, 필요한 OPS 런타임 증거를 모아 goal이 실제로 완수되었음을 보인 뒤에만 요청한다.
|
|
117
|
+
- 최종 Owner 보고는 acceptance review, 제품 판단, 비즈니스 승인을 요청할 수 있다. 소프트웨어가 동작하는지 발견해 달라고 요청해서는 안 된다.
|
|
118
|
+
|
|
119
|
+
## 8. 미션 플로우
|
|
110
120
|
|
|
111
121
|
### Goal
|
|
112
122
|
|
|
@@ -139,7 +149,7 @@ CEO는 worker 기록 없이 완료된 산출물을 포함한 CXX 보고서를
|
|
|
139
149
|
|
|
140
150
|
주의: harness 문서(ceo.md, cto.md, cqo.md, worker 보고서)에 대한 docmeta skip 판단은 미션 프로토콜 단계를 건너뛸 권한을 부여하지 않는다. 이 파일들은 분석 산출물이 아니라 미션 기록이다.
|
|
141
151
|
|
|
142
|
-
##
|
|
152
|
+
## 9. 하네스 런타임
|
|
143
153
|
|
|
144
154
|
| 경로 | 역할 |
|
|
145
155
|
|---|---|
|
|
@@ -155,7 +165,7 @@ CEO는 worker 기록 없이 완료된 산출물을 포함한 CXX 보고서를
|
|
|
155
165
|
|
|
156
166
|
`.harness/`는 미션 상태 저장소다. 빌드 산출물이 아니다. 삭제하지 않는다.
|
|
157
167
|
|
|
158
|
-
##
|
|
168
|
+
## 10. 금지 규칙
|
|
159
169
|
|
|
160
170
|
1. **`{mission}/cto.md` 없이 소스 코드 편집 금지** — CTO의 범위 승인이 있어야 소스 파일을 수정할 수 있다.
|
|
161
171
|
2. **CXX 사칭 금지** — 현재 모델이 CEO/CTO/CQO를 인라인으로 대행하지 않는다. 설치된 harness skill을 fresh session에서 사용한다.
|
|
@@ -163,10 +173,11 @@ CEO는 worker 기록 없이 완료된 산출물을 포함한 CXX 보고서를
|
|
|
163
173
|
4. **CQO 판정 없이 archive 금지** — 명시적 PASS가 담긴 `{mission}/cqo.md`가 존재해야 한다.
|
|
164
174
|
5. **gotcha 등록 생략 금지** — 모든 hot-fix는 `.harness/gotchas/` 또는 `.harness/conventions/`에 최소 하나의 항목을 만든다.
|
|
165
175
|
6. **미션 중 이 파일 편집 금지** — AGENTS.md를 수정하려면 별도 `/goal`을 제출한다.
|
|
176
|
+
7. **Owner는 최종 검수만 수행** — Owner는 tester나 QA 대체자가 아니다. CEO/CXX는 worker-backed verification으로 goal 완료 가능성을 증명하기 전까지 "완료했습니다, 확인해 주세요"라고 보고하지 않는다.
|
|
166
177
|
|
|
167
178
|
---
|
|
168
179
|
|
|
169
|
-
##
|
|
180
|
+
## 11. 프로젝트 컨텍스트
|
|
170
181
|
|
|
171
182
|
- **기술 스택**: {{TECH_STACK}}
|
|
172
183
|
- **프로젝트 구조**: {{PROJECT_STRUCTURE}}
|
|
@@ -54,9 +54,19 @@ Each CXX:
|
|
|
54
54
|
|
|
55
55
|
CEO rejects any CXX report that contains completed deliverables without matching worker records.
|
|
56
56
|
|
|
57
|
+
## 4. Owner Role
|
|
58
|
+
|
|
59
|
+
The Owner is the final acceptance reviewer, not a tester, QA worker, debugger, or deployment verifier.
|
|
60
|
+
|
|
61
|
+
- Do not hand the Owner broken, unverified, or partially runnable software with "please check this" as the next action.
|
|
62
|
+
- Do not ask the Owner to perform developer testing, regression checks, account setup checks, Playwright review, E2E traversal, log inspection, or basic functionality verification.
|
|
63
|
+
- CEO and CXX must plan and execute self-verification through workers: unit tests, E2E tests, Playwright/browser checks, test accounts, seeded data, build/run checks, logs, and documented evidence.
|
|
64
|
+
- Owner inspection happens only after CEO has collected CXX completion records, CTO implementation evidence, CQO evaluator evidence, and any OPS runtime evidence needed to show the goal is genuinely complete.
|
|
65
|
+
- A final Owner report may ask for acceptance review, product judgment, or business approval. It must not ask the Owner to discover whether the software works.
|
|
66
|
+
|
|
57
67
|
---
|
|
58
68
|
|
|
59
|
-
##
|
|
69
|
+
## 5. Mission Flow
|
|
60
70
|
|
|
61
71
|
### Goal
|
|
62
72
|
|
|
@@ -91,7 +101,7 @@ Note: A docmeta skip decision on harness documents (ceo.md, cto.md, cqo.md, work
|
|
|
91
101
|
|
|
92
102
|
---
|
|
93
103
|
|
|
94
|
-
##
|
|
104
|
+
## 6. Harness Runtime
|
|
95
105
|
|
|
96
106
|
| Path | Role |
|
|
97
107
|
|---|---|
|
|
@@ -109,7 +119,7 @@ Note: A docmeta skip decision on harness documents (ceo.md, cto.md, cqo.md, work
|
|
|
109
119
|
|
|
110
120
|
---
|
|
111
121
|
|
|
112
|
-
##
|
|
122
|
+
## 7. Hard Rules
|
|
113
123
|
|
|
114
124
|
1. **No source edit without `{mission}/cto.md`** — CTO scope sign-off is required before any source file is modified.
|
|
115
125
|
2. **No CXX impersonation** — The active model must not act as CEO/CTO/CQO inline. Use installed harness skills in fresh sessions.
|
|
@@ -122,10 +132,11 @@ Note: A docmeta skip decision on harness documents (ceo.md, cto.md, cqo.md, work
|
|
|
122
132
|
9. **No verdict without worker evidence** — CQO cannot issue ACCEPTED/REJECTED without a Worker Evidence Manifest referencing at least one evaluator worker. Self-inspection by CQO is not valid evidence.
|
|
123
133
|
10. **Hierarchical worker ownership** — Hired workers are installed under `.claude/skills/{owning-cxx}/{worker}/` and `.codex/skills/{owning-cxx}/{worker}/`; mission worker reports live under `.harness/documents/{goal-or-child-mission}/{owning-cxx}/workers/`. Flat `{mission}/workers/` reports are legacy and signal an ownership violation unless explicitly migrated.
|
|
124
134
|
11. **Implementation Notes required** — `ceo.md`, every `{cxx}.md`, and every worker report must end with an English `## Implementation Notes` section containing `Design Decisions`, `Deviations`, `Tradeoffs`, and `Open Questions`. Use `None` for empty subsections.
|
|
135
|
+
12. **Owner is final acceptance only** — Owner is not a tester or QA substitute. CEO/CXX must not report "done, please check" until worker-backed verification proves the goal can be completed. Use unit tests, E2E, Playwright, test accounts, seeded data, build/run checks, logs, and CQO evidence before requesting Owner acceptance.
|
|
125
136
|
|
|
126
137
|
---
|
|
127
138
|
|
|
128
|
-
##
|
|
139
|
+
## 8. Project Context
|
|
129
140
|
|
|
130
141
|
- **Tech Stack**: {{TECH_STACK}}
|
|
131
142
|
- **Structure**: {{PROJECT_STRUCTURE}}
|
|
@@ -27,6 +27,15 @@ Owner
|
|
|
27
27
|
|
|
28
28
|
CEO is the Owner's only internal contact. CEO talks only to CXX agents. CXX agents coordinate, hire, review, and decide; they do not directly produce specialist deliverables.
|
|
29
29
|
|
|
30
|
+
## Owner Role
|
|
31
|
+
|
|
32
|
+
Owner is the final acceptance reviewer, not a tester, QA substitute, debugger, or deployment verifier.
|
|
33
|
+
|
|
34
|
+
- Do not give the Owner broken, unverified, or partially runnable software with "please check this" as the next action.
|
|
35
|
+
- CEO/CXX must use worker-backed verification before requesting Owner acceptance: unit tests, E2E tests, Playwright/browser checks, test accounts, seeded data, build/run checks, logs, CQO evidence, and OPS runtime evidence when relevant.
|
|
36
|
+
- Missing verification is a BLOCKED/FAIL condition, not an Owner task.
|
|
37
|
+
- Final Owner reports may ask for acceptance review, product judgment, or business approval; they must not ask the Owner to discover whether the software works.
|
|
38
|
+
|
|
30
39
|
## Runtime Paths
|
|
31
40
|
|
|
32
41
|
| Path | Role |
|
|
@@ -81,6 +90,7 @@ Flat `.harness/documents/{mission}/workers/` reports are legacy. New worker evid
|
|
|
81
90
|
- CXX agents must not directly execute specialist deliverables.
|
|
82
91
|
- CTO worker dispatch requires `cto.md` first.
|
|
83
92
|
- CQO verdicts require evaluator/tester worker evidence.
|
|
93
|
+
- Owner is final acceptance only. Do not report "done, please check" until worker-backed verification proves the goal is complete.
|
|
84
94
|
- Every `ceo.md`, `{cxx}.md`, and worker report must end with:
|
|
85
95
|
|
|
86
96
|
```markdown
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walwal-harness/cli",
|
|
3
|
-
"version": "7.1.
|
|
3
|
+
"version": "7.1.14",
|
|
4
4
|
"description": "Company-style AI agent harness for Claude and Codex. Installs commands, CXX agents, skills, HR-Resource hiring pool, and project-local .harness runtime state.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"walwal-harness": "bin/init.js"
|