build(agent): melter#14fd4b iteration
This commit is contained in:
parent
2fbfff6484
commit
390ac351df
|
|
@ -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
|
||||
|
|
@ -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.
|
||||
22
README.md
22
README.md
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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 = []
|
||||
6
test.sh
6
test.sh
|
|
@ -3,6 +3,10 @@ set -e
|
|||
|
||||
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 "
|
||||
from metaca import CARule, CAGrid, TournamentSelector
|
||||
|
||||
|
|
@ -100,4 +104,4 @@ print()
|
|||
print('All 9 tests passed!')
|
||||
"
|
||||
|
||||
echo "=== All tests passed ==="
|
||||
echo "=== All tests passed ==="
|
||||
|
|
|
|||
Loading…
Reference in New Issue