Skip to content

CI twin for PR #21 - #24

Closed
ualtinok wants to merge 4 commits into
masterfrom
ci/pr21-manifest
Closed

ualtinok wants to merge 4 commits into
masterfrom
ci/pr21-manifest

Conversation

@ualtinok

@ualtinok ualtinok commented Aug 15, 2026 •

Copy link
Copy Markdown
Contributor

Fork PRs skip the Rust matrix; twin for iceteaSA's #21 at f872077.


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

Removes scheduled-task vocabulary from the manifest and clients, and bumps the protocol to reflect the shape change. Previously manifests required ModuleManifest.scheduled_tasks; now the field and related types are gone. The HELLO body no longer includes scheduled_tasks.

  • Removes scheduled_tasks and the ScheduledTask, TaskEligibility, LeaseScope, ModelPolicy, and CircuitBreaker types from subc-protocol; updates tests and the golden HELLO fixture.
  • Bumps subc-protocol to 0.11.0; updates subc-control, subc-client-rs, and subc-transport to depend on 0.11; bumps subc-core to 0.3.1 to satisfy wire-crate checks.
  • Updates @cortexkit/subc-client to 0.6.0 and removes the corresponding interfaces and normalization. No daemon runtime logic changes; only manifest shape and tests moved.

Migration

  • Update to subc-protocol@0.11 and @cortexkit/subc-client@0.6.
  • Delete any usage of scheduled_tasks and the removed types in both Rust and TypeScript.
  • Regenerate fixtures that serialize the full HELLO manifest.

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

Review in cubic

Upstream issue #14, maintainer ruling: scheduled work will never live
in this daemon -- it belongs to a separate service. ModuleManifest.scheduled_tasks
was required, forcing every module author to declare a field for work
the daemon never executes.

Rust (crates/subc-protocol/src/manifest.rs): drop ModuleManifest.scheduled_tasks
and the ScheduledTask/TaskEligibility/LeaseScope/ModelPolicy/CircuitBreaker
types, plus every fixture/constructor reference across subc-client-rs,
subc-core, subc-mcp, and subc-protocol tests. control.rs's manifest()
test helper built a fully-populated ScheduledTask but the surrounding
tests (hello-frame parsing, route liveness, push-op handling) were never
about scheduled tasks -- the literal was incidental filler, so the field
is dropped and the tests kept.

TypeScript (clients/subc-client): drop the mirrored required field,
ScheduledTaskInput/TaskEligibilityInput/ModelPolicyInput/CircuitBreakerInput/
LeaseScope, normalizeScheduledTask, and the stale ModelPolicyInput
re-export in index.ts. Swift confirmed unaffected -- SubcClient never
named this vocabulary.

Regenerated crates/subc-protocol/tests/golden/module_hello_body.json
(the serialized HELLO body carries the whole manifest, so removing the
field necessarily moves it) -- the only golden fixture that changes;
crates/subc-control/tests/golden/ is untouched.
The scheduled-task excision changes what a module serializes in HELLO, and
seven repos path-depend on subc-protocol without being able to see that the
code moved (a path dependency records a bare version with no source and no
checksum, so a --locked build over there cannot tell). The minor is what
carries a manifest-shape change per the maintainer's note on the PR.

Three in-workspace dependents pin "0.10", which is a caret requirement that
excludes 0.11 -- subc-control, subc-client-rs, and subc-transport all fail to
resolve until they take the new minor. Bumped alongside, verified by a cargo
check that reproduced the resolution failure first.

@cortexkit/subc-client 0.5.0 -> 0.6.0: removing a required interface field is
breaking for anyone typechecking against it.
check-wire-crate-versions.sh flags subc-core because this branch edits lines
under src/. All three edits are unreachable from a library consumer's build:
the control.rs change is inside #[cfg(test)] mod tests, bench_harness.rs is
#[cfg(feature = "bench-harness")] and off by default, and fake-aft-stub is a
src/bin auto-binary rather than part of the lib.

Taking the bump the check asks for rather than arguing past it. Patch, not
minor: nothing a consumer compiles by default moved, and ck-subc's own output
is byte-unaffected.
The lock records the workspace crates' own versions, so it moves with the
bump. Committed separately because the test run that regenerated it landed
after the version commit -- a --locked build would have failed on the skew.
@ualtinok

Copy link
Copy Markdown
Contributor Author

Twin served: full matrix green at f872077, #21 merged.

@ualtinok ualtinok closed this Aug 15, 2026
@ualtinok
ualtinok deleted the ci/pr21-manifest branch August 15, 2026 21:01
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