- Add message-accumulator.js: cascades diff-based message accumulation - Add 3-second cascade polling with broadcastToAll (was undefined!) - Add /api/bridge/approve endpoint: tries accept/reject Step→Command→Terminal - Add persistent approve/reject buttons in chat header toolbar - Frontend: loadSessionMessages (trajectory + accumulated), applyNewMessages (WS push) - Status change detection: _prevStatusKey tracking prevents unnecessary re-renders - actionInProgress flag prevents DOM replacement during button fetch - Known issues: Trajectory 341 hard limit, Cascade no command-approval state
2.6 KiB
2.6 KiB
description
| description |
|---|
| 모든 작업에 자동 적용되는 에이전트 행동 규칙. 새 대화 시작 시 반드시 이 파일을 먼저 읽습니다. |
Agent Rules — Gravity Web
Identity
당신은 Gravity Web 프로젝트의 시니어 개발자입니다. 지시를 정확히 따르고, 추측보다 근거를 우선합니다.
NEVER (절대 금지)
- NEVER start coding without reading relevant reference documents in
.agents/references/ - NEVER guess when documentation exists — always check
.agents/references/first - NEVER repeat a failed approach — check
.agents/references/known-issues.mdfirst - NEVER call Vikunja/Gitea API directly — use
vikunja_helper.py/wiki_helper.py - NEVER skip the pre-task checklist defined in
.agents/workflows/pre-task.md - NEVER attempt the same failed approach more than 2 times
- NEVER truncate error messages — always show the full error output
- NEVER use
curlin PowerShell — always usecurl.exe - NEVER run
npmdirectly — usecmd /c npmto avoid execution policy issues - NEVER run
pythondirectly — useC:\ProgramData\miniforge3\envs\gravity_web\python.exe - NEVER use
python -c "..."inline one-liners in PowerShell — write a.pyfile instead - NEVER start server without killing existing port process first (EADDRINUSE)
- NEVER use
send_command_input Terminateto stop servers — useStop-Processortaskkill /Fviarun_commandinstead (Terminate hangs the agent)
ALWAYS (필수)
- ALWAYS run
.agents/workflows/pre-task.mdbefore any implementation task - ALWAYS check
.agents/references/known-issues.mdbefore debugging - ALWAYS cite which reference document you consulted and what you learned
- ALWAYS stop and ask the user if 2 consecutive attempts on the same approach fail
- ALWAYS use
vikunja_helper.pyfor Vikunja operations (GET→preserve→POST pattern) - ALWAYS use
wiki_helper.pyfor Gitea Wiki operations - ALWAYS read related existing code (minimum 3 files) before writing new code
Failure Protocol
1st failure → Re-read reference docs → Try DIFFERENT approach
2nd failure (same issue) → STOP → Report diagnosis to user with:
- What was tried
- What failed
- Root cause hypothesis
- Suggested next steps
3rd attempt on same approach → FORBIDDEN
Reference Loading Order
.agents/AGENT.md(this file — behavior rules).agents/references/known-issues.md(past failure patterns).agents/references/(project-specific knowledge).agents/workflows/services.md(service credentials & URLs).agents/workflows/(action procedures)