Skip to content

Record the language and toolchain, with the costs the choice carries #11

Description

@iderex

Entry 2 of #1 asks what shared means, and the four candidates cost different
things. Whatever comes back, the reasoning has to live in the tree rather than in
the answer to a question, because the answer to a question is not where somebody
looks two years later when they want to know why every client links a static
library.

This is the record every issue in M2 waits on.

What the record must answer

The choice, and the reason it fits this repository rather than the reason it is
good in general.

What it costs, taken from that option's entry in #1 and made concrete. How many
build legs the gate grows. How many runtimes a contributor installs. Whether a
binding layer exists and therefore has to be tested as code. Whether the suite
runs once or once per target.

What it forecloses. Each option makes one of the others expensive to reach later,
and the record says which.

What would reverse it, concretely. A reversal condition nobody can observe is not
a reversal condition.

Done when

The record exists, names the choice and its costs in the terms above, and every
M2 issue that named this as its blocker has been updated. Blocked on entry 2
of #1.

Metadata

Metadata

Assignees

Labels

cidecisionAn architecture decision that must be written down with its reasons

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions