muse-agent-example/meta/schemas/generation_context.yaml
zizi b0bc7a8745 框架: 技能按动作-对象重组 + 先审后入创作闭环
一、技能重组(动作-对象命名)
- 旧目录 clean/confirm/continuation/db/detect/embed/… 重组为
  clean-book-text/decide-candidate/write-next-chapter/access-database/
  check-content-consistency/embed-knowledge/…(git 识别为 rename,内容保持)
- agents/*.md、AGENTS.md/CLAUDE.md 收编、example_skill 登记表同步新名

二、先审后入创作闭环(本次核心)
正文接受从"机械门一过就写正典"改为"机械门+语义审查双通过+用户批准+单事务原子提交",
DB 级兜底,编排层跳步即被硬拒。
- candidate_cas.py + example_candidate_cas(109):持久化 CAS 状态链
- fact_delta.py + example_fact_delta/example_fact_ledger(106):结构化事实增量,
  模型只提六型闭集增量+正文证据引文,仅用户批准的增量随正文同事务入账本
- projection_registry.py + example_projection_run(107):投影登记与恢复
- acceptance_state.py:接受前置实时状态重读
- lesson_registry.py + example_lesson(108):经验升格链,禁止自动升格
- DDL 105:example_candidate 增 semantic_status/semantic_report_sha256
- write_canonical.accept:语义兜底+同事务合并增量+登记投影;
  run_writer_pipeline/persist_writer_run/run_writer_semantic_detector/step2 接入全链
- claude_runtime:兼容新 CLI modelUsage 信息字段

三、审查修复(独立子代理四维审查后)
- 事实增量 propose→approve 翻态正道,不撞唯一键
- 冻结配置探针重刷(CLI 2.1.211→2.1.231 漂移),profileSha256/adapterVersion 再登记
- 可视化合同悬空路径/五六空间矛盾、 SoT 旧技能名漂移、行尾空白清理

测试:离线 65 套 + 真实库集成 5 套(CAS/接受故障注入/事实增量/投影/经验升格)+ 回放 79 项全绿。
创作内容(docs/design、生成正文 artifacts)按"框架与创作分开"未入本提交。
2026-08-14 10:24:08 +08:00

75 lines
2.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

target_type: generation_context
中文名: 生成上下文
domain: ai_context
scope: agent
本体分组: 配套
状态: 启用
判据: AI 上下文组装与输出合同的结构模具,运行时对象、用户不可见
实例落点: 以 read-context 的 JSON 上下文与 Markdown manifest 回显落 works/*/评审/,不建知识卡
严格合同:
版本:
WriterContext: writer-context-v1
WriterOutput: writer-output-v1
RetrievalPlan: writer-retrieval-plan-v1
RetrievalManifest: writer-retrieval-manifest-v1
规范化: UTF-8、Unicode NFC、LF 换行、对象键排序、无额外空白
身份规则: runId、generatedAt、timestamp、executionNode 不参与检索与上下文身份
未知字段: 拒绝
WriterContext必填字段:
- schemaVersion
- runId
- attempt
- mode
- purpose
- qualityPolicyVersion
- workId
- targetChapter
- asOf
- contextSnapshot
- sourceVersion
- authorizationSnapshot
- sourceStatus
- retrievalPlan
- retrievalManifest
- fineOutline
- narrativeState
- factEvidence
- proseEvidence
- patternReferences
- evidenceCoverage
- outputContract
- tokenBudget
- omittedSources
- acceptanceEligible
WriterContext可选字段:
evidenceStrategy:
枚举: [production_dual_evidence, historical_prose_only, card_index_only, card_index_plus_prose]
约束: 生产固定 production_dual_evidence;card_index_only 仅诊断可跳过连续前四章基线
indexHints:
每项严格字段: [cardId, name, type, content, sourceId, sourceVersion, asOf]
来源: retrieval_result.indexHints,覆盖同批检索命中的全部冻结卡,不以 sourceRefs 是否存在为准
约束: 仅 mode=diagnostic_only、purpose 为 evaluation/diagnostic、acceptanceEligible=false;生产硬拒绝;asOf 不得越过上下文冻结线
WriterOutput必填字段:
- schemaVersion
- runId
- attempt
- mode
- qualityPolicyVersion
- contextSnapshotId
- contextSnapshotSha256
- candidateVersion
- candidateSha256
- acceptanceEligible
- candidateBody
- claimLedger
- evidenceRequests
- newSettingDeclarations
- selfCheck
双证据:
factEvidence来源: [historical_prose, formal_setting, canonical_state, fine_outline_declared_new]
proseEvidence来源: 历史 Canonical 原文,必须带章号、块、字符区间与内容哈希
indexHints用途: 只用于诊断卡索引替代效应,卡负责定位原文而不替代原文事实,不是事实证据,claimLedger不得引用
接受边界: evaluation、diagnostic、diagnostic_only 一律 acceptanceEligible=false
稳定排序: score DESC, sourceVersion ASC, sourceId ASC, sourceOffset ASC
实现校验器: .claude/skills/assemble-context/scripts/writer_contract.py