Skip to content

docs: retire scheduler.* and watch.* from the protocol vocabulary - #15

Merged
ualtinok merged 1 commit into
cortexkit:masterfrom
iceteaSA:docs/retire-scheduler-vocabulary
Aug 14, 2026
Merged

ualtinok merged 1 commit into
cortexkit:masterfrom
iceteaSA:docs/retire-scheduler-vocabulary

Conversation

@iceteaSA

@iceteaSA iceteaSA commented Aug 12, 2026 •

Copy link
Copy Markdown
Collaborator

Closes the doc half of #13. You removed ops::SCHEDULER and ops::WATCH in 0248b51; docs/subc-control-protocol.md was untouched, so it became the only place still advertising them.

That's worth naming precisely: before the commit, code and doc agreed and both were wrong. After it, the doc is the sole surviving source of the misreading — and it's the file someone surveying the protocol reads first. Strictly worse than before, not better.

Your rationale in the source comment is the one I applied:

A reserved name for something that will never be built here reads as a roadmap commitment to anyone surveying the protocol, and it recruited exactly that misunderstanding from an outside contributor.

That contributor is me. #1 and #2 exist because I read those prefixes as a plan.

What changed

Six sites, doc-only:

  • :14 — thin-core principle: lease/scheduler → lease
  • :98 — request enum's FUTURE comment: dropped scheduler.* and watch.*, kept config.*
  • :170 — push-direction reservation: dropped watch.* from the examples. The reservation itself survives — it's still valid, only that example was retired
  • :173 — thin-core ops table: dropped scheduler.* and the watch.* clause
  • :183 — baseline-op example: a future scheduler.*/lease.* → a future lease.*
  • :184 — reserved prefixes list: dropped both

lease.* is deliberately untouched. It's still open: docs/subc-core-architecture.md:207 couples it to the scheduler, but its stated job — stopping two modules dreaming the same project at once — is cross-module arbitration, which is supervisor-shaped rather than scheduler-shaped. If it follows scheduling to prefrontal, nothing arbitrates between modules; if it stays, it stays without the thing it was specified alongside. Your call, and removing it here would have pre-empted it.

Second correction in the same file

The request enum was two supervisor ops behind: added supervisor.health and supervisor.health_probe, both verified in SUBC_CONTROL_OPS on master.

supervisor.stderr_tail is not added. It's from #10, unmerged — documenting an op that doesn't exist upstream would repeat the exact defect this PR fixes. It goes in with that PR or not at all.

Worth flagging one thing about my own process here: I briefed this as "three ops missing" and it was two, because I counted in my own tree where stderr_tail exists. Same error class as the reservation itself — a name present locally read as a name present generally.

1 file changed, 8 insertions(+), 6 deletions(-)
grep -Ei "scheduler|watch\.\*"  → no matches
grep -i "lease"                 → still present, untouched

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.


Summary by cubic

Retires scheduler.* and watch.* from the control protocol docs to match the code and avoid implying future features. Documents supervisor.health and supervisor.health_probe; lease.* remains as a future prefix.

  • Bug Fixes
    • Removed all scheduler.*/watch.* mentions in docs/subc-control-protocol.md (thin-core principle, FUTURE note, client push example now only route.*/catalog.*, thin-core ops table, baseline text, reserved prefixes).
    • Added supervisor.health and supervisor.health_probe to ClientControlRequest; left supervisor.stderr_tail out because it’s unmerged.

Written for commit ade26c9. Summary will update on new commits.

Review in cubic

Code commit 0248b51 retired these prefixes while this document continued to advertise them. lease.* remains deliberately untouched pending a maintainer decision. The request enum lagged master by supervisor.health and supervisor.health_probe; supervisor.stderr_tail remains unmerged and excluded.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

You're on the cubic free plan with 14 free PR reviews remaining this month. Upgrade for unlimited reviews.

Re-trigger cubic

@ualtinok
ualtinok merged commit efe0795 into cortexkit:master Aug 14, 2026
4 checks passed
ualtinok added a commit that referenced this pull request Aug 14, 2026
Follows #15 (scheduler.*/watch.* retirement). Cross-module single-writer
arbitration ships at the store layer (cortexkit-lease: advisory lock +
persisted epoch CAS per store), so a daemon-level lease op family would
duplicate an invariant the storage substrate already enforces. Raised in
the second half of #13.
@iceteaSA
iceteaSA deleted the docs/retire-scheduler-vocabulary branch August 17, 2026 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants