Principle Classification Model¶
The catalogue uses explicit classifications because lists of “best practices” often mix unlike concepts.
| Classification | Meaning | Normative role |
|---|---|---|
principle |
General design rule expressing a desired relationship or property. | Usually context-sensitive and interpreted by a Core Skill. |
heuristic |
Useful default that may be overridden by evidence. | SHOULD-level guidance, rarely MUST. |
technique |
A concrete implementation mechanism. | Selected only when it realizes an active policy. |
method |
A structured way of working or specifying behavior. | Optional unless a profile or user requires it. |
development-method |
A development workflow such as TDD. | Never universal by default. |
development-cycle |
A repeated sequence inside a method. | Active only with its parent method or explicit selection. |
architecture-pattern |
A recurring structural arrangement. | Requires architectural justification. |
architecture-style |
A broader system organization. | MUST NOT be imposed on small tasks without authority. |
architecture-rule |
A directional or boundary rule from an architecture family. | MAY be used without adopting the entire family. |
system-property |
A property such as idempotency or eventual consistency. | Required when the system’s semantics demand it. |
design-property |
A local or systemic quality such as immutability. | Applied selectively according to costs. |
security-principle |
A rule governing authority or trust. | MAY become mandatory under a security modifier. |
testing-principle |
A rule about what tests protect. | Interpreted through testing strategy. |
testing-pattern |
A test-structure convention. | Optional structure, not a correctness guarantee. |
testing-heuristic |
A default for test scope or organization. | MUST NOT be reduced to a numeric rule. |
testing-strategy |
A distribution or portfolio of test types. | Chosen according to architecture and risk. |
versioning-method |
A convention for communicating evolution. | Requires a defined public API. |
evolution-principle |
Guidance for changing public or shared systems. | Stronger when consumers cannot update atomically. |
organizational-principle |
Guidance for code organization and ownership. | Applied at module or repository scale. |
change-principle |
Guidance for safe incremental modification. | Bounded by task scope and architecture authority. |
law |
An empirical or rhetorical observation about engineering systems. | Used as a review lens, never as a direct command. |
design-philosophy |
A broad stance on trade-offs and adoption. | Requires translation into specific decisions. |
process-model |
A sequence for implementation and improvement. | Adapted to known constraints. |
umbrella-concept |
A label that groups multiple practices. | Cannot be used as standalone justification. |
A Core Skill MUST preserve the classification of its entries. It MUST NOT turn every heuristic into a mandatory rule or every law into an implementation instruction.