Repository navigation
Thesis readiness: engine-faithful import and printing, fuzz harness, editor features - #70
Merged
Merged
Conversation
Three printer and serializer fixtures carried a result variable beside a class binding, the shape the validator and the engine now refuse. Each is rebound with an expression, keeping every value and attribute position the rows pin. BpmnParse.parseServiceTaskLike fails the deployment when a class or delegateExpression binding carries a result variable, and only builds the expression behaviour with it. The validator now reports the combination on the resultVariable key of a service, send, or decide task, quoting the engine's refusal and naming the expression binding as the fix. The importer refuses it through UnsupportedServiceTaskFormError, reading the older resultVariableName spelling as the engine does. The engine-attributes golden rebinds AssessBodywork with an expression and is refrozen, since it carried the exact shape the engine refuses. ADR-0043 records the decision and ADR-0014's refusal list gains the case.
…er and printer The validator and importer now refuse what BpmnParse refuses and read attributes where the engine reads them: expression and value shapes, timer and retry shapes, job settings, listeners, scope rules for handlers, starts, races and loops, one executable process per document. Adds the engine deploy sweep over every golden, fixture and example, and corrects ADR-0002.
…cument BPMN coverage Comments cut to what the code cannot say, tests folded into tables and whole-output pins, importer and writer tables derived from one source, README and ADR claims corrected against the code, and a BPMN coverage table with its limitations.
A seeded generator, a model comparator up to documented canonicalization, and a regression table. The printer fixes cover loops entered by gotos, jump cycles, loops with no exit, branch ownership, link pairs, boundary handler order, authored ids, and independence from element and route order.
…sts into broad cases
…ross the e2e files
Import warns where the rebuilt document would deploy or run differently, sorts its warnings into dropped content, respellings, behaviour changes and content carried as written, mints ids for elements the engine deploys without one and refuses the ones it cannot deploy or run, and never names a minted id in a refusal. Export escapes tabs and carriage returns in attribute values and carries isStartableInTasklist as a process header setting. The printer keeps an exclusive split's routes in the order the engine tries them, folds a loop only where the engine tests its back edge in the printed order, and prints Operaton's invoice example the same on every pass. The model comparator keeps the joins and condition order that change execution, and the parser words a mistyped step keyword and a missing ) in plain language.
… and add the expense-claim example
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Gets the tool ready to be measured for the thesis.
tests/fuzz.test.ts) and the printer fixes it found; the printer now keeps route order and prints Operaton's invoice example the same on every pass.vocabulary.ts.docs/bpmn-coverage.mdadded.Steps to Test
npm ci && npm run build && npm testwith Docker running (orSKIP_DOCKER_TESTS=true).cd tests && FUZZ_N=2000 FUZZ_OUT=/tmp/fuzz npx vitest run fuzz.test.ts:/tmp/fuzz/summary.jsonshows"failingSeeds": [].Checklist
npm test,npm run lint,npm run format:check)