Skip to content

Commit e060630

Browse files
committed
Add shift-commit-time post-commit hook
1 parent c492da2 commit e060630

160 files changed

Lines changed: 1291 additions & 1275 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Environment
2-
ARBITRIUM_ENV=development
2+
CERTAMEN_ENV=development
33

44
# LLM API Keys (for tournaments)
55
# LiteLLM reads these environment variables automatically.

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: Bug Report
2-
description: Report a bug in arbitrium-core
2+
description: Report a bug in certamen-core
33
title: "[Bug]: "
44
labels: ["bug"]
55
body:
@@ -17,7 +17,7 @@ body:
1717
label: Steps to Reproduce
1818
description: Steps to reproduce the behavior.
1919
placeholder: |
20-
1. Install arbitrium-core with '...'
20+
1. Install certamen-core with '...'
2121
2. Run '...'
2222
3. See error
2323
validations:
@@ -34,7 +34,7 @@ body:
3434
id: version
3535
attributes:
3636
label: Version
37-
description: The version of arbitrium-core you are using.
37+
description: The version of certamen-core you are using.
3838
placeholder: "e.g., 0.1.0"
3939
validations:
4040
required: true

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: Feature Request
2-
description: Suggest a new feature for arbitrium-core
2+
description: Suggest a new feature for certamen-core
33
title: "[Feature]: "
44
labels: ["enhancement"]
55
body:

.github/workflows/cd.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ jobs:
4444
python -c "
4545
import re
4646
ver = '${{ github.event.inputs.version }}'
47-
with open('src/arbitrium_core/__about__.py', 'r') as f:
47+
with open('src/certamen_core/__about__.py', 'r') as f:
4848
content = f.read()
4949
content = re.sub(r'__version__\s*=\s*[\"'\''].*?[\"'\'']', f'__version__ = \"{ver}\"', content, count=1)
50-
with open('src/arbitrium_core/__about__.py', 'w') as f:
50+
with open('src/certamen_core/__about__.py', 'w') as f:
5151
f.write(content)
5252
"
5353
@@ -65,7 +65,7 @@ jobs:
6565
if [ "$LAST_COMMIT_MSG" = "$COMMIT_MSG" ]; then
6666
echo "Version bump commit already exists, skipping"
6767
else
68-
git add src/arbitrium_core/__about__.py
68+
git add src/certamen_core/__about__.py
6969
if ! git diff --staged --quiet; then
7070
git commit -m "$COMMIT_MSG"
7171
fi
@@ -132,7 +132,7 @@ jobs:
132132
run: uv pip install -e ".[dev]" --system
133133

134134
- name: Run tests
135-
run: pytest tests/ -v --cov=src/arbitrium_core --cov-report=term-missing
135+
run: pytest tests/ -v --cov=src/certamen_core --cov-report=term-missing
136136

137137
build:
138138
name: Build Distributions
@@ -170,7 +170,7 @@ jobs:
170170
timeout-minutes: 10
171171
environment:
172172
name: pypi
173-
url: https://pypi.org/p/arbitrium-core
173+
url: https://pypi.org/p/certamen-core
174174
permissions:
175175
id-token: write
176176
steps:

.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ jobs:
7474
shell: bash
7575
run: |
7676
pytest tests/ -v \
77-
--cov=src/arbitrium_core \
77+
--cov=src/certamen_core \
7878
--cov-report=xml \
7979
--cov-report=term-missing \
8080
--cov-branch \
@@ -152,16 +152,16 @@ jobs:
152152
- name: Check cyclomatic complexity
153153
run: |
154154
echo "=== Cyclomatic Complexity Report ==="
155-
radon cc src/arbitrium_core/ --min B --show-complexity --total-average
155+
radon cc src/certamen_core/ --min B --show-complexity --total-average
156156
157157
- name: Check maintainability index
158158
run: |
159159
echo "=== Maintainability Index Report ==="
160-
radon mi src/arbitrium_core/ --min B --show
160+
radon mi src/certamen_core/ --min B --show
161161
162162
- name: Fail on high complexity
163163
run: |
164-
radon cc src/arbitrium_core/ --min C --total-average || \
164+
radon cc src/certamen_core/ --min C --total-average || \
165165
(echo "::warning::High complexity detected (grade C or worse)" && exit 0)
166166
167167
architecture-checks:

.gitignore

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -136,18 +136,18 @@ reports/*.csv
136136
reports/*.json
137137
reports/*.parquet
138138

139-
# --- Arbitrium Framework Specific ---
139+
# --- Certamen Framework Specific ---
140140
# Runtime logs and outputs
141-
arbitrium_*_logs.log
142-
arbitrium_champion_*.md
143-
arbitrium_provenance*.md
144-
arbitrium_provenance*.json
145-
arbitrium_*_provenance.json
146-
arbitrium_*_champion_solution*.md
147-
arbitrium_*_complete_history.json
141+
certamen_*_logs.log
142+
certamen_champion_*.md
143+
certamen_provenance*.md
144+
certamen_provenance*.json
145+
certamen_*_provenance.json
146+
certamen_*_champion_solution*.md
147+
certamen_*_complete_history.json
148148

149149
# Response cache database (including SQLite WAL/SHM files)
150-
arbitrium_cache.db
150+
certamen_cache.db
151151
*.cache.db
152152
*.db-wal
153153
*.db-shm
@@ -158,7 +158,7 @@ outputs/
158158
results/
159159

160160
# Demo notebook outputs
161-
arbitrium_demo_outputs/
161+
certamen_demo_outputs/
162162

163163
# Coverage reports
164164
coverage.xml

.pre-commit-config.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ default_language_version:
77
fail_fast: false
88

99
repos:
10+
- repo: https://github.com/nikolay-e/pre-commit-hooks
11+
rev: v2.1.0
12+
hooks:
13+
- id: shift-commit-time
14+
stages: [post-commit]
15+
1016
# ============================================================================
1117
# BASIC FILE QUALITY CHECKS (baseline hygiene)
1218
# ============================================================================

CHANGELOG.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515
- Knowledge Bank for preserving insights from eliminated models
1616
- Rubric-based scoring with configurable weights
1717
- YAML workflow system for custom AI pipelines
18-
- CLI interface with `arbitrium` command (tournament and workflow modes)
19-
- Python API via `Arbitrium.from_settings()`
18+
- CLI interface with `certamen` command (tournament and workflow modes)
19+
- Python API via `Certamen.from_settings()`
2020
- Support for 19 LLM providers via LiteLLM (OpenAI, Anthropic, Google, Ollama, etc.)
2121
- Provenance tracking and cost accounting
2222
- Auto-discovery of Ollama local models
@@ -27,5 +27,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2727
- Mutation testing on domain layer
2828
- PEP 561 type stubs (`py.typed` marker)
2929

30-
[Unreleased]: https://github.com/nikolay-e/arbitrium-core/compare/v0.1.0...HEAD
31-
[0.1.0]: https://github.com/nikolay-e/arbitrium-core/releases/tag/v0.1.0
30+
[Unreleased]: https://github.com/nikolay-e/certamen-core/compare/v0.1.0...HEAD
31+
[0.1.0]: https://github.com/nikolay-e/certamen-core/releases/tag/v0.1.0

CITATION.cff

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Visit https://bit.ly/cffinit to generate yours today!
33

44
cff-version: 1.2.0
5-
title: Arbitrium Framework
5+
title: Certamen Framework
66
message: >-
77
If you use this software, please cite it using the
88
metadata from this file.
@@ -11,13 +11,13 @@ authors:
1111
- given-names: Nikolay
1212
family-names: Eremeev
1313
email: nikolay.eremeev@outlook.com
14-
repository-code: 'https://github.com/nikolay-e/arbitrium-core'
15-
url: 'https://github.com/nikolay-e/arbitrium-core'
14+
repository-code: 'https://github.com/nikolay-e/certamen-core'
15+
url: 'https://github.com/nikolay-e/certamen-core'
1616
abstract: >-
17-
Arbitrium Framework is an open-source Python framework for
17+
Certamen Framework is an open-source Python framework for
1818
high-stakes AI decision-making via tournament-based model
1919
synthesis. Unlike general-purpose agent frameworks,
20-
Arbitrium uses competitive elimination tournaments where AI
20+
Certamen uses competitive elimination tournaments where AI
2121
agents generate independent solutions, critique each other,
2222
compete in evaluation rounds, and progressively refine
2323
until a champion emerges. The Knowledge Bank innovation
@@ -39,12 +39,12 @@ date-released: '2026-02-21'
3939
preferred-citation:
4040
type: software
4141
title: >-
42-
Arbitrium Framework: Tournament-Based Synthesis for
42+
Certamen Framework: Tournament-Based Synthesis for
4343
High-Stakes AI Decisions
4444
authors:
4545
- given-names: Nikolay
4646
family-names: Eremeev
4747
email: nikolay.eremeev@outlook.com
4848
year: 2025
49-
url: 'https://github.com/nikolay-e/arbitrium-core'
50-
repository-code: 'https://github.com/nikolay-e/arbitrium-core'
49+
url: 'https://github.com/nikolay-e/certamen-core'
50+
repository-code: 'https://github.com/nikolay-e/certamen-core'

CLAUDE.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Arbitrium Core
1+
# Certamen Core
22

33
> Extends [../CLAUDE.md](../CLAUDE.md)
44
@@ -10,7 +10,7 @@ but remains inaccessible through ordinary interaction.
1010

1111
AI models contain vastly more knowledge than any single prompt can
1212
unlock. They hedge, simplify, omit, and hold back. The ultimate
13-
goal of Arbitrium is to close that gap completely: leave nothing
13+
goal of Certamen is to close that gap completely: leave nothing
1414
on the table. Every technique, every architecture, every method
1515
that can squeeze more signal out of AI should be pursued and
1616
integrated here.
@@ -32,10 +32,10 @@ Everything in this project serves this goal.
3232
make discover-ollama
3333

3434
# Run tournament
35-
arbitrium --config config.yml
35+
certamen --config config.yml
3636

3737
# Run YAML workflow
38-
arbitrium workflow execute examples/workflow.yml
38+
certamen workflow execute examples/workflow.yml
3939

4040
# Development
4141
source venv/bin/activate
@@ -49,10 +49,10 @@ pre-commit run -a # all quality checks
4949
### Python API
5050

5151
```python
52-
from arbitrium_core import Arbitrium
52+
from certamen_core import Certamen
5353

5454
async def main():
55-
arb = await Arbitrium.from_settings({
55+
arb = await Certamen.from_settings({
5656
"models": {
5757
"gpt": {"provider": "openai", "name": "gpt-4o"},
5858
"claude": {"provider": "anthropic", "name": "claude-3-5-sonnet-20241022"},
@@ -66,10 +66,10 @@ async def main():
6666

6767
```text
6868
┌─────────────────────────────────┐
69-
arbitrium --config config.yml │
69+
certamen --config config.yml │
7070
│ ┌───────────────────────────┐ │
7171
│ │ Tournament Engine │ │
72-
│ │ (src/arbitrium/core/) │ │
72+
│ │ (src/certamen/core/) │ │
7373
│ │ ├─ Competitors (LLMs) │ │
7474
│ │ ├─ Judges (LLMs) │ │
7575
│ │ ├─ Rubrics & Scoring │ │
@@ -83,7 +83,7 @@ async def main():
8383
### Core Components
8484

8585
```text
86-
src/arbitrium/
86+
src/certamen/
8787
├── core/
8888
│ ├── tournament.py # Tournament orchestration
8989
│ ├── scorer.py # Rubric-based scoring
@@ -149,7 +149,7 @@ outputs: [llm]
149149
Available node types:
150150
151151
```bash
152-
arbitrium workflow list-nodes
152+
certamen workflow list-nodes
153153
```
154154

155155
## Testing
@@ -182,26 +182,26 @@ LITELLM_LOG=INFO
182182

183183
```bash
184184
# Run tournament with config file
185-
arbitrium --config config.yml
185+
certamen --config config.yml
186186

187187
# Run with specific models only
188-
arbitrium --config config.yml --models gpt,claude
188+
certamen --config config.yml --models gpt,claude
189189

190190
# Interactive mode
191-
arbitrium --config config.yml --interactive
191+
certamen --config config.yml --interactive
192192

193193
# Execute YAML workflow
194-
arbitrium workflow execute workflow.yml
194+
certamen workflow execute workflow.yml
195195

196196
# Validate workflow
197-
arbitrium workflow validate workflow.yml
197+
certamen workflow validate workflow.yml
198198

199199
# List available node types
200-
arbitrium workflow list-nodes
200+
certamen workflow list-nodes
201201
```
202202

203203
## PyPI Installation
204204

205205
```bash
206-
pip install arbitrium-core
206+
pip install certamen-core
207207
```

0 commit comments

Comments
 (0)