mirror of
https://github.com/openprose/prose.git
synced 2026-09-19 05:55:05 +08:00
f12dcda4d8
Ships @openprose/reactor 0.3.0, @openprose/reactor-cli 0.2.0, @openprose/reactor-devtools 0.2.0: the Reactor harness (compile-once-intelligent then dumb reconciler, content-addressed receipts, cost scales with surprise) with the distilled ideal public API — curated front door, full @openai/agents passthrough, one typed handle, one Substrate, unified observe, branded ids, and additive forward seams for the fixpoint.
34 lines
1.3 KiB
Markdown
34 lines
1.3 KiB
Markdown
---
|
|
name: preflight
|
|
kind: function
|
|
---
|
|
|
|
### Goal
|
|
|
|
Report the dependency-installation and environment-variable readiness of a target `*.prose.md` contract before it is run.
|
|
|
|
### Parameters
|
|
|
|
- target: path to the `*.prose.md` file to preflight
|
|
|
|
### Returns
|
|
|
|
- report: preflight report listing dependency installation status and environment variable status (set/not set, never revealing values). The report reads `pass` when every `use` dependency is installed and every declared environment variable is set, and `fail` (with the missing items listed) otherwise.
|
|
|
|
### Errors
|
|
|
|
- not-found: target file does not exist
|
|
- not-system: target file is not a valid contract to preflight
|
|
|
|
### Invariants
|
|
|
|
- Never log, print, or include environment variable values in any output — only their set/not-set status.
|
|
|
|
### Execution
|
|
|
|
- Resolve the full set of contracts the target depends on, transitively, from the target's declared dependencies (the resolver).
|
|
- Collect all `environment:` declarations across the resolved contract tree (the env-checker).
|
|
- Check each env var with `test -n "${VAR+x}"` via Bash — this returns whether the variable exists without ever reading its value.
|
|
- Check that all `use` dependencies are installed in `<openprose-root>/deps/` (the dep-checker).
|
|
- Report readiness as `pass` (all satisfied) or `fail` (with missing items listed).
|