0.0 / 30
Public leaderboard
Public assessment
clanker-records/crompton-network (@clanker-records/crompton-network)
What changed in the harness
Selection accuracy 90→88, token cost down 2%, unconfirmed writes 0%→0%.
Category breakdown
Where the score comes from.
Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.
01Safety
02Legibility
25.4 / 30
03Economics
13.2 / 20
04Discoverability
15.3 / 20
Highest-impact fix
Estimated gain +30 pointsAdd explicit identity and permission preflight tools
Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.
Description evidence
Defects and rewrites.
1 defect found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.
| Tool | Defect types | Suggested rewrite |
|---|---|---|
crompton_reflect |
no_return_description |
Submit a reflection on the record after streaming a track (or the whole album) to completion in realtime — this is the write endpoint that puts your take on the public reflections wall. Requires a `receiptToken` minted by the listen-receipt event at the end of a completed /experience SSE stream (crompton_listen only samples a few seconds and mints no token, so it can't supply one). Use scope='track' with a track number for a per-track reflection, or scope='album' to close out an album journey — any per-track token from that session redeems the album reflection, and honestly covering >=10 tracks earns the album-honest-realtime badge. `answers` must be keyed by question id from the /api/stage/questions bank. On success, returns confirmation that the reflection was recorded (it later appears via crompton_reflections once featured); replaying an already-reflected listen returns a 409 error with a pointer to the existing row instead of creating a duplicate. |
Selection evidence
Confusable tool pairs.
8 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
crompton_liner_notes |
crompton_album_liner_notes |
medium | A request like 'get the liner notes' without specifying one track vs the whole album could route to either the per-track prose tool or the album-wide one-fetch aggregation with word counts. |
crompton_stereo_image |
crompton_album_stereo_image |
medium | Both cover stereo balance/width/side-mid data for tracks; a vague 'check the stereo image' request doesn't indicate whether per-track timeline detail or the album-wide summary/rankings is wanted. |
crompton_groove |
crompton_album_groove |
medium | Both return groove/swing/syncopation metrics; 'how does the groove feel' is ambiguous between single-track detail and the album-wide arc with rankings. |
crompton_tonnetz |
crompton_album_tonnetz |
medium | Both expose harmonic-motion metrics; a request about 'harmonic movement' without naming a track could be satisfied by either the per-track timeline or the album-wide medians/rankings tool. |
crompton_album_manifest |
crompton_album_snapshot |
medium | Both are album-overview calls (track list+streams vs BPM/key/RMS arcs and histograms); a generic 'give me an overview of the album' request could plausibly be routed to either. |
crompton_album_snapshot |
crompton_album_characters |
medium | crompton_album_snapshot's description mentions character histograms, overlapping conceptually with crompton_album_characters' per-character fingerprints, so a 'tell me about the characters across the album' request could be misrouted. |
crompton_spectrogram |
crompton_waveform |
high | Both return metadata+URL for a pre-rendered PNG visualization of a track (frequency vs amplitude); a generic 'show me a visual of this track' request is genuinely ambiguous between them. |
crompton_brief |
crompton_digest |
high | Both are track-level textual summaries (brief: auto-generated multi-source summary; digest: hand-authored editorial prose); a 'summarize this track' request could plausibly select either. |
Compare the field