Skip to content

Support schedule visibility queries in embedded mode - #290

Merged
rmcdaniel merged 4 commits into
mainfrom
waterline/226-embedded-schedule-query
Nov 11, 2026
Merged

rmcdaniel merged 4 commits into
mainfrom
waterline/226-embedded-schedule-query

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Nov 11, 2026 •

Copy link
Copy Markdown
Member

Embedded Waterline refused every schedule visibility query with 501, so the query field was service-only. Workflow 2.21.0 added ScheduleVisibilityQuery (workflow#1036). This PR uses it when the host has it.

  • Controller: when Workflow\V2\Support\ScheduleVisibilityQuery exists, the embedded schedule list parses query with it and applies its equality predicates together with the status, workflow-type and namespace filters. Only the parser is used, because Workflow's builder needs exactly one namespace and a cluster-wide Waterline lists them all. Unsupported queries return 422 with Workflow's reason (for example unsupported_schedule_visibility_predicate). Older Workflow keeps the existing 501 backend_capability_unavailable / schedule_visibility_query.
  • Capability: backend.capabilities.schedule_visibility_query is true in service mode, or when the helper is installed.
  • UI: the query field shows whenever that capability is true, not only in service mode. The CSS class for the narrower filter grid is renamed --embedded → --no-query.
  • CI: the existing published-Workflow job gets a 2.22.0 cell that runs V2SchedulesControllerTest. The development pin (2.20.3) covers the refusal path.
  • Rebuilt public/ assets; changelog entry under Unreleased.
  • Bundled per Security: refuse tracked Claude project-local settings .github#355: scripts/check-public-boundary.sh refuses any tracked .claude/settings.local.json (root or nested, printing only the path), and .gitignore covers both forms.

Local checks: V2SchedulesControllerTest passes on Workflow 2.20.3 (23 tests, 2 skips) and on 2.22.0 (23 tests, 1 skip), and all 173 frontend tests pass. Rebuilt assets differ only in the expected three files.

Closes #226.

🤖 Generated with Claude Code

rmcdaniel and others added 2 commits November 11, 2026 16:00
Embedded Waterline refused every schedule visibility query with 501.
Workflow 2.21.0 added ScheduleVisibilityQuery (workflow#1036), so when
the installed Workflow has it, the schedule list now parses the query
with it and applies its equality predicates together with the status,
workflow type and namespace filters. Only the parser is used because
the Workflow builder needs one namespace and a cluster-wide Waterline
lists them all. Unsupported queries get 422 with Workflow's reason.
Older Workflow installs keep the 501 refusal.

The backend advertises schedule_visibility_query, and the schedules
screen shows the query field whenever the backend supports it rather
than only in service mode.

CI runs the schedule controller tests against published Workflow
2.22.0; the development pin (2.20.3) covers the refusal path.

Refs #226.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rmcdaniel rmcdaniel added the agent:waterline Work by the waterline agent label Nov 11, 2026
@rmcdaniel

Copy link
Copy Markdown
Member Author

CI: 34 checks pass, including the new Published Workflow 2.22.0 schedule query integration (23 tests, 296 assertions; the helper path runs). The 5 failures (mssql, browser budget, both Responsive browser jobs, and the gate) all stop at apt-get with Temporary failure resolving 'security.ubuntu.com' / 'azure.archive.ubuntu.com', the same hosted-runner mirror outage as #289. Next: rerun when the mirrors resolve, then mark ready and merge normally.

Add the organization guard from durable-workflow/.github#355: the
public-boundary check refuses any tracked .claude/settings.local.json at
the root or below, printing only the path, and .gitignore covers both
forms. Content scans are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With ScheduleVisibilityQuery available on the host (Workflow 2.21+),
embedded mode now answers schedule visibility queries, so the visual
check must expect the field instead of asserting it is hidden.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@rmcdaniel
rmcdaniel marked this pull request as ready for review November 11, 2026 18:40
@rmcdaniel
rmcdaniel merged commit e3cef3b into main Nov 11, 2026
41 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent:waterline Work by the waterline agent

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Filter schedules by workflow type in Waterline

1 participant