Sylin.Koan.Core
1.0.2
dotnet add package Sylin.Koan.Core --version 1.0.2
NuGet\Install-Package Sylin.Koan.Core -Version 1.0.2
<PackageReference Include="Sylin.Koan.Core" Version="1.0.2" />
<PackageVersion Include="Sylin.Koan.Core" Version="1.0.2" />
<PackageReference Include="Sylin.Koan.Core" />
paket add Sylin.Koan.Core --version 1.0.2
#r "nuget: Sylin.Koan.Core, 1.0.2"
#:package Sylin.Koan.Core@1.0.2
#addin nuget:?package=Sylin.Koan.Core&version=1.0.2
#tool nuget:?package=Sylin.Koan.Core&version=1.0.2
Sylin.Koan.Core
The always-present Koan substrate for module composition, host lifecycle, logical context, provider catalogs, readiness, service discovery, runtime facts, and build provenance.
Applications normally reference Sylin.Koan or Sylin.Koan.App, which bring Core transitively. Reference Core
directly when authoring a Koan module, provider, projection, or host integration.
Install
dotnet add package Sylin.Koan.Core
Meaningful use
A module is an ordinary class. Its identity and version derive from standard package/assembly facts; module authors do not declare a Koan ID or descriptor.
using Koan.Core;
using Microsoft.Extensions.DependencyInjection;
public sealed class BillingModule : KoanModule
{
public override void Register(IServiceCollection services)
=> services.AddSingleton<InvoiceService>();
}
When an application calls AddKoan(), the generated host constitution retains one module instance across
registration, ordered startup, provenance, and composition reporting. Referencing Core alone does not activate an
application capability beyond this substrate.
Core also provides:
KoanContextandIKoanContextCarrierfor immutable logical-flow meaning and explicit durable carriage;- one memoized provider catalog and priority model used by concern-owned election pipelines;
- generic adapter readiness, initialization, monitoring, and operation gating;
- service-description and discovery contracts shared by runtime providers and external topology tooling;
IKoanRuntimeFactsandKoanFactJson, the redacted envelope shared by startup, health, Web, and MCP;AppHostownership for terse framework surfaces that must reach the current Koan host; and- transitive build targets that emit
koan.lock.json, direct-reference provenance, semantic activation manifests, and trimming roots for executable consumers.
Inspection and correction
Keep the checked-in koan.lock.json under review. It records static application/module identity and direct package or
project intent; negotiated runtime decisions remain in startup output, runtime facts, and
obj/koan.lock.resolved.json.
Required host-backed operations fail with KoanHostContextException, distinguishing an absent host, disposed host,
and missing service while naming the operation and correction. Incomplete runtime facts are Complete=false and
must never be interpreted as implicit success.
Boundaries and failures
- Core is mechanism, not a business capability. It does not select a data store, transport, web projection, observability exporter, container engine, or AI provider.
- Put immutable module-owned meaning in
KoanContext; keep services, mutable state, and disposable resources in DI. - Context carriage format validation is not authentication, confidentiality, or authorization. Ingress must state trust and insufficient trust fails before user work.
- Runtime facts exclude arbitrary configuration values, payloads, stack traces, and raw exceptions, but still expose topology identities and require an operational access boundary.
- Application code should prefer constructor injection.
AppHost.GetRequiredServiceis for terse framework surfaces and advanced hosting seams. - Core's generic provider/readiness mechanisms do not own concern policy. Data owns schema recovery, Communication owns lane guarantees, and each pillar owns its selection and failure semantics.
See TECHNICAL.md for lifecycle, context, facts, provider-catalog, and build-target contracts.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Microsoft.Extensions.Configuration (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging.Console (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.10)
- Microsoft.Extensions.Options.DataAnnotations (>= 10.0.10)
- Newtonsoft.Json (>= 13.0.4)
NuGet packages (96)
Showing the top 5 NuGet packages that depend on Sylin.Koan.Core:
| Package | Downloads |
|---|---|
|
Sylin.Koan.Data.Abstractions
Provider-neutral Koan data contracts for Entity identity, repositories, structured queries, capabilities, and canonical operations. |
|
|
Sylin.Koan.Data.Core
Entity data runtime for Koan: provider election, routing, lifecycle, queries, paging, relationships, and canonical operations. |
|
|
Sylin.Koan.Cache.Abstractions
Shared cache contracts for the Koan framework: policies, builders, serializers, and capability descriptors. |
|
|
Sylin.Koan.Web
Controller-first ASP.NET Core projection for Koan Entities with health, startup composition, and redacted runtime facts. |
|
|
Sylin.Koan.Core.Adapters
Unified adapter framework for Koan: base classes, capability system, orchestration bridge, and development templates. |
GitHub repositories
This package is not used by any popular GitHub repositories.