Special Complex Blocks
Scapius DSL provides four specialized, structured block constructs to capture multi-faceted architectural metadata without ad-hoc key-value sprawl.
1. lifecycle Block
The lifecycle block captures time horizons, deployment phases, and deprecation schedules for capabilities, systems, and applications.
Syntax
lifecycle {
phase Plan | Build | Run | Retire start "YYYY-MM-DD" (end "YYYY-MM-DD")?
}
The preferred and canonical syntax is to declare all phase properties on a single line:
phase Run start "2000-01-01" end "2001-10-01"
Declaring phase properties across multiple lines will trigger a linter style warning.
Constraints & Rules
startdate is mandatory and must follow ISO-8601 format ("YYYY-MM-DD").enddate (if provided) must be chronologically on or after thestartdate.- Supported phases:
Plan,Build,Run,Retire.
Example
system sys_core_payment "NextGen Payment Engine" {
lifecycle {
phase Build start "2024-03-01" end "2025-06-30"
}
}
2. score Block (TIME & Strategic Assessment)
The score block models strategic prioritization metrics across business value and technical health.
Syntax
score {
business_value <1-10>
tech_fit <1-10>
}
Constraints & Rules
business_value: Numeric score from1(low value) to10(highest critical value).tech_fit: Numeric score from1(poor legacy fit) to10(modern cloud-native fit).
Example
capability cap_wealth_management "Wealth Advisory" {
score {
business_value 9
tech_fit 7
}
}
3. security Block (CIA Triad)
The security block defines the required Confidentiality, Integrity, and Availability impact levels under FIPS 199 / ISO 27001 guidelines.
Syntax
security {
confidentiality Low | Medium | High | Critical
integrity Low | Medium | High | Critical
availability Low | Medium | High | Critical
}
Example
data_object data_pan_vault "Cardholder PAN Vault" {
security {
confidentiality Critical
integrity Critical
availability High
}
}
4. cost Declarations
The cost statement records operational, license, or hosting spend.
Shorthand Form
cost 50000 month
cost 600000 year
Block Form
cost {
amount 50000
unit month
}