Fix release for 1.1.2: the 14 longest skills keep their later phases after a compaction, a question nobody answered is never taken as an answer, settings read the same from a subfolder, the commit check works for a project in a subfolder of a larger repository, every skill opens with a title, and the shipped allow rules no longer approve deleting a branch or writing files without asking. Details in CHANGELOG.md; upgrade steps in UPGRADING.md (v1.1.2 → v1.1.3). Refs #83 Refs #133 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0185en4t76fPn7315q4c3nko
5.6 KiB
/architecture-review — Phases 5 and 5b: Engine Cross-Check and Design Revision Flags
Part of
/architecture-review.SKILL.mdnames when to read this file; the settings it resolved and the rules under its later headings still apply here.
Phase 5: Engine Compatibility Cross-Check
In this file:
- Version Consistency
- Post-Cutoff API Consistency
- Deprecated API Check
- Missing Engine Compatibility Sections
- Engine Specialist Consultation
Across all ADRs, check for engine consistency:
Version Consistency
- Do all ADRs that mention an engine version agree on the same version?
- If any ADR was written for an older engine version, flag it as potentially stale
Post-Cutoff API Consistency
- Collect all "Post-Cutoff APIs Used" fields from all ADRs
- For each, verify against the relevant module reference doc
- Check that no two ADRs make contradictory assumptions about the same post-cutoff API
Deprecated API Check
- Grep all ADRs for API names listed in
deprecated-apis.md - Flag any ADR referencing a deprecated API
Missing Engine Compatibility Sections
- List all ADRs that are missing the Engine Compatibility section entirely
- These are blind spots — their engine assumptions are unknown
Output format:
### Engine Audit Results
Engine: [name + version]
ADRs with Engine Compatibility section: X / Y total
Deprecated API References:
- ADR-0002: uses [deprecated API] — deprecated since [version]
Stale Version References:
- ADR-0001: written for [older version] — current project version is [version]
Post-Cutoff API Conflicts:
- ADR-0004 and ADR-0007 both use [API] with incompatible assumptions
Engine Specialist Consultation
After completing the engine audit above, spawn the primary engine specialist via Agent for a domain-expert second opinion:
- Resolve the primary specialist:
<engine>-specialistderived fromengine.nameinproject.yaml(Godot→godot-specialist, Unity→unity-specialist, Unreal→unreal-specialist); ifengine.nameis absent or empty, read the Primary line of the## Engine Specialistssection in.claude/docs/technical-preferences.md - If no engine is configured (neither source yields an engine), skip this consultation Record
Engine validation: NOT ASSESSED — no engine configured (`engine.name` unset in `project.yaml`)in this run's output. A skipped check that says nothing is indistinguishable from a check that passed; the reader cannot tell engine guidance was never sought. - Spawn
subagent_type: [primary specialist]with: all ADRs that contain engine-specific decisions orPost-Cutoff APIs Usedfields, the engine reference docs, and the Phase 5 audit findings. Ask them to:- Confirm or challenge each audit finding — specialists may know of engine nuances not captured in the reference docs
- Identify engine-specific anti-patterns in the ADRs that the audit may have missed (e.g., using the wrong Godot node type, Unity component coupling, Unreal subsystem misuse)
- Flag ADRs that make assumptions about engine behaviour that differ from the actual pinned version
Incorporate additional findings under ### Engine Specialist Findings in the Phase 5 output. These feed into the final verdict — specialist-identified issues carry the same weight as audit-identified issues.
Phase 5b: Design Revision Flags (Architecture → GDD Feedback)
For each HIGH RISK engine finding from Phase 5, check whether any GDD makes an assumption that the verified engine reality contradicts.
Specific cases to check:
-
Post-cutoff API behaviour differs from training-data assumptions: If an ADR records a verified API behaviour that differs from the default LLM assumption, check all GDDs that reference the related system. Look for design rules written around the old (assumed) behaviour.
-
Known engine limitations in ADRs: If an ADR records a known engine limitation (e.g. "Jolt ignores HingeJoint3D damp", "D3D12 is now the default backend"), check GDDs that design mechanics around the affected feature.
-
Deprecated API conflicts: If Phase 5 flagged a deprecated API used in an ADR, check whether any GDD contains mechanics that assume the deprecated API's behaviour.
For each conflict found, record it in the GDD Revision Flags table:
### GDD Revision Flags (Architecture → Design Feedback)
These GDD assumptions conflict with verified engine behaviour or accepted ADRs.
The GDD should be revised before its system enters implementation.
| GDD | Assumption | Reality (from ADR/engine-reference) | Action |
|-----|-----------|--------------------------------------|--------|
| combat.md | "Use HingeJoint3D damp for weapon recoil" | Jolt ignores damp — ADR-0003 | Revise GDD |
If no revision flags are found, write: "No GDD revision flags — all GDD assumptions are consistent with verified engine behaviour."
Before asking, display the proposed change inline — show the current systems-index row for each flagged GDD and the proposed updated row side by side so the user can see exactly what will change.
Then use AskUserQuestion:
- "I found [N] GDD revision flag(s). May I update the systems index?"
- [A] Yes — apply all [N] updates to the systems index now
- [B] Show me the full diff first, then ask again
- [C] No — leave the systems index unchanged for now
If [A]: apply the updates. Status field must be exactly Needs Revision — no parentheticals
(other skills match that exact string and parentheticals break the match).
If [B]: display the complete proposed systems-index section, then re-ask with AskUserQuestion.