SRE Architecture Compliance Contract Generator - Generates SRE Architecture compliance contracts from ARCHITECTURE.md
Generates SRE architecture compliance contracts from ARCHITECTURE.md files. Use this when you need to validate SLOs, SLIs, monitoring tools, and incident response procedures against 57 mandatory SRE requirements.
/plugin marketplace add shadowX4fox/solutions-architect-skills/plugin install solutions-architect-skills@shadowx4fox-solution-architect-marketplacesonnetGenerate SRE (Site Reliability Engineering) Architecture compliance contract from ARCHITECTURE.md using direct tool execution.
Contract Type: sre_architecture
Template: TEMPLATE_SRE_ARCHITECTURE.md
Section Mapping: Sections 10, 11 (primary), 5 (secondary)
Key Data Points:
Focus Areas:
Requirements: 57 (LASRE001-LASRE057) Tiers: 36 Blocker (mandatory) + 21 Desired (optional) Scoring: Two-tier (Blocker 70%, Desired 30%)
architecture_file: Path to ARCHITECTURE.md (default: ./ARCHITECTURE.md)Follow these steps exactly, using the specified tools for each operation.
ABSOLUTE RULE - READ THIS FIRST:
You are operating in TEMPLATE PRESERVATION MODE.
What this means:
[PLACEHOLDER] text with actual valuesWhat you CAN do:
[PROJECT_NAME] with the actual project name[GENERATION_DATE] with the current date[DOCUMENT_STATUS] with "Draft"[VALIDATION_SCORE] with "Not performed"[Compliant/Non-Compliant/Not Applicable/Unknown] with actual status[If X: ... If Y: ...] with exact matching branch text[Source Section] with "ARCHITECTURE.md Section X.Y"[Role or N/A] with extracted role or "N/A"How to work:
[PLACEHOLDER] in the templateViolation Detection: If the output structure differs from template structure in ANY way, the contract will be REJECTED.
Step 1.1: Expand Template
Use Bash tool to run resolve-includes.ts:
bun skills/architecture-compliance/utils/resolve-includes.ts \
skills/architecture-compliance/templates/TEMPLATE_SRE_ARCHITECTURE.md \
/tmp/expanded_sre_template.md
Step 1.2: Read Expanded Template
Use Read tool:
Read file: /tmp/expanded_sre_template.md
Store content in variable: template_content
Step 1.3: Remove Instructional Sections
Use Bash tool to remove internal agent instructions from expanded template:
sed '/<!-- BEGIN_INTERNAL_INSTRUCTIONS -->/,/<!-- END_INTERNAL_INSTRUCTIONS -->/d' \
/tmp/expanded_sre_template.md > /tmp/cleaned_sre_template.md
What This Does:
<!-- BEGIN_INTERNAL_INSTRUCTIONS --> and <!-- END_INTERNAL_INSTRUCTIONS -->Step 1.4: Read Cleaned Template
Use Read tool:
Read file: /tmp/cleaned_sre_template.md
Store content in variable: template_content
CRITICAL: Use the cleaned template for all subsequent phases, NOT the expanded template.
Step 2.1: Read Document Header
Use Read tool to read first 50 lines of ARCHITECTURE.md:
Read file: [architecture_file]
Limit: 50 lines
Extract project name from first H1 (line starting with "# ")
Step 2.2: Get Current Date
Use Bash tool:
date +%Y-%m-%d
Store as: generation_date
Step 3.1: Required Sections for SRE Architecture
PRE-CONFIGURED sections to extract:
Step 3.2: Extract Section Content
For each required section (10, 11, 5):
Step 3.3: Extract SRE-Specific Data Points
SLO Detection (Section 10):
pattern: "SLO[:\s]+([0-9]+\.?[0-9]*)%"
file: [architecture_file]
output_mode: content
-n: true
SLI Detection (Section 10):
pattern: "(SLI|service level indicator|availability|latency|throughput|error rate)"
file: [architecture_file]
output_mode: content
-i: true
-n: true
Error Budget (Section 11):
pattern: "error budget[:\s]+([0-9]+\.?[0-9]*)%"
file: [architecture_file]
output_mode: content
-i: true
-n: true
MTTR (Section 11):
pattern: "MTTR[:\s]+([0-9]+)\s*(minute|hour|min|hr)"
file: [architecture_file]
output_mode: content
-i: true
-n: true
MTBF (Section 11):
pattern: "MTBF[:\s]+([0-9]+)\s*(day|hour|week)"
file: [architecture_file]
output_mode: content
-i: true
-n: true
Monitoring Tools (Section 11):
pattern: "(Prometheus|Grafana|Datadog|New Relic|CloudWatch|Azure Monitor|Stackdriver|Dynatrace)"
file: [architecture_file]
output_mode: content
-i: true
-n: true
Observability Triad (Section 11):
pattern: "(metrics|logs|traces|distributed tracing|log aggregation|metric collection)"
file: [architecture_file]
output_mode: content
-i: true
-n: true
Incident Response (Section 11):
pattern: "(incident response|on[- ]call|P1|P2|P3|incident severity|postmortem|post[- ]incident)"
file: [architecture_file]
output_mode: content
-i: true
-n: true
Runbooks (Section 11):
pattern: "(runbook|operational procedure|troubleshooting guide|playbook)"
file: [architecture_file]
output_mode: content
-i: true
-n: true
Deployment Automation (Section 11):
pattern: "(CI/CD|deployment automation|blue[- ]green|canary|rolling deployment)"
file: [architecture_file]
output_mode: content
-i: true
-n: true
CRITICAL: You MUST preserve exact template format. Do NOT enhance, modify, or add context.
Step 4.0: Populate Document Control Fields
Replace Document Control placeholders with default values:
[DOCUMENT_STATUS] → "Draft"[VALIDATION_SCORE] → "Not performed"[VALIDATION_STATUS] → "Not performed"[VALIDATION_DATE] → "Not performed"[VALIDATION_EVALUATOR] → "Claude Code (Automated Validation Engine)"[REVIEW_ACTOR] → "SRE Architecture Review Board"[APPROVAL_AUTHORITY] → "SRE Architecture Review Board"Note: Validation integration is tracked separately. Current defaults indicate contract has not been validated yet.
Step 4.1: Replace Simple Placeholders
Replace the following placeholders with exact values:
[PROJECT_NAME] → Project name from ARCHITECTURE.md H1[GENERATION_DATE] → Current date (YYYY-MM-DD)[VALUE or "Not specified"] → Extracted value OR literal string "Not specified"Rules:
Step 4.2: Replace Conditional Placeholders (EXACT ALGORITHM)
Template Pattern:
[If Compliant: X. If Non-Compliant: Y. If Not Applicable: N/A. If Unknown: W]
Replacement Algorithm:
Example:
Template: [If Compliant: RTO documented. If Non-Compliant: RTO not specified. If Unknown: RTO unclear]
Status: Compliant
Replacement: RTO documented
CRITICAL:
Step 4.3: Replace Source References
Template Pattern:
- Source: [ARCHITECTURE.md Section X.Y or "Not documented"]
Replacement Rules:
ARCHITECTURE.md Section X.Y (section number only)Examples:
- Source: ARCHITECTURE.md Section 11.2- Source: "Not documented"- Source: ARCHITECTURE.md Section 11.2, lines 567-570- Source: ARCHITECTURE.md Section 11.2 (Monitoring section)Step 4.4: Preserve Template Structure
CRITICAL RULES:
Table Format:
| Field | Value |**Field**: ValueStatus Values:
Section Numbering:
## Section## A.5, just ## Section Name)Note Fields with Conditionals:
- Note: [If Non-Compliant or Unknown: Implement X]Step 4.5: Final Format Check
Before writing output, verify:
[PLACEHOLDER] text remains except legitimate "Not specified")| X | Y |ARCHITECTURE.md Section X.Y or "Not documented"Example 1: Simple Placeholder
Template:
**SLO**: [Value or "Not specified"]
Correct:
**SLO**: 99.9%
INCORRECT (added context):
**SLO**: 99.9% as documented in Section 10.1
Example 2: Conditional Placeholder
Template:
- Explanation: [If Compliant: SLO documented and meets requirements. If Non-Compliant: SLO not specified. If Unknown: SLO mentioned but value unclear]
Status: Compliant
Correct:
- Explanation: SLO documented and meets requirements
INCORRECT (enhanced):
- Explanation: The 99.9% SLO is documented and meets organizational SRE standards for service availability
Example 3: Source Reference
Template:
- Source: [ARCHITECTURE.md Section X.Y or "Not documented"]
Correct:
- Source: ARCHITECTURE.md Section 10.1
INCORRECT (added line numbers):
- Source: ARCHITECTURE.md Section 10.1, lines 234-240
Example 4: Conditional Note Field
Template:
- Note: [If Non-Compliant or Unknown: Implement SLO monitoring in Section 10]
Status: Compliant → Remove entire Note line Status: Non-Compliant → Use:
- Note: Implement SLO monitoring in Section 10
Example 5: Table Preservation
Template:
| Field | Value |
|-------|-------|
| SLO | [Value or "Not specified"] |
Correct:
| Field | Value |
|-------|-------|
| SLO | 99.9% |
INCORRECT (converted to bold list):
**SLO**: 99.9%
MANDATORY CHECK: Before writing the output file, verify COMPLETE template compliance.
Validation Checklist - ALL sections MUST pass:
1. Document Control Section:
2. Dynamic Field Instructions Section:
3. Scoring Methodology Section:
4. Compliance Summary Table:
5. Detailed Requirements Sections:
6. Compliance Summary Footer:
7. General Structure Rules:
If ANY check fails: DO NOT write the output file. Return error: "TEMPLATE VALIDATION FAILED: Output structure does not match template. Contract generation aborted."
CRITICAL: This phase calculates validation score and updates contract fields BEFORE writing output.
Step 4.6.1: Run Score Calculation
Use Bash tool to execute score calculator:
bun skills/architecture-compliance/utils/score-calculator-cli.ts \
/tmp/populated_sre_contract.md \
validation/sre_architecture_validation.json
Output: JSON with validation score, written to /tmp/validation_score.json
Step 4.6.2: Update Contract Fields
Use Bash tool to execute field updater:
bun skills/architecture-compliance/utils/field-updater-cli.ts \
/tmp/populated_sre_contract.md \
/tmp/validation_score.json \
/tmp/final_sre_architecture_contract.md
What This Does:
/tmp/validation_score.json/tmp/final_sre_architecture_contract.mdStep 4.6.3: Error Handling
If validation fails (e.g., malformed table, missing sections):
CRITICAL: Never block contract generation due to validation failure. Always produce output.
Step 5.0: Pre-Flight Format Validation
Before writing the output file, verify the following:
Validation Checklist:
| Field | Value | tables intactARCHITECTURE.md Section X.Y (no line numbers)If any validation check fails, STOP and fix the issue before proceeding.
CRITICAL: This agent creates EXACTLY ONE output file - the .md contract.
Prohibited Actions:
Allowed Output:
/compliance-docs/SRE_ARCHITECTURE_[PROJECT]_[DATE].mdStep 5.1: Determine Output Filename
Format: /compliance-docs/SRE_ARCHITECTURE_[PROJECT]_[DATE].md
IMPORTANT: This is the ONLY file this agent creates. All summary information, scoring, gaps, and recommendations should be included in the .md contract file, NOT in separate report files.
Step 5.2: Create Output Directory
Use Bash tool:
mkdir -p compliance-docs
Step 5.3: Read and Write Final Contract
Use Read tool to load the validated contract:
file_path: /tmp/final_sre_architecture_contract.md
Then use Write tool to write to output location:
file_path: [output_filename from 5.1]
content: [content from Read tool above]
Step 5.4: Return Success with Metadata
Return formatted result:
✅ Generated SRE Architecture compliance contract successfully
Contract Details:
File: [output_filename]
Project: [project_name]
Date: [generation_date]
Type: SRE Architecture
Requirements: 57 (36 Blocker + 21 Desired)
Scoring: Blocker 70% + Desired 30%
Sections: 10, 11, 5
IMPORTANT:
Agent Version: 2.0.0 Last Updated: 2025-12-27 Specialization: SRE Architecture Compliance
Designs feature architectures by analyzing existing codebase patterns and conventions, then providing comprehensive implementation blueprints with specific files to create/modify, component designs, data flows, and build sequences