Skip to content

Commit 1019d29

Browse files
hyperpolymathclaude
andcommitted
chore: add k9 Kennel guard for project metadata invariants
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 32e4453 commit 1019d29

1 file changed

Lines changed: 83 additions & 0 deletions

File tree

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
K9!
2+
# SPDX-License-Identifier: PMPL-1.0-or-later
3+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
4+
# K9 Kennel-level guard: typell project metadata and build constraints
5+
# Security Level: Kennel (data-only, no execution)
6+
# No signature required
7+
8+
{
9+
pedigree = {
10+
schema_version = "1.0.0",
11+
component_type = "project-metadata",
12+
security = {
13+
leash = 'Kennel,
14+
trust_level = "data-only",
15+
allow_network = false,
16+
allow_filesystem_write = false,
17+
allow_subprocess = false,
18+
},
19+
metadata = {
20+
name = "typell-metadata",
21+
version = "0.1.0",
22+
description = "TypeLL universal type system library — project metadata and invariants",
23+
author = "Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>",
24+
},
25+
},
26+
27+
# Project configuration
28+
config = {
29+
# Workspace crates that must be present
30+
required_crates = [
31+
"typell-core",
32+
"typell-eclexia",
33+
"typell-affinescript",
34+
"typell-ephapax",
35+
"typell-wokelang",
36+
"typell-tangle",
37+
"typell-betlang",
38+
"typell-mylang",
39+
"typell-oblibeny",
40+
],
41+
42+
# Type system levels that must be covered by tests
43+
type_system_levels = [
44+
"dependent",
45+
"linear",
46+
"session",
47+
"qtt",
48+
"effects",
49+
"modal",
50+
"dimensional",
51+
"proof",
52+
"epistemic",
53+
"tropical",
54+
],
55+
56+
# Minimum test counts per crate
57+
min_tests = {
58+
typell-core = 50,
59+
},
60+
61+
# Build configuration
62+
build = {
63+
edition = "2021",
64+
msrv = "1.75",
65+
features = ["full"],
66+
},
67+
68+
# Language policy compliance
69+
banned = {
70+
languages = ["python", "typescript", "javascript", "go"],
71+
files = ["Makefile", "Dockerfile"],
72+
},
73+
},
74+
75+
# RSR compliance declarations
76+
rsr = {
77+
explainme = true,
78+
ai_manifest = true,
79+
machine_readable = true,
80+
spdx_headers_required = true,
81+
idris2_abi = true,
82+
},
83+
}

0 commit comments

Comments
 (0)