Repository navigation
fix: review follow-ups from the beta promotion #2643 (JSONL batches, owningApp, 413 spec) - #2707
Merged
Merged
Conversation
- A failed download on batch 2 or later keeps its batch and no longer reports `resume`, so its job waits for its own interval instead of calling the failing source again every five minutes. - A `format: "jsonl"` synchronization refuses a `.tar`/`.tar.gz` endpoint before downloading, with the same warning as the non-JSONL path. - A batch run (`batch_limit_reached`) no longer logs the fetch-incomplete warning or dispatches the deletion-guarded event once per batch; its guard reads `batch_run`. REQ-006 now says a JSONL source larger than one batch never runs the disappearance pass. - A cycle is tied to one version of the file: the download's ETag (else Last-Modified with Content-Length) is kept in the new synchronization field `currentPageVersion` (schema 1.2.1). A later batch that finds another version starts the cycle again at batch 1 of the new file. - The ten external gathering jobs carry version 1.0.1, so an upgrade disables a job an earlier version imported enabled; the fragment test asserts it and the spec has an upgrade scenario. - Text that still described the Austria job as enabled, single-request and whole-file is updated, the orphaned currentPage docblock is folded into persistPageCursor(), the streaming sentence is scoped to streamed responses, and the scheduling tests cite the job-scheduling requirement. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ers from that app only A StUF-ZKN source can name its app in `configuration.owningApp`. The ZDS case client then refuses a case command whose `sourceApp` is another app, and the provider receiver restricts the query event to that app before dispatching it, so another app's answer or refusal does not count and a listener cannot move the restriction. A source without `owningApp` behaves as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
WilcoLouwerse
requested review from
Rem-Dam,
bbrands02,
rjzondervan and
rubenvdlinde
as code owners
October 19, 2026 10:17
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Quality Report — ConductionNL/integriq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ✅ | ||||
| psalm | ✅ | ||||
| phpstan | ✅ | ||||
| phpmetrics | ✅ | ||||
| eslint | ✅ | ||||
| stylelint | ✅ | ||||
| build | ✅ | ||||
| build | ✅ | ||||
| check-specs | ✅ | ||||
| test-l10n | ✅ | ||||
| format | ✅ | ||||
| check-schema-l10n | ✅ | ||||
| check-l10n-js | ✅ | ||||
| composer | ✅ | ✅ 143/143 | |||
| npm | ✅ | ✅ 646/646 | |||
| app:check-code | ⏭️ | ||||
| info.xml | ✅ | ||||
| REUSE | ❌ | ||||
| lockfile sync | ✅ | ||||
| PHPUnit | ✅ 5565/5565 · 1 skipped | ||||
| Newman | ✅ 130/130 | ||||
| Playwright | ⏭️ deferred: E2E runs locally and on the promotion path only. This pull request targets development, so the suite is asked once per promotion into beta and main rather than once per push per open pull request. Run it locally with npx playwright test, or from the Actions tab on a branch with no open pull request into development. |
||||
| Hydra gates | ✅ | ||||
| Hydra gates (axe) | ✅ |
Quality workflow — 2026-10-19 10:30 UTC
Download the full PDF report from the workflow artifacts.
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.
Follow-ups from the review of the beta promotion #2643: Robert's five 🟡 and five 🟢 on the bounded JSONL sync (#2690), the
owningAppnote from my review, and the missing 413 in the spec. They go to the next beta through the next development → beta promotion.What this fixes
0ecedcc6bresumeis reported only whenfailureReason === 'batch_limit_reached'. A failed batch keeps its cursor and waits for the job's interval.format: "jsonl"synchronization no longer refuses a.tar.gzendpoint0ecedcc6bfetchJsonLinesBatch()checksisTarGzEndpoint()before downloading, logs the same warning and returns an incomplete empty batch that keeps the cursor.0ecedcc6bbatch_limit_reachedrun no longer logs the fetch-incomplete warning or dispatches the deletion-guarded event; its guard readsbatch_run.0ecedcc6bcurrentPageVersion(synchronization schema 1.2.1, both registers). A batch that finds another version logs it and reads batch 1 of the new file in the same run. The same applies when a cycle resumes after a gap. A source that sends neither header cannot show a change, and its cursor is used as before.0ecedcc6bisEnabled: falseon an upgrade. This also overwrites an administrator's own edits to those ten jobs. The fragment test asserts the version, the native-data-gathering-provider spec has an upgrade scenario, and the bounded-jsonl-sync proposal says so.0ecedcc6b$commentmemory sentence, the test method name (…AndDisabledJob) andproposal.mdare reworded.currentPagedocblock contradicts the JSONL condition0ecedcc6bpersistPageCursor()names both conditions and keeps the measurement.0ecedcc6b0ecedcc6bJobServiceTestandSynchronizationActionTestcite the job-scheduling requirement.0ecedcc6bsourceAppis a free-text label; any app can answer for any source79f64b107configuration.owningApp. The ZDS case client refuses a command from another app, and the provider receiver restricts the query event to that app before dispatching it (restrictToApp(), set once). WithoutowningApp, nothing changes.e2e208d44stuf-message-admin-onlydelta of REQ-020 states the 413 above 2 MiB, with a scenario naming the existing test.SynchronizationOutcomeWriteBackTest::testBothRegistersDeclareWriteBackpinned the synchronization schema at exactly 1.2.0; it now asserts at least 1.2.0.00c2aa891adds the two new schema strings (currentPageVersiontitle and description) tol10n/en.jsonandl10n/nl.json, forcheck:schema-l10n.Related, not in this PR
zakLk02. An update isupdateZaak_ZakLk01with an old/new object pair, and that needs the old values, which the command does not carry. Filed as StUF-ZKN messages do not follow ZDS 1.2: actualiseerZaak sends a zakLk02, the old bridge writes <zkn:zaaktype> #2705 together with the old bridge's<zkn:zaaktype>, because filling the old object is a contract choice.abe445c3b).--no-devsmoke job.Checks run on this branch
bash hydra/scripts/run-hydra-gates.sh . --scope-to-diff --base origin/development, withNODE_PATHpointing at anajvinstall → 48 of 48 applicable gates ran and are green (49 not applicable to this diff).phpunit -c phpunit-unit.xml --no-coverage, whole suite: 5,586 tests, 11 errors and 1 failure. That is the same list of 12 as onorigin/development(0a678ee5d, 5,578 tests) in the same environment; the lists were diffed. The touched test files (SynchronizationServiceTest,…FetchCompletenessTest,Wave0GatheringConnectorRegisterFragmentTest,JobServiceTest,SynchronizationActionTest,StufZkn/*): OK.lib/and fragment changes reverted, excepttestJsonlBatchOfTheSameFileVersionReadsOnandtestTheOwningAppsCommandIsSent, which pin unchanged behaviour.phpcs,phpstanandphpmdon the changedlib/files: no errors. phpcs shows 9 warnings inSynchronizationService.php, the same 9 as on development.composer check:strict, and a live cron pass with the Austria job.🤖 Generated with Claude Code