Skip to content

Commit f3545f4

Browse files
authored
Merge pull request #2 from Coding-Autopilot-System/codex/implement-features-as-per-codex-instructions-1lu8m6
Embed mermaid visuals in core docs
2 parents c74a526 + bfc612e commit f3545f4

20 files changed

Lines changed: 512 additions & 0 deletions

CODEX_INSTRUCTIONS.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Tone: crisp, enterprise, practical. Avoid buzzword soup. Prefer clear boundaries
2424
- Include runbooks, SLAs/SLOs, incident response playbooks, change management, exception handling, risk acceptance.
2525
- Include a CI workflow that checks markdown, mermaid syntax, and link validity (best-effort).
2626
- Everything must be public-safe: no secrets, no internal URLs, no real tenant IDs.
27+
- Every major document must be complete, non-placeholder, and cross-linked to related docs and diagrams.
2728

2829
## 1) Output format requirements
2930
- Use Markdown for documentation (`docs/`).
@@ -32,6 +33,7 @@ Tone: crisp, enterprise, practical. Avoid buzzword soup. Prefer clear boundaries
3233
- Use JSON for Azure Policy stubs.
3334
- Use HTML/CSS for `/site` static docs with a simple nav and search (JS optional).
3435
- Provide consistent naming, cross-links, and an index.
36+
- Avoid inline newline escapes like `\n` in Markdown lists.
3537

3638
## 2) Repo name + branding
3739
Repo title: `cloud-security-service-model`
@@ -167,6 +169,23 @@ Tagline: “A pragmatic, enterprise Cloud Security service operating model (Azur
167169
okrs.md
168170
kpi-cadence.md
169171

172+
docs/
173+
site/
174+
README.md
175+
index.html
176+
assets/
177+
style.css
178+
app.js
179+
pages/
180+
overview.html
181+
service-definition.html
182+
operating-model.html
183+
architecture.html
184+
kpis.html
185+
roadmap.html
186+
runbooks.html
187+
templates.html
188+
hybrid.html
170189
site/
171190
README.md
172191
index.html
@@ -238,6 +257,7 @@ Tagline: “A pragmatic, enterprise Cloud Security service operating model (Azur
238257
- privileged access exposure (PIM activations, standing admins)
239258
- misconfiguration trend rate
240259
- backup restore test success rate
260+
- Add a brief SLA/SLO section with targets for core service capabilities.
241261
- Include a sample dashboard mock (markdown table) and a “metrics anti-patterns” section
242262

243263
### docs/08-roadmap-and-maturity.md
@@ -381,6 +401,7 @@ Keep it stable and not overcomplicated.
381401
- docs index in README
382402
- Each doc includes “Related docs” at bottom
383403
- Diagrams referenced from relevant docs
404+
- Each diagram should be referenced by at least one doc and the related doc should mention the diagram.
384405

385406
## 12) Quality bar
386407
- No fluff. Every section must answer: “what is it, who owns it, how does it work, how is success measured, how does it improve”.
@@ -392,6 +413,7 @@ Keep it stable and not overcomplicated.
392413
- “Evidence” (audit artifacts)
393414
- Prefer explicit tables (RACI, KPIs, cadences, responsibilities).
394415
- Include “anti-patterns” sections to show maturity (e.g., security as blocker, PDF policies, hero culture).
416+
- Ensure Markdown content is lint-friendly and free of formatting artifacts.
395417

396418
## 13) Execution steps (what you should do now)
397419
1) Create all files and folders above.

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ interfaces, measurable outcomes, and lifecycle management across Azure and hybri
4747
- Runbooks: [`docs/20-runbooks/README.md`](docs/20-runbooks/README.md)
4848
- Templates: [`docs/21-templates/README.md`](docs/21-templates/README.md)
4949
- Diagrams: [`docs/22-diagrams/README.md`](docs/22-diagrams/README.md)
50+
- Static site: [`docs/site/index.html`](docs/site/index.html)
5051
- Static site: [`site/index.html`](site/index.html)
5152

5253
## Service lifecycle (preview)
@@ -68,6 +69,7 @@ graph LR
6869
[`docs/00-executive-overview.md`](docs/00-executive-overview.md).
6970

7071
## Using the static site
72+
Open [`docs/site/index.html`](docs/site/index.html) to browse a minimal HTML version of the content with navigation and search.
7173
Open [`site/index.html`](site/index.html) to browse a minimal HTML version of the content with navigation and search.
7274

7375
## Repo structure

docs/00-executive-overview.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,17 @@ predictability.
3030
- Risk & audit readiness
3131
- Hybrid posture management
3232

33+
## Service lifecycle (visual)
34+
```mermaid
35+
flowchart LR
36+
A[Discover Demand] --> B[Define Service]
37+
B --> C[Design Controls]
38+
C --> D[Build Controls as Code]
39+
D --> E[Operate & Monitor]
40+
E --> F[Measure & Improve]
41+
F --> B
42+
```
43+
3344
## Documentation index
3445
- [`01-service-definition.md`](01-service-definition.md)
3546
- [`02-service-catalog.md`](02-service-catalog.md)

docs/04-reference-architecture.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,18 @@ logging/monitoring services. It supports Azure and hybrid assets via Azure Arc.
1717
3. Logs are forwarded to SIEM for detection and response.
1818
4. Evidence is stored and mapped to controls.
1919

20+
## Shared responsibility (visual)
21+
```mermaid
22+
flowchart LR
23+
A[Cloud Provider] --> B[Physical Security]
24+
A --> C[Hypervisor]
25+
A --> D[Core Services]
26+
E[Customer] --> F[Identity]
27+
E --> G[Data]
28+
E --> H[Configuration]
29+
E --> I[Applications]
30+
```
31+
2032
## Diagram
2133
Shared responsibility overview: [`22-diagrams/shared-responsibility.mmd`](22-diagrams/shared-responsibility.mmd)
2234

docs/05-operating-model.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,15 @@ The Cloud Security Service operates in a continuous lifecycle:
88
- **Run:** monitoring, incident response, compliance reporting.
99
- **Improve:** retrospectives, KPI review, maturity evolution.
1010

11+
## Operating model (visual)
12+
```mermaid
13+
flowchart LR
14+
A[Plan] --> B[Build]
15+
B --> C[Run]
16+
C --> D[Improve]
17+
D --> A
18+
```
19+
1120
## Diagram
1221
See the lifecycle model diagram: [`22-diagrams/security-operating-model.mmd`](22-diagrams/security-operating-model.mmd)
1322

docs/16-logging-monitoring-siem.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,16 @@
1313
## Hybrid logging
1414
Azure Arc-enabled servers forward logs to centralized SIEM with consistent tags and retention.
1515

16+
## Hybrid logging architecture (visual)
17+
```mermaid
18+
flowchart LR
19+
A[Azure Resources] --> B[Log Analytics]
20+
C[Arc-enabled Servers] --> B
21+
D[Azure Local] --> E[Log Forwarder]
22+
E --> B
23+
B --> F[SIEM]
24+
```
25+
1626
## Diagram
1727
Hybrid logging architecture: [`22-diagrams/hybrid-logging-architecture.mmd`](22-diagrams/hybrid-logging-architecture.mmd)
1828

docs/19-devsecops-pipelines.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,16 @@ steps:
3737
run: ./tools/policy-validate.sh
3838
```
3939
40+
## Policy-as-code loop (visual)
41+
```mermaid
42+
flowchart LR
43+
A[Author] --> B[Test]
44+
B --> C[Deploy]
45+
C --> D[Monitor Drift]
46+
D --> E[Fix]
47+
E --> A
48+
```
49+
4050
## Diagram
4151
Policy-as-code lifecycle: [`22-diagrams/policy-as-code-loop.mmd`](22-diagrams/policy-as-code-loop.mmd)
4252

docs/site/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Static Site
2+
3+
Open `index.html` to view a lightweight HTML version of the documentation with navigation and search.

docs/site/assets/app.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
const pages = [
2+
{ title: "Overview", href: "pages/overview.html" },
3+
{ title: "Service Definition", href: "pages/service-definition.html" },
4+
{ title: "Operating Model", href: "pages/operating-model.html" },
5+
{ title: "Architecture", href: "pages/architecture.html" },
6+
{ title: "KPIs", href: "pages/kpis.html" },
7+
{ title: "Roadmap", href: "pages/roadmap.html" },
8+
{ title: "Runbooks", href: "pages/runbooks.html" },
9+
{ title: "Templates", href: "pages/templates.html" },
10+
{ title: "Hybrid", href: "pages/hybrid.html" }
11+
];
12+
13+
function buildNav() {
14+
const nav = document.getElementById("nav-links");
15+
pages.forEach((page) => {
16+
const link = document.createElement("a");
17+
link.href = page.href;
18+
link.textContent = page.title;
19+
nav.appendChild(link);
20+
});
21+
}
22+
23+
function setupSearch() {
24+
const input = document.getElementById("search");
25+
if (!input) return;
26+
input.addEventListener("input", (event) => {
27+
const query = event.target.value.toLowerCase();
28+
const results = pages.filter((page) =>
29+
page.title.toLowerCase().includes(query)
30+
);
31+
const nav = document.getElementById("nav-links");
32+
nav.innerHTML = "";
33+
results.forEach((page) => {
34+
const link = document.createElement("a");
35+
link.href = page.href;
36+
link.textContent = page.title;
37+
nav.appendChild(link);
38+
});
39+
});
40+
}
41+
42+
buildNav();
43+
setupSearch();

docs/site/assets/style.css

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
:root {
2+
--bg: #f7f9fb;
3+
--text: #1f2933;
4+
--nav: #ffffff;
5+
--accent: #0b5cab;
6+
}
7+
8+
* {
9+
box-sizing: border-box;
10+
}
11+
12+
body {
13+
margin: 0;
14+
font-family: Arial, sans-serif;
15+
color: var(--text);
16+
background: var(--bg);
17+
}
18+
19+
header {
20+
background: var(--nav);
21+
padding: 1rem 1.5rem;
22+
border-bottom: 1px solid #e0e6ed;
23+
}
24+
25+
.container {
26+
display: flex;
27+
min-height: calc(100vh - 60px);
28+
}
29+
30+
nav {
31+
width: 260px;
32+
background: var(--nav);
33+
border-right: 1px solid #e0e6ed;
34+
padding: 1rem;
35+
}
36+
37+
main {
38+
flex: 1;
39+
padding: 2rem;
40+
}
41+
42+
nav a {
43+
display: block;
44+
color: var(--text);
45+
text-decoration: none;
46+
padding: 0.4rem 0;
47+
}
48+
49+
nav a:hover {
50+
color: var(--accent);
51+
}
52+
53+
.search {
54+
margin-bottom: 1rem;
55+
}
56+
57+
.search input {
58+
width: 100%;
59+
padding: 0.5rem;
60+
border: 1px solid #ccd6e0;
61+
border-radius: 4px;
62+
}
63+
64+
.card {
65+
background: white;
66+
padding: 1rem;
67+
border-radius: 6px;
68+
border: 1px solid #e0e6ed;
69+
margin-bottom: 1rem;
70+
}
71+
72+
@media (max-width: 900px) {
73+
.container {
74+
flex-direction: column;
75+
}
76+
77+
nav {
78+
width: 100%;
79+
}
80+
}

0 commit comments

Comments
 (0)