The coverage IT runs an attachment upload and a snapshot mint - #7684
Merged
delchev merged 1 commit intoOct 5, 2026
Conversation
eclipse-dirigible#7568 put a drop of every system-owned column at the top of the generated repository's save(). IntentEmissionCoverageIT was green on that PR, and the change still broke every `function: Attachment` upload and every `function: Snapshot` mint: the fixture declared neither. Its own readOnly columns are written through updateProperties by jobs, notifications and task write-backs, which never reach save(), so a regression on the create path of a system writer was invisible to the one IT meant to run the whole generated surface. The fixture gains an Archive document with both file children and a process that mints twice in one run. The assertions go through HTTP against the generated controllers, because reading the rendered template proved nothing about the row the last time: - the upload answers with the five metadata columns and the STORED row carries them, with StoragePath ending in the Uuid folder of the stored file; - the file downloads byte for byte through the generated endpoint; - a plain create still stores null for all five while keeping the authored column; - the document carries two copies, Version 1 and 2, each describing the PDF it stored. The entities constant was already at the 65535-byte limit, so the two families ride in a third constant concatenated between the entities and the glue - one document, three constants, for the reason the glue was split out. components/engine/engine-intent/CLAUDE.md now names the seven writer families whose create path is save(), so a change to the generated save() or update() is checked against each one by name. Fixes eclipse-dirigible#7623 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Fixes #7623
#7568 put a drop of every system-owned column at the top of the generated repository's
save().IntentEmissionCoverageITwas green on that PR, and the change still broke everyfunction: Attachmentupload and everyfunction: Snapshotmint — the fixture declared neither. Its ownreadOnlycolumns are all written throughupdatePropertiesby the generated jobs, notifications and task write-backs, which never reachsave(), so a regression on the create path of a system writer was invisible to the one IT that is supposed to compile and run the whole generated surface.The fixture gains both families. An
Archivedocument master with an items child, anArchiveFile(function: Attachment) and anArchiveCopy(function: Snapshot), plus a process that runs the generated snapshot delegate twice in one run so the copy'sVersiongoes 1 then 2 while the document's own identity does not move.The assertions go through HTTP against the generated controllers, because reading the rendered template proved nothing about the row the last time:
StoragePathending in theUuidfolder of the stored file, so the two columns name one object rather than merely both being present;POSTcarrying all five still stores null for each of them while keeping the authoredCaption(intent: readOnly and system-owned columns are preserved on update only - a POST stores any value for them #7549 stays fixed);Version1 and 2, each with a non-null file name,application/pdf, a non-zero size and a/Attachments/ArchiveCopy/path.The entities constant was already at the 65535-byte limit for a Java string constant, so the two families ride in a third constant concatenated between the entities and the glue — one document, three constants, for the same reason the glue was split out.
components/engine/engine-intent/CLAUDE.mdnow names the seven writer families whose create path issave()(REST create, attachment upload, snapshot mint, create-from,postings:/posts:,inbound:arrivals,aggregates:first row), so a change toRepository.java.template'ssave()orupdate()is checked against each one by name rather than against "the coverage IT is green".Verified locally:
IntentEmissionCoverageITpasses, 173 s.