Dreamine.Gem300 1.0.0

dotnet add package Dreamine.Gem300 --version 1.0.0
                    
NuGet\Install-Package Dreamine.Gem300 -Version 1.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dreamine.Gem300" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Dreamine.Gem300" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Dreamine.Gem300" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Dreamine.Gem300 --version 1.0.0
                    
#r "nuget: Dreamine.Gem300, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Dreamine.Gem300@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Dreamine.Gem300&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Dreamine.Gem300&version=1.0.0
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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