Files
claw/docs/superpowers/reports/2026-04-21-generated-scene-runtime-semantics-post-refresh-residual-closure-report.md

2.3 KiB

Generated Scene Runtime Semantics Post-Refresh Residual Closure Report

Date: 2026-04-21

Plan:

  • docs/superpowers/plans/2026-04-21-generated-scene-runtime-semantics-post-refresh-residual-closure-plan.md

Scope

This closure handled only the two post-refresh residuals exposed by the 2026-04-21 validation refresh:

  1. deterministic suffix regression in rematerialized scene.toml
  2. invalid TOML generation for sweep-078-scene

No rematerialization refresh, validation refresh, pseudo-production execution, runtime change, service-console change, or board update was executed.

Changes

Deterministic suffix regression

render_scene_toml now emits:

suffix = "。。。"

instead of using the scene name as the deterministic suffix.

TOML string escaping

escape_toml now escapes:

  1. backslash
  2. double quote
  3. newline
  4. carriage return
  5. tab
  6. remaining control characters

This prevents request mapping fields or other generated scalar strings from breaking TOML syntax when source evidence contains comments, embedded line breaks, or malformed text fragments.

Files Changed

  • src/generated_scene/generator.rs
  • tests/scene_generator_test.rs

Route-Local Asset

  • tests/fixtures/generated_scene/generated_scene_runtime_semantics_post_refresh_residual_closure_followup_2026-04-21.json

Validation

Passed:

cargo test --test scene_generator_test generator_writes_real_sweep_030_org_dictionary_from_embedded_source -- --nocapture
cargo test --test scene_generator_test generator_escapes_request_mapping_fields_for_valid_toml -- --nocapture

The first test proves the generated sweep-030-scene scene.toml now preserves the hardened facts and emits suffix = "。。。".

The second test proves the generated sweep-078-scene scene.toml parses as TOML after escaping.

Residuals Not Closed Here

The 6 local_doc_pipeline rematerialization residuals were not addressed in this plan:

  1. sweep-025-scene
  2. sweep-047-scene
  3. sweep-050-scene
  4. sweep-052-scene
  5. sweep-062-scene
  6. sweep-087-scene

They require a separate bounded route if they remain in scope.

Next Step

Rerun the runtime-semantics rematerialization execution plan, then rerun validation refresh against the newly generated bundle.

Do not proceed directly to pseudo-production from the previous 2026-04-21 refreshed bundle.