Commit 14f82af
committed
Gate publication in three levels
First half of Phase 5, and the security-relevant core of it. The security model
defines hard block, overridable soft block, and clear; nothing implemented them,
so readiness collapsed every concern into one boolean where incomplete evidence
and confirmed danger looked identical.
PublicationGate evaluates a readiness assessment, findings, host capability, and
preview outcome into a content-addressed PublicationDecision. A verified secret
or an unacknowledged critical vulnerability is a hard block that accept_override
refuses outright. Incomplete scanner coverage, a failed preview, a missing
execution plan, or an unverified build is a soft block, clearable by an explicit
human decision that records exactly which codes it covers so the pull request
can name what was skipped.
A host with no container runtime is a soft block rather than a refusal.
Refusing there would put deployment out of reach for anyone unable to install a
runtime without making any project safer, which is the tradeoff the roadmap's
delivery tracks exist to preserve.
Reasons sort strongest first, so a reader sees a refusal before the noise, and
evaluation is deterministic so a digest can bind the decision.1 parent 1553010 commit 14f82af
4 files changed
Lines changed: 537 additions & 0 deletions
File tree
- crates/launchguard-core/src
- schemas
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
166 | 170 | | |
167 | 171 | | |
168 | 172 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
57 | 62 | | |
58 | 63 | | |
59 | 64 | | |
| |||
0 commit comments