291 lines
16 KiB
Markdown
291 lines
16 KiB
Markdown
# Character Consistency Test
|
|
|
|
## Status
|
|
|
|
- Task id: `2026-06-24-character-consistency`
|
|
- Worker profile: `video-slide-production`
|
|
- Running mode: `prompt and generate`
|
|
- Status: polling-based trial complete; `session-08` flow gate passed but `s16-v2` failed visual acceptance; prepare R6 notification/wakeup test and append-only S-16 repair
|
|
- 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
|
|
- Artifact policy: append-only next slide version; overwrite disabled by default
|
|
|
|
## 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:
|
|
|
|
```text
|
|
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:
|
|
|
|
```text
|
|
s05
|
|
s21
|
|
s14
|
|
s25
|
|
```
|
|
|
|
Completed `session-04` third-round test:
|
|
|
|
```text
|
|
s33
|
|
s06
|
|
s07
|
|
s08
|
|
s09
|
|
s11
|
|
s12
|
|
s13
|
|
```
|
|
|
|
Authorized next:
|
|
|
|
```text
|
|
none; next planned work is R6 notification/wakeup test plus append-only S-16 repair
|
|
```
|
|
|
|
## Child Session Split
|
|
|
|
```text
|
|
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
|
|
```
|
|
|
|
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:
|
|
|
|
```text
|
|
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 review or 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.
|
|
- Each slide agent handles exactly one slide.
|
|
- Child sessions and slide agents run sequentially.
|
|
- 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 the next formal-run simulation returns to the workflow default: maximum 3 slides per child session unless the task plan explicitly narrows it.
|
|
- Child session carrier rule: brief/orchestration child sessions should be Codex child/session threads visible to the user and recorded by thread id. Slide agents inside those child sessions should be internal SubAgent / one-shot workers, not long-lived reusable child sessions.
|
|
- 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: choose the wait schedule by package size. A 1-slide package sleeps 10 minutes before the first status check and polls every 1 minute up to 15 minutes total; a 2-slide package sleeps 20 minutes before the first status check and polls every 1 minute up to 30 minutes total; a 3-slide package sleeps 30 minutes before the first status check and polls every 1 minute up to 45 minutes total. Split larger packages unless a task plan explicitly defines a custom wait schedule.
|
|
- Parent-facing heartbeat/status updates during routine waiting default to every 5 minutes or material state changes; these updates are separate from child-session status checks and should not trigger extra thread inspection.
|
|
- Child-session completion gate is mandatory. Instruction / visual review is optional and runs only when requested.
|
|
- Slide Agents 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.
|
|
- For no-review workflow tests, a `sNN-vN-review.md` file should not be produced unless the task plan is changed.
|
|
|
|
## Expected Outputs
|
|
|
|
Task records:
|
|
|
|
```text
|
|
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
|
|
```
|
|
|
|
Slide records:
|
|
|
|
```text
|
|
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
|
|
```
|
|
|
|
## User Review / Sampling Plan
|
|
|
|
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 result clearly fails the side/back dynamic character-continuity purpose.
|