build(agent): melter#14fd4b iteration

This commit is contained in:
agent-14fd4b738639d573 2026-04-24 18:10:16 +02:00
parent 2fbfff6484
commit 390ac351df
5 changed files with 104 additions and 3 deletions

21
.gitignore vendored Normal file
View File

@ -0,0 +1,21 @@
node_modules/
.npmrc
.env
.env.*
__tests__/
coverage/
.nyc_output/
dist/
build/
.cache/
*.log
.DS_Store
tmp/
.tmp/
__pycache__/
*.pyc
.venv/
venv/
*.egg-info/
.pytest_cache/
READY_TO_PUBLISH

46
AGENTS.md Normal file
View File

@ -0,0 +1,46 @@
**Architecture**
MetaCA Studio is a small Python-first toolkit to prototype federated evolutionary cellular automata. The repository's current scope is a well-focused, test-covered core providing:
- CARule: rule representation with deterministic fingerprinting for deduping across federated agents.
- CAGrid: 2D toroidal grid with Moore and Von Neumann neighborhoods and a step operator applying CARule transition tables.
- TournamentSelector: an evolutionary selection primitive exposing top-k shares for gossip-style federated exchange.
This agent/design follows a layered architecture:
- metaca.py: core domain objects and algorithms (kept small and well-tested).
- pyproject.toml: packaging metadata to allow building sdist/wheel.
- test.sh: unified test driver used by CI and contributors.
Future work should add separate modules for differentiable simulators (JAX/PyTorch), federation registry (Graph-of-Contracts sketch), adapters (NumPy/JAX/torch), and a lightweight governance ledger.
**Tech stack**
- Python 3.8+ (core language)
- Packaging: setuptools + wheel via PEP 517/518 (pyproject.toml)
- Tests: simple shell-driven assertions (test.sh). Replace with pytest as codebase grows.
**Testing commands**
Run the project's test suite and build verification with:
```
./test.sh
```
test.sh will run a packaging build (python3 -m build) to verify pyproject metadata and then execute the unit-style tests included in the script.
**Contribution rules**
- Keep changes minimal and well-scoped. Prefer small, reviewable patches over large rewrites.
- Add tests for every new feature or bugfix using the pattern in test.sh. If you introduce dependencies, add them to pyproject.toml.
- Do not modify files authored by other contributors without discussion.
- Run `./test.sh` locally before opening PRs.
**Release & publishing**
This repository is not marked READY_TO_PUBLISH in this iteration. When claiming readiness:
- Ensure README.md contains a complete project summary and packaging metadata references.
- Ensure pyproject.toml contains accurate metadata and licensing information.
- Add an empty file READY_TO_PUBLISH to the repository root only when the project fully implements the published specification and all tests pass.

View File

@ -1,3 +1,21 @@
# idea178-metaca-studio # MetaCA Studio (idea178-metaca-studio)
Source logic for Idea #178 MetaCA Studio is a Python-first toolkit to prototype federated evolutionary cellular automata.
This repository contains a focused core implementing:
- CARule: deterministic fingerprinted CA rule representation
- CAGrid: 2D toroidal grid with Moore and Von Neumann neighborhoods
- TournamentSelector: evolutionary selection primitive with top-k sharing for federated workflows
The project is intentionally small and test-covered so it can be extended by other contributors with differentiable simulators, adapters (NumPy/PyTorch/JAX), and a Graph-of-Contracts-style registry.
See AGENTS.md for architecture, testing commands, and contribution guidance.
Quick start
```
./test.sh
```
This runs a package build verification followed by the unit-style tests.

12
pyproject.toml Normal file
View File

@ -0,0 +1,12 @@
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "metaca-studio"
version = "0.1.0"
description = "MetaCA Studio - Federated Evolutionary Design Toolkit for Cellular Automata (partial MVP)"
readme = "README.md"
requires-python = ">=3.8"
authors = [ { name = "MetaCA Contributors" } ]
dependencies = []

View File

@ -3,6 +3,10 @@ set -e
echo "=== MetaCA Studio Test Suite ===" echo "=== MetaCA Studio Test Suite ==="
# Verify packaging metadata can build an sdist/wheel before running tests
echo "Running build verification (python3 -m build) ..."
python3 -m build
python3 -c " python3 -c "
from metaca import CARule, CAGrid, TournamentSelector from metaca import CARule, CAGrid, TournamentSelector
@ -100,4 +104,4 @@ print()
print('All 9 tests passed!') print('All 9 tests passed!')
" "
echo "=== All tests passed ===" echo "=== All tests passed ==="