Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#595 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 5 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
64/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
csharp

Hướng nghiên cứu

Bắt đầu với src/Fallout.Core/Execution/ExecutionStatus.cs, src/Fallout.Core/Execution/ITargetModel.cs và tests/Fallout.Core.Specs/ArchitectureFitnessSpecs.cs, sau đó đọc recipe của migration step và RewriteCsFilesStep. Cập nhật namespace và architecture guard, thêm using và coverage cho việc rewrite với tên được định danh đầy đủ, cùng một trường hợp file không bị thay đổi, trong tests/Fallout.Migrate.Specs, và ghi lại breaking change trong CHANGELOG.md; hoàn tất khi tất cả acceptance criteria đều đạt.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
C#
Star
169
Fork
21
Merge trung bình
3 ngày 7 giờ
Pull request đã merge (30 ngày)
9

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Fallout-build/Fallout

Tất cả issue của Fallout-build/Fallout

Issue tương tự

Thêm issue về C#

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.