prefix to post permalinks without affecting category permas

If you want to remove the category base /category/, you can install the WP no category base plugin which will add a new set of rewrite rules for categories. the side-effect of this is that you can set your post permalinks to /article-%postname%/ and it will no longer effect category permalinks. it will still however effect tags.

Your other option, or in conjunction with the above plugin, is to filter post_link to add the article- prefix, then modify incoming requests to remove that prefix so WordPress can find the post:

add_filter( 'post_link', 'wpa68069_post_prefix' );
function wpa68069_post_prefix( $url ) {
    $prefix = 'article-';
    $parts = explode( "https://wordpress.stackexchange.com/", $url );
    return home_url( "https://wordpress.stackexchange.com/" ) . $prefix . $parts[ count( $parts ) - 2 ] . "https://wordpress.stackexchange.com/";
}


add_action( 'parse_request', 'wpa68069_parse_request' );
function wpa68069_parse_request( $request ){        
    if( !isset( $request->query_vars['name'] ) )
        return $request;

    if( false !== strpos( $request->query_vars['name'], 'article-' ) )
        $request->query_vars['name'] = substr( $request->query_vars['name'], 8 );

    return $request;
}