feat: add architectural sweep workflow template

This commit is contained in:
2026-06-02 13:04:07 -07:00
parent 1090928ab7
commit 61e030b8df
+79
View File
@@ -0,0 +1,79 @@
name: Architectural Sweep
on:
# Uncomment to enable scheduled runs (adjust cron to your timezone)
# schedule:
# # 4:00 AM America/Chicago daily
# # CDT (summer, UTC-5): 09:00 UTC <- this cron
# # CST (winter, UTC-6): 10:00 UTC <- update to 0 10 * * * Nov-Mar
# - cron: '0 9 * * *'
workflow_dispatch:
jobs:
create-sweep-issue:
name: Create Architectural Sweep Issue
runs-on: ubuntu-latest
steps:
- name: Create sweep issue
run: |
TODAY=$(date +%Y-%m-%d)
BODY="## 🏗️ Architectural Sweep — ${TODAY}\n\n"
BODY+="Generated for architectural sweep of the llm-tools repository.\n\n"
BODY+="---\n\n"
BODY+="> ⚠️ **Agent Instructions — READ BEFORE PROCEEDING**\n>\n"
BODY+="> You MUST post a **separate comment** on this issue for each domain below as you complete it.\n"
BODY+="> Do NOT wait until all domains are finished. Post findings immediately after completing each section.\n"
BODY+="> Each comment must be titled with the domain name and date, e.g. \`🏗️ Architecture Findings — ${TODAY}\`.\n"
BODY+="> If a domain reveals a critical issue, open a new issue for it and link it here before moving on.\n\n"
BODY+="---\n\n"
BODY+="### 🏗️ Architecture & Organization\n\n"
BODY+="Review the overall structure and report findings:\n\n"
BODY+="- [ ] Module boundaries — are agents, clients, tools, workflows cleanly separated?\n"
BODY+="- [ ] Manifest integrity — does \`manifest.json\` accurately reflect all available tools/agents?\n"
BODY+="- [ ] Dependency flow — any circular imports or unexpected cross-module coupling?\n"
BODY+="- [ ] Interface consistency — do clients/tools expose consistent calling conventions?\n"
BODY+="- [ ] Agent definitions — are agents in \`agents/\` properly structured and documented?\n"
BODY+="- [ ] Workflow definitions — are workflows in \`workflows/\` reusable and composable?\n\n"
BODY+="---\n\n"
BODY+="### 🧪 Test Coverage\n\n"
BODY+="Analyse test coverage and surface gaps:\n\n"
BODY+="- [ ] Identify files with zero test coverage\n"
BODY+="- [ ] Flag untested critical paths: LLM client calls, tool invocations, agent orchestration\n"
BODY+="- [ ] Assess test quality — meaningful assertions vs. mock-heavy no-ops\n"
BODY+="- [ ] Check for integration tests covering end-to-end tool/agent flows\n\n"
BODY+="---\n\n"
BODY+="### ⚡ Optimizations\n\n"
BODY+="Identify performance and efficiency opportunities:\n\n"
BODY+="- [ ] LLM call patterns — unnecessary duplicate calls, missing caching/deduplication\n"
BODY+="- [ ] Token efficiency — are prompts concise? any runaway context windows?\n"
BODY+="- [ ] Client implementation — connection pooling, retry logic, timeout handling\n"
BODY+="- [ ] Analytics pipeline — are analytics tools lightweight enough for production use?\n"
BODY+="- [ ] Document processing — memory efficiency for large documents\n\n"
BODY+="---\n\n"
BODY+="### 🐛 Bugs Identified\n\n"
BODY+="Review open bugs and scan for regressions:\n\n"
BODY+="- [ ] Triage all open \`bug\` issues — still reproducible? stale? needs escalation?\n"
BODY+="- [ ] Scan for TODO/FIXME/HACK, empty catch blocks, unhandled promise rejections\n"
BODY+="- [ ] Edge cases: empty LLM responses, API rate limits, malformed tool inputs, network timeouts\n"
BODY+="- [ ] Check error handling consistency across all clients\n\n"
BODY+="---\n\n"
BODY+="### 🧹 Tech Debt\n\n"
BODY+="Surface accumulated shortcuts, deferred work, and structural rot:\n\n"
BODY+="- [ ] Scan for TODO/FIXME/HACK/TEMP comments — log count, age, and owning file\n"
BODY+="- [ ] Identify deprecated dependencies — anything with a known replacement or EOL warning\n"
BODY+="- [ ] Flag dead code — unused exports, unreachable branches, commented-out logic\n"
BODY+="- [ ] Note any tools/agents that are stubs or placeholders not yet implemented\n"
BODY+="- [ ] Check if \`llm.txt\` and \`AGENTS.md\` are current and accurate\n"
BODY+="- [ ] Estimate rough effort to resolve each item found (S / M / L)\n\n"
BODY+="---\n\n"
BODY+="_🐾 Silma — llm-tools · auto-generated ${TODAY}_"
curl -f -s -X POST \
"http://100.79.253.19:3000/api/v1/repos/${{ gitea.repository }}/issues" \
-H "Authorization: token ${{ gitea.token }}" \
-H "Content-Type: application/json" \
-d "{
\"title\": \"Architectural Sweep — ${TODAY}\",
\"body\": \"${BODY}\"
}"