feat(repo): professionalization infrastructure (priorities 1-2) - #3
Merged
Merged
Conversation
Add GitHub CI workflows, security policy, code of conduct, CODEOWNERS, issue/PR templates, docs structure, and unify branding to 'Skill Router'. **Infrastructure:** - .github/workflows/tests.yml (Python 3.10-3.13 matrix) - .github/workflows/lint.yml (syntax + validate) - .github/workflows/benchmark.yml (main branch only) - .github/CODEOWNERS, ISSUE_TEMPLATE/, PULL_REQUEST_TEMPLATE.md - SECURITY.md (supported versions, vulnerability reporting, security boundary) - CODE_OF_CONDUCT.md (Contributor Covenant) **Documentation:** - Reorganized documentions.md into docs/ (7 files) - docs/architecture.md, routing.md, configuration.md, agents.md, benchmarking.md, troubleshooting.md, development.md - Updated README.md with docs reference - Restructured CHANGELOG.md with proper semver sections - Expanded CONTRIBUTING.md with routing behavior change guidelines **Branding:** - Unified to 'Skill Router' in SKILL.md, skill.py, manifest.json, templates/agent.md, benchmarks/, tests/ - Removed 'Skill_by_Satya' from public aliases (historical references in documentions.md preserved as build history) **Quality:** - Fixed Windows path test failure in test_install.py - Expanded .gitignore with coverage/tox/benchmark-results Tests: 20/20 pass | Benchmark: 36/36 = 1.0
… claims Priority 9: Scoped benchmark accuracy language — troubleshooting table now references 'lower than expected accuracy' with actionable diagnosis instead of implying a 100% accuracy expectation. Priority 10: Extended benchmark metrics in benchmarks/run_benchmark.py: - ambiguity_recall (fraction of ambiguous cases where router returned ambiguous) - latency_p95_ms (95th-percentile routing latency) - metadata_reduction_pct (fraction of full-corpus manifest not loaded per route) - Updated metrics table in docs/benchmarking.md Priority 11: Regression gate mechanism with configurable thresholds: - --save-baseline / --baseline flags for saving/loading baseline metrics - --gate flag exits 2 on threshold breach - REGRESSION_THRESHOLDS dict with conservative, documented values - compare_to_baseline() for percentage-delta warnings against saved baseline - Baseline file committed as benchmark-baseline.json Updated skill.py run_benchmark_gold() to include latency timing per case and p95/avg latency in output. Tests: 20/20 pass | Benchmark: 36/36 = 1.0
… gate Priority 9: Softened accuracy language in docs/troubleshooting.md and docs/benchmarking.md to reflect benchmark scope rather than universal claims. Priority 10: Added ambiguity_recall, latency_p95_ms, and metadata_reduction_pct to benchmark metrics. Updated skill.py built-in benchmark to include per-case latency timing. Priority 11: Added regression gate mechanism in benchmarks/run_benchmark.py: - REGRESSION_THRESHOLDS with conservative documented values - --save-baseline / --baseline flags - --gate flag (exit 2 on breach) - compare_to_baseline() for delta warnings - benchmark-baseline.json saved with current metrics Priority 12: Added --scaling mode with preset levels (16/100/500/1000/5000 skills). Actual results documented in docs/benchmarking.md with honest explanation of accuracy behavior at scale (deduplication noise, not router regression). Latency scales linearly; metadata reduction stays at ~97%. Tests: 20/20 pass
…oint Priority 13: Added pyproject.toml with stdlib-only dependencies, Python 3.10-3.13 classifiers, setuptools build backend, and project metadata. Created src/skill_router/__init__.py as a thin shim that re-exports the public API from the root skill.py module. Priority 14: Established CLI entry point 'skill-router' via skill_router:main, preserving backward compatibility with 'python3 skill.py <command>'. The installer (install.py) is untouched. Both installation paths work: python3 install.py (existing installer) pip install -e . (standard Python packaging) Verified: 20/20 tests pass | skill-router --version -> 2.0.0
Priority 15 (partial): Extracted Skill dataclass, load_manifest, and manifest_fingerprint into models.py. skill.py re-exports them for backward compatibility. This is the cleanest extraction boundary; further module separation (ranking, cache, validation) is deferred until boundaries become clearer through actual usage. Tests: 20/20 pass | Benchmark: 36/36 = 1.0
…l safety - Improved route command error message (usage hint + clearer wording) - Updated CHANGELOG.md with full unreleased section - Added dev-requirements.txt for optional dev tooling - Confirmed lint.yml covers syntax + validation on Python 3.10/3.12 - Confirmed agent-neutral architecture preserved (no hard-coded agent branches in routing core) - Confirmed installer safety: copy_safely preflights all destinations - Verified public API unchanged: 20/20 tests | 36/36 benchmark | 2.0.0 Tests: 20/20 | Benchmark: 36/36 = 1.0
skill.py is sometimes loaded via importlib (benchmark runner, tests, packaging shim) where the repo root may not be on sys.path. Insert the repo root at the head of sys.path before importing models so the sibling module resolves correctly regardless of how skill.py is invoked. Tests: 20/20 pass | Benchmark: 36/36 = 1.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add GitHub CI workflows, security policy, code of conduct, CODEOWNERS, issue/PR templates, docs structure, and unify branding to 'Skill Router'.
Infrastructure:
Documentation:
Branding:
Quality:
Tests: 20/20 pass | Benchmark: 36/36 = 1.0