| name | architecture-boundaries |
| description | Architecture boundary enforcement rules for the No-COM architecture. |
| paths | ["**/*.ts","**/*.cs"] |
Converted rule
Source: legacy Claude rule architecture-boundaries.
Architecture Boundaries
Architecture boundary enforcement is a uniform gate across all tiers (T1–T4). Violations block PRs.
Enforcement Tools
- TypeScript:
dependency-cruiser. Configuration file pattern: .dependency-cruiser.cjs.
- .NET (when the backend exists):
NetArchTest.Rules. Test project naming pattern: *.ArchitectureTests.
No-COM Architecture Rules (enforceable assertions)
Production code in this repository must satisfy each of the following assertions. Each assertion is enforced by dependency-cruiser (TypeScript) or NetArchTest.Rules (.NET) where applicable; legacy import utilities, when added, must satisfy the same assertions.
- New runtime code must not reference VSTO APIs (
Microsoft.Office.Tools.*).
- New runtime code must not reference Outlook desktop automation APIs (
Microsoft.Office.Interop.Outlook).
- New runtime code must not expose COM-visible interfaces (
[ComVisible(true)] attribute is banned in production code).
- New runtime code must not use Ribbon extensibility callbacks tied to the desktop object model.
- New runtime code must not depend on local Outlook event streams.
- New runtime code must not depend on Outlook user-defined fields as the primary state store.