Skip to content

Commit b7b16fa

Browse files
Merge branch 'main' into dependabot/github_actions/erlef/setup-beam-1.23.0
2 parents 6084f80 + 002ac07 commit b7b16fa

15 files changed

Lines changed: 193 additions & 118 deletions

File tree

.claude/CLAUDE.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
The following files in `.machine_readable/` contain structured project metadata:
44

5-
- `STATE.scm` - Current project state and progress
6-
- `META.scm` - Architecture decisions and development practices
7-
- `ECOSYSTEM.scm` - Position in the ecosystem and related projects
8-
- `AGENTIC.scm` - AI agent interaction patterns
9-
- `NEUROSYM.scm` - Neurosymbolic integration config
10-
- `PLAYBOOK.scm` - Operational runbook
5+
- `.machine_readable/6a2/STATE.a2ml` - Current project state and progress
6+
- `.machine_readable/6a2/META.a2ml` - Architecture decisions and development practices
7+
- `.machine_readable/6a2/ECOSYSTEM.a2ml` - Position in the ecosystem and related projects
8+
- `.machine_readable/6a2/AGENTIC.a2ml` - AI agent interaction patterns
9+
- `.machine_readable/6a2/NEUROSYM.a2ml` - Neurosymbolic integration config
10+
- `.machine_readable/6a2/PLAYBOOK.a2ml` - Operational runbook
1111

1212
---
1313

@@ -28,7 +28,7 @@ The following files in `.machine_readable/` contain structured project metadata:
2828
| **Bash/POSIX Shell** | Scripts, automation | Keep minimal |
2929
| **JavaScript** | Only where ReScript cannot | MCP protocol glue, Deno APIs |
3030
| **Nickel** | Configuration language | For complex configs |
31-
| **Guile Scheme** | State/meta files | STATE.scm, META.scm, ECOSYSTEM.scm |
31+
| **Guile Scheme** | State/meta files | .machine_readable/6a2/STATE.a2ml, .machine_readable/6a2/META.a2ml, .machine_readable/6a2/ECOSYSTEM.a2ml |
3232
| **Julia** | Batch scripts, data processing | Per RSR |
3333
| **OCaml** | AffineScript compiler | Language-specific |
3434
| **Ada** | Safety-critical systems | Where required |

.gitignore

Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,103 @@
1+
# RSR-compliant .gitignore
12

23
# Crash recovery artifacts
34
ai-cli-crash-capture/
5+
6+
7+
# OS & Editor
8+
.DS_Store
9+
Thumbs.db
10+
*.swp
11+
*.swo
12+
*~
13+
.idea/
14+
.vscode/
15+
16+
17+
# Build
18+
/target/
19+
/_build/
20+
/build/
21+
/dist/
22+
/out/
23+
/zig-out/
24+
/zig-cache/
25+
26+
27+
# Dependencies
28+
/node_modules/
29+
/vendor/
30+
/deps/
31+
/.elixir_ls/
32+
33+
34+
# Rust
35+
36+
# Cargo.lock # Keep for binaries
37+
38+
39+
# Elixir
40+
/cover/
41+
/doc/
42+
*.ez
43+
erl_crash.dump
44+
45+
46+
# Julia
47+
*.jl.cov
48+
*.jl.mem
49+
/Manifest.toml
50+
51+
52+
# ReScript
53+
/lib/bs/
54+
/.bsb.lock
55+
56+
57+
# Python (SaltStack only)
58+
__pycache__/
59+
*.py[cod]
60+
.venv/
61+
62+
63+
# Ada/SPARK
64+
*.ali
65+
/obj/
66+
/bin/
67+
68+
69+
# Haskell
70+
/.stack-work/
71+
/dist-newstyle/
72+
73+
74+
# Chapel
75+
*.chpl.tmp.*
76+
77+
78+
# Secrets
79+
.env
80+
.env.*
81+
*.pem
82+
*.key
83+
secrets/
84+
85+
86+
# Test/Coverage
87+
/coverage/
88+
htmlcov/
89+
90+
91+
# Logs
92+
*.log
93+
/logs/
94+
95+
96+
# Machine-readable locks
97+
.machine_readable/.locks/
98+
99+
100+
# Temp
101+
/tmp/
102+
*.tmp
103+
*.bak

.machine_readable/CLADE.a2ml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Clade declaration — part of the gv-clade-index registry
3+
# See: https://github.com/hyperpolymath/gv-clade-index
4+
5+
[identity]
6+
uuid = "84a06742-9413-5581-835c-db6f807c1c4e"
7+
primary-forge = "github"
8+
primary-owner = "hyperpolymath"
9+
canonical-name = "universal-chat-extractor"
10+
prefixed-name = "ap-universal-chat-extractor"
11+
12+
[clade]
13+
primary = "ap"
14+
secondary = []
15+
assigned = "2026-03-16"
16+
rationale = ""
17+
18+
[forges]
19+
github = "hyperpolymath/universal-chat-extractor"
20+
gitlab = "hyperpolymath/universal-chat-extractor"
21+
bitbucket = "hyperpolymath/universal-chat-extractor"
22+
23+
[lineage]
24+
type = "standalone"
25+
parent = "Chat export/extraction tool"
26+
born = "2026-03-16"
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# SPDX-License-Identifier: PMPL-1.0-or-later
2+
# Trustfile — Integrity and provenance verification
3+
# Author: Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
5+
@abstract:
6+
Integrity invariants for this repository. These verify that the repo
7+
has not been tampered with, secrets are not leaked, and provenance
8+
is traceable.
9+
@end
10+
11+
## Secrets
12+
13+
### no-secrets-committed
14+
- description: No credential files in repo
15+
- run: test ! -f .env && test ! -f credentials.json && test ! -f .env.local && test ! -f .env.production
16+
- severity: critical
17+
18+
### no-private-keys
19+
- description: No private key files committed
20+
- run: "! find . -name '*.pem' -o -name '*.key' -o -name 'id_rsa' -o -name 'id_ed25519' 2>/dev/null | grep -v node_modules | head -1 | grep -q ."
21+
- severity: critical
22+
23+
### no-tokens-in-source
24+
- description: No hardcoded API tokens in source
25+
- run: "! grep -rE '(api[_-]?key|secret|token|password)\s*[:=]\s*[\"'\\''][A-Za-z0-9]{16,}' --include='*.js' --include='*.ts' --include='*.res' --include='*.py' . 2>/dev/null | grep -v node_modules | head -1 | grep -q ."
26+
- severity: critical
27+
28+
## Provenance
29+
30+
### author-correct
31+
- description: Git author matches expected identity
32+
- run: "git log -1 --format='%ae' | grep -qE '(hyperpolymath|j\\.d\\.a\\.jewell)'"
33+
- severity: warning
34+
35+
### license-content
36+
- description: LICENSE contains expected identifier
37+
- run: grep -q 'PMPL\|MPL\|MIT\|Apache\|LGPL' LICENSE
38+
- severity: warning
39+
40+
## Container Security
41+
42+
### container-images-pinned
43+
- description: Containerfile uses pinned base images
44+
- run: test ! -f Containerfile || grep -q 'cgr.dev\|@sha256:' Containerfile
45+
- severity: warning
46+
47+
### no-dockerfile
48+
- description: No Dockerfile (use Containerfile)
49+
- run: test ! -f Dockerfile
50+
- severity: warning

0 commit comments

Comments
 (0)