Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,13 @@ manifesto — is published at **[intentfile.org](https://intentfile.org)** (sour
| [1.5](versions/1.5.md) | superseded - adds unrecognised-key errors ([proposal](proposals/0014-unknown-keys-are-errors.md)), multilingual report columns ([proposal](proposals/0015-multilingual-report-columns.md)), the `related` register ([proposal](proposals/0016-related-registers.md)), the declared `payload` envelope ([proposal](proposals/0017-declared-payload.md)), `outbound` departures ([proposal](proposals/0018-outbound-departures.md)), relative moments in a schedule's `where` ([proposal](proposals/0019-schedule-relative-moments.md)), and entity-level `unique` ([proposal](proposals/0020-entity-level-unique.md)) |
| [1.6](versions/1.6.md) | superseded - added report `parameters` ([proposal](proposals/0021-report-parameters.md)), `kind: statement` financial statements ([proposal](proposals/0021-financial-statement-definitions.md)), the `subset` relation ([proposal](proposals/0026-subset-relation.md)), print placeholder fallbacks `{{a|b}}` ([proposal](proposals/0027-print-placeholder-fallback.md)), `fileName` patterns ([proposal](proposals/0026-naming-a-rendered-document.md)), step-axis + `mode: append` create-froms ([proposal](proposals/0021-generates-step-axis-and-append.md)), the retired-target guard ([proposal](proposals/0024-supersede-a-retired-target.md)), `sourceStatusOnRetire` ([proposal](proposals/0025-declared-reopen-on-retire.md)), and `inbound` `accept`/`map` ([proposal](proposals/0021-arrival-mapping.md)); states precisely: roll-up update/re-parent recompute ([proposal](proposals/0021-rollups-recompute-on-child-update.md), [proposal](proposals/0022-rekey-repairs-both-groups.md)), settlement recompute on correction ([proposal](proposals/0021-settlement-recompute-on-correction.md)), and expansion reconcile + master delete ([proposal](proposals/0023-expansion-reconciles-its-child-set.md), [proposal](proposals/0021-expansion-master-delete.md)) |
| [1.7](versions/1.7.md) | superseded - added period locking `immutableInPeriod` / `period` ([proposal](proposals/0028-period-locking.md)), enrichment `phases` + `event: onPhase` ([proposal](proposals/0028-enrichment-phases.md)), roll-ups over a child owned by another model `rollups.model` / `parent` ([proposal](proposals/0028-cross-model-rollup-child.md)), `translatable: false` ([proposal](proposals/0030-non-translatable-key.md)), and field `label:` / `countryLabels:` ([proposal](proposals/0031-field-label-and-country-variants.md)); states precisely: a roll-up's status is relinquished, not only set ([proposal](proposals/0030-rollup-status-relinquished.md)), a render's language governs its data ([proposal](proposals/0029-render-language-governs-its-data.md)), and an amended source rewrites its posting ([proposal](proposals/0032-amended-source-rewrites-its-posting.md)) |
| [1.8](versions/1.8.md) | current - adds the create-from source-status guard `fromStatus` ([proposal](proposals/0032-create-from-guarded-by-source-status.md)), `whenMasterDeleted` on a composition ([proposal](proposals/0033-master-delete-and-its-composition-children.md)), `checks: kind: compare` ([proposal](proposals/0035-two-values-of-one-row-compared.md)), `checks: kind: requiredWhen` ([proposal](proposals/0036-a-value-required-only-under-a-condition.md)), `items.where` / `items.refuse` on a create-from ([proposal](proposals/0037-which-source-rows-become-lines.md)), `duplicable: { defaults, reset }` ([proposal](proposals/0038-what-a-copy-does-not-carry-over.md)), `retry` / `onError` / `{error}` on a service task ([proposal](proposals/0052-step-failure-is-part-of-the-model.md)), `personalReadOnly` on a composition relation ([proposal](proposals/0055-child-scoped-read-only.md)), and cross-model `relation.field` in a form ([proposal](proposals/0056-form-relation-field-across-models.md)); states precisely: a count tile over an aggregating report sums `count(*)` and an optional relation keeps its rows ([proposal](proposals/0034-count-tile-over-an-aggregating-report.md)), a tuple-less row is not guarded and an empty rule match is an authoring error ([proposal](proposals/0053-tuple-less-rows-and-empty-rule-matches.md)), and a status the flow writes is the flow's column ([proposal](proposals/0054-workflow-owned-status.md)) |
| [1.8](versions/1.8.md) | superseded - adds the create-from source-status guard `fromStatus` ([proposal](proposals/0032-create-from-guarded-by-source-status.md)), `whenMasterDeleted` on a composition ([proposal](proposals/0033-master-delete-and-its-composition-children.md)), `checks: kind: compare` ([proposal](proposals/0035-two-values-of-one-row-compared.md)), `checks: kind: requiredWhen` ([proposal](proposals/0036-a-value-required-only-under-a-condition.md)), `items.where` / `items.refuse` on a create-from ([proposal](proposals/0037-which-source-rows-become-lines.md)), `duplicable: { defaults, reset }` ([proposal](proposals/0038-what-a-copy-does-not-carry-over.md)), `retry` / `onError` / `{error}` on a service task ([proposal](proposals/0052-step-failure-is-part-of-the-model.md)), `personalReadOnly` on a composition relation ([proposal](proposals/0055-child-scoped-read-only.md)), and cross-model `relation.field` in a form ([proposal](proposals/0056-form-relation-field-across-models.md)); states precisely: a count tile over an aggregating report sums `count(*)` and an optional relation keeps its rows ([proposal](proposals/0034-count-tile-over-an-aggregating-report.md)), a tuple-less row is not guarded and an empty rule match is an authoring error ([proposal](proposals/0053-tuple-less-rows-and-empty-rule-matches.md)), and a status the flow writes is the flow's column ([proposal](proposals/0054-workflow-owned-status.md)) |
| [1.9](versions/1.9.md) | current - adds a report attachment on a notify block `attach: { report, bind }` ([proposal](proposals/0039-notify-attach-report.md)), the general-ledger `correspondence` axis on a balance report ([proposal](proposals/0040-balance-report-correspondence.md)), `where` / `copy` and operand paths on a register lookup ([proposal](proposals/0041-register-lookup-where-and-copy.md)), the list form of a `when` guard ([proposal](proposals/0042-when-guard-list-and.md)), `notify.outcome` and the `onNotifyFailed` delivery event ([proposal](proposals/0043-notify-outcome-and-failed-trigger.md)), `schedules.escalate` and a schedule that both notifies and generates ([proposal](proposals/0044-schedule-escalation-ladder.md)), the natural key `generate.unique` of a scheduled generation ([proposal](proposals/0045-scheduled-generation-natural-key.md)), `whenDeleted` on a process ([proposal](proposals/0046-process-when-deleted.md)), `checks: kind: forbidWhen` ([proposal](proposals/0047-checks-forbid-when.md)), the `clearField` service task ([proposal](proposals/0048-process-clear-field.md)), a `@config:KEY` notify recipient ([proposal](proposals/0049-notify-recipient-config.md)), a format pattern on a print placeholder `{{a:pattern}}` ([proposal](proposals/0050-print-placeholder-format.md)), and the print `<image src>` tag ([proposal](proposals/0051-print-template-image.md)) |

## Structure

```
versions/ the specification, one file per version - the newest version file is normative (currently versions/1.8.md)
versions/ the specification, one file per version - the newest version file is normative (currently versions/1.9.md)
written once, at a release, and never edited again
proposals/ every pending semantic change, in the open, until a release folds it into a version
examples/ complete example .intent files
Expand Down
2 changes: 1 addition & 1 deletion proposals/0039-notify-attach-report.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A notify block may attach a parameterized report render

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** [eclipse-dirigible/dirigible#6931](https://github.com/eclipse-dirigible/dirigible/issues/6931),
extended by [eclipse-dirigible/dirigible#7030](https://github.com/eclipse-dirigible/dirigible/issues/7030)
- **Implementation:** [eclipse-dirigible/dirigible#6934](https://github.com/eclipse-dirigible/dirigible/pull/6934),
Expand Down
2 changes: 1 addition & 1 deletion proposals/0040-balance-report-correspondence.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A balance report buckets turnovers by the corresponding account

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** [eclipse-dirigible/dirigible#6908](https://github.com/eclipse-dirigible/dirigible/issues/6908)
- **Implementation:** [eclipse-dirigible/dirigible#6927](https://github.com/eclipse-dirigible/dirigible/pull/6927)

Expand Down
2 changes: 1 addition & 1 deletion proposals/0041-register-lookup-where-and-copy.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A register lookup narrows its register, reads the document header and copies the found row's scalars

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** https://github.com/eclipse-dirigible/dirigible/issues/7025 (and https://github.com/eclipse-dirigible/dirigible/issues/6812 for `where:`)
- **Implementation:** https://github.com/eclipse-dirigible/dirigible/pull/6858 (`where:`), https://github.com/eclipse-dirigible/dirigible/pull/7032 (paths and `copy:`)

Expand Down
2 changes: 1 addition & 1 deletion proposals/0042-when-guard-list-and.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A `when` guard may be a list of comparisons, their AND

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** https://github.com/eclipse-dirigible/dirigible/issues/6957
- **Implementation:** https://github.com/eclipse-dirigible/dirigible/pull/7006 (the list form),
https://github.com/eclipse-dirigible/dirigible/pull/7317 (issue
Expand Down
2 changes: 1 addition & 1 deletion proposals/0043-notify-outcome-and-failed-trigger.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A notify delivery is recorded on the record, and a failed one is an event

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** https://github.com/eclipse-dirigible/dirigible/issues/7023
- **Implementation:** [eclipse-dirigible/dirigible#7033](https://github.com/eclipse-dirigible/dirigible/pull/7033),
completed by [#7313](https://github.com/eclipse-dirigible/dirigible/pull/7313)
Expand Down
2 changes: 1 addition & 1 deletion proposals/0044-schedule-escalation-ladder.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A scheduled reminder records what it sent and escalates by days past due

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** [eclipse-dirigible/dirigible#7276](https://github.com/eclipse-dirigible/dirigible/issues/7276),
[eclipse-dirigible/dirigible#7365](https://github.com/eclipse-dirigible/dirigible/issues/7365)
- **Implementation:** [eclipse-dirigible/dirigible#7342](https://github.com/eclipse-dirigible/dirigible/pull/7342),
Expand Down
2 changes: 1 addition & 1 deletion proposals/0045-scheduled-generation-natural-key.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A scheduled generation declares its natural key

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** [eclipse-dirigible/dirigible#7070](https://github.com/eclipse-dirigible/dirigible/issues/7070) (the key), [#7106](https://github.com/eclipse-dirigible/dirigible/issues/7106) (the period of the run); edge rules from [#7134](https://github.com/eclipse-dirigible/dirigible/issues/7134) (a null key term) and [#7133](https://github.com/eclipse-dirigible/dirigible/issues/7133) (one transaction per source row)
- **Implementation:** [eclipse-dirigible/dirigible#7079](https://github.com/eclipse-dirigible/dirigible/pull/7079), [#7117](https://github.com/eclipse-dirigible/dirigible/pull/7117), [#7166](https://github.com/eclipse-dirigible/dirigible/pull/7166), [#7168](https://github.com/eclipse-dirigible/dirigible/pull/7168)

Expand Down
2 changes: 1 addition & 1 deletion proposals/0046-process-when-deleted.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Deleting a document retires its running process

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** https://github.com/eclipse-dirigible/dirigible/issues/7074
- **Implementation:** [eclipse-dirigible/dirigible#7087](https://github.com/eclipse-dirigible/dirigible/pull/7087)
(the construct), [eclipse-dirigible/dirigible#7169](https://github.com/eclipse-dirigible/dirigible/pull/7169)
Expand Down
2 changes: 1 addition & 1 deletion proposals/0047-checks-forbid-when.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A write is rejected while a condition holds - `checks: forbidWhen`

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** https://github.com/eclipse-dirigible/dirigible/issues/7275
- **Implementation:** https://github.com/eclipse-dirigible/dirigible/pull/7326

Expand Down
2 changes: 1 addition & 1 deletion proposals/0048-process-clear-field.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A process can clear a field it wrote

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** https://github.com/eclipse-dirigible/dirigible/issues/7386
- **Implementation:** https://github.com/eclipse-dirigible/dirigible/pull/7388

Expand Down
2 changes: 1 addition & 1 deletion proposals/0049-notify-recipient-config.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A notify recipient may be a configuration reference

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** https://github.com/eclipse-dirigible/dirigible/issues/7385
- **Implementation:** https://github.com/eclipse-dirigible/dirigible/pull/7387

Expand Down
2 changes: 1 addition & 1 deletion proposals/0050-print-placeholder-format.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A print placeholder may carry a format pattern

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** https://github.com/eclipse-dirigible/dirigible/issues/6982
- **Implementation:** https://github.com/eclipse-dirigible/dirigible/pull/6983

Expand Down
2 changes: 1 addition & 1 deletion proposals/0051-print-template-image.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A print template renders an image from the tenant's files

- **Status:** draft
- **Status:** released in [1.9](../versions/1.9.md)
- **Issue:** https://github.com/eclipse-dirigible/dirigible/issues/7024
- **Implementation:** https://github.com/eclipse-dirigible/dirigible/pull/7031

Expand Down
Loading