Record Class DesignDecisionRecord

java.lang.Object
java.lang.Record
com.eqixiac.equinix.design.record.DesignDecisionRecord
Record Components:
schemaVersion - the record format version ("1")
title - the record's title
status - the decision's status (for example Proposed, Accepted)
generatedAt - when the record was produced
sdkVersion - the SDK version that produced it
specFingerprint - the spec's fingerprint()
spec - the spec the record is about
context - 1. context and requirements, restated from the spec
decision - 2. the recommended portfolio, its placement and its objective values and scores
alternatives - 3. the Pareto frontier and what each option trades away; what the constraints rejected
sensitivity - 4. how far the weights can move before the decision changes
cost - 5. priced lines, currency conversions, term and growth view, TCO and savings
resilience - 6. failure simulation: N-1 / N-2, single points of failure, availability, remediation
risks - 7. every engine's findings, de-duplicated, most severe first
provenance - 8. assumptions, data notes and as-of dates
implementation - 9. the deployment plan summary and how to reproduce the record

A Design Decision Record: what was decided for a DesignSpec, why, on what evidence, and what would change the decision. Produced by DesignDecisionRecorder; immutable; round-trips through JSON (toJson(), fromJson(String)); renders as an ADR-style Markdown document (toMarkdown()); two records of the same design can be diffed (compare(DesignDecisionRecord, DesignDecisionRecord)).

Every section is a RecordSection: included, or skipped or failed with the reason. Figures keep their provenance: each cost line says whether it is a live price, a reference figure or an estimate; availability is computed from planning assumptions, not SLAs; latency counts say how many figures were measured.