Skip to content

Add Skill workflow runtime handoffs - #2

Merged
cyou1314 merged 1 commit into
mainfrom
agent/skill-runtime-handoff
Aug 12, 2026
Merged

cyou1314 merged 1 commit into
mainfrom
agent/skill-runtime-handoff

Conversation

@cyou1314

Copy link
Copy Markdown
Owner

What changed

  • Add versioned Skill workflow, prompt-pack, QC-report, and runtime-handoff contracts.
  • Add deterministic CLI validation and build-runtime-handoff dry-run output.
  • Add sanitized examples, schemas, documentation, regression tests, and CI coverage.
  • Improve the Windows example launcher with an explicit Python override and common install-path fallback.

Why

This turns the local AIGC workflow into a reviewable public handoff without making Blender, FFmpeg, model accounts, paid generation, or video QC core dependencies.

Validation

  • 29 unittest cases passed.
  • Editable installation passed.
  • Windows run_examples.bat passed, including workflow, prompt, QC, and runtime handoff examples.
  • Runtime handoff CLI produced a valid blender-previs dry-run packet with executed: false and render_status: not_run.
  • Python compileall, public JSON parsing, git diff --check, and local-path boundary scan passed.

Boundary

This PR does not launch Blender, generate media, inspect a rendered video, or claim final QC evidence.

@cyou1314
cyou1314 marked this pull request as ready for review August 12, 2026 07:13
@cyou1314
cyou1314 merged commit 9489737 into main Aug 12, 2026
4 checks passed

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

Copy link
Copy Markdown

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: 8bd6d01d34

ℹ️ 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".

qc_report = workflow.get("qc_report")
qc_report_status = None
if qc_report is not None:
qc_result = validate_qc_report(qc_report)

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 Cross-check QC source shots against the embedded plan

When the embedded plan contains only S01, a structurally valid QC report with source_shot_ids: ["S99"] and an observed pass is still accepted, and the workflow summary exposes that pass status. This can attribute real QC evidence to the wrong shot, so the source IDs must be checked against shot_ids before the workflow is considered valid.

AGENTS.md reference: AGENTS.md:L7-L7

Useful? React with 👍 / 👎.

Comment on lines +107 to +108
if overall_status == "fail" and not failed_count:
warnings.append("overall_status fail has no failed check; confirm the report summary.")

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 Reject overall failures without a failed check

If an available artifact has only an observed passing check but overall_status is set to fail, this branch emits only a warning, so validate_qc_report returns valid: true and the CLI exits successfully. The aggregate failure is unsupported by the recorded evidence and should be a validation error rather than a successful QC report.

AGENTS.md reference: AGENTS.md:L7-L7

Useful? React with 👍 / 👎.

validation = validate_workflow(workflow, action_library)
workflow_dict = workflow if isinstance(workflow, dict) else {}
compiled_requests: list[dict[str, Any]] = []
for request in workflow_dict.get("action_requests", []):

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 Iterate over the normalized action-request list

When a malformed workflow supplies action_requests: null or another non-iterable value, validate_workflow correctly records a field error, but this loop re-reads the original value and raises TypeError instead of returning an invalid dry-run packet; the CLI does not catch that exception either. Use the validated list or guard its type so malformed contracts receive the deterministic field-level result promised by the validator.

AGENTS.md reference: AGENTS.md:L13-L13

Useful? React with 👍 / 👎.

@cyou1314 cyou1314 mentioned this pull request Aug 12, 2026
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