Decision records
Architecture decision records (ADRs) capture significant design choices: the context, the decision, and its consequences. They are numbered and never rewritten. A later ADR supersedes an earlier one instead.
| # | Decision | Status |
|---|---|---|
| 0001 | Implement JSONata ourselves, porting jsonata-js 2.2.2 | Accepted |
| 0002 | Use regress for ECMAScript-compatible regular expressions | Accepted |
| 0003 | An explicit value model with Undefined and sequence flags | Accepted |
| 0004 | Audit evaluations through a tracer interface in the evaluator | Accepted |
| 0005 | Carry audit labels in JSONata doc-comments | Accepted |
| 0006 | Host functions with a JSON boundary | Accepted; extended by 0011 |
| 0007 | A language server on the language service, configured by jlens.json | Accepted |
| 0008 | A machine contract for the CLI: --json envelopes, exit codes, stdout for data | Accepted |
| 0009 | Regular expressions stop within the evaluation’s limits, through a fork of regress | Accepted |
| 0010 | Input documents converted lazily, one level at a time | Accepted |
| 0011 | Host functions call the functions they receive, through a handle that borrows the call | Accepted |
| 0012 | The CLI on npm: a launcher package and one package per platform | Accepted |
| 0013 | The VS Code extension: one package per platform with the release binary | Accepted |