---
id: TST-PFM-ELG-434
title: Eligibility publish followers checks
kind: integration
product_area: platform
module: eligibility
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - >-
    modules/eligibility/tests/integration/services/governance/publish-followers.integration.spec.js
implements:
  - ATS-PFM-ELG-004-06
  - ATS-PFM-ELG-004-07
environment: local
implementation_state: implemented
latest_result: not-run
conformance: not-verified
estimated_minutes: 5
isolation: Prepared local test database with suite-owned fixture keys and cleanup.
evidence:
  - provenance: test
    source: >-
      services-platform:modules/eligibility/tests/integration/services/governance/publish-followers.integration.spec.js
    cases:
      - >-
        finds every rule that inlines C at any depth, and none that pins a
        version of C
      - >-
        removes the stored plan of the outermost follower A, which it held
        before the publish
      - removes the stored plan of a rule pinning a version of B that follows C
      - >-
        keeps the stored plan of a rule pinning a version of C itself, whose
        rule did not change
      - compiles A’s binding with C’s new rule inlined at once
      - >-
        answers A’s binding a new plan hash, so the old plan’s If-None-Match no
        longer matches
      - >-
        answers a binding of a rule without references the same plan hash on
        every read
      - >-
        refuses the publish as unfit_followers, naming the binding and what its
        kind does not supply
      - >-
        leaves version 1 published, version 2 a draft and the binding active
        after the refusal
      - >-
        publishes with allow_unfit_followers, answering the binding it suspended
        and why
      - >-
        suspends the following binding and records the suspension in its audit
        trail
      - >-
        leaves a binding pinned to version 1 active, since its rule did not
        change
      - >-
        leaves exactly one of a bind and an unfit publish raced on the same
        definition standing
  - provenance: documented
    source: >-
      services-platform:modules/eligibility/tests/integration/services/governance/publish-followers.integration.spec.js:suite
      header
    note: >-
      The source header describes the verification boundary and declared
      substitutions.
proof_limit: >-
  Only the named scenario checkpoints have a verified source binding; execution
  has not been attempted.
---

# Eligibility publish followers checks

## Verification Boundary

This suite checks the module through real local service and database code at the entry points used by its test cases.

## What This Suite Proves

The mapped scenarios identify the capability and feature checkpoints this file exercises. The source test titles preserve the assertion-level evidence.

## What It Does Not Prove

Registration supplies no execution result or conformance decision. Checks beyond the file’s reachable assertions remain unverified, including production configuration.

## Real Dependencies and Test Doubles

The suite uses local integration fixtures. Signing, caches, provider responses or outbound delivery may be supplied by fixtures where the source declares a substitution. The source imports and suite header identify the exact dependencies.

## Must Not Be Doubled

The module behavior under assertion, transaction boundary and database constraint being checked remain real. Fixture setup cannot stand in for the asserted write or refusal.
