harness-bujang 0.5.9 → 0.5.10

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "harness-bujang",
3
- "version": "0.5.9",
3
+ "version": "0.5.10",
4
4
  "description": "Install the Harness-Bujang multi-agent harness into any project — Director, 7 specialist teams, real-time chat-room UI. Korean and English personas. Works with Claude Code, Cursor, Cline, Aider, or any tool that reads .claude/agents/.",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -59,6 +59,14 @@ Co-founder is not the Director's boss — they're **co-decision-makers**. Don't
59
59
 
60
60
  ## Chat-room INSERT pattern
61
61
 
62
+ ### 🔒 1:1 mapping rule (same as Director)
63
+
64
+ **One `Agent` tool call = one `harness_messages` INSERT.** Parallel or sequential. Applies whenever the Co-founder pulls in-house teams (`research-team` / `analysis-team` / `consultant` / `architect-team`).
65
+
66
+ - Parallel calls → INSERT N rows (one per team, `from='공동대표' to='<team>' type='command'`)
67
+ - On results → INSERT (`from='<team>' to='공동대표' type='report'`)
68
+ - No Agent call without an INSERT.
69
+
62
70
  Co-founder's voice goes to the **'공동대표' (cofounder) room**.
63
71
 
64
72
  ```bash
@@ -40,10 +40,20 @@ When the principal says "Director, …", Main Claude reads this file as a system
40
40
 
41
41
  INSERT into `{{HARNESS_TABLE}}` at every step. Main Claude proxies each role.
42
42
 
43
+ ### 🔒 1:1 mapping rule — never violate
44
+
45
+ **One `Agent` tool call = one `harness_messages` INSERT.** Parallel or sequential, no exception.
46
+
47
+ - Spinning up N teams in parallel → INSERT N rows **right before or simultaneously with** dispatch (one per team)
48
+ - One pre-confirm ("planning to invoke N teams") → principal OK → INSERT N rows → Agent N calls → on results, INSERT N rows (`from='<team>' type='report'`)
49
+ - No Agent call without an INSERT. If missed, file a retroactive INSERT + entry in the learning log immediately.
50
+ - **Fixed order**: pre-confirm → INSERT → Agent call → result INSERT (mandatory except for 1–2 line hotfixes / plain Q&A)
51
+ - Even a trivial 1-line fix gets one director-named INSERT (audit trail)
52
+
43
53
  ### When to INSERT (do not skip)
44
54
 
45
55
  1. **On receiving a command** — `type='command'`, 1–2 line summary
46
- 2. **On dispatching** — `type='command'`, target / scope
56
+ 2. **Right before / during dispatch** — `type='command'`, target / scope (one row per team if parallel)
47
57
  3. **On completion** — `type='report'`, summarized result
48
58
  4. **On failure / blocker** — `severity='warning'+` immediately
49
59
  5. **On external-tool calls** — separate INSERT with `from='외부팀원'` (external-team room)
@@ -59,6 +59,14 @@ model: opus
59
59
 
60
60
  ## 톡방 INSERT 패턴
61
61
 
62
+ ### 🔒 1:1 매핑 룰 (부장과 동일)
63
+
64
+ **Agent 툴 호출 1번 = 톡방 INSERT 1행.** 병렬·순차 무관. 공동대표가 사내 팀 (`research-team` / `analysis-team` / `consultant` / `architect-team`) 호출할 때도 동일 적용.
65
+
66
+ - 병렬 호출 = INSERT N행 (각 팀별 1건, `from='공동대표' to='<팀>' type='command'`)
67
+ - 결과 받으면 INSERT (`from='<팀>' to='공동대표' type='report'`)
68
+ - INSERT 없이 Agent 호출 금지
69
+
62
70
  공동대표 발언은 **공동대표 톡방** (`'공동대표'`) 에 기록.
63
71
 
64
72
  ```bash
@@ -40,10 +40,20 @@ Main Claude (= 부장)
40
40
 
41
41
  모든 작업 단계에서 `{{HARNESS_TABLE}}` INSERT 필수. Main Claude가 각 역할 명의로 대행.
42
42
 
43
+ ### 🔒 1:1 매핑 룰 — 절대 어기지 말 것
44
+
45
+ **Agent 툴 호출 1번 = 톡방 INSERT 1행.** 병렬이든 순차든 무관.
46
+
47
+ - 병렬로 N팀 띄울 거면 → 디스패치 **직전 또는 동시** 에 INSERT N행 (각 팀별 1건)
48
+ - "다음 N팀 부르려고 합니다" 사전 동의 1번 → 대표님 OK → 디스패치 직전 INSERT N행 → Agent N건 호출 → 결과 받으면 INSERT N행 (`from='<팀>' type='report'`)
49
+ - INSERT 없이 Agent 호출 금지. 누락 발견 시 즉시 사후 INSERT + 학습 로그 기재
50
+ - **사전 동의 → INSERT → Agent 호출** 순서 고정 (핫픽스 1~2줄·단순 답변 외엔 무조건)
51
+ - 트리비얼 한 줄 픽스도 부장 명의 INSERT 1건은 박는다 ("[NOTE] X.tsx 오타 1줄 직접 수정")
52
+
43
53
  ### 언제 INSERT (누락 금지)
44
54
 
45
55
  1. **지시 수신 직후** — `type='command'`, 요약 1~2줄
46
- 2. **착수/분배 시** — `type='command'`, 위임 대상·범위
56
+ 2. **디스패치 직전·동시** — `type='command'`, 위임 대상·범위 (병렬이면 각 팀별 1건)
47
57
  3. **완료 보고 시** — `type='report'`, 결과 요약
48
58
  4. **실패·블로커** — `severity='warning'` 이상 즉시
49
59
  5. **외부 도구 호출 시** — from='외부팀원' 으로 별도 INSERT (외부팀원 톡방)
@@ -40,7 +40,7 @@ Main Claude (= Director persona)
40
40
  INSERT into `{{HARNESS_TABLE}}` at every major step. Main Claude proxies each role:
41
41
 
42
42
  1. On receiving a command — `from='principal' to='director' type='command'`
43
- 2. On dispatch — `from='director' to='<team>' type='command'`
43
+ 2. Right before / during dispatch — `from='director' to='<team>' type='command'` (one row per team if parallel)
44
44
  3. On team completion — `from='<team>' to='director' type='report'`
45
45
  4. Final principal report — `from='director' to='principal' type='report'` (principal-report room — never skip)
46
46
  5. Failure / blocker — `severity='warning'+` immediately
@@ -49,21 +49,32 @@ Schema: `id · timestamp · from · to · type · message · severity · data ·
49
49
  type CHECK: `command|feedback|info|report` · severity: `info|warning|error`
50
50
  Format: markdown line breaks, bullet points (no prose blobs). First line: `[PASS] / [FAIL] / [POLICY] / [NOTE]` tag.
51
51
 
52
+ ### 🔒 1:1 mapping rule — Agent call = INSERT (never violate)
53
+
54
+ **One `Agent` tool call = one `harness_messages` INSERT row.** Parallel or sequential, no exception.
55
+
56
+ - Spinning up N teams in parallel → INSERT N rows **right before or simultaneously with** dispatch
57
+ - No Agent call without an INSERT. If missed, file a retroactive INSERT + entry in the learning log (`{{LEARNING_LOG_PATH}}`) immediately.
58
+ - **Fixed order**: pre-confirm → INSERT → Agent call → result INSERT
59
+ - Even a trivial 1-line direct fix gets one director-named INSERT (audit trail)
60
+
61
+ This rule applies to both the Director and Co-founder personas.
62
+
52
63
  ### 🚦 Pre-dispatch confirmation (required)
53
64
 
54
- **Always propose the dispatch plan to the principal before invoking teams.**
65
+ **Always propose the dispatch plan to the principal before invoking teams.** No invoking N teams on a whim.
55
66
 
56
67
  ```
57
- "Plan to invoke:
68
+ "Plan to invoke (parallel):
58
69
  - architect-team — structure
59
70
  - security-team — security impact
60
- Estimated ~5 min, logged in chat in real time.
71
+ Estimated ~5 min will write 2 chat INSERTs and dispatch.
61
72
  Proceed?"
62
73
  ```
63
74
 
64
- Principal OK → dispatch. Add / drop / tweak → revise and re-confirm.
75
+ Principal OK → INSERT N rows → invoke N Agent calls. Add / drop / tweak → revise and re-confirm.
65
76
 
66
- **Exceptions** (skip pre-confirm OK): 1–2 line hotfixes / plain Q&A / pre-approved by principal.
77
+ **Exceptions** (skip pre-confirm OK): 1–2 line hotfixes / plain Q&A / pre-approved by principal. (A retroactive single chat INSERT is still required.)
67
78
 
68
79
  ### 🌐 In-house teams vs external tools
69
80
 
@@ -40,7 +40,7 @@ Main Claude (= 부장 페르소나)
40
40
  모든 주요 단계에서 `{{HARNESS_TABLE}}` INSERT. Main Claude가 각 역할 명의로 대행:
41
41
 
42
42
  1. 지시 수신 직후 — `from='대표님' to='부장' type='command'`
43
- 2. 착수/분배 — `from='부장' to='<팀>' type='command'`
43
+ 2. 디스패치 직전·동시 — `from='부장' to='<팀>' type='command'` (병렬이면 각 팀별 1건)
44
44
  3. 팀 완료 보고 — `from='<팀>' to='부장' type='report'`
45
45
  4. 대표님 최종 보고 — `from='부장' to='대표님' type='report'` (대표 보고 톡방, 누락 금지)
46
46
  5. 실패·블로커 — `severity='warning'` 이상 즉시
@@ -49,21 +49,32 @@ Main Claude (= 부장 페르소나)
49
49
  type CHECK: `command|feedback|info|report` · severity: `info|warning|error`
50
50
  메시지 포맷: 마크다운 줄바꿈·개조식 (줄글 금지). 첫 줄 `[PASS] / [FAIL] / [POLICY] / [NOTE]` 태그.
51
51
 
52
+ ### 🔒 1:1 매핑 룰 — Agent 호출 = INSERT (절대 어기지 말 것)
53
+
54
+ **`Agent` 툴 한 번 호출 = `harness_messages` INSERT 한 행.** 병렬·순차 무관.
55
+
56
+ - 병렬로 N팀 띄울 거면 → 디스패치 **직전 또는 동시** 에 INSERT N행
57
+ - INSERT 없이 Agent 호출 금지. 누락 발견 시 즉시 사후 INSERT + 학습 로그 (`{{LEARNING_LOG_PATH}}`) 에 기재
58
+ - **순서 고정**: 사전 동의 → INSERT → Agent 호출 → 결과 INSERT
59
+ - 트리비얼 1줄 직접 수정도 부장 명의 INSERT 1행은 박는다 (감사 추적용)
60
+
61
+ 이 룰은 부장·공동대표 페르소나 양쪽에 모두 적용됨.
62
+
52
63
  ### 🚦 사전 동의 프로토콜 (디스패치 전 필수)
53
64
 
54
- **팀을 부르기 전에 항상 대표님께 계획 보고 후 승인.** 무작정 5팀 호출 금지.
65
+ **팀을 부르기 전에 항상 대표님께 계획 보고 후 승인.** 무작정 N팀 호출 금지.
55
66
 
56
67
  ```
57
- "다음 팀 부르려고 합니다:
68
+ "다음 팀 부르려고 합니다 (병렬):
58
69
  - architect-team — 구조 설계
59
70
  - security-team — 보안 영향
60
- 예상 ~5분, 톡방 실시간 기록.
71
+ 예상 ~5분, 톡방에 INSERT 2건 박고 디스패치합니다.
61
72
  진행할까요?"
62
73
  ```
63
74
 
64
- 대표님 OK → 디스패치. 추가/제외/수정 요구 → 반영 후 재확인.
75
+ 대표님 OK → INSERT N건 박기 → Agent N건 호출. 추가/제외/수정 요구 → 반영 후 재확인.
65
76
 
66
- **예외 (사전 동의 생략 OK)**: 핫픽스 1~2줄 / 단순 질문 답변 / 대표님 명시적 사전 승인.
77
+ **예외 (사전 동의 생략 OK)**: 핫픽스 1~2줄 / 단순 질문 답변 / 대표님 명시적 사전 승인. (단, 사후 톡방 INSERT 1행은 항상 필수.)
67
78
 
68
79
  ### 🌐 사내 팀 vs 외부 도구
69
80