1 viewer
rust 1,854,448 · typescript 233,181 · javascript 132,491 · python 19,572 · 6,381 files · digest 17250db9be6a · built in 2.2 s · crystals off
cre8-app-credential credential cargo crate
CredentialApp — the verifiable-badge sink: a thin form that turns a completion fact from another app (a finished Course, later a Festival pass) into an earned, identity-bound credential. Composes Course (verify) + Passport (bind) by connection name — no crate dependency. (2026-06-24).
8workspace deps
1direct dependents
8transitive dependents
29calls out
0calls in
38.4call-graph weight
0.0%exact crystals
Neighbourhood
Left: crates that declare this one. Right: crates it declares (dev-dependencies included). Edge width grows with resolved calls.
Files
lowhigh
File call graph
Resolved calls between this crate's files, callers left of callees.
Heaviest functions
By call-graph weight (PageRank; 1.0 is the average function). 52 functions in all.
| function | kind | lines | cyclomatic | callers | callees | weight | crystal |
|---|---|---|---|---|---|---|---|
| interpret_course_progresssrc/connection.rs:145 | fn | 14 | 3 | 5 | 0 | 2.3 | |
| derive_credential_idsrc/model.rs:74 | fn | 3 | 1 | 2 | 2 | 1.7 | |
| parsesrc/connection.rs:398 | fn | 3 | 1 | 5 | 0 | 1.5 | |
| list_credentialssrc/model.rs:156 | fn | 3 | 1 | 3 | 2 | 1.5 | |
| parse_credentialsrc/model.rs:167 | fn | 18 | 1 | 2 | 5 | 1.4 | |
| runsrc/init.rs:7 | fn | 3 | 1 | 2 | 0 | 1.3 | |
| CredentialSource::keysrc/model.rs:55 | method | 8 | 4 | 1 | 0 | 1.2 | |
| load_credentialsrc/model.rs:151 | fn | 3 | 1 | 6 | 3 | 1.1 | |
| upsert_credentialsrc/model.rs:147 | fn | 3 | 1 | 6 | 3 | 1 | |
| requiredsrc/connection.rs:129 | fn | 3 | 1 | 4 | 0 | 0.9 | |
| Credential::newsrc/model.rs:107 | method | 23 | 1 | 5 | 1 | 0.9 | |
| connectsrc/connection.rs:118 | fn | 10 | 1 | 1 | 0 | 0.9 | |
| list_credentials_for_holdersrc/model.rs:161 | fn | 5 | 1 | 2 | 1 | 0.8 | |
| Credential::propssrc/model.rs:131 | method | 14 | 1 | 1 | 0 | 0.8 | |
| graphsrc/model.rs:191 | fn | 3 | 1 | 3 | 0 | 0.8 | |
| festival_titlesrc/connection.rs:274 | fn | 8 | 1 | 1 | 1 | 0.7 | |
| claim_handlersrc/connection.rs:160 | fn | 64 | 8 | 1 | 10 | 0.7 | |
| issue_handlersrc/connection.rs:285 | fn | 24 | 6 | 1 | 8 | 0.7 | |
| get_handlersrc/connection.rs:360 | fn | 7 | 2 | 1 | 3 | 0.7 | |
| list_handlersrc/connection.rs:368 | fn | 14 | 2 | 1 | 3 | 0.7 | |
| revoke_handlersrc/connection.rs:383 | fn | 12 | 1 | 1 | 5 | 0.7 | |
| course_titlesrc/connection.rs:264 | fn | 8 | 1 | 1 | 1 | 0.7 | |
| bind_passportsrc/connection.rs:333 | fn | 24 | 3 | 2 | 1 | 0.6 | |
| verify_course_completionsrc/connection.rs:233 | fn | 11 | 2 | 1 | 3 | 0.6 | |
| verify_festival_passsrc/connection.rs:247 | fn | 15 | 2 | 1 | 2 | 0.6 | |
| input_nodesrc/app.rs:159 | fn | 8 | 1 | 0 | 0 | 0.5 | |
| credentials_view_payloadsrc/app.rs:168 | fn | 66 | 1 | 0 | 0 | 0.5 | |
| CredentialApp::metasrc/app.rs:236 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| CredentialApp::view_definitionssrc/app.rs:241 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| CredentialApp::bootsrc/app.rs:245 | trait impl | 3 | 1 | 0 | 1 | 0.5 | |
| CredentialApp::handlesrc/app.rs:249 | trait impl | 3 | 1 | 0 | 1 | 0.5 | |
| CredentialApp::connectsrc/app.rs:253 | trait impl | 3 | 1 | 0 | 1 | 0.5 | |
| CredentialApp::connection_extrassrc/app.rs:257 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| CredentialApp::route_handler_specssrc/app.rs:261 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| CredentialApp::connection_handlerssrc/app.rs:265 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| CredentialApp::mcp_toolssrc/app.rs:269 | trait impl | 3 | 1 | 0 | 0 | 0.5 | |
| CredentialApp::cli_commandssrc/app.rs:273 | trait impl | 33 | 1 | 0 | 3 | 0.5 | |
| default_truesrc/connection.rs:97 | fn | 3 | 1 | 0 | 0 | 0.5 | |
| PassportBinding::labelsrc/connection.rs:320 | method | 8 | 4 | 0 | 0 | 0.5 | |
| handle_credential_claimsrc/connection.rs:402 | fn | 3 | 1 | 0 | 2 | 0.5 |
Outside the workspace
anyhow hyperdb serde serde_json