xtrm-tools 0.5.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/CHANGELOG.md +504 -0
- package/README.md +201 -0
- package/cli/dist/index.cjs +57378 -0
- package/cli/dist/index.cjs.map +1 -0
- package/cli/dist/index.d.cts +2 -0
- package/cli/package.json +47 -0
- package/config/.env.example +40 -0
- package/config/hooks.json +72 -0
- package/config/instructions/agents-top.md +30 -0
- package/config/instructions/claude-top.md +30 -0
- package/config/mcp_servers.json +57 -0
- package/config/mcp_servers_optional.json +53 -0
- package/config/pi/auth.json.template +14 -0
- package/config/pi/extensions/auto-session-name/index.ts +29 -0
- package/config/pi/extensions/auto-session-name/package.json +16 -0
- package/config/pi/extensions/auto-update/index.ts +71 -0
- package/config/pi/extensions/auto-update/package.json +16 -0
- package/config/pi/extensions/beads/index.ts +166 -0
- package/config/pi/extensions/beads/package.json +16 -0
- package/config/pi/extensions/bg-process/index.ts +230 -0
- package/config/pi/extensions/bg-process/package.json +16 -0
- package/config/pi/extensions/compact-header/index.ts +69 -0
- package/config/pi/extensions/compact-header/package.json +16 -0
- package/config/pi/extensions/core/adapter.ts +52 -0
- package/config/pi/extensions/core/guard-rules.ts +102 -0
- package/config/pi/extensions/core/lib.ts +3 -0
- package/config/pi/extensions/core/logger.ts +45 -0
- package/config/pi/extensions/core/runner.ts +71 -0
- package/config/pi/extensions/core/session-state.ts +59 -0
- package/config/pi/extensions/custom-footer/index.ts +160 -0
- package/config/pi/extensions/custom-footer/package.json +16 -0
- package/config/pi/extensions/custom-provider-qwen-cli/index.ts +363 -0
- package/config/pi/extensions/custom-provider-qwen-cli/package.json +1 -0
- package/config/pi/extensions/git-checkpoint/index.ts +53 -0
- package/config/pi/extensions/git-checkpoint/package.json +16 -0
- package/config/pi/extensions/minimal-mode/index.ts +201 -0
- package/config/pi/extensions/minimal-mode/package.json +16 -0
- package/config/pi/extensions/plan-mode/README.md +65 -0
- package/config/pi/extensions/plan-mode/index.ts +417 -0
- package/config/pi/extensions/plan-mode/package.json +12 -0
- package/config/pi/extensions/plan-mode/utils.ts +324 -0
- package/config/pi/extensions/quality-gates/index.ts +67 -0
- package/config/pi/extensions/quality-gates/package.json +16 -0
- package/config/pi/extensions/service-skills/index.ts +108 -0
- package/config/pi/extensions/service-skills/package.json +16 -0
- package/config/pi/extensions/session-flow/index.ts +131 -0
- package/config/pi/extensions/session-flow/package.json +16 -0
- package/config/pi/extensions/todo/index.ts +299 -0
- package/config/pi/extensions/todo/package.json +16 -0
- package/config/pi/extensions/xtrm-loader/index.ts +89 -0
- package/config/pi/extensions/xtrm-loader/package.json +16 -0
- package/config/pi/install-schema.json +44 -0
- package/config/pi/models.json.template +76 -0
- package/config/pi/pi-worktrees-settings.json +6 -0
- package/config/pi/settings.json.template +16 -0
- package/config/settings.json +70 -0
- package/hooks/README.md +75 -0
- package/hooks/agent_context.py +105 -0
- package/hooks/beads-claim-sync.mjs +166 -0
- package/hooks/beads-commit-gate.mjs +55 -0
- package/hooks/beads-compact-restore.mjs +69 -0
- package/hooks/beads-compact-save.mjs +51 -0
- package/hooks/beads-edit-gate.mjs +45 -0
- package/hooks/beads-gate-core.mjs +215 -0
- package/hooks/beads-gate-messages.mjs +87 -0
- package/hooks/beads-gate-utils.mjs +185 -0
- package/hooks/beads-memory-gate.mjs +61 -0
- package/hooks/beads-stop-gate.mjs +32 -0
- package/hooks/branch-state.mjs +39 -0
- package/hooks/gitnexus/gitnexus-hook.cjs +222 -0
- package/hooks/guard-rules.mjs +118 -0
- package/hooks/hooks.json +116 -0
- package/hooks/main-guard-post-push.mjs +71 -0
- package/hooks/main-guard.mjs +119 -0
- package/hooks/quality-check.cjs +1286 -0
- package/hooks/quality-check.py +345 -0
- package/hooks/serena-workflow-reminder.py +74 -0
- package/package.json +77 -0
- package/project-skills/quality-gates/.claude/hooks/hook-config.json +66 -0
- package/project-skills/quality-gates/.claude/hooks/quality-check.cjs +1286 -0
- package/project-skills/quality-gates/.claude/hooks/quality-check.py +334 -0
- package/project-skills/quality-gates/.claude/settings.json +3 -0
- package/project-skills/quality-gates/.claude/skills/using-quality-gates/SKILL.md +254 -0
- package/project-skills/quality-gates/README.md +109 -0
- package/project-skills/quality-gates/evals/evals.json +181 -0
- package/project-skills/quality-gates/workspace/iteration-1/FINAL-EVAL-SUMMARY.md +75 -0
- package/project-skills/quality-gates/workspace/iteration-1/edge-case-auto-fix-verification/with_skill/outputs/response.md +59 -0
- package/project-skills/quality-gates/workspace/iteration-1/edge-case-mixed-language-project/with_skill/outputs/response.md +60 -0
- package/project-skills/quality-gates/workspace/iteration-1/eval-summary.md +105 -0
- package/project-skills/quality-gates/workspace/iteration-1/partial-install-python-only/with_skill/outputs/response.md +93 -0
- package/project-skills/quality-gates/workspace/iteration-1/python-refactor-request/with_skill/outputs/response.md +104 -0
- package/project-skills/quality-gates/workspace/iteration-1/quality-gate-error-fix/with_skill/outputs/response.md +74 -0
- package/project-skills/quality-gates/workspace/iteration-1/should-not-trigger-general-chat/with_skill/outputs/response.md +18 -0
- package/project-skills/quality-gates/workspace/iteration-1/should-not-trigger-math-question/with_skill/outputs/response.md +18 -0
- package/project-skills/quality-gates/workspace/iteration-1/should-not-trigger-unrelated-coding/with_skill/outputs/response.md +56 -0
- package/project-skills/quality-gates/workspace/iteration-1/tdd-guard-blocking-confusion/with_skill/outputs/response.md +67 -0
- package/project-skills/quality-gates/workspace/iteration-1/typescript-feature-with-tests/with_skill/outputs/response.md +97 -0
- package/project-skills/service-skills-set/.claude/git-hooks/doc_reminder.py +67 -0
- package/project-skills/service-skills-set/.claude/git-hooks/skill_staleness.py +194 -0
- package/project-skills/service-skills-set/.claude/service-registry.json +4 -0
- package/project-skills/service-skills-set/.claude/settings.json +37 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/SKILL.md +433 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/script_quality_standards.md +425 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/references/service_skill_system_guide.md +278 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/bootstrap.py +308 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/deep_dive.py +304 -0
- package/project-skills/service-skills-set/.claude/skills/creating-service-skills/scripts/scaffolder.py +482 -0
- package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/SKILL.md +231 -0
- package/project-skills/service-skills-set/.claude/skills/scoping-service-skills/scripts/scope.py +74 -0
- package/project-skills/service-skills-set/.claude/skills/updating-service-skills/SKILL.md +136 -0
- package/project-skills/service-skills-set/.claude/skills/updating-service-skills/scripts/drift_detector.py +222 -0
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/SKILL.md +108 -0
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/cataloger.py +74 -0
- package/project-skills/service-skills-set/.claude/skills/using-service-skills/scripts/skill_activator.py +152 -0
- package/project-skills/service-skills-set/README.md +93 -0
- package/project-skills/service-skills-set/install-service-skills.py +193 -0
- package/project-skills/service-skills-set/service-skills-readme.md +236 -0
- package/skills/README.txt +31 -0
- package/skills/clean-code/SKILL.md +201 -0
- package/skills/creating-service-skills/SKILL.md +433 -0
- package/skills/creating-service-skills/references/script_quality_standards.md +425 -0
- package/skills/creating-service-skills/references/service_skill_system_guide.md +278 -0
- package/skills/creating-service-skills/scripts/bootstrap.py +326 -0
- package/skills/creating-service-skills/scripts/deep_dive.py +304 -0
- package/skills/creating-service-skills/scripts/scaffolder.py +482 -0
- package/skills/delegating/SKILL.md +196 -0
- package/skills/delegating/config.yaml +210 -0
- package/skills/delegating/references/orchestration-protocols.md +41 -0
- package/skills/docker-expert/SKILL.md +409 -0
- package/skills/documenting/CHANGELOG.md +23 -0
- package/skills/documenting/README.md +148 -0
- package/skills/documenting/SKILL.md +113 -0
- package/skills/documenting/examples/example_pattern.md +70 -0
- package/skills/documenting/examples/example_reference.md +70 -0
- package/skills/documenting/examples/example_ssot_analytics.md +64 -0
- package/skills/documenting/examples/example_workflow.md +141 -0
- package/skills/documenting/references/changelog-format.md +97 -0
- package/skills/documenting/references/metadata-schema.md +136 -0
- package/skills/documenting/references/taxonomy.md +81 -0
- package/skills/documenting/references/versioning-rules.md +78 -0
- package/skills/documenting/scripts/bump_version.sh +60 -0
- package/skills/documenting/scripts/changelog/__init__.py +0 -0
- package/skills/documenting/scripts/changelog/add_entry.py +216 -0
- package/skills/documenting/scripts/changelog/bump_release.py +117 -0
- package/skills/documenting/scripts/changelog/init_changelog.py +54 -0
- package/skills/documenting/scripts/changelog/validate_changelog.py +128 -0
- package/skills/documenting/scripts/drift_detector.py +266 -0
- package/skills/documenting/scripts/generate_template.py +311 -0
- package/skills/documenting/scripts/list_by_category.sh +84 -0
- package/skills/documenting/scripts/orchestrator.py +255 -0
- package/skills/documenting/scripts/validate_metadata.py +242 -0
- package/skills/documenting/templates/CHANGELOG.md.template +13 -0
- package/skills/find-skills/SKILL.md +133 -0
- package/skills/gitnexus-debugging/SKILL.md +85 -0
- package/skills/gitnexus-exploring/SKILL.md +75 -0
- package/skills/gitnexus-impact-analysis/SKILL.md +94 -0
- package/skills/gitnexus-refactoring/SKILL.md +113 -0
- package/skills/hook-development/SKILL.md +797 -0
- package/skills/hook-development/examples/load-context.sh +55 -0
- package/skills/hook-development/examples/quality-check.js +1168 -0
- package/skills/hook-development/examples/validate-bash.sh +43 -0
- package/skills/hook-development/examples/validate-write.sh +38 -0
- package/skills/hook-development/references/advanced.md +527 -0
- package/skills/hook-development/references/migration.md +369 -0
- package/skills/hook-development/references/patterns.md +412 -0
- package/skills/hook-development/scripts/README.md +164 -0
- package/skills/hook-development/scripts/hook-linter.sh +153 -0
- package/skills/hook-development/scripts/test-hook.sh +252 -0
- package/skills/hook-development/scripts/validate-hook-schema.sh +159 -0
- package/skills/obsidian-cli/SKILL.md +106 -0
- package/skills/orchestrating-agents/SKILL.md +135 -0
- package/skills/orchestrating-agents/config.yaml +45 -0
- package/skills/orchestrating-agents/references/agent-context-integration.md +37 -0
- package/skills/orchestrating-agents/references/examples.md +45 -0
- package/skills/orchestrating-agents/references/handover-protocol.md +31 -0
- package/skills/orchestrating-agents/references/workflows.md +42 -0
- package/skills/orchestrating-agents/scripts/detect_neighbors.py +23 -0
- package/skills/prompt-improving/README.md +162 -0
- package/skills/prompt-improving/SKILL.md +74 -0
- package/skills/prompt-improving/references/analysis_commands.md +24 -0
- package/skills/prompt-improving/references/chain_of_thought.md +24 -0
- package/skills/prompt-improving/references/mcp_definitions.md +20 -0
- package/skills/prompt-improving/references/multishot.md +23 -0
- package/skills/prompt-improving/references/xml_core.md +60 -0
- package/skills/python-testing/SKILL.md +815 -0
- package/skills/scoping-service-skills/SKILL.md +231 -0
- package/skills/scoping-service-skills/scripts/scope.py +74 -0
- package/skills/senior-backend/SKILL.md +209 -0
- package/skills/senior-backend/references/api_design_patterns.md +103 -0
- package/skills/senior-backend/references/backend_security_practices.md +103 -0
- package/skills/senior-backend/references/database_optimization_guide.md +103 -0
- package/skills/senior-backend/scripts/api_load_tester.py +114 -0
- package/skills/senior-backend/scripts/api_scaffolder.py +114 -0
- package/skills/senior-backend/scripts/database_migration_tool.py +114 -0
- package/skills/senior-data-scientist/SKILL.md +226 -0
- package/skills/senior-data-scientist/references/experiment_design_frameworks.md +80 -0
- package/skills/senior-data-scientist/references/feature_engineering_patterns.md +80 -0
- package/skills/senior-data-scientist/references/statistical_methods_advanced.md +80 -0
- package/skills/senior-data-scientist/scripts/experiment_designer.py +100 -0
- package/skills/senior-data-scientist/scripts/feature_engineering_pipeline.py +100 -0
- package/skills/senior-data-scientist/scripts/model_evaluation_suite.py +100 -0
- package/skills/senior-devops/SKILL.md +209 -0
- package/skills/senior-devops/references/cicd_pipeline_guide.md +103 -0
- package/skills/senior-devops/references/deployment_strategies.md +103 -0
- package/skills/senior-devops/references/infrastructure_as_code.md +103 -0
- package/skills/senior-devops/scripts/deployment_manager.py +114 -0
- package/skills/senior-devops/scripts/pipeline_generator.py +114 -0
- package/skills/senior-devops/scripts/terraform_scaffolder.py +114 -0
- package/skills/senior-security/SKILL.md +209 -0
- package/skills/senior-security/references/cryptography_implementation.md +103 -0
- package/skills/senior-security/references/penetration_testing_guide.md +103 -0
- package/skills/senior-security/references/security_architecture_patterns.md +103 -0
- package/skills/senior-security/scripts/pentest_automator.py +114 -0
- package/skills/senior-security/scripts/security_auditor.py +114 -0
- package/skills/senior-security/scripts/threat_modeler.py +114 -0
- package/skills/skill-creator/LICENSE.txt +202 -0
- package/skills/skill-creator/SKILL.md +479 -0
- package/skills/skill-creator/agents/analyzer.md +274 -0
- package/skills/skill-creator/agents/comparator.md +202 -0
- package/skills/skill-creator/agents/grader.md +223 -0
- package/skills/skill-creator/assets/eval_review.html +146 -0
- package/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- package/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- package/skills/skill-creator/references/schemas.md +430 -0
- package/skills/skill-creator/scripts/__init__.py +0 -0
- package/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/skills/skill-creator/scripts/generate_report.py +326 -0
- package/skills/skill-creator/scripts/improve_description.py +248 -0
- package/skills/skill-creator/scripts/package_skill.py +136 -0
- package/skills/skill-creator/scripts/quick_validate.py +103 -0
- package/skills/skill-creator/scripts/run_eval.py +310 -0
- package/skills/skill-creator/scripts/run_loop.py +332 -0
- package/skills/skill-creator/scripts/utils.py +47 -0
- package/skills/sync-docs/SKILL.md +132 -0
- package/skills/sync-docs/evals/evals.json +89 -0
- package/skills/sync-docs/references/doc-structure.md +99 -0
- package/skills/sync-docs/references/schema.md +103 -0
- package/skills/sync-docs/scripts/changelog/add_entry.py +216 -0
- package/skills/sync-docs/scripts/context_gatherer.py +240 -0
- package/skills/sync-docs/scripts/doc_structure_analyzer.py +495 -0
- package/skills/sync-docs/scripts/drift_detector.py +327 -0
- package/skills/sync-docs/scripts/validate_doc.py +365 -0
- package/skills/sync-docs/scripts/validate_metadata.py +185 -0
- package/skills/sync-docs-workspace/iteration-1/benchmark.json +293 -0
- package/skills/sync-docs-workspace/iteration-1/benchmark.md +13 -0
- package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/eval_metadata.json +27 -0
- package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/outputs/result.md +210 -0
- package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/grading.json +28 -0
- package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/with_skill/run-1/timing.json +1 -0
- package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/outputs/result.md +101 -0
- package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/grading.json +28 -0
- package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/run-1/timing.json +5 -0
- package/skills/sync-docs-workspace/iteration-1/eval-doc-audit/without_skill/timing.json +5 -0
- package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/eval_metadata.json +27 -0
- package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/outputs/result.md +198 -0
- package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/grading.json +28 -0
- package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/with_skill/run-1/timing.json +1 -0
- package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/outputs/result.md +94 -0
- package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/grading.json +28 -0
- package/skills/sync-docs-workspace/iteration-1/eval-fix-mode/without_skill/run-1/timing.json +1 -0
- package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/eval_metadata.json +27 -0
- package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/outputs/result.md +237 -0
- package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/grading.json +28 -0
- package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/with_skill/run-1/timing.json +1 -0
- package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/outputs/result.md +134 -0
- package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/grading.json +28 -0
- package/skills/sync-docs-workspace/iteration-1/eval-sprint-closeout/without_skill/run-1/timing.json +1 -0
- package/skills/sync-docs-workspace/iteration-2/benchmark.json +297 -0
- package/skills/sync-docs-workspace/iteration-2/benchmark.md +13 -0
- package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/eval_metadata.json +27 -0
- package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/outputs/result.md +137 -0
- package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/grading.json +92 -0
- package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/with_skill/run-1/timing.json +1 -0
- package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/outputs/result.md +134 -0
- package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/grading.json +86 -0
- package/skills/sync-docs-workspace/iteration-2/eval-doc-audit/without_skill/run-1/timing.json +1 -0
- package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/eval_metadata.json +27 -0
- package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/outputs/result.md +193 -0
- package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/grading.json +72 -0
- package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/with_skill/run-1/timing.json +1 -0
- package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/outputs/result.md +211 -0
- package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/grading.json +91 -0
- package/skills/sync-docs-workspace/iteration-2/eval-fix-mode/without_skill/run-1/timing.json +5 -0
- package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/eval_metadata.json +27 -0
- package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/outputs/result.md +182 -0
- package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/grading.json +95 -0
- package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/with_skill/run-1/timing.json +1 -0
- package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/outputs/result.md +222 -0
- package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/grading.json +88 -0
- package/skills/sync-docs-workspace/iteration-2/eval-sprint-closeout/without_skill/run-1/timing.json +5 -0
- package/skills/sync-docs-workspace/iteration-3/benchmark.json +298 -0
- package/skills/sync-docs-workspace/iteration-3/benchmark.md +13 -0
- package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/eval_metadata.json +27 -0
- package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/outputs/result.md +125 -0
- package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/grading.json +97 -0
- package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/with_skill/run-1/timing.json +5 -0
- package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/outputs/result.md +144 -0
- package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/grading.json +78 -0
- package/skills/sync-docs-workspace/iteration-3/eval-doc-audit/without_skill/run-1/timing.json +5 -0
- package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/eval_metadata.json +27 -0
- package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/outputs/result.md +104 -0
- package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/grading.json +91 -0
- package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/with_skill/run-1/timing.json +5 -0
- package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/outputs/result.md +79 -0
- package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/grading.json +82 -0
- package/skills/sync-docs-workspace/iteration-3/eval-fix-mode/without_skill/run-1/timing.json +5 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/eval_metadata.json +27 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase1_context.json +302 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase2_drift.txt +33 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase3_analysis.json +114 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase4_fix.txt +118 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/phase5_validate.txt +38 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/outputs/result.md +158 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/grading.json +95 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/with_skill/run-1/timing.json +5 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/outputs/result.md +71 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/grading.json +90 -0
- package/skills/sync-docs-workspace/iteration-3/eval-sprint-closeout/without_skill/run-1/timing.json +5 -0
- package/skills/test-planning/SKILL.md +208 -0
- package/skills/test-planning/evals/evals.json +23 -0
- package/skills/updating-service-skills/SKILL.md +136 -0
- package/skills/updating-service-skills/scripts/drift_detector.py +222 -0
- package/skills/using-TDD/SKILL.md +410 -0
- package/skills/using-quality-gates/SKILL.md +254 -0
- package/skills/using-serena-lsp/README.md +8 -0
- package/skills/using-serena-lsp/REFERENCE.md +194 -0
- package/skills/using-serena-lsp/SKILL.md +82 -0
- package/skills/using-service-skills/SKILL.md +108 -0
- package/skills/using-service-skills/scripts/cataloger.py +74 -0
- package/skills/using-service-skills/scripts/skill_activator.py +152 -0
- package/skills/using-service-skills/scripts/test_skill_activator.py +58 -0
- package/skills/using-xtrm/SKILL.md +245 -0
- package/skills/xt-end/SKILL.md +128 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Experiment Design Frameworks
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
World-class experiment design frameworks for senior data scientist.
|
|
6
|
+
|
|
7
|
+
## Core Principles
|
|
8
|
+
|
|
9
|
+
### Production-First Design
|
|
10
|
+
|
|
11
|
+
Always design with production in mind:
|
|
12
|
+
- Scalability: Handle 10x current load
|
|
13
|
+
- Reliability: 99.9% uptime target
|
|
14
|
+
- Maintainability: Clear, documented code
|
|
15
|
+
- Observability: Monitor everything
|
|
16
|
+
|
|
17
|
+
### Performance by Design
|
|
18
|
+
|
|
19
|
+
Optimize from the start:
|
|
20
|
+
- Efficient algorithms
|
|
21
|
+
- Resource awareness
|
|
22
|
+
- Strategic caching
|
|
23
|
+
- Batch processing
|
|
24
|
+
|
|
25
|
+
### Security & Privacy
|
|
26
|
+
|
|
27
|
+
Build security in:
|
|
28
|
+
- Input validation
|
|
29
|
+
- Data encryption
|
|
30
|
+
- Access control
|
|
31
|
+
- Audit logging
|
|
32
|
+
|
|
33
|
+
## Advanced Patterns
|
|
34
|
+
|
|
35
|
+
### Pattern 1: Distributed Processing
|
|
36
|
+
|
|
37
|
+
Enterprise-scale data processing with fault tolerance.
|
|
38
|
+
|
|
39
|
+
### Pattern 2: Real-Time Systems
|
|
40
|
+
|
|
41
|
+
Low-latency, high-throughput systems.
|
|
42
|
+
|
|
43
|
+
### Pattern 3: ML at Scale
|
|
44
|
+
|
|
45
|
+
Production ML with monitoring and automation.
|
|
46
|
+
|
|
47
|
+
## Best Practices
|
|
48
|
+
|
|
49
|
+
### Code Quality
|
|
50
|
+
- Comprehensive testing
|
|
51
|
+
- Clear documentation
|
|
52
|
+
- Code reviews
|
|
53
|
+
- Type hints
|
|
54
|
+
|
|
55
|
+
### Performance
|
|
56
|
+
- Profile before optimizing
|
|
57
|
+
- Monitor continuously
|
|
58
|
+
- Cache strategically
|
|
59
|
+
- Batch operations
|
|
60
|
+
|
|
61
|
+
### Reliability
|
|
62
|
+
- Design for failure
|
|
63
|
+
- Implement retries
|
|
64
|
+
- Use circuit breakers
|
|
65
|
+
- Monitor health
|
|
66
|
+
|
|
67
|
+
## Tools & Technologies
|
|
68
|
+
|
|
69
|
+
Essential tools for this domain:
|
|
70
|
+
- Development frameworks
|
|
71
|
+
- Testing libraries
|
|
72
|
+
- Deployment platforms
|
|
73
|
+
- Monitoring solutions
|
|
74
|
+
|
|
75
|
+
## Further Reading
|
|
76
|
+
|
|
77
|
+
- Research papers
|
|
78
|
+
- Industry blogs
|
|
79
|
+
- Conference talks
|
|
80
|
+
- Open source projects
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Feature Engineering Patterns
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
World-class feature engineering patterns for senior data scientist.
|
|
6
|
+
|
|
7
|
+
## Core Principles
|
|
8
|
+
|
|
9
|
+
### Production-First Design
|
|
10
|
+
|
|
11
|
+
Always design with production in mind:
|
|
12
|
+
- Scalability: Handle 10x current load
|
|
13
|
+
- Reliability: 99.9% uptime target
|
|
14
|
+
- Maintainability: Clear, documented code
|
|
15
|
+
- Observability: Monitor everything
|
|
16
|
+
|
|
17
|
+
### Performance by Design
|
|
18
|
+
|
|
19
|
+
Optimize from the start:
|
|
20
|
+
- Efficient algorithms
|
|
21
|
+
- Resource awareness
|
|
22
|
+
- Strategic caching
|
|
23
|
+
- Batch processing
|
|
24
|
+
|
|
25
|
+
### Security & Privacy
|
|
26
|
+
|
|
27
|
+
Build security in:
|
|
28
|
+
- Input validation
|
|
29
|
+
- Data encryption
|
|
30
|
+
- Access control
|
|
31
|
+
- Audit logging
|
|
32
|
+
|
|
33
|
+
## Advanced Patterns
|
|
34
|
+
|
|
35
|
+
### Pattern 1: Distributed Processing
|
|
36
|
+
|
|
37
|
+
Enterprise-scale data processing with fault tolerance.
|
|
38
|
+
|
|
39
|
+
### Pattern 2: Real-Time Systems
|
|
40
|
+
|
|
41
|
+
Low-latency, high-throughput systems.
|
|
42
|
+
|
|
43
|
+
### Pattern 3: ML at Scale
|
|
44
|
+
|
|
45
|
+
Production ML with monitoring and automation.
|
|
46
|
+
|
|
47
|
+
## Best Practices
|
|
48
|
+
|
|
49
|
+
### Code Quality
|
|
50
|
+
- Comprehensive testing
|
|
51
|
+
- Clear documentation
|
|
52
|
+
- Code reviews
|
|
53
|
+
- Type hints
|
|
54
|
+
|
|
55
|
+
### Performance
|
|
56
|
+
- Profile before optimizing
|
|
57
|
+
- Monitor continuously
|
|
58
|
+
- Cache strategically
|
|
59
|
+
- Batch operations
|
|
60
|
+
|
|
61
|
+
### Reliability
|
|
62
|
+
- Design for failure
|
|
63
|
+
- Implement retries
|
|
64
|
+
- Use circuit breakers
|
|
65
|
+
- Monitor health
|
|
66
|
+
|
|
67
|
+
## Tools & Technologies
|
|
68
|
+
|
|
69
|
+
Essential tools for this domain:
|
|
70
|
+
- Development frameworks
|
|
71
|
+
- Testing libraries
|
|
72
|
+
- Deployment platforms
|
|
73
|
+
- Monitoring solutions
|
|
74
|
+
|
|
75
|
+
## Further Reading
|
|
76
|
+
|
|
77
|
+
- Research papers
|
|
78
|
+
- Industry blogs
|
|
79
|
+
- Conference talks
|
|
80
|
+
- Open source projects
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Statistical Methods Advanced
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
World-class statistical methods advanced for senior data scientist.
|
|
6
|
+
|
|
7
|
+
## Core Principles
|
|
8
|
+
|
|
9
|
+
### Production-First Design
|
|
10
|
+
|
|
11
|
+
Always design with production in mind:
|
|
12
|
+
- Scalability: Handle 10x current load
|
|
13
|
+
- Reliability: 99.9% uptime target
|
|
14
|
+
- Maintainability: Clear, documented code
|
|
15
|
+
- Observability: Monitor everything
|
|
16
|
+
|
|
17
|
+
### Performance by Design
|
|
18
|
+
|
|
19
|
+
Optimize from the start:
|
|
20
|
+
- Efficient algorithms
|
|
21
|
+
- Resource awareness
|
|
22
|
+
- Strategic caching
|
|
23
|
+
- Batch processing
|
|
24
|
+
|
|
25
|
+
### Security & Privacy
|
|
26
|
+
|
|
27
|
+
Build security in:
|
|
28
|
+
- Input validation
|
|
29
|
+
- Data encryption
|
|
30
|
+
- Access control
|
|
31
|
+
- Audit logging
|
|
32
|
+
|
|
33
|
+
## Advanced Patterns
|
|
34
|
+
|
|
35
|
+
### Pattern 1: Distributed Processing
|
|
36
|
+
|
|
37
|
+
Enterprise-scale data processing with fault tolerance.
|
|
38
|
+
|
|
39
|
+
### Pattern 2: Real-Time Systems
|
|
40
|
+
|
|
41
|
+
Low-latency, high-throughput systems.
|
|
42
|
+
|
|
43
|
+
### Pattern 3: ML at Scale
|
|
44
|
+
|
|
45
|
+
Production ML with monitoring and automation.
|
|
46
|
+
|
|
47
|
+
## Best Practices
|
|
48
|
+
|
|
49
|
+
### Code Quality
|
|
50
|
+
- Comprehensive testing
|
|
51
|
+
- Clear documentation
|
|
52
|
+
- Code reviews
|
|
53
|
+
- Type hints
|
|
54
|
+
|
|
55
|
+
### Performance
|
|
56
|
+
- Profile before optimizing
|
|
57
|
+
- Monitor continuously
|
|
58
|
+
- Cache strategically
|
|
59
|
+
- Batch operations
|
|
60
|
+
|
|
61
|
+
### Reliability
|
|
62
|
+
- Design for failure
|
|
63
|
+
- Implement retries
|
|
64
|
+
- Use circuit breakers
|
|
65
|
+
- Monitor health
|
|
66
|
+
|
|
67
|
+
## Tools & Technologies
|
|
68
|
+
|
|
69
|
+
Essential tools for this domain:
|
|
70
|
+
- Development frameworks
|
|
71
|
+
- Testing libraries
|
|
72
|
+
- Deployment platforms
|
|
73
|
+
- Monitoring solutions
|
|
74
|
+
|
|
75
|
+
## Further Reading
|
|
76
|
+
|
|
77
|
+
- Research papers
|
|
78
|
+
- Industry blogs
|
|
79
|
+
- Conference talks
|
|
80
|
+
- Open source projects
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Experiment Designer
|
|
4
|
+
Production-grade tool for senior data scientist
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
import json
|
|
10
|
+
import logging
|
|
11
|
+
import argparse
|
|
12
|
+
from pathlib import Path
|
|
13
|
+
from typing import Dict, List, Optional
|
|
14
|
+
from datetime import datetime
|
|
15
|
+
|
|
16
|
+
logging.basicConfig(
|
|
17
|
+
level=logging.INFO,
|
|
18
|
+
format='%(asctime)s - %(levelname)s - %(message)s'
|
|
19
|
+
)
|
|
20
|
+
logger = logging.getLogger(__name__)
|
|
21
|
+
|
|
22
|
+
class ExperimentDesigner:
|
|
23
|
+
"""Production-grade experiment designer"""
|
|
24
|
+
|
|
25
|
+
def __init__(self, config: Dict):
|
|
26
|
+
self.config = config
|
|
27
|
+
self.results = {
|
|
28
|
+
'status': 'initialized',
|
|
29
|
+
'start_time': datetime.now().isoformat(),
|
|
30
|
+
'processed_items': 0
|
|
31
|
+
}
|
|
32
|
+
logger.info(f"Initialized {self.__class__.__name__}")
|
|
33
|
+
|
|
34
|
+
def validate_config(self) -> bool:
|
|
35
|
+
"""Validate configuration"""
|
|
36
|
+
logger.info("Validating configuration...")
|
|
37
|
+
# Add validation logic
|
|
38
|
+
logger.info("Configuration validated")
|
|
39
|
+
return True
|
|
40
|
+
|
|
41
|
+
def process(self) -> Dict:
|
|
42
|
+
"""Main processing logic"""
|
|
43
|
+
logger.info("Starting processing...")
|
|
44
|
+
|
|
45
|
+
try:
|
|
46
|
+
self.validate_config()
|
|
47
|
+
|
|
48
|
+
# Main processing
|
|
49
|
+
result = self._execute()
|
|
50
|
+
|
|
51
|
+
self.results['status'] = 'completed'
|
|
52
|
+
self.results['end_time'] = datetime.now().isoformat()
|
|
53
|
+
|
|
54
|
+
logger.info("Processing completed successfully")
|
|
55
|
+
return self.results
|
|
56
|
+
|
|
57
|
+
except Exception as e:
|
|
58
|
+
self.results['status'] = 'failed'
|
|
59
|
+
self.results['error'] = str(e)
|
|
60
|
+
logger.error(f"Processing failed: {e}")
|
|
61
|
+
raise
|
|
62
|
+
|
|
63
|
+
def _execute(self) -> Dict:
|
|
64
|
+
"""Execute main logic"""
|
|
65
|
+
# Implementation here
|
|
66
|
+
return {'success': True}
|
|
67
|
+
|
|
68
|
+
def main():
|
|
69
|
+
"""Main entry point"""
|
|
70
|
+
parser = argparse.ArgumentParser(
|
|
71
|
+
description="Experiment Designer"
|
|
72
|
+
)
|
|
73
|
+
parser.add_argument('--input', '-i', required=True, help='Input path')
|
|
74
|
+
parser.add_argument('--output', '-o', required=True, help='Output path')
|
|
75
|
+
parser.add_argument('--config', '-c', help='Configuration file')
|
|
76
|
+
parser.add_argument('--verbose', '-v', action='store_true', help='Verbose output')
|
|
77
|
+
|
|
78
|
+
args = parser.parse_args()
|
|
79
|
+
|
|
80
|
+
if args.verbose:
|
|
81
|
+
logging.getLogger().setLevel(logging.DEBUG)
|
|
82
|
+
|
|
83
|
+
try:
|
|
84
|
+
config = {
|
|
85
|
+
'input': args.input,
|
|
86
|
+
'output': args.output
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
processor = ExperimentDesigner(config)
|
|
90
|
+
results = processor.process()
|
|
91
|
+
|
|
92
|
+
print(json.dumps(results, indent=2))
|
|
93
|
+
sys.exit(0)
|
|
94
|
+
|
|
95
|
+
except Exception as e:
|
|
96
|
+
logger.error(f"Fatal error: {e}")
|
|
97
|
+
sys.exit(1)
|
|
98
|
+
|
|
99
|
+
if __name__ == '__main__':
|
|
100
|
+
main()
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Feature Engineering Pipeline
|
|
4
|
+
Production-grade tool for senior data scientist
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
import json
|
|
10
|
+
import logging
|
|
11
|
+
import argparse
|
|
12
|
+
from pathlib import Path
|
|
13
|
+
from typing import Dict, List, Optional
|
|
14
|
+
from datetime import datetime
|
|
15
|
+
|
|
16
|
+
logging.basicConfig(
|
|
17
|
+
level=logging.INFO,
|
|
18
|
+
format='%(asctime)s - %(levelname)s - %(message)s'
|
|
19
|
+
)
|
|
20
|
+
logger = logging.getLogger(__name__)
|
|
21
|
+
|
|
22
|
+
class FeatureEngineeringPipeline:
|
|
23
|
+
"""Production-grade feature engineering pipeline"""
|
|
24
|
+
|
|
25
|
+
def __init__(self, config: Dict):
|
|
26
|
+
self.config = config
|
|
27
|
+
self.results = {
|
|
28
|
+
'status': 'initialized',
|
|
29
|
+
'start_time': datetime.now().isoformat(),
|
|
30
|
+
'processed_items': 0
|
|
31
|
+
}
|
|
32
|
+
logger.info(f"Initialized {self.__class__.__name__}")
|
|
33
|
+
|
|
34
|
+
def validate_config(self) -> bool:
|
|
35
|
+
"""Validate configuration"""
|
|
36
|
+
logger.info("Validating configuration...")
|
|
37
|
+
# Add validation logic
|
|
38
|
+
logger.info("Configuration validated")
|
|
39
|
+
return True
|
|
40
|
+
|
|
41
|
+
def process(self) -> Dict:
|
|
42
|
+
"""Main processing logic"""
|
|
43
|
+
logger.info("Starting processing...")
|
|
44
|
+
|
|
45
|
+
try:
|
|
46
|
+
self.validate_config()
|
|
47
|
+
|
|
48
|
+
# Main processing
|
|
49
|
+
result = self._execute()
|
|
50
|
+
|
|
51
|
+
self.results['status'] = 'completed'
|
|
52
|
+
self.results['end_time'] = datetime.now().isoformat()
|
|
53
|
+
|
|
54
|
+
logger.info("Processing completed successfully")
|
|
55
|
+
return self.results
|
|
56
|
+
|
|
57
|
+
except Exception as e:
|
|
58
|
+
self.results['status'] = 'failed'
|
|
59
|
+
self.results['error'] = str(e)
|
|
60
|
+
logger.error(f"Processing failed: {e}")
|
|
61
|
+
raise
|
|
62
|
+
|
|
63
|
+
def _execute(self) -> Dict:
|
|
64
|
+
"""Execute main logic"""
|
|
65
|
+
# Implementation here
|
|
66
|
+
return {'success': True}
|
|
67
|
+
|
|
68
|
+
def main():
|
|
69
|
+
"""Main entry point"""
|
|
70
|
+
parser = argparse.ArgumentParser(
|
|
71
|
+
description="Feature Engineering Pipeline"
|
|
72
|
+
)
|
|
73
|
+
parser.add_argument('--input', '-i', required=True, help='Input path')
|
|
74
|
+
parser.add_argument('--output', '-o', required=True, help='Output path')
|
|
75
|
+
parser.add_argument('--config', '-c', help='Configuration file')
|
|
76
|
+
parser.add_argument('--verbose', '-v', action='store_true', help='Verbose output')
|
|
77
|
+
|
|
78
|
+
args = parser.parse_args()
|
|
79
|
+
|
|
80
|
+
if args.verbose:
|
|
81
|
+
logging.getLogger().setLevel(logging.DEBUG)
|
|
82
|
+
|
|
83
|
+
try:
|
|
84
|
+
config = {
|
|
85
|
+
'input': args.input,
|
|
86
|
+
'output': args.output
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
processor = FeatureEngineeringPipeline(config)
|
|
90
|
+
results = processor.process()
|
|
91
|
+
|
|
92
|
+
print(json.dumps(results, indent=2))
|
|
93
|
+
sys.exit(0)
|
|
94
|
+
|
|
95
|
+
except Exception as e:
|
|
96
|
+
logger.error(f"Fatal error: {e}")
|
|
97
|
+
sys.exit(1)
|
|
98
|
+
|
|
99
|
+
if __name__ == '__main__':
|
|
100
|
+
main()
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Model Evaluation Suite
|
|
4
|
+
Production-grade tool for senior data scientist
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
import os
|
|
8
|
+
import sys
|
|
9
|
+
import json
|
|
10
|
+
import logging
|
|
11
|
+
import argparse
|
|
12
|
+
from pathlib import Path
|
|
13
|
+
from typing import Dict, List, Optional
|
|
14
|
+
from datetime import datetime
|
|
15
|
+
|
|
16
|
+
logging.basicConfig(
|
|
17
|
+
level=logging.INFO,
|
|
18
|
+
format='%(asctime)s - %(levelname)s - %(message)s'
|
|
19
|
+
)
|
|
20
|
+
logger = logging.getLogger(__name__)
|
|
21
|
+
|
|
22
|
+
class ModelEvaluationSuite:
|
|
23
|
+
"""Production-grade model evaluation suite"""
|
|
24
|
+
|
|
25
|
+
def __init__(self, config: Dict):
|
|
26
|
+
self.config = config
|
|
27
|
+
self.results = {
|
|
28
|
+
'status': 'initialized',
|
|
29
|
+
'start_time': datetime.now().isoformat(),
|
|
30
|
+
'processed_items': 0
|
|
31
|
+
}
|
|
32
|
+
logger.info(f"Initialized {self.__class__.__name__}")
|
|
33
|
+
|
|
34
|
+
def validate_config(self) -> bool:
|
|
35
|
+
"""Validate configuration"""
|
|
36
|
+
logger.info("Validating configuration...")
|
|
37
|
+
# Add validation logic
|
|
38
|
+
logger.info("Configuration validated")
|
|
39
|
+
return True
|
|
40
|
+
|
|
41
|
+
def process(self) -> Dict:
|
|
42
|
+
"""Main processing logic"""
|
|
43
|
+
logger.info("Starting processing...")
|
|
44
|
+
|
|
45
|
+
try:
|
|
46
|
+
self.validate_config()
|
|
47
|
+
|
|
48
|
+
# Main processing
|
|
49
|
+
result = self._execute()
|
|
50
|
+
|
|
51
|
+
self.results['status'] = 'completed'
|
|
52
|
+
self.results['end_time'] = datetime.now().isoformat()
|
|
53
|
+
|
|
54
|
+
logger.info("Processing completed successfully")
|
|
55
|
+
return self.results
|
|
56
|
+
|
|
57
|
+
except Exception as e:
|
|
58
|
+
self.results['status'] = 'failed'
|
|
59
|
+
self.results['error'] = str(e)
|
|
60
|
+
logger.error(f"Processing failed: {e}")
|
|
61
|
+
raise
|
|
62
|
+
|
|
63
|
+
def _execute(self) -> Dict:
|
|
64
|
+
"""Execute main logic"""
|
|
65
|
+
# Implementation here
|
|
66
|
+
return {'success': True}
|
|
67
|
+
|
|
68
|
+
def main():
|
|
69
|
+
"""Main entry point"""
|
|
70
|
+
parser = argparse.ArgumentParser(
|
|
71
|
+
description="Model Evaluation Suite"
|
|
72
|
+
)
|
|
73
|
+
parser.add_argument('--input', '-i', required=True, help='Input path')
|
|
74
|
+
parser.add_argument('--output', '-o', required=True, help='Output path')
|
|
75
|
+
parser.add_argument('--config', '-c', help='Configuration file')
|
|
76
|
+
parser.add_argument('--verbose', '-v', action='store_true', help='Verbose output')
|
|
77
|
+
|
|
78
|
+
args = parser.parse_args()
|
|
79
|
+
|
|
80
|
+
if args.verbose:
|
|
81
|
+
logging.getLogger().setLevel(logging.DEBUG)
|
|
82
|
+
|
|
83
|
+
try:
|
|
84
|
+
config = {
|
|
85
|
+
'input': args.input,
|
|
86
|
+
'output': args.output
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
processor = ModelEvaluationSuite(config)
|
|
90
|
+
results = processor.process()
|
|
91
|
+
|
|
92
|
+
print(json.dumps(results, indent=2))
|
|
93
|
+
sys.exit(0)
|
|
94
|
+
|
|
95
|
+
except Exception as e:
|
|
96
|
+
logger.error(f"Fatal error: {e}")
|
|
97
|
+
sys.exit(1)
|
|
98
|
+
|
|
99
|
+
if __name__ == '__main__':
|
|
100
|
+
main()
|