Follow-up cleanup for #285. When the code-runner controller was renamed (CSharpCodeRunnerController → CodeRunnerController, canonical route api/CodeRunner), the old api/CSharpCodeRunner route was retained as a deprecated alias for one release (Option A) so already-deployed SPA builds kept working during rollout.
Once every shipped/used SPA build targets api/CodeRunner, remove the alias so the controller exposes a single canonical route.
No clients still calling api/CSharpCodeRunner/* — confirm via access logs / metrics for the deprecation window (at least one full release cycle).
Scope (spikersoft-backend)
In SpikerSoft.Api/Domain/CodeExecution/CodeRunnerController.cs, drop the second [Route("api/CSharpCodeRunner")] attribute (and its explanatory comment), leaving only [Route("api/CodeRunner")].
Update the controller summary that mentions the alias.
In SpikerSoft.Tests.Unit/Controllers/CodeRunnerControllerTests.cs, remove the api/CSharpCodeRunner case from Controller_ExposesCanonicalAndDeprecatedAliasRoutes (or convert it to assert the alias is gone).
Audit docs that still mention the alias as “retained”: backend README.md and SpikerSoft.EventHandlers.CodeExecution/README.md — update wording to reflect removal.
Regenerate / verify the MCP SpikerSoft-Api-Client.cs still points at api/CodeRunner (already updated in #285).
No remaining references to CSharpCodeRunner anywhere except historical changelog/PR notes.
C#, Python, and JavaScript playgrounds verified working on api/CodeRunner (run + lesson).
Severity
Low (tech-debt cleanup; time-gated on the deprecation window).
## Summary
Follow-up cleanup for #285. When the code-runner controller was renamed (`CSharpCodeRunnerController` → `CodeRunnerController`, canonical route `api/CodeRunner`), the old `api/CSharpCodeRunner` route was retained as a **deprecated alias for one release** (Option A) so already-deployed SPA builds kept working during rollout.
Once every shipped/used SPA build targets `api/CodeRunner`, remove the alias so the controller exposes a single canonical route.
## Preconditions (do NOT remove until all are true)
- [ ] Backend rename merged + deployed (spikersoft-backend #34).
- [ ] Frontend repoint merged + deployed (spikersoft-angular #83).
- [ ] No clients still calling `api/CSharpCodeRunner/*` — confirm via access logs / metrics for the deprecation window (at least one full release cycle).
## Scope (`spikersoft-backend`)
- In `SpikerSoft.Api/Domain/CodeExecution/CodeRunnerController.cs`, drop the second `[Route("api/CSharpCodeRunner")]` attribute (and its explanatory comment), leaving only `[Route("api/CodeRunner")]`.
- Update the controller summary that mentions the alias.
- In `SpikerSoft.Tests.Unit/Controllers/CodeRunnerControllerTests.cs`, remove the `api/CSharpCodeRunner` case from `Controller_ExposesCanonicalAndDeprecatedAliasRoutes` (or convert it to assert the alias is **gone**).
- Audit docs that still mention the alias as “retained”: backend `README.md` and `SpikerSoft.EventHandlers.CodeExecution/README.md` — update wording to reflect removal.
- Regenerate / verify the MCP `SpikerSoft-Api-Client.cs` still points at `api/CodeRunner` (already updated in #285).
## Acceptance criteria
- [ ] `api/CSharpCodeRunner/{run,lesson,signalr-info}` returns 404; `api/CodeRunner/*` unchanged.
- [ ] No remaining references to `CSharpCodeRunner` anywhere except historical changelog/PR notes.
- [ ] C#, Python, and JavaScript playgrounds verified working on `api/CodeRunner` (run + lesson).
## Severity
Low (tech-debt cleanup; time-gated on the deprecation window).
Resolved in spikersoft-backend PR #92 (merged to master — commit 3854caf). The deprecated api/CSharpCodeRunner alias route was removed (single canonical api/CodeRunner); routing test now asserts the alias 404s; backend + CodeExecution READMEs updated. Frontend was already fully repointed to api/CodeRunner. Closing.
Resolved in spikersoft-backend PR #92 (merged to `master` — commit `3854caf`). The deprecated `api/CSharpCodeRunner` alias route was removed (single canonical `api/CodeRunner`); routing test now asserts the alias 404s; backend + CodeExecution READMEs updated. Frontend was already fully repointed to `api/CodeRunner`. Closing.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Follow-up cleanup for #285. When the code-runner controller was renamed (
CSharpCodeRunnerController→CodeRunnerController, canonical routeapi/CodeRunner), the oldapi/CSharpCodeRunnerroute was retained as a deprecated alias for one release (Option A) so already-deployed SPA builds kept working during rollout.Once every shipped/used SPA build targets
api/CodeRunner, remove the alias so the controller exposes a single canonical route.Preconditions (do NOT remove until all are true)
api/CSharpCodeRunner/*— confirm via access logs / metrics for the deprecation window (at least one full release cycle).Scope (
spikersoft-backend)SpikerSoft.Api/Domain/CodeExecution/CodeRunnerController.cs, drop the second[Route("api/CSharpCodeRunner")]attribute (and its explanatory comment), leaving only[Route("api/CodeRunner")].SpikerSoft.Tests.Unit/Controllers/CodeRunnerControllerTests.cs, remove theapi/CSharpCodeRunnercase fromController_ExposesCanonicalAndDeprecatedAliasRoutes(or convert it to assert the alias is gone).README.mdandSpikerSoft.EventHandlers.CodeExecution/README.md— update wording to reflect removal.SpikerSoft-Api-Client.csstill points atapi/CodeRunner(already updated in #285).Acceptance criteria
api/CSharpCodeRunner/{run,lesson,signalr-info}returns 404;api/CodeRunner/*unchanged.CSharpCodeRunneranywhere except historical changelog/PR notes.api/CodeRunner(run + lesson).Severity
Low (tech-debt cleanup; time-gated on the deprecation window).
Resolved in spikersoft-backend PR #92 (merged to
master— commit3854caf). The deprecatedapi/CSharpCodeRunneralias route was removed (single canonicalapi/CodeRunner); routing test now asserts the alias 404s; backend + CodeExecution READMEs updated. Frontend was already fully repointed toapi/CodeRunner. Closing.