Skip to content
Contents of ATD 0.1
  • 0.1 (2026-10-23, spec 035): the first version. One language in which a tool type of any kind is described: one LALR(1) grammar in ATD grammar notation, with its flattened form and its parse tables (§4); files, parts and imports (§5); values (§6); a core every kind shares (§7), and a surface per kind, the canvas, the form and the text (§8 to §10); bindings, which are FBL's written as text (§11); the script (§12); capabilities with contracts and fixtures (§2.6, §13); the checks and their findings (§14, §15); one canonical layout (§16); and conformance fixtures, drawings and traces (§2.3 to §2.5). The amendments below change 0.1 in place, since it has no released grammar yet.
  • 0.1, amendment of 2026-10-25 (spec 035, batch 3, for the Hierarchical Requirement Designer): widths <Type> { … } in surface hierarchy, carrying DESL 0.2's widths (§9.3, C.2); move takes slot, and after or before, so that it carries DESL §8.2's move (§12.3, C.2); a binding's, rule's, block's, section's and file rule's name may hold hyphens and dots, as FBL's names do (§3.6, §11.3); a binding rule's type may be a key of persistence's typeMap (§7.13, §14.7); and DESL 0.2's checks of a hierarchy, a counter's mark and a registration's settings are ATD6002, ATD6003 and ATD6004 (§14.7, §15.1). ATD 0.1 had no released grammar, so the amendment changes it in place; every example and tool description in this repository that checked before still checks, with the same meaning. With it, a conformance case of a designer: a step outside, a file written outside the host (§2.3, $defs/ConformanceStep), and the reference for the readings and findings of a tool type the desktop host did not have at its reference commit (§2.3).
  • 0.1, amendment of 2026-10-25, FBL 0.9 (spec 035, story 7): the grammar family of FBL 0.9 (§11.9, FBL §4.9): family grammar with grammar { … }, read under grammar/notation.lark, which the root module now imports, or grammar from "<file>.lark"; the keyword grammar (Appendix B); the settings start and recover of body and the slot node with its setting match (C.3); where ATD8001, for a grammar that is not LALR(1), stands (§11.9, §15.1); and the tables of every binding example's grammar under grammar/tables/ (§11.9). Every description that checked before still checks, with the same meaning.
  • 0.1, amendment of 2026-10-26 (spec 035): a conformance case's move step carries index, the place among the new parent's children the reference host's gesture put the element in (§2.3, $defs/ConformanceStep); without it a case replayed every move into a parent as a move to its end. The mind map's case example-1 is recorded again with it. Every description and case that was valid before is valid, with the same meaning.
  • 0.1, second amendment of 2026-10-26 (spec 035, batch 5b, for nine diagrams): a trace's item and host behaviour may be open, the address of the etalii.adp issue that adds the construct it needs, with its reason, and its companion may name further reports (§2.5); an edge notation may draw a reference attribute as <Type>.<attribute> (§8.5), and a field of a parameters form names a parameter (§8.7); a layout capability's result may carry values, read in CEL as layout.value(e, name) (§8.8); and the catalogue gains the capabilities those descriptions require (§13.6). Every example and tool description that checked before still checks, with the same meaning.
  • 0.1, amendment of 2026-10-29, FBL 0.10 (spec 066, pull request B, for the Databricks conversion): FBL 0.10's constructs for one binding that several readings share, as settings and with no change under grammar/: a rule's origins (§11.3), an attribute binding's secondary and refusals (§11.3), an insert's refusals (§11.5), and resource's byOrigin in registration (§11.6); C.3 is FBL 0.10's, with a row for each, and for a fixture's template. A setting is checked against FBL's $defs (§14.6), so a description gains them with the schema. Every description that checked before still checks, with the same meaning.
  • 0.1, amendment of 2026-10-29, FBL 0.11 (spec 066, pull request A, for the C4 conversions): FBL 0.11's constructs of the grammar family, as settings and with no change under grammar/ but the tables of structurizr.lark (§11.9): recover's nested and unclosed, a slot's and an attribute binding's escape, an attribute binding's create with emit, after and pad and its gather, a rule's opens as a settings map and its selectedView, and a block rule's at, view, origins and insert in block <name> { … } (§11.3, §11.4, §11.9); C.3 is FBL 0.11's, with a row for each new property. Every description that checked before still checks, with the same meaning.
  • 0.1, amendment of 2026-10-29, FBL 0.12 (spec 066, pull request C, for the Wardley map conversion): FBL 0.12's constructs of the grammar family, as settings and with no change under grammar/ but the tables of wardley-map.lark (§11.9): a slot's and an attribute binding's items and separator, a sidecar id's kind and ordinal, and legacyIdentities read as the array the tool writes (§11.6, §11.9); C.3 is FBL 0.12's, with a row for each new property. Every description that checked before still checks, with the same meaning.
  • 0.1, amendment of 2026-10-30, FBL 0.13 (spec 066, gap 16 of the C4 conversions, by the maintainer's ruling of 2026-10-30): FBL 0.13's split of a slot and of an attribute binding of the grammar family, as a setting and with no change under grammar/ (§11.3, §11.9); C.3 is FBL 0.13's, with a row for each. A setting is checked against FBL's $defs (§14.6), so a description gains it with the schema. Every description that checked before still checks, with the same meaning.
  • 0.1, amendment of 2026-10-30, FBL 0.14 (spec 066, databricks-disl-fbl task 12, written to the recommended answer of the maintainer's pending card): FBL 0.14's member insert of the yaml and json families, which needs no setting of its own, and the sentences key and duplicate of an insert's refusals, as settings and with no change under grammar/ (§11.5); C.3 is FBL 0.14's, its count unchanged, since refusals gains keys and no property. Every description that checked before still checks, with the same meaning.
  • 0.1, amendment of 2026-11-01, FBL 0.16 (spec 067, by Peter's ruling of 2026-11-01): FBL 0.16's writes of the grammar family, as settings and with no change under grammar/: an insert's continues, a remove's parts and whole (§11.5, §11.9), the operation replace-separator; C.3 is FBL 0.16's, with a row for each new property. Every description that checked before still checks, with the same meaning. With it §2.3's comparison of a refusal widens (spec 067, FR-011): a description's own reason counts as the case's sentence that a gesture is not offered, and '<id>' cannot be edited on this selection. is one of those sentences.
  • 0.1, amendment of 2026-10-31, FBL 0.15 (spec 067, T036, for Turtle): FBL 0.15's constructs of the grammar family, as settings and with no change under grammar/ but the tables of w3c-turtle.lark (§11.9): body's prefixes, ordinals and order, a slot's and an attribute binding's expand, ordinal and name, an attribute binding's or, and .. and + in a slot's selector (§11.3, §11.9); C.3 is FBL 0.15's, with a row for each new property. Every description that checked before still checks, with the same meaning.
  • 0.1, amendment of 2026-11-01, the lexing rule (by Peter's ruling of 2026-11-01, the decision card "Change ATD"): the lexing rule of §3.6 is Lark's contextual lexer's, which reads a keyword by the pattern that spells it and tries the rest by priority before width, in place of the longest match, which no host that reads with Lark or EtAlii.Lark gave; ATD grammar notation admits a string's flag i, matched in any case of its ASCII letters (§4.1, §4.2), which grammar/notation.lark reads with the string as one token, GRAMMAR_STRING, in place of STRING in grammar_atom; a parse table's terminal carries flags (§4.7, $defs/ParseTables); and the collision §4.7 refuses is one of two pattern terminals of one priority. FBL §2.6, which restated the rule, points to it. structurizr.lark and wardley-map.lark write their keywords as strings with i at the priority of the word they stand in place of, in place of case-insensitive patterns at a raised priority, so that a word that starts with a keyword (grouped, title Pipelines, inertial) is read as a word, as the earlier rule read it; every fixture of theirs reads as it did, and specifications/fbl/fixtures/structurizr-keyword-prefixes/ shows the identifiers. ATD's own grammar states no priority, so every description reads, checks and means what it did.