Feature registry¶
The feature registry keeps SDETKit broad and useful by making each command explicitly accountable to user value.
Why this exists¶
As the command surface grows, users need a deterministic way to know which commands are core, advanced, and experimental.
The registry adds a lightweight contract per command:
- Tier (
A,B,C) - Stability status (
stable,advanced,experimental) - Problem solved
- Copy-paste example
- Expected output summary
- Linked test file
- Linked docs page
Tier model¶
- Tier A: core/default commands that should be trusted first by most users.
- Tier B: advanced commands that are valuable but situational.
- Tier C: experimental/lab commands where iteration speed matters more than API stability.
Registry table (auto-generated)¶
The table below is generated from src/sdetkit/data/feature_registry.json.
Run python scripts/sync_feature_registry_docs.py after registry updates.
| Command | Tier | Status | Problem solved | Example | Test | Docs |
|---|---|---|---|---|---|---|
doctor |
A | stable | Provides deterministic repo diagnostics and readiness scoring. | python -m sdetkit doctor --format md |
tests/test_cli_doctor.py |
docs/doctor.md |
forensics |
A | stable | Compares runs and pinpoints failure deltas for root-cause analysis. | python -m sdetkit forensics compare --from examples/kits/forensics/run-a.json --to examples/kits/forensics/run-b.json |
tests/test_cli_sdetkit.py |
docs/cli.md |
gate |
A | stable | Runs fast and strict confidence checks for release control. | python -m sdetkit gate fast |
tests/test_gate_fast.py |
docs/cli.md |
integration |
A | stable | Validates integration topologies and runtime compatibility. | python -m sdetkit integration check --profile examples/kits/integration/profile.json |
tests/test_integration_feedback_closeout.py |
docs/cli.md |
intelligence |
A | stable | Analyzes failure trends and flaky behavior for triage. | python -m sdetkit intelligence --help |
tests/test_cli_sdetkit.py |
docs/cli.md |
kits |
A | stable | Discovers the curated umbrella surfaces for fast adoption. | python -m sdetkit kits list |
tests/test_cli_sdetkit.py |
docs/cli.md |
release |
A | stable | Runs release-confidence checks and gate workflows. | python -m sdetkit release gate fast |
tests/test_release_readiness.py |
docs/release-readiness.md |
repo |
A | stable | Performs repo policy and automation audits. | python -m sdetkit repo --help |
tests/test_repo_check_cli.py |
docs/repo-audit.md |
Source of truth¶
Registry data file: src/sdetkit/data/feature_registry.json
Loader module: src/sdetkit/feature_registry.py
Validation test: tests/test_feature_registry.py
CI contract command: python scripts/check_feature_registry_contract.py
Docs sync command: python scripts/sync_feature_registry_docs.py --check
CLI inspection command: python -m sdetkit feature-registry --only-core --format table
Markdown export command: python -m sdetkit feature-registry --format markdown
Maintenance lane command: bash quality.sh registry
Summary command: python -m sdetkit feature-registry --format summary-json
Assertion command (CI-safe): python -m sdetkit feature-registry --only-core --expect-command kits --expect-command release --expect-total 8 --expect-tier-count A=8 --expect-status-count stable=8 --fail-on-empty --format summary-json
Expected operating flow¶
- Add or update command in the registry.
- Link a test and docs page.
- Keep tier and stability current as command maturity changes.
- Use the registry as input for future CLI grouping and docs generation.