Skip to content

feat: record slide subagent generation state#31

Merged
ningzimu merged 2 commits into
mainfrom
codex/record-slide-subagent-state
May 25, 2026
Merged

feat: record slide subagent generation state#31
ningzimu merged 2 commits into
mainfrom
codex/record-slide-subagent-state

Conversation

@ningzimu
Copy link
Copy Markdown
Owner

@ningzimu ningzimu commented May 25, 2026

Summary

  • fix full-deck generation so the parent actively dispatches slide subagents after sample approval
  • require slide subagents to use the selected image generation backend instead of local rendering fallbacks
  • add script-recorded dispatch, result, blocker, and status state helpers for provenance

Verification

  • python3 -m py_compile skills/codex-ppt/scripts/prepare_slide_prompts.py skills/codex-ppt/scripts/record_slide_blocker.py skills/codex-ppt/scripts/record_slide_dispatch.py skills/codex-ppt/scripts/record_slide_result.py skills/codex-ppt/scripts/slide_job_status.py skills/codex-ppt/scripts/slide_run_state.py
  • git diff --check

@ningzimu ningzimu merged commit cd7a485 into main May 25, 2026
4 checks passed
@ningzimu
Copy link
Copy Markdown
Owner Author

Quick pass done locally.

  • state split looks coherent: dispatch / result / blocker / status responsibilities are clean
  • prepare_slide_prompts.py now writes enough handoff metadata for per-slide subagent orchestration
  • python3 -m py_compile passed for the new/updated scripts

No obvious blockers from this pass.

@ningzimu ningzimu deleted the codex/record-slide-subagent-state branch May 25, 2026 09:59
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 865441114d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +96 to +100
for value in (jobs.get("selected_backend"), prompt_job.get("expected_backend")):
if isinstance(value, str) and value.strip():
labels.append(value.strip())
labels.extend(_method_backend_labels(jobs.get("sample_generation_method")))
labels.extend(_method_backend_labels(prompt_job.get("sample_generation_method")))
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Enforce a single expected backend when recording results

record_slide_result.py accepts a worker result if --backend-used matches any label gathered from selected_backend, prompt expected_backend, and sample_generation_method fields. When those fields are inconsistent (for example selected_backend="built-in image tool" but sample method labels scripts/image_gen.py), a worker can switch backend and still be recorded as successful, which breaks the new “fixed backend after sample approval” contract and can silently mix generation paths within one deck.

Useful? React with 👍 / 👎.

Comment on lines +56 to +57
slide["status"] = "dispatched"
update_jobs_run_status(jobs)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Block dispatch when max concurrent slides is already reached

record_slide_dispatch.py transitions a slide from pending to dispatched without checking current active dispatch count against max_concurrent_slides. This allows the state file to record more active jobs than the configured cap, so orchestration that relies on these scripts can oversubscribe subagents/resources and violate the intended concurrency limit.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant