Level 1 — Assessment Test: Crestwood Underwriting¶
Instructions¶
A colleague has set up the configuration for a new client, Crestwood Underwriting, and has asked you to review it before it is promoted to Dev.
Crestwood is an Open Market only client writing a single business class: Aviation Hull (AV). They have no rating integration, no referral workflow, and no DUA or MGA business.
Your job is to review the configuration extracts below and identify every problem you can find. For each issue you find, you must:
- State what the problem is
- Explain why it is a problem (what will go wrong)
- State what the correct configuration should be
There are 12 issues in total. Finding 10 or more is a pass. Finding fewer than 8 is a fail.
Tip
Work through the extracts in order. Some issues are obvious, some require you to cross-reference between files.
Note
The JSON shapes shown in the extracts are illustrative for the purposes of this exercise. In a real repository some field names (e.g. the exact shape of role entries, pipeline wiring keys) vary by platform version — focus on the doctrinal issues (domain separation, secrets, naming, lifecycle coverage, ordering) rather than memorising literal field names.
Extract 1 — config/crestwood/applicationconfig/be_config.json¶
{
"homePartyId": "urn:duns:000000000",
"awsAccessKeyId": "AKIAIOSFODNN7EXAMPLE",
"awsSecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"featureSwitches": {
"enableSmartSubmissions": true,
"enableAssetManagement": false
},
"roles": [
{
"roleId": "underwriter",
"displayName": "Underwriter",
"permissions": ["ALL"],
"authorityCurrency": "USD",
"authorityLimit": 500000
},
{
"roleId": "senior_uw",
"displayName": "Senior Underwriter",
"permissions": ["ALL"],
"authorityCurrency": "USD",
"authorityLimit": 2000000
}
]
}
Extract 2 — Repository root file listing¶
config/
crestwood/
applicationconfig/
be_config.json
business-class/
AV.json
DUA-CH.json
actions/
av/
marine_open_market.json
pipelines/
av_bind.json
av_quote.json
document-templates/
av_quote_slip.html
dua/
coverholder_config.json
bordereau_rules.json
dynamodb/
dev/
data.json
master_submission_config.json
dec_submission_config.json
Extract 3 — config/crestwood/actions/av/marine_open_market.json¶
{
"businessClassCode": "AV",
"placingType": "OPEN_MARKET",
"initialPipeline": [
{
"stepName": "auto_appetite",
"componentType": "RULES_ENGINE",
"rulesFile": "appetite_rules.json"
},
{
"stepName": "clearance",
"componentType": "SEND_AND_RECEIVE_VIA_REST",
"endpoint": "https://dev.crestwood.send.technology/clearance-check"
},
{
"stepName": "sanctions_check",
"componentType": "SEND_AND_RECEIVE_VIA_REST",
"endpoint": "${clientRestBaseUrl}/sanctions"
}
],
"subStatusPipelines": {
"STP_QUOTE": {
"pipeline": "av_quote.json"
},
"STP_REFERRAL": {
"pipeline": "av_referral.json"
}
},
"statusMappings": {
"STP_QUOTE": {
"targetStatus": "QUOTED"
}
},
"completionPipeline": null
}
Extract 4 — config/crestwood/pipelines/av_bind.json¶
{
"pipelineName": "av_bind",
"steps": [
{
"stepName": "generate_policy_document",
"componentType": "DOCUMENT_GENERATION",
"templateFile": "av_policy.html"
},
{
"stepName": "confirm_bind",
"componentType": "SEND_REST",
"endpoint": "${clientRestBaseUrl}/bind-confirm"
}
]
}
Answer Sheet¶
Use the table below to record your findings. Add rows as needed.
| # | File / Location | Issue | Why it's a problem | Correct configuration |
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 | ||||
| ... |