AtlatestRepositoryfolio

folio / tree / test / fixturesf1b-laundering.sgd

1#lang folio/doc
2@note["topics/f1b-laundering" title: "Laundering a structural container" tags: '("folio")]
3
4@p{THE GEOMETRY HERE IS LOAD-BEARING AND IS EASY TO GET WRONG. The laundering
5route is a section RE-NESTING a structural container back INSIDE a work item --
6@code{@@task} then @code{@@section} then @code{@@milestone} -- not a section
7sitting directly in the root. SD-P7's first laundering fixture had the second
8shape, tested a real rule that was not the one it meant, and passed. A test in
9the wrong geometry is the expensive kind of wrong, because nothing about it
10looks broken.}
12@task["t-launder" title: "A work item that tries to contain a container" status: 'ready]{
14@p{A section is a perfectly legal child of a work item, and this paragraph is a
15legal child of the section, so everything up to the milestone below is the
16positive control for the refusal being SPECIFIC rather than total.}
18@section["Smuggled" id: "smuggled"]{
20@p{An ordinary block, which must remain acceptable.}
22@milestone["m-smuggled" title: "A milestone that must not be here" status: 'planned]{
23@p{Structural containers nest downward only. A milestone belongs to a project,
24never to a section inside a task.}
31@end note