AGENTS.md@libs/gda-balancing · diff
git:20260716.394f863 to git:20260720.370a512
10 added, 0 removed. Audit A to A.
This directory is **gda-balancing** — a standalone, engine- and game-agnostic numeric
design & balancing toolkit: Standard Schema numeric design (attributes, builds, growth,
economy, encounters), simulation-backed balance validation and tuning, structured JSON
output. It is a **sibling product** of `gda` in the same family — it neither depends on
nor extends `gda`; the `gda-` prefix is the product-family brand, not component
ownership. Requirements record: PRD #501; milestones #8 (Phase 1) / #9 (Phase 2).
## Inherited from the repo root
Align with the repo-root `AGENTS.md` for everything **except domain docs**:
- `RULES.md` — communication & collaboration conventions.
- Issue tracker — toolkit issues go to the same `aigengame/godot-agent` tracker, with titles
prefixed **`[gda-balancing]`** to distinguish them from `gda`-tool issues (unprefixed).
See `../../docs/agents/issue-tracker.md` (inherited, not duplicated here).
- Triage labels. See `../../docs/agents/triage-labels.md`.
## Agent skills
### Domain docs (local override)
**This section is the toolkit domain's local convention** — the repo root routes domain
contexts via `CONTEXT-MAP.md` and delegates each non-root domain's layout and override
rules to its own `AGENTS.md`, i.e. here. The toolkit's domain context is confined to this
directory and must **not** pollute the parent's docs.
Local layout (analogue of the parent's):
| Parent (gda domain) | Here (balancing domain) | Holds |
|---|---|---|
| `CONTEXT.md` | `BALANCING-CONTEXT.md` | the toolkit's shared language / glossary |
| `docs/adr/NNNN-*.md` | `docs/badr/NNNN-*.md` | balancing decision records (bADR), same numbering |
**Skill remap.** The domain skills hardcode `CONTEXT.md` / `docs/adr/` as literals. When you
run one **inside this package**, restate and apply this remap before acting:
- any skill's `CONTEXT.md` → `BALANCING-CONTEXT.md`
- any skill's `docs/adr/` → `docs/badr/`
- `CONTEXT-MAP.md` → not applicable (single local context — ignore)
Applies to `grill-with-docs`, `improve-codebase-architecture`, and `reconcile`. `to-prd` /
`to-issues` already defer abstractly to "the project's domain glossary" — point them here.
**Isolation boundary.** Never **write** toolkit terms or decisions into the parent root
`CONTEXT.md` or `docs/adr/` — balancing-domain language and decisions live only under this
directory. You **may read** the parent `gda` docs when the work concerns
CLI-interface-style alignment (see below) or family conventions — just don't treat them as
this toolkit's domain authority.
This section is the loaded summary; `./docs/agents/domain.md` is the authoritative
detail — on any divergence, it wins.
## Development conventions
- **CLI interface style follows `gda`** (adjudicated 2026-07-15, recorded on PRD #501):
the family's interface conventions and `gda`'s accumulated CLI spec experience are the
reference. The binding contract (command taxonomy, result/error envelopes, exit-code
semantics, self-description) will be designed under issue #518 and recorded as bADRs —
once landed, those bADRs are the single authority; read the parent CLI-contract ADRs as
*reference input* only.
- **Engine- and game-agnostic core** — the toolkit names no game identity and imports no
game or engine code (nor `gda`); agnosticism is enforced by packaging plus an isolation
gate (landing with #502) at the hardened (recursive, AST-level) standard.
- **Schema is the single authority** — the Standard Schema is the sole spec and authority
source for numeric design; games consume the toolkit's Standard Schema output (PRD #501).
+ - **Own project, own release train** (ADR-0038) — this package is an independent uv project,
+ not a workspace member: it locks separately, so every command run from the repo root needs
+ `--project libs/gda-balancing` (see this package's README). Its PRs therefore use
+ **truthful conventional-commit types** (`feat`/`fix`/…) and release under
+ `gda-balancing-vX.Y.Z` tags — the non-releasing-title discipline that applied before #528
+ is lifted **for this directory only**.
+ - A PR that touches this directory **and anything outside it** is still attributed to the
+ root `gda` package. The `Member releasing-PR scope guard` required check refuses such a
+ PR when its title is releasing-typed — **split it** rather than downgrading the type,
+ because a dependency change that warrants a release should not be recorded as a chore.