-
-
Notifications
You must be signed in to change notification settings - Fork 1
190 lines (162 loc) · 8.57 KB
/
zenodo-update.yml
File metadata and controls
190 lines (162 loc) · 8.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# GitHub Actions: Zenodo Defensive Publication Automation
#
# This workflow creates Zenodo deposits for new releases,
# establishing a timestamped defensive publication for each version.
#
# Usage:
# 1. Create a new GitHub release with semantic version (v1.0.0, v1.1.0, etc.)
# 2. Zenodo automatically creates a DOI for the release
# 3. The DOI is posted back as a release asset
#
# See: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/editing-repository-release-settings
name: Zenodo Defensive Publication
on:
release:
types: [published]
workflow_dispatch:
inputs:
version:
description: 'Version tag (e.g., v1.0.0)'
required: true
type: string
permissions:
contents: read
jobs:
zenodo-deposit:
name: Create Zenodo Deposit
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get version from tag
id: version
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
VERSION="${{ github.event.inputs.version }}"
else
VERSION="${GITHUB_REF#refs/tags/}"
fi
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "📌 Version: ${VERSION}"
- name: Generate metadata
id: metadata
run: |
cat > metadata.json <<'EOF'
{
"title": "Trinity S³AI: Pure Zig Autonomous AI Agent Swarm - ${{ steps.version.outputs.version }}",
"description": "Defensive publication of Trinity S³AI innovations: HSLM (1.95M ternary LLM), TRI-27 (ternary ISA), Queen (self-learning), Sacred GF16/TF3 formats, and zero-DSP FPGA inference. This release establishes prior art for: ternary computing, FPGA neural networks, self-adaptive AI systems, and φ-based arithmetic formats.\n\nKey discoveries:\n- HSLM: 1.95M ternary LM, PPL=125 on TinyStories\n- Sacred GF16/TF3: φ-based floating point, 37.8% LUT reduction\n- TRI-27: 27-register ternary ISA with Coptic encoding\n- Queen: Episode-based self-learning with 6-phase Lotus Cycle\n- Zero-DSP FPGA: Ternary inference without DSP blocks\n\nCitation: Trinity Project. (2025). Trinity S³AI (Version ${{ steps.version.outputs.version }}) [Defensive Publication]. Zenodo. https://doi.org/10.5281/zenodo.XXXXXX",
"creators": [
{"name": "Trinity Project", "affiliation": "Open Source"}
],
"keywords": [
"ternary computing", "FPGA", "neural networks", "autonomous agents",
"Zig", "prior art", "defensive publication", "HSLM", "TRI-27",
"Queen self-learning", "sacred arithmetic", "GF16", "TF3",
"zero-DSP", "VSA", "Vector Symbolic Architecture", "phi-based computing"
],
"license": "CC-BY-4.0",
"upload_type": "software",
"access_right": "open",
"communities": [{"identifier": "trinity"}]
}
EOF
cat metadata.json
echo "metadata_created=true" >> $GITHUB_OUTPUT
- name: Create release archive
run: |
# Create source archive
git archive --format=tar.gz --prefix=trinity-${{ steps.version.outputs.version }}/ HEAD > trinity-${{ steps.version.outputs.version }}.tar.gz
# Calculate checksums
sha256sum trinity-${{ steps.version.outputs.version }}.tar.gz > trinity-${{ steps.version.outputs.version }}.tar.gz.sha256
md5sum trinity-${{ steps.version.outputs.version }}.tar.gz > trinity-${{ steps.version.outputs.version }}.tar.gz.md5
- name: Generate CITATION.cff
run: |
cat > CITATION.cff <<EOF
cff-version: 1.2.0
message: "If you use this version of Trinity, please cite it."
title: "Trinity S³AI: Pure Zig Autonomous AI Agent Swarm"
abstract: "Defensive publication of Trinity S³AI innovations including HSLM ternary LLM, TRI-27 ISA, Queen self-learning, Sacred GF16/TF3 formats, and zero-DSP FPGA inference."
authors:
- family-names: "Trinity"
given-names: "Project"
version: "${{ steps.version.outputs.version }}"
date-released: $(date +%Y-%m-%d)
url: "https://github.com/gHashTag/trinity"
keywords:
- "ternary computing"
- "FPGA"
- "neural networks"
- "prior art"
- "defensive publication"
license: CC-BY-4.0
EOF
- name: Package research docs
run: |
mkdir -p research-package
cp -r docs/research/* research-package/
cp CITATION.cff research-package/
tar czf research-docs-${{ steps.version.outputs.version }}.tar.gz research-package/
- name: Upload to release
uses: softprops/action-gh-release@v1
with:
files: |
trinity-${{ steps.version.outputs.version }}.tar.gz
trinity-${{ steps.version.outputs.version }}.tar.gz.sha256
trinity-${{ steps.version.outputs.version }}.tar.gz.md5
research-docs-${{ steps.version.outputs.version }}.tar.gz
CITATION.cff
metadata.json
fail_on_unmatched_files: true
- name: Zenodo instructions
run: |
cat <<'EOF'
╔═══════════════════════════════════════════════════════════════════╗
║ ZENODO DEPOSIT INSTRUCTIONS ║
╚═══════════════════════════════════════════════════════════════════╝
✅ Release assets created successfully!
📋 NEXT STEPS:
1. The GitHub-Zenodo integration will automatically create a deposit
2. Visit: https://zenodo.org/account/github
3. Find the deposit and add additional metadata if needed
4. PUBLISH the deposit to get a DOI
5. Add the DOI to CITATION.cff and this workflow
📌 CURRENT VERSION: ${{ steps.version.outputs.version }}
🔗 USEFUL LINKS:
- Zenodo GitHub: https://zenodo.org/account/github
- Trinity Community: https://zenodo.org/communities/trinity
- DOI Request: https://zenodo.org/doi/create
📚 CITATION (once DOI is assigned):
Trinity Project. (2025). Trinity S³AI (Version ${{ steps.version.outputs.version }}) [Defensive Publication].
Zenodo. https://doi.org/10.5281/zenodo.XXXXXX
═══════════════════════════════════════════════════════════════════
EOF
zenodo-checksum:
name: Verify Zenodo Deposit
runs-on: ubuntu-latest
needs: zenodo-deposit
if: github.event_name == 'release'
steps:
- name: Wait for Zenodo processing
run: |
echo "⏳ Zenodo typically processes deposits within 5-10 minutes"
echo "📧 Check your email for Zenodo notifications"
echo "🔍 Visit: https://zenodo.org/account/github"
- name: Display verification steps
run: |
cat <<'EOF'
╔═══════════════════════════════════════════════════════════════════╗
║ VERIFICATION CHECKLIST ║
╚═══════════════════════════════════════════════════════════════════╝
✅ TO VERIFY YOUR DEPOSIT:
1. Check Zenodo GitHub page for the deposit
2. Verify all files are present (source archive, research docs)
3. Check metadata completeness (title, authors, keywords)
4. Verify license is set to CC-BY-4.0
5. Add to Trinity community
6. PUBLISH to get DOI
7. Update CITATION.cff with DOI
8. Update PRIOR_ART_NETWORK.md with new DOI
═══════════════════════════════════════════════════════════════════
EOF