Param Forge reference notes (for Brood)
Note: The original Param Forge snapshot is no longer shipped in this repo. This file preserves compatibility notes from that historical reference.
This doc records the Param Forge receipt schema and loop patterns to mirror. These notes were extracted from the archived Param Forge code/docs (forge_image_api/*, param_forge.py, and supporting docs).
Receipt schema (Param Forge)
Defined in historical Param Forge sources forge_image_api/core/receipts.py and core/contracts.py.
Top-level keys (schema_version = 1):
schema_version (int)
request (ImageRequest serialized)
- prompt, mode, size, n, seed, output_format, background
- inputs (init_image, mask, reference_images)
- provider, provider_options, user, out_dir, stream, partial_images, model
- metadata (free-form)
resolved (ResolvedRequest serialized)
- provider, model, size, width, height, output_format, background, seed, n
- user, prompt, inputs, stream, partial_images
- provider_params (provider-specific resolved params)
- warnings
provider_request (sanitized provider payload)
provider_response (sanitized provider payload)
warnings (list of strings)
artifacts
result_metadata (free-form; expanded post-run)
Observed result_metadata fields from Param Forge:
render_seconds (float)
render_started_at / render_completed_at (ISO strings; documented in docs/llm_review_context.md)
llm_scores (object: adherence, quality, model, version)
llm_retrieval (object: score, axes, packet, model, gated, gate_reasons)
image_quality_metrics (object: metrics, gates, version)
Notes:
- Provider request/response are sanitized to omit raw image bytes.
- Receipts are immutable in intent, but Param Forge appends metadata fields after generation.
Loop patterns to mirror
1) Interactive optimize loop (core UX)
Pattern in scripts/param_forge.py:
- Collect provider/model/size/params and prompt.
- Generate images + receipts.
- Post-run analysis (optional): LLM-based receipt analysis recommends param changes.
- Show diffs (settings + prompt) between current and recommended.
- User accepts or rejects recommendations; repeat if accepted.
Loop shape: generate -> evaluate -> recommend -> accept -> regenerate.
2) Batch run (plan -> execute -> resume)
Pattern in docs/experiment_mode_spec.md:
- Build a plan from prompts + matrix + limits.
- Write a run manifest (run.json) before execution.
- Execute with concurrency + budget enforcement.
- Resume by skipping completed jobs.
Loop shape: plan -> execute -> summarize -> resume if needed.
3) Viewer & winner selection
Pattern in param_forge.py view:
- Load receipts + manifest.
- Render grid, enable compare, winner pick, and copy snippet.
- Use receipts as the source of truth for prompt + params.
Loop shape: browse -> compare -> select winner -> copy/branch.
These patterns inform Brood's receipt-driven event stream, iterative agent loops, and deterministic versioning.
1---2name: param-forge-reference-notes-for-brood-23description: Note: The original Param Forge snapshot is no longer shipped in this repo. This file preserves compatibility notes from that historical reference.4---5# Param Forge reference notes (for Brood)67Note: The original Param Forge snapshot is no longer shipped in this repo. This file preserves compatibility notes from that historical reference.89This doc records the Param Forge receipt schema and loop patterns to mirror. These notes were extracted from the archived Param Forge code/docs (`forge_image_api/*`, `param_forge.py`, and supporting docs).1011## Receipt schema (Param Forge)12Defined in historical Param Forge sources `forge_image_api/core/receipts.py` and `core/contracts.py`.1314Top-level keys (schema_version = 1):15- `schema_version` (int)16- `request` (ImageRequest serialized)17 - prompt, mode, size, n, seed, output_format, background18 - inputs (init_image, mask, reference_images)19 - provider, provider_options, user, out_dir, stream, partial_images, model20 - metadata (free-form)21- `resolved` (ResolvedRequest serialized)22 - provider, model, size, width, height, output_format, background, seed, n23 - user, prompt, inputs, stream, partial_images24 - provider_params (provider-specific resolved params)25 - warnings26- `provider_request` (sanitized provider payload)27- `provider_response` (sanitized provider payload)28- `warnings` (list of strings)29- `artifacts`30 - image_path31 - receipt_path32- `result_metadata` (free-form; expanded post-run)3334Observed `result_metadata` fields from Param Forge:35- `render_seconds` (float)36- `render_started_at` / `render_completed_at` (ISO strings; documented in `docs/llm_review_context.md`)37- `llm_scores` (object: adherence, quality, model, version)38- `llm_retrieval` (object: score, axes, packet, model, gated, gate_reasons)39- `image_quality_metrics` (object: metrics, gates, version)4041Notes:42- Provider request/response are sanitized to omit raw image bytes.43- Receipts are immutable in intent, but Param Forge appends metadata fields after generation.4445## Loop patterns to mirror4647### 1) Interactive optimize loop (core UX)48Pattern in `scripts/param_forge.py`:49- Collect provider/model/size/params and prompt.50- Generate images + receipts.51- Post-run analysis (optional): LLM-based receipt analysis recommends param changes.52- Show diffs (settings + prompt) between current and recommended.53- User accepts or rejects recommendations; repeat if accepted.5455Loop shape: `generate -> evaluate -> recommend -> accept -> regenerate`.5657### 2) Batch run (plan -> execute -> resume)58Pattern in `docs/experiment_mode_spec.md`:59- Build a plan from prompts + matrix + limits.60- Write a run manifest (run.json) before execution.61- Execute with concurrency + budget enforcement.62- Resume by skipping completed jobs.6364Loop shape: `plan -> execute -> summarize -> resume if needed`.6566### 3) Viewer & winner selection67Pattern in `param_forge.py view`:68- Load receipts + manifest.69- Render grid, enable compare, winner pick, and copy snippet.70- Use receipts as the source of truth for prompt + params.7172Loop shape: `browse -> compare -> select winner -> copy/branch`.7374These patterns inform Brood's receipt-driven event stream, iterative agent loops, and deterministic versioning.