# Pascal Forge

Source: https://www.trypascal.io/platform/forge

One business rule. Every caller aligned.

Package shared logic as typed functions. Test the cases that matter, review a version, and make it available to the people, agents, and workflows that need it.

## Capabilities

### Define the contract

Name each function, define its inputs and outputs, and declare its effects and supported surfaces.

### Review the source

Work with Codex in a Code Task. Inspect Files and Changes before applying reviewed source to the package.

### Inspect the build

Follow validation, tests, and packaging. Inspect the result before choosing which version to release.

### Choose an activation

Select the functions, versions, callers, and surfaces. High-risk functions require an explicit risk acknowledgement.

### Run calculations and transformations

Use declared functions for operational calculations, row mappings, table transformations, and business-object actions.

### Follow the result

Inspect function runs and redacted output. Follow a consequential action through review and confirmation from the system it changes.

## Connected context

Reuse activated functions in Agents, Workflows, Data Pipelines, and Ontology actions. Keep the source, tests, builds, and release history together in the development workflow.

- Package source and function contracts
- Builds, tests, and package versions
- Activations and function runs

## Controls and permissions

Choose which version each caller can use. When a function changes a record or external system, that action still requires current permission and confirmation. Activating the function does not activate every process that refers to it.

## Example

The Workflow draft and the Shipment action preview need the same tendering rule. Both use evaluateTenderReadiness 0.4.0 after its three behavior checks and activation review. A passing missing-approval test confirms the expected hold. The function supplies the decision; it does not book a carrier or tender a shipment.

## Workflow

### Make the contract explicit

- The function accepts a shipment, telemetry, and Compliance evidence. It returns a readiness decision with reason codes; missing approval produces a hold.

### Test the outcomes that matter

- Approved, Stale telemetry, and Missing approval all match their expected results. Inspect the immutable build and the tests behind version 0.4.0.

### Activate the version for its callers

- After review of the exact plan, version 0.4.0 is activated for the Workflow and Ontology action previews. The function evaluates readiness; the running tendering process remains v12.

## Next steps

Choose a calculation or decision several callers need. Define its inputs, outputs, expected failures, and who can approve its use.

- [Contact sales](https://www.trypascal.io/contact)
- [Software Factory](https://www.trypascal.io/solutions/software-factory)
