Engineering
Keep domain logic pure and effects behind resource-owning adapters. Covers focused changes, immutable state, errors as values, dependency evaluation, meaningful comments, and behavioral testing.
Change discipline
Tie each edited line to an observable outcome and preserve unrelated behavior.Code comments
Explain hidden constraints and required ordering without restating the surrounding code.Dependencies
Evaluate capability, typing, maintenance, and licensing before expanding the dependency vocabulary.Errors as values
Represent expected failures as typed outcomes and contain external exception behavior at adapters.Functional design
Compose pure transformations and isolate effects behind explicit resource capabilities.Functional engineering
Shared rules for pure domain logic, immutable values, explicit failures, and resource-owning adapters. Apply these principles alongside the pack for the language being edited.Immutability
Return new domain values and keep mutable resource handles separate from application state.Testing
Test consequential decisions and real boundaries with observable success and failure contracts.