Skip to content

Commit 71e85e6

Browse files
hyperpolymathclaude
andcommitted
feat: add k9iser.toml and generate K9 contracts
Adds k9iser manifest for http-capability-gateway (yard tier). Sources: mix.exs, Justfile, Containerfile, CI workflows. Elixir/Plug gateway service. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent bb06862 commit 71e85e6

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

k9iser.toml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk>
3+
#
4+
# k9iser manifest for http-capability-gateway
5+
# Generates K9 contracts from repo configuration files.
6+
# http-capability-gateway is an Elixir/Plug HTTP capability enforcement gateway
7+
8+
[project]
9+
name = "http-capability-gateway"
10+
safety_tier = "yard"
11+
12+
[[source]]
13+
path = "mix.exs"
14+
type = "mix"
15+
output = "generated/k9iser/mix-manifest.k9"
16+
17+
[[source]]
18+
path = "Justfile"
19+
type = "justfile"
20+
output = "generated/k9iser/justfile-recipes.k9"
21+
22+
[[source]]
23+
path = "Containerfile"
24+
type = "containerfile"
25+
output = "generated/k9iser/container-build.k9"
26+
27+
[[source]]
28+
path = ".github/workflows/hypatia-scan.yml"
29+
type = "workflow"
30+
output = "generated/k9iser/ci-security.k9"
31+
32+
[[source]]
33+
path = ".github/workflows/codeql.yml"
34+
type = "workflow"
35+
output = "generated/k9iser/ci-codeql.k9"
36+
37+
[[constraint]]
38+
rule = "mix.dependencies has no retired packages"
39+
severity = "error"
40+
41+
[[constraint]]
42+
rule = "services.gateway.environment contains 'VERISIMDB_URL'"
43+
severity = "warn"
44+
45+
[[constraint]]
46+
rule = "container.base_image uses chainguard or distroless"
47+
severity = "warn"
48+
49+
[[constraint]]
50+
rule = "workflows includes hypatia-scan"
51+
severity = "error"
52+
53+
[[constraint]]
54+
rule = "mix.application.start_permanent is true in prod"
55+
severity = "error"

0 commit comments

Comments
 (0)