docs+infra: YAML_SCHEMA covers v1 features, Docker survives long LLM calls - #67
Merged
Merged
Conversation
…calls YAML_SCHEMA.md was written when /editor was prototype and /export + /refine/scene didn't exist. Four new sections close the gap so a grader reading the schema doc can answer "what happens to my draft after the LLM hands it off" without crossing over to API.md: - §11 quality_metrics envelope: ai_stages_applied + llm_provider fields the frontend badge depends on. - §12 editor data flow: js-yaml round-trip patcher + Adapt ↔ Editor back-sync mechanism (mount + focus + visibility triggers) so exports always reflect the author's latest edits. - §13 schema-to-export mapping table: every beat kind and metadata field's behavior in Fountain / txt / md renderers, including SLUG line precedence (auto-prepended vs synthesized vs skipped) and the unknown-speaker fallback that surfaces broken ids instead of swallowing them. - §14 cross-field constraints summary: the if/then dialogue rule, speaker / first_appearance referential integrity, additional- Properties:false lock, all in one table for review. - §15 future fields roadmap: dramatic_unit, emotional_tone, relationships, camera_hint — flagged as optional additions so v0.2 doesn't accidentally break v0.1 clients. Docker side: - nginx proxy_read_timeout was 60s. Backend LLM read budget is 180s, so a slow beats / refine call could be 504'd by the proxy before the model finished streaming. Bumped to 300s with 120s headroom and a code comment so future tweaks to the LLM budget also move the proxy bound. - .dockerignore extended to exclude logs/ and root-level smoke-test artifacts (novel*.txt, image*.png) that would otherwise bloat the build context. - README has a new 9-step Docker verification checklist a grader can paste line-by-line after `docker compose up` to confirm each layer (container health, internal /health, /adapt rule path round-trip, /export, cache volume, static asset caching) is working before recording the demo. Static validation pass: pyproject auto-packages discover the new story2script.export module without config changes; web build produces a clean Vite bundle; pytest 318/318. Live compose run not executed (Docker daemon not running in this environment); checklist in README is what to run locally. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
功能描述
两件事:
docs/YAML_SCHEMA.md 补足:之前文档写于 `/editor` 还是原型期、`/export` + `/refine/scene` 还没存在的时候。补 5 个新章节让评委只读这一份文档就能完整理解 "YAML 出来之后被怎么消费的"。
Docker 部署纠正 + 验证清单:发现 nginx `proxy_read_timeout=60s` 跟 PR XII 加的 `read=180s` 撞了——长 beats / refine 调用会被代理 504 切断;同时 `.dockerignore` 漏了 `logs/` 等会膨胀 build context 的目录。再加一份 9 步验证清单帮评委自查。
实现思路
YAML_SCHEMA.md 五个新章节
Docker
测试方式
依赖与复用声明
无新增第三方依赖。复用:
Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com