You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Storyboard signed_requests shows 9 skipped vectors on every tenant. 4 are explicit `skipVectors` in `run-storyboards.ts` (007/018/020/025); the remaining 5 skip because they require covers_content_digest: 'required' or 'forbidden' capability profiles. Our current //mcp-strict route advertises 'either', so the runner grades those vectors capability-incompatible.
Scope
The auth primitives already exist in server/src/training-agent/request-signing.ts:
Route the storyboard sequentially — currently run-storyboards.ts redirects signed_requests to /mcp-strict only. Run it three times, once per route, with the matching request_signing.profile option.
Re-grade — vector 007 (missing-content-digest required) fires on /mcp-strict-required; vector 018 (digest-covered-when-forbidden) fires on /mcp-strict-forbidden; etc.
Summary
Storyboard
signed_requestsshows 9 skipped vectors on every tenant. 4 are explicit `skipVectors` in `run-storyboards.ts` (007/018/020/025); the remaining 5 skip because they requirecovers_content_digest: 'required'or'forbidden'capability profiles. Our current //mcp-strict route advertises'either', so the runner grades those vectors capability-incompatible.Scope
The auth primitives already exist in
server/src/training-agent/request-signing.ts:buildStrictRequiredRequestSigningAuthenticator→ 'required' digest modebuildStrictForbiddenRequestSigningAuthenticator→ 'forbidden' digest modegetStrictRequiredRequestSigningCapability/getStrictForbiddenRequestSigningCapabilityThree pieces of work:
Mount routes in
server/src/training-agent/index.ts, mirroring the per-tenant/<tenant>/mcp-strictpattern (PR fix(training-agent): restore per-tenant /<tenant>/mcp-strict, close #3965 Class C #4061):/<tenant>/mcp-strict-required→ strict-required authenticator +ctx.digestMode = 'required'/<tenant>/mcp-strict-forbidden→ strict-forbidden authenticator +ctx.digestMode = 'forbidden'Route the storyboard sequentially — currently
run-storyboards.tsredirectssigned_requeststo/mcp-strictonly. Run it three times, once per route, with the matchingrequest_signing.profileoption.Re-grade — vector 007 (missing-content-digest required) fires on
/mcp-strict-required; vector 018 (digest-covered-when-forbidden) fires on/mcp-strict-forbidden; etc.References
request-signing.ts:316-323— authenticators already implementedCoverage lift
Across all six tenants: +30 steps recovered.