Reject framework-dependent apphosts in the NativeAOT host validator
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 62/100
調査の方向性
Start with tools/FSharp2.Conformance/NativeAotHostValidator.cs and read ADRs 0002, 0010, and 0011, along with PR #45. Review the “Conformance Fallback fails when the sentinel runs” test and its test apphost. Done means renamed framework-dependent apphosts and single-file bundles are rejected on Windows, Linux, and macOS, while real NativeAOT hosts still pass and negative tests cover both forms.
索引モデルが issue の本文から書いたものです。
説明
Parent: #8
Outcome
Make NativeAotHostValidator reject a framework-dependent apphost and a single-file bundle. Today it can accept either one as a NativeAOT host.
Current state
NativeAotHostValidator.Validate (tools/FSharp2.Conformance/NativeAotHostValidator.cs) checks only two things: the image format (PE, ELF, or Mach-O), and 3 sidecar files named from the host stem.
- A framework-dependent apphost is a native image with no CLR header. The image stores the name of its managed
.dll. If the file name is changed, the stem check finds no sidecar, and the validator accepts the file. - A single-file bundle has the managed assemblies appended to the apphost. It also passes the check.
- The test
Conformance Fallback fails when the sentinel runsdepends on this gap. It copies the test apphost tofallback-sentinel-<guid>and asserts that the validator accepts it.
This gap exists for PE on master. PR #45 extends the same check to ELF and Mach-O.
Acceptance criteria
- The validator rejects a renamed framework-dependent apphost on Windows, Linux, and macOS.
- The validator rejects a single-file bundle.
- A real NativeAOT host still passes on each platform.
- The fallback sentinel test uses a native test executable, or an explicit test-only switch. It does not rely on the gap.
- Negative tests cover each rejected form.
Decision inputs
ADRs 0002, 0010, and 0011. The gap was found in the review of PR #45.
- 主要言語
- F#
- スター
- 0
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
TheAngryByrd/fsharp2 のほかの issue
-
wayfinder:task
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
TheAngryByrd/fsharp2#44 · コメント 1 件 ·
-
wayfinder:task
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
TheAngryByrd/fsharp2#42 ·
-
wayfinder:task
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
TheAngryByrd/fsharp2#41 ·
-
wayfinder:task
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
TheAngryByrd/fsharp2#40 ·
-
wayfinder:task
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
TheAngryByrd/fsharp2#39 ·
TheAngryByrd/fsharp2 の issue をすべて見る
似ている issue
-
Chip source filter and denial markers miss Storage rows when a Storage activity source is pickedオープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
needs-triage presubmit-gate
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
gke-labs/kube-agents#5001 ·
メンテナーはふだん 1 日以内に返信
-
crate: spate-core priority: low
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
ComposioHQ/composio#5249 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
ai-driven-dev/framework#1163 ·
メンテナーはふだん 1 日以内に返信