ProcessForge builds an execution context by merging sources from least specific to most specific.
Markdown instruction files such as AGENTS.md are not machine parameter
sources. If a station or global profile needs to contribute machine-readable
parameters, it must expose a structured YAML or JSON source explicitly. In the
default local/workplace mode, parameter value resolution starts at workplace.
core defaults
< workplace
< organization
< direction
< specialization
< platform
< toolchain
< project
< process
< stage
< task
< agent profile
- Packages are loaded by dependency graph before specificity.
- Scalar values are replaced by more specific values.
- Maps merge recursively.
- Lists merge by
idwhen list items have ids. - Lists without item ids are replaced by the more specific list.
nulldeletes a map value from a more general layer.- Locked policies cannot be overridden without explicit permission.
- Blocking conflicts stop execution context assembly.
- The final context records every source and package/template version.
- Task-level overrides must be explicit and logged.
parameters is a neutral tree. ProcessForge does not attach domain meaning to
keys such as test_stands, brand_channels, tax_profiles, or
render_presets; it only merges objects by the cascade rules and records
provenance.
Parameter values may be declared by structured workplace, specialization, platform, project, process, stage, task, or agent-profile sources when those sources are active. Organization and direction layers are optional and can be added later without changing the merge rules.
Inline local credentials are ordinary parameter values for the resolver.
Portable/public exports should prefer auth_ref or secret_ref and sanitize
inline secrets according to export policy.
The current file-first sources are:
- workplace manifest
parameters - workplace
registries/parameters.yaml - active platform contract
parameters - active specialization
parameters - project manifest
parameters - project local overrides
overrides.parameters - project
.pf/parameters.yaml - project
.pf/parameters.local.yaml - process definition, stage, and assignment
parameterswhen active
Example:
# <workplace-root>/registries/parameters.yaml
schema_version: 1
kind: processforge.parameters
scope: workplace
parameters:
test_stands:
- id: local-joomla
url: http://joomla.local/administrator/
user: codex
auth_ref: local.joomla.admin# <project-root>/.pf/process-forge.local.yaml
overrides:
parameters:
test_stands:
- id: local-joomla
user: project-user
auth_ref: project.local.joomla.adminThe resulting resolved_parameters.test_stands keeps one local-joomla item
and merges the project auth reference into the workplace object by id. A more
specific list item can set _delete: true or __delete__: true to remove an
inherited item.
informational: record only.warning: continue with review note.blocking: stop context assembly until resolved.