Skip to content

Commit 6ab0901

Browse files
hyperpolymathclaude
andcommitted
chore(contractiles): migrate to .machine_readable/contractiles/ (canonical)
Move all contractiles from root contractiles/ to .machine_readable/contractiles/ per rsr-template-repo standard and instant-sync.yml CI expectation. intend/ and must/ created in canonical location; trust/ replaced with simple honest version (was elaborate template with BASE64 placeholders); k9/ guard recovered and moved. Root contractiles/ deleted. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent ffc2aa5 commit 6ab0901

5 files changed

Lines changed: 24 additions & 295 deletions

File tree

File renamed without changes.
File renamed without changes.
File renamed without changes.
Lines changed: 24 additions & 270 deletions
Original file line numberDiff line numberDiff line change
@@ -1,271 +1,25 @@
11
# SPDX-License-Identifier: PMPL-1.0-or-later
2-
# =============================================================================
3-
# A2ML Trustfile for ECHIDNA
4-
# Neurosymbolic Theorem Proving Platform
5-
# =============================================================================
6-
7-
---
8-
### [META]
9-
id: "did:web:github.com:hyperpolymath:echidna"
10-
version: "2026.3.6-final"
11-
context:
12-
- "https://a2ml.org/ns/v2"
13-
- "https://leanprover-community.github.io/lean4"
14-
- "https://hypatia.scans/ns/v1"
15-
- "https://w3id.org/security/v4"
16-
- "https://w3id.org/transparency/v1"
17-
meta:
18-
generated: "2026-03-06T00:00:00Z"
19-
expires: "2027-03-06T00:00:00Z"
20-
signature:
21-
algorithm: "Ed448+Dilithium5"
22-
value: |
23-
-----BEGIN HYBRID SIGNATURE-----
24-
BASE64_Ed448+Dilithium5_SIGNATURE_OF_THIS_FILE
25-
-----END HYBRID SIGNATURE-----
26-
signedBy: "did:web:github.com:hyperpolymath:echidna#primary-sig"
27-
proof: "https://github.com/hyperpolymath/echidna/proofs/meta.lean"
28-
fallbackSignature:
29-
algorithm: "SPHINCS+"
30-
value: |
31-
-----BEGIN SPHINCS+ SIGNATURE-----
32-
BASE64_SPHINCS+_SIGNATURE_OF_THIS_FILE
33-
-----END SPHINCS+ SIGNATURE-----
34-
integrity:
35-
sha3-512: "HEX_SHA3_512_OF_THIS_FILE"
36-
shake256: "BASE32_SHAKE256_OF_THIS_FILE"
37-
ci_cd:
38-
github_actions: "https://github.com/hyperpolymath/echidna/blob/main/.github/workflows/hypatia-scan.yml"
39-
gitbot_fleet: "https://gitbot-fleet.hyperpolymath.dev/hooks/echidna"
40-
hypatia_scan: "https://hypatia.scans/repos/echidna"
41-
automation:
42-
hashing: ["SHA3-512", "SHAKE256", "BLAKE3"]
43-
diffing: "alert-on-unexpected-changes"
44-
integrity: ["lean-proof-validity", "transparency-log-continuity"]
45-
46-
---
47-
### [THREAT_MODEL]
48-
adversaries:
49-
- type: "APT"
50-
mitigations:
51-
- "Capability-based auth - No lateral movement."
52-
- "Formal verification (30 provers) - No exploit primitives."
53-
- "Transparency logs - Immediate detection."
54-
- type: "Ransomware"
55-
mitigations:
56-
- "Sandboxed prover execution (Podman/Bubblewrap) - No breakout."
57-
- "Immutable proof certificates - Instant verification."
58-
- type: "Quantum Adversary"
59-
mitigations:
60-
- "Kyber1024 + Dilithium5 - PQ-resistant crypto."
61-
- "SPHINCS+ fallback - Crypto agility."
62-
- "GitBot-Fleet - Automated key rotation."
63-
- type: "Supply Chain"
64-
mitigations:
65-
- "Chainguard Wolfi base images - CVE-free, rebuilt daily."
66-
- "cerro-torre .ctp bundles - Signed and verified."
67-
- "svalinn gateway - Rejects unsigned containers."
68-
- type: "Proof Forgery"
69-
mitigations:
70-
- "Multi-prover cross-verification - No single point of trust."
71-
- "5-level trust hierarchy - Confidence scoring."
72-
- "Axiom usage tracking - 4 danger levels active."
73-
74-
---
75-
### [TRUSTFILE]
76-
issuer: "did:web:github.com:hyperpolymath:echidna"
77-
keys:
78-
- id: "#primary-sig"
79-
type: "HybridKey2024"
80-
classical:
81-
algorithm: "Ed448"
82-
publicKeyJwk:
83-
kty: "OKP"
84-
crv: "Ed448"
85-
x: "BASE64URL_Ed448_PUBLIC_KEY"
86-
postQuantum:
87-
algorithm: "Dilithium5"
88-
publicKeyJwk:
89-
kty: "OKP"
90-
crv: "Dilithium5"
91-
x: "BASE64URL_Dilithium5_PUBLIC_KEY"
92-
fallback:
93-
algorithm: "SPHINCS+"
94-
publicKeyJwk:
95-
kty: "OKP"
96-
crv: "SPHINCS+"
97-
x: "BASE64URL_SPHINCS+_PUBLIC_KEY"
98-
usage: ["authentication", "assertion"]
99-
algorithms:
100-
hashing: ["SHA3-512", "SHAKE256", "BLAKE3"]
101-
kdf: "HKDF-SHAKE512"
102-
rng: "ChaCha20-DRBG"
103-
fallbacks:
104-
signatures: ["Ed448+Dilithium5", "SPHINCS+"]
105-
keyExchange: ["Kyber1024-X25519", "X25519"]
106-
107-
---
108-
### [SSL/TLS]
109-
ciphers:
110-
- "TLS_AES_256_GCM_SHA384"
111-
- "TLS_CHACHA20_POLY1305_SHA256"
112-
groups:
113-
- "X25519Kyber768Draft00"
114-
- "secp256r1"
115-
protocols:
116-
- "TLSv1.3"
117-
minimum_version: "1.2"
118-
features:
119-
ocspStapling: true
120-
signedCertTimestamps: true
121-
certificateTransparency:
122-
monitoring: true
123-
opportunistic_encryption: true
124-
automatic_https_rewrites: true
125-
always_use_https: true
126-
127-
---
128-
### [NETWORK]
129-
http2: true
130-
http3: true
131-
quic: true
132-
zero_rtt: true
133-
websockets: true
134-
onion_routing: true
135-
ipv6_compatibility: true
136-
brotli: true
137-
138-
---
139-
### [RESPONSE_HEADERS]
140-
managed_transforms:
141-
add:
142-
- "X-Content-Type-Options: nosniff"
143-
- "X-Frame-Options: SAMEORIGIN"
144-
- "Referrer-Policy: strict-origin-when-cross-origin"
145-
remove:
146-
- "Server"
147-
- "X-Powered-By"
148-
custom_headers:
149-
- name: "Permissions-Policy"
150-
value: "camera=(), microphone=(), geolocation=(), payment=()"
151-
- name: "Content-Security-Policy"
152-
value: "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; frame-ancestors 'self'; base-uri 'self'; form-action 'self'"
153-
- name: "Cross-Origin-Opener-Policy"
154-
value: "same-origin"
155-
- name: "Cross-Origin-Embedder-Policy"
156-
value: "require-corp"
157-
- name: "Cross-Origin-Resource-Policy"
158-
value: "same-origin"
159-
160-
---
161-
### [CONTAINER_SUPPLY_CHAIN]
162-
overview: |
163-
Container supply-chain verification via the stapeln ecosystem.
164-
All container images are built with Podman on Chainguard Wolfi base
165-
images, signed as .ctp bundles via cerro-torre, and governed by
166-
svalinn edge gateway policies. Runtime monitoring provided by vordr.
167-
168-
runtime:
169-
engine: "Podman"
170-
policy: "Rootless containers only. Never Docker."
171-
172-
base_images:
173-
provider: "Chainguard"
174-
registry: "cgr.dev/chainguard/"
175-
allowed:
176-
- "cgr.dev/chainguard/wolfi-base:latest"
177-
- "cgr.dev/chainguard/static:latest"
178-
policy: "Only Chainguard images permitted as base."
179-
180-
verified_bundles:
181-
format: ".ctp"
182-
tool: "cerro-torre"
183-
operations:
184-
pack: "ct pack <image> -o <bundle.ctp>"
185-
sign: "cerro-sign sign <bundle.ctp> --key-id echidna-release"
186-
verify: "ct verify <bundle.ctp>"
187-
attestations:
188-
required: ["source-signature", "sbom-complete"]
189-
recommended: ["security-audit", "reproducible-build"]
190-
191-
gateway:
192-
tool: "svalinn"
193-
policy_file: "container/.gatekeeper.yaml"
194-
capabilities:
195-
- "JWT/OAuth2 authentication"
196-
- "Rate limiting (per-client, per-endpoint)"
197-
- "Container trust enforcement (.ctp signature verification)"
198-
- "Request validation (body size, NaN/Inf rejection)"
199-
- "CORS policy enforcement"
200-
- "Audit logging for write operations"
201-
202-
monitoring:
203-
tool: "vordr"
204-
config_file: "container/vordr.toml"
205-
capabilities:
206-
- "Health endpoint monitoring"
207-
- "Container crash detection"
208-
- "Resource usage thresholds (CPU, memory, disk)"
209-
- "Structured JSON log output"
210-
211-
signing:
212-
algorithm: "Ed25519"
213-
tool: "cerro-torre sign / cerro-sign"
214-
key_id: "echidna-release"
215-
216-
deployment:
217-
tool: "k9-svc"
218-
spec_file: "container/deploy.k9.ncl"
219-
trust_level: "Hunt"
220-
221-
---
222-
### [CI_CD]
223-
github_actions:
224-
name: "Trustfile Validation"
225-
on: ["push", "pull_request"]
226-
jobs:
227-
validate:
228-
runs-on: "ubuntu-latest"
229-
steps:
230-
- uses: "actions/checkout@v4"
231-
- name: "Validate A2ML"
232-
run: "a2ml validate .machine_readable/contractiles/trust/Trustfile.a2ml"
233-
- name: "Hypatia Scan"
234-
run: "hypatia scan --config hypatia.yml"
235-
gitbot_fleet:
236-
hooks:
237-
- type: "pre-commit"
238-
script: "a2ml validate .machine_readable/contractiles/trust/Trustfile.a2ml"
239-
240-
---
241-
### [AUTOMATION]
242-
hashing:
243-
tool: "GitBot-Fleet"
244-
triggers: ["pre-commit", "post-merge"]
245-
algorithms: ["SHA3-512", "SHAKE256", "BLAKE3"]
246-
diffing:
247-
tool: "GitBot-Fleet"
248-
rules:
249-
- "alert-on-unexpected-changes"
250-
- "require-proof-updates-for-crypto-changes"
251-
integrity:
252-
tool: "Hypatia + LEAN4"
253-
checks:
254-
- "transparency-log-continuity"
255-
- "lean-proof-validity"
256-
257-
---
258-
### [SIGNATURE_BLOCK]
259-
primary:
260-
algorithm: "Ed448+Dilithium5"
261-
signature: |
262-
-----BEGIN HYBRID SIGNATURE-----
263-
BASE64_Ed448+Dilithium5_SIGNATURE_OF_THIS_FILE
264-
-----END HYBRID SIGNATURE-----
265-
signedBy: "did:web:github.com:hyperpolymath:echidna#primary-sig"
266-
fallback:
267-
algorithm: "SPHINCS+"
268-
signature: |
269-
-----BEGIN SPHINCS+ SIGNATURE-----
270-
BASE64_SPHINCS+_SIGNATURE_OF_THIS_FILE
271-
-----END SPHINCS+ SIGNATURE-----
2+
# Trustfile (A2ML Canonical)
3+
# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath)
4+
5+
@abstract:
6+
Trust and provenance verification for Echidna.
7+
Maximal trust by default — LLM may read, build, test, lint, format.
8+
@end
9+
10+
@trust-level: maximal
11+
@trust-boundary: repo
12+
@trust-actions: [read, build, test, lint, format]
13+
@trust-deny: [delete-branch, force-push, modify-ci-secrets, publish]
14+
15+
## Integrity
16+
17+
### license-content
18+
- description: LICENSE contains expected SPDX identifier
19+
- run: grep -q 'SPDX\|License\|MIT\|Apache\|PMPL\|MPL' LICENSE
20+
- severity: critical
21+
22+
### no-secrets-committed
23+
- description: No .env or credential files in repo
24+
- run: test ! -f .env && test ! -f credentials.json && test ! -f .env.local
25+
- severity: critical

contractiles/trust/Trustfile.a2ml

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)