chore(system): session 34 — maintenance + multi-branch work (#70)
* fix(ai_mail): resolve relative mailbox_path bug + archive dead handlers Fix get_user_by_email() and get_all_users() returning relative mailbox_path values from registry instead of absolute paths (causing doubled paths in reply). Added path resolution matching get_current_user() pattern. Archive 7 unused handler files to apps/.archive/ (gitignored): - pending_work.py — planned feature, never wired - lock_utils.py — superseded by inbox_lock.py - data_ops.py — consumer (error_monitor) was archived - config_generator.py, users/load.py, registry/validate.py — scaffolded, never used - trigger/error_handler.py — superseded by trigger branch's event system Added test_user_paths.py (13 tests) covering absolute path resolution. Co-Authored-By: @ai_mail <ai_mail@aipass> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat(spawn): seedgo compliance cleanup — 93% to 98% Archive legacy files (dev.local.md, ai_mail.local/, .seed/). Update META Modified dates on 22 files. Update README architecture tree and freshness. Fix 15 Pyright unused warnings. Add introspection no-args gates to 6 modules. Wire json_handler + log_operation to 15 operational files. Add seedgo bypass for 5 pure data files and log_structure. Remove deprecated dev.local.md from builder template. Co-Authored-By: @spawn <spawn@aipass> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * chore(system): session 34 — maintenance day, multi-branch work System changes: - setup.sh: symlink install replaces .bashrc PATH export for drone/seedgo - .claude/settings.json: deny list moved to per-branch settings.local.json - .gitignore: updated - CLAUDE.md culture doc: stale refs fixed (Cortex→spawn, id.json→passport.json) Branch work (accumulated from 15-branch rounds): - daemon: stale term cleanup, plugin removals, json handler modernization - drone: module refactor (discovery, registry, router, resolver, config) - commons: 50+ file cleanup (imports, handlers, modules) - flow: template loader, plan type system, command parser Per-branch settings.local.json: reworked deny lists — allow PR workflow, deny destructive git ops (reset, rebase, merge, clean, force push, rm -rf). Fixed pattern syntax from :* to * glob. Co-Authored-By: @devpulse <devpulse@aipass> --------- Co-authored-by: @ai_mail <ai_mail@aipass> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: @spawn <spawn@aipass> Co-authored-by: @devpulse <devpulse@aipass>
This commit is contained in:
co-authored by
@devpulse
@ai_mail
Claude Opus 4.6
@spawn
parent
18cc8eb74f
commit
18acb30f83
@@ -342,14 +342,31 @@ else
|
||||
echo "Skipping hooks (no .claude/hooks/ directory found)"
|
||||
fi
|
||||
|
||||
# --- Create global symlinks for CLI tools ---
|
||||
echo ""
|
||||
echo "Creating global symlinks ..."
|
||||
|
||||
VENV_BIN="$SCRIPT_DIR/.venv/bin"
|
||||
LOCAL_BIN="/usr/local/bin"
|
||||
|
||||
for cmd in drone seedgo; do
|
||||
if [ -f "$VENV_BIN/$cmd" ]; then
|
||||
if sudo ln -sf "$VENV_BIN/$cmd" "$LOCAL_BIN/$cmd" 2>/dev/null; then
|
||||
echo " $LOCAL_BIN/$cmd -> $VENV_BIN/$cmd"
|
||||
else
|
||||
echo " WARN: Could not create symlink for $cmd (try running with sudo)"
|
||||
echo " Manual fix: sudo ln -sf $VENV_BIN/$cmd $LOCAL_BIN/$cmd"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# --- Result ---
|
||||
echo ""
|
||||
if [ "$FAIL" -eq 0 ]; then
|
||||
echo "=== Setup complete ==="
|
||||
echo ""
|
||||
echo "To activate the environment, run:"
|
||||
echo ""
|
||||
echo " source .venv/bin/activate"
|
||||
echo "drone and seedgo are available globally via /usr/local/bin symlinks."
|
||||
echo "No venv activation needed."
|
||||
echo ""
|
||||
else
|
||||
echo "=== Setup finished with errors ==="
|
||||
|
||||
Reference in New Issue
Block a user