Repository navigation
The requirements pack ships (#358): the goals people bring to a system and the statements a product is held to, a fourth pack beside software, organization and landscape. Core moves to 0.69.0 for one wording in R9, the four packs' manifests move with it, and the package moves to 0.94.0 with both reusable workflows' refs.
use-caseis a type of the pack: all the ways of using a system to achieve one goal for one actor, fully dressed after Cockburn, at one of four goal levels, with its stakeholders and their interests, its labeled steps and extensions, its minimal and success guarantees, the features it asks something of and the use cases itincludes. Its actors are seats where the company has them and names otherwise.requirementis a type of the pack: one statement a product is held to, functional, quality or constraint, with an RFC 2119modality, a## Fit criterion, the features, products or use cases it## Applies toand the company rules itfollows.- Two checks stretch for the pack. A type's
labelsnames one place or several, so a use case's steps and extensions share one page's labels.acyclicfollows a list field, soincludesnever runs in a circle. Two row keys are new:descends, what a use case includes stands at its level or below, andbranches, an extension's label is a step's label and one lowercase letter. - R9 admits an
enumtype column for aref → by <Column>row beside astringone, so a schema that can list the types a row may name has R8 hold them, and a type off the list is one finding. The owner column stays astring. The requirement's## Applies tois the first to use it. init --pack requirementsvendors the pack, and the pack's README says when to write a use case, a requirement or the software pack's feature design.
What breaks. For an instance, nothing: no core schema changes, and an instance that does not take the pack sees nothing new. For a consumer of ./checks, the public type TypeEntry.labels widens from one place to LabelPlace | LabelPlace[], which breaks a reader of labels.section and no writer of the entry; no consumer in the family reads it.
How to take it. Move the pin to v0.94.0 and run companygraph upgrade, which moves the vendored core and packs to 0.69.0. A company that says what its products must do before it builds them adds --pack requirements, or runs companygraph upgrade --pack requirements later.
Verified: npm run verify with its release check, typecheck, build:check and every test:* script pass, as do conventions-format and conventions-check; companygraph, robertblust and guestgraph mental-model, cloned at their main commits and upgraded with this checkout's CLI, go to core 0.69.0, pass check, and find nothing to do on a second upgrade.