diff --git a/TestFx.slnx b/TestFx.slnx
index a761d01781..71fa9bca7a 100644
--- a/TestFx.slnx
+++ b/TestFx.slnx
@@ -55,7 +55,7 @@
-
+
diff --git a/src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/PACKAGE.md b/src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/PACKAGE.md
deleted file mode 100644
index 2b609543b0..0000000000
--- a/src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/PACKAGE.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# Microsoft.Testing.Platform.DotnetTestProtocol
-
-This package shares — **as compiled source** — the `dotnet test` named-pipe **wire contract** used between a
-[Microsoft.Testing.Platform](https://www.nuget.org/packages/Microsoft.Testing.Platform) test host and the
-`dotnet test` command line.
-
-It exists so the protocol's serializer/field ids and handshake/session/state constants have a **single source of
-truth** across the [microsoft/testfx](https://github.com/microsoft/testfx) and
-[dotnet/sdk](https://github.com/dotnet/sdk) repositories, instead of being hand-copied (where any drift is a silent
-wire-protocol break).
-
-> This package is an implementation detail of `dotnet test` integration. It is **not** intended for direct
-> end-user consumption.
-
-## What's inside
-
-The package ships two zero-dependency source files as `contentFiles` (compiled into the consuming assembly):
-
-- `ObjectFieldIds.cs` — serializer ids and per-message field ids.
-- `Constants.cs` — handshake property names, execution modes, session-event types, test states and the protocol
- version.
-
-Because they are delivered as `contentFiles/cs/any` with `BuildAction=Compile`, the consumer compiles them into its
-**own** assembly, so the `internal` types are visible without any `InternalsVisibleTo` plumbing.
-
-## Scope
-
-Only the wire **contract** (ids + constants) is shared here. The message **models** and **serializers** are not
-included yet because they still depend on `TestMetadataProperty`
-(`Microsoft.Testing.Platform.Extensions.Messages`) and use a different class shape than the SDK's copy; sharing them
-requires decoupling/unifying first.
diff --git a/src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/Microsoft.Testing.Platform.DotnetTestProtocol.csproj b/src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/Microsoft.Testing.Platform.Internal.DotnetTest.csproj
similarity index 61%
rename from src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/Microsoft.Testing.Platform.DotnetTestProtocol.csproj
rename to src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/Microsoft.Testing.Platform.Internal.DotnetTest.csproj
index 977aac4bef..7029e32f37 100644
--- a/src/Platform/Microsoft.Testing.Platform.DotnetTestProtocol/Microsoft.Testing.Platform.DotnetTestProtocol.csproj
+++ b/src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/Microsoft.Testing.Platform.Internal.DotnetTest.csproj
@@ -11,14 +11,19 @@
netstandard2.0
true
false
@@ -42,7 +47,7 @@
+This is an INTERNAL, source-only package: it shares - as compiled source - the pieces of the 'dotnet test' <-> Microsoft.Testing.Platform integration that must stay a single source of truth across the microsoft/testfx and dotnet/sdk repositories (today: the named-pipe wire contract; designed to also host the terminal reporter). It is an implementation detail of 'dotnet test' integration and is NOT intended for direct end-user consumption.]]>
diff --git a/src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/PACKAGE.md b/src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/PACKAGE.md
new file mode 100644
index 0000000000..78e8636516
--- /dev/null
+++ b/src/Platform/Microsoft.Testing.Platform.Internal.DotnetTest/PACKAGE.md
@@ -0,0 +1,33 @@
+# Microsoft.Testing.Platform.Internal.DotnetTest
+
+This is an **internal, source-only** package. It shares — **as compiled source** — the pieces of the `dotnet test`
+↔ [Microsoft.Testing.Platform](https://www.nuget.org/packages/Microsoft.Testing.Platform) integration that must
+stay a **single source of truth** across the [microsoft/testfx](https://github.com/microsoft/testfx) and
+[dotnet/sdk](https://github.com/dotnet/sdk) repositories, instead of being hand-copied (where any drift is a silent
+break).
+
+> ⚠️ This package is an **implementation detail** of `dotnet test` integration — that is what the `Internal` in the
+> name signals. It is `IsShipping=false` (not published to nuget.org) and is **not** intended for direct end-user
+> consumption. (A *public* MTP client/orchestration library was proposed in
+> [#5667](https://github.com/microsoft/testfx/issues/5667); that is a separate effort, closed pending a real use
+> case.)
+
+## What's inside
+
+The package ships shared source files as `contentFiles/cs/any` with `BuildAction=Compile`, so the consumer compiles
+them into its **own** assembly and the `internal` types are visible without any `InternalsVisibleTo` plumbing.
+
+Today it ships the `dotnet test` named-pipe **wire contract**:
+
+- `ObjectFieldIds.cs` — serializer ids and per-message field ids.
+- `Constants.cs` — handshake property names, execution modes, session-event types, test states and the protocol
+ version.
+
+It is designed to grow to host the other source shared with `dotnet test` (e.g. the terminal reporter).
+
+## Scope
+
+Only the wire **contract** (ids + constants) is shared today. The message **models** and **serializers** are not
+included yet because they still depend on `TestMetadataProperty`
+(`Microsoft.Testing.Platform.Extensions.Messages`) and use a different class shape than the SDK's copy; sharing them
+requires decoupling/unifying first.