---
id: TST-PFM-ELG-506
title: Responsibility registration manifest checks
kind: unit
product_area: platform
module: eligibility
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - modules/responsibilities/tests/unit/registration-manifest.spec.js
implements:
  - ATS-PFM-ELG-015-01
environment: mock
implementation_state: implemented
latest_result: not-run
conformance: not-verified
estimated_minutes: 1
isolation: One process with suite-local inputs.
evidence:
  - provenance: test
    source: >-
      services-platform:modules/responsibilities/tests/unit/registration-manifest.spec.js
    cases:
      - accepts a declaration with every optional part
      - >-
        accepts a manifest that declares nothing, which retires everything the
        application declared before
      - defaults a role default to the tenant scope kind
      - refuses a format version it does not understand
      - refuses an application that is not one lower word
      - refuses a manifest with no release
      - refuses a field the manifest does not define
      - refuses a key outside application.snake_case
      - refuses a key whose first word is not its application
      - >-
        refuses a declaration of another application than the manifest, naming
        the field
      - refuses a key declared twice
      - 'refuses a scope kind that is not a registered object id, tenant included'
      - refuses a scope kind named twice
      - refuses an expect_holder outside its closed list
      - refuses a role default that is not a role product key
      - refuses a role default at a scope kind the definition is not held at
      - refuses one role named twice at one scope kind
      - refuses a fallback that is the definition itself
      - refuses a derivation whose field is not a lower snake name
      - refuses a derivation at a scope kind the definition is not held at
      - refuses a label longer than the catalog keeps
  - provenance: documented
    source: >-
      services-platform:modules/responsibilities/tests/unit/registration-manifest.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.
---

# Responsibility registration manifest checks

## Verification Boundary

This suite checks isolated decisions and validation using the imported inputs. It cannot establish a complete service or browser lifecycle.

## 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. Passing isolated checks does not establish deployed dependencies or cross-application delivery.

## Real Dependencies and Test Doubles

The suite runs isolated checks; its imported fixtures and injected collaborators define the substitutions. The source imports and suite header identify the exact dependencies.

## Must Not Be Doubled

The decision or validator being asserted remains real; returning the expected answer from a substitute defeats the check.
