Part of #151.
Problem. featureSetFor (cmd/runner/main.go:467) grants Drivers=true + Middleware=true to every Go adapter, so the scheduler runs 12 chain + 4 driver cells against Go servers that 501/404. Flags are derived from the engine name string + category, not from what the binary serves. Rust/Python/Bun get false so they're skipped — so today's DB/middleware 'comparison' is celeris-vs-nothing.
Goal. Capability flags reflect reality; no scenario scheduled against a server that 501s.
Scope.
Acceptance. Every scheduled (server×scenario) pair is implemented; a deliberately-unimplemented endpoint fails the run loudly.
Refs: cmd/runner/main.go:467-501, interleave/schedule.go:42, servers/servers.go.
Part of #151.
Problem.
featureSetFor(cmd/runner/main.go:467) grantsDrivers=true+Middleware=trueto every Go adapter, so the scheduler runs 12 chain + 4 driver cells against Go servers that 501/404. Flags are derived from the engine name string + category, not from what the binary serves. Rust/Python/Bun getfalseso they're skipped — so today's DB/middleware 'comparison' is celeris-vs-nothing.Goal. Capability flags reflect reality; no scenario scheduled against a server that 501s.
Scope.
Drivers/Middlewareper adapter based on actual endpoint support (a manifest or a startup capability probe — hit/__capsor parse a declared list).Acceptance. Every scheduled (server×scenario) pair is implemented; a deliberately-unimplemented endpoint fails the run loudly.
Refs:
cmd/runner/main.go:467-501,interleave/schedule.go:42,servers/servers.go.