Skip to main content
net10.0

Generated ASP.NET Core and inspection surfaces for discovered Koan Canon models.

Published
Sep 9, 2026
1mo ago
Total Downloads
4.0K
4,020

Install

dotnet add package Sylin.Koan.Canon.Web --version 1.0.45
ProductVersions
.NET
net10.0

README

Sylin.Koan.Canon.Web

Automatic HTTP projection for the Canon models already composed by Sylin.Koan.Canon. Reference the package and each concrete CanonEntity<T> receives Canon-aware routes from the ordinary AddKoan() composition.

dotnet add package Sylin.Koan.Canon.Web

Meaningful result

using Koan.Canon;
using Koan.Core;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddKoan();
var app = builder.Build();
await app.RunAsync();

public sealed class Customer : CanonEntity<Customer>
{
    [MatchKey]
    public string Email { get; set; } = "";
}

POST /api/canon/customer enters the compiled Canon pipeline. /api/canon/models explains the exact models, routes, pipelines, aggregation keys, policies, and audit posture. Successful writes return 200, parked writes return 202, and failed validation returns 422 with Canon events. Bulk writes return 200 with one result per input.

Boundaries

  • Web consumes Canon's host-owned composition plan; it does not rediscover or independently configure canonical models.
  • A route-slug collision fails host composition and names the conflicting CLR model types.
  • This package generates no admin, replay, rebuild, or value-object routes. Use the headless ICanonRuntime.RebuildViews<T> operation from application code when required.
  • Generated model routes use the host's ordinary ASP.NET authentication and authorization policy; this package does not invent a privileged authorization scheme.
  • Runtime commit ordering and partial-write limits belong to Sylin.Koan.Canon and are unchanged by HTTP projection.

See CustomerCanon for the runnable four-line host.

Changes from Previous Version

No structural changes between v1.0.43 and v1.0.45.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.