refactor: 각 어댑터터별 리펙토링 진행
This commit is contained in:
+59
@@ -0,0 +1,59 @@
|
||||
# Task 2 — Wave 2 Task B5, the three ghost release lanes
|
||||
|
||||
Wave 2 offered two outcomes for `mongoShardedTest`, `mongoAtlasTest` and `mongoKmsTest`: implement
|
||||
them, or demote them and stop describing an unrunnable gate. **(b) Demote was taken**, and it is
|
||||
reflected in all three places the plan names.
|
||||
|
||||
## `src/config/mongodb/release-contracts.json`
|
||||
|
||||
All three moved out of the Stable blocking set into `experimental_contracts`, each carrying
|
||||
`"blocking": false`, `"promotion": "experimental"` and a `not_promoted_reason` that states the
|
||||
mechanism rather than an intention:
|
||||
|
||||
> A manifest entry pointing at an unregistered task does not fail; it is simply never run, and the
|
||||
> release reports green for a capability nobody qualified. Demoted rather than implemented so the
|
||||
> green means what it says.
|
||||
|
||||
That is the correct reading. A release manifest naming a task that no build file registers is not a
|
||||
failing gate — it is an absent one, and absence is indistinguishable from success in a report that
|
||||
counts failures.
|
||||
|
||||
## `docs/mongodb/advanced/sharding.md`
|
||||
|
||||
The gate row now reads:
|
||||
|
||||
> **Not promoted.** No `mongoShardedTest` lane is registered, and a sharded cluster is not an
|
||||
> environment this repository stands up. Listed under `experimental_contracts` in
|
||||
> `src/config/mongodb/release-contracts.json`; promoting it needs the lane, its required class, and
|
||||
> protected-environment evidence to exist first.
|
||||
|
||||
## `scripts/verify-mongodb-advanced.sh`
|
||||
|
||||
Setting `MONGODB_SHARDED_URI` is now an explicit error rather than an invocation of a task that does
|
||||
not exist:
|
||||
|
||||
```
|
||||
sharded topology is experimental and has no registered lane;
|
||||
MONGODB_SHARDED_URI was set but mongoShardedTest does not exist.
|
||||
See experimental_contracts in src/config/mongodb/release-contracts.json.
|
||||
```
|
||||
|
||||
The distinction the script draws is worth keeping: an operator who exported the URI expected a
|
||||
qualification to run, so silence would be worse than failure. With the URI unset it records missing
|
||||
evidence instead, which is a different statement from a pass.
|
||||
|
||||
## The arbiter
|
||||
|
||||
```bash
|
||||
cd src
|
||||
./gradlew :app-bootstrap:test --tests '*ReleaseManifestTaskExistenceTest' --console=plain
|
||||
```
|
||||
|
||||
`BUILD SUCCESSFUL` — 1 test, 0 failures, 0 skipped. The manifest names no blocking task that the
|
||||
build does not register.
|
||||
|
||||
## Registered Mongo lanes, for the record
|
||||
|
||||
`mongoStableContractTest`, `mongoReplicaSetTest`, `mongoFailoverTest`, `mongoMigrationTest`,
|
||||
`mongoCompatibilityTest`, `mongoSecurityIntegrationTest`, `mongoPerformanceTest` — seven, and none of
|
||||
the three demoted names among them, which is the state the demotion describes.
|
||||
Reference in New Issue
Block a user