Skip to content

Commit 6ecfcff

Browse files
committed
Initial public release: circadian predictive coding open-source baseline
0 parents  commit 6ecfcff

72 files changed

Lines changed: 33473 additions & 0 deletions

Some content is hidden

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

.editorconfig

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
root = true
2+
3+
[*.py]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
indent_style = space
8+
indent_size = 4
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
charset = utf-8
13+
end_of_line = lf
14+
insert_final_newline = true
15+
indent_style = space
16+
indent_size = 2
17+
trim_trailing_whitespace = false
18+
19+
[*.yml]
20+
charset = utf-8
21+
end_of_line = lf
22+
insert_final_newline = true
23+
indent_style = space
24+
indent_size = 2
25+
trim_trailing_whitespace = true
26+
27+
[*.yaml]
28+
charset = utf-8
29+
end_of_line = lf
30+
insert_final_newline = true
31+
indent_style = space
32+
indent_size = 2
33+
trim_trailing_whitespace = true

.env.example

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Optional defaults used by src/config/settings.py
2+
PC_BASE_SEED=7
3+
PC_DATASET_SIZE=400
4+
PC_EPOCHS=160
5+
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Bug report
2+
description: Report a reproducible bug in code, docs, or benchmarks
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for reporting. Please provide a minimal reproduction.
10+
- type: input
11+
id: environment
12+
attributes:
13+
label: Environment
14+
description: OS, Python version, GPU/CPU details
15+
placeholder: "Windows 11, Python 3.11, CUDA 12.8, RTX 4090"
16+
validations:
17+
required: true
18+
- type: input
19+
id: command
20+
attributes:
21+
label: Command run
22+
placeholder: "python resnet50_benchmark.py ..."
23+
validations:
24+
required: true
25+
- type: textarea
26+
id: observed
27+
attributes:
28+
label: Observed behavior
29+
validations:
30+
required: true
31+
- type: textarea
32+
id: expected
33+
attributes:
34+
label: Expected behavior
35+
validations:
36+
required: true
37+
- type: textarea
38+
id: logs
39+
attributes:
40+
label: Error logs or traceback
41+
render: shell
42+
validations:
43+
required: false
44+
- type: textarea
45+
id: additional
46+
attributes:
47+
label: Additional context
48+
validations:
49+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Security vulnerability
4+
url: https://github.com/OptimumAF/Circadian-Predictive-Coding/security/advisories/new
5+
about: Please report security issues privately.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Feature request
2+
description: Propose a new capability, benchmark, or algorithmic improvement
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: textarea
7+
id: problem
8+
attributes:
9+
label: Problem statement
10+
description: What limitation does this solve?
11+
validations:
12+
required: true
13+
- type: textarea
14+
id: proposal
15+
attributes:
16+
label: Proposed solution
17+
description: Include expected API/config changes if applicable.
18+
validations:
19+
required: true
20+
- type: textarea
21+
id: alternatives
22+
attributes:
23+
label: Alternatives considered
24+
validations:
25+
required: false
26+
- type: dropdown
27+
id: scope
28+
attributes:
29+
label: Scope
30+
options:
31+
- Circadian core algorithm
32+
- Benchmarking and evaluation
33+
- Developer tooling and docs
34+
- Other
35+
validations:
36+
required: true
37+
- type: textarea
38+
id: success
39+
attributes:
40+
label: Success criteria
41+
description: How should this be validated?
42+
validations:
43+
required: true

.github/dependabot.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "pip"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
open-pull-requests-limit: 5
8+
- package-ecosystem: "github-actions"
9+
directory: "/"
10+
schedule:
11+
interval: "weekly"
12+
open-pull-requests-limit: 3

.github/pull_request_template.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
## Summary
2+
3+
Describe what changed and why.
4+
5+
## Checklist
6+
7+
- [ ] I ran `pytest -q`
8+
- [ ] I ran `ruff check .`
9+
- [ ] I updated docs for user-visible changes
10+
- [ ] I preserved layer boundaries (`core`, `app`, `infra`, `adapters`)
11+
- [ ] I kept comparisons fair across backprop, predictive coding, and circadian variants
12+
13+
## Validation
14+
15+
List exact commands and key outputs.
16+
17+
## Risk
18+
19+
Describe regression risk and rollback plan.

.github/workflows/ci.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: ["main", "master"]
6+
pull_request:
7+
branches: ["main", "master"]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
python-version: ["3.11", "3.12"]
16+
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v4
20+
21+
- name: Setup Python
22+
uses: actions/setup-python@v5
23+
with:
24+
python-version: ${{ matrix.python-version }}
25+
26+
- name: Install dependencies
27+
run: |
28+
python -m pip install --upgrade pip
29+
pip install -r requirements.txt
30+
31+
- name: Lint
32+
run: ruff check .
33+
34+
- name: Type check
35+
run: mypy src tests scripts
36+
37+
- name: Test
38+
run: pytest -q

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.venv/
2+
__pycache__/
3+
*.py[cod]
4+
.mypy_cache/
5+
.pytest_cache/
6+
.ruff_cache/
7+
data/
8+
benchmark_multiseed_*.json
9+
benchmark_multiseed_*_seed.csv
10+
benchmark_multiseed_*_summary.csv
11+
benchmark_multiseed_*_per_seed.csv
12+
benchmark_*_smoke.json
13+
benchmark_*_smoke.csv
14+
benchmark_*_smoke_*.csv

0 commit comments

Comments
 (0)