@walwal-harness/cli 6.1.2 → 6.1.4
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/CHANGELOG.md +31 -0
- package/README.md +4 -2
- package/assets/templates/HARNESS.md +216 -403
- package/assets/templates/config.json +3 -3
- package/conventions/README.md +92 -0
- package/conventions/conductor.md +24 -0
- package/conventions/coo-developer.md +24 -0
- package/conventions/cqo.md +24 -0
- package/conventions/cto.md +24 -0
- package/conventions/dispatcher.md +24 -0
- package/conventions/documentationer.md +24 -0
- package/conventions/evaluator-architecture.md +24 -0
- package/conventions/evaluator-code-quality.md +24 -0
- package/conventions/evaluator-functional.md +24 -0
- package/conventions/evaluator-security.md +24 -0
- package/conventions/evaluator-visual.md +24 -0
- package/conventions/generator-backend.md +24 -0
- package/conventions/generator-designer.md +24 -0
- package/conventions/generator-devops.md +24 -0
- package/conventions/generator-frontend.md +24 -0
- package/conventions/meeting-manager.md +24 -0
- package/conventions/planner.md +24 -0
- package/conventions/service-ops.md +24 -0
- package/conventions/shared.md +24 -0
- package/gotchas/README.md +40 -8
- package/gotchas/conductor.md +12 -82
- package/gotchas/coo-developer.md +21 -12
- package/gotchas/cqo.md +22 -0
- package/gotchas/cto.md +22 -0
- package/gotchas/dispatcher.md +12 -87
- package/gotchas/documentationer.md +21 -12
- package/gotchas/evaluator-architecture.md +22 -0
- package/gotchas/evaluator-code-quality.md +11 -20
- package/gotchas/evaluator-functional.md +10 -30
- package/gotchas/evaluator-security.md +22 -0
- package/gotchas/evaluator-visual.md +10 -19
- package/gotchas/generator-backend-laravel.md +11 -77
- package/gotchas/generator-backend.md +19 -2
- package/gotchas/generator-designer.md +22 -0
- package/gotchas/generator-devops.md +22 -0
- package/gotchas/generator-frontend.md +13 -22
- package/gotchas/meeting-manager.md +22 -0
- package/gotchas/planner.md +19 -2
- package/gotchas/service-ops.md +13 -18
- package/package.json +2 -1
- package/scripts/conductor-tick.sh +167 -21
- package/scripts/harness-meeting-doc.sh +146 -2
- package/scripts/harness-session-start.sh +7 -0
- package/scripts/lib/harness-progress-migrate.sh +58 -0
- package/skills/conductor/SKILL.md +1 -0
- package/skills/coo-developer/SKILL.md +35 -5
- package/skills/documentationer/SKILL.md +55 -9
- package/skills/meeting-manager/SKILL.md +114 -4
- package/skills/planner/SKILL.md +45 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-readme
|
|
4
|
+
title: Conventions — House Style Registry
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-04-22T00:00:00Z
|
|
7
|
+
updatedAt: 2026-04-22T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- house-style
|
|
14
|
+
- registry
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Conventions — House Style Registry
|
|
18
|
+
|
|
19
|
+
> 이 디렉토리는 프로젝트의 **긍정 규범(house style)** 을 누적 기록합니다.
|
|
20
|
+
> Gotcha(실수 기록) 가 사고 이후의 방어선이라면, Convention 은 합의된 원칙입니다.
|
|
21
|
+
> Dispatcher 가 사용자의 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지하면
|
|
22
|
+
> 해당 에이전트/스코프의 convention 파일에 `### [C-NNN]` 으로 append 합니다.
|
|
23
|
+
|
|
24
|
+
## 파일 구조
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
.harness/conventions/
|
|
28
|
+
├── README.md # 이 파일
|
|
29
|
+
├── shared.md # 모든 에이전트 공통 규범
|
|
30
|
+
│
|
|
31
|
+
├── conductor.md
|
|
32
|
+
├── dispatcher.md
|
|
33
|
+
├── meeting-manager.md
|
|
34
|
+
├── planner.md
|
|
35
|
+
├── cto.md
|
|
36
|
+
├── cqo.md
|
|
37
|
+
├── service-ops.md
|
|
38
|
+
│
|
|
39
|
+
├── coo-developer.md
|
|
40
|
+
├── documentationer.md
|
|
41
|
+
│
|
|
42
|
+
├── generator-backend.md
|
|
43
|
+
├── generator-frontend.md
|
|
44
|
+
├── generator-designer.md
|
|
45
|
+
├── generator-devops.md
|
|
46
|
+
│
|
|
47
|
+
├── evaluator-code-quality.md
|
|
48
|
+
├── evaluator-functional.md
|
|
49
|
+
├── evaluator-visual.md
|
|
50
|
+
├── evaluator-architecture.md
|
|
51
|
+
└── evaluator-security.md
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
루트의 `CONVENTIONS.md` 는 사용자가 자유롭게 기술하는 **최상위 원칙** 용도로
|
|
55
|
+
그대로 유지됩니다. 여기 `.harness/conventions/` 는 대화 중 Dispatcher 가
|
|
56
|
+
자동 누적하는 계층화된 하위 규범 저장소입니다.
|
|
57
|
+
|
|
58
|
+
## 읽기 순서 (모든 에이전트)
|
|
59
|
+
|
|
60
|
+
세션 시작 시 각 에이전트는 아래 순서로 적용합니다:
|
|
61
|
+
|
|
62
|
+
1. `CONVENTIONS.md` (루트, 최상위 원칙)
|
|
63
|
+
2. `.harness/conventions/shared.md` (공통)
|
|
64
|
+
3. `.harness/conventions/<self>.md` (자기 스코프)
|
|
65
|
+
4. `.harness/gotchas/<self>.md` (과거 실수 방어)
|
|
66
|
+
5. **(v6.2) parallel-tracks 형제 트랙 owner 의 gotcha** — `progress.json.conductor.tracks[]` 에서 자기 트랙이 아닌 형제 트랙의 owner 를 식별, 해당 owner 의 `gotchas/<owner>.md` 도 한 번 훑기. fork 회의에서 같은 결정으로 함께 출발한 부서의 가드를 무시하지 않기 위함.
|
|
67
|
+
6. `.harness/memory.md` (구조적 교훈)
|
|
68
|
+
|
|
69
|
+
**충돌 시 우선순위**: `<self>` > `shared` > 루트 `CONVENTIONS.md`.
|
|
70
|
+
형제 트랙 gotcha 는 **참고**용 — 자기 결정과 충돌 시 자기 스코프가 우선.
|
|
71
|
+
|
|
72
|
+
## 항목 형식
|
|
73
|
+
|
|
74
|
+
```markdown
|
|
75
|
+
### [C-NNN] 간결한 제목
|
|
76
|
+
- **Date**: YYYY-MM-DD
|
|
77
|
+
- **Scope**: <agent> | shared
|
|
78
|
+
- **Rule**: 규범 내용 (긍정형)
|
|
79
|
+
- **Rationale**: 왜 이렇게 하는가
|
|
80
|
+
- **Applies to**: 적용 대상 (에이전트·파일 경로 등)
|
|
81
|
+
- **Added from**: 출처 (사용자 프롬프트 / 마이그레이션 / 수동)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## 데이터 보존
|
|
85
|
+
|
|
86
|
+
- `npm install` postinstall 은 `### [C-NNN]` 엔트리가 있는 파일을 **절대 덮어쓰지 않습니다** (v5.6.0+).
|
|
87
|
+
- 스캐폴드 템플릿인 경우에만 갱신됩니다.
|
|
88
|
+
- 원본 백업: `.harness/archive/pre-harness-*.md.bak` (최초 설치 시 마이그레이션)
|
|
89
|
+
|
|
90
|
+
## 수동 편집
|
|
91
|
+
|
|
92
|
+
사용자가 직접 편집해도 됩니다. `### [C-NNN]` 형식만 지키면 Dispatcher 가 다음 자동 append 시 번호를 이어서 부여합니다.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-conductor
|
|
4
|
+
title: Conventions — uconductor
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- conductor
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — uconductor
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 uconductor 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-coo-developer
|
|
4
|
+
title: Conventions — ucoo-udeveloper
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- coo-developer
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — ucoo-udeveloper
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 ucoo-udeveloper 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-cqo
|
|
4
|
+
title: Conventions — ucqo
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- cqo
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — ucqo
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 ucqo 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-cto
|
|
4
|
+
title: Conventions — ucto
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- cto
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — ucto
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 ucto 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-dispatcher
|
|
4
|
+
title: Conventions — udispatcher
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- dispatcher
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — udispatcher
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 udispatcher 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-documentationer
|
|
4
|
+
title: Conventions — udocumentationer
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- documentationer
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — udocumentationer
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 udocumentationer 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-evaluator-architecture
|
|
4
|
+
title: Conventions — uevaluator-uarchitecture
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- evaluator-architecture
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — uevaluator-uarchitecture
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 uevaluator-uarchitecture 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-evaluator-code-quality
|
|
4
|
+
title: Conventions — evaluator-code-quality
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-04-22T00:00:00Z
|
|
7
|
+
updatedAt: 2026-04-22T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- evaluator-code-quality
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — evaluator-code-quality
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기(`.harness/conventions/evaluator-code-quality.md`)는 역할 국한 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `.harness/conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-evaluator-functional
|
|
4
|
+
title: Conventions — evaluator-functional
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-04-22T00:00:00Z
|
|
7
|
+
updatedAt: 2026-04-22T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- evaluator-functional
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — evaluator-functional
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기(`.harness/conventions/evaluator-functional.md`)는 역할 국한 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `.harness/conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-evaluator-security
|
|
4
|
+
title: Conventions — uevaluator-usecurity
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- evaluator-security
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — uevaluator-usecurity
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 uevaluator-usecurity 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-evaluator-visual
|
|
4
|
+
title: Conventions — evaluator-visual
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-04-22T00:00:00Z
|
|
7
|
+
updatedAt: 2026-04-22T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- evaluator-visual
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — evaluator-visual
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기(`.harness/conventions/evaluator-visual.md`)는 역할 국한 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `.harness/conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-generator-backend
|
|
4
|
+
title: Conventions — generator-backend
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-04-22T00:00:00Z
|
|
7
|
+
updatedAt: 2026-04-22T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- generator-backend
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — generator-backend
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기(`.harness/conventions/generator-backend.md`)는 역할 국한 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `.harness/conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-generator-designer
|
|
4
|
+
title: Conventions — ugenerator-udesigner
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- generator-designer
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — ugenerator-udesigner
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 ugenerator-udesigner 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-generator-devops
|
|
4
|
+
title: Conventions — ugenerator-udevops
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- generator-devops
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — ugenerator-udevops
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 ugenerator-udevops 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-generator-frontend
|
|
4
|
+
title: Conventions — generator-frontend
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-04-22T00:00:00Z
|
|
7
|
+
updatedAt: 2026-04-22T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- generator-frontend
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — generator-frontend
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기(`.harness/conventions/generator-frontend.md`)는 역할 국한 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `.harness/conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-meeting-manager
|
|
4
|
+
title: Conventions — umeeting-umanager
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- meeting-manager
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — umeeting-umanager
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 umeeting-umanager 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-planner
|
|
4
|
+
title: Conventions — planner
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-04-22T00:00:00Z
|
|
7
|
+
updatedAt: 2026-04-22T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- planner
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — planner
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기(`.harness/conventions/planner.md`)는 역할 국한 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `.harness/conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-service-ops
|
|
4
|
+
title: Conventions — uservice-uops
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-05-08T00:00:00Z
|
|
7
|
+
updatedAt: 2026-05-08T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- service-ops
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — uservice-uops
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기는 uservice-uops 스코프의 긍정 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드("~해야 해", "~이렇게 해줘") 를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
docmeta:
|
|
3
|
+
id: conventions-shared
|
|
4
|
+
title: Conventions — shared
|
|
5
|
+
type: input
|
|
6
|
+
createdAt: 2026-04-22T00:00:00Z
|
|
7
|
+
updatedAt: 2026-04-22T00:00:00Z
|
|
8
|
+
source:
|
|
9
|
+
producer: user
|
|
10
|
+
skillId: harness-dispatcher
|
|
11
|
+
tags:
|
|
12
|
+
- conventions
|
|
13
|
+
- shared
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Conventions — shared
|
|
17
|
+
|
|
18
|
+
> **세션 시작 시 이 파일이 비어있더라도 루트 `CONVENTIONS.md` 는 반드시 먼저 읽으시오.**
|
|
19
|
+
> 여기(`.harness/conventions/shared.md`)는 역할 국한 규범만 누적되며, 프로젝트 전체 원칙은 루트에 있습니다.
|
|
20
|
+
>
|
|
21
|
+
> Dispatcher 가 긍정 가이드를 감지해 여기에 `### [C-NNN]` 엔트리를 추가합니다.
|
|
22
|
+
> 사용자가 직접 편집해도 무방합니다. 항목 형식은 `.harness/conventions/README.md` 참고.
|
|
23
|
+
|
|
24
|
+
<!-- 항목이 추가되면 아래에 기록됩니다 -->
|
package/gotchas/README.md
CHANGED
|
@@ -8,12 +8,31 @@
|
|
|
8
8
|
|
|
9
9
|
```
|
|
10
10
|
.harness/gotchas/
|
|
11
|
-
├── README.md # 이 파일
|
|
12
|
-
|
|
13
|
-
├──
|
|
14
|
-
├──
|
|
15
|
-
├──
|
|
16
|
-
|
|
11
|
+
├── README.md # 이 파일 (형식·관리 규칙)
|
|
12
|
+
│
|
|
13
|
+
├── conductor.md # Conductor (자율 실행 엔진)
|
|
14
|
+
├── dispatcher.md # Dispatcher (CEO)
|
|
15
|
+
├── meeting-manager.md # Meeting-Manager (회의 사회)
|
|
16
|
+
├── planner.md # Planner (COO + HR)
|
|
17
|
+
├── cto.md # CTO (Gen 총괄)
|
|
18
|
+
├── cqo.md # CQO (Eval 총괄)
|
|
19
|
+
├── service-ops.md # Service-Ops (운용)
|
|
20
|
+
│
|
|
21
|
+
├── coo-developer.md # COO Hypothesis Cell — Developer
|
|
22
|
+
├── documentationer.md # COO Hypothesis Cell — Documentationer
|
|
23
|
+
│
|
|
24
|
+
├── generator-backend.md # Generator-Backend
|
|
25
|
+
├── generator-frontend.md # Generator-Frontend
|
|
26
|
+
├── generator-designer.md # Generator-Designer
|
|
27
|
+
├── generator-devops.md # Generator-DevOps
|
|
28
|
+
│
|
|
29
|
+
├── evaluator-code-quality.md # Eval-Code-Quality
|
|
30
|
+
├── evaluator-functional.md # Eval-Functional
|
|
31
|
+
├── evaluator-visual.md # Eval-Visual
|
|
32
|
+
├── evaluator-architecture.md # Eval-Architecture
|
|
33
|
+
├── evaluator-security.md # Eval-Security
|
|
34
|
+
│
|
|
35
|
+
└── generator-backend-<stack>.md # 스택별 가드 (예: -laravel)
|
|
17
36
|
```
|
|
18
37
|
|
|
19
38
|
## 항목 형식
|
|
@@ -22,8 +41,8 @@
|
|
|
22
41
|
### [G-NNN] 간결한 제목 <!-- rule_id: <unique-key> -->
|
|
23
42
|
- **Status**: unverified | verified | resolved
|
|
24
43
|
- **Date**: YYYY-MM-DD
|
|
25
|
-
- **Source**: <작성 주체> (예: "evaluator-functional:F-003" / "dispatcher:manual")
|
|
26
|
-
- **Trigger**: 사용자가 한 말 또는 "Eval 자동 감지"
|
|
44
|
+
- **Source**: <작성 주체> (예: "evaluator-functional:F-003" / "dispatcher:manual" / "meeting:M-...:track-2")
|
|
45
|
+
- **Trigger**: 사용자가 한 말 또는 "Eval 자동 감지" 또는 "track abandon"
|
|
27
46
|
- **Wrong**: 에이전트가 했던 잘못된 행동
|
|
28
47
|
- **Right**: 올바른 행동
|
|
29
48
|
- **Why**: 왜 잘못인지 근거
|
|
@@ -32,6 +51,19 @@
|
|
|
32
51
|
- **Last-Seen**: YYYY-MM-DD
|
|
33
52
|
```
|
|
34
53
|
|
|
54
|
+
### Source 필드 (v6.2 — parallel tracks 추적)
|
|
55
|
+
|
|
56
|
+
`Source` 는 항목이 어디서 생겼는지 추적한다. 가능한 형식:
|
|
57
|
+
|
|
58
|
+
| 형식 | 의미 |
|
|
59
|
+
|---|---|
|
|
60
|
+
| `dispatcher:manual` | 사용자가 명시적으로 지적 |
|
|
61
|
+
| `evaluator-<axis>:F-<id>` | Evaluator 가 자동 감지한 사건 (gotcha_candidates) |
|
|
62
|
+
| `service-ops:incident-<id>` | Service-Ops 인시던트에서 도출 |
|
|
63
|
+
| `meeting:M-<id>:track-<n>` | parallel-tracks 회의의 특정 트랙에서 도출 (v6.2) |
|
|
64
|
+
| `meeting:M-<id>:rendezvous` | followup-review 통합 결정에서 도출 |
|
|
65
|
+
| `planner:manual` | Planner 가 sprint 전환 시 등록 |
|
|
66
|
+
|
|
35
67
|
## 작성 주체
|
|
36
68
|
|
|
37
69
|
- **Dispatcher**: 사용자의 명시적 실수 지적을 Gotcha Flow 로 기록
|