Commit 7f50875
committed
docs/command-line-interface: Require complete runtime coverage
I didn't see wording in the previous version of this spec to require
runtimes to support the full API, so I've added language for that
here. This ensures that callers who only need the specified API will
be able to run with an any runtime that is compliant with this API.
You could get some way towards this requirement before by leaning on
the spec's:
> An implementation is compliant if it satisfies all the applicable
> MUST, REQUIRED, and SHALL requirements.
but there are a number of requirements that currently lack lower-level
MUSTs. For example, without the full-API requirement, the only
'delete' requirement would be:
> The runtime MUST NOT attempt to read from its stdin.
You could have argued that a runtime which did not implement 'delete'
satisfied that condition, and so was "compliant" even in the absence
of 'delete' support. However, such a runtime would likely break all
compliant callers. This commit ensures that such a runtime would
clearly be "not compliant".
The portability SHOULD NOT is just a hint to callers. If you require
extentions beyond this API spec, you'll want to ensure you are
comfortable with the potential reduction in compatible runtimes.
I've made a patch-level version bump for this commit. If you consider
the new requirement to be an extention from the previous spec, there
was no way to be a caller rely on any 1.0.0 API calls working. I
think the new explicit requirement was an implicit requirement of the
1.0.0, and that sort of typo fix deserves a patch-level bump. For
example, we've been requiring runtimes to support 'create' in
validation/create.go since those tests landed. This commit just gives
us a MUST we can cite for those (and other similar) failures.
Signed-off-by: W. Trevor King <wking@tremily.us>1 parent b3796e2 commit 7f50875
2 files changed
Lines changed: 5 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
34 | 37 | | |
35 | 38 | | |
36 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
0 commit comments