# tools/core/predicates/placement.predicate.ts

> 8 lines of code and 2 definitions.

Tree: Coordination tree
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/coordination#file-coordination-tools-core-predicates-placement-predicate-ts
Source text: https://banes-lab.com/source/coordination/tools/core/predicates/placement.predicate.ts.txt

Listed in [tools/core/predicates](https://banes-lab.com/api/source/coordination/tools/core/predicates.md), after [tools/core/predicates/marker.predicate.ts](https://banes-lab.com/source/coordination/tools/core/predicates/marker.predicate.ts.md) and before [tools/core/predicates/schema.predicate.ts](https://banes-lab.com/source/coordination/tools/core/predicates/schema.predicate.ts.md).

## Definitions

- `isImmutable` (lexical_declaration, line 3, exported)
- `declared` (lexical_declaration, line 4, exported)

## Used by

- [tools/rules/placement.rule.ts](https://banes-lab.com/source/coordination/tools/rules/placement.rule.ts.md)

## Source

```typescript
import { lifetimeOf } from "../../../config/surface.config.ts";

export const isImmutable = function isImmutable(path: string): boolean {
    const declared = lifetimeOf(path);
    if (declared === null) {
        return false;
    }

    return declared.mutability === "frozen" && declared.removal === "none";
};
```
