Updates to molecule-algebra.md: - Added Formulas and Cooking section - Four-tier model: Formula → cook → Proto → pour/wisp → Mol/Wisp - Breaking Bad × Mad Max naming (Let's cook!) - Updated vision diagram New example formulas: - shiny.formula.yaml (Engineer in a Box) - rule-of-five.formula.yaml (Jeffrey's Rule expansion macro) - security-audit.formula.yaml (AOP aspect) - shiny-enterprise.formula.yaml (composed example)
67 lines
1.8 KiB
YAML
67 lines
1.8 KiB
YAML
# shiny-enterprise.formula.yaml
|
|
# Full enterprise engineering workflow with all the bells and whistles
|
|
|
|
formula: shiny-enterprise
|
|
extends: shiny
|
|
description: |
|
|
Enterprise-grade engineering workflow.
|
|
|
|
Builds on Shiny with:
|
|
- Rule of Five on implementation (5x refinement)
|
|
- Security scanning (pre and post)
|
|
- Performance testing branch
|
|
- Review loop until approved
|
|
- Full logging
|
|
|
|
Cook this to get a ~30 step proto ready for serious work.
|
|
version: 1
|
|
|
|
compose:
|
|
# Apply Rule of Five to the implement step
|
|
# This expands implement → 5 steps: draft, refine-1..4
|
|
- expand:
|
|
target: implement
|
|
with: rule-of-five
|
|
|
|
# Apply security aspect to all implementation steps
|
|
# Adds security-prescan before and security-postscan after
|
|
- aspect:
|
|
pointcut: "implement.*"
|
|
with: security-audit
|
|
|
|
# Gate on security approval before submit
|
|
- gate:
|
|
before: submit
|
|
condition: "security-postscan.approved == true"
|
|
message: "Cannot submit without security approval"
|
|
|
|
# Parallel performance testing branch
|
|
# These run in parallel after implementation, before review
|
|
- branch:
|
|
from: implement.refine-4
|
|
steps:
|
|
- id: perf-test
|
|
description: Run performance benchmarks
|
|
- id: load-test
|
|
description: Run load/stress tests
|
|
- id: chaos-test
|
|
description: Run chaos engineering tests (fault injection)
|
|
join: review
|
|
|
|
# Loop review until approved (max 3 attempts)
|
|
- loop:
|
|
step: review
|
|
until: "review.output.approved == true"
|
|
max: 3
|
|
on-max: escalate
|
|
|
|
# Logging on all steps (AOP-style advice)
|
|
- advice:
|
|
target: "*"
|
|
before:
|
|
- id: log-start
|
|
description: "Log: Starting {step.id}"
|
|
after:
|
|
- id: log-end
|
|
description: "Log: Completed {step.id} with status {step.status}"
|