Skip to content

ADR-0001: Engine Specialist Separation Policy#78

Open
gentlius wants to merge 1 commit into
Donchitos:mainfrom
gentlius:pr/adr-engine-specialist-separation-policy
Open

ADR-0001: Engine Specialist Separation Policy#78
gentlius wants to merge 1 commit into
Donchitos:mainfrom
gentlius:pr/adr-engine-specialist-separation-policy

Conversation

@gentlius

Copy link
Copy Markdown

Codifies when an engine family adds a separate language-quality specialist agent vs absorbs language quality into the framework primary. Policy: separate only when multiple distinct languages co-exist within the same project; absorb when a single language is the de-facto framework requirement.

Retroactively explains the existing Godot (separate GDScript + C#) vs Unity (C# absorbed) vs Unreal (Blueprint separate, C++ absorbed) asymmetry, and provides a mechanical rule for future engine family additions.

Originating fork accepted this as policy when adding the HTML5 engine family (TypeScript absorbed into pixijs-specialist). Submitted upstream as Proposed for adoption — independent value even without the HTML5 family PR.

Summary

Adds the framework's first ADR — a written rule for when an engine family gets a separate language-quality specialist agent vs. absorbs language quality into the framework primary. Resolves the implicit asymmetry between existing engine sets (Godot has separate GDScript+C# specialists, Unity has none, Unreal has Blueprint-only).

Submitted as Proposed for upstream adoption (accepted in originating fork during the HTML5 engine family addition session).

Type of Change

  • New agent
  • New skill
  • New hook or rule
  • Bug fix
  • Documentation improvement
  • Other: First ADR for the framework itself (governs agent architecture decisions, not game runtime architecture)

Changes

  • Adds docs/architecture/001-engine-specialist-separation-policy.md (161 lines)
  • States the rule: separate specialist only when multiple distinct languages co-exist within the same project; absorb when a single language is the de-facto framework requirement
  • Mechanically applies the rule to existing engines (Godot/Unity/Unreal) — retroactively justifies the current asymmetry
  • Includes Alternatives Considered (Always Separate / Always Absorb / No Rule) with rationales for rejection
  • Provides a "Definition of Structurally Different" subsection to handle edge cases (e.g., Lua + C++ scripting languages, future Bevy/Rust)

Checklist

  • I've tested this in a Claude Code session — applied as policy in originating fork
  • New agents include the Collaboration Protocol section — N/A (no new agents)
  • New skills use the subdirectory format (.claude/skills/<name>/SKILL.md) — N/A (no new skills)
  • Reference docs are updated (agent-roster, skills-reference, hooks-reference, rules-reference) — N/A (policy doc, not referenced by index files)
  • Hooks use grep -E (POSIX) and fail gracefully without jq/python — N/A (no hooks)
  • No hardcoded paths or platform-specific assumptions

Notes

This ADR pairs with a separate PR adding the HTML5/PixiJS engine family. The HTML5 PR's choice to absorb TypeScript into pixijs-specialist (rather than add a sixth agent) is justified by this rule. The two PRs can be reviewed independently — this ADR has standalone value as documentation of existing framework asymmetry.

Codifies when an engine family adds a separate language-quality specialist
agent vs absorbs language quality into the framework primary. Policy:
separate only when multiple distinct languages co-exist within the same
project; absorb when a single language is the de-facto framework requirement.

Retroactively explains the existing Godot (separate GDScript + C#) vs Unity
(C# absorbed) vs Unreal (Blueprint separate, C++ absorbed) asymmetry, and
provides a mechanical rule for future engine family additions.

Originating fork accepted this as policy when adding the HTML5 engine family
(TypeScript absorbed into pixijs-specialist). Submitted upstream as Proposed
for adoption — independent value even without the HTML5 family PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@gentlius gentlius requested a review from Donchitos as a code owner June 11, 2026 03:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant