Fallout-build / Fallout-build/Fallout
Move ExecutionStatus and ITargetModel into the Fallout.Core.Execution namespace
- Dominant language
- C#
- Stars
- 154
- Forks
- 19
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 15
Description
### Problem
`ExecutionStatus` and `ITargetModel` ship in `Fallout.Core.dll` but declare
`namespace Fallout.Common.Execution` (`src/Fallout.Core/Execution/ExecutionStatus.cs:1`,
`src/Fallout.Core/Execution/ITargetModel.cs:3`). Core is the innermost layer. A Core type
sitting under an outer layer's namespace inverts the layering in naming. Both types are
`public`, so correcting this breaks consumers and must ride a yearly major.
### Outcome
Both types live under `Fallout.Core.Execution`. The architecture fitness test that guards
this rule has no exceptions left. Consumers upgrade by running `fallout-migrate`, without
hand-editing their own source.
### Acceptance criteria
- [ ] `ExecutionStatus` and `ITargetModel` declare `namespace Fallout.Core.Execution`.
- [ ] `GrandfatheredNamespaces` in `tests/Fallout.Core.Specs/ArchitectureFitnessSpecs.cs`
is empty, and the filter that reads it is removed.
- [ ] `fallout-migrate` rewrites the old namespace in consumer `*.cs` files. The rule goes
into `RewriteCsFilesStep`, the step that already covers `*.cs` — not a new step. See
the [migration step recipe](docs/agents/conventions.md#migration-step-recipe).
- [ ] `tests/Fallout.Migrate.Specs` covers that rewrite: the `using` form, the fully
qualified form, and a file that must not be touched.
- [ ] `CHANGELOG.md` records the break under the next yearly major. It gives the old and
new full type names and points at `fallout-migrate`.
### Notes
The rule and the frozen exception list come from #586, which moved Fallout's constants into
Core. Breaking changes follow AGENTS.md rule 1. A shim cannot cover this rename: type
forwarders keep the full type name, and `ExecutionStatus` is an enum, so it cannot be
aliased. That makes the `fallout-migrate` rule the migration path, not an optional extra.
Contributor guide
Assessment
This issue has not been assessed yet.