Do rover commands automatically assume v1 federation?

When trying to rover subgraph check a subgraph schema that uses a @shareable directive without either linking it or directly declaring it, I get the following error:

Unknown directive "@shareable". If you meant the "@shareable" federation 2 directive, note that this schema is a federation 1 schema. To be a federation 2 schema, it needs to @link to the federation specifcation v2

What exactly causes the command to assume a “federation 1 schema”? I’m using rover 0.10.0 and my supergraph, in spite of now being a v2 one, previously was a v1.9 one

rover subgraph check does not do any composition. It takes your schema file and sends it to GraphOS where there your graph settings determine what version of Federation you are using.

The @shareable error is a common issue when upgrading from Fed v1 to v2. See how to resolve that in our Migrating from Fed 1 guide