• DevLoop: a 3-layer Loop (L1 Unit / L2 Integration / L3 Human) auto-development
    system that takes a one-line human requirement and produces multi-page HTML
    PRD + SDD + units.json + full backend/frontend code via 6 specialized agents.
    
    This commit adds the complete documentation set:
    
    50 HTML pages organized in 8 sections (3-level menu + global search):
    - 01 Overview · 02 PRD · 03 Design (loops + 6 agents)
    - 04 SDD (MVCP × 4) · 05 Prototype · 06 Architecture
    - 07 API · 08 Ops · 09 Plan
    
    Key specs:
    - 6 agent skills (PM/Architect/Coder/Tester/Integrator/BugTriager), each with
      full system prompt, 13-17 tool signatures, 3 E2E samples, helper source code
    - 52 MVCP definitions, 100% machine-extractable via data-* anchors
    - 79 tool signatures with implementation guidance (arch-tool-registry)
    - ACP bridge spec (arch-acp-bridge): how LoopController calls into LemonBoss
      agent-manager without breaking existing Master/Innovator flows
    - 5-phase plan P0→P4 (~9.5 weeks): P0 bootstrap (tool impl + ACP bridge),
      P1 docs MVP, P2 single unit L1, P3 L1+L2 loop, P4 L3 feedback + UI
    - Persistence layer: AgentState (M-10), Memory (M-11), Todolist (M-12),
      Timeline (M-13), Bugs (M-14), Changelog (M-15) + crash recovery (P-8)
    - Cost & concurrency budgets (plan-cost-concurrency)
    - Code lifecycle: stay-in-sandbox v1 + export API + future GitHub PR (v2)
    
    Plus supporting scripts (zero deps, regex-based):
    - scripts/extract-manifest.js: extracts MVCP defs to build-manifest.json,
      used to verify all definitions have path + shape (currently 100%)
    - scripts/build-search-index.js: builds assets/search-index.json (183KB),
      enables Ctrl+K global search across all 50 pages
    
    The PRD itself is meta-executable: a future Claude Code session reading
    plan-reproducibility.html can rebuild the entire DevLoop runtime from the
    docs alone.
    
    Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
    yibo authored
     
    Browse Code »
  • - Fix port to 3010 (was 3000); both server/index.js and server/agent-server.js
      default to 3010 per config.js
    - Document the two server entrypoints: index.js (full ArenaSK, run via npm run dev)
      vs agent-server.js (Agent Chat only, run via start.sh)
    - Correct counts: 15 routes (not 11), 26 services (not 16), 10 views (not 21)
    - Remove false 'skills/' top-level dir reference; document actual data/skills/
    - Add full test/example/log npm scripts; auto-dev CLI bin; packages list
    - Add note on body-sanitizer middleware (the source of the JSON warning)
    - Add brand history note (ArenaSK → LemonBoss)
    - Keep existing Agentic Self-Correction Loop Prevention warning verbatim
    
    Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
    yibo authored
     
    Browse Code »


  • 1. Added global time range selector (1h/24h/7d/30d/all) that uniformly restricts the dataset for the whole dashboard.
    2. Added 'Search' inputs and 'Sort' dropdowns for Agent Ranking, Task Breakdown, and Recent Logs tabs.
    3. Decoupled global filteredData state from original rawData to allow smooth, consistent indicator rendering.
    yibo authored
     
    Browse Code »
  • Converted the Quota Monitor's vertical scroll layout into a clean 4-tab interface:
    1. Trend Statistics (使用趋势统计)
    2. Agent Ranking (各 Agent 计算力消耗排行榜)
    3. Task Breakdown (任务级成本分析)
    4. Recent Logs (最近的大模型调用日志)
    
    This significantly improves usability and avoids excessive scrolling while keeping the top overview indicators universally visible.
    yibo authored
     
    Browse Code »
  • Parses convId strings (e.g. task-T-xxx, callback-T-xxx) to group billing records by task ID.
    Provides a consolidated view showing total cost, token consumption, duration, and the agent
    pipeline sequence for each task, along with an expandable detailed breakdown per agent call.
    This allows easier identification of wasteful agent patterns.
    yibo authored
     
    Browse Code »
  • 1. Evolver agent.md: Added token budget rules
       - No re-reading unchanged files between iterations
       - Use head/grep instead of cat for large files
       - Concise output only (scores + diff summary, no full SKILL.md)
       - Cap at 5 iterations per session (was 10)
       - Early stop if score change < 2 points for 2 consecutive rounds
    
    2. agent-chat.js: System prompt size guards
       - MAX_PROMPT_FILE_SIZE = 15KB per file (auto-truncate with warning)
       - MAX_TOTAL_PROMPT_SIZE = 100KB total (safety net)
       - Prevents runaway files from inflating context ever again
    yibo authored
     
    Browse Code »
  • When a task completes and triggers a callback to the parent agent,
    previously it always created a new convId (callback-{taskId}), spawning
    a fresh CLI process with full system prompt re-injection.
    
    Now it checks the sessions pool for an existing connected session of the
    target agent and reuses its convId. This avoids creating a new CLI
    process and saves the system prompt overhead (~30K tokens for master).
    
    Falls back to creating new session if no active one exists.
    yibo authored
     
    Browse Code »
  • Root cause: heartbeat.md instructed Master to append inspection logs to
    plan.md on every heartbeat, causing plan.md to grow to 209KB (2922 lines
    of repeated 'status stable' logs).
    
    Changes:
    1. Truncated master/plan.md from 209KB to 7KB (kept pipeline records,
       removed 2800+ lines of repeated heartbeat logs)
    2. Updated heartbeat.md rules:
       - Banned appending inspection logs to plan.md
       - Added token budget awareness (10KB file read limit, prefer grep/find)
       - Normal heartbeats should reply '[心跳正常]' without using tools
    yibo authored
     
    Browse Code »
  • Layer 1 (P0): Per-agent session mutex
    - heartbeat-service.js: skip heartbeat if previous session still active (30min safety valve)
    - agent-chat.js: reject concurrent /chat requests for same agentId with different convId (429)
      Multi-turn conversations on same convId still work normally
    
    Layer 2 (P1): Advisory file lock utility
    - server/utils/file-lock.js: O_EXCL-based .lock file mechanism
      Auto-cleanup stale locks, graceful degradation on timeout
    
    Root cause: HeartbeatService creates new convId per heartbeat, spawning
    independent Claude CLI processes that concurrently write config.json and
    SKILL.md, causing rollbacks and FRAUDULENT scores.
    yibo authored
     
    Browse Code »
  • Templates with new train data (hunt/digest/evolve):
    - agent-creator, auto-publisher, clickbait-copywriter
    - community-manager, competitor-spy, data-harvester
    - digester, weibo-scraper, interactive-video-selector
    - lemonv_drama, reddit-scraper, story-architect
    
    Updated configs & plans for all active templates.
    Updated agent states (master, innovator, hunter, evolver, digester).
    Added CLAUDE_EFFORT=low to .env (global disable thinking).
    Updated bin/lemon.js CLI tool.
    
    .gitignore: exclude evolve intermediate artifacts (FRAUDULENT, batch/eval
    scripts, iteration logs/scores, scorer versions, SKILL versions, .env)
    yibo authored
     
    Browse Code »