---
id: FAS-PFM-MTD-02
title: Additional Fields and Attachments Acceptance
feature: FEAT-PFM-MTD-02
product_area: platform
module: metadata
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
capabilities:
  - CAP-PFM-MTD-005
  - CAP-PFM-MTD-006
  - CAP-PFM-MTD-007
scenarios:
  - id: FAS-PFM-MTD-02-01
    title: Staff add and recover a custom property
    kind: behaviour
    exercises:
      - CAP-PFM-MTD-005
      - CAP-PFM-MTD-006
    relies_on:
      - ATS-PFM-MTD-005-07
      - ATS-PFM-MTD-006-07
    preconditions: An object has a property and its own rules.
    steps:
      - do: 'Archive the property, inspect the rules and description, then restore it and read the definition.'
        provenance: proposed
        source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
    expected: >-
      Archival removes the current definition surface and its rules; restoration recovers the retained
      definition.
    negative: false
    data_needs: An object has a property and its own rules.
    bound_to: []
    provenance: proposed
    source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
    assertions:
      - expect: >-
          Archival removes the current definition surface and its rules; restoration recovers the retained
          definition.
        provenance: proposed
        source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
  - id: FAS-PFM-MTD-02-02
    title: A condition dependency blocks archival until corrected
    kind: interaction
    exercises:
      - CAP-PFM-MTD-005
      - CAP-PFM-MTD-006
    relies_on:
      - ATS-PFM-MTD-006-06
      - ATS-PFM-MTD-005-07
    preconditions: A rule depends on a second property.
    steps:
      - do: Attempt to archive the driver and inspect the explanation and unchanged property.
        provenance: test
        source: >-
          react-console:acceptance/custom-objects/playwright/journeys/PLAT-M5-S09.spec.ts#PLAT-M5-S09:
          archiving a property another rule depends on is refused, naming the rule
    expected: The dependent rule is named and no archive is saved.
    negative: false
    data_needs: A rule depends on a second property.
    bound_to:
      - TST-PFM-MTD-009
    provenance: test
    source: >-
      react-console:acceptance/custom-objects/playwright/journeys/PLAT-M5-S09.spec.ts#PLAT-M5-S09: archiving a
      property another rule depends on is refused, naming the rule
    assertions:
      - expect: The dependent rule is named and no archive is saved.
        provenance: test
        source: >-
          react-console:acceptance/custom-objects/playwright/journeys/PLAT-M5-S09.spec.ts#PLAT-M5-S09:
          archiving a property another rule depends on is refused, naming the rule
  - id: FAS-PFM-MTD-02-03
    title: Field lifecycle controls later file-valued inputs
    kind: lifecycle
    exercises:
      - CAP-PFM-MTD-005
      - CAP-PFM-MTD-007
    relies_on:
      - ATS-PFM-MTD-005-07
      - ATS-PFM-MTD-007-03
    preconditions: A file property has valid staging and an existing saved value.
    steps:
      - do: >-
          Archive the property and attempt to save new staged content; restore it and retry with fresh
          staging.
        provenance: proposed
        source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
    expected: The property lifecycle governs the new save while the earlier value remains retained.
    negative: false
    data_needs: A file property has valid staging and an existing saved value.
    bound_to: []
    provenance: proposed
    source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
    assertions:
      - expect: The property lifecycle governs the new save while the earlier value remains retained.
        provenance: proposed
        source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
  - id: FAS-PFM-MTD-02-04
    title: Upload reach does not confer field administration
    kind: permission
    exercises:
      - CAP-PFM-MTD-005
      - CAP-PFM-MTD-007
    relies_on:
      - ATS-PFM-MTD-007-01
      - ATS-PFM-MTD-007-02
      - ATS-PFM-MTD-005-11
    preconditions: An uploader lacks definition-update permission.
    steps:
      - do: Obtain permitted staging and attempt to change the field definition.
        provenance: proposed
        source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
    expected: The upload is issued and the unauthorized definition change is refused.
    negative: true
    data_needs: An uploader lacks definition-update permission.
    bound_to: []
    provenance: proposed
    source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
    assertions:
      - expect: The upload is issued and the unauthorized definition change is refused.
        provenance: proposed
        source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
  - id: FAS-PFM-MTD-02-05
    title: Widening preserves definitions while invalid rules preserve the preceding set
    kind: regression
    exercises:
      - CAP-PFM-MTD-005
      - CAP-PFM-MTD-006
    relies_on:
      - ATS-PFM-MTD-005-04
      - ATS-PFM-MTD-006-02
    preconditions: A decimal field has rules and stored values.
    steps:
      - do: 'Widen its precision, submit an invalid replacement condition and reread both definition and rules.'
        provenance: proposed
        source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
    expected: The wider definition remains and the rejected rule request preserves the preceding rules.
    negative: true
    data_needs: A decimal field has rules and stored values.
    bound_to: []
    provenance: proposed
    source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
    assertions:
      - expect: The wider definition remains and the rejected rule request preserves the preceding rules.
        provenance: proposed
        source: specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
evidence:
  - specs/platform/metadata/planning/features/FEAT-PFM-MTD-02-custom-fields-and-files.md
  - >-
    specs/platform/metadata/planning/capabilities/CAP-PFM-MTD-005-add-the-workspace-s-own-fields-to-a-record-type-and-evolve.md
  - >-
    specs/platform/metadata/planning/capabilities/CAP-PFM-MTD-006-make-a-field-required-shown-unique-defaulted-or-exposed-by.md
  - >-
    specs/platform/metadata/planning/capabilities/CAP-PFM-MTD-007-give-a-person-a-safe-short-lived-place-to-upload-a-picture-or.md
---

# Additional Fields and Attachments: Feature Acceptance Suite

## What the Feature Must Do as a Whole

The suite follows additional fields and attachments through its customer outcomes, lifecycle actions, permission refusals and retained regression cases. Each scenario names the capabilities it exercises and the detailed outcomes it relies on. Existing executable bindings identify specific assertions, while unbound scenarios remain proposed acceptance work.

## Interactions Between Capabilities

A condition dependency blocks archival until corrected. The interaction case checks the joint outcome after configuration or record state changes, so separate capability checks cannot stand in for the complete feature result.

## Regression Record

| Revision | Change | Scenario | Why |
|---|---|---|---|
| 1 | initial | all | Establish cumulative feature acceptance from the landed capability and design obligations. |
