video-workbench/handoff/2026-06-25-character-consis...

240 lines
8.1 KiB
Markdown

# R7 Governance Simplification Handoff
Date: 2026-06-25
Project:
```text
projects/2026-06-23-在路上
```
Task:
```text
projects/2026-06-23-在路上/tasks/2026-06-24-character-consistency
```
## Status
R6 completed the notification / wakeup test.
User intends to manually commit the current documents and then start a fresh session for R7.
Do not start R7 in the current session. Use this file as the new-session entrypoint.
## R6 Result Summary
Phase 1:
- Scope: `S-16` append-only repair.
- Child session: `session-09`, thread `019ef9bc-fe96-75b3-b902-5d5ef95feca3`.
- Parent callback target: `019ef9b5-cc39-7a42-91b1-f9b0852dc95e`.
- Result: child callback woke the parent without parent polling.
- Output: `s16-v3-image.png`.
- User accepted the image.
Phase 2 first attempt:
- Scope: `S-19/S-20/S-22/S-23`.
- Child session: `session-10`, thread `019ef9d0-4914-7ea0-8935-bfd9bfc1aad4`.
- Result: partial / paused.
- `S-19/s19-v2` completed and was accepted by user.
- `S-20` worker hung after attempting MiniMax MCP image understanding; the user disabled that MCP service.
- `s20-v2`, `s22-v2`, and `s23-v2` are incomplete evidence only. Do not backfill or complete those versions in place.
Phase 2 retry:
- Scope: `S-20/S-22/S-23/S-24`.
- Child session: `session-11`, thread `019ef9f8-8c34-77a3-82af-9a25beb2c723`.
- Result: callback-only completion gate passed; parent resumed without broad polling.
- Outputs accepted by user:
- `s20/s20-v3-image.png`
- `s22/s22-v3-image.png`
- `s23/s23-v3-image.png`
- `s24/s24-v2-image.png`
R6 mechanism conclusion:
- Callback-only parent wakeup works for a single-slide repair and a 4-shot package.
- Parent should not routinely poll child threads.
- Child session must write `child-session-handoff.md` before callback.
- Parent should read compact handoff first and inspect details only on warning / blocked / failed / explicit audit.
## Rule Changes Already Made
These files were updated before this handoff:
```text
AGENTS.md
VIDEO_WORKBENCH.md
docs/workflows/slide-task-orchestration.md
docs/workflows/slide-task-templates.md
```
The workflow default is now:
```text
parent dispatches -> parent stops routine waiting
child writes handoff -> child callbacks parent
parent wakes -> parent reads compact handoff
```
Polling is now only a fallback when callback tooling is unavailable or the user explicitly requests polling for a named run.
Important user decision:
- Do not add a global hard-stop rule banning MiniMax MCP or external visual tools.
- MiniMax MCP is currently disabled by user, but future tasks may explicitly authorize other external tools.
- Keep the existing boundary: external review / vision / image-understanding tools are not used by default; they require explicit task authorization.
## R7 Primary Goal
R7 should simplify governance for formal production.
The current mechanism works, but the test workflow carries too much governance:
- long task logs;
- repeated audit summaries;
- verbose handoffs;
- detailed worker evidence lists;
- repeated parent-side post-processing;
- token-heavy histories that do not directly produce images.
R7 should define and test a production-light profile that keeps enough traceability to recover from real failures, but stops spending routine tokens on test-level audit.
## R7 Design Target
Use two modes:
```text
test / investigation mode
production-light mode
```
Test / investigation mode keeps the current heavier evidence style when debugging workflow mechanics.
Production-light mode should be the default for normal image production after R7 if the trial passes.
Recommended production-light record set:
- `task-plan.md`: one compact active-scope block only; no long historical replay.
- `task-log.md`: one line per dispatched package and one line per callback result; no timeline expansion unless a problem occurs.
- `slides/slides.md`: authoritative slide status table.
- `child-session-plan.md`: compact package plan with assigned slides, callback target, write policy, and stop conditions.
- `child-session-handoff.md`: compact parent surface with status, completion gate, versions, image paths, and decisions needed.
- Per slide: keep brief, prompt, image, and return files.
Recommended production-light omissions unless a problem occurs:
- no per-package long narrative timeline;
- no parent-side re-verification of prompt / return / ledger when handoff is clean;
- no full file inventory in parent records;
- no review files when review is disabled;
- no duplicate worker audit unless handoff reports a warning;
- no broad status heartbeat text after dispatch;
- no copying large handoff content into project-level files.
Evidence that should remain mandatory:
- append-only version resolution;
- overwrite disabled;
- one owning worker per slide/version;
- child-owned brief and packet before worker launch;
- callback target recorded;
- handoff exists before callback;
- completion gate status;
- image path for every completed slide;
- review present or absent according to task mode.
## Suggested R7 Trial Shape
Before dispatch, align with the user on two things:
1. Whether R7 should first update workflow docs for production-light mode, or run one small package and then update docs from evidence.
2. Which slide scope to use.
If the user wants a concrete default scope, propose a small continuation package after the accepted R6 range:
```text
S-26/S-27/S-28
```
Reason:
- `S-25` is already accepted.
- `S-26/S-27/S-28` are the next contiguous post-R6 shots in the table.
- Three slides are enough to test reduced governance without using a large package as the first production-light trial.
If the user wants to stress the 4-shot callback package again, propose:
```text
S-26/S-27/S-28/S-29
```
Do not choose the scope silently. R7 is about workflow simplification, so the scope should be explicitly recorded before dispatch.
## Read First In R7
Read these files first:
```text
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-在路上/slides/slides.md
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-11/child-session-handoff.md
```
Avoid re-reading older session directories unless investigating a specific defect.
## Files With Current State
Current accepted outputs and workflow conclusions are recorded in:
```text
projects/2026-06-23-在路上/project.md
projects/2026-06-23-在路上/execution-plan.md
projects/2026-06-23-在路上/slides/slides.md
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
```
Current callback-only rule source:
```text
AGENTS.md
docs/workflows/slide-task-orchestration.md
docs/workflows/slide-task-templates.md
VIDEO_WORKBENCH.md
```
## R7 Non-Goals
- Do not re-test whether callback-only wakeup works unless the new session sees a concrete tool failure.
- Do not reinstate routine polling as the default.
- Do not turn production-light mode into a new audit framework.
- Do not delete historical evidence from R4/R5/R6.
- Do not backfill incomplete `s20-v2`, `s22-v2`, or `s23-v2`.
- Do not add a global hard ban on MiniMax MCP or future external visual tools.
- Do not run CCPE.
## First Message Guidance For New Session
The new session should start by saying:
```text
I have read the R7 handoff. My understanding: R6 proved callback-only wakeup; R7 should reduce routine governance tokens for formal production while keeping append-only versioning, completion gate, and compact callback handoff. I will not poll child threads by default, and I will not add a global hard ban on external visual tools. First I will confirm whether to update workflow docs before the trial and confirm the R7 slide scope.
```
Then ask the user for the R7 choice:
```text
Do you want R7 to first revise the docs for production-light mode, or run one small production-light package and update the docs from the result?
```