Fireworks Open ELI5
将复杂系统转化为真实的视觉故事。首先生成可移植的 JSON 规范,然后生成确定性的自包含 HTML 解释器。
不可协商的边界
- 证据优先于视觉美化。将每条证据项标注为
verified、inferred或analogy。 - 永远不要让类比看起来像是实现事实。
- 生成的本地 HTML 文件只是
generated(已生成)。它不是published(已发布)、上传、发送或经目标验证的。 - 未经用户明确请求及目标工作流自身的验证,不得发布、上传、发送或更改访问权限。
- 渲染不执行任何网络调用。引用的 URL 是面向读者的链接,而非运行时依赖项。可选的本地 Pages 操作只能调用捆绑的同源辅助程序(位于
127.0.0.1);它绝不能联系远程服务。 - 浏览器本地历史、收藏夹和注释在读者选择启用前保持禁用。它们是便利状态,而非证据,并且永远不会修改源规范或生成的工件。
- 准确描述历史记录为该浏览器先前打开的同源解释器。绝不要声称它列举了所有生成的文件。
- PDF 导出调用浏览器打印对话框。PNG 导出一个场景;PPTX 和兼容 Pages 的 DOCX 每个幻灯片或页面导出一个场景。仅当已安装的 Pages 应用确实保存后,才允许原生
.pages输出;切勿将 DOCX 重命名为.pages。生成的下载内容只是本地工件。
工作流程
-
确定受众、问题、语言以及贯穿故事的一条主线:一个请求、数据包、决策、事件或用户操作。
-
精确选择一种故事语法:
concept:直觉 → 机制 → 边界。module:入口点 → 转换 → 输出/依赖项。tradeoff:共同目标 → 竞争选项 → 后果/决策规则。incident:正常路径 → 中断与传播 → 检测/恢复。
-
收集证据。对于仓库相关工作,检查实际文件并使用本地路径。对于外部声明,尽量使用权威来源。明确记录不确定性。
-
按照 references/spec-contract.md 创建版本 1 的 JSON 规范。使用 3–7 个场景,每个场景 2–6 个节点,完整的真相阶梯、追踪、术语表、回授教学、证据映射以及所需的模式特定
modeData。将故障信息添加到关键节点。 -
在渲染前进行验证:
node scripts/validate.mjs path/to/spec.json -
渲染到新的本地文件:
node scripts/render.mjs path/to/spec.json path/to/explainer.html渲染器拒绝已存在的路径。只有当用户明确要求替换已知的常规文件时,才附加
--force。强制渲染使用原子替换,并且仍然拒绝符号链接和非文件路径。 -
一起验证规范和工件:
node scripts/validate.mjs path/to/spec.json path/to/explainer.html -
当浏览器访问可用时,以桌面宽度和 390px 宽度检查本地工件。确认一个
h1、可读的标签、无水平溢出、键盘焦点、独立的选项卡列表、全局和场景本地播放、视口跟随、活动的真实边缘和证据卡片同步、进入/保持/退出动画阶段、故障透镜、答案揭示以及零远程资源请求。每个场景的证据卡片必须暴露其状态、简洁的核心依据、支持范围以及一个 URL 或明确的“无定位器”边界。 -
使用读者工作区:通过鼠标和键盘打开并关闭模态抽屉;确认焦点返回;有意启用库;重新加载并验证收藏夹和纯文本注释;确认历史记录仅包含实际打开过的同源解释器。使用标记形状的注释来验证它保持为惰性文本。
-
执行导出:确认打印样式表、PNG 签名和尺寸、PPTX 和 DOCX 的 ZIP 签名及所需的 OOXML 部分,以及在自动下载被抑制时的后备下载链接。视觉确认场景艺术作品包含一个带边界的证据页脚,其中包括状态、核心依据和来源定位器或边界。当原生 Pages 在范围内时,通过
scripts/serve.mjs运行,验证.pages包包含Index/Document.iwa,然后在 Pages 中重新打开它。在更改后修复规范或模板,并重新运行两个验证器。
报告语言
- 默认使用用户最新实质性请求的语言撰写最终的 QA、状态、交接和生成工件报告。
- 明确的报告语言请求覆盖此默认值。
spec.language仅控制生成的解释器界面;它不强制对话报告语言。- 在多语言对话中,选择报告语言时忽略简短的确认信息。当翻译会降低精度时,保留代码、命令、路径、标识符、确切的错误和源标题。
阅读 references/reporting.md 以获取完整的语言选择和交付报告契约。
故事构建规则
- 将标题写成一个具体的承诺,而不是一个类别标签。
- 保持摘要为一句话,每个节点只有一个职责。
- 首选 3–5 个场景。仅在省略一个阶段会扭曲因果关系时才使用 6–7 个场景。
- 边缘是关系或动作。在标签上使用简短的动词。
- 追踪必须按有意义的顺序访问真实的节点 ID。
- 仅当影响、可见症状和回退方案已知时才使用故障数据。
- 保持简单层足够准确,以承载技术层。
- 将限制放在
truthLadder.caveat中,而不是放在细微的免责声明中。 - 在它们支持的场景或节点上使用源 ID。
- 不要仅仅因为来源与声明相邻就引用它。
阅读 references/story-grammars.md 了解模式模式,references/evidence-rules.md 了解声明边界,并在更改渲染器的视觉语言前阅读 references/visual-system.md。在更改持久化、导航、播放或导出行为前阅读 references/library-and-export.md。
质量控制门
工作完成并作为本地工件就绪的条件是:
- 验证器返回
ok: true,且针对规范和渲染的 HTML; - 所有 ID 和引用均解析成功;
- 每个必需的交互部分都有内容;
- 选定的故事模式通过其自身的语义契约;
- HTML 是确定性的,并携带规范 SHA-256 元标签;
- 工件与提供的规范字节匹配,并使用受信任的 CSP 哈希值;
- 工件没有外部资源、不安全的运行时 API 或远程字体;
- 持久化的读者状态是选择加入、带命名空间、有界、同源,并保持在确定性规范哈希之外;
- 注释仅作为文本渲染,不能创建可执行的标记;
- 全局和本地播放共享一个状态机,且永远不能同时运行;
- 每个追踪步骤激活真实的传出关系路径(或接收器的传入路径),保持标签和箭头状态一致,并仅高亮支持该步骤的证据;
- 场景证据卡片保留已验证/推断/类比的边界,暴露核心文本和一个可操作的定位器,而不获取远程预览;
- 场景 PNG、PPTX 和 DOCX 包具有预期的签名和结构,并包含其证据页脚;声称的原生 Pages 导出也已重新在 Pages 中打开;
- 移动端使用堆叠布局,而不是缩小桌面 SVG;
- 最终报告遵循用户当前的交互语言,指明生成的规范和 HTML 路径,并说明是否运行了桌面、移动端、持久化、播放、证据和导出浏览器 QA。
如果证据不完整,仅在证据映射和警示使差距一目了然时才生成。否则停止并报告缺失的证据。