Skip to content

feat(repo): professionalization infrastructure (priorities 1-2) - #3

Merged
coderdoctor97 merged 9 commits into
mainfrom
feat/professionalization-infrastructure
Aug 26, 2026
Merged

feat(repo): professionalization infrastructure (priorities 1-2)#3
coderdoctor97 merged 9 commits into
mainfrom
feat/professionalization-infrastructure

Conversation

@coderdoctor97

Copy link
Copy Markdown
Owner

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

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
@coderdoctor97
coderdoctor97 merged commit 38920dd into main Aug 26, 2026
0 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant