Repository navigation
Description
Follow-up from the .NET 10/11 retargeting (#293). Raise the repository's Code Health to at least 9.5 for every file, make it pass the whole-solution format check and clean up workflow lint, without changing behavior.
Known gaps
dotnet format --verify-no-changesover the whole solution exits with code 2. These are existing issues, not ones the retargeting introduced.- actionlint reports
queue: maxat.github/workflows/publish.ymlline 9. The line predates the retargeting. - No per-file Code Health baseline has been taken yet. The files the retargeting changed score 10.
Acceptance criteria
- A CodeScene baseline lists every file below 9.5, and each of those files is raised to at least 9.5.
-
dotnet format --verify-no-changespasses for the whole solution. - actionlint passes for every workflow, or the
queuekey is confirmed to be valid and the lint is configured to accept it. - Specs pass on net10.0 and net11.0, and the Release build has zero warnings.
- No behavior change.
Status
State: Paused — PR #309 (split engine code into focused steps) merged. The unpushed follow-up branch scene-294-pr2b (spec coverage for the template chain and applicability branches in both engines) was dropped in the drain, because the Code Health sweeps are stopped. Remaining files can be picked up from main when
Branch: dotnet11 (#302, #309)
Scope: Lane D4: Code Health >= 9.5, whole-solution dotnet format, actionlint queue key; no behavior change.
Plan: Characterization-first extract-and-name refactors in worst-first batches pairing each C# file with its TypeScript twin over the shared fixtures; refactors with no measurable gain are reverted and named as exceptions. Whole-solution dotnet format fixed first; actionlint accepts the valid concurrency queue key. Plan reviewed for behaviour preservation (Opus) and by the other provider (Sol), both approved with changes that were adopted.
Delivered: Nothing yet.
Remaining: To be confirmed.
Follow-ups: None.
Activity
woksin commentedon Nov 10, 2026
Decision for this issue: a Code Health score alone is not a reason to refactor. Before implementing, write a short design note covering the current behavior, a measured baseline, at least two alternative approaches with sources, the chosen approach and what could break. Have that plan reviewed from two perspectives: behavior preservation plus a reviewer on the other model provider. Keep specs green on
mainand on the branch, and bisect any failure before calling it pre-existing. Never move ambient state (AsyncLocal, scopes, transactions, principal, tenant) into async helpers. Drop any refactor that does not measurably improve the code or that makes it harder to understand.woksin commentedon Nov 11, 2026
Design note
Current behavior. The engine exists twice, in C# (
Source/DotNET/Engine) and TypeScript (Source/JavaScript/engine), and both sides are held to the same shared conformance fixtures at the repository root. The frontend packages (blueprint.default,react,primereact,components) are TypeScript only.Baseline. We scored every source file of 80 lines or more under
Source/with CodeScene: 525 files. We also scored a sample of 45 smaller files, and none of them were below 9.5.blueprint.default, 12 inreact, 8 inprimereact, 3 incomponents, and one shared spec helper in each blueprint package.validateSlotShape.ts6.11,SlotShapeValidator.cs6.34,ScenePreviewHost.tsx6.46,navigationEdits.ts6.48,GuardConditionText.cs6.68,validateValue.ts6.72,NavigationEdits.cs6.82.Alternatives.
Chosen approach. Alternative 1.
concurrency.queuekey.What could break.
Delivery. About four pull requests that land in sequence, each "part of #294":
The plan was reviewed for behavior preservation and by a reviewer on the other model provider. Both approved with changes, and those changes are adopted above.
woksin commentedon Nov 14, 2026
Two files touched by #315 are still below 9.5 and need an uplift pass:
Source/DotNET/Engine/Navigation/NavigationEdits.cs: 9.38. It was below 9.5 before Align missing-id diagnostics, duplicate-outlet navigation edits and guard text between engines #315, which improved it.Source/JavaScript/engine/slots/upgradeToolbarElement.ts: 8.67. Align missing-id diagnostics, duplicate-outlet navigation edits and guard text between engines #315 changed only one line in it.