Document route policy validation coverage
This commit is contained in:
@@ -21,6 +21,11 @@ The map audit currently sees:
|
||||
- 23 expression pools.
|
||||
- 24 composition pools.
|
||||
- A new Krea2 resolution node with width/height/API aspect outputs.
|
||||
- Registered route policy validation, so action/position families stay covered
|
||||
by SDXL family tags, caption labels, and SDXL incompatibility-filter keys.
|
||||
- Route simulation family coverage, so representative generated rows exercise
|
||||
every registered action and position family except documented special cases
|
||||
covered by dedicated smoke fixtures.
|
||||
|
||||
## Architectural Finding
|
||||
|
||||
@@ -536,8 +541,9 @@ Improve later:
|
||||
|
||||
- keep `tools/prompt_map_audit.py` passing; it now checks referenced
|
||||
expression/composition/scene pools, item-template axes, object-template
|
||||
metadata values for both string and object templates, and critical route
|
||||
documentation plus expected smoke coverage.
|
||||
metadata values for both string and object templates, registered formatter
|
||||
policy coverage for route families, and critical route documentation plus
|
||||
expected smoke coverage.
|
||||
|
||||
### Node / UI Path
|
||||
|
||||
@@ -667,6 +673,9 @@ Near-term:
|
||||
outputs so source contact/guidance/presentation wording stays metadata-driven.
|
||||
- Cover generated fallback role routes through Krea, SDXL, and natural caption
|
||||
outputs so solo and same-sex paths do not remain untested edge behavior.
|
||||
- Keep route simulation coverage updated when adding action or position
|
||||
families, so generated Krea2, SDXL, and natural-caption paths prove the new
|
||||
family reaches formatter metadata routes.
|
||||
|
||||
Medium-term:
|
||||
|
||||
|
||||
@@ -902,6 +902,9 @@ The script does not import ComfyUI. It parses the repo and prints:
|
||||
- effective category route coverage so each normalized category path has
|
||||
usable item, scene, expression, composition, and hardcore route metadata
|
||||
before runtime fallbacks can hide a gap.
|
||||
- registered route policy validation: registered route families have SDXL tags,
|
||||
caption labels, and valid incompatibility filters before a new action or
|
||||
position family can drift between formatter routes.
|
||||
- location theme camera-profile validation so `Location Theme` presets and
|
||||
their scene entries resolve to structured scene-camera profiles instead of
|
||||
falling back to generic camera prose.
|
||||
@@ -1000,6 +1003,8 @@ issues for:
|
||||
- POV routes emitting third-person camera text or losing first-person wording;
|
||||
- selected hardcore position filters appearing in `position_keys` but not as
|
||||
the primary `position_key`;
|
||||
- route-family coverage for registered action and position families, excluding
|
||||
only documented special cases that have their own smoke fixtures;
|
||||
- pose-axis rerolls changing cast/scene metadata or failing to move pose/action
|
||||
metadata.
|
||||
|
||||
|
||||
@@ -77,6 +77,21 @@ ENTRY_ROUTE_SNIPPETS: tuple[str, ...] = (
|
||||
"`naturalize_caption` -> `caption_format_route.py`",
|
||||
)
|
||||
|
||||
AUDIT_DOC_SNIPPETS: tuple[tuple[str, str], ...] = (
|
||||
(
|
||||
"docs/prompt-pool-routing-map.md",
|
||||
"registered route families have SDXL tags",
|
||||
),
|
||||
(
|
||||
"docs/prompt-pool-routing-map.md",
|
||||
"caption labels, and valid incompatibility filters",
|
||||
),
|
||||
(
|
||||
"docs/prompt-pool-routing-map.md",
|
||||
"route-family coverage for registered action and position families",
|
||||
),
|
||||
)
|
||||
|
||||
PROMPT_ROW_READ_SCAN_GLOBS: tuple[str, ...] = (
|
||||
"krea_*.py",
|
||||
"sdxl_*.py",
|
||||
@@ -683,6 +698,11 @@ def _routing_doc_errors() -> list[tuple[str, str, str]]:
|
||||
for snippet in ENTRY_ROUTE_SNIPPETS:
|
||||
if snippet not in route_map_text:
|
||||
errors.append(("(entry route)", "docs/prompt-pool-routing-map.md", f"missing entry snippet: {snippet}"))
|
||||
for doc_name, snippet in AUDIT_DOC_SNIPPETS:
|
||||
doc_path = ROOT / doc_name
|
||||
doc_text = doc_path.read_text(encoding="utf-8") if doc_path.exists() else ""
|
||||
if snippet not in doc_text:
|
||||
errors.append(("(audit doc)", doc_name, f"missing audit snippet: {snippet}"))
|
||||
return errors
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user