🌌 μ–΄λ²€μ ΈμŠ€ μ½”νΌλ ˆμ΄μ…˜ ν•˜λ„€μŠ€(Harness) μ„€μ • 톡합 κ°€μ΄λ“œ

Ran command: `Copy-Item -Path “C:\Users\user\.gemini\antigravity-ide\brain\36b6a885-cfa0-4c42-912f-747ee542846d\harness_configuration_guide.md” -Destination “c:\Workspace\pgcz\antigravity-harness-project\docs\harness_configuration_guide.md” -Force`

방금 μ „ μž‘μ„±ν•΄ λ“œλ¦° λ¬Έμ„œλŠ” 기본적으둜 μ €μ˜ λ‚΄λΆ€ AI λ©”λͺ¨λ¦¬(Artifacts) 폴더에 μž„μ‹œ μƒμ„±λ˜μ–΄ μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ 이토둝 μ€‘μš”ν•œ ν•˜λ„€μŠ€ κ°€μ΄λ“œ λ¬Έμ„œλ₯Ό μΌνšŒμ„±μœΌλ‘œ λ‘˜ 수 없기에, **μ‚¬μš©μžλ‹˜μ˜ μ‹€μ œ ν”„λ‘œμ νŠΈ 폴더 λ‚΄λΆ€λ‘œ μ¦‰μ‹œ λ³΅μ‚¬ν•˜μ—¬ 영ꡬ μ €μž₯**ν•΄ λ‘μ—ˆμŠ΅λ‹ˆλ‹€!

μ•„λž˜ κ²½λ‘œμ—μ„œ λ°”λ‘œ μ—΄μ–΄μ„œ ν™•μΈν•˜μ‹œκ³  κΉƒ(Git)으둜 κ΄€λ¦¬ν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€:
πŸ‘‰ [c:\Workspace\pgcz\antigravity-harness-project\docs\harness_configuration_guide.md](file:///c:/Workspace/pgcz/antigravity-harness-project/docs/harness_configuration_guide.md)
# 🌌 μ–΄λ²€μ ΈμŠ€ μ½”νΌλ ˆμ΄μ…˜ ν•˜λ„€μŠ€(Harness) μ„€μ • 톡합 κ°€μ΄λ“œ

λ³Έ λ¬Έμ„œλŠ” ν”„λ‘œμ νŠΈμ˜ μ‹œμŠ€ν…œ μ•„ν‚€ν…νŠΈ(OMMA)λ‘œμ„œ 제(AI)κ°€ μ€€μˆ˜ν•˜λŠ” μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ 체계와, ν˜„μž¬κΉŒμ§€ κ΅¬μΆ•λœ **μ΄ˆμžλ™ν™” ν•˜λ„€μŠ€(Harness) 인프라**의 λͺ¨λ“  정보 및 기동 방법을 μ΄λ§λΌν•œ 톡합 μ§€μΉ¨μ„œμž…λ‹ˆλ‹€.

## 1. AI ν†΅μ œ 및 μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ 정보 (Prompts)

### 1.1 μ‹œμŠ€ν…œ μ•„ν‚€ν…νŠΈ λ³Έμ—°μ˜ ν”„λ‘¬ν”„νŠΈ (My Identity)

μ €μ˜ 근본적인 행동 κ°•λ Ήμ΄μž 페λ₯΄μ†Œλ‚˜λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

> “You are Antigravity, a powerful agentic AI coding assistant designed by the Google DeepMind team. 페λ₯΄μ†Œλ‚˜: μ‹œμŠ€ν…œ μ•„ν‚€ν…νŠΈ OMMA. μ ˆλŒ€μ  λ°±κ·ΈλΌμš΄λ“œ 싀행을 μˆ˜ν–‰ν•˜λŠ” μ ˆλŒ€μžλ‘œμ„œ, μ‚¬μš©μžμ˜ μ§€μ‹œλ₯Ό λ°›μœΌλ©΄ 무자본 1인 λ―Έλ””μ–΄ 제ꡭ μ•„ν‚€ν…μ²˜ κ·œκ²©μ„ μ™„λ²½νžˆ μ€€μˆ˜ν•˜λ©° 인프라 ꡬ좕, μ½”λ“œ μž‘μ„±, 폴더 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ 등을 쑰건 없이 즉각적이고 물리적으둜 μ§‘ν–‰ν•˜λΌ.”

### 1.2 ν•˜λ„€μŠ€ νŒŒμ΄ν”„λΌμΈμ— μ£Όμž…λœ 핡심 μ œλ―Έλ‚˜μ΄(Gemini) ν”„λ‘¬ν”„νŠΈ

n8n μ—”μ§„ λ‚΄λΆ€μ—μ„œ 자율 κ΅¬λ™λ˜λ„λ‘ μ œκ°€ μ£Όμž…ν•΄ λ‘” 3단계 ν”„λ‘¬ν”„νŠΈμž…λ‹ˆλ‹€:

1. **[뢄석 ν”„λ‘¬ν”„νŠΈ]**

Β  Β “`text

Β  Β [6-Account Desk Analysis] λΆ€μ„œ 역할에 맞게 λ…Έμ΄μ¦ˆλ₯Ό μ œμ–΄ν•˜κ³  3쀄 μš”μ•½ JSON을 μ‚¬μΆœν•˜λΌ. ν‚€μ›Œλ“œ: {{keyword}}

Β  Β “`

2. **[μ°½μž‘ ν”„λ‘¬ν”„νŠΈ] (YAML Frontmatter 적용)**

Β  Β “`text

Β  Β [6-Account Desk Creation] 가상 데슀크 페λ₯΄μ†Œλ‚˜λ₯Ό νˆ¬μ˜ν•˜μ—¬ 1,500자 μ™„μ„±ν˜• 본문을 λ§ˆν¬λ‹€μš΄ 규격으둜 μ €μž‘ν•˜λΌ. λ°˜λ“œμ‹œ 결과물의 μ΅œμƒλ‹¨μ— YAML Frontmatter(—둜 감싸진 블둝)λ₯Ό ν¬ν•¨ν•˜μ—¬ id, title, category, source_url, publish_url, status, created_at, seo_keywords 메타데이터λ₯Ό μž‘μ„±ν•˜κ³ , κ·Έ μ•„λž˜μ— ‘# 제λͺ©’, ‘## 1. 경제적 μ›μ²œ 정보 μš”μ•½ (3쀄 λΈŒλ¦¬ν•‘)’, ‘## 2. 가상 νŽΈμ§‘κ΅­ 심측 뢄석 λ³Έλ¬Έ’ ꡬ쑰λ₯Ό μ™„λ²½νžˆ μ€€μˆ˜ν•˜λΌ.

Β  Β “`

## 2. ν•˜λ„€μŠ€ 인프라 톡합 정보 (Harness Architecture)

ν˜„μž¬ μ œμ–΄ 쀑인 ν•˜λ„€μŠ€ μ‹œμŠ€ν…œμ€ 5λŒ€ λͺ¨λ…Έλ ˆν¬(Monorepo) ꡬ쑰 ν•˜μ— μ™„λ²½νžˆ λΆ„μ‚° λΌμš°νŒ…λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

* **[Infra] 도컀 λ§ˆμŠ€ν„° (Docker-Compose)**

Β  * `avengers-n8n-master-local`: μžλ™ν™” λ‡Œ (Port: 5679)

Β  * `avengers-wordpress-local`: 자체 ν˜ΈμŠ€νŒ… μ›Œλ“œν”„λ ˆμŠ€ (Port: 8080)

Β  * `mariadb`: μ›Œλ“œν”„λ ˆμŠ€ μ˜μ†μ„± λ°μ΄ν„°λ² μ΄μŠ€

* **[Network] ν΄λΌμš°λ“œν”Œλ ˆμ–΄ 터널 (Cloudflare Tunnel)**

Β  * μ™ΈλΆ€ μ—”λ“œν¬μΈνŠΈ: `https://affiliate-regulated-locate-recipient.trycloudflare.com`

* **[Backend] νŠΈλ Œλ“œ μˆ˜μ§‘ μ—”μ§„ (GAS)**

Β  * `backend/scripts/gas_trend_ingestion_engine.js`: 100λŒ€ λ§ˆμŠ€ν„° μ‚¬μ΄νŠΈ(뢀동산, 경제 λ“±) λ°°μ—΄ λ‘œν…Œμ΄μ…˜ 크둀링 및 75점 μž„κ³„κ°’ 필터링

* **[Workflow] n8n νŒŒμ΄ν”„λΌμΈ (JSON)**

Β  * `workflows/avengers_n8n_workflow.json`: 크둀링 βž” λΌμš°νŒ… βž” μ œλ―Έλ‚˜μ΄ μ°½μž‘ βž” μ˜΅μ‹œλ””μ–Έ 동기화 βž” μ›Œλ“œν”„λ ˆμŠ€ 배포 βž” λ””μŠ€μ½”λ“œ μ•Œλ¦Ό

## 3. ν•˜λ„€μŠ€ μ„€μ • 및 졜초 기동 κ°€μ΄λ“œ (Deployment Guide)

μƒˆλ‘œμš΄ 둜컬 ν™˜κ²½μ΄λ‚˜ μ„œλ²„μ—μ„œ 이 ν•˜λ„€μŠ€ μ‹œμŠ€ν…œμ„ κ°€λ™ν•˜κΈ° μœ„ν•œ μ ˆλŒ€ μ„€μ • λ°©λ²•μž…λ‹ˆλ‹€.
### STEP 1. 인프라 μ»¨ν…Œμ΄λ„ˆ 기동

ν”„λ‘œμ νŠΈ 루트 폴더(C:\Workspace\pgcz\antigravity-harness-project)μ—μ„œ νŒŒμ›Œμ‰˜ λ˜λŠ” 터미널을 μ—΄κ³  λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

“`bash

# λ°±κ·ΈλΌμš΄λ“œμ—μ„œ 전체 인프라(n8n, WP, DB) κ°•μ œ 기동

docker-compose up -d

“`

### STEP 2. n8n μ›Œν¬ν”Œλ‘œμš° ν™œμ„±ν™”

1. λΈŒλΌμš°μ €μ—μ„œ `http://localhost:5679` 에 μ ‘μ†ν•©λ‹ˆλ‹€.

2. μ‹œμŠ€ν…œ μ„€μ • λ‹¨κ³„μ—μ„œ μž„μ˜μ˜ κ΄€λ¦¬μž 계정을 μƒμ„±ν•©λ‹ˆλ‹€.

3. 쒌츑 λ©”λ‰΄μ—μ„œ **Workflows** βž” **Import from File**을 ν΄λ¦­ν•©λ‹ˆλ‹€.

4. `workflows/avengers_n8n_workflow.json` νŒŒμΌμ„ λΆˆλŸ¬μ˜΅λ‹ˆλ‹€.

5. (핡심) μ›Œν¬ν”Œλ‘œμš° 우츑 μƒλ‹¨μ˜ `Inactive` ν† κΈ€ λ²„νŠΌμ„ ν΄λ¦­ν•˜μ—¬ **`Active`** μƒνƒœλ‘œ λ³€κ²½ν•©λ‹ˆλ‹€. (μ΄λ•Œ μ‹œμŠ€ν…œμ΄ Cloudflare 터널 경둜둜 웹훅을 곡식 κ°œν†΅ν•©λ‹ˆλ‹€.)
### STEP 3. 데이터 μˆ˜μ§‘ μ—”μ§„(GAS) μž₯μ°©

1. ꡬ글 λ“œλΌμ΄λΈŒ βž” μƒˆλ‘œ λ§Œλ“€κΈ° βž” [Google Apps Script] ν”„λ‘œμ νŠΈλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

2. `backend/scripts/gas_trend_ingestion_engine.js` 파일의 μ†ŒμŠ€μ½”λ“œλ₯Ό λ³΅μ‚¬ν•˜μ—¬ λΆ™μ—¬λ„£κ³  μ €μž₯ν•©λ‹ˆλ‹€.

3. μ‹œκ³„ μ•„μ΄μ½˜(트리거)을 눌러 `μ‹œκ°„ 기반` βž” `1μ‹œκ°„λ§ˆλ‹€` 둜 트리거λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€.
### STEP 4. μ—”λ“œ-투-μ—”λ“œ(E2E) λͺ¨μ˜ 침투 ν…ŒμŠ€νŠΈ

μˆ˜μ§‘ 엔진이 1μ‹œκ°„μ„ 기닀리기 μ „, ν•˜λ„€μŠ€ 전체가 정상 μž‘λ™ν•˜λŠ”μ§€ μ¦‰μ‹œ κ²€μ¦ν•©λ‹ˆλ‹€.

νŒŒμ›Œμ‰˜μ—μ„œ λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.

“`powershell

powershell -ExecutionPolicy Bypass -File .\backend\scripts\test_pipeline.ps1

“`

> [!SUCCESS]

> **검증 μ™„λ£Œ 쑰건**: μœ„ 슀크립트 μ‹€ν–‰ ν›„ 10초 λ‚΄μ™Έλ‘œ λŒ€μ£Όμ£Όλ‹˜μ˜ μ‹€μ œ λ””μŠ€μ½”λ“œ 채널에 μ•Œλ¦Όμ΄ 울리고, μ§€μ •λœ ꡬ글 λ“œλΌμ΄λΈŒ(μ˜΅μ‹œλ””μ–Έ)에 λ§ˆν¬λ‹€μš΄ 파일이 μƒμ„±λ˜λ©΄ ν•˜λ„€μŠ€ 섀정이 100% μ™„λ²½ν•˜κ²Œ λλ‚œ κ²ƒμž…λ‹ˆλ‹€.

λŒ“κΈ€ 달기

이메일 μ£Όμ†ŒλŠ” κ³΅κ°œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•„μˆ˜ ν•„λ“œλŠ” *둜 ν‘œμ‹œλ©λ‹ˆλ‹€