@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.
Files changed (54) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +4 -2
  3. package/assets/templates/HARNESS.md +216 -403
  4. package/assets/templates/config.json +3 -3
  5. package/conventions/README.md +92 -0
  6. package/conventions/conductor.md +24 -0
  7. package/conventions/coo-developer.md +24 -0
  8. package/conventions/cqo.md +24 -0
  9. package/conventions/cto.md +24 -0
  10. package/conventions/dispatcher.md +24 -0
  11. package/conventions/documentationer.md +24 -0
  12. package/conventions/evaluator-architecture.md +24 -0
  13. package/conventions/evaluator-code-quality.md +24 -0
  14. package/conventions/evaluator-functional.md +24 -0
  15. package/conventions/evaluator-security.md +24 -0
  16. package/conventions/evaluator-visual.md +24 -0
  17. package/conventions/generator-backend.md +24 -0
  18. package/conventions/generator-designer.md +24 -0
  19. package/conventions/generator-devops.md +24 -0
  20. package/conventions/generator-frontend.md +24 -0
  21. package/conventions/meeting-manager.md +24 -0
  22. package/conventions/planner.md +24 -0
  23. package/conventions/service-ops.md +24 -0
  24. package/conventions/shared.md +24 -0
  25. package/gotchas/README.md +40 -8
  26. package/gotchas/conductor.md +12 -82
  27. package/gotchas/coo-developer.md +21 -12
  28. package/gotchas/cqo.md +22 -0
  29. package/gotchas/cto.md +22 -0
  30. package/gotchas/dispatcher.md +12 -87
  31. package/gotchas/documentationer.md +21 -12
  32. package/gotchas/evaluator-architecture.md +22 -0
  33. package/gotchas/evaluator-code-quality.md +11 -20
  34. package/gotchas/evaluator-functional.md +10 -30
  35. package/gotchas/evaluator-security.md +22 -0
  36. package/gotchas/evaluator-visual.md +10 -19
  37. package/gotchas/generator-backend-laravel.md +11 -77
  38. package/gotchas/generator-backend.md +19 -2
  39. package/gotchas/generator-designer.md +22 -0
  40. package/gotchas/generator-devops.md +22 -0
  41. package/gotchas/generator-frontend.md +13 -22
  42. package/gotchas/meeting-manager.md +22 -0
  43. package/gotchas/planner.md +19 -2
  44. package/gotchas/service-ops.md +13 -18
  45. package/package.json +2 -1
  46. package/scripts/conductor-tick.sh +167 -21
  47. package/scripts/harness-meeting-doc.sh +146 -2
  48. package/scripts/harness-session-start.sh +7 -0
  49. package/scripts/lib/harness-progress-migrate.sh +58 -0
  50. package/skills/conductor/SKILL.md +1 -0
  51. package/skills/coo-developer/SKILL.md +35 -5
  52. package/skills/documentationer/SKILL.md +55 -9
  53. package/skills/meeting-manager/SKILL.md +114 -4
  54. 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
- ├── planner.md # Planner의 반복 실수
13
- ├── generator-backend.md # Generator-Backend의 반복 실수
14
- ├── generator-frontend.md # Generator-Frontend의 반복 실수
15
- ├── evaluator-functional.md # Evaluator-Functional의 반복 실수
16
- └── evaluator-visual.md # Evaluator-Visual의 반복 실수
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 로 기록