# Kling full closeout plan (100% closeout target)

Status: active closeout plan
Captured: 2026-04-01

## Purpose
This document re-frames the remaining Kling documentation/verification work from
"good enough for the current implementation scope" into a stricter
"close as much of the remaining residual surface as possible" standard.

This is not a denial of the earlier closeout.
It is the next stricter pass.

The practical question is:

> what exactly is still open if we insist on a 100%-closeout posture?

---

# 1. Current state

## What is already effectively closed
These are not the main blockers anymore:
- Tier 1 top-level field-level create/query documentation for current production-relevant video routes
- Tier 2 top-level element create/query/list/delete surfaces
- Tier 3 top-level image-generation create/query surfaces needed for current use
- current approved production route interpretation
- current Omni-first operational doctrine for multi-person audiovisual work
- live confirmation that `element_list + sound="on"` can succeed
- generalized conversational prompting guide for current practical use

## What is still open under a stricter 100%-closeout standard
The remaining items are mostly one of these types:
1. **nested documentation parity gaps**
2. **runtime semantics that docs alone do not fully settle**
3. **coverage gaps where current docs are conservative but not exhaustive**
4. **status wording that still describes some items as deferred/refinement-only rather than actually closed**

---

# 2. Remaining open surfaces

## A. Nested child-row documentation perfection
### Why this is still open
Earlier closeout accepted top-level strength while leaving some nested object coverage at
"strong enough for implementation" rather than "fully row-complete everywhere."

### Remaining examples
- deeper camera child fields
- deeper mask child fields
- deeper voice child fields
- deeper element nested subobjects
- any nested branch that is currently reconstructed from examples/structure rather than from clean standalone tables

### Closure standard
Close when one of the following is true:
- exact preserved child-row evidence is extracted and transcribed, or
- a clearly marked "no stronger preserved child-row evidence exists" note is added and all current example-derived structure is normalized/documented consistently

### Closure mode
**Documentation closeout**
No live billable create is required for this class.

---

## B. Audio / voice parity closeout
### Why this is still open
Audio is no longer conceptually weak, but several parity questions remain less than fully closed.

### Remaining questions
- exact Text-to-Video `voice_list` row parity versus the stronger Image-to-Video extraction
- stronger contract wording for native audio behavior across current Series 3 generation routes
- clearer documentation of interaction boundaries between prompt speaker tags, `voice_list`, and `element_voice_id`
- whether preserved artifacts expose any stronger split between speech / ambient / BGM than currently documented

### Closure standard
Close when:
- preserved-document evidence is re-checked and any still-available rows are extracted, and
- anything not provable from preserved artifacts is explicitly marked as runtime-semantic / live-confirm-only rather than left as soft ambiguity

### Closure mode
**Documentation + wording closeout**, with optional later live refinement.
Live tests help, but wording can still be closed more cleanly than it is now.

---

## C. Runtime semantics that are only partly doc-provable
### Why this is still open
Some questions are not really pure documentation questions anymore.
They are runtime behavior questions.

### Remaining examples
- exact practical limits of multi-turn dialogue density by duration
- exact runtime interaction of `element_list` with native audio quality/behavior under multiple scene types
- stronger continuity behavior of `video_list` under short-window chaining
- `video_list + element_list` as complementary continuity + recurring-identity path
- broader speaker-consistency behavior over longer clips

### Closure standard
Close when each item is classified into one of these buckets:
- live-confirmed
- doc-confirmed only
- not supported by preserved evidence
- intentionally left open pending explicit future verification

The key is not to pretend docs can close runtime semantics they cannot.
The key is to close the *classification* cleanly.

### Closure mode
**Verification closeout or classification closeout**
Not every item needs to be experimentally exhausted, but every item needs an explicit closed status.

---

## D. Capability/range/exhaustiveness gaps
### Why this is still open
Current docs are conservative and production-focused, but not fully exhaustive across every capability map or support range question.

### Remaining examples
- model/version support ranges beyond preserved field tables
- broader endpoint-level support/range questions outside current production posture
- remaining non-Omni path status wording (provisional vs reusable)

### Closure standard
Close when:
- each remaining broader support/range question is either answered from evidence, or
- formally downgraded as out-of-scope / not evidenced / not production-relevant

### Closure mode
**Documentation classification closeout**

---

## E. Status wording / closeout wording mismatch
### Why this is still open
Several documents still use wording such as:
- complete for current scope
- good enough for current closeout
- refinement-only residuals

That wording was correct for the earlier target, but it is incompatible with a stricter 100%-closeout objective.

### Closure standard
Close when the status layer itself is rewritten to distinguish:
- fully closed
- explicitly residual but classified
- live-confirm pending
- intentionally not closed

### Closure mode
**Editorial closeout**

---

# 3. Strict 100%-closeout strategy

## Principle
Do not force every open question into a billable live-create test.
That would be expensive and conceptually sloppy.

Instead, close each remaining item by the correct mechanism:
- documentation extraction
- wording cleanup
- explicit classification
- targeted live verification only where runtime semantics genuinely require it

---

# 4. Proposed closure sequence

## Step 1. Close wording/status residuals first
Reason:
- this changes the frame from vague residuals to explicit categories
- it prevents ambiguity about what "open" means

Deliverables to update:
- `kling-documentation-progress-board.md`
- `kling-priority-todo.md`
- potentially `kling-current-state-summary.md`

## Step 2. Close nested child-row/documentation parity residuals
Reason:
- these are document-only tasks
- they are the easiest true closeout wins

Likely sources to revisit:
- existing tier docs
- preserved qingque/full-reference artifacts
- extracted deep pages already in repo

## Step 3. Close audio/voice parity wording
Reason:
- this is one of the few remaining substantive documentation residuals
- current live testing already gives stronger footing than the docs currently express

## Step 4. Reclassify runtime semantics explicitly
Reason:
- some items should be closed by saying exactly what kind of confidence they have
- not by pretending preserved docs prove more than they do

## Step 5. Run only the minimum new live verification that actually upgrades an open runtime class
Candidates:
- stronger `video_list` continuity validation
- `video_list + element_list` complementarity validation
- one targeted longer-form audio/dialogue runtime pass if needed for a specific unresolved classification

---

# 5. Closeout rubric

For each remaining item, mark it with exactly one terminal state:
- **Fully closed by preserved documentation**
- **Fully closed by live verification**
- **Closed by explicit negative finding / not evidenced**
- **Closed as intentionally out-of-scope for current repo production posture**
- **Still open**

100%-closeout means reducing "Still open" to zero.
It does **not** mean pretending every item has the same kind of proof.

---

# 6. Immediate next task recommendation

The next correct task is:

> rewrite the status/TODO/progress docs so every remaining residual is converted from vague refinement language into explicit terminal-state candidates.

That is the cleanest gateway to a real 100%-closeout pass.
