Skip to content

spec: version 1.9 - the seventh released proposal wave becomes a new version - #91

Open
delchev wants to merge 1 commit into
mainfrom
spec/v19-release
Open

delchev wants to merge 1 commit into
mainfrom
spec/v19-release

Conversation

@delchev

@delchev delchev commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Cuts version 1.9 of the Intent File specification: versions/1.8.md copied to versions/1.9.md, the thirteen proposals merged on 2026-09-15 folded in at their declared anchors, Appendix A updated, statuses flipped, README table advanced. versions/1.8.md is byte-identical to origin/main.

Folded proposals (all 23 reference-implementation PRs verified MERGED in eclipse-dirigible/dirigible)

proposals/0000-template.md is the only file left at draft.

Replaced sentences (each replaced exactly once)

  • 0039 — the notify block's opening "attach is print - the record the block is about - or, inside a fan-out, recordPrint." is replaced by the three-forms paragraph, the report example and its Normative block; the rest of that blockquote (the document requirement, language, the same-path rule) is kept as the rule for the two scalar forms. In fileName, "a notify block's against the record that block renders" gains the report-attachment clause, and the report default name is appended to the Normative block.
  • 0041 — the resolves example and its first two Normative paragraphs (event/set/from/match/between; the register-relation rule) and the final one (skipping + the targeted write) are replaced; the outcomes and observability paragraphs are unchanged; where, the operand path and copy are appended before the final paragraph.
  • 0042 — "when: supports a single field ==|!= literal guard." in notifications and "(a single field ==|!= literal)" in the process trigger's third bullet are replaced; the status-references enumeration gains the new sites.
  • 0043 — the notify block's fail-soft Normative blockquote is replaced; #### Recording the delivery — outcome: sits before Links back to the application; the event-axis table gains the delivery row (and reads "four axes"); trigger admits onNotifyFailed.
  • 0044 — "Exactly one of notify or generate per row." is replaced by the notify-and/or-generate paragraph; the Appendix A schedules row reads "notify and/or generate".
  • 0046 — the abortOn closing paragraph is amended; #### whenDeleted sits between abortOn and trigger.
  • 0048 — the service-task shapes paragraph and its Normative block are replaced; the abortOn then: bullet and the notify chapter's "A sending serviceTask stands alone" sentence name clearField.
  • 0049 — the notifications recipient sentence is replaced (with 0042's when: sentence folded into the same paragraph).
  • 0050 — "No other syntax is introduced: an operand is a path, never a literal or an expression." is replaced by the pattern-aware sentence; the new subsection sits between Alternative operands and Row filtering.
  • 0051 — the layout-tag sentence gains image; #### Images — <image src> closes Printable documents.
  • 0047, 0040, 0045 are pure insertions (after kind: guard; after the TrialBalance example; after the map / defaults paragraph, with the monthlyTimesheets example gaining its unique: line).

Where proposals share a section: 0045 precedes 0044 under schedules (escalate keys on unique:); 0039's report form precedes the retained scalar rule, then 0043's fail-soft rule and outcome: subsection.

Restored cross-references

  • 1.8 rendered 0052's clause as prose because no version defined the construct: "a fan-out's deliveries are observed per row, not through the step's failure". It now reads "observed per row, through the block's outcome: stamp and the onNotifyFailed event a failed one publishes, not through the step's failure".
  • 1.8 mentions neither whenDeleted nor clearField in prose (as PR spec: version 1.8 - the sixth released proposal wave becomes a new version #90 recorded, those references sat only in 0033's / 0052's problem statements), so nothing further had to be re-linked. 0046's own text links whenMasterDeleted to Relation attributes; 0048's links the error route and abortOn.

Anchor check

GitHub-style slugging of every heading in versions/1.9.md (code fences skipped), every ](#…) link resolved: 136 headings, 282 in-file links, 0 unresolved (1.8 had 129 / 232; the same script reproduces both the 1.7 and the 1.8 commits' recorded numbers). No <!-- editor: comment remains in the version document. git diff origin/main --stat -- versions/1.8.md is empty. None of the replaced sentences survives (grep for "attach is print - the record", "single field ==|!= literal", "Exactly one of notify or generate", "No other syntax is introduced").

A companion PR on intentfile.github.io states the site's version as 1.9.

🤖 Generated with Claude Code

…version

Folds the thirteen proposals merged on 2026-09-15, every reference
implementation of which is merged in eclipse-dirigible/dirigible, into
versions/1.9.md (copied from 1.8, spec text inserted at each proposal's
declared anchor, Appendix A rows added, version header written):

New constructs: attach: { report, bind } on a notify block and notify on
a cross-model schedule source (0039), correspondence on a balance report
(0040), resolves[].where / copy and operand paths (0041), the list form of
event.when on the axis, an event-driven create-from and a process trigger
(0042), notify.outcome and the onNotifyFailed delivery axis (0043),
schedules.escalate and a schedule that both notifies and generates (0044),
schedules[].generate.unique with { run } (0045), whenDeleted on a process
(0046), checks kind: forbidWhen (0047), the clearField service task (0048),
a @config:KEY notify recipient (0049), a {{a:pattern}} format pattern on a
print placeholder operand (0050) and the print <image src> tag (0051).

Replaced sentences (each replaced once): the notify block's "`attach` is
`print` ... or `recordPrint`" opening (0039); the fileName "a notify
block's against the record that block renders" sentence (0039); the three
normative paragraphs of resolves - event/set/from/match/between, the
register-relation rule, and skipping + the targeted write (0041); the
"single `field ==|!= literal`" sentences in notifications and the process
trigger (0042); the notify block's fail-soft blockquote (0043); "Exactly
one of `notify` or `generate` per row" (0044); the abortOn closing
paragraph (0046); the service-task shapes paragraph and its normative
block, the abortOn then: bullet and the "sending serviceTask stands alone"
sentence (0048); the notifications recipient sentence (0049); "an operand
is a path, never a literal or an expression" (0050); the layout-tag
sentence (0051).

Restored cross-reference: 0052's step-resilience clause, rendered as prose
in 1.8 because no version defined the construct, now links a fan-out's
per-row observation to the new `outcome:` subsection and names
onNotifyFailed. 1.8 mentions neither whenDeleted nor clearField in prose
(the references sat in the proposals' problem statements only), so no
further link had to be restored; 0046's own text links whenMasterDeleted.

Ordering where proposals share a section: 0045 (natural key) precedes
0044 (escalate) under schedules, since escalate keys on unique:; under the
notify block 0039's report form precedes the retained scalar rule and
0043's fail-soft blockquote and outcome: subsection; the notifications
recipient paragraph is 0049's with 0042's when: sentence inside it; the
event-axis table gains 0043's delivery row and reads "four axes".

Statuses of the thirteen proposals flipped to 'released in 1.9'; README
version table and normative-file pointer updated. Anchor check over
versions/1.9.md: 136 headings, 282 in-file links, 0 unresolved (the same
script reproduces 1.8's 129 / 232). versions/1.8.md is unchanged against
origin/main. No <!-- editor: --> comment remains.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant