# configured-membership-capacity-review

> Immediate post-constructor collection capacity contradicts required distinct memberships.

Canonical: https://nightshade.dicksonwu.xyz/rules/configured-membership-capacity-review.html
Release: Nightshade 0.1.1 (v0.1.1)

| Field | Value |
| --- | --- |
| Rule ID | `configured-membership-capacity-review` |
| Severity | info |
| Confidence | high |
| Maturity | experimental |
| Selection | Opt-in |
| Policy intent | not required |
| Default enabled | no |
| Category | Other active opt-ins / Authorization, identity and membership |
| Engine facts used | constructor-to-entry-prefixes, exact-collection-capacity, successful-predicates |
| Release | v0.1.1 |

## Selection and scope

Not selected by default. Select it with `--detectors` or the `detectors` list in nightshade.json. Either one replaces profile selection, so list every rule you want.

```sh
./.nightshade/node_modules/.bin/nightshade ./contracts --detectors configured-membership-capacity-review
./.nightshade/node_modules/.bin/nightshade detector show configured-membership-capacity-review
```

The first command runs only this rule; `--detectors` takes a comma-separated list. The second prints the rule's metadata from your installed version.

Severity is review priority. It does not express exploitability or impact. Confidence is detector metadata, not a probability. All built-in rules are experimental.

Compiler scope: the engine supports the pinned profiles 0.28.0, 0.29.0, 0.30.0, 0.31.1, 0.33.0-rc.2, 0.34.0, 0.35.0-rc.1 and 0.35.0, with ZKIR2 by default. Support for this rule can be narrower; the rule documentation below states any narrower scope.

## Corpus checks

Synthetic corpus checks for this rule in the 0.1.1 proof run. A check counts only with compiler acceptance and complete analysis.

| Positive detected | Corrected quiet | Lookalike quiet | Other negative quiet | Incomplete |
| ---: | ---: | ---: | ---: | ---: |
| 3/3 | 3/3 | 3/3 | 0/0 | 0 |

No deviations were recorded for this rule.

These are behavior checks on synthetic fixtures, not a precision or recall estimate. See [evaluation](https://nightshade.dicksonwu.xyz/evaluation.md#synthetic-corpus).

## Rule documentation

From https://github.com/DicksonWu654/nightshade/blob/v0.1.1/docs/detectors/configured-membership-capacity-review.md at v0.1.1.

Availability: **opt-in** with `--detectors configured-membership-capacity-review`.
Severity: **info**. Confidence: **high** for the represented state/constraint contradiction.

The independent observer invokes the constructor then a membership-bearing entry
with fresh inputs and exact carried storage. It records assertion prefixes,
including prefixes rejected by ordinary execution. Current collection capacity
upper bounds and enforced pairwise key inequalities can prove that required
memberships are inconsistent immediately after that represented construction.

This does not establish permanent unusability, concrete invocation feasibility,
or native cryptographic validity. Later enrollment or other configuration can
change storage. No constructor or unknown entry storage supplies an empty-set
assumption. The rule never promotes sequence failures to universal
`impossible-assertion` findings.

Only exact immutable receiver/key identities and required Boolean constraints
participate. Wildcard address equality, stale saved membership results and
unknown collection replacements provide no capacity proof. Missing evidence,
unsupported relations/effects or exhausted budgets diagnose. Conservative
upper-bound tracking is enabled only for this observation; ordinary collection
snapshots and defaults remain unchanged. Unrelated entries receive resolved
structural absence coverage; independent baseline gaps remain explicit.

Ordinary registry dispatch stays inert without the optional constructor-boundary
facts. Selected scans request the independent observer and retain its missing
evidence and budget diagnostics.

A policy that intentionally requires more distinct members than the configured
capacity may produce this informational finding by design. Later configuration
can change the result; the observation is not a permanent-usability proof or a
claim that the constructor can be deployed or invoked successfully.

## Suppress a match

If a match is intentional, suppress it on the line before with the exact rule ID and a reason of at least eight characters:

```compact
// nightshade-disable-next-line configured-membership-capacity-review -- Reason this match is intentional
```

Diagnostics cannot be suppressed, and an unmatched directive for a selected rule makes analysis incomplete. See [configuration](https://nightshade.dicksonwu.xyz/configuration.md#suppress-an-intentional-match) for fingerprint suppressions and baselines.

## References

- [Rule source document at v0.1.1](https://github.com/DicksonWu654/nightshade/blob/v0.1.1/docs/detectors/configured-membership-capacity-review.md)
- [Catalog entry in rules.json](https://nightshade.dicksonwu.xyz/rules.json)
- [All rules](https://nightshade.dicksonwu.xyz/rules.md#authorization-identity-and-membership)
- [Limitations](https://nightshade.dicksonwu.xyz/limitations.md)
