arkaos 2.17.1 → 2.17.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/VERSION +1 -1
  2. package/arka/SKILL.md +9 -67
  3. package/arka/skills/comfyui/SKILL.md +50 -12
  4. package/arka/skills/conclave/SKILL.md +43 -141
  5. package/arka/skills/conclave/references/advisors.md +36 -0
  6. package/arka/skills/human-writing/SKILL.md +15 -100
  7. package/arka/skills/human-writing/references/forbidden-patterns.md +32 -0
  8. package/config/hooks/post-tool-use.sh +72 -0
  9. package/config/hooks/session-start.sh +16 -0
  10. package/config/hooks/user-prompt-submit.ps1 +2 -2
  11. package/config/hooks/user-prompt-submit.sh +102 -26
  12. package/core/agents/__pycache__/behavior_enforcer.cpython-313.pyc +0 -0
  13. package/core/agents/__pycache__/dna_registry.cpython-313.pyc +0 -0
  14. package/core/agents/adapters/__pycache__/disc_adapter.cpython-313.pyc +0 -0
  15. package/core/agents/adapters/disc_adapter.py +149 -0
  16. package/core/agents/behavior_enforcer.py +255 -0
  17. package/core/agents/dna_registry.py +235 -0
  18. package/core/forge/__init__.py +36 -0
  19. package/core/forge/__pycache__/__init__.cpython-313.pyc +0 -0
  20. package/core/forge/__pycache__/orchestrator.cpython-313.pyc +0 -0
  21. package/core/forge/__pycache__/runtime_dispatcher.cpython-313.pyc +0 -0
  22. package/core/forge/orchestrator.py +770 -0
  23. package/core/forge/runtime_dispatcher.py +465 -0
  24. package/core/governance/__pycache__/quality_api.cpython-313.pyc +0 -0
  25. package/core/governance/__pycache__/quality_router.cpython-313.pyc +0 -0
  26. package/core/governance/__pycache__/review_workflow.cpython-313.pyc +0 -0
  27. package/core/governance/quality_api.py +280 -0
  28. package/core/governance/quality_router.py +304 -0
  29. package/core/governance/review_workflow.py +386 -0
  30. package/core/memory/__pycache__/compressor.cpython-313.pyc +0 -0
  31. package/core/memory/__pycache__/rehydrator.cpython-313.pyc +0 -0
  32. package/core/memory/__pycache__/session_store.cpython-313.pyc +0 -0
  33. package/core/memory/compressor.py +269 -0
  34. package/core/memory/rehydrator.py +204 -0
  35. package/core/memory/session_store.py +256 -0
  36. package/core/runtime/__pycache__/context_compactor.cpython-313.pyc +0 -0
  37. package/core/runtime/__pycache__/subagent.cpython-313.pyc +0 -0
  38. package/core/synapse/__init__.py +10 -3
  39. package/core/synapse/__pycache__/__init__.cpython-313.pyc +0 -0
  40. package/core/synapse/__pycache__/engine.cpython-313.pyc +0 -0
  41. package/core/synapse/__pycache__/kb_cache.cpython-313.pyc +0 -0
  42. package/core/synapse/__pycache__/layers.cpython-313.pyc +0 -0
  43. package/core/synapse/engine.py +27 -16
  44. package/core/synapse/kb_cache.py +382 -0
  45. package/core/synapse/layers.py +253 -50
  46. package/core/sync/__pycache__/self_healing.cpython-313.pyc +0 -0
  47. package/core/workflow/__pycache__/announcer.cpython-313.pyc +0 -0
  48. package/core/workflow/__pycache__/dashboard.cpython-313.pyc +0 -0
  49. package/core/workflow/__pycache__/enforcer.cpython-313.pyc +0 -0
  50. package/core/workflow/__pycache__/rules_registry.cpython-313.pyc +0 -0
  51. package/core/workflow/__pycache__/state.cpython-313.pyc +0 -0
  52. package/core/workflow/announcer.py +246 -0
  53. package/core/workflow/dashboard.py +194 -0
  54. package/core/workflow/enforcer.py +234 -0
  55. package/core/workflow/recovery.py +196 -0
  56. package/core/workflow/rules_registry.py +484 -0
  57. package/core/workflow/session_summary.py +204 -0
  58. package/core/workflow/state.py +12 -2
  59. package/departments/dev/SKILL.md +10 -42
  60. package/departments/dev/skills/agent-design/SKILL.md +6 -26
  61. package/departments/dev/skills/ci-cd-pipeline/SKILL.md +6 -29
  62. package/departments/dev/skills/db-schema/SKILL.md +6 -24
  63. package/departments/dev/skills/dependency-audit/SKILL.md +1 -3
  64. package/departments/dev/skills/incident/SKILL.md +6 -24
  65. package/departments/dev/skills/mcp-builder/SKILL.md +4 -17
  66. package/departments/dev/skills/observability/SKILL.md +6 -29
  67. package/departments/dev/skills/performance-profiler/SKILL.md +5 -26
  68. package/departments/dev/skills/rag-architect/SKILL.md +5 -23
  69. package/departments/dev/skills/release/SKILL.md +4 -17
  70. package/departments/dev/skills/spec/SKILL.md +47 -148
  71. package/departments/landing/skills/landing-gen/SKILL.md +3 -15
  72. package/departments/marketing/skills/cold-email/SKILL.md +5 -17
  73. package/departments/marketing/skills/programmatic-seo/SKILL.md +6 -21
  74. package/departments/strategy/skills/board-advisor/SKILL.md +7 -21
  75. package/package.json +1 -1
  76. package/pyproject.toml +1 -1
  77. package/scripts/synapse-bridge.py +27 -3
@@ -0,0 +1,204 @@
1
+ """Session summary generator.
2
+
3
+ Generates end-of-session recap saved to ~/.arkaos/sessions/{session_id}.json
4
+ and optionally printed to stdout.
5
+
6
+ Includes:
7
+ - Phases completed
8
+ - Total duration
9
+ - Violations
10
+ - Artifacts produced
11
+ - Agent outputs
12
+ """
13
+
14
+ import json
15
+ import uuid
16
+ from dataclasses import dataclass, field, asdict
17
+ from datetime import datetime, timezone
18
+ from pathlib import Path
19
+ from typing import Any
20
+
21
+
22
+ @dataclass
23
+ class PhaseSummary:
24
+ """Summary of a single phase."""
25
+
26
+ phase_id: str
27
+ phase_name: str
28
+ status: str
29
+ duration_ms: int = 0
30
+ artifacts: list[str] = field(default_factory=list)
31
+ violations: list[str] = field(default_factory=list)
32
+
33
+
34
+ @dataclass
35
+ class SessionSummary:
36
+ """Complete session summary."""
37
+
38
+ session_id: str
39
+ workflow: str
40
+ project: str
41
+ started_at: str
42
+ completed_at: str = ""
43
+ total_duration_ms: int = 0
44
+ phases: list[PhaseSummary] = field(default_factory=list)
45
+ violations: list[dict] = field(default_factory=list)
46
+ agent_outputs: dict[str, str] = field(default_factory=dict)
47
+ metadata: dict = field(default_factory=dict)
48
+
49
+ def to_dict(self) -> dict[str, Any]:
50
+ return asdict(self)
51
+
52
+ def to_json(self) -> str:
53
+ return json.dumps(self.to_dict(), indent=2)
54
+
55
+
56
+ def _sessions_dir() -> Path:
57
+ """Get sessions directory path."""
58
+ sessions = Path.home() / ".arkaos" / "sessions"
59
+ sessions.mkdir(parents=True, exist_ok=True)
60
+ return sessions
61
+
62
+
63
+ def save_session(summary: SessionSummary) -> Path:
64
+ """Save session summary to JSON file.
65
+
66
+ Args:
67
+ summary: The session summary to save
68
+
69
+ Returns:
70
+ Path to saved file
71
+ """
72
+ path = _sessions_dir() / f"{summary.session_id}.json"
73
+ path.write_text(summary.to_json(), encoding="utf-8")
74
+ return path
75
+
76
+
77
+ def load_session(session_id: str) -> SessionSummary | None:
78
+ """Load a session summary by ID.
79
+
80
+ Args:
81
+ session_id: The session UUID
82
+
83
+ Returns:
84
+ SessionSummary or None if not found
85
+ """
86
+ path = _sessions_dir() / f"{session_id}.json"
87
+ if not path.exists():
88
+ return None
89
+ try:
90
+ data = json.loads(path.read_text(encoding="utf-8"))
91
+ return SessionSummary(**data)
92
+ except (json.JSONDecodeError, KeyError, OSError):
93
+ return None
94
+
95
+
96
+ def list_sessions(limit: int = 10) -> list[SessionSummary]:
97
+ """List recent sessions.
98
+
99
+ Args:
100
+ limit: Maximum number of sessions to return
101
+
102
+ Returns:
103
+ List of SessionSummary objects, newest first
104
+ """
105
+ sessions_dir = _sessions_dir()
106
+ if not sessions_dir.exists():
107
+ return []
108
+
109
+ sessions = []
110
+ for path in sorted(sessions_dir.glob("*.json"), key=lambda p: p.stat().st_mtime, reverse=True)[
111
+ :limit
112
+ ]:
113
+ try:
114
+ data = json.loads(path.read_text(encoding="utf-8"))
115
+ sessions.append(SessionSummary(**data))
116
+ except (json.JSONDecodeError, KeyError):
117
+ pass
118
+
119
+ return sessions
120
+
121
+
122
+ class SessionSummaryBuilder:
123
+ """Builder for session summaries."""
124
+
125
+ def __init__(self, workflow: str, project: str):
126
+ self.summary = SessionSummary(
127
+ session_id=str(uuid.uuid4()),
128
+ workflow=workflow,
129
+ project=project,
130
+ started_at=datetime.now(timezone.utc).isoformat(),
131
+ )
132
+
133
+ def add_phase(self, phase: PhaseSummary) -> None:
134
+ """Add a phase to the summary."""
135
+ self.summary.phases.append(phase)
136
+
137
+ def add_violation(self, rule: str, detail: str, severity: str = "") -> None:
138
+ """Add a violation to the summary."""
139
+ self.summary.violations.append(
140
+ {
141
+ "rule": rule,
142
+ "detail": detail,
143
+ "severity": severity,
144
+ }
145
+ )
146
+
147
+ def add_agent_output(self, agent_id: str, output: str) -> None:
148
+ """Add an agent output."""
149
+ self.summary.agent_outputs[agent_id] = output
150
+
151
+ def set_metadata(self, key: str, value: Any) -> None:
152
+ """Set a metadata field."""
153
+ self.summary.metadata[key] = value
154
+
155
+ def complete(self) -> SessionSummary:
156
+ """Finalize and return the summary."""
157
+ self.summary.completed_at = datetime.now(timezone.utc).isoformat()
158
+ self.summary.total_duration_ms = sum(p.duration_ms for p in self.summary.phases)
159
+ return self.summary
160
+
161
+ def save(self) -> Path:
162
+ """Complete and save the session."""
163
+ self.complete()
164
+ return save_session(self.summary)
165
+
166
+ def render_text(self) -> str:
167
+ """Render summary as human-readable text."""
168
+ self.complete()
169
+ lines = [
170
+ "═" * 60,
171
+ " SESSION SUMMARY",
172
+ "═" * 60,
173
+ f" Session: {self.summary.session_id[:8]}...",
174
+ f" Workflow: {self.summary.workflow}",
175
+ f" Project: {self.summary.project}",
176
+ f" Started: {self.summary.started_at}",
177
+ f" Completed: {self.summary.completed_at}",
178
+ f" Duration: {self.summary.total_duration_ms}ms",
179
+ "",
180
+ " PHASES",
181
+ ]
182
+
183
+ for phase in self.summary.phases:
184
+ icon = "✓" if phase.status == "completed" else "✗" if phase.status == "failed" else "○"
185
+ lines.append(f" {icon} {phase.phase_name} ({phase.duration_ms}ms)")
186
+ for artifact in phase.artifacts:
187
+ lines.append(f" → {artifact}")
188
+ for violation in phase.violations:
189
+ lines.append(f" ⚠ {violation}")
190
+
191
+ if self.summary.violations:
192
+ lines.append("")
193
+ lines.append(f" VIOLATIONS ({len(self.summary.violations)})")
194
+ for v in self.summary.violations:
195
+ sev = v.get("severity", "")
196
+ marker = "🔴" if sev == "BLOCK" else "🟠" if sev == "ESCALATE" else "🟡"
197
+ lines.append(f" {marker} [{v.get('rule', '?')}] {v.get('detail', '')}")
198
+
199
+ lines.append("═" * 60)
200
+ return "\n".join(lines)
201
+
202
+ def print(self) -> None:
203
+ """Print summary to stdout."""
204
+ print(self.render_text())
@@ -34,7 +34,11 @@ def _write(state: dict) -> dict:
34
34
  path = _state_path()
35
35
  path.parent.mkdir(parents=True, exist_ok=True)
36
36
  fd = NamedTemporaryFile(
37
- mode="w", dir=str(path.parent), suffix=".tmp", delete=False, encoding="utf-8",
37
+ mode="w",
38
+ dir=str(path.parent),
39
+ suffix=".tmp",
40
+ delete=False,
41
+ encoding="utf-8",
38
42
  )
39
43
  try:
40
44
  json.dump(state, fd, indent=2)
@@ -104,7 +108,11 @@ def set_branch(branch: str) -> dict:
104
108
 
105
109
 
106
110
  def add_violation(
107
- rule: str, detail: str, tool: str | None = None, file: str | None = None,
111
+ rule: str,
112
+ detail: str,
113
+ tool: str | None = None,
114
+ file: str | None = None,
115
+ severity: str | None = None,
108
116
  ) -> dict:
109
117
  """Append a violation to the violations list."""
110
118
  state = _require_state()
@@ -113,6 +121,8 @@ def add_violation(
113
121
  violation["tool"] = tool
114
122
  if file:
115
123
  violation["file"] = file
124
+ if severity:
125
+ violation["severity"] = severity
116
126
  state["violations"].append(violation)
117
127
  return _write(state)
118
128
 
@@ -53,60 +53,28 @@ allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent, WebFetch, WebSearch]
53
53
  For `/dev feature` and `/dev api`:
54
54
 
55
55
  ```
56
- Phase 0: SPECIFICATION → Paulo + Gabriel create/validate spec
57
- Gate: User approval
58
-
59
- Phase 1: RESEARCH → Analyst researches patterns + Gabriel checks architecture
60
- Gate: Auto
61
-
62
- Phase 2: ARCHITECTURE → Gabriel designs + Marco approves ADR
63
- Gate: User approval
64
-
56
+ Phase 0: SPECIFICATION → Paulo + Gabriel create/validate spec (User approval gate)
57
+ Phase 1: RESEARCH → Analyst + Gabriel check patterns + architecture
58
+ Phase 2: ARCHITECTURE → Gabriel designs + Marco approves ADR (User approval gate)
65
59
  Phase 3: IMPLEMENTATION → Andre (backend) + Diana (frontend) in parallel
66
- Gate: Auto
67
-
68
- Phase 4: SELF-CRITIQUE → Paulo reviews against Clean Code + SOLID
69
- Gate: Auto
70
-
60
+ Phase 4: SELF-CRITIQUE → Paulo reviews Clean Code + SOLID
71
61
  Phase 5: SECURITY AUDIT → Bruno runs OWASP Top 10 + dependency scan
72
- Gate: Auto
73
-
74
- Phase 6: QARita runs ALL tests, checks coverage >= 80%, mutation score
75
- Gate: Auto
76
-
77
- Phase 7: QUALITY GATE → Marta dispatches Eduardo (copy) + Francisca (tech)
78
- Gate: APPROVED required from all three
79
-
80
- Phase 8: DOCUMENTATION → Save ADR + docs to Obsidian
81
- Gate: Auto
62
+ Phase 6: QA → Rita runs ALL tests, coverage >= 80%, mutation score
63
+ Phase 7: QUALITY GATE → Marta + Eduardo (copy) + Francisca (tech) → APPROVED
64
+ Phase 8: DOCUMENTATIONADR + docs to Obsidian
82
65
  ```
83
66
 
84
67
  ## Focused Workflow (4 Phases)
85
68
 
86
- For `/dev debug`, `/dev refactor`, `/dev db`, `/dev performance`, `/dev pipeline`:
87
-
88
- ```
89
- Phase 0: DIAGNOSE → Relevant specialist investigates
90
- Phase 1: IMPLEMENT → Fix/change with tests
91
- Phase 2: VERIFY → Rita validates, Paulo reviews
92
- Phase 3: QUALITY GATE → Marta reviews
93
- ```
69
+ For `/dev debug`, `/dev refactor`, `/dev db`, `/dev performance`, `/dev pipeline`: Diagnose → Implement with tests → Rita validates → Quality Gate (Marta).
94
70
 
95
71
  ## Specialist Workflow (2 Phases)
96
72
 
97
- For `/dev review`, `/dev test`, `/dev security-audit`, `/dev clean-review`:
98
-
99
- ```
100
- Phase 0: EXECUTE → Specialist agent performs the task
101
- Phase 1: REPORT → Results saved to Obsidian
102
- ```
73
+ For `/dev review`, `/dev test`, `/dev security-audit`, `/dev clean-review`: Execute → Report (Obsidian).
103
74
 
104
75
  ## Branch Workflow (Mandatory)
105
76
 
106
- All code-modifying commands create a feature branch:
107
- - Features: `feature/<slug>`
108
- - Fixes: `fix/<slug>`
109
- - Refactors: `refactor/<slug>`
77
+ Feature branches: `feature/<slug>` · `fix/<slug>` · `refactor/<slug>`
110
78
 
111
79
  ## Frameworks Applied
112
80
 
@@ -101,31 +101,11 @@ Surface these issues WITHOUT being asked:
101
101
 
102
102
  ```markdown
103
103
  ## Agent System Design: <System Name>
104
-
105
- ### Architecture
106
- - **Pattern:** <selected pattern>
107
- - **Rationale:** <why this pattern fits>
108
-
109
- ### Agents
110
- | Agent | Role | Tools | Interfaces |
111
- |-------|------|-------|-----------|
112
- | ... | ... | ... | ... |
113
-
114
- ### Communication
115
- - **Pattern:** <message passing / shared state / event-driven>
116
- - **Handoff contract:** <fields passed between agents>
117
-
118
- ### Guardrails
119
- - **Input:** <validation rules>
120
- - **Output:** <filtering rules>
121
- - **Human gates:** <approval checkpoints>
122
-
123
- ### Evaluation Metrics
124
- - Task success rate target: >X%
125
- - Latency budget: <Xms per stage>
126
- - Cost ceiling: <$ per task>
104
+ ### Architecture: <pattern> | Rationale: <why>
105
+ ### Agents: | Agent | Role | Tools | Interfaces |
106
+ ### Communication: <pattern> | Handoff: <fields passed>
107
+ ### Guardrails: Input <rules> | Output <rules> | Human gates <checkpoints>
108
+ ### Evaluation: Success >X% | Latency <Xms/stage | Cost <$$/task
127
109
  ```
128
110
 
129
- ## References
130
-
131
- - [architecture-patterns.md](references/architecture-patterns.md) — 5 multi-agent patterns with decision matrix, anti-patterns, and scaling characteristics
111
+ See `references/architecture-patterns.md` for multi-agent pattern details.
@@ -87,48 +87,25 @@ Surface these issues WITHOUT being asked:
87
87
  ```yaml
88
88
  # .github/workflows/ci.yml
89
89
  name: CI
90
- on:
91
- push:
92
- branches: [main, develop]
93
- pull_request:
94
- branches: [main]
95
-
90
+ on: { push: { branches: [main, develop] }, pull_request: { branches: [main] } }
96
91
  jobs:
97
92
  lint:
98
93
  runs-on: ubuntu-latest
99
- steps:
100
- - uses: actions/checkout@v4
101
- - uses: <setup-action>
102
- - run: <install-command>
103
- - run: <lint-command>
104
-
94
+ steps: [uses: actions/checkout@v4, uses: <setup-action>, run: <install-command>, run: <lint-command>]
105
95
  test:
106
96
  needs: lint
107
97
  runs-on: ubuntu-latest
108
- steps:
109
- - uses: actions/checkout@v4
110
- - uses: <setup-action>
111
- - run: <install-command>
112
- - run: <test-command>
113
-
98
+ steps: [uses: actions/checkout@v4, uses: <setup-action>, run: <install-command>, run: <test-command>]
114
99
  build:
115
100
  needs: test
116
101
  runs-on: ubuntu-latest
117
- steps:
118
- - uses: actions/checkout@v4
119
- - uses: <setup-action>
120
- - run: <install-command>
121
- - run: <build-command>
122
-
102
+ steps: [uses: actions/checkout@v4, uses: <setup-action>, run: <install-command>, run: <build-command>]
123
103
  deploy:
124
104
  needs: build
125
105
  if: github.ref == 'refs/heads/main'
126
106
  environment: <staging|production>
127
107
  runs-on: ubuntu-latest
128
- steps:
129
- - run: <deploy-command>
108
+ steps: [run: <deploy-command>]
130
109
  ```
131
110
 
132
- ## References
133
-
134
- - [github-actions-patterns.md](references/github-actions-patterns.md) — Caching strategies, matrix builds, reusable workflows, secret management, deployment environments, and common pitfalls
111
+ See `references/github-actions-patterns.md` for caching strategies and deployment patterns.
@@ -106,29 +106,11 @@ Surface these issues WITHOUT being asked:
106
106
 
107
107
  ```markdown
108
108
  ## Schema Design: <Feature Name>
109
-
110
- ### Entities
111
- | Table | Purpose | Key Columns |
112
- |-------|---------|------------|
113
- | ... | ... | ... |
114
-
115
- ### Relationships
116
- | From | To | Type | FK |
117
- |------|-----|------|-----|
118
- | ... | ... | 1:N | ... |
119
-
120
- ### Indexes
121
- | Table | Columns | Type | Reason |
122
- |-------|---------|------|--------|
123
- | ... | ... | composite | ... |
124
-
125
- ### Migration
126
- <Laravel migration code>
127
-
128
- ### ERD
129
- <Mermaid diagram>
109
+ ### Entities: | Table | Purpose | Key Columns |
110
+ ### Relationships: | From | To | Type | FK |
111
+ ### Indexes: | Table | Columns | Type | Reason |
112
+ ### Migration: <Laravel migration code>
113
+ ### ERD: <Mermaid diagram>
130
114
  ```
131
115
 
132
- ## References
133
-
134
- - [indexing-strategy.md](references/indexing-strategy.md) — B-tree vs hash vs GIN vs GiST, composite index ordering, partial indexes, covering indexes, EXPLAIN ANALYZE interpretation
116
+ See `references/indexing-strategy.md` for B-tree vs hash vs GIN vs GiST and EXPLAIN ANALYZE.
@@ -117,6 +117,4 @@ Surface these issues WITHOUT being asked:
117
117
  - Recommendation: {SAFE TO DEPLOY | FIX BEFORE DEPLOY | BLOCK DEPLOY}
118
118
  ```
119
119
 
120
- ## References
121
-
122
- - [license-matrix.md](references/license-matrix.md) — Open source license compatibility matrix, copyleft obligations, commercial use implications, and dual-licensing strategies
120
+ See `references/license-matrix.md` for full license compatibility matrix.
@@ -101,29 +101,11 @@ Surface these issues WITHOUT being asked:
101
101
 
102
102
  ```markdown
103
103
  ## Incident Report: <title>
104
-
105
- ### Summary
106
- - Severity: SEV{level}
107
- - Duration: {start} to {end} ({total time})
108
- - Impact: {users/services affected}
109
- - Root Cause: {1-2 sentence summary}
110
-
111
- ### Timeline
112
- | Time | Event |
113
- |------|-------|
114
-
115
- ### Root Cause Analysis
116
- [5 Whys / Fishbone / Timeline analysis]
117
-
118
- ### Action Items
119
- | # | Action | Owner | Due | Status |
120
- |---|--------|-------|-----|--------|
121
-
122
- ### Lessons Learned
123
- 1. [Key takeaway]
124
- 2. [Key takeaway]
104
+ ### Summary: SEV{level} | Duration: {start}-{end} | Impact: {users/services} | Root Cause: {1-2 sentences}
105
+ ### Timeline: | Time | Event |
106
+ ### Root Cause: [5 Whys / Fishbone analysis]
107
+ ### Action Items: | # | Action | Owner | Due | Status |
108
+ ### Lessons Learned: 1. [takeaway] 2. [takeaway]
125
109
  ```
126
110
 
127
- ## References
128
-
129
- - [severity-playbook.md](references/severity-playbook.md) — SEV1-4 definitions, escalation paths, communication templates, and PIR checklist
111
+ See `references/severity-playbook.md` for SEV1-4 definitions and escalation paths.
@@ -101,21 +101,8 @@ Surface these issues WITHOUT being asked:
101
101
 
102
102
  ```markdown
103
103
  ## MCP Server: <Server Name>
104
-
105
- ### Tools
106
- | Tool | Description | Params | Returns |
107
- |------|------------|--------|---------|
108
- | ... | ... | ... | ... |
109
-
110
- ### Auth
111
- - **Strategy:** <env vars / OAuth / API key>
112
- - **Outbound hosts:** <allowlist>
113
-
114
- ### Versioning
115
- - **Current:** v<X>
116
- - **Compatibility:** <backward-compatible since vX>
117
-
118
- ### Deployment
119
- - **Runtime:** <Python / TypeScript>
120
- - **Transport:** <stdio / HTTP>
104
+ ### Tools: | Tool | Description | Params | Returns |
105
+ ### Auth: <strategy> | Outbound hosts: <allowlist>
106
+ ### Versioning: v<X> | Compatibility: <backward-compatible since vX>
107
+ ### Deployment: <Python / TypeScript> | Transport: <stdio / HTTP>
121
108
  ```
@@ -90,34 +90,11 @@ Surface these issues WITHOUT being asked:
90
90
 
91
91
  ```markdown
92
92
  ## Observability Design: <project>
93
-
94
- ### Service Inventory
95
- | Service | SLI | SLO Target | Current |
96
- |---------|-----|------------|---------|
97
-
98
- ### Logging
99
- - Format: [structured JSON / plaintext -- recommendation]
100
- - Missing correlation IDs: [list]
101
- - Level misuse: [list]
102
-
103
- ### Metrics & Alerts
104
- - Golden signals coverage: [X/4 per service]
105
- - Alert rules: [count] ([actionable %])
106
- - Missing alerts: [list]
107
-
108
- ### Tracing
109
- - Instrumented services: [X/Y]
110
- - Sampling strategy: [head/tail/adaptive]
111
-
112
- ### Dashboard Plan
113
- - [Executive | Service | Component] dashboards needed
114
-
115
- ### Recommendations (priority order)
116
- 1. [Most impactful improvement]
117
- 2. [Next priority]
118
- 3. [Next priority]
93
+ ### Service Inventory: | Service | SLI | SLO Target | Current |
94
+ ### Logging: Format, missing IDs, level issues
95
+ ### Metrics & Alerts: Golden signals X/4, alert rules, missing alerts
96
+ ### Tracing: Instrumented X/Y, sampling strategy
97
+ ### Dashboard Plan: [Executive | Service | Component] dashboards needed
119
98
  ```
120
99
 
121
- ## References
122
-
123
- - [slo-design.md](references/slo-design.md) — SLI/SLO/SLA framework, error budget calculations, and burn rate alert configuration
100
+ See `references/slo-design.md` for SLI/SLO/SLA framework details.
@@ -99,30 +99,9 @@ Surface these issues WITHOUT being asked:
99
99
 
100
100
  ```markdown
101
101
  ## Performance Profile: <Target>
102
-
103
- ### Baseline
104
- | Metric | Value | Budget | Status |
105
- |--------|-------|--------|--------|
106
- | P50 latency | 480ms | < 100ms | OVER |
107
- | P95 latency | 1240ms | < 200ms | OVER |
108
- | P99 latency | 3100ms | < 1000ms | OVER |
109
- | DB queries/req | 23 | < 10 | OVER |
110
-
111
- ### Root Cause
112
- [What the profiler revealed]
113
-
114
- ### Fix Applied
115
- [What changed]
116
-
117
- ### After
118
- | Metric | Before | After | Delta |
119
- |--------|--------|-------|-------|
120
- | P50 | 480ms | 48ms | -90% |
121
- | P95 | 1240ms | 120ms | -90% |
122
- | P99 | 3100ms | 280ms | -91% |
123
- | Queries | 23 | 1 | -96% |
124
-
125
- ### Recommendations
126
- | Priority | Action | Expected Impact |
127
- |----------|--------|----------------|
102
+ ### Baseline: | Metric | Value | Budget | Status |
103
+ ### Root Cause: [what profiler revealed]
104
+ ### Fix Applied: [what changed]
105
+ ### After: | Metric | Before | After | Delta |
106
+ ### Recommendations: | Priority | Action | Expected Impact |
128
107
  ```
@@ -103,28 +103,10 @@ Surface these issues WITHOUT being asked:
103
103
 
104
104
  ```markdown
105
105
  ## RAG System Design: <System Name>
106
-
107
- ### Pipeline
108
- - **Chunking:** <strategy>, <size>, <overlap>
109
- - **Embedding:** <model>, <dimensions>
110
- - **Vector DB:** <database>, <index type>
111
- - **Retrieval:** <strategy>, top-K=<N>
112
- - **Reranking:** <model or none>
113
-
114
- ### Evaluation Targets
115
- | Metric | Target |
116
- |--------|--------|
117
- | Faithfulness | >X% |
118
- | Context Relevance | >X |
119
- | Answer Relevance | >X |
120
-
121
- ### Cost Estimate
122
- - Embedding cost: ~$X per 1K docs
123
- - Storage: ~$X/month for <N> vectors
124
- - Query cost: ~$X per 1K queries
106
+ ### Pipeline: Chunking <strategy+size+overlap> | Embedding <model+dims> | Vector DB <db+index>
107
+ ### Retrieval: <strategy>, top-K=<N> | Reranking: <model or none>
108
+ ### Evaluation: Faithfulness >X% | Context Relevance >X | Answer Relevance >X
109
+ ### Cost: Embedding ~$X/1K docs | Storage ~$X/mo | Query ~$X/1K queries
125
110
  ```
126
111
 
127
- ## References
128
-
129
- - [chunking-strategies.md](references/chunking-strategies.md) — Decision tree and benchmarks for chunking approaches
130
- - [evaluation-guide.md](references/evaluation-guide.md) — RAGAS metrics and ground truth dataset creation
112
+ See `references/chunking-strategies.md` and `references/evaluation-guide.md` for details.
@@ -110,21 +110,8 @@ Surface these issues WITHOUT being asked:
110
110
 
111
111
  ```markdown
112
112
  ## Release Plan: v{X.Y.Z}
113
-
114
- ### Version Bump: {MAJOR|MINOR|PATCH}
115
- ### Reason: {summary of changes}
116
-
117
- ### Readiness
118
- - [ ] Code quality gates: {PASS/FAIL}
119
- - [ ] Documentation: {PASS/FAIL}
120
- - [ ] Approvals: {PASS/FAIL}
121
-
122
- ### Changes Included
123
- - Features: {count}
124
- - Fixes: {count}
125
- - Breaking changes: {count}
126
-
127
- ### Deployment Strategy: {blue-green / canary / rolling}
128
- ### Rollback Plan: {container revert / feature flag / DB-safe}
129
- ### Risk Assessment: {LOW / MEDIUM / HIGH}
113
+ ### Version Bump: {MAJOR|MINOR|PATCH} | Reason: {summary}
114
+ ### Readiness: Code quality [PASS/FAIL] | Docs [PASS/FAIL] | Approvals [PASS/FAIL]
115
+ ### Changes: Features {count} | Fixes {count} | Breaking {count}
116
+ ### Deployment: {blue-green/canary/rolling} | Rollback: {plan} | Risk: {LOW/MEDIUM/HIGH}
130
117
  ```