idea115-taxalpha-studio-dec.../AGENTS.md

33 lines
1.1 KiB
Markdown

Architecture and contributor guidance for idea115-taxalpha-studio-declarative
Overview
- Phase-0 skeleton for TaxAlpha Studio: canonical IR, a tiny DSL parser,
a deterministic greedy optimizer (warm-start), and two simple adapters
(custodian mock and CSV reader).
Tech stack
- Python 3.8+
- Packaging: setuptools (pyproject.toml)
- Testing: pytest
Repository layout
- idea115_taxalpha_studio_declarative/: package source
- ir.py: canonical dataclasses (TaxLot, Account, HarvestAction, PlanDelta, AuditLog)
- dsl.py: very small line-oriented DSL parser
- solver.py: deterministic greedy warm-start optimizer (Phase-0)
- adapters/: simple adapters (custodian mock, CSV reader)
- tests/: pytest tests
- pyproject.toml: package metadata and build-system
- README.md: project description
- AGENTS.md: this file
Developer rules
- Make minimal, well-scoped changes. Prefer small, correct edits.
- Use apply_patch for modifications.
- Add tests for new behavior and ensure pytest passes.
- test.sh must run `pytest` and `python3 -m build` successfully.
How to run tests
1. Install requirements if needed (Phase-0 uses stdlib only)
2. Run: `bash test.sh`