diff --git a/.github/agents/Backend_Dev.agent.md b/.github/agents/Backend_Dev.agent.md index 50459c12..9c9b3283 100644 --- a/.github/agents/Backend_Dev.agent.md +++ b/.github/agents/Backend_Dev.agent.md @@ -3,7 +3,7 @@ name: 'Backend Dev' description: 'Senior Go Engineer focused on high-performance, secure backend implementation.' argument-hint: 'The specific backend task from the Plan (e.g., "Implement ProxyHost CRUD endpoints")' tools: - ['execute', 'read', 'agent', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'search', 'todo'] + ['agent', 'execute', 'read', 'search', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'todo', 'vscode/runCommand'] model: 'Cloaude Sonnet 4.5' --- You are a SENIOR GO BACKEND ENGINEER specializing in Gin, GORM, and System Architecture. @@ -65,5 +65,3 @@ Your priority is writing code that is clean, tested, and secure by default. - **NO CONVERSATION**: If the task is done, output "DONE". If you need info, ask the specific question. - **USE DIFFS**: When updating large files (>100 lines), use `sed` or `replace_string_in_file` tools if available. If re-writing the file, output ONLY the modified functions/blocks. - -``` diff --git a/.github/agents/DevOps.agent.md b/.github/agents/DevOps.agent.md index 67fc1275..7609df59 100644 --- a/.github/agents/DevOps.agent.md +++ b/.github/agents/DevOps.agent.md @@ -3,7 +3,7 @@ name: 'DevOps' description: 'DevOps specialist for CI/CD pipelines, deployment debugging, and GitOps workflows focused on making deployments boring and reliable' argument-hint: 'The CI/CD or infrastructure task (e.g., "Debug failing GitHub Action workflow")' tools: - ['execute', 'read', 'agent', 'github/*', 'github/*', 'io.github.goreleaser/mcp/*', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'search', 'web', 'github/*', 'todo', 'ms-azuretools.vscode-containers/containerToolsConfig'] + ['agent', 'execute', 'read', 'search', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'todo', 'vscode/runCommand', 'vscode/extensions', 'vscode/installExtension', 'vscode/getProjectSetupInfo', 'web', 'github/*', 'io.github.goreleaser/mcp/*', 'ms-azuretools.vscode-containers/containerToolsConfig', 'github.vscode-pull-request-github/*'] model: 'Cloaude Sonnet 4.5' mcp-servers: - github @@ -248,5 +248,3 @@ git revert HEAD && git push ``` Remember: The best deployment is one nobody notices. Automation, monitoring, and quick recovery are key. - -```` diff --git a/.github/agents/Doc_Writer.agent.md b/.github/agents/Doc_Writer.agent.md index 485bb00e..f7ed429e 100644 --- a/.github/agents/Doc_Writer.agent.md +++ b/.github/agents/Doc_Writer.agent.md @@ -3,7 +3,7 @@ name: 'Docs Writer' description: 'User Advocate and Writer focused on creating simple, layman-friendly documentation.' argument-hint: 'The feature to document (e.g., "Write the guide for the new Real-Time Logs")' tools: - ['read/getNotebookSummary', 'read/problems', 'read/readFile', 'read/readNotebookCellOutput', 'read/terminalSelection', 'read/terminalLastCommand', 'read/getTaskOutput', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'search/changes', 'search/codebase', 'search/fileSearch', 'search/listDirectory', 'search/searchResults', 'search/textSearch', 'search/usages', 'search/searchSubagent', 'web/fetch', 'github/add_comment_to_pending_review', 'github/add_issue_comment', 'github/assign_copilot_to_issue', 'github/create_branch', 'github/create_or_update_file', 'github/create_pull_request', 'github/create_repository', 'github/delete_file', 'github/fork_repository', 'github/get_commit', 'github/get_file_contents', 'github/get_label', 'github/get_latest_release', 'github/get_me', 'github/get_release_by_tag', 'github/get_tag', 'github/get_team_members', 'github/get_teams', 'github/issue_read', 'github/issue_write', 'github/list_branches', 'github/list_commits', 'github/list_issue_types', 'github/list_issues', 'github/list_pull_requests', 'github/list_releases', 'github/list_tags', 'github/merge_pull_request', 'github/pull_request_read', 'github/pull_request_review_write', 'github/push_files', 'github/request_copilot_review', 'github/search_code', 'github/search_issues', 'github/search_pull_requests', 'github/search_repositories', 'github/search_users', 'github/sub_issue_write', 'github/update_pull_request', 'github/update_pull_request_branch', 'github/add_comment_to_pending_review', 'github/add_issue_comment', 'github/assign_copilot_to_issue', 'github/create_branch', 'github/create_or_update_file', 'github/create_pull_request', 'github/create_repository', 'github/delete_file', 'github/fork_repository', 'github/get_commit', 'github/get_file_contents', 'github/get_label', 'github/get_latest_release', 'github/get_me', 'github/get_release_by_tag', 'github/get_tag', 'github/get_team_members', 'github/get_teams', 'github/issue_read', 'github/issue_write', 'github/list_branches', 'github/list_commits', 'github/list_issue_types', 'github/list_issues', 'github/list_pull_requests', 'github/list_releases', 'github/list_tags', 'github/merge_pull_request', 'github/pull_request_read', 'github/pull_request_review_write', 'github/push_files', 'github/request_copilot_review', 'github/search_code', 'github/search_issues', 'github/search_pull_requests', 'github/search_repositories', 'github/search_users', 'github/sub_issue_write', 'github/update_pull_request', 'github/update_pull_request_branch', 'github/add_comment_to_pending_review', 'github/add_issue_comment', 'github/assign_copilot_to_issue', 'github/create_branch', 'github/create_or_update_file', 'github/create_pull_request', 'github/create_repository', 'github/delete_file', 'github/fork_repository', 'github/get_commit', 'github/get_file_contents', 'github/get_label', 'github/get_latest_release', 'github/get_me', 'github/get_release_by_tag', 'github/get_tag', 'github/get_team_members', 'github/get_teams', 'github/issue_read', 'github/issue_write', 'github/list_branches', 'github/list_commits', 'github/list_issue_types', 'github/list_issues', 'github/list_pull_requests', 'github/list_releases', 'github/list_tags', 'github/merge_pull_request', 'github/pull_request_read', 'github/pull_request_review_write', 'github/push_files', 'github/request_copilot_review', 'github/search_code', 'github/search_issues', 'github/search_pull_requests', 'github/search_repositories', 'github/search_users', 'github/sub_issue_write', 'github/update_pull_request', 'github/update_pull_request_branch', 'vscode.mermaid-chat-features/renderMermaidDiagram', 'todo'] + ['agent', 'read', 'search', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'todo', 'web', 'vscode/openSimpleBrowser', 'github/*', 'vscode.mermaid-chat-features/renderMermaidDiagram', 'github.vscode-pull-request-github/*'] model: 'Cloaude Sonnet 4.5' mcp-servers: - github diff --git a/.github/agents/Frontend_Dev.agent.md b/.github/agents/Frontend_Dev.agent.md index 8a212ae5..b3f88444 100644 --- a/.github/agents/Frontend_Dev.agent.md +++ b/.github/agents/Frontend_Dev.agent.md @@ -3,7 +3,7 @@ name: 'Frontend Dev' description: 'Senior React/TypeScript Engineer for frontend implementation.' argument-hint: 'The frontend feature or component to implement (e.g., "Implement the Real-Time Logs dashboard component")' tools: - ['vscode', 'execute', 'read', 'agent', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'search', 'todo'] + ['agent', 'execute', 'read', 'search', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'todo', 'web', 'vscode/runCommand'] model: 'Cloaude Sonnet 4.5' --- You are a SENIOR REACT/TYPESCRIPT ENGINEER with deep expertise in: diff --git a/.github/agents/Management.agent.md b/.github/agents/Management.agent.md index b09e316b..7037611c 100644 --- a/.github/agents/Management.agent.md +++ b/.github/agents/Management.agent.md @@ -3,7 +3,7 @@ name: 'Management' description: 'Engineering Director. Delegates ALL research and execution. DO NOT ask it to debug code directly.' argument-hint: 'The high-level goal (e.g., "Build the new Proxy Host Dashboard widget")' tools: - ['vscode', 'execute', 'read', 'agent', 'edit', 'search', 'web', 'github/*', 'github/*', 'github/*', 'io.github.goreleaser/mcp/*', 'playwright/*', 'trivy-mcp/*', 'playwright/*', 'vscode.mermaid-chat-features/renderMermaidDiagram', 'github.vscode-pull-request-github/issue_fetch', 'github.vscode-pull-request-github/suggest-fix', 'github.vscode-pull-request-github/searchSyntax', 'github.vscode-pull-request-github/doSearch', 'github.vscode-pull-request-github/renderIssues', 'github.vscode-pull-request-github/activePullRequest', 'github.vscode-pull-request-github/openPullRequest', 'ms-azuretools.vscode-containers/containerToolsConfig', 'todo'] + ['agent', 'edit', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'execute', 'read', 'search', 'todo', 'vscode', 'vscode/askQuestions', 'vscode/extensions', 'vscode/getProjectSetupInfo', 'vscode/installExtension', 'vscode/openSimpleBrowser', 'vscode/runCommand', 'vscode/switchAgent', 'vscode/vscodeAPI', 'web', 'github/*', 'playwright/*', 'trivy-mcp/*', 'io.github.goreleaser/mcp/*', 'vscode.mermaid-chat-features/renderMermaidDiagram', 'ms-azuretools.vscode-containers/containerToolsConfig', 'github.vscode-pull-request-github/*'] model: 'Cloaude Sonnet 4.5' --- You are the ENGINEERING DIRECTOR. @@ -179,5 +179,3 @@ The task is not complete until ALL of the following pass with zero issues: - **MANDATORY DELEGATION**: Your first thought should always be "Which agent handles this?", not "How do I solve this?" - **WAIT FOR APPROVAL**: Do not trigger Phase 3 without explicit user confirmation. - -```` diff --git a/.github/agents/Planning.agent.md b/.github/agents/Planning.agent.md index 1edf65ab..b70d7394 100644 --- a/.github/agents/Planning.agent.md +++ b/.github/agents/Planning.agent.md @@ -3,7 +3,7 @@ name: 'Planning' description: 'Principal Architect for technical planning and design decisions.' argument-hint: 'The feature or system to plan (e.g., "Design the architecture for Real-Time Logs")' tools: - ['execute/runNotebookCell', 'execute/testFailure', 'execute/getTerminalOutput', 'execute/awaitTerminal', 'execute/killTerminal', 'execute/runTask', 'execute/createAndRunTask', 'execute/runTests', 'execute/runInTerminal', 'read/getNotebookSummary', 'read/problems', 'read/readFile', 'read/readNotebookCellOutput', 'read/terminalSelection', 'read/terminalLastCommand', 'read/getTaskOutput', 'agent/runSubagent', 'edit/createDirectory', 'edit/createFile', 'edit/createJupyterNotebook', 'edit/editFiles', 'edit/editNotebook', 'search/changes', 'search/codebase', 'search/fileSearch', 'search/listDirectory', 'search/searchResults', 'search/textSearch', 'search/usages', 'search/searchSubagent', 'web/fetch', 'github/add_comment_to_pending_review', 'github/add_issue_comment', 'github/assign_copilot_to_issue', 'github/create_branch', 'github/create_or_update_file', 'github/create_pull_request', 'github/create_repository', 'github/delete_file', 'github/fork_repository', 'github/get_commit', 'github/get_file_contents', 'github/get_label', 'github/get_latest_release', 'github/get_me', 'github/get_release_by_tag', 'github/get_tag', 'github/get_team_members', 'github/get_teams', 'github/issue_read', 'github/issue_write', 'github/list_branches', 'github/list_commits', 'github/list_issue_types', 'github/list_issues', 'github/list_pull_requests', 'github/list_releases', 'github/list_tags', 'github/merge_pull_request', 'github/pull_request_read', 'github/pull_request_review_write', 'github/push_files', 'github/request_copilot_review', 'github/search_code', 'github/search_issues', 'github/search_pull_requests', 'github/search_repositories', 'github/search_users', 'github/sub_issue_write', 'github/update_pull_request', 'github/update_pull_request_branch', 'github/add_comment_to_pending_review', 'github/add_issue_comment', 'github/assign_copilot_to_issue', 'github/create_branch', 'github/create_or_update_file', 'github/create_pull_request', 'github/create_repository', 'github/delete_file', 'github/fork_repository', 'github/get_commit', 'github/get_file_contents', 'github/get_label', 'github/get_latest_release', 'github/get_me', 'github/get_release_by_tag', 'github/get_tag', 'github/get_team_members', 'github/get_teams', 'github/issue_read', 'github/issue_write', 'github/list_branches', 'github/list_commits', 'github/list_issue_types', 'github/list_issues', 'github/list_pull_requests', 'github/list_releases', 'github/list_tags', 'github/merge_pull_request', 'github/pull_request_read', 'github/pull_request_review_write', 'github/push_files', 'github/request_copilot_review', 'github/search_code', 'github/search_issues', 'github/search_pull_requests', 'github/search_repositories', 'github/search_users', 'github/sub_issue_write', 'github/update_pull_request', 'github/update_pull_request_branch', 'github/add_comment_to_pending_review', 'github/add_issue_comment', 'github/assign_copilot_to_issue', 'github/create_branch', 'github/create_or_update_file', 'github/create_pull_request', 'github/create_repository', 'github/delete_file', 'github/fork_repository', 'github/get_commit', 'github/get_file_contents', 'github/get_label', 'github/get_latest_release', 'github/get_me', 'github/get_release_by_tag', 'github/get_tag', 'github/get_team_members', 'github/get_teams', 'github/issue_read', 'github/issue_write', 'github/list_branches', 'github/list_commits', 'github/list_issue_types', 'github/list_issues', 'github/list_pull_requests', 'github/list_releases', 'github/list_tags', 'github/merge_pull_request', 'github/pull_request_read', 'github/pull_request_review_write', 'github/push_files', 'github/request_copilot_review', 'github/search_code', 'github/search_issues', 'github/search_pull_requests', 'github/search_repositories', 'github/search_users', 'github/sub_issue_write', 'github/update_pull_request', 'github/update_pull_request_branch', 'vscode.mermaid-chat-features/renderMermaidDiagram', 'todo'] + ['agent', 'execute', 'read', 'search', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'todo', 'web', 'vscode/openSimpleBrowser', 'vscode/runCommand', 'vscode/askQuestions', 'github/*', 'vscode.mermaid-chat-features/renderMermaidDiagram', 'github.vscode-pull-request-github/*'] model: 'Cloaude Sonnet 4.5' mcp-servers: - github diff --git a/.github/agents/Playwright_Dev.agent.md b/.github/agents/Playwright_Dev.agent.md index 64f16c9a..8ddabb9c 100644 --- a/.github/agents/Playwright_Dev.agent.md +++ b/.github/agents/Playwright_Dev.agent.md @@ -3,7 +3,7 @@ name: 'Playwright Dev' description: 'E2E Testing Specialist for Playwright test automation.' argument-hint: 'The feature or flow to test (e.g., "Write E2E tests for the login flow")' tools: - ['vscode', 'execute', 'read', 'agent', 'playwright/*', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'search', 'web', 'playwright/*', 'todo'] + ['agent', 'execute', 'read', 'search', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'todo', 'web', 'playwright/*', 'vscode/runCommand'] model: 'Cloaude Sonnet 4.5' --- You are a PLAYWRIGHT E2E TESTING SPECIALIST with expertise in: diff --git a/.github/agents/QA_Security.agent.md b/.github/agents/QA_Security.agent.md index fce14b7d..356b184b 100644 --- a/.github/agents/QA_Security.agent.md +++ b/.github/agents/QA_Security.agent.md @@ -3,7 +3,7 @@ name: 'QA Security' description: 'Quality Assurance and Security Engineer for testing and vulnerability assessment.' argument-hint: 'The component or feature to test (e.g., "Run security scan on authentication endpoints")' tools: - ['vscode/extensions', 'vscode/getProjectSetupInfo', 'vscode/installExtension', 'vscode/openSimpleBrowser', 'vscode/runCommand', 'vscode/askQuestions', 'vscode/switchAgent', 'vscode/vscodeAPI', 'execute', 'read', 'agent', 'playwright/*', 'trivy-mcp/*', 'edit', 'search', 'web', 'playwright/*', 'todo'] + ['agent', 'execute', 'read', 'search', 'edit/createDirectory', 'edit/createFile', 'edit/editFiles', 'edit/editNotebook', 'todo', 'web', 'playwright/*', 'trivy-mcp/*', 'vscode/extensions', 'vscode/getProjectSetupInfo', 'vscode/installExtension', 'vscode/openSimpleBrowser', 'vscode/runCommand', 'vscode/askQuestions', 'vscode/switchAgent', 'vscode/vscodeAPI'] model: 'Cloaude Sonnet 4.5' mcp-servers: - trivy-mcp diff --git a/.github/agents/Supervisor.agent.md b/.github/agents/Supervisor.agent.md index 0c7b2e15..50acab26 100644 --- a/.github/agents/Supervisor.agent.md +++ b/.github/agents/Supervisor.agent.md @@ -3,7 +3,7 @@ name: 'Supervisor' description: 'Code Review Lead for quality assurance and PR review.' argument-hint: 'The PR or code change to review (e.g., "Review PR #123 for security issues")' tools: - ['vscode/memory', 'execute', 'read', 'search', 'web', 'github/*', 'todo'] + ['agent', 'execute', 'read', 'search', 'todo', 'web', 'github/*', 'github.vscode-pull-request-github/*'] model: 'Cloaude Sonnet 4.5' mcp-servers: - github diff --git a/.github/workflows/e2e-tests-split.yml b/.github/workflows/e2e-tests-split.yml index a655fe80..ac291e26 100644 --- a/.github/workflows/e2e-tests-split.yml +++ b/.github/workflows/e2e-tests-split.yml @@ -10,7 +10,7 @@ # # See docs/implementation/E2E_TEST_REORGANIZATION_IMPLEMENTATION.md for full details -name: 'E2E Tests (Split - Security + Sharded)' +name: 'E2E Tests' on: workflow_run: diff --git a/docs/plans/docs_workflow_update.md b/docs/plans/docs_workflow_update.md new file mode 100644 index 00000000..7e2369dd --- /dev/null +++ b/docs/plans/docs_workflow_update.md @@ -0,0 +1,84 @@ +# Docs Workflow Update Plan + +## 1. Introduction +The current documentation workflow only validates and deploys on pushes to `main`. This leaves other branches without validation of documentation changes, potentially leading to broken docs being merged. This plan outlines the updates to ensure documentation is built/validated on all relevant branches and PRs, while deployment remains restricted to `main`. + +## 2. Research Findings +- **Current File**: `.github/workflows/docs.yml` +- **Build Method**: Uses `npm install -g marked` to convert Markdown to HTML. +- **Deploy Method**: Uses `actions/upload-pages-artifact` and `actions/deploy-pages`. +- **Triggers**: Currently limited to `push: branches: [main]`. + +## 3. Technical Specifications + +### Workflow Triggers (`on`) +The workflow triggers need to be expanded to cover: +- Pull Requests targeting `main` or `development`. +- Pushes to `main`, `development`, `feature/**`, and `hotfix/**`. + +```yaml +on: + push: + branches: + - main + - development + - 'feature/**' + - 'hotfix/**' + paths: + - 'docs/**' + - 'README.md' + - '.github/workflows/docs.yml' + pull_request: + branches: + - main + - development + paths: + - 'docs/**' + - 'README.md' + - '.github/workflows/docs.yml' + workflow_dispatch: +``` + +### Concurrency +Update concurrency to be scoped by branch. This allows parallel builds for different feature branches. +Use `cancel-in-progress: true` for all branches except `main` to save resources on rapid fast-forward pushes, but ensure robust deployments for `main`. + +```yaml +concurrency: + group: "pages-${{ github.ref }}" + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} +``` + +### Job Constraints +- **Job `build`**: Should run on all triggers. No changes needed to conditions. +- **Job `deploy`**: Must be restricted to `main` branch pushes only. + +```yaml + deploy: + name: Deploy to GitHub Pages + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + timeout-minutes: 5 + needs: build + # ... steps ... +``` + +## 4. Implementation Tasks +1. **Modify `.github/workflows/docs.yml`**: + - Update `on` triggers. + - Update `concurrency` block with `group: "pages-${{ github.ref }}"` and conditional `cancel-in-progress`. + - Add `if` condition to `deploy` job. + - **Fix 404 Link Error**: + - Replace hardcoded `/charon/` paths in generated HTML navigation with dynamic repository name variable. + - Use `${{ github.event.repository.name }}` within the workflow to construct the base path, ensuring case-sensitivity compatibility (e.g., `Charon` vs `charon`). + +## 5. Acceptance Criteria +- [ ] Pushing to a feature branch triggers the `build` job but skips `deploy`. +- [ ] Multiple feature branch pushes run in parallel (checked via Actions tab). +- [ ] Rapid pushes to the same feature branch cancel previous runs. +- [ ] Opening a PR triggers the `build` job. +- [ ] Pushing to `main` triggers both `build` and `deploy`. +- [ ] Pushing to `main` does not cancel in-progress runs (safe deployment). diff --git a/docs/tasks.md b/docs/tasks.md new file mode 100644 index 00000000..ab289c60 --- /dev/null +++ b/docs/tasks.md @@ -0,0 +1,9 @@ +# Implementation Tasks + +## Phase 1: Workflow Updates + +- [ ] **Update Docs Workflow** + - **Description**: Modify `.github/workflows/docs.yml` to trigger on all branches/PRs but deploy only on main. + - **Reference**: `docs/plans/docs_workflow_update.md` + - **Status**: Pending + - **Owner**: DevOps