Commit Graph
66 Commits
Author SHA1 Message Date
Godopu 657a749f43 fix(lib): finalize herdr 0.7.4 contract refactor and layout policy 2026-08-13 20:50:03 +09:00
Godopu 2bd59fce9b fix(lib): prevent set -u unbound variable error for final_cmd in kind detection and harden test fixtures 2026-08-13 09:36:07 +09:00
Godopu db6b064b62 fix(lib): restore env_flags and final_cmd initialization before kind detection in herdr new-session shim 2026-08-13 09:09:55 +09:00
Godopu b0c2c08519 fix(lib): strip duplicate binary path in final_cmd to fix Go flag parsing and add dual herdr agent start syntax fallback 2026-08-13 09:04:42 +09:00
Godopu 20e2e9bd2d fix(lib): resolve workspace CWD mismatch in herdr new-session shim and enforce target workspace slug priority 2026-08-13 08:37:51 +09:00
Godopu 6be1b6aecb feat(skill): implement multi-agent-mux-orc-onboard skill and orchestrator_uuids exclusion gate (40/40 PASS) 2026-08-12 12:49:33 +09:00
Godopu 245abe62c8 feat(create/monitor): implement automatic UUID materialization, auto-pinning, and drift-C2 resolution (13/13 PASS) 2026-08-09 10:24:32 +09:00
Godopu fbf275a8bc fix(b4): restore dynamic POSIX timestamp in herdr ls shim and reconcile.sh (100% PASS) 2026-08-08 23:36:50 +09:00
Godopu 68f43349be fix(e2e): finalize sqlite concurrency locking, mock_herdr atomic state, and e2e test suite (100% PASS) 2026-08-07 22:39:23 +09:00
Godopu 2fc0f588f6 fix(lib): export HOME_DIR, CLAUDE_PROJECT_DIR, and LOCAL_BIN in lib.sh for proper child environment inheritance 2026-08-07 12:43:06 +09:00
Godopu 55fc7396e2 fix(lib): use symlink-safe realpath comparison for workspace cwd matching in find_workspace_uuid 2026-08-07 12:19:45 +09:00
Godopu 3530e8b65a fix(a3): resolve shift buffer race condition with call-unique tokens, atomic write, and automatic GC (100% PASS) 2026-08-06 23:52:57 +09:00
Godopu 0f6dd8ba8b fix(b3): eliminate command -v herdr bash function false positive in preflight checks (100% PASS) 2026-08-06 21:59:58 +09:00
Godopu 924e77e8b8 feat(b1): fix find_workspace_uuid tier-3 identity lookup and add test_b1_tier3_identity.py (100% PASS) 2026-08-05 23:55:21 +09:00
Godopu 0fe3b9932c fix(refactor): remove tracked tmp file, add *.tmp to gitignore, fix herdr_session lookup in reconcile.sh MQTT handler 2026-08-05 10:13:46 +09:00
Godopu ddd43ecbea fix(refactor): address reviewer findings R-1..R-8, achieve 31/31 test pass 2026-08-05 10:08:59 +09:00
Godopu 51dcf56c80 feat(scope): implement workspace-scoped session isolation (A-1) and native Herdr session naming (A-5) 2026-08-05 09:31:57 +09:00
Godopu ea36e81624 fix(skills): resolve session resolution, add cancelled event status, and scope mqtt topic 2026-08-05 09:11:35 +09:00
Godopu 520168ca55 refactor: use delegated python binary in script execution and update resolution logic to prioritize virtual environments 2026-07-25 00:11:32 +09:00
Godopu f0a2103edf refactor(isolation): simplify agent session isolation and remove legacy home-isolation helpers 2026-07-23 22:05:29 +09:00
Godopu 15ffc8f6bb feat(mux): implement onboarding prompt initialization, 4-tier UUID validation, and TUI 1:1 cross-matching 2026-07-23 09:41:16 +09:00
Godopu c65b194d88 fix(lib): resolve root causes of login prompt in claude and TOS/theme onboarding in agy 2026-07-22 23:44:49 +09:00
Godopu 6692c275ea fix(lib): seed antigravity config, library preferences, app support, and linux XDG paths for agy session isolation to bypass TOS/onboarding prompt 2026-07-22 07:47:31 +09:00
Godopu 36a087af58 refactor: update multi-agent rules to TMUX & refactor MAM skills scripts
- Update .agents/MULTI_AGENT_RULES.md & .ko.md to align with TMUX concepts
- Add .agents/INSTALL.md guide for MAM setup and workflows
- Clean up legacy markdown reports under .agents/reports/
- Refactor MAM scripts in .agents/skills/ (rename resolve_herdr_session to resolve_herdr_workspace)
- Improve workspace pane splitting/re-use logic in lib.sh
- Reduce paste safety sleep in send_keys_safe and support linking ~/.claude.json
2026-07-22 06:57:32 +09:00
Antigravity e4b1fb3329 fix(skills): support tmux -S flag in capture-pane shim of lib.sh 2026-07-20 23:44:02 +09:00
Antigravity 974941bdb4 fix(deploy): migrate deployment scripts and docs from tmux to herdr 2026-07-20 12:17:12 +09:00
Antigravity 87bb2780ac refactor: rename resolve_herdr_workspace to resolve_herdr_session and use herdr_session database field consistently 2026-07-20 11:13:17 +09:00
Antigravity daa1476714 fix: add empty marker_norm guard in send_keys_safe to avoid always-true grep matches 2026-07-20 10:41:47 +09:00
Antigravity 087a294135 fix: use setsid for herdr server bootstrap to prevent early termination when parent shell exits 2026-07-20 10:36:49 +09:00
Antigravity 90afd45aba fix: remove dead proxy variables from isolation environment prefix 2026-07-20 09:47:45 +09:00
Antigravity 336aa5fd9d fix: resolve review blockers (D1, D2, D3) and reconcile.sh subprocess bugs 2026-07-20 09:32:58 +09:00
Antigravity d7fa9af410 refactor: complete tmux-to-herdr migration review and enhance workspace reuse logic 2026-07-20 09:21:25 +09:00
Godopu 6df4b03661 Align conftest mock herdr and unit test assertions with Claude's simplified session-based isolation and native herdr command updates 2026-07-20 07:42:05 +09:00
Godopu ff7a2873f9 Implement full E2E, integration, component, and unit tests, and resolve all leftover tmux-to-herdr issues in UI and core scripts 2026-07-19 20:05:48 +09:00
Godopu 30e606b0fa Clean up all tmux occurrences from dev skills and integrate herdr wrapper translation shim with dynamic env and workspace ID parsing 2026-07-19 16:57:00 +09:00
Godopu 42b54d7643 Migrate backend to herdr using a seamless translation shim wrapper 2026-07-19 16:22:58 +09:00
Godopu 36b3910ff2 fix(mac-compat): bypass keyring auth check hang and link macOS Library/Keychains to isolated home 2026-07-18 23:23:40 +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
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 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 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 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 35af8e33a2 feat(skills): implement state loader DRY (OP-5) and Job-centric directory structure
- Extract load_state_json centralized helper inside lib.sh to unify state querying
- Refactor status, resume, stop, and monitor scripts to fetch state via MAM_STATE_JSON env var to avoid stdin pipeline collisions
- Restructure delegate-job to provision .mam/jobs/<job_id>/brief.md and direct agents to it, minimizing token size and preventing TUI paste freezes
- Harden send_keys_safe submission loop with was_popup state capture and edge case guards, preventing timing spin false-positives
- Passed cross-verification approved PASS from Planner Claude session
2026-07-12 11:50:38 +09:00