-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathcodecov.yml
More file actions
297 lines (266 loc) · 8.08 KB
/
Copy pathcodecov.yml
File metadata and controls
297 lines (266 loc) · 8.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
codecov:
require_ci_to_pass: true
coverage:
precision: 1
round: down
status:
project:
default:
target: auto
threshold: 1%
unit:
target: 80%
flags:
- unit
integration:
target: auto
flags:
- integration
e2e:
target: auto
flags:
- e2e
patch:
default:
target: 80%
comment:
layout: "diff, flags, components, files"
behavior: default
require_changes: false
require_base: yes
require_head: yes
flags:
unit:
paths:
- crates/**
- frontend/src/**
- release-site/scripts/**
- release-site/src/**
- src/capsem/**
carryforward: true
integration:
paths:
- crates/**
carryforward: true
e2e:
paths:
- crates/**
carryforward: true
linux-unit:
paths:
- crates/**
carryforward: true
# Components tag code paths by functional service.
component_management:
default_rules:
statuses:
- type: project
target: auto
threshold: 2%
- type: patch
target: 80%
individual_components:
# MITM HTTPS proxy, TLS, cert authority, domain/HTTP policy,
# AI traffic parsing (SSE, providers, pricing). All of net/
# except policy_config.
- component_id: network
name: Network
paths:
- crates/capsem-core/src/net/mod.rs
- crates/capsem-core/src/net/ai_traffic/**
- crates/capsem-core/src/net/cert_authority.rs
- crates/capsem-core/src/net/dns/**
- crates/capsem-core/src/net/interpreters/**
- crates/capsem-core/src/net/mitm_proxy/**
- crates/capsem-core/src/net/parsers/**
- crates/capsem-core/src/net/policy.rs
# Policy engine and security-rule evaluation, settings registry, corp
# lockdown/MDM, and the credential broker's storage boundary.
- component_id: security
name: Security
paths:
- crates/capsem-core/src/net/policy_config/**
- crates/capsem-core/src/security_engine/**
- crates/capsem-core/src/credential_broker.rs
# MCP endpoint, builtin HTTP tools, file/snapshot tools,
# MCP policy, auto-snapshots, FS monitor.
- component_id: tooling
name: Tooling
paths:
- crates/capsem-core/src/mcp/**
- crates/capsem-core/src/auto_snapshot.rs
- crates/capsem-core/src/fs_monitor.rs
- crates/capsem-core/src/bin/mcp_export.rs
# Logger DB, session index/maintenance, log layer, tracing bootstrap.
# Future: OTEL, reporting, SSH session recording.
- component_id: monitoring
name: Monitoring
paths:
- crates/capsem-logger/src/**
- crates/capsem-core/src/session/**
- crates/capsem-core/src/log_layer.rs
- crates/capsem-core/src/telemetry.rs
# Machine lifecycle, VM config, vsock manager, host-side lifecycle state
# machine. Hypervisor abstraction layer + platform backends.
- component_id: virtualization
name: Virtualization
paths:
- crates/capsem-core/src/vm/**
- crates/capsem-core/src/hypervisor/**
- crates/capsem-core/src/host_state.rs
# Runtime half of the asset contract: manifest hash extraction plus the
# download/verify path that resolves recorded digests before boot.
# capsem-admin owns the generation half, under the `admin` component.
- component_id: assets
name: Assets
paths:
- crates/capsem-core/src/asset_manager.rs
- crates/capsem-core/src/manifest_compat.rs
# Cross-cutting capsem-core primitives every other component builds on:
# crate root, ~/.capsem path resolution, UDS helpers, IPC handshake and
# stream coalescing, backoff polling, shared macros.
- component_id: core
name: Core Platform
paths:
- crates/capsem-core/src/lib.rs
- crates/capsem-core/src/paths.rs
- crates/capsem-core/src/macros.rs
- crates/capsem-core/src/poll.rs
- crates/capsem-core/src/uds.rs
- crates/capsem-core/src/ipc_ext.rs
- crates/capsem-core/src/ipc_handshake.rs
# In-VM agent binaries: PTY agent, net-proxy, MCP server
# relay, wire protocol.
- component_id: runtime
name: Runtime
paths:
- crates/capsem-agent/src/**
- crates/capsem-proto/src/**
# App shell: CLI/GUI wiring, boot, vsock wiring, session
# management. Evolves into orchestrator + API + auth.
- component_id: daemon
name: Daemon
paths:
- crates/capsem-app/src/**
# Service daemon: HTTP-over-UDS API, instance lifecycle,
# service-owned API surface.
- component_id: service
name: Service
paths:
- crates/capsem-service/src/**
statuses:
- type: project
target: 80%
# Per-VM process manager and lifecycle isolation.
- component_id: process
name: Process
paths:
- crates/capsem-process/src/**
statuses:
- type: project
target: 80%
# Admin/profile tooling: manifest generation, profile materialization,
# image build orchestration, and release asset validation.
- component_id: admin
name: Admin
paths:
- crates/capsem-admin/src/**
# CLI client: start, stop, exec, shell, list, status, delete.
- component_id: cli
name: CLI
paths:
- crates/capsem/src/**
statuses:
- type: project
target: 80%
# MCP server: AI agent tool gateway over stdio JSON-RPC.
- component_id: mcp-server
name: MCP Server
paths:
- crates/capsem-mcp/src/**
statuses:
- type: project
target: 80%
# MCP aggregator binary.
- component_id: mcp-aggregator
name: MCP Aggregator
paths:
- crates/capsem-mcp-aggregator/src/**
statuses:
- type: project
target: 80%
# Built-in MCP subprocess binary.
- component_id: mcp-builtin
name: MCP Builtin
paths:
- crates/capsem-mcp-builtin/src/**
statuses:
- type: project
target: 80%
# TCP-to-UDS gateway: auth, proxy, status cache, terminal WebSocket.
- component_id: gateway
name: Gateway
paths:
- crates/capsem-gateway/src/**
statuses:
- type: project
target: 80%
# Terminal UI: profile/session control over the service API.
- component_id: tui
name: TUI
paths:
- crates/capsem-tui/src/**
# System tray host: menu wiring, gateway client, icon rendering.
- component_id: systray
name: System Tray
paths:
- crates/capsem-tray/src/**
# Companion-lifecycle primitives: parent-watch, singleton flock.
# Small library but load-bearing -- ensures capsem-gateway and
# capsem-tray never outlive their parent service.
- component_id: guard
name: Guard
paths:
- crates/capsem-guard/src/**
statuses:
- type: project
target: 70%
# Frontend: Astro + Svelte components, views, stores.
# Populated when vitest coverage is added to pipeline.
- component_id: ui
name: UI
paths:
- frontend/src/**
# Release site: Astro pages and release graph rendering helpers.
- component_id: release-site
name: Release Site
paths:
- release-site/scripts/**
- release-site/src/**
# Builder: Pydantic schema, config models, image builder.
- component_id: builder
name: Builder
paths:
- src/capsem/**
# Local fixture server used for doctor, benchmark, recorder, and Ironbank proof.
- component_id: mock-server
name: Mock Server
paths:
- crates/capsem-mock-server/src/**
statuses:
- type: project
target: 80%
# Guest/host benchmark binary and protocol load generator.
- component_id: bench
name: Bench
paths:
- crates/capsem-bench/src/**
ignore:
- crates/*/tests/**
# `#[cfg(test)]`-only fixture helpers; not product code any component owns.
- crates/capsem-core/src/test_support/**
- crates/capsem-app/gen/**
- site/**
- docs/**
- guest/**
- scripts/**