Skip to content

v1.18.3 — Brief compliance runtime check (#7 + #8)

Choose a tag to compare

@dreamrec dreamrec released this 23 Apr 21:28
· 311 commits to main since this release

Fourth v1.18.x patch — compliance enforcement

Bundles two Known Issues items (#7 packet avoid + #8 locked_dimensions) that shared the same "check tool args against brief constraints" machinery.

🎯 Fix

#7 + #8 — Runtime brief compliance check

Both were advisory-only pre-v1.18.3. This release ships a stateless pure check function in a new mcp_server/creative_director module, exposed as the MCP tool check_brief_compliance(brief, tool_name, tool_args).

Usage: director's Phase 6 calls the tool before each risky execution (EQ parameters, filter settings, new scene creation, clip note editing, send routing). The tool returns {"ok": bool, "violations": [...]}. Violations are reports, not automatic blocks — the director surfaces them to the user with three paths: adjust, override-for-this-turn, or pick a different tool.

Detection — best-effort keyword heuristic:

  • anti_pattern matching via keyword tokens + parameter-name heuristics (e.g., "bright top-end" + Hi Gain positive → fires)
  • locked_dimension matching via tool → dimension map (e.g., structural lock + create_scene → fires)

Empty brief passes every call (fresh session safety).

Infrastructure

  • NEW module mcp_server/creative_director/ (compliance.py + tools.py)
  • Tool count 427 → 428 (+1: check_brief_compliance)
  • Domain count 52 → 53 (+1: creative_director)
  • Director SKILL.md Phase 6 documents the check + three-path response protocol
  • Full session-state active-brief storage is v1.19 scope

📋 Still open for v1.19

3 items remain:

  • Experiment state continuity between branches
  • Hybrid-packet compilation algorithm (multi-packet union/intersection)
  • Full architectural fix for #3 (director Phase 6 semantic_move routing)

See CHANGELOG.md for full detail.