Notable changes to UBML.
Format based on Keep a Changelog.
Initial development. Schema structure and core concepts are stabilizing.
See /plan/README.md for the roadmap and /plan/00-design-decisions.md for open design questions.
ubml validate <dir> was silently skipping all schema validation. The workspace-level validator ran each document’s schema check but never attached a filepath to the resulting errors/warnings, and the file-result distribution step only keeps errors that have one — so every schema violation (missing required fields, invalid enum values, disallowed properties, bad patterns, etc.) was discarded for the whole workspace. Only cross-document reference errors and semantic warnings were ever reported. Single-file validation (ubml validate <file>) was unaffected. Now ubml validate <dir> reports schema errors correctly, attributed to the right file.sources.participants and hypotheses node source accepted a typed ID (AC##### / SR#####) or free text via oneOf, but any string shaped like a valid ID matched both branches, so ajv rejected it as “ambiguous” — the exact form shown in the sources schema’s own example. Changed both to anyOf.example/ workspace, which the bug above had been silently letting through invalid: example/actors.ubml.yaml referenced a non-existent skill ID (SK003 instead of SK00003).sources (*.sources.ubml.yaml) — catalog of knowledge sources: interviews, meetings, workshops, documents, emails, surveys, observations, system exports, research.insights (*.insights.ubml.yaml) — atomic derived knowledge (pain, opportunity, process-fact, stakeholder, decision, risk, assumption, constraint) that stays understandable in isolation, with an IN##### ID and a SR##### ID for sources.derivedFrom reference field on actors and hypothesis nodes, linking model elements back to the insights that justified them.source field now accepts a typed SourceRef (SR#####) in addition to free text.ubml init, ubml add, and ubml help all support the two new document types (init now scaffolds a sample insights.ubml.yaml).ubml CLI now checks once a day for newer releases and prints an update notice.ubml validate now warns (SKIPPED_FILE) about *.ubml.yaml files that don’t match any recognized document-type naming pattern, instead of silently ignoring them.owner, properties, goal, objective, target).docs/WORKSPACE-SEMANTICS.md, docs/CONSUMERS.md, and a docs/projections/ guide covering BPMN, UML, ArchiMate, BMM, DMN/CMMN, Mermaid, PlantUML, VSM and other export targets.$ids and the ubml: document version now point at /schemas/1.4/....evidence → observations (and the Evidence type → Observation) in *.scenarios.ubml.yaml for consistency with the knowledge layer’s terminology. Existing scenario files using evidence: need to rename the field to observations:.ubml init scaffolds .vscode/settings.json with yaml.schemas pointing at the current schema version for every known document type. The previously published 1.3.0 build predated the knowledge layer, so its .vscode/settings.json was missing insights/sources entries entirely (#34).npm publish).