Dreamine.Gem300
1.0.0
dotnet add package Dreamine.Gem300 --version 1.0.0
NuGet\Install-Package Dreamine.Gem300 -Version 1.0.0
<PackageReference Include="Dreamine.Gem300" Version="1.0.0" />
<PackageVersion Include="Dreamine.Gem300" Version="1.0.0" />
<PackageReference Include="Dreamine.Gem300" />
paket add Dreamine.Gem300 --version 1.0.0
#r "nuget: Dreamine.Gem300, 1.0.0"
#:package Dreamine.Gem300@1.0.0
#addin nuget:?package=Dreamine.Gem300&version=1.0.0
#tool nuget:?package=Dreamine.Gem300&version=1.0.0
Dreamine.Gem300
Dreamine.Gem300 implements a hardened, process-local GEM300 domain boundary
for modern .NET applications.
Evidence status
| Capability | Status | Evidence |
|---|---|---|
| E39/E40/E87/E90/E94 in-memory domain boundary | PASS |
Focused model, manager, workflow, integrity, concurrency, cancellation, and regression tests |
| E39.1/E40.1/E87.1/E90.1/E94.1 standard wire binding | BLOCKED_STANDARD |
Required mapping originals were not available locally |
| E116/E116.1, E42, and E139 claims | BLOCKED_STANDARD |
Required normative originals were unavailable |
| External interoperability and field evidence | NOT_RUN |
No independent counterpart or production equipment evidence was executed |
| Durable persistence, restart recovery, and cross-process ownership | INTENTIONALLY_EXCLUDED |
This productization gate is explicitly process-local and in-memory |
PASS applies only to the implemented base-revision domain boundary. It does
not mean current-revision conformance, certification, standard wire support,
or vendor interoperability.
Implemented domain boundary
- E39-style object identity, typed RO/RW attributes, cancellable actions, and application-declared manager projections
- Projection-key reservation, source-of-truth reads, raw mutation/removal blocking, and typed application action routing
- E87 load-port and carrier state with atomic carrier/substrate acceptance and removal
- E90 substrate location occupancy, residence history, processing state, and reference leases
- E40 Process Job lifecycle with retained Process Program identity and material leases
- E94 serial Control Job queue with central Process Job ownership and shared execution claims
- Explicit application-level carrier slot/substrate assignments; ordering and location text are never inferred as slot indexes
- Stable snapshots and shared graph identity validation; incompatible built-in manager graphs fail fast
- A bounded process-local event journal with journal identity, drop/retention health, and a shared non-throwing publisher
- An Experimental carrier-to-process-to-removal coordinator whose failure cleanup moves state forward only; stopped or aborted Process Jobs are never promoted to successful substrate or Control Job completion
Safe composition
When the application uses the concrete Dreamine.Gem.GemRuntime, create
GEM300 from that runtime so both layers use the same Process Program store:
var gem300 = Gem300Runtime.CreateFromGemRuntime(gemRuntime);
gemRuntime.ProcessPrograms.Put(new GemProcessProgram("RECIPE-1", [0x01]));
gem300.Carriers.RegisterLoadPort("PORT-1");
gem300.Carriers.SetInService("PORT-1");
gem300.Workflow.AcceptCarrier(new CarrierArrivalPlan(
"PORT-1",
"CARRIER-1",
[CarrierSlotState.CorrectlyOccupied],
[new SubstrateArrivalPlan("SUBSTRATE-1", "SOURCE-1", "DESTINATION-1")],
[new CarrierSubstrateSlotAssignment(0, "SUBSTRATE-1")]));
The existing Gem300Runtime(IGemRuntime, IGemProcessProgramService, ...)
constructor is retained for compatible composition. The caller must pass the
same logical Process Program service used by the GEM layer. The QuickStart
shares one service instance explicitly; production concrete runtimes should
prefer CreateFromGemRuntime.
The explicit slot association and object projection keys are application
integration metadata. They are not invented .1 wire mappings.
Documentation
License
MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Dreamine.Gem (>= 1.0.0)
- Dreamine.Gem.Abstractions (>= 1.0.0)
- Dreamine.Gem300.Abstractions (>= 1.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Dreamine.Gem300:
| Package | Downloads |
|---|---|
|
Dreamine.SecsGem.FullKit
All-in-one meta package for the Dreamine SECS-II, HSMS, GEM, and GEM300 libraries. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 60 | 8/12/2026 |