video-workbench/projects/2026-06-23-在路上/tasks/2026-06-24-character-consis.../task-plan.md

22 KiB

Character Consistency Test

Status

  • Task id: 2026-06-24-character-consistency
  • Worker profile: video-slide-production
  • Running mode: prompt and generate
  • Status: R7 production-light route accepted; session-13 direct-child/no-Agent package for S-29/S-30/S-31 is the formal production default
  • Child session reuse test: passed for session-04 continuation (S-33 then S-06 in the same clean child thread)
  • Deprecated child session id: 019ef77d-552b-7343-abe4-88921b35d7ea (do not reuse)
  • Session-02 child-session id: 019ef7ca-413a-7662-9633-7fb126b7ef35
  • Session-02 resolved version: s21-v2 (runtime fallback; no prompt/image)
  • Session-03 resolved version: s21-v3
  • Thread-level child test: session-03
  • Session-03 child thread id: 019ef7d2-1a7f-7a90-8c04-0098239dfe0f
  • Session-03 slide-agent thread id: 019ef7d6-3ff6-7213-b68c-fd646e39f1d2
  • Session-03 continuation recorded Agent S-14: 019ef803-95d7-7411-8d3c-c7f2f68a32e7
  • Session-03 duplicate Agent S-14 observed by parent: 019ef803-328a-7e40-a0b0-0333c6b5fc6c
  • Session-03 continuation Agent S-25: 019ef803-e757-7041-8f4a-fc9dfce23bbd
  • Session-04 child thread id: 019ef876-c5b2-7202-b204-774cb5fb95fd
  • Session-04 resolved versions: s33-v2, s06-v2
  • Session-04 Agent S-33: 019ef87a-3aa1-75a2-a97c-de8f57e234e1
  • Session-04 Agent S-06: 019ef886-8797-7243-9427-d45065fcfc47
  • Session-06 child thread id: 019ef907-16b7-7a43-9924-227892aa62d3
  • Session-06 accepted versions: s07-v2, s08-v3, s09-v2
  • Session-06 Agent S-07: 019ef90a-422b-7333-9021-f19b8dd1c0b7
  • Session-06 incomplete Agent S-08 attempt: 019ef91a-9be1-7642-8f67-f9df7bb055f0 (s08-v2 transport failure; prompt only)
  • Session-06 retry Agent S-08: 019ef927-d480-7252-9650-8b0670f877d7
  • Session-06 Agent S-09: 019ef92d-fa13-7053-aec9-fa8abb75f8d2
  • Session-07 child thread id: 019ef943-52af-7893-b758-199873c94b7a
  • Session-07 accepted versions: s11-v2, s12-v2, s13-v2
  • Session-07 Agent S-11: 019ef948-aa2e-7422-b5eb-f2385958f92d
  • Session-07 Agent S-12: 019ef94e-beef-72e2-ab88-05cf00739e7e
  • Session-07 Agent S-13: 019ef955-16cb-7532-ad1f-2d5447ad90f1
  • Session-08 child thread id: 019ef969-66e7-7c52-a437-045371668d41
  • Session-08 generated versions: s15-v2, s16-v2, s17-v2, s18-v2
  • Session-08 visual result: s16-v2 not accepted; repair deferred to R6
  • Session-09 child thread id: 019ef9bc-fe96-75b3-b902-5d5ef95feca3
  • Session-09 parent callback target: 019ef9b5-cc39-7a42-91b1-f9b0852dc95e
  • Session-09 generated version: s16-v3
  • Session-09 result: callback-only parent wakeup observed; completion gate pass; user accepted s16-v3-image.png
  • Session-10 child thread id: 019ef9d0-4914-7ea0-8935-bfd9bfc1aad4
  • Session-10 parent callback target: 019ef9b5-cc39-7a42-91b1-f9b0852dc95e
  • Session-10 scope: S-19, S-20, S-22, S-23
  • Session-10 result: user paused after S-20 worker boundary violation; s19-v2 accepted; s20-v2, s22-v2, and s23-v2 are incomplete evidence
  • Session-11 child thread id: 019ef9f8-8c34-77a3-82af-9a25beb2c723
  • Session-11 parent callback target: 019ef9b5-cc39-7a42-91b1-f9b0852dc95e
  • Session-11 scope: S-20, S-22, S-23, S-24
  • Session-11 result: completion gate pass; generated s20-v3, s22-v3, s23-v3, s24-v2; user accepted all four images
  • Session-12 metric: user observed 25m48s / 134K tokens for 3 slides with Agent still used.
  • Session-13 metric: user observed 10m32s / 114K tokens for 3 slides with direct child session and no Agent/SubAgent.
  • Artifact policy: append-only next slide version; overwrite disabled by default

R7 Production-Light Active Scope

  • Line: production-light
  • Worker profile: video-slide-production
  • Running mode: prompt and generate
  • Review mode: none
  • Scope: S-26/S-27/S-28
  • Expected versions from current slide folders: s26-v2, s27-v2, s28-v2
  • Child session: session-12 clean visible Codex child thread 019efbb4-b366-7de3-8e02-01183b3d0b13
  • Parent callback target: 019efb9f-ece2-78d2-ba6a-4ca1dcfe3244
  • Write policy: append-only; overwrite allowed: no
  • Production rule: generated images are production-pass outputs by default; no per-image user review gate
  • Parent consumption rule: read compact child handoff after callback; inspect prompt / return / image details only on blocked, failed, warning, artifact collision, duplicate worker, or explicit user audit request
  • Status: complete; callback received; completion gate pass; outputs recorded as production-pass by task rule; user observed 25m48s / 134K tokens

Direct-Child Production-Light Test Scope

  • Line: production-light
  • Topology: main session -> child session directly; no Agent / SubAgent
  • Running mode: prompt and generate
  • Review mode: none
  • Scope: S-29/S-30/S-31
  • Expected versions from current slide folders: s29-v2, s30-v2, s31-v2
  • Child session: session-13 clean visible Codex child thread 019efbd8-f75d-7512-9952-aa3528fde581
  • Parent callback target: 019efb9f-ece2-78d2-ba6a-4ca1dcfe3244
  • Write policy: append-only; overwrite allowed: no
  • Test purpose: measure real time and context/token use when the child session directly writes brief, prompt, image, slides table, and compact handoff without Agent, packet, return receipt, review, or final verification pass.
  • Status: complete; callback received; outputs recorded as production-pass by task rule; user accepted all three images and observed 10m32s / 114K tokens. This direct-child topology is now the formal production default.

Formal Production Default

  • Project phase source: project.md records Workflow phase: production-light.
  • Default child session title: 子会话:<short task/scope>.
  • Default topology: main session -> named child session directly.
  • Default child scope: up to 3 slides unless user explicitly overrides.
  • Default artifacts: sNN-vN-brief.md, sNN-vN-prompt.md, sNN-vN-image.png, slides.md status update, and compact child handoff.
  • Default omissions: no review file, no Agent/SubAgent, no packet/return receipt, no routine final verification pass.
  • Retained guard: scan target slide folder before writing, choose next unused version, and keep overwrite disabled.

User Instructions

Latest third-round test instruction:

  • Step 1: start a clean child session and send the S-33 production request, with no review.
  • Step 2: continue the same child session and send the S-06 production request, with no review.
  • Main-session checks focus on child-session startup, internal Agent / SubAgent operation, and whether the prompt contains character and style references.
  • User checks final image acceptability.

Earlier reset instruction after S-05:

Run the character-consistency workflow as a process and identity-consistency test.

Earlier s05 work exposed two workflow problems:

1. The child session did not start the slide-agent itself.
2. `s05-v1-image.png` was overwritten even though a broad-run candidate already existed.

The reset rule for the next run is:

  • do not reuse child session 019ef77d-552b-7343-abe4-88921b35d7ea;
  • start a new child session;
  • require the new child session to start the single-slide S-21 agent itself;
  • use a new slide artifact version resolved from existing slides/s21/s21-v*-* files;
  • do not overwrite existing slide artifacts;
  • explicitly disable review for this S-21 test so the workflow can verify that no review file is created when review is disabled.

Slide Scope

Completed previous tests:

s05
s21
s14
s25

Completed session-04 third-round test:

s33
s06
s07
s08
s09
s11
s12
s13

Completed R7 production-light trials:

S-26/S-27/S-28 as session-12, prompt and generate, review: none, Agent-backed production-light.
S-29/S-30/S-31 as session-13, prompt and generate, review: none, direct child/no-Agent.
No active authorized scope; wait for next production decision.

Child Session Split

session-01: historical previous attempt; do not reuse
session-02: s21 fallback evidence only; no prompt/image
session-03: s21 accepted -> s14/s25 accepted; duplicate S-14 worker defect recorded
session-04: clean child thread; s33-v2 then s06-v2 accepted; mechanism pass for this scope
session-06: clean child thread; s07-v2 accepted, then s08-v3 and s09-v2 accepted; s08-v2 preserved as incomplete transport-failure evidence
session-07: clean child thread; completed and user accepted S-11/S-12/S-13 as the first direct 3-slide package test
session-08: clean child thread `019ef969-66e7-7c52-a437-045371668d41`; S-15/S-16/S-17/S-18 as first direct 4-slide package test; flow gate pass, S-16 visual repair deferred
session-09: clean child thread `019ef9bc-fe96-75b3-b902-5d5ef95feca3`; R6 Phase 1 callback-only S-16 repair generated `s16-v3`; completion gate pass, user accepted image
session-10: clean child thread `019ef9d0-4914-7ea0-8935-bfd9bfc1aad4`; R6 Phase 2 first 4-shot package for S-19/S-20/S-22/S-23; paused by user after S-20 worker boundary violation; s19-v2 accepted, remaining v2 items incomplete evidence
session-11: clean child thread `019ef9f8-8c34-77a3-82af-9a25beb2c723`; R6 Phase 2 retry package for S-20/S-22/S-23/S-24; callback received, completion gate pass, user accepted all four images
session-12: clean child thread `019efbb4-b366-7de3-8e02-01183b3d0b13`; R7 Agent-backed production-light package for S-26/S-27/S-28; user accepted all three images
session-13: clean child thread `019efbd8-f75d-7512-9952-aa3528fde581`; R7 direct-child/no-Agent production-light package for S-29/S-30/S-31; user accepted all three images; formal production default

Current session-03 continuation generated s14-v2 and s25-v2 after user accepted s21-v3-image.png; user then accepted both images and closed the test. The mechanism result is not a clean pass because two S-14 workers were created for one slide/version.

session-04 was created after the carrier rule was corrected to use a clean user-visible child thread, not a forked/inherited-context thread. It received S-33 first, then S-06 as a continuation in the same child thread.

Session-04 mechanism result:

  • child session was visible to user and recorded as 019ef876-c5b2-7202-b204-774cb5fb95fd;
  • child session started one internal one-shot worker for each slide: Agent S-33 and Agent S-06;
  • each worker handled exactly one slide and resolved the next unused version before writing;
  • no s33-v2-review.md or s06-v2-review.md exists;
  • prompts record gpt-image-2 Advisor / host-native mode plus style and character reference inputs;
  • user accepted both generated images.

Continuation rule now validated for this two-slide scope:

  • use the same clean child thread only inside the user-approved task scope;
  • child thread must start one separate one-shot slide worker per slide;
  • do not reuse or continue a previous slide worker;
  • each worker handles exactly one slide;
  • each slide resolves the next unused version by scanning existing files;
  • do not overwrite existing broad-run or accepted images.

Session id record:

session-01 child session agent id: 019ef77d-552b-7343-abe4-88921b35d7ea (deprecated / do not reuse)
session-02 child session agent id: 019ef7ca-413a-7662-9633-7fb126b7ef35
session-03 child thread id: 019ef7d2-1a7f-7a90-8c04-0098239dfe0f
session-03 Agent S-21 thread id: 019ef7d6-3ff6-7213-b68c-fd646e39f1d2
session-03 recorded Agent S-14 thread id: 019ef803-95d7-7411-8d3c-c7f2f68a32e7
session-03 duplicate Agent S-14 thread id observed by parent: 019ef803-328a-7e40-a0b0-0333c6b5fc6c
session-03 Agent S-25 thread id: 019ef803-e757-7041-8f4a-fc9dfce23bbd
session-04 child thread id: 019ef876-c5b2-7202-b204-774cb5fb95fd
session-04 Agent S-33 id: 019ef87a-3aa1-75a2-a97c-de8f57e234e1
session-04 Agent S-06 id: 019ef886-8797-7243-9427-d45065fcfc47

Continuation result:

  • s14-v2-prompt.md, s14-v2-image.png, and s14-v2-slide-agent-return.md exist; no s14-v2-review.md exists.
  • s25-v2-prompt.md, s25-v2-image.png, and s25-v2-slide-agent-return.md exist; no s25-v2-review.md exists.
  • s14 prompt evidence records gpt-image-2 Advisor / host-native mode, visible side/front character refs, and style module B | 高位观察.
  • s25 prompt evidence records gpt-image-2 Advisor / host-native mode, visible side/front/body refs, and style module A | 清晨泥泞旷野 adapted for dust/detail.
  • User accepted both s14-v2-image.png and s25-v2-image.png.
  • Defect: child handoff records only Agent S-14 019ef803-95d7-7411-8d3c-c7f2f68a32e7, but parent thread inspection also found duplicate Agent S-14 019ef803-328a-7e40-a0b0-0333c6b5fc6c; the S-14 return/image source path records the duplicate thread folder. Treat step 2 as generated-with-defect, not as workflow pass.

Session-04 result:

  • s33-v2-brief.md, s33-v2-prompt.md, s33-v2-image.png, and session-04/returns/s33-v2-slide-agent-return.md exist; no s33-v2-review.md exists.
  • s06-v2-brief.md, s06-v2-prompt.md, s06-v2-image.png, and session-04/returns/s06-v2-slide-agent-return.md exist; no s06-v2-review.md exists.
  • s33 prompt evidence records gpt-image-2 Advisor / host-native mode, A/D-adjacent style calibration, and visible side/front/master character refs.
  • s06 prompt evidence records gpt-image-2 Advisor / host-native mode, style module A / Landscape-Led Road, and visible back/walking character refs.
  • User accepted both s33-v2-image.png and s06-v2-image.png.
  • Mechanism pass: this run used a clean child session and one distinct internal SubAgent per slide; no duplicate worker was observed in this scope.

Shared Context

  • AGENTS.md
  • VIDEO_WORKBENCH.md
  • docs/workflows/slide-task-orchestration.md
  • docs/workflows/slide-task-templates.md
  • projects/2026-06-23-在路上/project.md
  • projects/2026-06-23-在路上/execution-plan.md
  • projects/2026-06-23-在路上/visual-system/visual-system.md
  • projects/2026-06-23-在路上/visual-system/style/style-prompt-master.md
  • projects/2026-06-23-在路上/visual-system/characters/character-reference-registry.md
  • projects/2026-06-23-在路上/intake/阶段五-人物一致性单镜.md
  • projects/2026-06-23-在路上/slides/slides.md
  • projects/2026-06-23-在路上/slides/broad-generation-self-audit-v1.md
  • investigations/2026-06-24-s14-reference-capable-generation/reviews/summary-and-rule-implications.md

Visual-System Usage

  • Style continuity must use visual-system/style/style-prompt-master.md.
  • Character continuity must use visual-system/characters/character-reference-registry.md.
  • Reference-capable generation must use the validated host built-in reference-by-visible-context path:
    • write the prompt/spec through the gpt-image-2 Skill Advisor workflow;
    • load the real reference image into the conversation context before generation;
    • call host image_gen with the loaded image assigned a role such as Image 1;
    • record the input path, output path, and reference-path caveat in the compact handoff or task status; only Agent-backed test/audit or repair runs need a return.

Rules

  • Do not invoke CCPE.
  • Do not ask GPT V2 for final prompts.
  • Do not use Minimax MCP or other external review services.
  • Do not treat old broad-run images as accepted finals.
  • Do not generate visible-character identity shots from text-only prompts.
  • Do not use archived character or style references unless explicitly reopened.
  • When a slide agent is used, it handles exactly one slide.
  • Child sessions and any slide agents run sequentially.
  • In Agent-backed test/audit, repair, or exception runs, one slide/version must have exactly one owning slide-agent. A child session must not create two workers with the same packet and same output targets; prompt/image/return ownership must stay with the same worker id.
  • Child-session capacity for formal production-light defaults to maximum 3 slides per child session unless the task plan explicitly changes it.
  • Child session carrier rule: production-light uses clean named Codex child/session threads visible to the user and recorded by thread id. The child directly writes brief/prompt/image/status/handoff by default. Slide agents are reserved for test/audit, repair, explicit review, exception, or isolated single-slide work.
  • Production child sessions must start as clean user-visible threads. Do not use forked or inherited-context threads unless the user explicitly requests inherited context.
  • Main-session production wait rule: callback-only by default. The parent dispatches, records the callback target, and stops routine polling. Time-based polling schedules are fallback only when callback tooling is unavailable or the user explicitly requests polling for a named run.
  • Parent-facing heartbeat/status updates should not trigger extra child-thread inspection in routine production.
  • Production-light closeout is minimal: version scan, no overwrite, image paths/status recorded, review absent when review: none, compact handoff before callback. The fuller completion gate is for test/audit, repair, explicit review, or exception scopes.
  • Slide Agents, when used, are one-shot and become terminal / closed after return; do not continue or reuse them.
  • Main session records the new child session id so later slides can be sent to the same child session after user approval.
  • Resolve the slide artifact version before each slide run by scanning existing slides/sNN/sNN-v*-* files.
  • Do not overwrite existing slide artifacts. If any planned target file already exists, stop and report an artifact collision.
  • Do not backfill missing prompt or brief files for old broad-run images as if they were original generation inputs.
  • In production-light, sNN-vN-review.md should not be produced unless the task plan is changed.

Expected Outputs

Current production-light expected outputs:

projects/2026-06-23-在路上/slides/sNN/sNN-vN-brief.md
projects/2026-06-23-在路上/slides/sNN/sNN-vN-prompt.md
projects/2026-06-23-在路上/slides/sNN/sNN-vN-image.png
projects/2026-06-23-在路上/slides/slides.md update
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-NN/child-session-handoff.md

Do not expect sNN-vN-review.md, slide-agent packet files, or slide-agent return files in production-light unless the task explicitly overrides the default.

Legacy session-04 mechanism-test task records:

projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/task-plan.md
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/task-log.md
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/child-session-plan.md
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/child-session-handoff.md
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/child-session-continuation-s06-plan.md
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/child-session-continuation-s06-handoff.md
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/worker-launch-ledger.md
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/packets/s33-v2-slide-agent-packet.md
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/packets/s06-v2-slide-agent-packet.md
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/returns/s33-v2-slide-agent-return.md
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency/session-04/returns/s06-v2-slide-agent-return.md

Legacy session-04 slide records:

projects/2026-06-23-在路上/slides/s33/s33-v2-brief.md
projects/2026-06-23-在路上/slides/s33/s33-v2-prompt.md
projects/2026-06-23-在路上/slides/s33/s33-v2-image.png
projects/2026-06-23-在路上/slides/s06/s06-v2-brief.md
projects/2026-06-23-在路上/slides/s06/s06-v2-prompt.md
projects/2026-06-23-在路上/slides/s06/s06-v2-image.png

Historical User Review / Sampling Plan

These reporting gates are closed historical test notes. Production-light now defaults to no per-image user review; user review happens only by explicit sampling, repair request, or test/audit override.

After s21 generation, stop and report:

  • new child session id;
  • S-21 slide-agent id;
  • files written;
  • resolved output version;
  • whether the child session started Agent S-21 itself;
  • whether review was correctly suppressed;
  • whether the prompt used gpt-image-2 Advisor, active character reference, and the D style module;
  • whether the same child session should receive s14 and s25 next.

For the s14 / s25 continuation, report:

  • whether the existing child thread continued work;
  • Agent S-14 and Agent S-25 thread ids;
  • whether the two new agents are separate from Agent S-21;
  • files written for s14-v2 and s25-v2;
  • whether prompts used gpt-image-2 Advisor and active character/style references;
  • whether review files were or were not produced, matching the continuation packet rule;
  • whether generation completed for both slides.

This reporting gate is closed for session-03: both images were accepted by the user, review files were correctly absent, and the duplicate-worker defect was carried forward into the next mechanism test.

For the session-04 S-33 / S-06 test, report:

  • whether the child session was clean and user-visible rather than forked from parent context;
  • session-04 child thread id;
  • Agent S-33 and Agent S-06 ids;
  • whether S-06 continued the same child session without reusing Agent S-33;
  • files written for s33-v2 and s06-v2;
  • whether prompts used gpt-image-2 Advisor and active character/style references;
  • whether review files were or were not produced, matching the no-review packet rule;
  • whether generation completed and user accepted both images.

This reporting gate is closed for session-04: the user confirmed the mechanism checks passed and accepted both s33-v2-image.png and s06-v2-image.png.

Stop Conditions

  • Required reference image cannot be loaded into the conversation context.
  • gpt-image-2 mode check no longer returns a host/advisor path.
  • Host image generation cannot be called.
  • Generated image cannot be copied into the project slide folder.
  • Any planned output path already exists and overwrite is not explicitly authorized.
  • The child reports blocked, failed, or warning, or a generated result is later judged unusable and needs an append-only retry.