CONTRIBUTING: Explain reasons for track dependencies on this repo (#1406)
CONTRIBUTING: Explain reasons for track dependencies on this repo (#1406)

History
=======

When discussing creating a new exercise, there's the question of any
timing dependencies between the problem-specifications repo and the
track-specific repos.

Recall that it was once required that the problem-specifications PR be
merged first, because READMEs are generated; if the problem
specification did not exist, the README generation would fail and the
student experience would be negatively impacted.

Since https://github.com/exercism/meta/issues/15, READMEs are no longer
generated but included in the track-specific repos, so the absolute
dependency ("must not") no longer applies.

Discussed in https://github.com/exercism/problem-specifications/pull/1384

Change and motivation
=====================

Change the "must not" to a suggestion.

I've written down all reasons known to me that a contributor should wait
to merge a track-specific PR.

Knowing why a suggestion exists is necessary to understand when it is
and is not okay to ignore the suggestion.

Demonstration that this is safe
===============================

I present empirical proof that there is no longer any dependency: I have
arbitrarily selected an exercise that does not have a corresponding
problem-specifications directory and does not have description.md nor
metadata.yml in its .meta directory:
https://github.com/exercism/ballerina/tree/master/exercises/hello-world-service

To the existing tooling, this is indistinguishable from an exercise for
which the track-specific PR was merged before the problem-specifications
PR.

I have personally confirmed that I can join the track, download this
exercise, read the README, implement a solution, and submit this
solution.
petertseng/x-common,exercism/x-common,petertseng/x-common,ErikSchierboom/x-common,exercism/x-common,rpottsoh/x-common,jmluy/x-common,rpottsoh/x-common,jmluy/x-common,jmluy/x-common,ErikSchierboom/x-common