Use this template to specify changes to an existing deployed Arda backend service. The document focuses on the delta — what changes — not the entire service specification.
See Incremental Best Practices for guidance on filling in each section safely.
Brief description of the capability being added or modified. What problem does it solve? How does it extend or modify existing functionality?
Service : ServiceNameService
Package : cards.arda.operations.<domain>.<module>
Repository : operations
Area Impact Level Description API Contract None / Additive / Breaking How does this affect the REST API? Database Schema None / Migration Required Schema changes needed? Existing Tests None / Updates Required Which tests need modification? Client Applications None / Optional Update / Required Update Frontend/integration impact?
Document Relevance Original Service Requirements Baseline service specification Domain Specification Entity and behavior definitions Feature Requirements Business requirements driving this change
Document Relevance Current Implementation Existing service code Entity Definition Current entity structure Persistence Layer Current database mapping
Current Properties (properties being modified or relevant to change):
Property Current Type Current Behavior property Type Current behavior
Current Signature : suspend fun methodName(params): Result<ReturnType>
Current Behavior Summary : Brief description of what the method currently does.
Current Behavior by Qualifier :
Qualifier Current Behavior LAX Current LAX behavior STRICT Current STRICT behavior PROPAGATE Current PROPAGATE behavior
Change Type : Add Property | Modify Property | Remove Property | Add Validation
Property Type Required Default Change Description property Type Yes/No default NEW Description
Rule ID Condition Error Change VR-NEW-001 condition AppError.TypeNEW
Concern Mitigation Existing records without new field Default value applied Clients not sending new field Field is optional in API layer
Change Reason : Why this modification is needed
Qualifier Current Behavior New Behavior Change Reason LAX Current New Why STRICT Current New Why PROPAGATE Current New Why
Condition Error Type Message Change Condition AppError.Type”message ” NEW / MODIFY
Signature : suspend fun newMethodName(params): Result<ReturnType>
Purpose : What this new method accomplishes
Parameter Type Required Description param Type Yes/No Description
Qualifier Behavior LAX Behavior STRICT Behavior PROPAGATE Behavior
Migration File : V<version>__<description>.sql
Flyway Location : operations/src/main/resources/migration/
Table Column Change Type Nullable Default Notes table column ADD type Yes/No default Notes
ALTER TABLE <table> DROP COLUMN < column > ;
Test File Test Name Modification Required TestFile.kttestName What needs to change
Test ID Description Validates UT-NEW-001 Test description EM-XXX-001
Test ID Description Setup Validates IT-NEW-001 Test description Setup requirements PC-XXX-001
Test ID Description Endpoint Validates AT-NEW-001 Test description METHOD /...AC-XXX-001
Deploy database migration
Deploy backend service
Update frontend clients (if required)
Scenario Action Migration failure Rollback steps Service failure Rollback steps
ID Category Change Type Description Status EM-XXX-001 Entity Modification MODIFY Modify EntityName Proposed MM-XXX-001 Method Modification MODIFY Modify methodName Proposed PC-XXX-001 Persistence Change MIGRATION Schema migration Proposed
ID Question Owner Status Resolution Q-001 Question text Person Open/Resolved Answer when resolved
Version Date Author Changes 1.0.0 YYYY-MM-DD Author Initial draft