| Metadata | Value |
|---|---|
| Status | Active |
| Version | 1.1.0 |
| Last Updated | 2026-09-10 |
| Author | Sangeetha Grantha Team |
| Document Type | Design reference |
[!NOTE] Design/reference material: this page may include proposals or earlier implementation assumptions. Use current feature map for implemented behavior and current operating steps.
The steel thread is an end-to-end smoke test that verifies the core functionality of Sangita Grantha. It validates database connectivity, migrations, backend health, API endpoints, and frontend startup.
The steel thread test verifies:
All checks must pass for the steel thread to be considered successful.
The steel thread is executed via the Sangita CLI tool:
cd tools/sangita-cli
cargo run -- test steel-thread
Prerequisites:
The steel thread runs in four phases:
/health endpoint to respondGET /v1/krithis/searchGET /v1/audit/logs (with bearer token)http://localhost:5001http://0.0.0.0:8080ADMIN_TOKEN (from config)The test uses configuration from:
config/application.local.toml (database, backend settings)API_HOST (default: 0.0.0.0)API_PORT (default: 8080)FRONTEND_PORT (default: 5001)ADMIN_TOKEN (default: dev-admin-token)The test uses the same database management commands as development:
# Database is managed via Sangita CLI
cargo run -- db migrate # Apply migrations
cargo run -- db health # Verify connectivity
The backend health endpoint (/health) must return 200 OK before proceeding to API tests.
Public Endpoint:
GET /v1/krithis/search
# Expected: 200 OK (even with empty results)
Admin Endpoint:
GET /v1/audit/logs
Authorization: Bearer <ADMIN_TOKEN>
# Expected: 200 OK with audit log array
The frontend dev server is started and verified to be accessible on the configured port.
After successful execution, the steel thread provides:
cargo run -- db healthconfig/application.local.tomldatabase/migrations/./gradlew :modules:backend:api:buildlsof -i :8080cd modules/frontend/sangita-admin-web && bun installlsof -i :5001ADMIN_TOKEN matches config: config/application.local.toml# Full development stack (includes steel thread verification)
cargo run -- dev --start-db
# Database management
cargo run -- db reset # Reset database (drop → create → migrate → seed)
cargo run -- db migrate # Apply migrations only
cargo run -- db health # Check database health
# Quick smoke test (health + search only)
cargo run -- test upload --base-url http://localhost:8080