Files
clean-architecture-backend-…/docs/superpowers/plans/evidence/2026-08-15-wave6-final/task2-b5-ghost-release-lanes.md
T

2.5 KiB

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

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.