Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Move ExecutionStatus and ITargetModel into the Fallout.Core.Execution namespace

Aperta
#595 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
64/100
Tipo di issue
Refactoring
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
csharp

Direzione di ricerca

Inizia da src/Fallout.Core/Execution/ExecutionStatus.cs, src/Fallout.Core/Execution/ITargetModel.cs e tests/Fallout.Core.Specs/ArchitectureFitnessSpecs.cs, poi leggi la ricetta del passaggio di migrazione e RewriteCsFilesStep. Aggiorna il namespace e il guard dell’architettura, aggiungi using e la copertura della riscrittura con nomi completamente qualificati, oltre a un caso per un file non modificato, in tests/Fallout.Migrate.Specs, e registra la breaking change in CHANGELOG.md; il lavoro è completato quando tutti i criteri di accettazione sono soddisfatti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

breaking-change enhancement needs-triage
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.
  • 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.

Lingua principale
C#
Stelle
169
Fork
21
Merge medio
4g 5m
PR unite (30g)
16

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Fallout-build/Fallout

Tutte le issue di Fallout-build/Fallout

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.