ArtifactClaim
Pennington.Artifacts
A declared URL territory owned by an IArtifactContentService. Claims are derived from options at construction — cheap, startup-stable, and consulted on every request by the artifact router — so they must never trigger discovery, the site projection, or any other lazy corpus work. The owning service's resolver stays authoritative: a claim match with a null resolve falls through to content routing.
Properties
Descriptionstring- Human label shown in
diag routesand namespace-conflict warnings. Ownerstring- Short stable name of the owning feature (e.g.
search,book), shown in diag output and conflict warnings. Patternstring- Glob-style rendering of the territory for diagnostics (e.g.
/search/**.json,**/llms.txt). ShapeArtifactClaimShape- The territory this claim reserves.
Constructors
ArtifactClaim
#public ArtifactClaim(string Owner, ArtifactClaimShape Shape, string Description)
A declared URL territory owned by an IArtifactContentService. Claims are derived from options at construction — cheap, startup-stable, and consulted on every request by the artifact router — so they must never trigger discovery, the site projection, or any other lazy corpus work. The owning service's resolver stays authoritative: a claim match with a null resolve falls through to content routing.
Parameters
Ownerstring- Short stable name of the owning feature (e.g.
search,book), shown in diag output and conflict warnings. ShapeArtifactClaimShape- The territory this claim reserves.
Descriptionstring- Human label shown in
diag routesand namespace-conflict warnings.
Methods
Matches
#public bool Matches(string path)
True when path (leading-slash request path) falls inside this territory.
Parameters
pathstring
Returns
boolPennington.Artifacts.ArtifactClaim
namespace Pennington.Artifacts;
/// A declared URL territory owned by an IArtifactContentService. Claims are derived from options at construction — cheap, startup-stable, and consulted on every request by the artifact router — so they must never trigger discovery, the site projection, or any other lazy corpus work. The owning service's resolver stays authoritative: a claim match with a null resolve falls through to content routing.
public record ArtifactClaim
{
/// A declared URL territory owned by an IArtifactContentService. Claims are derived from options at construction — cheap, startup-stable, and consulted on every request by the artifact router — so they must never trigger discovery, the site projection, or any other lazy corpus work. The owning service's resolver stays authoritative: a claim match with a null resolve falls through to content routing.
public ArtifactClaim(string Owner, ArtifactClaimShape Shape, string Description)
;
/// Human label shown in diag routes and namespace-conflict warnings.
public string Description { get; set; }
/// True when path (leading-slash request path) falls inside this territory.
public bool Matches(string path)
;
/// Short stable name of the owning feature (e.g. search, book), shown in diag output and conflict warnings.
public string Owner { get; set; }
/// Glob-style rendering of the territory for diagnostics (e.g. /search/**.json, **/llms.txt).
public string Pattern { get; }
/// The territory this claim reserves.
public ArtifactClaimShape Shape { get; set; }
}