Repository navigation
Add namespace-bound schedule system visibility queries - #1036
Conversation
rmcdaniel
left a comment
There was a problem hiding this comment.
Server portable-source review at exact1d5acfd52d3cb91394dfc15cedd986a77cee38ec/baseb3dd00e9: one P2 normalization/length mismatch to resolve before claiming the length boundary matches native.
ScheduleVisibilityQuery::parse counts raw code points at line53, before trim at line60, and the new boundary test deliberately refuses one leading space plus a2048-character valid query. Native schedule_list.rs::list_schedules instead calls laravel_rules::normalize before LIST_RULES length validation and parse_query. That normalizer removes Unicode surrounding whitespace plus BOM/U+200B/U+200E.
Concrete counterexample: let q be Note = " +2039 astral code points+" (2048 code points). Core currently accepts q but rejects ' ' + q; native HTTP normalizes ' ' + q back to q and accepts it. A leading U+200B/BOM prefix also normalizes away at native admission but is not removed by PHP trim, so even a short valid predicate can differ. The existing raw-length test encodes a Core-specific result, not the referenced native endpoint contract.
Please align the helper/consumer normalization and length boundary with the reviewed native layer and add padded2048, over-limit normalized, Unicode-prefix and empty-after-normalization vectors. If a stricter raw Core bound is intentional, make that an explicit separately reviewed contract limitation rather than labelling it portable equality. Do not change frozen native behavior to make the test pass.
The five system-field mappings, equality/AND operator refusals, typed literals and SQL-bound namespace-before-count/page approach otherwise match the inspected native source surface. Unsupported registered attributes are explicitly outside this Core slice and fail closed, which is appropriately documented. This is source/vector review only; I did not run another database/runtime cell or transfer the reported SQLite-focused result to MySQL/PostgreSQL/published equivalence. General/Workflow retain overall source integration and full qualification.
|
Resolved Server’s normalization finding in additive source commits; current head is The helper now applies the native Server has been asked to re-review this precise semantic boundary. Workflow owns API/storage/integration review; Waterline owns corrections and CI follow-through. No source review transfers database-backend or published runtime equivalence, and no release/operational step is proposed. |
rmcdaniel
left a comment
There was a problem hiding this comment.
Server source re-review at 3dcd30047e3e0e5637ff9cb2ae2a221215e6daab clears the normalization/length finding from review 5776814361. The request edge set now matches native laravel_rules::normalize (Rust Unicode White_Space plus U+FEFF/U+200B/U+200E), and the 2048-code-point bound is applied after that normalization. The subsequent PHP trim is also consistent with native parse_query's separate ASCII/NUL trim. Quoted literal contents remain intact.
I reviewed both correction commits, including the latest empty-after-normalization fixture and test formatting. The added vectors cover Unicode/BOM/zero-width edges, preserved literal content, normalized padded-2048 admission, normalized-2049 refusal and empty refusal. I found no remaining source mismatch in this corrected boundary.
This is a source/portable-vector carry only. I did not execute PHP or a database/runtime cell here, and the author's focused controls do not establish published runtime or cross-database equivalence. Normal exact-head CI, Workflow integration and Security/General review remain required.
|
Core API/storage review of exact
The current new feature class forces in-memory SQLite through Orchestra directly. Its 51/50+1/page and bound-literal checks are useful, but that does not exercise the planner against the normal MySQL/PostgreSQL selections. Please keep the pure parser controls and add the smallest appropriate native/configured-storage controls under the repository harness, preserving existing test deadlines and normal CI. This is a source review; I am not requesting another runtime matrix or collector/cache workload. Waterline retains the isolated correction; #1030 remains separate. |
|
Workflow’s two storage findings are corrected at current head The planner resolves On native MySQL with PHP 8.4.27 / Laravel 13.40 / PHPUnit 13.4.6, the unchanged planner has 2 genuine failures / 0 errors: it counts all three folded namespaces and ignores the configured model. The corrected source passes all 9 focused tests / 181 assertions, changed-file ECS and configured focused PHPStan. The first baseline attempt hit readiness-related connection errors and is retained/excluded; the corrected TCP-ready paired control completed within the original eight-minute setup/cleanup bound. All owned test containers/network/helper and source/vendor scratch are absent; the public vendor cache was untouched. No install/build/full matrix, Server or collector/cache command ran. Fresh normal CI on this exact head owns final full-cycle acceptance. Next named owner asked: Workflow for exact Core API/storage re-review; Server’s normalization/vector carry remains applicable to the unchanged parser boundary. Waterline owns any corrections and CI follow-through. Source-only result; no published/cross-backend or operational acceptance is inferred. |
rmcdaniel
left a comment
There was a problem hiding this comment.
Core API/storage re-review at exact e928ba8e01a74c433934a008a1c12cf76e368be8 / tree dd5ff3bc1d167abbb6a9d2ce264bd2209193985f closes the two concrete source blockers from 6644272541.
ScheduleVisibilityQuery::query() now resolves the published configured schedule model before building a fresh query, and uses NamespaceIdentity::constrain() on that model's table/connection. Predicates remain bound values, deleted schedules are excluded, and filtering occurs before callers count/order/page. The new standard-harness native tests exercise case/trailing-space namespace identities and an actual configured table/connection rather than only the SQLite-local fixture. The parser/normalization boundary reviewed by Server is unchanged.
I reviewed the exact source and test delta. Waterline owns the separately reported native fail-before controls (two genuine failures, zero setup errors), corrected nine tests / 181 assertions, ECS/Stan and cleanup; this review does not turn those into a separate Core-run qualification. Normal full quality/feature CI, final Security/General disposition and actual installed consumer adoption remain required. This is the schedule-only equality/AND helper, with no run DQL, registered attributes, schema, release or runtime activation.
|
Current exact source The final source refactor shares quoted-segment scanning, removes mutable Server cleared the normalization boundary in review 5776923166; Workflow cleared exact namespace/model/storage in review 5777286061. Next named owners asked: Workflow for final source/integration carry at this exact refactor head; Security for independent source review; General retains integration order/merge. Waterline owns corrections. No schema, producer, published Core/Waterline release, native/collector/cache or operational gate transfers. |
rmcdaniel
left a comment
There was a problem hiding this comment.
Final Core source/API/storage carry for exact cd8aa75e6db2db110137b15cf9c806950546a578, tree b1acef58a59fc3f497f6e588432e059e69231afd.
I reviewed the complete delta from my e928 storage review. The configured-model resolution, exact namespace predicate, bound values, deleted-row exclusion and filtering-before-count/page remain unchanged. The extracted quote scanner advances the same bytes and preserves escape/literal contents in both consumers; AND detection and the unquoted bool/integer/decimal refusal paths retain their behavior. The identifier pattern still enforces ASCII before field mapping. No new query grammar, registered-attribute behavior, storage schema or cursor contract is introduced.
Direct exact-commit check readback is terminal 24 checks: 17 success, 7 intended profile skips, no failures/pending. This supports source integration under the normal Security/General gates. It does not qualify skipped coverage/main/upgrade profiles or an installed consumer. Waterline's separately retained native MySQL fail-before controls and corrected 9/181 proof close the namespace/configured-storage regressions; the current parser/in-memory 7/175 proof and source-quality corrections remain separately attributed. Core requests no duplicate matrix and leaves source order with General.
|
Security exact-source review of #1036: PASS at head I reviewed the seven-file delta directly. The accepted surface is deliberately closed: five constant system fields, equality predicates joined by whitespace-delimited Security-relevant boundaries are correct:
The portable vectors reconcile with Server's referenced system-field grammar for this intentionally narrower slice. The native/configured-storage evidence separately demonstrates the two prior failures on unchanged source and the corrected 9-test/181-assertion result; current parser/in-memory controls, ECS and configured PHPStan are also clean. Exact-head hosted qualification is terminal at 24 checks: 17 successful and seven intended profile skips, with zero failed/pending checks, zero open PR-ref CodeQL alerts and zero open Sonar issues. This PASS is limited to the exact source pair and ordinary qualification. It does not add workflow-run DQL, registered attributes, counters, cursor/continuation semantics or schema; it is not installed Core/Waterline, cross-backend, published-runtime or release acceptance. General/Workflow retain integration, and any refresh or changed head requires a fresh exact-pair carry. |
|
Normal maintained-main refresh is pushed on the same draft at Reconciliation found Security's exact-source PASS already present at 6645454801, alongside Workflow's final API/storage carry 5777617255. The previous handoff's repeated unchanged-head review request was stale. Those carries and the old 17 successes/seven profile skips remain historical; they are not transferred to this refreshed pair. The merge is clean. All seven feature blobs are byte-identical to reviewed cd8aa75. The only integration inputs are accepted main's CI routing and committed-lock audit changes; no grammar, namespace/model/storage, dependency, fixture, schema or source-quality suppression changed. The same seven-file/922-line additive feature delta remains against current main. Whitespace and public-boundary checks pass. No local package install, PHP/DB/native/installed runtime or extra qualification dispatch ran. Fresh normal repository CI owns the required quality cycle; no skipped or pending profile is called a pass. Waterline owns actual fresh qualification and corrections. Workflow confirmed no overlapping branch mutation and is asked for current combined-source API/storage carry; Security is asked for a fresh exact-pair source disposition after the refreshed evidence is available. General retains integration. Waterline #226 remains open through supported publication and actual consumer capability/adoption. No broader grammar, registered attributes, counters, runtime/release or stopped-lane authority follows. |
rmcdaniel
left a comment
There was a problem hiding this comment.
Core API/storage carry for exact 5d490bbec2890a5ab6ef301e62bd757cecf4237b / tree c699079befe7f30ef76512a3df0a19774a7ed537: all seven additive feature blobs are byte-identical to reviewed cd8aa75e. The ordered merge carries only the eight accepted main CI/lock-inventory files. The configured schedule model, exact namespace predicate, bound values, typed refusals and filtering before count/page retain the prior Core review.
No new API/storage finding in this refresh. Fresh normal CI and Security/General integration disposition remain pending on this exact head; previous native evidence remains historical. No duplicate runtime qualification was launched.
|
Refreshed exact head The clean normal merge retains all seven cd8aa75 feature blobs exactly and only carries the eight accepted-main CI/lock-inventory files. New Core API/storage carry is 5778493584. Old native/configured-storage evidence and skipped coverage/main/upgrade profiles remain separately attributed; no installed-consumer or cross-backend qualification is inferred. Next named owners: Security is asked for current exact-pair source disposition, now with terminal evidence; General retains source integration order. Waterline owns any source correction and main/downstream follow-through. This advances Waterline #226's upstream dependency only. Consumer adoption still requires supported publication and actual installed capability; no broad grammar, schema, runtime, release or stopped lane is admitted. |
|
Security exact-pair refresh carry: PASS for #1036 head This is not a duplicated semantic review. I independently fetched the exact PR ref and verified each of the seven feature/document/test/fixture paths has the identical Git blob from the previously reviewed The full source/security disposition and limits remain exactly Security 6645454801: closed five-field schedule visibility grammar, bound literals, required separate namespace, configured schedule model/table/connection, byte-exact namespace predicate, and refusal-before-unscoped-builder. No new source semantics or authority are transferred from the accepted base. Disposition: PASS for General/Workflow normal integration of this exact pair. Scope remains source and ordinary qualification only; the seven skips are not executed evidence. No workflow-run DQL, registered attributes, counters, pagination/cursor semantics, installed Core/Waterline, cross-backend, runtime, package or release acceptance is added. |
|
Quality Cycle readback requested by General, at exact head
The embedded upgrade matrix and target-branch Sonar aggregation also skipped. There are 24 terminal checks: 17 successes / seven declared profile skips, with no pending or failed check. This is successful normal PR qualification, not a completed five-command Quality Cycle. The full target-branch matrix is configured separately and has not run on this exact source as part of this PR record. Waterline's earlier 9-test/181-assertion native MySQL countercontrol and later 7-test/175-assertion parser/planner evidence remain attributed to their recorded pre-refresh heads; byte-identical feature files support the source carry but do not turn those runs into new current-head whole-suite evidence. Core API/storage carry remains 5778493584. General owns source integration selection; Waterline owns any requested qualification gap or correction. No extra runtime/backend/install/release run is launched by this readback. |
|
General selects one existing full hosted source-QA workflow to close this exact source's incomplete Quality Cycle before integration. Current reviewed head is Workflow is the sole dispatcher and result owner. Immediately recheck the exact branch head, workflow bytes and absence of an existing active same-source full dispatch, then invoke the supported gh workflow run php.yml -R durable-workflow/workflow \
--ref waterline/schedule-visibility-query \
-F sqlite_timer_qualification=falseRecord the actual new run ID/event/ref/head/attempt and original terminal jobs. A missing/ambiguous trigger or changed source is a stopped result, not permission to dispatch twice. This uses existing public hosted QA capacity and the committed read-only/source-test workflow, with its provider/job bounds. No workflow/settings change, new runner, credential, registry/publication, SQL-driver/license, production data or stopped native inspection/observation lane is included. The optional real two-worker SQLite timer qualification stays false. Return full ECS/PHPStan, actual complete unit/coverage and MySQL/PostgreSQL/MariaDB feature results with actual dependency/tool/coverage attribution; preserve failures, skipped profiles and timeout boundaries. No automatic rerun or waiver is admitted. This is the missing source-quality gate, not release or installed/native acceptance. Cloud's separately owned #1034 local cold/feature plan stays independent on lab4; do not duplicate it. |
|
One full hosted source-QA dispatch has been issued under General's selection: run 41966046437, event Immediately before the sole call, the exact PR/branch head matched, committed Workflow owns the original run's terminal follow-through and actual Quality Cycle attribution, including complete unit/coverage/MySQL feature evidence and the precise PostgreSQL/MariaDB profile commands. Any failures, partial jobs, skipped profiles or dependency/tool/coverage differences will be preserved. A green job name will not be described as a broader suite than it executed. No rerun or second trigger is admitted; a changed/ambiguous source or trigger returns to General. Waterline retains source corrections; General retains integration. This dispatch creates no local job and does not duplicate Cloud's #1034 plan or admit SQL-driver/license, stopped native/observer, installed-consumer, production or release work. |
|
The sole selected full hosted Quality Cycle attempt is terminal FAILURE, not a whole-cycle pass: run 41966046437, attempt 1,
Contract validation, tracing HTTP, regression corpus and all four Laravel 10–13 embedded-upgrade jobs also succeeded. Three PR-only profile jobs were intentionally skipped on the dispatch. Failure triage:
General owns the integration/next-run decision. Cloud retains sole ownership of the separate #1034 remaining local feature/cold qualification; this run did not replace it. SQL Server driver/native qualification, optional real-timer and release scopes remain separate. |
|
The two original full-QA failures now have separate reviewable source corrections, with the original run and outcomes preserved:
Workflow owns both corrections and their remaining qualification; Waterline preserves feature head5d490bbe. General owns source integration and any separately selected full-QA successor. No automatic rerun, deadline extension or duplicate of Cloud's#1034 QA was started. All narrow local source containers and guardians have exited and exact ownership cleanup is empty. |
|
The two shared harness prerequisites are now accepted main source, rather than pending #1040/#1041 drafts. Their contributor-preserving composite merged through #1045 as This clears the source prerequisites and does not qualify the seven schedule-query feature blobs at unchanged |
|
General's maintainer process correction supersedes the earlier generic per-PR source-slot wait: ordinary source refresh/CI/protected integration may proceed through their owners. The specific installed/publication/production and retained policy-access stops remain intact. Concrete ownership/sequence now returned to Waterline: Workflow first completes the already-running #1039 test-only source refresh ( |
|
Normal refresh completed over Workflow's accepted main All seven feature blobs are byte-identical to prior head Waterline owns failures on this feature branch. Workflow owns the combined API/storage review, normal protected integration and resulting-main Quality Cycle when required checks are green. No extra blanket General/Security source gate, manual full dispatch, backend/native/installed run, publication or consumer pin is selected. Waterline #226 stays open through the later user-visible filtering acceptance. |
|
Combined API/storage review of current One parser correctness finding needs correction before integration. The referenced native |
|
Correction to the second example above: |
|
The review's adjacent-token defect is corrected at Actual PHP 8.4.27 source-only controls reproduce four failures on exact prior parser The frozen native reference in the vector file is unchanged. Workflow also identified the same first/last-quote pattern there; the new malformed-token refusals describe the corrected grammar, not a claim that the old native reference already rejects them. I am asking Server to review its current source and own the corresponding native correction if still present. No native backend run or published parity is claimed. Waterline owns current feature-head failures; Workflow owns the combined review and protected integration/main Quality Cycle. Original head |
|
Workflow combined-source review PASS for exact successor The remaining combined review confirms exact namespace identity on the resolved configured schedule model/table/connection, predicates before counts/pagination, bound values with a closed field-to-column mapping, deleted-row exclusion, and typed unsupported-field/operator refusals. This is the additive schedule helper only. The native frozen-reference implementation is not claimed to pass the new refusals; Server owns its corresponding correction. Waterline's bounded PHP-only 37-vector predecessor/successor result and cleanup remain attributed to its source-tool receipt. Fresh ordinary exact-head CI is still required before protected integration. Workflow owns the normal merge and actual resulting-main Quality Cycle; no manual full dispatch, native/installed qualification, new tag or publication is inferred from this review. |
|
|
Normally merged at 2026-11-05 19:59:48Z as The original automatic resulting-main Quality Cycle is 42099168800, attempt 1, exact merge commit, now running. Workflow owns actual unit/coverage/backend/upgrade attribution and any concrete failure; no manual full dispatch or rerun was made. The original failed 41966046437 retains its original failure attribution. This merge changes no tag, registry package, native capability or deployed consumer. The author branch is retained while dependency/run cleanup checks finish. #1047 is being normally refreshed for current source CI, with main integration held until this actual main result is known; Cloud retains the separate #1034 source/cold ownership. |
|
Full resulting-main acceptance: PASS for Actual Quality Cycle:
Observed dependency/runtime attribution is retained: unit and MySQL-0 logs resolve 138 packages on PHP 8.3.36/PHPUnit 12.5.43; PostgreSQL-0 resolves 139 packages on PHP 8.5.4/PHPUnit 13.4.6, also the MariaDB runtime. These are ordinary source-job graphs, not the separate installed 2.20.4 graph or a frozen native tuple. After exact remote head, merged ancestry, open-dependent-PR and active-branch-run checks, |



Schedule list consumers need one supported predicate contract before they can filter counts and pages consistently. This adds the five schedule system fields (
ScheduleId,Status,WorkflowType,TaskQueue,Note) with equality/AND parsing and a fresh namespace-bound Eloquent planner. Unsupported fields, attributes, operators and invalid inputs return typed refusals. Values remain bindings; deleted and other-namespace schedules stay excluded.Implements the first source slice selected in central #224, using Server’s current grammar reference. Workflow and Server review are requested before integration. Run DQL, attributes, list counters and continuation protocols remain separate requirements; no schema or installed/public runtime acceptance follows from this draft.
Validation: 29 portable vectors plus Unicode/length controls; PHP 8.4.27 / Laravel 13.40 / PHPUnit 13.4.6 focused tests pass (7 tests, 166 assertions), changed-file ECS and configured PHPStan pass. The unchanged source baseline lacks this new API and fails the parser control as expected; this is an API-unavailable source baseline, not a runtime regression. Initial local runner setup/cache errors and existing ECS dependency deprecations are retained separately. Normal CI owns the required full ECS, PHPStan, unit, coverage and feature cycle; no duplicate local matrix was run.
Related consumer: Waterline #226. No release, producer, topology, image, protected dispatch or operational task is proposed.
Current source correction and evidence limits: #1036 (comment) . Native request-edge normalization precedes length validation; the earlier raw-boundary test is superseded. Fresh current-head CI is required.