Add infrastructure for running Claude and Codex agents in parallel
without conflicts, using isolated git worktrees and shared Docker
dependencies.
Changes:
- Add agent-worktrees and agent-sync Makefile targets
- Pin Docker Compose project names to enable worktree isolation
- Add setup-agent-worktrees.sh script for creating parallel worktrees
- Add sync-agent-integration.sh script for merging agent branches
- Document parallel workflow in 13-agent-parallel-workflow.md
- Update dev-workflow.md with worktree usage guide
Benefits:
- Prevents agents from overwriting each other's work
- Shares dependency containers across worktrees (Postgres/Redis/MinIO)
- Reserves localhost:3000 for integration verification only
- Provides clear merge and recovery procedures
After merge, HEAD's ReviewPermissionChecker prohibits all self-review
(including SKILL_ADMIN/SUPER_ADMIN). Updated tests to reflect this
stricter security model from A2.
- Add sticky header with LanguageSwitcher and UserMenu to landing page
- Update token dialog and i18n translations
- Fix dev process script and compose release config
- Remove stale skillhub submodule reference
The @Modifying query requires a transaction context to execute.
Adding @Transactional at the repository method level ensures the
update query runs within a transaction, even when called from
async event listeners.
This fixes the issue where download counts were not being incremented
after skill downloads due to TransactionRequiredException.
- Remove download endpoints from permitAll list in SecurityConfig
- Add authentication checks to download tests
- Add login redirect for unauthenticated download attempts in frontend
This prevents unauthorized access to skill package downloads while
maintaining public access to skill metadata and file listings.
- Change workflow trigger from push events to release published events
- Remove automatic builds on main branch merges
- Keep manual workflow_dispatch option for flexibility
- Use window.location.href for full page refresh
- Move redirect to finally block to ensure it always executes
- Fix V7 migration to be a no-op since column is already jsonb
- Group Logo and main nav links on the left
- Add explore link pointing to /search
- Use hidden md:flex for mobile responsiveness
- Maintain consistent spacing (gap-8 for Logo-nav, gap-6 for nav links)
- Add server/Dockerfile.dev for fast local builds (JRE-only, ~70MB)
- Modify staging target to build JAR locally before Docker image
- Update .dockerignore to allow target/ directory for Dockerfile.dev
- Build time reduced from 17+ minutes to ~4 seconds
- Reuses local Maven cache (~/.m2/repository) instead of downloading in Docker
- Add proper error handling for skill detail API errors
- Show friendly login prompt when anonymous users access private skills
- Show access denied message when authenticated users lack permission
- Add i18n translations for new error messages (en/zh)
This allows anonymous users to view PUBLIC skills while providing
clear guidance when they encounter private or restricted content.