arcane-cli 0.14.0 → 0.15.1

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 (66) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +253 -253
  3. package/dist/assets/.arcane/agents/agent-policies-template.md +414 -414
  4. package/dist/assets/.arcane/governance/agent-policies.md +414 -414
  5. package/dist/assets/.arcane/governance/agent-work-queue-model.md +61 -61
  6. package/dist/assets/.arcane/governance/cicd-standards.md +227 -227
  7. package/dist/assets/.arcane/governance/development-methodology.md +384 -384
  8. package/dist/assets/.arcane/governance/git-conventions.md +759 -759
  9. package/dist/assets/.arcane/governance/naming-conventions.md +142 -142
  10. package/dist/assets/.arcane/governance/new-business-setup.md +182 -182
  11. package/dist/assets/.arcane/governance/portable-bootstrap.md +101 -101
  12. package/dist/assets/.arcane/governance/product-excellence-standards.md +211 -211
  13. package/dist/assets/.arcane/governance/testing-standards.md +158 -158
  14. package/dist/assets/.arcane/governance/universal-agent-rules.md +108 -108
  15. package/dist/assets/.arcane/image-prompts/adelaide-image-prompt.md +140 -140
  16. package/dist/assets/.arcane/image-prompts/alexander-image-prompt.md +138 -138
  17. package/dist/assets/.arcane/image-prompts/bess-image-prompt.md +139 -139
  18. package/dist/assets/.arcane/image-prompts/circe-image-prompt.md +143 -143
  19. package/dist/assets/.arcane/image-prompts/custodio-image-prompt.md +140 -140
  20. package/dist/assets/.arcane/image-prompts/iris-image-prompt.md +139 -139
  21. package/dist/assets/.arcane/image-prompts/kellar-image-prompt.md +141 -141
  22. package/dist/assets/.arcane/image-prompts/lafayette-image-prompt.md +140 -140
  23. package/dist/assets/.arcane/image-prompts/lince-image-prompt.md +142 -142
  24. package/dist/assets/.arcane/image-prompts/mercurio-image-prompt.md +140 -140
  25. package/dist/assets/.arcane/image-prompts/merlin-image-prompt.md +139 -139
  26. package/dist/assets/.arcane/image-prompts/prospero-image-prompt.md +141 -141
  27. package/dist/assets/.arcane.json +5 -0
  28. package/dist/assets/.claude/commands/spell-enchant.md +9 -9
  29. package/dist/assets/.github/agents/adelaide.agent.md +44 -44
  30. package/dist/assets/.github/agents/alexander.agent.md +43 -43
  31. package/dist/assets/.github/agents/bess.agent.md +42 -42
  32. package/dist/assets/.github/agents/circe.agent.md +43 -43
  33. package/dist/assets/.github/agents/custodio.agent.md +44 -44
  34. package/dist/assets/.github/agents/iris.agent.md +43 -43
  35. package/dist/assets/.github/agents/kellar.agent.md +43 -43
  36. package/dist/assets/.github/agents/lafayette.agent.md +42 -42
  37. package/dist/assets/.github/agents/lince.agent.md +43 -43
  38. package/dist/assets/.github/agents/mercurio.agent.md +43 -43
  39. package/dist/assets/.github/agents/merlin.agent.md +44 -44
  40. package/dist/assets/.github/agents/prospero.agent.md +43 -43
  41. package/dist/assets/.github/prompts/spell-close-session.prompt.md +17 -5
  42. package/dist/assets/.github/prompts/spell-commit-work.prompt.md +24 -6
  43. package/dist/assets/.github/prompts/spell-create-pull-request.prompt.md +12 -3
  44. package/dist/assets/.github/prompts/spell-enchant.prompt.md +385 -385
  45. package/dist/assets/.github/prompts/spell-feedback.prompt.md +113 -113
  46. package/dist/assets/.github/prompts/spell-full-cycle.prompt.md +202 -201
  47. package/dist/assets/.github/prompts/spell-implement.prompt.md +101 -101
  48. package/dist/assets/.github/prompts/spell-open-session.prompt.md +20 -5
  49. package/dist/assets/.github/prompts/spell-scope.prompt.md +263 -263
  50. package/dist/assets/agents/architecture-lead.yaml +61 -61
  51. package/dist/assets/agents/collaborator.yaml +59 -59
  52. package/dist/assets/agents/devops.yaml +60 -60
  53. package/dist/assets/agents/frontend-dev.yaml +60 -60
  54. package/dist/assets/agents/fullstack-dev.yaml +59 -59
  55. package/dist/assets/agents/marketing-strategist.yaml +60 -60
  56. package/dist/assets/agents/mobile-dev.yaml +59 -59
  57. package/dist/assets/agents/operations-comms.yaml +58 -58
  58. package/dist/assets/agents/orchestrator.yaml +60 -60
  59. package/dist/assets/agents/qa-lead.yaml +60 -60
  60. package/dist/assets/agents/research-analyst.yaml +59 -59
  61. package/dist/assets/agents/security-ops.yaml +61 -61
  62. package/dist/index.js +346 -9
  63. package/dist/index.js.map +1 -1
  64. package/package.json +72 -72
  65. package/dist/assets/.claude/commands/spell-eas-ios-deploy.md +0 -9
  66. package/dist/assets/.github/prompts/spell-eas-ios-deploy.prompt.md +0 -183
@@ -1,61 +1,61 @@
1
- ---
2
- title: Agent Work Queue Model
3
- audience: both
4
- last_updated: YYYY-MM-DD
5
- status: draft
6
- distributable: true
7
- tags: [governance, queue, agents, work-management]
8
- ---
9
-
10
- # Agent Work Queue Model
11
-
12
- Defines a single markdown-first queue for assigning work across businesses, while keeping Azure DevOps at Story-level visibility per [[DECISIONS#ADR-015|ADR-015]].
13
-
14
- ## Executive Summary
15
-
16
- - One queue controls cross-business assignment to avoid agent contention and hidden work.
17
- - Markdown remains source of truth; Azure DevOps mirrors milestone status for humans.
18
- - Queue rows include execution host and approval gate so autonomy stays explicit.
19
- - {BUSINESS_NAME} starts first; same structure extends to AcmeStore and other businesses.
20
-
21
- ---
22
-
23
- ## Queue Principles
24
-
25
- 1. Single intake queue for all businesses
26
- 2. One active owner per queue item
27
- 3. Explicit agent, host, and power-level per item
28
- 4. Exit criteria required before status can move to Done
29
-
30
- ---
31
-
32
- ## Canonical Fields
33
-
34
- | Field | Description |
35
- |------|-------------|
36
- | Queue ID | Unique work identifier |
37
- | Business | `acme-store`, `example-app`, etc. |
38
- | Repo | Target repo name |
39
- | DevOps Item | Story/Task/Bug link or ID |
40
- | Priority | Critical / High / Medium / Low |
41
- | Assigned Agent | {AGENT_NAME}, Lafayette, Mercurio, Lince, etc. |
42
- | Power Level | Apprentice/Wizard/Sorcerer/Magus/Archmage |
43
- | Execution Host | Atlas, Voyager, Nimbus |
44
- | Approval Gate | Required reviewer and checkpoint |
45
- | Exit Criteria | Objective definition of done |
46
- | Status | Backlog / Ready / In Progress / Blocked / Done |
47
-
48
- ---
49
-
50
- ## Initial Rollout
51
-
52
- 1. Start with {BUSINESS_NAME} items only.
53
- 2. Populate 5–10 current backlog items from Azure DevOps.
54
- 3. Validate assignment cadence for one week.
55
- 4. Extend same queue format to AcmeStore.
56
-
57
- ---
58
-
59
- ## Next Action
60
-
61
- Create the first queue instance document (dated journal or governance execution log) and seed it with open {BUSINESS_NAME} stories.
1
+ ---
2
+ title: Agent Work Queue Model
3
+ audience: both
4
+ last_updated: YYYY-MM-DD
5
+ status: draft
6
+ distributable: true
7
+ tags: [governance, queue, agents, work-management]
8
+ ---
9
+
10
+ # Agent Work Queue Model
11
+
12
+ Defines a single markdown-first queue for assigning work across businesses, while keeping Azure DevOps at Story-level visibility per [[DECISIONS#ADR-015|ADR-015]].
13
+
14
+ ## Executive Summary
15
+
16
+ - One queue controls cross-business assignment to avoid agent contention and hidden work.
17
+ - Markdown remains source of truth; Azure DevOps mirrors milestone status for humans.
18
+ - Queue rows include execution host and approval gate so autonomy stays explicit.
19
+ - {BUSINESS_NAME} starts first; same structure extends to AcmeStore and other businesses.
20
+
21
+ ---
22
+
23
+ ## Queue Principles
24
+
25
+ 1. Single intake queue for all businesses
26
+ 2. One active owner per queue item
27
+ 3. Explicit agent, host, and power-level per item
28
+ 4. Exit criteria required before status can move to Done
29
+
30
+ ---
31
+
32
+ ## Canonical Fields
33
+
34
+ | Field | Description |
35
+ |------|-------------|
36
+ | Queue ID | Unique work identifier |
37
+ | Business | `acme-store`, `example-app`, etc. |
38
+ | Repo | Target repo name |
39
+ | DevOps Item | Story/Task/Bug link or ID |
40
+ | Priority | Critical / High / Medium / Low |
41
+ | Assigned Agent | {AGENT_NAME}, Lafayette, Mercurio, Lince, etc. |
42
+ | Power Level | Apprentice/Wizard/Sorcerer/Magus/Archmage |
43
+ | Execution Host | Atlas, Voyager, Nimbus |
44
+ | Approval Gate | Required reviewer and checkpoint |
45
+ | Exit Criteria | Objective definition of done |
46
+ | Status | Backlog / Ready / In Progress / Blocked / Done |
47
+
48
+ ---
49
+
50
+ ## Initial Rollout
51
+
52
+ 1. Start with {BUSINESS_NAME} items only.
53
+ 2. Populate 5–10 current backlog items from Azure DevOps.
54
+ 3. Validate assignment cadence for one week.
55
+ 4. Extend same queue format to AcmeStore.
56
+
57
+ ---
58
+
59
+ ## Next Action
60
+
61
+ Create the first queue instance document (dated journal or governance execution log) and seed it with open {BUSINESS_NAME} stories.
@@ -1,227 +1,227 @@
1
- ---
2
- title: CI/CD Standards
3
- audience: both
4
- last_updated: YYYY-MM-DD
5
- status: active
6
- tags: [cicd, pipelines, devops, prospero, azure-devops]
7
- ---
8
-
9
- # CI/CD Standards
10
-
11
- Pipeline patterns, branch policies, and deployment gates for all your projects. Owned by Prospero (DevOps Engineer).
12
-
13
- ## Executive Summary
14
-
15
- - Every code repository must have a CI pipeline that runs on PR creation and merge to main.
16
- - Branch policies enforce PR requirements: build must pass, reviewer required, work item linked.
17
- - Terraform changes use plan-on-PR / apply-on-merge with manual approval gates.
18
- - Prospero owns pipeline creation and maintenance across all repos.
19
- - ADR-049 (Spell Loop) and ADR-051 (Prospero) provide the decision rationale.
20
-
21
- ---
22
-
23
- ## Pipeline Matrix
24
-
25
- | Repo | Org | Pipeline | Triggers | Steps | Owner |
26
- |------|-----|----------|----------|-------|-------|
27
- | example-app / .NET backend | {ado-org} | Build + Test + Deploy | PR, merge to main | restore → build → test → deploy staging | Prospero |
28
- | example-app / Mobile | {ado-org} | Build + Test | PR, merge to main | build → unit tests → integration tests → artifact publish | Prospero |
29
- | example-app / Firmware | {ado-org} | Build + Test | PR, merge to main | PlatformIO build → unit tests → OTA artifact publish | Prospero |
30
- | ops-docs / docs | {ado-org} | Lint + Link Check | PR | markdownlint → link validation → frontmatter schema check | Prospero |
31
- | storefront / web | {ado-org} | Build + Deploy | PR, merge to main | build → deploy (platform-dependent) | Prospero |
32
- | legacy-app / App | {ado-org} | Build + Test | PR, merge to main | dotnet restore → build → test | Prospero |
33
-
34
- ---
35
-
36
- ## Branch Policies (Azure DevOps)
37
-
38
- Applied to all code repositories (not docs-only repos per ADR-048):
39
-
40
- | Policy | Setting | Rationale |
41
- |--------|---------|-----------|
42
- | **Require PR** | All branches → main | No direct pushes to main |
43
- | **Minimum reviewers** | 1 (Lince for code, Merlin for architecture) | Quality gate |
44
- | **Build validation** | CI pipeline must pass | No merging broken code |
45
- | **Work item linking** | Required (when ticketing active) | Traceability |
46
- | **Comment resolution** | All comments must be resolved | No ignored feedback |
47
- | **Merge type** | Squash merge or rebase (no merge commits) | Clean linear history |
48
-
49
- For docs-only repos (Arcane):
50
- - PR not required (ADR-048 allows local ff-only merge for docs)
51
- - CI lint check runs on push to any branch
52
- - Branch discipline still applies (branch → work → ff-only merge)
53
-
54
- ---
55
-
56
- ## Pipeline Templates
57
-
58
- ### .NET Backend Pipeline
59
-
60
- ```yaml
61
- # azure-pipelines.yml
62
- trigger:
63
- branches:
64
- include:
65
- - main
66
- paths:
67
- include:
68
- - src/**
69
-
70
- pr:
71
- branches:
72
- include:
73
- - main
74
-
75
- pool:
76
- vmImage: 'ubuntu-latest'
77
-
78
- steps:
79
- - task: UseDotNet@2
80
- inputs:
81
- version: '10.x'
82
-
83
- - script: dotnet restore
84
- displayName: 'Restore packages'
85
-
86
- - script: dotnet build --no-restore --configuration Release
87
- displayName: 'Build'
88
-
89
- - script: dotnet test --no-build --configuration Release --collect:"XPlat Code Coverage" --results-directory $(Agent.TempDirectory)
90
- displayName: 'Run tests'
91
-
92
- - task: PublishCodeCoverageResults@2
93
- inputs:
94
- summaryFileLocation: '$(Agent.TempDirectory)/**/coverage.cobertura.xml'
95
- failIfCoverageEmpty: true
96
- ```
97
-
98
- ### Node.js Pipeline
99
-
100
- ```yaml
101
- trigger:
102
- branches:
103
- include:
104
- - main
105
-
106
- pr:
107
- branches:
108
- include:
109
- - main
110
-
111
- pool:
112
- vmImage: 'ubuntu-latest'
113
-
114
- steps:
115
- - task: UseNode@1
116
- inputs:
117
- version: '20.x'
118
-
119
- - script: npm ci
120
- displayName: 'Install dependencies'
121
-
122
- - script: npm test
123
- displayName: 'Run tests'
124
-
125
- - script: npm run lint
126
- displayName: 'Lint'
127
- condition: succeededOrFailed()
128
- ```
129
-
130
- ### Terraform Pipeline
131
-
132
- ```yaml
133
- trigger: none # Manual only for apply
134
-
135
- pr:
136
- branches:
137
- include:
138
- - main
139
- paths:
140
- include:
141
- - infrastructure/terraform/**
142
-
143
- pool:
144
- vmImage: 'ubuntu-latest'
145
-
146
- steps:
147
- - script: |
148
- terraform init
149
- terraform validate
150
- displayName: 'Validate'
151
-
152
- - script: terraform plan -out=tfplan
153
- displayName: 'Plan'
154
-
155
- - script: checkov -d . --framework terraform
156
- displayName: 'Security scan (Checkov)'
157
-
158
- # Apply step is manual — requires approval gate
159
- ```
160
-
161
- ### Markdown Lint Pipeline
162
-
163
- ```yaml
164
- trigger:
165
- branches:
166
- include:
167
- - '**'
168
- paths:
169
- include:
170
- - '**.md'
171
-
172
- pool:
173
- vmImage: 'ubuntu-latest'
174
-
175
- steps:
176
- - task: UseNode@1
177
- inputs:
178
- version: '20.x'
179
-
180
- - script: npx markdownlint-cli2 "**/*.md" "#node_modules"
181
- displayName: 'Lint markdown'
182
-
183
- - script: npx markdown-link-check --config .markdown-link-check.json **/*.md
184
- displayName: 'Check links'
185
- condition: succeededOrFailed()
186
- ```
187
-
188
- ---
189
-
190
- ## Deployment Gates
191
-
192
- | Environment | Gate | Who Approves |
193
- |-------------|------|-------------|
194
- | **Staging** | CI passes + PR approved | Automatic on merge |
195
- | **Production** | Staging verified + manual approval | Human (operator) |
196
- | **Terraform apply** | Plan reviewed + Checkov clean | Human (operator) |
197
-
198
- ---
199
-
200
- ## Prospero's Responsibilities
201
-
202
- 1. **Create and maintain all CI/CD pipelines** across Azure DevOps organizations
203
- 2. **Configure branch policies** per repo risk level
204
- 3. **Monitor pipeline health** — alert on persistent failures
205
- 4. **Manage Terraform state** — ensure remote state backend is configured
206
- 5. **Set up Azure cost alerts** — per resource group, per business
207
- 6. **Security scanning** — Checkov for Terraform, dependency audits for code repos
208
- 7. **Deployment automation** — Azure Functions, App Service, container deployments
209
- 8. **Documentation** — keep this file and pipeline configs in sync
210
-
211
- ---
212
-
213
- ## Implementation Priority
214
-
215
- 1. WidgetApp .NET backend pipeline (highest business priority)
216
- 2. ops docs lint pipeline (catches documentation drift)
217
- 3. WidgetApp mobile pipeline (when mobile development begins)
218
- 4. WidgetApp firmware pipeline (when firmware work resumes)
219
- 5. Terraform pipeline (when new Azure resources are provisioned)
220
- 6. AcmeStore pipeline (when platform is selected)
221
-
222
-
223
- ## Related
224
-
225
- - [[DECISIONS]]
226
- - [[governance/development-methodology|Development Methodology]]
227
- - [[governance/testing-standards|Testing Standards]]
1
+ ---
2
+ title: CI/CD Standards
3
+ audience: both
4
+ last_updated: YYYY-MM-DD
5
+ status: active
6
+ tags: [cicd, pipelines, devops, prospero, azure-devops]
7
+ ---
8
+
9
+ # CI/CD Standards
10
+
11
+ Pipeline patterns, branch policies, and deployment gates for all your projects. Owned by Prospero (DevOps Engineer).
12
+
13
+ ## Executive Summary
14
+
15
+ - Every code repository must have a CI pipeline that runs on PR creation and merge to main.
16
+ - Branch policies enforce PR requirements: build must pass, reviewer required, work item linked.
17
+ - Terraform changes use plan-on-PR / apply-on-merge with manual approval gates.
18
+ - Prospero owns pipeline creation and maintenance across all repos.
19
+ - ADR-049 (Spell Loop) and ADR-051 (Prospero) provide the decision rationale.
20
+
21
+ ---
22
+
23
+ ## Pipeline Matrix
24
+
25
+ | Repo | Org | Pipeline | Triggers | Steps | Owner |
26
+ |------|-----|----------|----------|-------|-------|
27
+ | example-app / .NET backend | {ado-org} | Build + Test + Deploy | PR, merge to main | restore → build → test → deploy staging | Prospero |
28
+ | example-app / Mobile | {ado-org} | Build + Test | PR, merge to main | build → unit tests → integration tests → artifact publish | Prospero |
29
+ | example-app / Firmware | {ado-org} | Build + Test | PR, merge to main | PlatformIO build → unit tests → OTA artifact publish | Prospero |
30
+ | ops-docs / docs | {ado-org} | Lint + Link Check | PR | markdownlint → link validation → frontmatter schema check | Prospero |
31
+ | storefront / web | {ado-org} | Build + Deploy | PR, merge to main | build → deploy (platform-dependent) | Prospero |
32
+ | legacy-app / App | {ado-org} | Build + Test | PR, merge to main | dotnet restore → build → test | Prospero |
33
+
34
+ ---
35
+
36
+ ## Branch Policies (Azure DevOps)
37
+
38
+ Applied to all code repositories (not docs-only repos per ADR-048):
39
+
40
+ | Policy | Setting | Rationale |
41
+ |--------|---------|-----------|
42
+ | **Require PR** | All branches → main | No direct pushes to main |
43
+ | **Minimum reviewers** | 1 (Lince for code, Merlin for architecture) | Quality gate |
44
+ | **Build validation** | CI pipeline must pass | No merging broken code |
45
+ | **Work item linking** | Required (when ticketing active) | Traceability |
46
+ | **Comment resolution** | All comments must be resolved | No ignored feedback |
47
+ | **Merge type** | Squash merge or rebase (no merge commits) | Clean linear history |
48
+
49
+ For docs-only repos (Arcane):
50
+ - PR not required (ADR-048 allows local ff-only merge for docs)
51
+ - CI lint check runs on push to any branch
52
+ - Branch discipline still applies (branch → work → ff-only merge)
53
+
54
+ ---
55
+
56
+ ## Pipeline Templates
57
+
58
+ ### .NET Backend Pipeline
59
+
60
+ ```yaml
61
+ # azure-pipelines.yml
62
+ trigger:
63
+ branches:
64
+ include:
65
+ - main
66
+ paths:
67
+ include:
68
+ - src/**
69
+
70
+ pr:
71
+ branches:
72
+ include:
73
+ - main
74
+
75
+ pool:
76
+ vmImage: 'ubuntu-latest'
77
+
78
+ steps:
79
+ - task: UseDotNet@2
80
+ inputs:
81
+ version: '10.x'
82
+
83
+ - script: dotnet restore
84
+ displayName: 'Restore packages'
85
+
86
+ - script: dotnet build --no-restore --configuration Release
87
+ displayName: 'Build'
88
+
89
+ - script: dotnet test --no-build --configuration Release --collect:"XPlat Code Coverage" --results-directory $(Agent.TempDirectory)
90
+ displayName: 'Run tests'
91
+
92
+ - task: PublishCodeCoverageResults@2
93
+ inputs:
94
+ summaryFileLocation: '$(Agent.TempDirectory)/**/coverage.cobertura.xml'
95
+ failIfCoverageEmpty: true
96
+ ```
97
+
98
+ ### Node.js Pipeline
99
+
100
+ ```yaml
101
+ trigger:
102
+ branches:
103
+ include:
104
+ - main
105
+
106
+ pr:
107
+ branches:
108
+ include:
109
+ - main
110
+
111
+ pool:
112
+ vmImage: 'ubuntu-latest'
113
+
114
+ steps:
115
+ - task: UseNode@1
116
+ inputs:
117
+ version: '20.x'
118
+
119
+ - script: npm ci
120
+ displayName: 'Install dependencies'
121
+
122
+ - script: npm test
123
+ displayName: 'Run tests'
124
+
125
+ - script: npm run lint
126
+ displayName: 'Lint'
127
+ condition: succeededOrFailed()
128
+ ```
129
+
130
+ ### Terraform Pipeline
131
+
132
+ ```yaml
133
+ trigger: none # Manual only for apply
134
+
135
+ pr:
136
+ branches:
137
+ include:
138
+ - main
139
+ paths:
140
+ include:
141
+ - infrastructure/terraform/**
142
+
143
+ pool:
144
+ vmImage: 'ubuntu-latest'
145
+
146
+ steps:
147
+ - script: |
148
+ terraform init
149
+ terraform validate
150
+ displayName: 'Validate'
151
+
152
+ - script: terraform plan -out=tfplan
153
+ displayName: 'Plan'
154
+
155
+ - script: checkov -d . --framework terraform
156
+ displayName: 'Security scan (Checkov)'
157
+
158
+ # Apply step is manual — requires approval gate
159
+ ```
160
+
161
+ ### Markdown Lint Pipeline
162
+
163
+ ```yaml
164
+ trigger:
165
+ branches:
166
+ include:
167
+ - '**'
168
+ paths:
169
+ include:
170
+ - '**.md'
171
+
172
+ pool:
173
+ vmImage: 'ubuntu-latest'
174
+
175
+ steps:
176
+ - task: UseNode@1
177
+ inputs:
178
+ version: '20.x'
179
+
180
+ - script: npx markdownlint-cli2 "**/*.md" "#node_modules"
181
+ displayName: 'Lint markdown'
182
+
183
+ - script: npx markdown-link-check --config .markdown-link-check.json **/*.md
184
+ displayName: 'Check links'
185
+ condition: succeededOrFailed()
186
+ ```
187
+
188
+ ---
189
+
190
+ ## Deployment Gates
191
+
192
+ | Environment | Gate | Who Approves |
193
+ |-------------|------|-------------|
194
+ | **Staging** | CI passes + PR approved | Automatic on merge |
195
+ | **Production** | Staging verified + manual approval | Human (operator) |
196
+ | **Terraform apply** | Plan reviewed + Checkov clean | Human (operator) |
197
+
198
+ ---
199
+
200
+ ## Prospero's Responsibilities
201
+
202
+ 1. **Create and maintain all CI/CD pipelines** across Azure DevOps organizations
203
+ 2. **Configure branch policies** per repo risk level
204
+ 3. **Monitor pipeline health** — alert on persistent failures
205
+ 4. **Manage Terraform state** — ensure remote state backend is configured
206
+ 5. **Set up Azure cost alerts** — per resource group, per business
207
+ 6. **Security scanning** — Checkov for Terraform, dependency audits for code repos
208
+ 7. **Deployment automation** — Azure Functions, App Service, container deployments
209
+ 8. **Documentation** — keep this file and pipeline configs in sync
210
+
211
+ ---
212
+
213
+ ## Implementation Priority
214
+
215
+ 1. WidgetApp .NET backend pipeline (highest business priority)
216
+ 2. ops docs lint pipeline (catches documentation drift)
217
+ 3. WidgetApp mobile pipeline (when mobile development begins)
218
+ 4. WidgetApp firmware pipeline (when firmware work resumes)
219
+ 5. Terraform pipeline (when new Azure resources are provisioned)
220
+ 6. AcmeStore pipeline (when platform is selected)
221
+
222
+
223
+ ## Related
224
+
225
+ - [[DECISIONS]]
226
+ - [[governance/development-methodology|Development Methodology]]
227
+ - [[governance/testing-standards|Testing Standards]]