Integrate main_for_Merge: docs alignment, coding disciplines, Antigravity hardening, setup fixes#169
Open
kazumori102 wants to merge 9 commits into
Open
Integrate main_for_Merge: docs alignment, coding disciplines, Antigravity hardening, setup fixes#169kazumori102 wants to merge 9 commits into
kazumori102 wants to merge 9 commits into
Conversation
The Stop hook command was hardcoded to /home/tono/multi-agent-shogun/scripts/stop_hook_inbox.sh. `tono` is a home directory from a different machine; on this checkout (/mnt/c/tools/multi-agent-shogun) that path does not exist, so every agent printed "Stop hook error: ... No such file or directory" on each turn end and the stop-time inbox delivery never fired. Switch to the environment-independent form `bash scripts/stop_hook_inbox.sh`, matching the already-working SessionStart hook. Hooks run with the project root as cwd, so the relative path resolves on any checkout. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
queue/inbox is a symlink to ~/.local/share/multi-agent-shogun/inbox on Linux/WSL2 (the mailbox is kept off the slow /mnt/c drvfs mount). The target directory was created only inside the `if [ ! -L ./queue/inbox ]` branch of shutsujin_departure.sh — i.e. only when the symlink itself did not yet exist. On a re-run where the symlink was already present but its target dir had been removed (cleared cache / fresh ~/.local/share), the mkdir never ran, leaving a dangling symlink. inbox reads and inbox_write.sh's own `mkdir -p` then failed, and agents silently lost their entire comms layer at startup. - shutsujin_departure.sh: run `mkdir -p "$INBOX_LINUX_DIR"` unconditionally (idempotent) before the symlink check, so the target always exists regardless of the symlink's state. - scripts/inbox_write.sh: add dangling-symlink recovery — if queue/inbox is a symlink whose target is missing, recreate it via `mkdir -p "$(readlink ...)"` before writing. The mailbox is now self-healing instead of breaking on the next launch. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
On `shutsujin`, one codex agent (ashigaru2) came up with "MCP startup
interrupted. The following servers were not initialized: codex_apps".
The three other codex agents launched at the same instant were fine,
which points to a transient MCP init timeout when several codex CLIs
boot simultaneously. The failure was silent: the agent kept running
without its codex_apps tools and nothing surfaced it.
- scripts/mcp_health_check.sh (new): scan every codex pane in the
multiagent session for MCP init error patterns ("MCP startup
interrupted", "servers were not initialized", "MCP server ... failed",
"connection ... timed out"); exit non-zero and name the affected
agents when any match.
- shutsujin_departure.sh: add STEP 6.9 — after all agents launch, wait
10s for boot to settle, run the health check, append to
logs/mcp_health.log, and on failure print the remediation hint
(`bash scripts/switch_cli.sh <agent>` to restart the affected agent).
- .gitignore: whitelist scripts/mcp_health_check.sh.
Detection only — it does not yet prevent the timeout. A single-agent
restart reliably brings codex_apps back up cleanly.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Re-running setup occasionally failed at the "実行権限設定" step: when the entry scripts were already owned by root from an earlier run, a plain `chmod +x` by the invoking user was rejected (permission denied). Collect the existing target scripts into a list and apply `sudo chmod +x` once over the whole batch, then log each one. This clears the intermittent permission shortage on setup re-runs. Co-Authored-By: Codex <codex@openai.com>
dev's startup-hardening commits (relative stop hook, self-healing inbox symlink, codex MCP init detection, setup exec-bit fix) were absorbed into mainline via yohey-w#161 and the re-implementation of yohey-w#162 (1368e1c, sudo dropped). Recording dev as merged with -s ours: history reflects the integration while the tree keeps the creator's curated design unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…y-w#154) dev2's only extra commit (14a5d05) was an independent Antigravity integration, superseded by the creator's yohey-w#154 (agy as 7th CLI, gemini/agy normalization, /clear reset, bundled tests). Recording dev2 as merged with -s ours: no tree change, creator's design remains authoritative. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ashboard fix
Coding disciplines (instructions/common/forbidden_actions.md + downstream):
- C001: forbid hardcoding absolute paths when modifying existing structure; follow the
surrounding convention ($SCRIPT_DIR / relative paths / existing variables).
- C002: instruction sources (instructions/**, CLAUDE.md) are authored in English;
exempt proper nouns, identifiers, command names, file paths, and runtime persona.
- Enforcement: add the absolute-path rule to Karo's task quality_rules template and a
new absolute-path check to Gunshi's QC.
- Regenerate all instruction outputs (instructions/generated/*, .opencode/agents/*).
Antigravity integration:
- Fix agy launch crash: quote the --model argument in build_cli_command so model names
containing spaces/parentheses (e.g. "Gemini 3.5 Flash (Medium)") no longer break the shell.
- Rewrite instructions/cli_specific/antigravity_tools.md in English (Launch Contract /
Auth And Secrets); never store credentials in the repo.
- README.md / README_ja.md: Antigravity install/auth notes; auth is handled by the host
agy CLI (do not assert ANTIGRAVITY_API_KEY).
- Retain `gemini` as a legacy alias for `antigravity`.
Dashboard:
- Restore the correct dashboard data format.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- config/projects.yaml: clarify it is instruction-driven, not script-parsed
- Two-layer structure: soften to "recommended convention" from "architecture"
- context/{name}.md: replace "automatically references" with accurate description of instruction-driven loading mechanism
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Author
Project Management Structure: Proposal for Upstream ReviewContext / Background
Already-Resolved Items
DIV-002:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Brings
main_for_Merge(9 commits, fast-forward overmain) up tomain.No history divergence — clean fast-forward.
Docs
the actual implementation.
Infra / behavior
instructions/generated/*,lib/cli_adapter.sh).Setup robustness
first_setup.shSTEP 9..claude/settings.json.Notes
queue/and local-only proposal drafts are git-ignored and not included.🤖 Generated with Claude Code