# 1.0.0-beta.22 Run Manifest And Execution Report Hardening

## Scope

`1.0.0-beta.22` is a compiler/tooling evidence-hardening slice for
`glagol run --manifest`. It keeps the Slovo source language, typed core,
runtime capabilities, standard-library surface, compiler-known runtime names,
ABI/layout policy, and package behavior unchanged.

The release adds an additive run-report block to run-mode artifact manifests
so manifest evidence can record:

- process exit status for the invoked program
- captured stdout from the run
- captured stderr from the run
- forwarded program arguments passed through `glagol run`

## Contract

When `glagol run --manifest <path>` completes far enough to write an artifact
manifest, the manifest should include run execution evidence in addition to the
existing schema marker, command, mode, success, diagnostics metadata, primary
output, and artifacts fields.

The run-report data describes the native executable invocation performed by
`glagol run`, not a new source-language or runtime feature. Captured stdout
and stderr are evidence fields for tooling and release-gate review; they do
not redefine ordinary terminal behavior. Forwarded args are recorded so
fixtures can distinguish compiler arguments from user-program arguments.

The block is additive beta tooling metadata. It is not a stable public schema
freeze and does not bump `slovo.artifact-manifest` version `1`.

## Non-Scope

This scope does not add:

- source-language syntax
- standard-library helpers
- compiler-known `std.*` runtime names
- runtime C capabilities
- package, workspace, import, or registry behavior
- stable artifact-manifest schema freeze
- stable Markdown schema freeze
- LSP, watch, SARIF, or daemon protocols
- performance claims
- stable ABI/layout
- beta maturity beyond the existing `1.0.0-beta` line

## Acceptance Criteria

- `glagol run --manifest <path>` writes an artifact manifest with an additive
  run-report block after executing a supported program.
- The run report records exit status, captured stdout, captured stderr, and
  forwarded args.
- Existing manifest fields and schema/version markers remain compatible with
  the beta artifact-manifest contract.
- Non-run modes do not need run-report metadata.
- Documentation describes beta22 as tooling/CLI evidence hardening only.
- Release notes and roadmaps state that beta22 does not add language or
  stdlib features and does not freeze the manifest schema.

## Suggested Gates

```bash
cargo fmt --check
cargo test --test run_manifest_beta22
cargo test --test cli_v1_1
./scripts/release-gate.sh
git diff --check
```
