mcp-efficiency-engine 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/CODEOWNERS +40 -0
- package/.github/GITHUB_MCP_INTEGRATION.md +366 -0
- package/.github/ISSUE_TEMPLATE/bug.md +51 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +45 -0
- package/.github/ISSUE_TEMPLATE/question.md +18 -0
- package/.github/agents/backend.agent.md +18 -0
- package/.github/agents/community-manager.agent.md +18 -0
- package/.github/agents/dba.agent.md +18 -0
- package/.github/agents/frontend-agent.agent.md +18 -0
- package/.github/agents/github-repository-manager.agent.md +338 -0
- package/.github/agents/iot.agent.md +20 -0
- package/.github/agents/legacy.agent.md +18 -0
- package/.github/agents/rag-azure.agent.md +18 -0
- package/.github/agents/rag-local.agent.md +18 -0
- package/.github/agents/snapshot.agent.md +18 -0
- package/.github/agents/ux-ui.agent.md +18 -0
- package/.github/agents/wiki-agent.agent.md +23 -0
- package/.github/copilot-instructions.md +44 -0
- package/.github/instructions/always-on-optimization.instructions.md +54 -0
- package/.github/prompts/auto-route.prompt.md +33 -0
- package/.github/prompts/azure-rag.query.prompt.md +19 -0
- package/.github/prompts/backend.fix-bug.prompt.md +13 -0
- package/.github/prompts/cavecrew.prompt.md +16 -0
- package/.github/prompts/caveman-commit.prompt.md +14 -0
- package/.github/prompts/caveman-compress.prompt.md +15 -0
- package/.github/prompts/caveman-debug.prompt.md +13 -0
- package/.github/prompts/caveman-help.prompt.md +11 -0
- package/.github/prompts/caveman-review.prompt.md +15 -0
- package/.github/prompts/caveman-stats.prompt.md +11 -0
- package/.github/prompts/caveman.prompt.md +11 -0
- package/.github/prompts/community.post.prompt.md +14 -0
- package/.github/prompts/dba.query-review.prompt.md +15 -0
- package/.github/prompts/dev.fix-bug.prompt.md +13 -0
- package/.github/prompts/frontend.code.prompt.md +13 -0
- package/.github/prompts/legacy.impact-analysis.prompt.md +14 -0
- package/.github/prompts/project.kickoff-analysis.prompt.md +51 -0
- package/.github/prompts/rag.knowledge-answer.prompt.md +13 -0
- package/.github/prompts/token-saver-review.prompt.md +14 -0
- package/.github/prompts/ux-ui.review.prompt.md +14 -0
- package/.github/pull_request_template.md +71 -0
- package/.github/skills/ahorro-tokens/SKILL.md +36 -0
- package/.github/skills/azure-rag-enterprise/SKILL.md +24 -0
- package/.github/skills/backend-coding/SKILL.md +24 -0
- package/.github/skills/cavecrew/SKILL.md +17 -0
- package/.github/skills/caveman/SKILL.md +25 -0
- package/.github/skills/caveman-commit/SKILL.md +15 -0
- package/.github/skills/caveman-compress/SKILL.md +14 -0
- package/.github/skills/caveman-help/SKILL.md +19 -0
- package/.github/skills/caveman-mode/SKILL.md +43 -0
- package/.github/skills/caveman-review/SKILL.md +16 -0
- package/.github/skills/caveman-stats/SKILL.md +13 -0
- package/.github/skills/community-content/SKILL.md +22 -0
- package/.github/skills/database-analysis/SKILL.md +23 -0
- package/.github/skills/dev-coding/SKILL.md +24 -0
- package/.github/skills/frontend-coding/SKILL.md +24 -0
- package/.github/skills/human-in-the-loop/SKILL.md +47 -0
- package/.github/skills/iot-architecture/SKILL.md +22 -0
- package/.github/skills/legacy-migration/SKILL.md +22 -0
- package/.github/skills/rag-knowledge/SKILL.md +21 -0
- package/.github/skills/token-saver/SKILL.md +36 -0
- package/.github/skills/ux-ui-governance/SKILL.md +24 -0
- package/.github/skills/wiki-tools.json +24 -0
- package/.github/workflows/auto-devlog.yml +56 -0
- package/.github/workflows/auto-manage-issues.yml +64 -0
- package/.github/workflows/auto-sync.yml +54 -0
- package/.github/workflows/autodocs-sync.yml +114 -0
- package/.github/workflows/ci.yml +68 -0
- package/.github/workflows/pages.yml +59 -0
- package/.github/workflows/routing-evals.yml +59 -0
- package/.github/workflows/techriders-coverage-effective.yml +91 -0
- package/.vscode/mcp.json +44 -0
- package/AGENTS.md +160 -0
- package/ARCHITECTURE.md +57 -0
- package/FINAL_USAGE_GUIDE.md +106 -0
- package/LICENSE +21 -0
- package/README.md +385 -0
- package/README_WIKI.md +130 -0
- package/autodocs/README.md +22 -0
- package/autodocs/schema/wiki-node.schema.json +56 -0
- package/autolearning/feedback-loop.md +90 -0
- package/bin/install-host.js +326 -0
- package/bin/mcpee.js +116 -0
- package/context/repomix/repomix.config.json +20 -0
- package/memory/cross-memory-reasoning.md +17 -0
- package/memory/mempry-registry.yml +16 -0
- package/observability/evals/chat-token-usage-report.json +64 -0
- package/observability/evals/chat-token-usage-report.md +33 -0
- package/observability/evals/iteration-value-report.json +76 -0
- package/observability/evals/iteration-value-report.md +39 -0
- package/observability/evals/learning-loop-report.json +268 -0
- package/observability/evals/learning-loop-report.md +37 -0
- package/observability/evals/repo-intake-eval-cases.md +23 -0
- package/observability/evals/routing-eval-cases.json +68 -0
- package/observability/evals/routing-eval-cases.md +25 -0
- package/observability/evals/routing-eval-report.json +72 -0
- package/observability/evaluation.md +34 -0
- package/observability/logs/copilot-usage-ingest-report.json +13 -0
- package/observability/logs/iteration-metrics.jsonl +75 -0
- package/observability/logs/learning-feedback.jsonl +152 -0
- package/observability/logs/routing-decisions.jsonl +333 -0
- package/observability/logs/session/agent-pipeline-preflight-20260701-004146.log +8 -0
- package/observability/logs/session/agent-pipeline-preflight-20260701-005554.log +8 -0
- package/observability/logs/session/agent-pipeline-preflight-20260701-010351.log +8 -0
- package/observability/logs/session/agent-pipeline-preflight-20260704-145829.log +8 -0
- package/observability/logs/session/agent-pipeline-preflight-20260704-150021.log +8 -0
- package/observability/logs/session/agent-pipeline-preflight-20260704-154328.log +8 -0
- package/observability/logs/session/bye-20260629-221513.json +39 -0
- package/observability/logs/session/bye-20260629-221545.json +59 -0
- package/observability/logs/session/bye-20260629-222007.json +52 -0
- package/observability/logs/session/bye-20260629-222133.json +59 -0
- package/observability/logs/session/bye-20260629-222412.json +45 -0
- package/observability/logs/session/bye-20260629-223224.json +52 -0
- package/observability/logs/session/bye-20260629-224050.json +59 -0
- package/observability/logs/session/bye-20260630-105732.json +24 -0
- package/observability/logs/session/bye-20260630-211536.json +87 -0
- package/observability/logs/session/bye-20260630-223423.json +87 -0
- package/observability/logs/session/bye-20260630-232534.json +87 -0
- package/observability/logs/session/bye-20260701-003638.json +126 -0
- package/observability/logs/session/bye-20260701-003849.json +126 -0
- package/observability/logs/session/bye-20260701-004315.json +138 -0
- package/observability/logs/session/bye-20260701-004559.json +76 -0
- package/observability/logs/session/bye-20260701-005913.json +138 -0
- package/observability/logs/session/bye-20260701-010753.json +138 -0
- package/observability/logs/session/bye-20260703-194106.json +24 -0
- package/observability/logs/session/bye-20260703-233443.json +76 -0
- package/observability/logs/session/bye-20260703-233653.json +76 -0
- package/observability/logs/session/bye-20260704-150317.json +152 -0
- package/observability/logs/session/bye-20260704-150929.json +75 -0
- package/observability/logs/session/bye-20260704-151050.json +75 -0
- package/observability/logs/session/bye-20260705-115458.json +165 -0
- package/observability/logs/session/codegraph-status-20260701-004228.log +39 -0
- package/observability/logs/session/codegraph-status-20260701-004310.log +39 -0
- package/observability/logs/session/codegraph-status-20260701-005637.log +39 -0
- package/observability/logs/session/codegraph-status-20260701-005908.log +39 -0
- package/observability/logs/session/codegraph-status-20260701-010444.log +39 -0
- package/observability/logs/session/codegraph-status-20260701-010747.log +39 -0
- package/observability/logs/session/codegraph-status-20260704-150137.log +26 -0
- package/observability/logs/session/codegraph-status-20260704-150313.log +28 -0
- package/observability/logs/session/codegraph-status-20260704-154445.log +26 -0
- package/observability/logs/session/codegraph-status-20260705-115454.log +27 -0
- package/observability/logs/session/codegraph-sync-20260701-004211.log +88 -0
- package/observability/logs/session/codegraph-sync-20260701-004241.log +82 -0
- package/observability/logs/session/codegraph-sync-20260701-005620.log +89 -0
- package/observability/logs/session/codegraph-sync-20260701-005840.log +88 -0
- package/observability/logs/session/codegraph-sync-20260701-010419.log +93 -0
- package/observability/logs/session/codegraph-sync-20260701-010609.log +90 -0
- package/observability/logs/session/codegraph-sync-20260704-145856.log +70 -0
- package/observability/logs/session/codegraph-sync-20260704-150047.log +53 -0
- package/observability/logs/session/codegraph-sync-20260704-150204.log +44 -0
- package/observability/logs/session/codegraph-sync-20260704-154353.log +26 -0
- package/observability/logs/session/codegraph-sync-20260705-115337.log +32 -0
- package/observability/logs/session/hi-20260629-221459.json +38 -0
- package/observability/logs/session/hi-20260629-221945.json +59 -0
- package/observability/logs/session/hi-20260629-222108.json +66 -0
- package/observability/logs/session/hi-20260629-222352.json +45 -0
- package/observability/logs/session/hi-20260629-225719.json +59 -0
- package/observability/logs/session/hi-20260629-233722.json +52 -0
- package/observability/logs/session/hi-20260629-233913.json +198 -0
- package/observability/logs/session/hi-20260630-110156.json +177 -0
- package/observability/logs/session/hi-20260630-191243.json +184 -0
- package/observability/logs/session/hi-20260630-230050.json +234 -0
- package/observability/logs/session/hi-20260630-230523.json +227 -0
- package/observability/logs/session/hi-20260630-230855.json +227 -0
- package/observability/logs/session/hi-20260630-231638.json +227 -0
- package/observability/logs/session/hi-20260630-231756.json +219 -0
- package/observability/logs/session/hi-20260701-002842.json +234 -0
- package/observability/logs/session/hi-20260701-003458.json +282 -0
- package/observability/logs/session/hi-20260701-004233.json +290 -0
- package/observability/logs/session/hi-20260701-004554.json +236 -0
- package/observability/logs/session/hi-20260701-005641.json +290 -0
- package/observability/logs/session/hi-20260701-010450.json +290 -0
- package/observability/logs/session/hi-20260703-233854.json +312 -0
- package/observability/logs/session/hi-20260703-234448.json +318 -0
- package/observability/logs/session/hi-20260704-145907.json +353 -0
- package/observability/logs/session/hi-20260704-150141.json +392 -0
- package/observability/logs/session/hi-20260704-154448.json +392 -0
- package/observability/logs/session/iteration-value-refresh-20260701-004309.log +3 -0
- package/observability/logs/session/iteration-value-refresh-20260701-005907.log +3 -0
- package/observability/logs/session/iteration-value-refresh-20260701-010747.log +3 -0
- package/observability/logs/session/iteration-value-refresh-20260704-150312.log +3 -0
- package/observability/logs/session/iteration-value-refresh-20260705-115453.log +3 -0
- package/observability/logs/session/learning-loop-refresh-20260701-004309.log +3 -0
- package/observability/logs/session/learning-loop-refresh-20260701-005906.log +3 -0
- package/observability/logs/session/learning-loop-refresh-20260701-010745.log +3 -0
- package/observability/logs/session/learning-loop-refresh-20260704-150309.log +3 -0
- package/observability/logs/session/learning-loop-refresh-20260705-115450.log +3 -0
- package/observability/logs/session/project-notes-refresh-20260701-004227.log +1 -0
- package/observability/logs/session/project-notes-refresh-20260701-004308.log +1 -0
- package/observability/logs/session/project-notes-refresh-20260701-005636.log +1 -0
- package/observability/logs/session/project-notes-refresh-20260701-005906.log +1 -0
- package/observability/logs/session/project-notes-refresh-20260701-010443.log +1 -0
- package/observability/logs/session/project-notes-refresh-20260701-010744.log +1 -0
- package/observability/logs/session/project-notes-refresh-20260704-150133.log +1 -0
- package/observability/logs/session/project-notes-refresh-20260704-150309.log +1 -0
- package/observability/logs/session/project-notes-refresh-20260704-154442.log +1 -0
- package/observability/logs/session/project-notes-refresh-20260705-115449.log +1 -0
- package/observability/logs/session/repo-intake-20260701-004218.log +6 -0
- package/observability/logs/session/repo-intake-20260701-005626.log +6 -0
- package/observability/logs/session/repo-intake-20260701-010433.log +6 -0
- package/observability/logs/session/repo-intake-20260704-150053.log +6 -0
- package/observability/logs/session/repo-intake-20260704-154404.log +6 -0
- package/observability/logs/session/repo-intake-refresh-20260701-004247.log +6 -0
- package/observability/logs/session/repo-intake-refresh-20260701-005847.log +6 -0
- package/observability/logs/session/repo-intake-refresh-20260701-010615.log +6 -0
- package/observability/logs/session/repo-intake-refresh-20260704-150209.log +6 -0
- package/observability/logs/session/repo-intake-refresh-20260705-115342.log +6 -0
- package/observability/logs/session/repo-registry-validation-20260701-004234.log +2 -0
- package/observability/logs/session/repo-registry-validation-20260701-004556.log +2 -0
- package/observability/logs/session/repo-registry-validation-20260701-005833.log +2 -0
- package/observability/logs/session/repo-registry-validation-20260701-010601.log +2 -0
- package/observability/logs/session/repo-registry-validation-20260704-150155.log +2 -0
- package/observability/logs/session/repo-registry-validation-20260705-115323.log +2 -0
- package/observability/logs/session/repomix-refresh-20260701-003823.log +4236 -0
- package/observability/logs/session/repomix-refresh-20260701-004251.log +4275 -0
- package/observability/logs/session/repomix-refresh-20260701-005850.log +4248 -0
- package/observability/logs/session/repomix-refresh-20260701-010619.log +6531 -0
- package/observability/logs/session/repomix-refresh-20260704-150239.log +652 -0
- package/observability/logs/session/repomix-refresh-20260705-115419.log +178 -0
- package/observability/logs/session/routing-evals-20260701-004221.log +2 -0
- package/observability/logs/session/routing-evals-20260701-004235.log +2 -0
- package/observability/logs/session/routing-evals-20260701-005629.log +2 -0
- package/observability/logs/session/routing-evals-20260701-005834.log +2 -0
- package/observability/logs/session/routing-evals-20260701-010437.log +2 -0
- package/observability/logs/session/routing-evals-20260701-010603.log +2 -0
- package/observability/logs/session/routing-evals-20260704-150125.log +2 -0
- package/observability/logs/session/routing-evals-20260704-150157.log +2 -0
- package/observability/logs/session/routing-evals-20260704-154434.log +2 -0
- package/observability/logs/session/routing-evals-20260705-115327.log +2 -0
- package/observability/logs/session/sibling-discovery-refresh-20260701-004250.log +3 -0
- package/observability/logs/session/sibling-discovery-refresh-20260701-005850.log +3 -0
- package/observability/logs/session/sibling-discovery-refresh-20260701-010618.log +3 -0
- package/observability/logs/session/sibling-discovery-refresh-20260704-150238.log +3 -0
- package/observability/logs/session/sibling-discovery-refresh-20260705-115418.log +3 -0
- package/observability/logs.schema.json +95 -0
- package/observability/logs.schema.md +26 -0
- package/observability/metrics.md +35 -0
- package/observability/routing-evaluator.md +37 -0
- package/observability/scoring-rubric.md +38 -0
- package/optimization/ALWAYS_ON_OPTIMIZATION.md +98 -0
- package/optimization/caveman-mode.md +62 -0
- package/optimization/examples/login-bug.md +25 -0
- package/optimization/examples/sla-query.md +25 -0
- package/optimization/optimization-routing.md +30 -0
- package/optimization/policies/response-style.policy.md +45 -0
- package/optimization/policies/token-budget.policy.md +28 -0
- package/optimization/profiles/always-on.profile.md +19 -0
- package/optimization/profiles/architecture.profile.md +20 -0
- package/optimization/profiles/debug.profile.md +20 -0
- package/optimization/profiles/enterprise-rag.profile.md +20 -0
- package/optimization/profiles/training.profile.md +20 -0
- package/optimization/token-saver.md +58 -0
- package/orchestrator/corporate-routing.md +51 -0
- package/orchestrator/decision-matrix.md +33 -0
- package/orchestrator/fallback.md +29 -0
- package/orchestrator/repo-routing.md +58 -0
- package/orchestrator/router.md +75 -0
- package/orchestrator/wiki/__init__.py +5 -0
- package/orchestrator/wiki/graph_consolidator.py +506 -0
- package/orchestrator/wiki/incremental_engine.py +57 -0
- package/orchestrator/wiki/plugin_manager.py +40 -0
- package/package.json +70 -0
- package/policies/context-policy.md +25 -0
- package/policies/cost-policy.md +25 -0
- package/policies/repo-intake-policy.md +36 -0
- package/policies/security-policy.md +25 -0
- package/repo-intake/README.md +81 -0
- package/repo-intake/templates/agent.template.md +4 -0
- package/repo-intake/templates/context-manifest.template.md +4 -0
- package/repo-intake/templates/skill.template.md +3 -0
- package/repo-registry/repos.schema.json +102 -0
- package/repo-registry/repos.template.json +26 -0
- package/requirements.txt +1 -0
- package/scripts/README.md +109 -0
- package/scripts/__init__.py +0 -0
- package/scripts/bootstrap-portable.cmd +4 -0
- package/scripts/bootstrap-portable.ps1 +90 -0
- package/scripts/context/azure-rag-mcp-adapter.py +1 -0
- package/scripts/context/build-graphify.ps1 +1 -0
- package/scripts/context/build-repomix.ps1 +1 -0
- package/scripts/discovery/discover-boost-repos.cmd +4 -0
- package/scripts/discovery/discover-boost-repos.py +186 -0
- package/scripts/discovery/refresh-project-notes.py +179 -0
- package/scripts/github/INSTALL.md +295 -0
- package/scripts/github/README.md +455 -0
- package/scripts/github/apply-boost-templates.ps1 +163 -0
- package/scripts/github/apply-single-repo.ps1 +85 -0
- package/scripts/github/create-devlog.ps1 +380 -0
- package/scripts/github/manage-issues.ps1 +332 -0
- package/scripts/github/sync-repo.ps1 +267 -0
- package/scripts/intake/agent-pipeline-preflight.py +151 -0
- package/scripts/intake/init-template-registry.cmd +4 -0
- package/scripts/intake/init-template-registry.ps1 +258 -0
- package/scripts/intake/repo-intake.py +354 -0
- package/scripts/intake/resolve-routing.py +620 -0
- package/scripts/intake/run-repo-intake.cmd +4 -0
- package/scripts/intake/run-repo-intake.ps1 +46 -0
- package/scripts/intake/run-routing-evals.py +147 -0
- package/scripts/intake/validate-database-routing.py +91 -0
- package/scripts/intake/validate-rag-routing.py +85 -0
- package/scripts/intake/validate-repo-registry.ps1 +20 -0
- package/scripts/intake/validate-repo-registry.py +286 -0
- package/scripts/intake/validate-security.py +170 -0
- package/scripts/learning/autolearning-gate.py +71 -0
- package/scripts/learning/chat-token-usage-report.py +326 -0
- package/scripts/learning/ingest-copilot-session-usage.py +421 -0
- package/scripts/learning/iteration-value-report.py +275 -0
- package/scripts/learning/learning-loop-report.py +272 -0
- package/scripts/learning/record-iteration-metrics.py +116 -0
- package/scripts/learning/record-learning-feedback.py +91 -0
- package/scripts/ops/bye.ps1 +620 -0
- package/scripts/ops/compare-demo-results.ps1 +826 -0
- package/scripts/ops/demo1.ps1 +11 -0
- package/scripts/ops/demo2.ps1 +11 -0
- package/scripts/ops/demo3.ps1 +11 -0
- package/scripts/ops/demo4.ps1 +11 -0
- package/scripts/ops/hi.ps1 +1045 -0
- package/scripts/ops/llm-token-probe.py +164 -0
- package/scripts/ops/run-all-demos.ps1 +39 -0
- package/scripts/ops/run-demo-block.ps1 +85 -0
- package/scripts/ops/run-demo-session.ps1 +532 -0
- package/scripts/setup/optimize-engines.ps1 +183 -0
- package/scripts/setup/setup-codegraph.ps1 +3 -0
- package/scripts/setup/setup-gitnexus.ps1 +3 -0
- package/scripts/setup/setup-graphify.ps1 +2 -0
- package/scripts/setup/setup-prerequisites.ps1 +205 -0
- package/scripts/setup/start-gitnexus.ps1 +71 -0
- package/scripts/setup/validate-context.ps1 +361 -0
- package/scripts/wiki/__init__.py +0 -0
- package/scripts/wiki/compiler_main.py +189 -0
- package/scripts/wiki/normalizer.py +206 -0
- package/scripts/wiki/providers/base_provider.py +25 -0
- package/scripts/wiki/providers/codegraph_provider.py +49 -0
- package/scripts/wiki/providers/graphify_provider.py +49 -0
- package/scripts/wiki/providers/repo_content_provider.py +408 -0
- package/scripts/wiki/query_autodocs.py +60 -0
- package/scripts/wiki/validator.py +183 -0
- package/scripts/wiki/wiki_compiler.py +5 -0
- package/specs/architecture.spec.md +32 -0
- package/specs/azure-rag.spec.md +28 -0
- package/specs/coding-standards.spec.md +24 -0
- package/specs/database.spec.md +29 -0
- package/specs/migration.spec.md +26 -0
- package/specs/observability.spec.md +24 -0
- package/specs/optimization.spec.md +31 -0
- package/specs/rag.spec.md +30 -0
- package/specs/repo-intake.spec.md +25 -0
- package/specs/routing.spec.md +24 -0
- package/specs/security.spec.md +30 -0
- package/specs/wiki/provider-contract.json +33 -0
- package/specs/wiki/unified-knowledge-graph.json +25 -0
- package/templates/BOOST_README_TEMPLATE.md +96 -0
- package/templates/CODEOWNERS_TEMPLATE.txt +29 -0
- package/templates/LICENSE_MIT_TEMPLATE.txt +21 -0
- package/templates/PERSONAL_README_TEMPLATE.md +90 -0
- package/templates/README_boost_RAG_Azure.md +46 -0
- package/templates/README_boost_azure_iot_edge.md +48 -0
- package/templates/README_boost_backend.md +47 -0
- package/templates/README_boost_dba.md +57 -0
- package/templates/ci.yml.template +73 -0
- package/tooling/tooling.manifest.json +72 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Human In The Loop (HITL)
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Asegurar confirmacion humana solo cuando una decision o accion tiene riesgo alto, impacto externo o potencial destructivo.
|
|
6
|
+
|
|
7
|
+
## Scope
|
|
8
|
+
|
|
9
|
+
Aplicar en todas las rutas del sistema como capa transversal.
|
|
10
|
+
|
|
11
|
+
## Always-On Behavior
|
|
12
|
+
|
|
13
|
+
- Deteccion automatica de riesgo desde intent/domain/source/notes de routing.
|
|
14
|
+
- No pedir confirmacion para rutas de bajo riesgo.
|
|
15
|
+
- Pedir confirmacion cuando exista riesgo alto o fallback de routing.
|
|
16
|
+
- Bloquear ejecucion para acciones destructivas hasta aprobacion explicita.
|
|
17
|
+
|
|
18
|
+
## Risk Triggers
|
|
19
|
+
|
|
20
|
+
- deploy, production
|
|
21
|
+
- migrate, migration
|
|
22
|
+
- delete, drop, destroy, remove
|
|
23
|
+
- governance, policy
|
|
24
|
+
- security, rbac, role
|
|
25
|
+
- unresolved_dependencies
|
|
26
|
+
- routing_fallback
|
|
27
|
+
|
|
28
|
+
## Actions
|
|
29
|
+
|
|
30
|
+
- `none`: continuar sin aprobacion.
|
|
31
|
+
- `request_human_confirmation`: solicitar confirmacion antes de ejecutar.
|
|
32
|
+
- `block_until_human_approval`: bloquear hasta aprobacion humana.
|
|
33
|
+
|
|
34
|
+
## Observability Contract
|
|
35
|
+
|
|
36
|
+
Cada evento de routing debe incluir `hitl`:
|
|
37
|
+
|
|
38
|
+
- `mode`: `always_on_auto`
|
|
39
|
+
- `required`: `true|false`
|
|
40
|
+
- `action`: `none|request_human_confirmation|block_until_human_approval`
|
|
41
|
+
- `reason`: motivo legible y trazable
|
|
42
|
+
|
|
43
|
+
## Guardrails
|
|
44
|
+
|
|
45
|
+
- Nunca cachear secretos, credenciales, tokens o PII.
|
|
46
|
+
- Si hay duda de sensibilidad, declarar gap y no cachear.
|
|
47
|
+
- Confirmaciones humanas solo para impacto real; evitar friccion en bajo riesgo.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# IoT Architecture Skill
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Handle IoT/edge/telemetry tasks combining code and technical docs.
|
|
6
|
+
|
|
7
|
+
## When To Use
|
|
8
|
+
|
|
9
|
+
- IoT architecture questions
|
|
10
|
+
- edge data-flow analysis
|
|
11
|
+
- mixed code+docs diagnostics in IoT domain
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Map device-edge-cloud flow.
|
|
16
|
+
2. Identify protocol, telemetry and dependency boundaries.
|
|
17
|
+
3. Recommend minimal-risk architectural or code changes.
|
|
18
|
+
|
|
19
|
+
## Guardrails
|
|
20
|
+
|
|
21
|
+
- Keep retrieval targeted.
|
|
22
|
+
- State assumptions about runtime topology.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Legacy Migration Skill
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Assess legacy and multi-repo change impact before execution.
|
|
6
|
+
|
|
7
|
+
## When To Use
|
|
8
|
+
|
|
9
|
+
- migration plans
|
|
10
|
+
- legacy code modernization
|
|
11
|
+
- high-blast-radius refactors
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Map dependencies and downstream consumers.
|
|
16
|
+
2. Identify breakage risks and migration order.
|
|
17
|
+
3. Propose phased rollout and rollback strategy.
|
|
18
|
+
|
|
19
|
+
## Guardrails
|
|
20
|
+
|
|
21
|
+
- Prefer compatibility-first changes.
|
|
22
|
+
- Highlight unknowns explicitly.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# RAG Knowledge Skill
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Answer technical/local documentation questions from local knowledge sources.
|
|
6
|
+
|
|
7
|
+
## When To Use
|
|
8
|
+
|
|
9
|
+
- source_type is `technical-docs`
|
|
10
|
+
- agent route is `rag-local`
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
1. Retrieve minimal relevant local nodes/chunks.
|
|
15
|
+
2. Synthesize concise technical answer.
|
|
16
|
+
3. Mention evidence basis or declare a gap.
|
|
17
|
+
|
|
18
|
+
## Guardrails
|
|
19
|
+
|
|
20
|
+
- No unsupported claims.
|
|
21
|
+
- Keep context scope minimal.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Token Saver Skill — Always On
|
|
2
|
+
|
|
3
|
+
## Estado
|
|
4
|
+
|
|
5
|
+
Siempre activo.
|
|
6
|
+
|
|
7
|
+
## Propósito
|
|
8
|
+
|
|
9
|
+
Reducir coste, contexto y ruido en cualquier herramienta o agente.
|
|
10
|
+
|
|
11
|
+
## Reglas
|
|
12
|
+
|
|
13
|
+
1. Iniciar toda tarea identificando el contexto mínimo necesario.
|
|
14
|
+
2. Evitar discovery completo.
|
|
15
|
+
3. Preferir consultas estructuradas:
|
|
16
|
+
- símbolo,
|
|
17
|
+
- endpoint,
|
|
18
|
+
- tabla,
|
|
19
|
+
- nodo,
|
|
20
|
+
- chunk,
|
|
21
|
+
- fuente,
|
|
22
|
+
- manifest.
|
|
23
|
+
4. Limitar Azure RAG a fuentes relevantes.
|
|
24
|
+
5. Limitar Graphify a nodos/reportes relevantes.
|
|
25
|
+
6. Limitar Repomix por scope.
|
|
26
|
+
7. Registrar gap cuando falte evidencia.
|
|
27
|
+
|
|
28
|
+
## Por agente
|
|
29
|
+
|
|
30
|
+
- backend: CodeGraph con símbolo/call path.
|
|
31
|
+
- legacy: GitNexus con flow/dependency concreto.
|
|
32
|
+
- dba: Graphify con schema/query relevante.
|
|
33
|
+
- rag-local: Graphify con nodos/fuentes.
|
|
34
|
+
- rag-azure: Azure RAG Builder con fuentes y top-k limitado.
|
|
35
|
+
- iot: combinar solo si hace falta.
|
|
36
|
+
- community-manager: contexto suficiente, no todo el corpus.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# UX UI Governance Skill
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Apply UX/UI quality gates and design-intent controls grounded in project guidelines.
|
|
6
|
+
|
|
7
|
+
## When To Use
|
|
8
|
+
|
|
9
|
+
- ux-ui reviews
|
|
10
|
+
- design system alignment checks
|
|
11
|
+
- accessibility and consistency checks before delivery
|
|
12
|
+
|
|
13
|
+
## Workflow
|
|
14
|
+
|
|
15
|
+
1. Recover UX/UI context and constraints from approved sources.
|
|
16
|
+
2. Evaluate consistency, usability, accessibility, and design intent.
|
|
17
|
+
3. Produce prioritized findings with actionable fixes.
|
|
18
|
+
4. Register validated learnings for future routing.
|
|
19
|
+
|
|
20
|
+
## Guardrails
|
|
21
|
+
|
|
22
|
+
- Do not redesign outside requested scope.
|
|
23
|
+
- Preserve existing product constraints and brand language.
|
|
24
|
+
- Prefer minimal changes with measurable UX impact.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skills": [
|
|
3
|
+
{
|
|
4
|
+
"name": "compile_autodocs",
|
|
5
|
+
"description": "Ejecuta de forma incremental el compilador de AutoDocs para procesar nodos sucios de conocimiento y proyectarlos a Markdown.",
|
|
6
|
+
"command": "py -3 -m scripts.wiki.wiki_compiler",
|
|
7
|
+
"parameters": {}
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"name": "query_autodocs_graph",
|
|
11
|
+
"description": "Consulta directa del Grafo de Conocimiento Unificado estructurado en formato JSON.",
|
|
12
|
+
"command": "py -3 -c \"import json; print(json.load(open('autodocs/generated/unified-graph.json', encoding='utf-8')))\"",
|
|
13
|
+
"parameters": {}
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "query_autodocs_search",
|
|
17
|
+
"description": "Busqueda local simple sobre el manifest de AutoDocs por titulo, resumen, kind o tags.",
|
|
18
|
+
"command": "py -3 -m scripts.wiki.query_autodocs",
|
|
19
|
+
"parameters": {
|
|
20
|
+
"query": "string"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
name: Auto-Generate DevLog
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
commits_to_analyze:
|
|
9
|
+
description: 'Commits to analyze'
|
|
10
|
+
required: false
|
|
11
|
+
default: '10'
|
|
12
|
+
|
|
13
|
+
permissions:
|
|
14
|
+
contents: write
|
|
15
|
+
pull-requests: write
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
devlog:
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
with:
|
|
23
|
+
fetch-depth: 100
|
|
24
|
+
|
|
25
|
+
- uses: actions/setup-node@v4
|
|
26
|
+
with:
|
|
27
|
+
node-version: '18'
|
|
28
|
+
|
|
29
|
+
- name: Install PowerShell
|
|
30
|
+
run: sudo apt-get update && sudo apt-get install -y powershell
|
|
31
|
+
|
|
32
|
+
- name: Generate devlog
|
|
33
|
+
run: pwsh scripts/github/create-devlog.ps1 -CommitsToAnalyze 10 -DryRun
|
|
34
|
+
env:
|
|
35
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
36
|
+
continue-on-error: true
|
|
37
|
+
|
|
38
|
+
- name: Check if devlog was created
|
|
39
|
+
id: check_devlog
|
|
40
|
+
run: |
|
|
41
|
+
if (Test-Path "autodocs/site/devlog/devlog-$(Get-Date -Format 'yyyy-MM-dd').md") {
|
|
42
|
+
echo "created=true" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
|
|
43
|
+
echo "filename=devlog-$(Get-Date -Format 'yyyy-MM-dd').md" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
|
|
44
|
+
} else {
|
|
45
|
+
echo "created=false" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
|
|
46
|
+
}
|
|
47
|
+
shell: pwsh
|
|
48
|
+
continue-on-error: true
|
|
49
|
+
|
|
50
|
+
- name: Report summary
|
|
51
|
+
run: |
|
|
52
|
+
echo "✅ DevLog workflow completed" >> $GITHUB_STEP_SUMMARY
|
|
53
|
+
echo "- Analyzed commits: 10" >> $GITHUB_STEP_SUMMARY
|
|
54
|
+
echo "- Devlog created: ${{ steps.check_devlog.outputs.created }}" >> $GITHUB_STEP_SUMMARY
|
|
55
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
56
|
+
echo "**Next:** DevLog files are in autodocs/site/devlog/" >> $GITHUB_STEP_SUMMARY
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
name: Auto-Manage Issues
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 9 * * MON' # Every Monday at 9 AM UTC
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
action:
|
|
9
|
+
description: 'Action: assign, review, or close'
|
|
10
|
+
required: true
|
|
11
|
+
default: 'assign'
|
|
12
|
+
type: choice
|
|
13
|
+
options:
|
|
14
|
+
- assign
|
|
15
|
+
- review
|
|
16
|
+
- close
|
|
17
|
+
- all
|
|
18
|
+
|
|
19
|
+
permissions:
|
|
20
|
+
contents: read
|
|
21
|
+
issues: write
|
|
22
|
+
pull-requests: write
|
|
23
|
+
|
|
24
|
+
jobs:
|
|
25
|
+
manage:
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- uses: actions/checkout@v4
|
|
29
|
+
|
|
30
|
+
- uses: actions/setup-node@v4
|
|
31
|
+
with:
|
|
32
|
+
node-version: '18'
|
|
33
|
+
|
|
34
|
+
- name: Install PowerShell
|
|
35
|
+
run: sudo apt-get update && sudo apt-get install -y powershell
|
|
36
|
+
|
|
37
|
+
- name: Install PowerShell
|
|
38
|
+
run: sudo apt-get update && sudo apt-get install -y powershell
|
|
39
|
+
|
|
40
|
+
- name: Run issue management (DryRun)
|
|
41
|
+
run: |
|
|
42
|
+
echo "👥 Checking open issues..."
|
|
43
|
+
gh issue list --limit 5 --json title,state
|
|
44
|
+
echo ""
|
|
45
|
+
echo "Workflow ready for manual execution"
|
|
46
|
+
env:
|
|
47
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
48
|
+
continue-on-error: true
|
|
49
|
+
|
|
50
|
+
- name: Create activity report
|
|
51
|
+
run: |
|
|
52
|
+
echo "📊 Issue Management Report — $(date)" >> $GITHUB_STEP_SUMMARY
|
|
53
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
54
|
+
echo "**Status:** Ready for manual trigger" >> $GITHUB_STEP_SUMMARY
|
|
55
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
56
|
+
echo "Available actions:" >> $GITHUB_STEP_SUMMARY
|
|
57
|
+
echo "- \`gh workflow run auto-manage-issues.yml\` (default: assign)" >> $GITHUB_STEP_SUMMARY
|
|
58
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
59
|
+
echo "To manage issues manually:" >> $GITHUB_STEP_SUMMARY
|
|
60
|
+
echo "\`\`\`bash" >> $GITHUB_STEP_SUMMARY
|
|
61
|
+
echo "pwsh scripts/github/manage-issues.ps1 -Action assign" >> $GITHUB_STEP_SUMMARY
|
|
62
|
+
echo "pwsh scripts/github/manage-issues.ps1 -Action review" >> $GITHUB_STEP_SUMMARY
|
|
63
|
+
echo "pwsh scripts/github/manage-issues.ps1 -Action close" >> $GITHUB_STEP_SUMMARY
|
|
64
|
+
echo "\`\`\`" >> $GITHUB_STEP_SUMMARY
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
name: Auto-Sync to boost_sertxIA
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
paths:
|
|
7
|
+
- 'projects/**'
|
|
8
|
+
- '.github/specs/**'
|
|
9
|
+
workflow_dispatch:
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
contents: write
|
|
13
|
+
pull-requests: write
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
sync:
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
|
+
with:
|
|
21
|
+
fetch-depth: 0
|
|
22
|
+
|
|
23
|
+
- uses: actions/setup-node@v4
|
|
24
|
+
with:
|
|
25
|
+
node-version: '18'
|
|
26
|
+
|
|
27
|
+
- uses: azure/setup-kubectl@v3
|
|
28
|
+
|
|
29
|
+
- name: Install PowerShell
|
|
30
|
+
run: sudo apt-get update && sudo apt-get install -y powershell
|
|
31
|
+
|
|
32
|
+
- name: Configure GitHub CLI
|
|
33
|
+
run: |
|
|
34
|
+
gh auth status || echo "✓ GitHub CLI disponible"
|
|
35
|
+
env:
|
|
36
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
37
|
+
|
|
38
|
+
- name: Install PowerShell
|
|
39
|
+
run: sudo apt-get update && sudo apt-get install -y powershell
|
|
40
|
+
|
|
41
|
+
- name: Run sync script (DryRun)
|
|
42
|
+
run: pwsh scripts/github/sync-repo.ps1 -DryRun
|
|
43
|
+
env:
|
|
44
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
45
|
+
continue-on-error: true
|
|
46
|
+
|
|
47
|
+
- name: Report summary
|
|
48
|
+
run: |
|
|
49
|
+
echo "✅ Auto-Sync workflow completed" >> $GITHUB_STEP_SUMMARY
|
|
50
|
+
echo "- Sync check: Completed" >> $GITHUB_STEP_SUMMARY
|
|
51
|
+
echo "- Source: projects/** changes" >> $GITHUB_STEP_SUMMARY
|
|
52
|
+
echo "- Target: boost_sertxIA" >> $GITHUB_STEP_SUMMARY
|
|
53
|
+
echo "" >> $GITHUB_STEP_SUMMARY
|
|
54
|
+
echo "**Note:** Running in DryRun mode. Manual sync available on demand." >> $GITHUB_STEP_SUMMARY
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
name: AutoDocs Sync
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main, develop ]
|
|
6
|
+
paths:
|
|
7
|
+
- 'repo-intake/generated/**'
|
|
8
|
+
- 'autodocs/**'
|
|
9
|
+
- 'scripts/wiki/**'
|
|
10
|
+
- 'orchestrator/wiki/**'
|
|
11
|
+
- '.github/skills/wiki-tools.json'
|
|
12
|
+
- '.github/agents/wiki-agent.agent.md'
|
|
13
|
+
pull_request:
|
|
14
|
+
branches: [ main, develop ]
|
|
15
|
+
paths:
|
|
16
|
+
- 'repo-intake/generated/**'
|
|
17
|
+
- 'autodocs/**'
|
|
18
|
+
- 'scripts/wiki/**'
|
|
19
|
+
- 'orchestrator/wiki/**'
|
|
20
|
+
- '.github/skills/wiki-tools.json'
|
|
21
|
+
- '.github/agents/wiki-agent.agent.md'
|
|
22
|
+
workflow_dispatch:
|
|
23
|
+
|
|
24
|
+
permissions:
|
|
25
|
+
contents: read
|
|
26
|
+
|
|
27
|
+
jobs:
|
|
28
|
+
autodocs-pr-check:
|
|
29
|
+
if: github.event_name == 'pull_request'
|
|
30
|
+
runs-on: windows-latest
|
|
31
|
+
|
|
32
|
+
steps:
|
|
33
|
+
- name: Checkout
|
|
34
|
+
uses: actions/checkout@v5
|
|
35
|
+
with:
|
|
36
|
+
fetch-depth: 0
|
|
37
|
+
|
|
38
|
+
- name: Setup Python
|
|
39
|
+
uses: actions/setup-python@v6
|
|
40
|
+
with:
|
|
41
|
+
python-version: '3.11'
|
|
42
|
+
|
|
43
|
+
- name: Compile AutoDocs
|
|
44
|
+
run: py -3 -m scripts.wiki.wiki_compiler
|
|
45
|
+
shell: pwsh
|
|
46
|
+
|
|
47
|
+
- name: Validate generated artifacts are committed
|
|
48
|
+
shell: pwsh
|
|
49
|
+
run: |
|
|
50
|
+
git add autodocs/generated
|
|
51
|
+
git add autodocs/site
|
|
52
|
+
$changes = git status --porcelain -- autodocs/generated autodocs/site
|
|
53
|
+
if ([string]::IsNullOrWhiteSpace($changes)) {
|
|
54
|
+
Write-Host "AutoDocs artifacts are up to date"
|
|
55
|
+
} else {
|
|
56
|
+
Write-Host "Detected generated drift:"
|
|
57
|
+
Write-Host $changes
|
|
58
|
+
Write-Error "AutoDocs artifacts are outdated. Run: py -3 -m scripts.wiki.wiki_compiler and commit generated changes."
|
|
59
|
+
exit 1
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
- name: Summary
|
|
63
|
+
shell: pwsh
|
|
64
|
+
run: |
|
|
65
|
+
echo "## AutoDocs PR Check" >> $env:GITHUB_STEP_SUMMARY
|
|
66
|
+
echo "- Validation mode: strict" >> $env:GITHUB_STEP_SUMMARY
|
|
67
|
+
echo "- Entrypoint: py -3 -m scripts.wiki.wiki_compiler" >> $env:GITHUB_STEP_SUMMARY
|
|
68
|
+
echo "- Required artifacts: autodocs/generated + autodocs/site" >> $env:GITHUB_STEP_SUMMARY
|
|
69
|
+
|
|
70
|
+
autodocs-sync:
|
|
71
|
+
if: github.event_name != 'pull_request' && github.actor != 'github-actions[bot]'
|
|
72
|
+
permissions:
|
|
73
|
+
contents: write
|
|
74
|
+
runs-on: windows-latest
|
|
75
|
+
|
|
76
|
+
steps:
|
|
77
|
+
- name: Checkout
|
|
78
|
+
uses: actions/checkout@v5
|
|
79
|
+
with:
|
|
80
|
+
fetch-depth: 0
|
|
81
|
+
|
|
82
|
+
- name: Setup Python
|
|
83
|
+
uses: actions/setup-python@v6
|
|
84
|
+
with:
|
|
85
|
+
python-version: '3.11'
|
|
86
|
+
|
|
87
|
+
- name: Compile AutoDocs
|
|
88
|
+
run: py -3 -m scripts.wiki.wiki_compiler
|
|
89
|
+
shell: pwsh
|
|
90
|
+
|
|
91
|
+
- name: Commit projected docs and unified graph
|
|
92
|
+
shell: pwsh
|
|
93
|
+
run: |
|
|
94
|
+
git config user.name "github-actions[bot]"
|
|
95
|
+
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
96
|
+
git add autodocs/generated
|
|
97
|
+
git add autodocs/site
|
|
98
|
+
$changes = git status --porcelain -- autodocs/generated autodocs/site
|
|
99
|
+
if ([string]::IsNullOrWhiteSpace($changes)) {
|
|
100
|
+
Write-Host "No AutoDocs changes to commit"
|
|
101
|
+
} else {
|
|
102
|
+
Write-Host "Detected generated drift:"
|
|
103
|
+
Write-Host $changes
|
|
104
|
+
git commit -m "chore(autodocs): refresh unified graph and projection"
|
|
105
|
+
git push
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
- name: Summary
|
|
109
|
+
shell: pwsh
|
|
110
|
+
run: |
|
|
111
|
+
echo "## AutoDocs Sync" >> $env:GITHUB_STEP_SUMMARY
|
|
112
|
+
echo "- Entrypoint: py -3 -m scripts.wiki.wiki_compiler" >> $env:GITHUB_STEP_SUMMARY
|
|
113
|
+
echo "- Output graph: autodocs/generated/unified-graph.json" >> $env:GITHUB_STEP_SUMMARY
|
|
114
|
+
echo "- Projection dir: autodocs/site" >> $env:GITHUB_STEP_SUMMARY
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
name: CI General — Spec Validation
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main, develop ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ main, develop ]
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
pull-requests: write
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
validate:
|
|
15
|
+
name: Validate Specs & Code (Windows)
|
|
16
|
+
runs-on: windows-latest
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- name: Checkout code
|
|
20
|
+
uses: actions/checkout@v4
|
|
21
|
+
|
|
22
|
+
- name: Set up Python 3.11
|
|
23
|
+
uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version: '3.11'
|
|
26
|
+
|
|
27
|
+
- name: Compile Python scripts
|
|
28
|
+
run: python -m compileall -q .\scripts
|
|
29
|
+
shell: pwsh
|
|
30
|
+
env:
|
|
31
|
+
PYTHONIOENCODING: utf-8
|
|
32
|
+
|
|
33
|
+
- name: Validate routing evals
|
|
34
|
+
run: py -3 .\scripts\intake\run-routing-evals.py
|
|
35
|
+
shell: pwsh
|
|
36
|
+
env:
|
|
37
|
+
PYTHONIOENCODING: utf-8
|
|
38
|
+
|
|
39
|
+
- name: Validate security
|
|
40
|
+
run: py -3 .\scripts\intake\validate-security.py
|
|
41
|
+
shell: pwsh
|
|
42
|
+
env:
|
|
43
|
+
PYTHONIOENCODING: utf-8
|
|
44
|
+
|
|
45
|
+
- name: Validate database routing
|
|
46
|
+
run: py -3 .\scripts\intake\validate-database-routing.py
|
|
47
|
+
shell: pwsh
|
|
48
|
+
env:
|
|
49
|
+
PYTHONIOENCODING: utf-8
|
|
50
|
+
|
|
51
|
+
- name: Validate RAG routing
|
|
52
|
+
run: py -3 .\scripts\intake\validate-rag-routing.py
|
|
53
|
+
shell: pwsh
|
|
54
|
+
env:
|
|
55
|
+
PYTHONIOENCODING: utf-8
|
|
56
|
+
|
|
57
|
+
- name: Validate context
|
|
58
|
+
run: pwsh -NoProfile -ExecutionPolicy Bypass -File .\scripts\setup\validate-context.ps1 -CIMode
|
|
59
|
+
shell: pwsh
|
|
60
|
+
|
|
61
|
+
- name: Upload eval report
|
|
62
|
+
if: always()
|
|
63
|
+
uses: actions/upload-artifact@v4
|
|
64
|
+
with:
|
|
65
|
+
name: routing-eval-report
|
|
66
|
+
path: observability/evals/routing-eval-report.json
|
|
67
|
+
retention-days: 30
|
|
68
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
name: Deploy GitHub Pages
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
paths:
|
|
7
|
+
- "autodocs/**"
|
|
8
|
+
- ".github/workflows/pages.yml"
|
|
9
|
+
workflow_dispatch:
|
|
10
|
+
|
|
11
|
+
permissions:
|
|
12
|
+
contents: read
|
|
13
|
+
pages: write
|
|
14
|
+
id-token: write
|
|
15
|
+
|
|
16
|
+
concurrency:
|
|
17
|
+
group: "pages"
|
|
18
|
+
cancel-in-progress: false
|
|
19
|
+
|
|
20
|
+
jobs:
|
|
21
|
+
build:
|
|
22
|
+
name: Build documentation
|
|
23
|
+
runs-on: ubuntu-latest
|
|
24
|
+
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v4
|
|
27
|
+
|
|
28
|
+
- name: Set up Ruby + Bundler
|
|
29
|
+
uses: ruby/setup-ruby@v1
|
|
30
|
+
with:
|
|
31
|
+
ruby-version: '3.1'
|
|
32
|
+
bundler-cache: true
|
|
33
|
+
|
|
34
|
+
- name: Setup Pages
|
|
35
|
+
uses: actions/configure-pages@v4
|
|
36
|
+
|
|
37
|
+
- name: Build with Jekyll
|
|
38
|
+
run: bundle exec jekyll build --source ./autodocs/site --destination ./build
|
|
39
|
+
env:
|
|
40
|
+
JEKYLL_ENV: production
|
|
41
|
+
|
|
42
|
+
- name: Upload artifacts
|
|
43
|
+
uses: actions/upload-pages-artifact@v3
|
|
44
|
+
with:
|
|
45
|
+
path: './build'
|
|
46
|
+
|
|
47
|
+
deploy:
|
|
48
|
+
name: Deploy to GitHub Pages
|
|
49
|
+
environment:
|
|
50
|
+
name: github-pages
|
|
51
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
52
|
+
runs-on: ubuntu-latest
|
|
53
|
+
needs: build
|
|
54
|
+
|
|
55
|
+
steps:
|
|
56
|
+
- name: Deploy to GitHub Pages
|
|
57
|
+
id: deployment
|
|
58
|
+
uses: actions/deploy-pages@v4
|
|
59
|
+
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
name: Routing Evals Gate
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
branches:
|
|
7
|
+
- main
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
|
|
13
|
+
concurrency:
|
|
14
|
+
group: routing-evals-${{ github.ref }}
|
|
15
|
+
cancel-in-progress: true
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
routing-evals:
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
timeout-minutes: 10
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- name: Checkout
|
|
24
|
+
uses: actions/checkout@v4
|
|
25
|
+
|
|
26
|
+
- name: Set up Python
|
|
27
|
+
uses: actions/setup-python@v5
|
|
28
|
+
with:
|
|
29
|
+
python-version: '3.12'
|
|
30
|
+
|
|
31
|
+
- name: Run routing evals
|
|
32
|
+
run: python ./scripts/intake/run-routing-evals.py
|
|
33
|
+
|
|
34
|
+
- name: Verify all tests passed
|
|
35
|
+
run: |
|
|
36
|
+
python - <<'PY'
|
|
37
|
+
import json
|
|
38
|
+
from pathlib import Path
|
|
39
|
+
|
|
40
|
+
report = Path('observability/evals/routing-eval-report.json')
|
|
41
|
+
if not report.exists():
|
|
42
|
+
raise SystemExit('routing-eval-report.json not found')
|
|
43
|
+
|
|
44
|
+
data = json.loads(report.read_text(encoding='utf-8'))
|
|
45
|
+
failed = int(data.get('cases_failed', 0))
|
|
46
|
+
total = int(data.get('cases_total', 0))
|
|
47
|
+
passed = int(data.get('cases_passed', 0))
|
|
48
|
+
print(f'Routing evals: {passed}/{total} passed, failed={failed}')
|
|
49
|
+
if failed > 0:
|
|
50
|
+
raise SystemExit(1)
|
|
51
|
+
PY
|
|
52
|
+
|
|
53
|
+
- name: Upload eval report
|
|
54
|
+
if: always()
|
|
55
|
+
uses: actions/upload-artifact@v4
|
|
56
|
+
with:
|
|
57
|
+
name: routing-eval-report
|
|
58
|
+
path: observability/evals/routing-eval-report.json
|
|
59
|
+
retention-days: 30
|