Commit Graph
162 Commits
Author SHA1 Message Date
Godopu fc24af4683 docs: archive macOS compatibility review reports from cline and claude 2026-07-18 22:37:15 +09:00
Godopu f79fd99de7 fix(mac-compat): resolve absolute path of agent binary and strip macos quarantine attribute to prevent gatekeeper and path-resolution timeouts 2026-07-18 22:26:23 +09:00
Godopu 31ca11c57d docs: archive planning/review reports and issue report from previous multi-agent-mux-loop runs 2026-07-17 21:33:31 +09:00
Godopu b45649de76 feat(delegate-job): support role aliases mapping and run delegate job safely using isolated temp copy with signal cleanups 2026-07-17 17:07:30 +09:00
Godopu 5a6cb91fb0 feat(delegate-job): support --role parameter in submit and update commands to resolve role suitability mismatches 2026-07-17 15:59:14 +09:00
Godopu be46484108 fix(loop): fix wait_for_job hang bug and finalize Creator Self-Planning documentation 2026-07-17 15:51:37 +09:00
Godopu 6c903420d8 fix(skill): resolve hardcoded planner session name and plan file paths dynamically in run_loop.sh 2026-07-16 23:48:13 +09:00
Godopu f85fdfc1f9 docs(skill): genericize multi-agent-mux-loop SKILL manual by replacing hardcoded agent session names with placeholders 2026-07-16 23:46:27 +09:00
Godopu 52c270eea7 docs(skill): update multi-agent-mux-loop SKILL manual to reflect skipped planning mode when --plan is omitted 2026-07-16 23:43:53 +09:00
Godopu 7c94eefb6d docs: add development plan for MAM Web PTY WebSocket Bridge architecture 2026-07-16 23:34:23 +09:00
Godopu f0e2bd26c2 fix(ui): correct libc symbol lookup for direct _exit syscall to achieve async-signal-safety 2026-07-16 23:27:55 +09:00
Godopu 7f1a7e5a50 fix(ui): enforce async-signal-safe exit, blocking waitpid reaping, and unsetenv env isolation inside child PTY process 2026-07-16 23:20:59 +09:00
Godopu a6e4dc97a4 fix(ui): prevent Dart event loop freezing by switching master PTY fd to non-blocking mode via fcntl 2026-07-16 23:19:24 +09:00
Godopu 7781e797aa fix(ui): implement async-signal-safe fork process layout and waitpid child zombie reaping for PTY 2026-07-16 23:11:37 +09:00
Godopu f52f6eb2af fix(ui): resolve M2 blocking bugs with full POSIX fork/exec PTY spawn and tmux environment isolation 2026-07-16 22:56:19 +09:00
Godopu b7901bcce5 feat(ui): complete M2 Milestone - Desktop POSIX PTY FFI implementation and attach terminal tab integration 2026-07-16 22:50:59 +09:00
Godopu 7e4cab6c09 fix(ui): expose stale banner under cold-start failures when no successful snapshot exists 2026-07-16 21:21:07 +09:00
Godopu 7c981549a2 fix(ui): implement cached startup pre-flight check in SessionService and propagate errors in StaleBanner 2026-07-16 21:18:14 +09:00
Godopu 2eb85866b3 feat(ui): complete M1 Milestone - read-only Dashboard and Detail Pane with status.sh integration 2026-07-16 21:09:31 +09:00
Godopu 7d22774d76 feat(loop): allow run_loop.sh to automatically load existing plan if --plan is omitted 2026-07-16 20:54:38 +09:00
Godopu 9778f38d9f feat(ui): scaffold multi-agent-mux-ui monorepo structure with Flutter and Melos configurations 2026-07-16 17:30:03 +09:00
Godopu 39be8d7b43 docs(resume): remove obsolete, hardcoded resume_all.sh script 2026-07-16 15:42:08 +09:00
GodopuandClaude Sonnet 5 35fc44f269 fix(loop): repair review-diff/verdict-parsing bugs, deduplicate session lookups
Applies the P0-P3 fixes from the multi-agent-mux-loop audit
(.mam/jobs/ab686e47/claude-reports/report-final.md):

- P0-1: capture BASE_COMMIT before Phase 2 and diff against it, so reviewer
  diffs stay non-empty and cumulative even after the Creator commits per the
  documented DoD (bare `git diff` alone showed nothing once committed).
- P0-2: has_verdict now matches only the report's last non-blank line, so a
  stray [VERDICT: ...] token quoted mid-report as a formatting example can no
  longer flip the outcome.
- P1-1: replace the English-only refactor/complex/design/architect keyword
  sniff (dead code against Korean-language reviewer reports) with an explicit
  [ESCALATE: PLANNER] tag the reviewer prompt now asks for.
- P1-2: resolve_all_reviewers/resolve_agent_type/resolve_planner_session now
  read through lib.sh's load_state_json single source of truth instead of
  each hand-rolling its own SQLite+YAML lookup; resolve_agent_type's name
  fallback matches exact hyphen segments instead of a substring `in` check.
- P2-1: warn when --all-reviewer and --reviewer are both given, since the
  latter is silently discarded.
- P2-2: correct the SKILL.md CLI-mapping table row that overstated an
  automated lint gate and an unconditional Planner feedback loop.
- P3: fix lib.sh shellcheck SC2164 (unguarded cd in start_watchdog) and
  annotate the intentional SC2317 dual source/exec guard.

Verified: shellcheck clean on both scripts, bash -n syntax OK, and the
rewritten has_verdict/resolve_* functions were unit-tested against this
repo's live .mam/agent-sessions state.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-16 13:50:25 +09:00
Godopu 7fde1d2b8a docs(loop): merge multi_agent_workflow.md into SKILL.md, drop duplicate 2026-07-16 13:36:12 +09:00
Godopu 626f35adfc refactor: harden run_loop.sh verdict parser, add atomic promotion, and revise multi_agent_workflow.md guidelines 2026-07-16 12:57:56 +09:00
Godopu 230e262414 feat(stop): fully purge registry entries on stop --purge-conversation and add zombie pre-gate 2026-07-16 12:06:37 +09:00
Godopu dfdbf69187 fix(loop): correct self-relative REPO_ROOT depth in run_loop.sh 2026-07-16 12:06:37 +09:00
Godopu 9d0fbaec40 fix(deploy): remove deleted creator-claude agent from resume_all.sh 2026-07-16 11:29:57 +09:00
Godopu a671dfbb9d docs(deploy): append git repository recommendation to INSTALL.md 2026-07-16 11:25:50 +09:00
Godopu 91cd08b139 docs(deploy): add multi-agent-mux-loop quick start guide to INSTALL.md 2026-07-16 10:40:16 +09:00
Godopu 0f970b97fa fix(loop): address planner and reviewer architecture defects
- Fix B-1: Correct Mermaid sequence diagram syntax (fi -> end) in SKILL.md and PLAN_LOOP.md
- Fix B-2: Force target agent exclusion from active reviewers in run_loop.sh and correct creator session role in registry
- Fix B-3 & B-4: Integrate WAIT_TIMEOUT deadline inside wait_for_job
- Fix M-3: Update CHANGES_DIFF to use dynamic cumulative git diff
- Fix M-2: Resolve verdict string parsing and substring collisions
2026-07-16 08:28:57 +09:00
Godopu bacf139447 feat(skills): add multi-agent-mux-loop autonomous loop orchestrator
Implement a new autonomous planning-execution-review orchestration loop
supporting:
- Collaborative planning & creator-planner challenge discussions (--plan-talk)
- Self-planning and self-review fallbacks
- Custom reviewer target list and all-reviewer unanimous PASS verdicts
- API-cost runaway safety limits via --max-loop

Integrated inside deploy/install.sh checklist and deploy/gitea-ci.yml.
2026-07-16 08:12:24 +09:00
Godopu ff01984a69 docs(workflow): clarify agent standby behavior after PASS verdict
Update the multi-agent workflow guidelines to explicitly specify that
agent sessions should not be stopped automatically upon receiving a PASS
verdict. Instead, they must remain in a standby (running) state, awaiting
further task instructions from the user, consistent with the project's
lifecycle charter.
2026-07-12 23:18:30 +09:00
Godopu 787fe58298 fix(skills): robustify load_state_json against lone surrogates
Implement a clean_surrogates helper inside lib.sh's load_state_json function
to recursively replace lone surrogates (e.g. from partial TUI screen dumps)
with replacement chars before printing, preventing UnicodeEncodeError on stdout.
2026-07-12 17:19:44 +09:00
Godopu f8675ab377 docs(roadmap): sync FW-D4 path and lint count in FUTURE_WORKS
Correct scripts/generate-env.sh -> deploy/generate-env.sh and update shellcheck unlinted count in both English and Korean versions, as eb733cf already resolved the generate-env.sh lint gap.

Addresses Reviewer Claude's non-blocking nit.
2026-07-12 16:59:58 +09:00
Godopu eb733cf7c1 refactor(deploy): consolidate install scripts and INSTALL.md into deploy/
- Move scripts/install_mam.sh → deploy/install_mam.sh (local-clone installer)
- Move scripts/generate-env.sh → deploy/generate-env.sh (env helper)
- Move .agents/INSTALL.md → deploy/INSTALL.md (user manual)
- Update install_mam.sh to copy INSTALL.md + generate-env.sh from new paths
- Ship INSTALL.md via deploy/install.sh remote path too (manifest-tracked)
- Update README/BOOTSTRAP generate-env.sh references & repository ASCII layout
- Extend deploy/README.md structure section; extend gitea-ci.yml lint list
- Remove now-empty scripts/ directory
- Fix duplicate ### 2. subsection headers in deploy/README.md (address B-2)
- Correct deploy/INSTALL.md dependency description to match actual checks (address M-1)
- Add local-clone lifecycle caveat (no update.sh/remove.sh) (address M-2)

Closes the deploy consolidation plan and addresses Planner / Reviewer feedback.
2026-07-12 16:30:15 +09:00
Godopu 2d2510f391 refactor(lib): add robust TUI readiness tokens for cline
- Include 'What can I do' and 'slash commands' to grep search pattern
- Avoid false-positive timeouts when welcome screen branding logo is skipped
2026-07-12 15:44:01 +09:00
Godopu dc1a2718d1 refactor(lib): extend wait_for_tui_ready timeout to 30 seconds
- Allow slow-starting node standalone CLI processes to boot without false-positive timeouts
- Mitigate disk I/O constraints on isolated DB provisioning
2026-07-12 15:43:04 +09:00
Godopu 742e71b784 refactor(lib): map cline isolation paths directly to root without data subfolder
- Align symlink and copy paths directly under isolation root (no data/ intermediate directory)
- Correctly restore global settings and SQLite databases for standalone CLI execution
2026-07-12 15:42:21 +09:00
Godopu f1e754d73e refactor(lib): physically copy sqlite DBs instead of symlinking for cline
- Prevent sqlite DB locking errors across concurrent isolated sessions
- Use cp -p for files inside data/db/ during provision_isolation
2026-07-12 15:41:59 +09:00
Godopu a57ce0a1b8 refactor(lib): seed db/ subfolder for cline isolation to preserve oauth and provider states
- Symlink all database files inside data/db/ under isolation root
- Prevent cline CLI from bouncing back to the initial Welcome provider selection screen
2026-07-12 15:41:17 +09:00
Godopu ae8ea9b939 refactor(lib): target correct data subfolder for cline isolation seeding
- Place data/settings/ and data/globalState.json inside isolation root
- Align directories with cli --data-dir internal structure to prevent startup authentication crashes
2026-07-12 15:35:25 +09:00
Godopu 559240f3c8 refactor(create): force state isolation by default for new sessions
- Update default ISOLATE value to 1 in create_session.sh
- Add --no-isolate option to allow opting out of directory isolation if desired
- Keep --isolate flag for legacy syntax compatibility
2026-07-12 15:34:00 +09:00
Godopu ed126ba37f docs(install): drop broken PATH export and un-escape $UUID in resume guide
- Fix R-1 bug by dropping PATH='$PATH' to prevent PATH environment variable corruption
- Allow calling shell to expand $UUID inline prior to tmux spawn
2026-07-12 15:19:51 +09:00
Godopu 9182d89dbd docs(install): address R-1, R-2, and R-3 feedback in resume guidelines
- Align step label languages to Korean (R-2)
- Reintroduce -r $UUID and --dangerously-skip-permissions to claude spawn (R-1)
- Add isolation environment path mapping caveats pointing back to authorative SKILL.md (R-3)
2026-07-12 15:17:31 +09:00
Godopu 875740788a docs(install): clarify install pre-requisites and concrete resume command examples
- Add source repo clone pre-requisite statement in INSTALL.md section 2
- Incorporate concrete tmux new-session and update_yaml_resumed commands in INSTALL.md section 3
2026-07-12 14:52:30 +09:00
Godopu 49176b43b6 refactor(lib): hash entire session dictionary to widen YAML write-gate
- Prevent YAML<->SQLite sync drift on completed jobs (R-1 Option A)
- Hash session dict to trigger YAML rewrite on any field updates
2026-07-12 14:37:42 +09:00
Godopu 60f3af4af9 refactor(monitor): keep sessions alive on job completion, kill only on errors
- Modify reconcile.sh mutation logic to clear delegate_job_id instead of calling tmux kill-session on 'completed' events
- Retain process termination behavior on 'error' events for safety
2026-07-12 14:24:02 +09:00
Godopu 288132c7ba refactor(install): port venv bootstrap, config tools and gitignore exclusions to installer
- Port .venv creation and dependency pip install bootstrap sequence from deploy/install.sh into scripts/install_mam.sh
- Include .env.example and scripts/generate-env.sh copies under rsync target deployment
- Add .venv/ to target gitignore list to prevent virtualenv bloating
- Add empty-UUID resume safety guard in INSTALL.md
2026-07-12 14:15:04 +09:00
Godopu 382c314d5e refactor(rules): resolve loop report paths colon-safety and terminology gaps
- Sanitize clean_session in loop path report-final.md Output Report Path to prevent colon characters in folders
- Reconcile automated reports path token in MULTI_AGENT_RULES.md and .ko.md from <agent-session> to <agent_name> or <clean_session_name>
2026-07-12 13:57:04 +09:00