Skip to content

docs: call a scheduled entry what the domain calls it - #592

Merged
retr0h merged 1 commit into
mainfrom
docs/schedule-cli-wording
Oct 4, 2026
Merged

retr0h merged 1 commit into
mainfrom
docs/schedule-cli-wording

Conversation

@retr0h

@retr0h retr0h commented Oct 4, 2026

Copy link
Copy Markdown
Collaborator

Closes #590, and three real defects that issue did not know about.

#569 settled that cron is the driver and schedule is the domain, and renamed the URL, the provider directory, the processor and the SDK. The help text and the documentation were left behind, so osapi client node schedule list --help said it listed cron entries.

The stale documentation was also wrong

The issue was filed about wording. Three of the findings are broken rather than merely old:

The SDK page documented an API that does not exist. It was titled # Cron, said to access it via client.Cron.List(), and used client.CronCreateOpts and client.CronUpdateOpts in every code sample. The real surface:

$ grep -n "Schedule \*" pkg/sdk/client/osapi.go
101:	Schedule *ScheduleService
$ grep -n "type Schedule.*Opts" pkg/sdk/client/schedule_types.go
50:type ScheduleCreateOpts struct {
69:type ScheduleUpdateOpts struct {

Nothing on that page would have compiled. Anyone copying a sample got an undefined field.

A dead link. The page pointed at examples/sdk/client/cron.go. The file is schedule.go.

The navigation and the service index both listed it as Cron, so the renamed service was reachable only under its old name.

What changed, and what deliberately did not

Eight help strings and the documentation prose now say "scheduled entry". These stay as cron, because they name cron itself rather than the domain:

  • cmd/client_node_schedule_update.go:96 — "New cron schedule expression". It is a cron expression, in the five-field format cron_schedule parses.
  • The /etc/cron.d/ and /etc/cron.{interval}/ paths, the file modes table, and "the cron provider is a meta provider".

Whether cron implements the entry is not the caller's concern, which is the reason the URL says schedule. Where the implementation is the subject, the implementation's name is correct.

Swept for the rest

$ grep -rn "\.Cron\b|CronCreateOpts|CronUpdateOpts|client\.Cron" docs/ examples/ README.md
(nothing)

One thing checked and deliberately not reported: examples/sdk/client/cron is an 8.8MB executable on my disk, but it is gitignored and untracked, so it is a leftover from my own build rather than anything in the repository.

just test passes, including docusaurus-build, which fails on a broken internal link, and docusaurus-fmt-check. Coverage 100%.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FuKUsHFG1EqZXamffh9M2c

#569 settled that cron is the driver and schedule is the domain, and
renamed the URL, the provider directory, the processor and the SDK. The
CLI help text and the documentation were not renamed with them, so
`osapi client node schedule list --help` said it listed cron entries.

The eight help strings that named the thing a user manages are now
scheduled entries. The ones that name cron itself stay: the file paths
under /etc/cron.d, the five-field expression format, and the provider.
Whether cron implements it is not the caller's concern, which is the
reason the URL says schedule.

Three of these were wrong rather than merely stale. The SDK page was
titled Cron, documented `client.Cron.List()` and used CronCreateOpts and
CronUpdateOpts throughout its examples. The field is `Schedule
*ScheduleService` and the types are ScheduleCreateOpts and
ScheduleUpdateOpts, so every call on that page named something that does
not exist and none of it would compile. The page also linked to
examples/sdk/client/cron.go, which is schedule.go, so the link was dead.
The SDK dropdown and the service index listed it as Cron as well.

Swept docs/, examples/ and the README for other stale symbols. There
were none.

Closes: #590

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FuKUsHFG1EqZXamffh9M2c
@codecov

codecov Bot commented Oct 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #592   +/-   ##
=======================================
  Coverage   99.95%   99.95%           
=======================================
  Files         501      501           
  Lines       24099    24099           
=======================================
  Hits        24089    24089           
  Misses         10       10           

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3198487...22dc40e. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@retr0h
retr0h merged commit f690e4d into main Oct 4, 2026
12 checks passed
@retr0h
retr0h deleted the docs/schedule-cli-wording branch October 4, 2026 05:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

The schedule CLI still calls its entries cron entries

1 participant