@lemoncat7/dsh-partner 2.8.1 → 2.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/THIRD_PARTY_LICENSES.md +10 -0
- package/docs/blocked-delivery-recovery.md +7 -0
- package/docs/concern-attention.md +19 -0
- package/docs/observation-contract.md +21 -0
- package/docs/pendant-loading.md +30 -0
- package/docs/releases/2.8.2.md +7 -0
- package/docs/releases/2.8.3.md +20 -0
- package/lib/agent-runtime.d.ts +7 -0
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +119 -35
- package/lib/agent-runtime.js.map +1 -1
- package/lib/api/features/pendant-api.d.ts.map +1 -1
- package/lib/api/features/pendant-api.js +11 -2
- package/lib/api/features/pendant-api.js.map +1 -1
- package/lib/api.d.ts +1 -0
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +41 -6
- package/lib/api.js.map +1 -1
- package/lib/autonomy.d.ts.map +1 -1
- package/lib/autonomy.js +9 -2
- package/lib/autonomy.js.map +1 -1
- package/lib/channel-message.d.ts +2 -0
- package/lib/channel-message.d.ts.map +1 -1
- package/lib/channel-message.js.map +1 -1
- package/lib/channels/direct/message-format.js +127 -127
- package/lib/channels/direct/message-format.js.map +1 -1
- package/lib/channels/manager.d.ts.map +1 -1
- package/lib/channels/manager.js +4 -3
- package/lib/channels/manager.js.map +1 -1
- package/lib/channels/notification-delivery.d.ts.map +1 -1
- package/lib/channels/notification-delivery.js +10 -0
- package/lib/channels/notification-delivery.js.map +1 -1
- package/lib/channels/weixin/connect.d.ts.map +1 -1
- package/lib/client-api.d.ts +17 -2
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js +8 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +2398 -1970
- package/lib/client.js.map +4 -4
- package/lib/client.pendant.js +4157 -0
- package/lib/collaboration/composition.js +1 -1
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/concern-attention.d.ts +19 -0
- package/lib/concern-attention.d.ts.map +1 -0
- package/lib/concern-attention.js +36 -0
- package/lib/concern-attention.js.map +1 -0
- package/lib/concern-domain.d.ts +10 -1
- package/lib/concern-domain.d.ts.map +1 -1
- package/lib/concern-domain.js +4 -0
- package/lib/concern-domain.js.map +1 -1
- package/lib/concern-execution-notes.d.ts +18 -0
- package/lib/concern-execution-notes.d.ts.map +1 -0
- package/lib/concern-execution-notes.js +41 -0
- package/lib/concern-execution-notes.js.map +1 -0
- package/lib/concern-execution-receipt.d.ts +4 -0
- package/lib/concern-execution-receipt.d.ts.map +1 -0
- package/lib/concern-execution-receipt.js +28 -0
- package/lib/concern-execution-receipt.js.map +1 -0
- package/lib/concern-execution.d.ts +32 -0
- package/lib/concern-execution.d.ts.map +1 -0
- package/lib/concern-execution.js +112 -0
- package/lib/concern-execution.js.map +1 -0
- package/lib/concern-management-tool.d.ts.map +1 -1
- package/lib/concern-management-tool.js +21 -19
- package/lib/concern-management-tool.js.map +1 -1
- package/lib/concern-note-source.d.ts +7 -0
- package/lib/concern-note-source.d.ts.map +1 -0
- package/lib/concern-note-source.js +25 -0
- package/lib/concern-note-source.js.map +1 -0
- package/lib/concern-resources.d.ts +27 -0
- package/lib/concern-resources.d.ts.map +1 -0
- package/lib/concern-resources.js +36 -0
- package/lib/concern-resources.js.map +1 -0
- package/lib/concern-sources.d.ts +1 -1
- package/lib/concern-sources.d.ts.map +1 -1
- package/lib/concern-store.d.ts +10 -1
- package/lib/concern-store.d.ts.map +1 -1
- package/lib/concern-store.js +135 -36
- package/lib/concern-store.js.map +1 -1
- package/lib/concern-tool.d.ts +1 -0
- package/lib/concern-tool.d.ts.map +1 -1
- package/lib/concern-tool.js +8 -4
- package/lib/concern-tool.js.map +1 -1
- package/lib/decision/conversation.d.ts +11 -0
- package/lib/decision/conversation.d.ts.map +1 -0
- package/lib/decision/conversation.js +52 -0
- package/lib/decision/conversation.js.map +1 -0
- package/lib/decision/events.d.ts +16 -0
- package/lib/decision/events.d.ts.map +1 -0
- package/lib/decision/events.js +9 -0
- package/lib/decision/events.js.map +1 -0
- package/lib/domain.d.ts +2 -0
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js.map +1 -1
- package/lib/heartbeat.d.ts +12 -10
- package/lib/heartbeat.d.ts.map +1 -1
- package/lib/heartbeat.js +55 -26
- package/lib/heartbeat.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/memory-prompt-context.js +1 -0
- package/lib/memory-prompt-context.js.map +1 -1
- package/lib/memory-reflection.js +1 -1
- package/lib/observation-contract.d.ts +9 -0
- package/lib/observation-contract.d.ts.map +1 -0
- package/lib/observation-contract.js +19 -0
- package/lib/observation-contract.js.map +1 -0
- package/lib/observation-executor.d.ts +5 -0
- package/lib/observation-executor.d.ts.map +1 -1
- package/lib/observation-executor.js +23 -1
- package/lib/observation-executor.js.map +1 -1
- package/lib/observation-loop.d.ts +7 -0
- package/lib/observation-loop.d.ts.map +1 -1
- package/lib/observation-loop.js +65 -4
- package/lib/observation-loop.js.map +1 -1
- package/lib/observation-progress.d.ts +18 -0
- package/lib/observation-progress.d.ts.map +1 -0
- package/lib/observation-progress.js +57 -0
- package/lib/observation-progress.js.map +1 -0
- package/lib/observation-sources.d.ts +14 -0
- package/lib/observation-sources.d.ts.map +1 -0
- package/lib/observation-sources.js +12 -0
- package/lib/observation-sources.js.map +1 -0
- package/lib/pendant/badge-art.d.ts +9 -0
- package/lib/pendant/badge-art.d.ts.map +1 -0
- package/lib/pendant/badge-art.js +68 -0
- package/lib/pendant/badge-art.js.map +1 -0
- package/lib/pendant/card-image.d.ts.map +1 -1
- package/lib/pendant/card-image.js +11 -9
- package/lib/pendant/card-image.js.map +1 -1
- package/lib/pendant/renderer-loader.d.ts +9 -0
- package/lib/pendant/renderer-loader.d.ts.map +1 -0
- package/lib/pendant/renderer-loader.js +12 -0
- package/lib/pendant/renderer-loader.js.map +1 -0
- package/lib/pendant/renderer.d.ts +2 -6
- package/lib/pendant/renderer.d.ts.map +1 -1
- package/lib/pendant/renderer.js +1 -67
- package/lib/pendant/renderer.js.map +1 -1
- package/lib/pendant/static-card.d.ts +20 -0
- package/lib/pendant/static-card.d.ts.map +1 -0
- package/lib/pendant/static-card.js +55 -0
- package/lib/pendant/static-card.js.map +1 -0
- package/lib/pendant/widget.d.ts.map +1 -1
- package/lib/pendant/widget.js +9 -5
- package/lib/pendant/widget.js.map +1 -1
- package/lib/pendant-renderer.js +14 -14
- package/lib/requirements/service.d.ts.map +1 -1
- package/lib/requirements/service.js +2 -0
- package/lib/requirements/service.js.map +1 -1
- package/lib/requirements/worker.d.ts.map +1 -1
- package/lib/requirements/worker.js +1 -0
- package/lib/requirements/worker.js.map +1 -1
- package/lib/scheduler/continuations.d.ts.map +1 -1
- package/lib/scheduler/continuations.js +17 -3
- package/lib/scheduler/continuations.js.map +1 -1
- package/lib/skills/builtin.d.ts.map +1 -1
- package/lib/skills/builtin.js +2 -0
- package/lib/skills/builtin.js.map +1 -1
- package/lib/skills/drama-builtin.d.ts.map +1 -1
- package/lib/skills/drama-builtin.js +13 -1
- package/lib/skills/drama-builtin.js.map +1 -1
- package/lib/skills/story-builtins.d.ts +3 -0
- package/lib/skills/story-builtins.d.ts.map +1 -0
- package/lib/skills/story-builtins.js +72 -0
- package/lib/skills/story-builtins.js.map +1 -0
- package/lib/skills/viora-canvas-builtin.d.ts.map +1 -1
- package/lib/skills/viora-canvas-builtin.js +12 -1
- package/lib/skills/viora-canvas-builtin.js.map +1 -1
- package/lib/snapshot-cache.d.ts +7 -0
- package/lib/snapshot-cache.d.ts.map +1 -0
- package/lib/snapshot-cache.js +26 -0
- package/lib/snapshot-cache.js.map +1 -0
- package/lib/tasks/result.js +1 -1
- package/lib/tasks/result.js.map +1 -1
- package/lib/ui/memory/concern-board.d.ts +1 -1
- package/lib/ui/memory/concern-board.d.ts.map +1 -1
- package/lib/ui/memory/concern-board.js +14 -6
- package/lib/ui/memory/concern-board.js.map +1 -1
- package/lib/ui/memory/concern-deletion.d.ts.map +1 -1
- package/lib/ui/memory/concern-deletion.js +2 -1
- package/lib/ui/memory/concern-deletion.js.map +1 -1
- package/lib/ui/memory/concern-editor.d.ts.map +1 -1
- package/lib/ui/memory/concern-editor.js +5 -3
- package/lib/ui/memory/concern-editor.js.map +1 -1
- package/lib/ui/memory/concern-execution-fields.d.ts +7 -0
- package/lib/ui/memory/concern-execution-fields.d.ts.map +1 -0
- package/lib/ui/memory/concern-execution-fields.js +8 -0
- package/lib/ui/memory/concern-execution-fields.js.map +1 -0
- package/lib/ui/memory/concern-execution-status.d.ts +8 -0
- package/lib/ui/memory/concern-execution-status.d.ts.map +1 -0
- package/lib/ui/memory/concern-execution-status.js +31 -0
- package/lib/ui/memory/concern-execution-status.js.map +1 -0
- package/lib/ui/memory/concern-feedback.d.ts +15 -0
- package/lib/ui/memory/concern-feedback.d.ts.map +1 -0
- package/lib/ui/memory/concern-feedback.js +13 -0
- package/lib/ui/memory/concern-feedback.js.map +1 -0
- package/lib/ui/memory/concern-panel.d.ts.map +1 -1
- package/lib/ui/memory/concern-panel.js +11 -3
- package/lib/ui/memory/concern-panel.js.map +1 -1
- package/package.json +7 -1
- package/resources/skills/novel-game-creation/manifest.json +393 -0
- package/resources/skills/novel-game-creation/upstream/LICENSE +21 -0
- package/resources/skills/novel-game-creation/upstream/README.md +420 -0
- package/resources/skills/novel-game-creation/upstream/README_ZH.md +421 -0
- package/resources/skills/novel-game-creation/upstream/VERSION +1 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/BUILD_BRIEF.md +219 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/.vercelignore +3 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/RUN.md +138 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/bg/compound_new_guofeng.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/fate_coda.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/meng.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/pan.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/pinger.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/xuee.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/finale/yue.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_accord_five.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_afterglow_five.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_alliance.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/public_day10.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/public_day15.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/public_day5.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/group/title_new_guofeng.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/joint/pan_pinger.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/joint/pan_xuee.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/joint/yue_meng.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/joint/yue_pan.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/joint/yue_pinger.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/meng/explicit.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/meng/prelude.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/milestone/meng.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/milestone/pan.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/milestone/pinger.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/milestone/xuee.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/milestone/yue.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/pan/explicit.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/pan/prelude.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/pinger/explicit.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/pinger/prelude.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/xuee/explicit.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/xuee/prelude.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/yue/explicit.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/cg/yue/prelude.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/heroine/meng/night.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/heroine/pan/night.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/heroine/pinger/night.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/heroine/xuee/night.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/heroine/yue/night.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/household/li_jiaoer.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/assets/scene/gate_collector.webp +0 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/css/new-guofeng.css +1494 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/css/style.css +2508 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/index.html +18 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/assets.js +147 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/audio.js +332 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/data.js +7470 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/engine.js +13066 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/main.js +3051 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/js/text.js +32 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/package.json +11 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/app/vercel.json +23 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/art/generated-art.json +161 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/example.json +12 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/qa/README.md +26 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/qa/playable-model.json +99 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/qa/verification.json +41 -0
- package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/qa/verify_playable_model.mjs +152 -0
- package/resources/skills/novel-game-creation/upstream/manifest.json +498 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-art-direction/SKILL.md +47 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-art-direction/agents/openai.yaml +4 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-art-direction/references/art-direction-method.md +40 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-build/SKILL.md +66 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-build/agents/openai.yaml +4 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-build/references/blender-asset-workflow.md +24 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-build/references/build-brief-contract.md +72 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-build/references/generative-media-pipeline.md +25 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-build/references/playable-model-contract.md +46 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-build/references/tts-production-contract.md +23 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-concept/SKILL.md +54 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-concept/agents/openai.yaml +4 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-concept/references/concept-method.md +47 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-qa/SKILL.md +39 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-qa/agents/openai.yaml +4 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-qa/references/qa-contract.md +66 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-qa/references/test-design-method.md +49 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-world-design/SKILL.md +50 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-world-design/agents/openai.yaml +4 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-world-design/references/narrative-design-method.md +35 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-world-design/references/numeric-design-method.md +22 -0
- package/resources/skills/novel-game-creation/upstream/skills/game-world-design/references/world-design-method.md +57 -0
- package/resources/skills/novel-game-creation/upstream/skills/novel-game-analyze/SKILL.md +68 -0
- package/resources/skills/novel-game-creation/upstream/skills/novel-game-analyze/agents/openai.yaml +4 -0
- package/resources/skills/novel-game-creation/upstream/skills/novel-game-analyze/references/gameability-protocol.md +65 -0
- package/resources/skills/novel-game-creation/upstream/skills/novel-to-game/SKILL.md +54 -0
- package/resources/skills/novel-game-creation/upstream/skills/novel-to-game/agents/openai.yaml +4 -0
- package/resources/skills/novel-game-creation/upstream/skills/novel-to-game/references/intake-method.md +50 -0
- package/resources/skills/novel-game-creation/upstream/skills/novel-to-game/references/pipeline-contract.md +60 -0
- package/resources/skills/story-creation/manifest.json +1477 -0
- package/resources/skills/story-creation/upstream/LICENSE.upstream +21 -0
- package/resources/skills/story-creation/upstream/manifest.json +1861 -0
- package/resources/skills/story-creation/upstream/roles/chapter-extractor.md +254 -0
- package/resources/skills/story-creation/upstream/roles/character-designer.md +168 -0
- package/resources/skills/story-creation/upstream/roles/consistency-checker.md +192 -0
- package/resources/skills/story-creation/upstream/roles/narrative-writer.md +105 -0
- package/resources/skills/story-creation/upstream/roles/story-architect.md +139 -0
- package/resources/skills/story-creation/upstream/roles/story-explorer.md +262 -0
- package/resources/skills/story-creation/upstream/roles/story-researcher.md +303 -0
- package/resources/skills/story-creation/upstream/skills/browser-cdp/SKILL.md +175 -0
- package/resources/skills/story-creation/upstream/skills/story/SKILL.md +129 -0
- package/resources/skills/story-creation/upstream/skills/story/VERSION +1 -0
- package/resources/skills/story-creation/upstream/skills/story/references/author-memory-maintenance.md +75 -0
- package/resources/skills/story-creation/upstream/skills/story/references/author-memory.md +117 -0
- package/resources/skills/story-creation/upstream/skills/story/scripts/author_memory_commit.py +1635 -0
- package/resources/skills/story-creation/upstream/skills/story-cover/SKILL.md +336 -0
- package/resources/skills/story-creation/upstream/skills/story-cover/references/cover-styles.md +210 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/SKILL.md +274 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/references/agent-calls.md +5 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/references/anti-ai-writing.md +556 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/references/author-memory-maintenance.md +75 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/references/author-memory.md +117 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/references/banned-words.md +151 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/references/deslop-gates.md +171 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/references/style-resolution.md +27 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/scripts/author_memory_commit.py +1635 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/scripts/check-ai-patterns.js +1586 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/scripts/check-degeneration.js +349 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/scripts/normalize-punctuation.js +415 -0
- package/resources/skills/story-creation/upstream/skills/story-deslop/scripts/style-whitelist.js +39 -0
- package/resources/skills/story-creation/upstream/skills/story-import/SKILL.md +127 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/character-state-reverse.md +82 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/deep-analysis.md +47 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/format-and-structure.md +168 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/import-report.md +64 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/import-special-cases.md +34 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/import-tracking.md +95 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/length-routing.md +134 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/outline-reverse-rules.md +79 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/outline-reverse.md +24 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/state-tracking.md +43 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/structure-mapping-long.md +448 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/structure-mapping-short.md +187 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/tracking-initialization.md +31 -0
- package/resources/skills/story-creation/upstream/skills/story-import/references/tracking-transaction.md +146 -0
- package/resources/skills/story-creation/upstream/skills/story-import/scripts/build_outline_brief.py +332 -0
- package/resources/skills/story-creation/upstream/skills/story-import/scripts/check-outline-contract.js +520 -0
- package/resources/skills/story-creation/upstream/skills/story-import/scripts/tracking_commit.py +1691 -0
- package/resources/skills/story-creation/upstream/skills/story-import/scripts/wordcount_core.py +405 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/SKILL.md +140 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/author-facing.md +252 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/deconstruction-notes.md +270 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/final-checks.md +19 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/index-rebuild.md +11 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/inspiration-library.md +105 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/pipeline-ops.md +154 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/semantic-acceptance-fixtures.md +84 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/stage1-golden-chapters.md +128 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/stage2-extraction.md +229 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/stage3-plot-rhythm.md +480 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/stage4-characters-settings.md +195 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/stage5-report.md +33 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/style-profile-generator.md +76 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/style-profile-protocol.md +133 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/references/synthesis-inputs.md +39 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/scripts/build_chapter_index.py +466 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/scripts/inspect_existing_assets.py +702 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/scripts/inspiration_index.py +864 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/scripts/manage_analysis_run.py +1145 -0
- package/resources/skills/story-creation/upstream/skills/story-long-analyze/scripts/render_relation_chart.py +425 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/SKILL.md +193 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/references/genre-trends.md +197 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/references/platform-ciweimao.md +19 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/references/platform-fanqie.md +45 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/references/platform-jjwxc.md +28 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/references/platform-qidian.md +35 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/references/platform-qimao.md +27 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/references/publishing-guide.md +114 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/references/reader-profiling.md +105 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/references/topic-decision.md +82 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/scripts/aggregate-rank.js +682 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/scripts/cdp-utils.js +242 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/scripts/ciweimao-rank-scraper.js +240 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/scripts/fanqie-rank-scraper.js +658 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/scripts/jjwxc-rank-scraper.js +400 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/scripts/qidian-rank-scraper.js +592 -0
- package/resources/skills/story-creation/upstream/skills/story-long-scan/scripts/qimao-rank-scraper.js +435 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/SKILL.md +136 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/agent-calls.md +47 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/anti-ai-writing.md +556 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/artifact-protocols.md +183 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/author-memory-maintenance.md +75 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/author-memory.md +117 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/banned-words.md +151 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/benchmark-recall.md +16 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/character-basics.md +445 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/character-design-methods.md +428 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/character-relations.md +433 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/commercial-core-methods.md +502 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/cross-book-recall.md +88 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/deslop-gates.md +171 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/dialogue-mastery.md +288 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/emotion-on-page.md +116 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/emotional-arc-design.md +313 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/emotional-methods.md +209 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/female-audience-writing.md +188 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-prose-cards.md +91 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/genre-readers.md +235 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/long-chapter-hooks.md +225 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/long-chapter-quality.md +177 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/long-format.md +36 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/long-genre-catalog.md +394 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/long-genre-mechanics.md +415 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/long-reversal.md +335 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/long-suspense.md +352 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/opening-design.md +349 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/outline-conflict.md +457 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/outline-methods.md +287 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/outline-rhythm.md +389 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/outline-structure-theory.md +273 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/plot-core-methods.md +522 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/plot-emotion-system.md +354 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/plot-frameworks.md +711 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/plot-special-topics.md +622 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/project-files.md +114 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/reader-contract-and-progression.md +117 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/reference-index.md +86 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/stop-and-fix.md +9 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/style-combat-face.md +352 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/style-craft.md +327 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/style-genre-modules.md +510 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/style-resolution.md +27 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/tracking-initialization.md +31 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/tracking-transaction.md +146 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/workflow-chapter.md +104 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/workflow-daily.md +75 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/workflow-outline.md +157 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/workflow-revision.md +89 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/workflow-setup.md +170 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/workflow-volume.md +142 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/writer-prompt-fallback.md +24 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/references/writing-craft.md +442 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/author_memory_commit.py +1635 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/build_architect_brief.py +260 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/build_writer_prompt.py +611 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/check-ai-patterns.js +1586 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/check-degeneration.js +349 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/check-outline-contract.js +520 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/check-outline-copy.js +313 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/normalize-punctuation.js +415 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/outline_view.py +286 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/storyctl.py +561 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/style-whitelist.js +39 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/tracking_commit.py +1691 -0
- package/resources/skills/story-creation/upstream/skills/story-long-write/scripts/wordcount_core.py +405 -0
- package/resources/skills/story-creation/upstream/skills/story-review/SKILL.md +231 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/agent-prompts.md +184 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/anti-ai-writing.md +556 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/author-memory-maintenance.md +75 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/author-memory.md +117 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/banned-words.md +151 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/batch-review.md +19 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/character-relations.md +433 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/dialogue-mastery.md +288 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/plot-core-methods.md +522 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/quality-rubric.md +55 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/review-quality.md +246 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/review-tracking.md +10 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/rubrics/fanqie.md +18 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/rubrics/qidian.md +19 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/rubrics/zhihu.md +20 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/solo.md +52 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/style-resolution.md +27 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/tracking-initialization.md +31 -0
- package/resources/skills/story-creation/upstream/skills/story-review/references/tracking-transaction.md +146 -0
- package/resources/skills/story-creation/upstream/skills/story-review/scripts/author_memory_commit.py +1635 -0
- package/resources/skills/story-creation/upstream/skills/story-review/scripts/check-ai-patterns.js +1586 -0
- package/resources/skills/story-creation/upstream/skills/story-review/scripts/check-degeneration.js +349 -0
- package/resources/skills/story-creation/upstream/skills/story-review/scripts/normalize-punctuation.js +415 -0
- package/resources/skills/story-creation/upstream/skills/story-review/scripts/style-whitelist.js +39 -0
- package/resources/skills/story-creation/upstream/skills/story-review/scripts/tracking_commit.py +1691 -0
- package/resources/skills/story-creation/upstream/skills/story-review/scripts/wordcount_core.py +405 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/SKILL.md +165 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/agent-quality.md +72 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/agent-reference-profiles.md +55 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/anti-ai-writing.md +556 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/banned-words.md +151 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/benchmark-style-load.md +107 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/character-basics.md +445 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/character-design-methods.md +428 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/character-relations.md +433 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/deslop-gates.md +171 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/dialogue-mastery.md +288 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/emotion-on-page.md +116 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/emotional-arc-design.md +313 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/format-and-structure.md +168 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +53 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +51 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-prose-cards.md +91 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/genre-readers.md +235 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/long-chapter-hooks.md +225 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/long-emotional-methods.md +209 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/long-genre-catalog.md +394 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/long-genre-mechanics.md +415 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/long-quality.md +42 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/long-reversal.md +335 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/long-suspense.md +352 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/opening-design.md +349 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/outline-conflict.md +457 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/outline-methods.md +287 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/outline-rhythm.md +389 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/plot-core-methods.md +522 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/short-chapter-hooks.md +225 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/short-emotional-methods.md +179 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/short-genre-formulas.md +417 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/short-paragraph-hooks.md +146 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/short-quality.md +39 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/short-reversal.md +355 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/short-suspense.md +352 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/style-combat-face.md +352 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/style-genre-modules.md +510 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/style-resolution.md +27 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/agent-references/writing-craft.md +442 -0
- package/resources/skills/story-creation/upstream/skills/story-setup/references/diagnostics.md +38 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/SKILL.md +224 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-character-basics.md +453 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-character-design.md +438 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-character-relations.md +395 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-method.md +42 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-paragraph-hooks.md +146 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-reader-profile.md +245 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-report-style.md +45 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-short-genres.md +65 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-short-hooks.md +77 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-short-mechanics.md +82 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-short-patterns.md +50 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-short-suspense.md +98 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/analysis-writing-techniques.md +477 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/deconstruction-examples.md +79 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/optional-modules.md +97 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/output-contract.md +127 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/quality-checklist.md +80 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/real-market-data.md +90 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/source-story-quality.md +221 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/stage2-3-structure-emotion.md +308 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/stage4-6-reversal-summary.md +611 -0
- package/resources/skills/story-creation/upstream/skills/story-short-analyze/references/zhihu-style.md +54 -0
- package/resources/skills/story-creation/upstream/skills/story-short-scan/SKILL.md +182 -0
- package/resources/skills/story-creation/upstream/skills/story-short-scan/references/manual-rank-input.md +36 -0
- package/resources/skills/story-creation/upstream/skills/story-short-scan/references/platform-dianzhong.md +24 -0
- package/resources/skills/story-creation/upstream/skills/story-short-scan/references/platform-heiyan.md +21 -0
- package/resources/skills/story-creation/upstream/skills/story-short-scan/references/real-market-data.md +90 -0
- package/resources/skills/story-creation/upstream/skills/story-short-scan/references/topic-match.md +38 -0
- package/resources/skills/story-creation/upstream/skills/story-short-scan/scripts/aggregate-rank.js +682 -0
- package/resources/skills/story-creation/upstream/skills/story-short-scan/scripts/cdp-utils.js +242 -0
- package/resources/skills/story-creation/upstream/skills/story-short-scan/scripts/dz-browse-scraper.js +232 -0
- package/resources/skills/story-creation/upstream/skills/story-short-scan/scripts/heiyan-booklist-scraper.js +345 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/SKILL.md +136 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/agent-calls.md +13 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/author-memory-maintenance.md +75 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/author-memory.md +117 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/banned-words.md +151 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/benchmark-recall.md +40 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/cross-book-recall.md +62 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/dialogue-mastery.md +288 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/emotional-methods.md +179 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +159 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +156 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +163 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +167 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +178 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +166 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +159 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +151 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +153 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-styles//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272.md +210 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-writing-formulas.md +417 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/genre-writing-techniques.md +490 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/hooks-chapter.md +225 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/hooks-paragraph.md +146 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/output-contract.md +127 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/reference-index.md +23 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/scene-craft.md +40 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/short-craft.md +147 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/short-deslop.md +133 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/short-format.md +199 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/short-prose-quality.md +224 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/short-reversal.md +355 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/short-suspense.md +352 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/style-resolution.md +27 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/submission-craft.md +35 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/villain-and-reveal.md +153 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/workflow-design.md +85 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/workflow-draft.md +116 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/workflow-revision.md +99 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/references/writing-workflow.md +50 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/scripts/author_memory_commit.py +1635 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/scripts/check-ai-patterns.js +1586 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/scripts/check-degeneration.js +349 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/scripts/check-delivery-contract.js +241 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/scripts/check-outline-copy.js +313 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/scripts/check-phase2-contract.js +363 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/scripts/normalize-punctuation.js +415 -0
- package/resources/skills/story-creation/upstream/skills/story-short-write/scripts/style-whitelist.js +39 -0
- package/resources/skills/video-recap-production/manifest.json +673 -0
- package/resources/skills/video-recap-production/upstream/CHANGELOG.md +371 -0
- package/resources/skills/video-recap-production/upstream/LICENSE +21 -0
- package/resources/skills/video-recap-production/upstream/README.en.md +468 -0
- package/resources/skills/video-recap-production/upstream/README.md +459 -0
- package/resources/skills/video-recap-production/upstream/manifest.json +839 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/SKILL.md +112 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/audio-modes.md +63 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/explicit-audio-mix.md +75 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/foreground-compose.md +118 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/LICENSE.duo-video +21 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/SOURCE.md +15 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/empty_draft_meta_info.json +69 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/empty_jy_combination_segment.json +84 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/empty_jy_combination_video_material.json +98 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/empty_jy_draft.json +204 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/empty_jy_material_video.json +83 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/empty_jy_meta_material_value.json +23 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/empty_jy_project_info.json +133 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/empty_jy_segment.json +70 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/empty_jy_text_styles.json +30 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/empty_yj_material_audio.json +41 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/jianying/empty_yj_material_text.json +109 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/narration-adoption.md +103 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/packaging.md +45 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/pair-media.md +74 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/source-score.md +147 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/references/subtitle-track.md +202 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/adoption/__init__.py +1 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/adoption/audio_mix_binding.py +279 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/adoption/frozen_audio.py +187 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/adoption/narration_binding.py +323 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/adoption/strict_inputs.py +109 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/adoption/strict_publish.py +130 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/artifacts.py +47 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/assemble.py +591 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/assemble_constants.py +51 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/assembly_contract.py +318 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/assembly_settings.py +138 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/audio_automation.py +195 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/audio_mix.py +465 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/compose_foreground.py +293 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/export_jianying.py +254 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/jianying/__init__.py +1 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/jianying/builders.py +718 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/jianying/model.py +105 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/jianying/optional.py +23 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/jianying/schema.py +53 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/jianying/templates.py +37 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/jianying/timeline_contract.py +223 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/jianying/tracks.py +72 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/jianying/writer.py +383 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/lib.py +218 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/media.py +190 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/narration_audio.py +413 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/packaging.py +122 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/pair_media.py +216 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/render_preflight.py +33 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/source_score.py +469 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/source_subtitles.py +423 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/subtitles/__init__.py +1 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/subtitles/core.py +330 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/subtitles/render.py +82 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/subtitles/track.py +324 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/subtitles/track_binding.py +200 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/timeline.py +217 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/timeline_emit.py +167 -0
- package/resources/skills/video-recap-production/upstream/skills/video-assemble/scripts/visual_render.py +448 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/SKILL.md +108 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/references/shot-review.md +50 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/scripts/cut.py +41 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/scripts/cut_cli.py +308 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/scripts/cut_contract.py +424 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/scripts/cut_render.py +304 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/scripts/lib.py +114 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/scripts/media_geometry.py +238 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/scripts/narration_mapping.py +71 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/scripts/narrative_selection.py +244 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/scripts/sentence_boundaries.py +585 -0
- package/resources/skills/video-recap-production/upstream/skills/video-cut/scripts/shot_review.py +357 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/SKILL.md +260 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/references/audio-routing.md +126 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/references/config-playbook.md +65 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/references/data-schema.md +545 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/references/resource-library.md +151 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/references/shift-left-qc-schema.md +23 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/doctor.py +556 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/final_qc.py +527 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/lib.py +220 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/library.py +509 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/materials.py +406 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/mimo_qc.py +33 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/project_binding.py +286 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/qc/__init__.py +1 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/qc/mimo_client.py +13 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/qc/mimo_contract.py +9 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/qc/mimo_evidence.py +287 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/qc/mimo_observations.py +175 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/qc/mimo_payload.py +206 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/qc/mimo_report.py +318 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/qc/mimo_runner.py +130 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/qc_contract.py +320 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/recap.py +9 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/recap_cli.py +209 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/recap_inspect.py +452 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/recap_review.py +70 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/recap_runner.py +696 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/recap_runtime.py +260 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/recap_source.py +278 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/recap_stage_qc.py +160 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/recap_timeline.py +621 -0
- package/resources/skills/video-recap-production/upstream/skills/video-recap/scripts/resource_lock.py +162 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/SKILL.md +251 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/references/creative-editing-playbook.md +229 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/references/promotional-copy.md +68 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/references/research-guide.md +75 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/agent_text.py +301 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/deslop_qc.py +211 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/evidence_bundle.py +440 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/lib.py +254 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/narration_lint.py +707 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/review.py +40 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/review_grounding.py +238 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/review_response.py +669 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/review_runner.py +186 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/speech_ownership.py +143 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/timeline_fusion.py +108 -0
- package/resources/skills/video-recap-production/upstream/skills/video-script/scripts/validate.py +175 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/SKILL.md +77 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/references/data-schema.md +193 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/references/prompt-templates.md +37 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/references/research-guide.md +74 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/agent_text.py +301 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/asr.py +279 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/asr_timing_evidence.py +270 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/brief.py +9 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/briefing/__init__.py +1 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/briefing/builder.py +402 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/briefing/context.py +317 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/briefing/inputs.py +268 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/briefing/timeline.py +326 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/consolidate.py +596 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/deslop_qc.py +211 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/detect.py +504 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/extract.py +62 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/lib.py +419 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/narration_lint.py +707 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/speech_ownership.py +143 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/storyboard.py +445 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/timeline_fusion.py +108 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/understand.py +9 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/understanding_brief.py +190 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/understanding_cache.py +345 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/understanding_runner.py +387 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/understanding_storyboard.py +167 -0
- package/resources/skills/video-recap-production/upstream/skills/video-understanding/scripts/vlm.py +674 -0
- package/resources/skills/video-recap-production/upstream/skills/video-voiceover/SKILL.md +91 -0
- package/resources/skills/video-recap-production/upstream/skills/video-voiceover/references/index-tts.md +31 -0
- package/resources/skills/video-recap-production/upstream/skills/video-voiceover/scripts/approved_text_policy.py +123 -0
- package/resources/skills/video-recap-production/upstream/skills/video-voiceover/scripts/dub.py +623 -0
- package/resources/skills/video-recap-production/upstream/skills/video-voiceover/scripts/lib.py +352 -0
- package/resources/skills/video-recap-production/upstream/skills/video-voiceover/scripts/providers/__init__.py +1 -0
- package/resources/skills/video-recap-production/upstream/skills/video-voiceover/scripts/providers/fish_audio.py +91 -0
- package/resources/skills/video-recap-production/upstream/skills/video-voiceover/scripts/providers/index_tts.py +184 -0
- package/resources/skills/video-recap-production/upstream/skills/video-voiceover/scripts/tts_audio.py +102 -0
- package/resources/skills/video-recap-production/upstream/skills/video-voiceover/scripts/voiceover.py +771 -0
- package/resources/skills/viora-canvas-production/manifest.json +5 -1
- package/resources/skills/viora-canvas-production/references/story-handoff.md +49 -0
package/resources/skills/novel-game-creation/upstream/examples/jin-ping-mei/build/BUILD_BRIEF.md
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# BUILD_BRIEF · 金瓶梅·风月总账(二十日五院版)
|
|
2
|
+
|
|
3
|
+
## 2026-08 新国风视觉重塑增量
|
|
4
|
+
|
|
5
|
+
- `buildStage: production`,不改规则器、内容节点、存档字段、分级或二十日完成条件。
|
|
6
|
+
- 四十一张运行图片全部替换为原创二维新国风叙事 CG;运行键、懒加载、年龄门和 fail-closed 合同不变,旧棕黑资产与工笔样张不保留。
|
|
7
|
+
- 末级主题改为 `app/css/new-guofeng.css`,把年龄门、首屏、顶栏、决策页、五扇院门、夜谈、结果页与覆盖层统一到暖白/石青/朱砂/青绿/藕荷语法。
|
|
8
|
+
- 视觉基线锁定“完整晚明世界+成熟理想化二维游戏人物”:不退回古画复刻,不做真人古装摄影、3D 剧照、现代棚拍或暗黑封面。
|
|
9
|
+
- 参考库图片不进入运行目录;Case 213/290/9/230 只提供古代游戏空间、角色卡识别、高明度色光和留白方法,具体裁决写入 `design/VISUAL_TARGETS.md`。
|
|
10
|
+
- 验证除既有模型检查外,增加 1280×800、1600×800 与 390×844 的首屏和关键流程截图、四十一张资源解码、旧图清零、无水平溢出与控制台错误检查。
|
|
11
|
+
|
|
12
|
+
`targetFinish: playable-prototype`
|
|
13
|
+
|
|
14
|
+
`buildStage: production`
|
|
15
|
+
|
|
16
|
+
`buildPath: custom`
|
|
17
|
+
|
|
18
|
+
## 目标
|
|
19
|
+
|
|
20
|
+
在现有零构建网页运行时上,把六日三线切片升级为可完整游玩的二十日五线版本。保护第一人称、日程经营、可拒绝成人关系、人物能力反哺经营和证据化 QA,不改做纯视觉小说或开放世界。
|
|
21
|
+
|
|
22
|
+
代码原生状态机是可执行改编模型:`data.js` 定义可选行动与内容节点,`engine.js` 独占资源、关系、知识、
|
|
23
|
+
承诺、事件与结局提交,DOM/CSS 只表现已裁决结果。`qa/playable-model.json` 仅是对照实现的测试 oracle;
|
|
24
|
+
`node qa/verify_playable_model.mjs` 必须证明两条正堂起手可区分、可确定性重放、长期回调载荷存在、未选
|
|
25
|
+
分支不污染、合法存档可重演且伪造状态拒读。该命令不逐日演出这些回调,也不替代真实浏览器的六项
|
|
26
|
+
完整 QA。这个既有候选早于内容与规则修订号拆分,故 `contentRevision`、`rulesRevision` 明记为
|
|
27
|
+
`NOT_AVAILABLE`;唯一可核的兼容边界是 `saveSchemaVersion: 67`,不得把它冒充另两种版本。固定验证
|
|
28
|
+
seed 为 42:主路径依次执行 `opening_open_ledger` 与三次开场后章推进,相邻反例改走
|
|
29
|
+
`opening_hear_five` 与同样三次推进;两路都应进入 `day`,但旗标、宅门值与院间关系必须不同,向任一路
|
|
30
|
+
注入另一条起手旗标都必须拒读。
|
|
31
|
+
|
|
32
|
+
## 必须实现
|
|
33
|
+
|
|
34
|
+
### 状态与日程
|
|
35
|
+
|
|
36
|
+
- MAX_DAY 为 20;四幕各五日;二十个唯一日 id、标题、压力与情报。
|
|
37
|
+
- 每日两套 seed 真相;同 seed 复现,不同 seed 改变征兆、正解与证据声口,不用隐藏 RNG 判成败。
|
|
38
|
+
- SAVE_VERSION 当前为 67;旧档拒读;openingAftermath、sceneBeat、nightConversation、nightCoda、routeAftermath、pairInterlude、favorReckoning、memoryReckoning、duskInvitationAftermath、personalAfterglowAftermath、personalFinale、allianceAssembly、allianceNight、sharedAfterglow、fateCoda、dayAftermath、jointActionBeat、portablePrecedent、morningSettlement、householdAftermath、crisisAftermath、councilAftermath、publicEvidence、publicAftermath、actAftermath、fivePrivatePrices 与 finalReckoningAftermath 必须严格记录开局五人三幅连续回应、个人册页、专属夜谈及其三幅回答后章、普通夜章、路线最终处置两幅、双院私议六拍、白日人情追账四拍、路线旧话追账四拍、主动邀约四拍、个人亲密余夜后章、个人终章问答、逐院问灯、有限同盟问答、五院余夜问答、命数三页、白日三幅后果、联院三幕、首次联办后的五屏院外援例、具名晨簿、娇儿跨幕交易、可恢复危机、院议裁决、第十五日三步证链、公开问责收尾、换幕后果、第十九日五封私价和终局外账的当前拍号、选择结果与前章立场;relations、visits、routeStances、publicOverrides、routeReopensOn 必须严格等于五名女主键集合,bonds 必须严格等于十组成对键。路线历史还必须逐拍重放:第 2/4/6/8 拍只能使用此前占优立场对应的分支,跳拍、旧固定选项或偷换另一条前史均拒读。
|
|
39
|
+
- 两种正堂起手都必须进入三幅群像后章,让五人分别拆解事实、物证和去路;两条路径写入不同的起始院间互信,第 1 日显示原则笺,第 5 日公议再拿这笔旧例追问。
|
|
40
|
+
- 第 1–4 日必须形成十二路可验证的跨日生活链,而非四张独立教程卡。第 1、2、3 日各从真实 `day_action` 与正确 `actor` 派生一件唯一纸物,翌日同时替换 `dayDef.pressure`、`dayAgenda.dilemma` 并显示来源卡;伪造经手人不得产生回响。第 4 日 household 还要把第三日灰袋/锁号/回结/货主花押带到娇儿面前,但不能挤掉本日四种交易准备,也不能提前交付具名底价。该链只从 history 重算,不增加存档字段。
|
|
41
|
+
- 第 1 日 `opening_choice` history 还必须由 `openingMemory` 派生两套长期原则。对象除三拍开场与第 5 日回声外,须提供第 15 日总览、两项 `PUBLIC_EVENTS[15]` 选择正文、第 20 日总览、三项 `FINAL_RECKONING` 选择正文与四拍 `final_aftermath` 回声。`opening_open_ledger` 维持缺口可见但不预填罪人、公开不取得整本私物;`opening_hear_five` 维持原话出处、证力、期限与拒绝。`currentPublicEvent`、`currentFinalReckoning` 与 `currentFinalReckoningAftermath` 只读注入对应文本并暴露来源提示;不得改变 choice ID、effects、证链等级、联盟成员、history schema 或 `SAVE_VERSION`。同一对象还须提供五类 `endingTexts`、五人 `epilogueTexts` 与命数末页 `fateText`;`determineEnding` 只追加当前结局族文本,`endingEpilogues` 只给每名女主追加本人一条,`currentFateCoda` 只在第三页追加固定命数下的最终回声并暴露来源。结局读档继续重建这些展示字段,不写入新的可协同篡改状态。
|
|
42
|
+
- 第 5 日公议必须从第 4 日真实 `night` history 读取拜访对象与停留方式,派生五种不同热食、院门、经手痕迹和受宠者后果;按钮、追问正文与三拍 `public_aftermath` 不得出现未替换占位符。正式妻妾名分与席序保持 immutable,一次先送只能成为有日期的偏爱与补工责任,不能重写为现代平席或永久轮宠。
|
|
43
|
+
- 第 5 日真实 `day_action` 与正确 `actor` 还必须派生 `DAY5_PUBLIC_PREPARATIONS`:五碗旧席单/三处分坐纸/春梅原话斜结/逐名补工单之一,与热饭记忆同时进入 `currentPublicEvent`、三项动态 `public_followup` 文本及 `public_aftermath` 三拍。所有 `{meal*}` 占位必须按真实昨夜对象填完;伪造经手人无回响,choice ID、effects、history schema 与 SAVE_VERSION 不变。
|
|
44
|
+
- 第 5 日 `banquet` history 还必须派生 `DAY5_PUBLIC_OPENINGS`,严格区分 `public_balance_1` 的逐手经办页与 `public_5_favor` 的具名自认页。动态 `public_followup` 要改写三项正文;已认责路线的 `follow_5_let_them_edit` 必须替换重复认责句,`follow_5_stop_rumor` 必须覆盖为 `exposure:-2, house:-6`,而未认责路线仍保留基础 `exposure:-7, house:-3`。该开场对象还要逐拍进入 `public_aftermath`、第 6 日 `act_transition`/`act_aftermath` 与第 7 日 `council`/`council_aftermath`;从 history 派生,不增加存档字段,不提升 `SAVE_VERSION`。
|
|
45
|
+
- 第 7 日院议落案后,`recordedNightLedger` 必须同时派生 `DAY5_PUBLIC_OPENING_LONG_ECHOES`。第 13 日 `dayDef.nightLedger` 与四个 `nightLedgerScope` 分别追加开场专属生活责任;第 18 日 `currentHouseholdEvent.nightLedger`、三项 `nightLedgerDisposition` 与 `currentHouseholdAftermath` 四拍分别追加交易边界。`public_balance_1` 追经办、工钱与未知手,`public_5_favor` 追家主已认成本但不扩成他人授权;全部从既有 banquet/council history 重算,不增加 history 字段或 `SAVE_VERSION`。
|
|
46
|
+
- 第 5–9 日必须保持同一条可读日常因果:先送热食 → 食盒油印进入韩道国假账 → 缺口碗与玳安/码头路线互证 → 四张催菜单逼出停灶 → 灶上劳动余物把旧箱带回桌前。第 6 日真实 `day_action` 与正确 `actor` 必须派生油印撕页、真账底单、串词窄纸或隔席空栏之一,同时改写第 7 日 `dayDef`、`dayAgenda` 与院议材料;它与第 5 日 `public_followup`、第 6 日 `act_transition` 的夜簿权限前史并列,不能互相覆盖。第 7 日真实 `day_action` 再派生盐泥红蜡、有限退帖、缺口碗原话或同锅饭绳结之一,同时改写第 8 日停灶压力与两难。第 8 日真实 `day_action` 继续派生补工封袋旧签、公牌注销簿退号、管事旧箱口误或守夜欠帖之一,同时改写第 9 日 `dayDef`、`dayAgenda` 与娇儿交易来源卡;它不能挤掉第 9 日当日验契准备,也不能生成原件、授权抄本或押名结论。伪造经手人不得产生回响。所有物件都只证明亲见的一段:春梅只承担真正催过的一回,玳安只认门外一程,车夫、烧火妇与旧抬箱人不替未知处补口供;金莲与雪娥的双院私议必须把原话、加词、命令、劳动分栏,不能把春梅写成恋爱角色,也不能让任何低位经手人替管事和家主吞下全部责任。该链从 history 重算,不增加存档字段。
|
|
47
|
+
- 第 9–12 日必须把“契据/口供/官面/货路”落回宅内可见之物。第 9 日旧契明确关联瓶儿过墙旧箱、沉香、胡椒与押名,但白日仍只准备;第 10 日从真实 `household_aftermath` 派生五院索引、限案封存、强拿归还、继续扣押四套 `deedEcho`,并为四类白日动作分别追加不同实物、传话人与边界,不得退回通用“已有旧契”。第 11 日官面压力表现为盐车不卸与灶上少盐,四种真实 `day_action` 分别留下“一瓮”收货回单、三日验盐帖、祝家私章原话蜡拓或分盐工签;第 12 日 `dayDef` 与 council 都要回读该物,再接空船、仿旧箱、沉香气、绳头与西厢旧麻。伪造经手人不产生回响;盐蜡、半帖、私章或缺签均只能锁住一段箱路,查到物从某院门前过不得自动等于该人物作恶。
|
|
48
|
+
- 第 13–20 日继续保持生活纵切,不得回到只有协议名的高潮。第 13 日从第 12 日院议派生米、药、灯油、回礼、跑腿鞋与三种垫付边界;同日真实 `day_action` 还须留下五张归还日签/同柜号四铺回单/“不催”货价尾注/分持齿口领取单之一。第 14 日 `dayDef` 与娇儿 household 读取该物,分别保留第五件未补、四笔垫付独立、重复抬价争议或五人逐项放行;伪造经手人无回响,本日四项用途与成交栏仍保持空签。第 15 日以短米、破鞋、添火工钱和五件原物问责,第 16 日以原票、脚店热饭和新草鞋拆分真债主/收钱喊话者/饥饿跟来者。第 17 日夜查须写油灯、同锅饭、草鞋与三名具名进柜者,并按真实 `day_action` 留下三张分存拓片/三名夜牌与饭筒/守柜人口误扇骨/饭碗错鞋之一;第 18 日 `dayDef` 与娇儿 household 都要回读该物,只允许验真有限一程,伪造经手人不得产生回响。第 18 日本日准备仍只摆银堆、车筹、两把空椅与路饭,不能被上一日实物替代;第 19 日五封价书逐件压总印、原话、货封、名帖与工簿;第 20 日先封三日粮药工钱、逐件还物、留退席路,再开外账。
|
|
49
|
+
- 第 1–19 日不能进入 ending;第二十日前共线入口隐藏,determineEnding 也要独立拒绝伪造的提前状态。
|
|
50
|
+
- 每名女主八段不重复路线,走完后院门显示完成并拒绝重复刷最后一段。
|
|
51
|
+
- 路线选择累计“共同承担/私下情分”;明确夜场至少需要两次共同承担,不能只看好感。
|
|
52
|
+
- 李娇儿在第 4、9、14、18 日有四次连续交易事件。九个初始价格选择每个都必须进入四拍后续:成交/拒买落地、两名五院见证人拆出隐含代价、娇儿提出两种票契结构、玩家作第二次处置并看见结果。十八个二次处置与四十五段过程/结果正文不得换名复用,逐拍可存读;后三次还要同时显示上一笔初选与二次落字。第 4 日白日只可算区间、备见证、听待核口风或列空白价栏,具名精确底价只由买下/拒绝报价产生;第 9 日白日只可隔掌验契、备候认人、找亲见者或排空封套,第一份授权抄本或原件转移只由抄契/强拿产生。第四日少付的十两是派生尾款,会改变第九日抄契成本、第十四日兑票净收益或第十八日封口成本。买断、具名分成、拒买欠账、强拿后归还/扣押必须进入不同终局交易总账,不能只改态度值;第 14/18 日继续按真实历史回读原件、抄本、收据及具名底价纸的位置。
|
|
53
|
+
- 断粮、证人翻供、宅中集体交钥匙三类可恢复危机不能用一次资源按钮带过。危机首屏必须先消费 `currentHouseCrisis` 的三份 `currentReply`:前端逐拍显示人物、本人原物、实际动作、答复与真实前史理由,并以 `advanceHouseCrisisReply` 落账;三答完成前不得渲染制度救法。三份答复落齐后只显示与 stand/amend/withdraw 边界相容的两院结构和兜底救法。九种初救随后都进入四拍危机章节:救法实际落地、受影响者追查隐含代价、另一院提出两项制度补救、玩家二次选择并看见结果。十八项制度选择与三十六段新增后续正文必须按危机和救法分别写作;逐拍可存读,第三拍以前不得提前回到日常循环。
|
|
54
|
+
- 二十日每次白日选择都进入 `day_aftermath` 三幅连续剧情:主办者执行、旁院回应、危局回手。不得再用一张结果浮层把三层正文合并;三幅都要可存读,最后一幅才转入当日特殊事件或黄昏。第三幅已经承担章节收束,翻到五院门时不得再重复弹出同一结果摘要、遮挡下一轮人物与后果预告;娇儿交易、院议和主动邀约等多拍章节遵守同一规则。
|
|
55
|
+
- 每日结转若真实产生用度短账或曝光见证费,次晨至多进入一次 `morning_settlement`《晨簿落名》。经手人必须由此前真实 `day_action` 派生,不读好感排名;五人分别收回总印与铜镇、原话纸与扇骨、私钥与货单、帖匣与回礼单、封火牌与工簿。玩家只能三选一:`accept_stop` 暂停对应行动并从下一夜减去 6 点停项日用或停止暗付 15 两封口银;`narrow_authorization` 只放行下一次指定行动,用后立即转为硬暂停;`publish_gap` 承担露 +6/声 -1,保留行动但每次再加露 +4,曝光费用公开后不再暗付封口银。三路都必须由本人指定的另一项白日行动生成带具体 `result` 的 `morning_settlement_restore` 才解除;走官面若被高曝光、耗损或无银锁住,只能办理不添官势、不收当日危局的具名恢复回执。曝光关系后果按真实经手人与院间互信分配,不得全员统一加妒;未恢复时不得叠加第二项限制。来源、物件、限制、恢复、选择、一次使用、具体恢复结果与恢复专用正文均须由 seed 与真实过程重放,协调偷换资源或字段拒读;结局与命数回读具体物件、恢复状态与实际复核结果。
|
|
56
|
+
- 前十八日每个危局除 seed 征兆正解外,还要有一条关系资本解:主办女人情分与相关院间互信达标,或已经立约/走深路线,才可拿她的名、货、口供、账或工先收口。关系解的按钮必须预告追账日;两日后进入独立 `favor_reckoning` 四拍章节,依次演出借力者开账、受影响者举证、玩家偿还/重谈/赖账、双院结果,四拍均可续读。第十九、二十日不得新增来不及回收的人情债。 `favorReckoningMemories(state, heroine)` 只读配对真实借力 `day_action` 与已结 `favor_reckoning`,返回 `{ event, day, sourceDay, heroine, observer, observerName, sourceAction, sourceLabel, sourceText, debtTitle, debtBody, heroineLine, observerLine, choice, choiceLabel, outcome }[]`;院门与一月笺必须消费完整数组,正文、routeNote 与列表逐笔显示债源、见证和结果,单数接口仅兼容返回末项。前十八日×三种裁决的五十四条路径全覆盖;第十九、二十日继续验证 `ready === false`。`fateHeroineMemories` 在 fixed fate 之后追加全部已结人情,返回完整 `favorReckonings` 与末项兼容 `favorReckoning`;人物分卷逐笔保留债源、见证、裁决和结果,并明确不改死生与去处。不得新增 state、history schema 或 SAVE_VERSION。
|
|
57
|
+
- 人物账必须有派生的“待兑现”页:列出尚未结清的人情账与路线旧话、原日、涉及两院、到期日和主题,今日到期/积压/冷门优先;结清后即时移除,赖账冷门改为显示重开日。该页只能从真实 history 与 routeReopensOn 派生,不能另存一份可能失真的 UI 状态。
|
|
58
|
+
- 五院门卡必须在进入前显示可推演后果:本次拜访序号、普通续章/人物关键章、会进场的旁院、当前互信与下一档距离、明早最高妒意来源、可走院约/共担/私情方向、未结旧话归期或冷门重开日。不得只显示好感和人物简介,也不得泄露尚未发生的具体剧情答案。
|
|
59
|
+
- 五桩联院差事各有三幕独立正文:两名参与者先后主导、互相指出方法边界,第三幕才合流并结算奖励;`joint_result` 在三幕结束前不得离场。
|
|
60
|
+
- 本局第一个 `joint_result` 三幕读完后必须进入且只进入一次 `portable_precedent`:可核物件与成年院外经手人登场、两名女主按真实院约/路线/双院历史分别作出 stand/narrow/withdraw、玩家在 honor_precedent/named_exception/inside_only 中裁决、最后执行三项具体动作。撤回必须优先,玩家不能替她们改答;结果不得改写 resolvedPressures、jointActions 或第 15 日证链。第 20 日、结局笺与命数页必须回读具体经手人、两份答复、裁决范围和契的去处。
|
|
61
|
+
- 第 7、12、17 日三场院议共九种裁决都必须进入 `council_aftermath`:先由提出者把规则说清,再由真正受影响的人试用或反驳,最后由另一名女主把口头规则改成可执行的钥匙、轮值、私账或拒绝权。每种裁决固定三拍且可逐拍存读,第三拍之前不得把规则直接视为无争议生效。
|
|
62
|
+
- 第 7 日院议必须从第 5 日 `public_followup` 与第 6 日 `act_transition` 的真实 history 派生:三种署名/撤回前史改变开场物件、三种互见办法写进正文,三个既有选择 ID 与基础 effects 保持不变,但形成三套选择正文和九套两拍后章。裁决留下的长期事实不另存可漂移 flag,而从第 7 日 `council` history 重算;第 13 日 `dayDef` 与真实 `day_action.executionText`、第 18 日 `currentHouseholdEvent` 都必须回读它。旧页卯初失效、本人签只处分本人范围、沉默不等于同意;不得把夜簿升级成第 10 日证物或用它推断忠诚、动机与物件去向。
|
|
63
|
+
- 第 5、10、15 日三场公开问责在群像册页与第二次裁决后仍不得立即散场。九种收尾都进入 `public_aftermath` 三拍:先演刚选中的公开行动,再由受影响者检查署名、证物、责任或撤回权,最后由另一院把真实承担写进共同记录。九条分支共二十七拍,逐拍可存读,第三拍后才进入黄昏。
|
|
64
|
+
- 第 10 日真实 `day_action` 与正确 `actor` 还必须派生 `DAY10_PUBLIC_PREPARATIONS`:四手时辰条/三家退席帖/五张单字窄纸/旧箱三物与本人钥匙之一进入 `currentPublicEvent`,再为三项 `public_followup` 选择各追加不复用的执行文本,并在 `public_aftermath` 三拍保留原物与边界。同日 `banquet` 历史还必须派生 `DAY10_PUBLIC_OPENINGS`:`public_balance_2` 保留五份本人原页,`public_10_hide` 只保留四份原页与火盆收讫条。该状态须进入第六份假本、三项 `public_followup`、`public_aftermath` 三拍、第 11 日换幕正文与 `act_aftermath` 三拍;缺页只能标为“已焚待证”,不得从记忆或后续假本重建。伪造经手人无回响;动态正文可变,choice ID、effects、history schema 与 SAVE_VERSION 不变。
|
|
65
|
+
|
|
66
|
+
- 第 10 日公开问责的第二选择必须成为第 11 日换幕的真实输入:批注留存、放饵出门、当众烧毁分别派生封线未动的原卷/无批注旧诬指投门纸、空油布/回流痕迹、具名有限记词三套现场。三套各提供三项不复用做法、不同资源/关系结算和两拍专属后章;烧毁路线禁止再次出现晾干原件、夹层纸或纸脚,放饵路线禁止把原件写回宅中,留存路线禁止外人无缘无故知道密封后的五院批注。第 11 日历史须写入第 10 日来源并拒绝偷换或倒置。 换幕同时从第 10 日 `banquet` 历史重算原页完整/缺页状态;它与第六份假本的批注/放饵/烧毁去处并列,不得互相覆盖。第 12 日院议的正文、按钮、结算和后两拍继续读取第 10、11 日实际材料,九种组合分别改变原卷开封、热路线追查或记词撤回的真实权限。
|
|
67
|
+
- `day10To12EvidenceContext` 只有在真实第 10 日 `banquet`、`public_followup` 与第 11 日 `act_transition` history 同时存在时才返回材料。它把 `DAY10_PUBLIC_OPENINGS` 的 Day12 正文、三选正文与三拍后章注入院议,使“五份各归本人的原页”或“四份原页加第一张火盆收讫条”始终与第六份假本材料并列;第 13 日 `dayDef.councilEcho.materialText` 继续携带这一原证状态。动态正文不得改 choice ID、基础 effects、history schema 或 SAVE_VERSION。
|
|
68
|
+
- 第 15 日群像册页关闭后必须先进入 `public_evidence`,不能直接跳唯一主签,也不能把白日已经递出的首证清空重选。真实 `day_action` 与正确 `actor` 分别把米斗工簿、名帖门簿、四版口供、两本流水预置为 `publicEvidence.selected[0]`;界面明确显示来源行动、经手人、原物和证据边界,玩家只从余下三份中再递第二、第三证。没有第 15 日单人行动的联院路线仍可从空链起步。每一步显示能证明什么以及玳安、韩道国或应伯爵怎样反问,顺序派生闭合/留缝/断裂;完整次序和结果写入 `public_evidence_chain` 历史,记录链首必须与有效白日行动一致,并由第 16 日复案、第 17 日硬证据/院议、第 20 日外账与所有结局正文回读。首证的专属回声还须进入唯一主签与 `public_aftermath` 三拍,不允许主签倒写第一证或收走原经手人的物。公审开场的 `banquet` 历史也必须参与重算:`public_balance_3` 保持原始证链等级;`public_15_scapegoat` 保留原始 score 与 step strength,但把 raw complete 的有效结果降为 rebuttable,并使用留缝效果与旗标。该开场的专属正文须进入举证、主签、三拍归档和第 16 日复案;存档若把先押开场与 clean complete 结果拼接必须拒读。重复证物、伪造结果、伪造经手人、错置首证或跳过证链的存档拒读;沿用既有 `selected` 与 history 重算,不增加存档字段、不提升 SAVE_VERSION。
|
|
69
|
+
- 第 16 日真实 `day_action` 与正确 `actor` 必须继续派生“庚七寄页”票脚、里正雇钱/灯油回单、柜坊夜值饭筒或真票编号铜钱之一,同时改写第 17 日 `dayDef`、`dayAgenda` 与院议来源卡。该物与第 16 日 `external_rebuttal` 结果并列,不能互相覆盖;它只能接出一段寄页、付款、送饭或存柜入口,不得替夜查取得旧债本,不得让院议收走债主原票、里正与送饭人的停问权或持票人的原物。伪造经手人不得产生回响;该链从 history 重算,不增加存档字段。
|
|
70
|
+
- 第 14/18 日白日行动只生成可核准备,不得提前完成随后娇儿交易。第 12 日 council history 派生银票能否触及公钥、私箱、粮银与工簿;第 17 日 council history 派生娇儿可答、主持可做、各院可互证的范围。所有 household 与 aftermath 文案和禁用项从真实历史重建;`council_17_each_door` 必须锁住 `jiaoer_18_share_long`,并在第 20 日继续锁住凭空恢复的两钥总索引。
|
|
71
|
+
- 第 18 日六种 `household_aftermath` 还必须派生第 19/20 日只读的 `jiaoerEcho`:只封逃路保留作证权与两枚换车木筹;银货两清保留“不购忠心”收据;单案分成保留结案日;长期一成只增加验真责任、不取得代答权;独立证人席具名热饭、车费和守门工钱;彻底断路承认西厢不再验票或指路。五封私价的总览、协议、五次答复、外部反招、联盟结果与第二十日总账及其四拍后章必须持续显示对应差异;echo 由真实历史重建,不改变 SAVE_VERSION 或新增可篡改字段。
|
|
72
|
+
- 第 19 日白日后必须进入 `five_private_prices` 九屏章节:五价总览、答复协议、五人逐一自主作答、保权与联盟结果。五人回答只从真实院约、路线占优、公开越界、双院事件与互信派生;协议不得改答案,关系数值不得单独触发忠诚式全拒。两条历史分别记录协议/派生答复与第十六日旧路/保权/真实联盟,读档重演必须拒绝偷换任一 answer、mode、right 或成员。第 20 日三种外账读取接价缺口、协议、保权与 full/limited/failed;只有 full 可进入五院共同余夜,limited 只开放实际成员的有限同盟。
|
|
73
|
+
- 同一九屏必须从正确 `actor` 的第 19 日真实 `day_action` 只读派生 `dayPreparation`,且每屏持续显示:`ledger` 为五件原物各归本人、不得并成总代表物;`office` 为五道只验纸脚/线结/封泥而不互读正文的验真环;`listen` 为改页权/先刊权/钥匙/递送路/劳动者姓名五种真价;`banquet` 为已逐名先付的车脚、封套、灯油、守门工钱与夜饭。每套必须含总览、协议、五人专属答复、外部反招和结算文本;不得增加 effects、改写自主答复或写入 `fivePrivatePrices` schema。伪造第 19 日经手人只移除该回声,不得破坏合法九屏或挤掉第 18 日 `jiaoerEcho`。
|
|
74
|
+
- 第 20 日终局外账还必须从正确 `actor` 的当日 `day_action` 只读派生另一套 `dayPreparation`,并贯穿主裁决与 `final_aftermath` 四拍:`ledger` 的三日粮/药钱/守夜工钱/证人车费封包排除在可清余数外;`office` 的五张原物归还验缺单把保管、证据效力与重新放行分开;`listen` 的五张校勘签逐封保期限、“不知”、只限本人、只交副页与不连坐;`banquet` 的六席、饭签、车费袋与退路把在场、进食、出证、签收、离席分栏。不得改变三条主路、六项二次裁决、联盟成员、五封保权或娇儿权限;不新增 `finalReckoningAftermath` 字段。伪造经手人只移除该层,合法外账继续成立。
|
|
75
|
+
- `limited` 的 Day19 结果只是 2–4 名互证候选。第 20 日终局外账后必须先进入 `alliance_assembly` 的 N+2 屏《逐院问灯》:共同邀请、N 份本人答复、真实落席总结。玩家不能删名、排序或改答;答复只从邀请前真实院约、破裂、具名 `pair_interlude`/`joint_action`/`route_aftermath`/`day_action` 与实际终局主裁决、二次保权重演为 join/amend/withdraw,负 bond 不能凭空变成冲突。amend 必须由本人当场改完条款并立即生效,不能留给玩家补办。join 与 amend 全部成为成员,允许 2、3、4 人;少于两人无惩罚返回院门且不得重试。候选、来源事件、Day20 裁决、答复、当前拍与成员均严格校验,四人同意改成三人、注入候选或偷换回答必须拒读。
|
|
76
|
+
- 第 6、11、16 日三次换幕的九种选择都进入 `act_aftermath`:先承认刚选办法的真实代价,再由另一院拿证物或自身边界验证,最后把下一幕会执行的交叉核验、隐私问签、诱饵撤回、共同支出或拒绝换名办法写清。第 6、11 日固定三拍;第 16 日在现实检验后追加“三口复案”第二次选择与结果,共四屏。复案必须按第 15 日闭链/留缝/断链给出三套不同事件,每套各有分段作答、有限证词、街面短札三种不复用结果;断链选择不得产生闭链结果。`actAftermath.resolution` 与 `external_rebuttal` 历史严格记录事件、原证链、第一次换幕选择、第二次选择和三名具名外部人物;`externalEffectAudit` 只保存第二选择前后的资源/关系快照并核对即时效果,读档时再从 seed 与真实 history 重演整条决策链,重建后续资源/关系,因此合法范围内单改数值、附加自签 delta,或协调偷换选择、旗标和院间信任都必须拒读。第 16 日若读取到先押韩道国的开场,三口复案还须显示该 opening 的程序污染,并明确分开押前/押后口供;不能只因有效结果已是 rebuttable 便退回通用留缝文案。第 17 日院议与第 20 日外账只可从真实 `day_action` 回读守柜人口误、换锁工单、三份封痕或失手,不得以通用 `resolvedPressures` 虚构证物。
|
|
77
|
+
- `DAY15_PUBLIC_OPENINGS` 还必须为第 16 日复案四类落法、`COUNCIL_EVENTS[17]` 三项选择、`council_aftermath` 三拍和 `final_aftermath` 四拍提供两套长期正文。`withDay15PublicOpeningRebuttalChoice` 从真实第 15 日 `banquet` history 重算动态按钮:留白路线持续空罪名格,错押路线分别执行具名撤押、解除整案羁押、公开更正或重开并撤押。`recordedExternalRebuttal` 必须返回同一 opening,供第 17 日问话规则把押前/押后/撤押后口供分栏;第 20 日接管再把证物效力与错误归罪责任分栏。沿用现有 `banquet`、`external_rebuttal`、`council` 与 `final_reckoning` history,不新增持久化字段,不改变既有 effects 或 SAVE_VERSION。
|
|
78
|
+
- `DAY5_PUBLIC_OPENINGS`、`DAY10_PUBLIC_OPENINGS` 与 `DAY15_PUBLIC_OPENINGS` 的六个对象各自提供唯一 `endingText` 与 `fateText`。`publicAccountabilityMemory(state)` 只从三个既有 `banquet` 记录按第 5/10/15 日返回 `{ day, choice, label, endingText, fateText }`;第 5 日文本仍经过真实热饭记忆填充。`determineEnding` 在既有第一日起手回响之后追加三条 `endingText` 并暴露只读副本,`currentFateCoda` 只在末页追加三条 `fateText` 并暴露只读副本。缺少某日合法历史时只省略该行;不得新增 state 字段、改动 effects、history schema 或 `SAVE_VERSION`。
|
|
79
|
+
|
|
80
|
+
### 五人关系
|
|
81
|
+
|
|
82
|
+
成年白名单:吴月娘、潘金莲、李瓶儿、孟玉楼、孙雪娥。每人提供 adult=true、关系状态、院门、八段路线、前奏、关系终段、夜谈/停止文案、独立拒绝条件和理解型结果。
|
|
83
|
+
|
|
84
|
+
五人的前奏与关系终段各自必须是三拍连续场景,共十页、三十拍不复用正文:先说明边界,再在靠近后重新确认,最后由本人主动决定是否继续。每拍可独立存读,镜头按拍号渐进变化;三拍走完先进入人物专属余夜初答,再进入三拍余夜后章。十个后章必须各有独立事后问题、两项可实行的二次决定、二十段不同结果与二十条次晨回响,最终一拍之后才可天亮。
|
|
85
|
+
二十项余夜二次决定还必须各自产生一条长期亲密约定。它由历史派生,不另造可篡改状态;更晚再次进门时,人物面板必须显示这条旧约;只有它仍是最新关系事实时,路线第一拍才显示并引用,五封结局后日谈也必须交代它后来怎样被继续执行。不能只在次晨回响一次便消失。 每项结构必须保留 `{ heroine, tier, day, id, label, hint, title, outcome, morning, future }`;院门与一月笺独立卡显示落字结果、次晨执行与一月生活。`fateHeroineMemories` 在 fixed fate 后按前奏/留宿并列全部真实约定,命数末页人物分卷逐项保留,声明亲密不改变死生且后来命数不撤销同意边界。二十项单约与五人双约累计覆盖;不改 state、history schema 或 SAVE_VERSION。
|
|
86
|
+
|
|
87
|
+
未走成五院、有限同盟或个人终章时,不得一键弹出权谋/失稳结局。买静、复制唯一、权谋代价与一般关系崩盘各自进入破局清算:三拍人物冲突、一拍最后取舍、五条人物回应,读完后才落结局。最后取舍不能把坏局翻成圆满,只决定真账、钥匙与退路、人情工钱或公开证据链中哪一项得以保留,并进入结局正文与结局总账。
|
|
88
|
+
- 破局清算的五条回应还必须各自调用 `collapseFinaleHeroineMemory`,按真实 history 从晨簿、亲密后约、偏宠对峙、六类关系事实与最后路线选择中择取本人最新一项,返回 choice/choiceLabel/choiceHint、kind、day、label、text 与 conclusion。选择最后取舍时复用 `collapseFinale.beat` 从 0 开始,`collapse_finale_result` 按五名女主固定顺序走五屏;每屏提供当前 heroine/line/memory、此前 previous 与完整 memories,逐屏可存读,第五屏以后才能进入 ending。即时五人回应、ending.collapseResult、一月笺 collapseMemory 和 `fateHeroineMemories` 必须消费同一结构;四类破局八种取舍×五人共四十条绑定均须覆盖。该层只读既有历史,不改破局 choices/effects、结局家族、history schema、state 字段或 SAVE_VERSION。
|
|
89
|
+
|
|
90
|
+
五院共同余夜后的次晨三选同样不得直接结局。六盏早茶、各回五门、五约分钥三种安排各自显示五条白日回应,并把见光早茶、午前共同账或三处互校的长期制度写进结局正文;玩家读完回应后才结页。
|
|
91
|
+
|
|
92
|
+
- 五院共守的六种余夜答与三种次晨答不得只依赖 `SHARED_*_RESPONSES` 静态声口。实现只读 `sharedAfterglowMemberReasons`:第一拍逐人取最近一条本人参与的 `joint_action`,第二拍重演本人院约、`route_break`/修回和全部亲密后约,第三拍重演本人院约与 `visit_choice` 路线史;实现 `sharedDawnMemberReasons`,逐人重述前三拍准确 choice/response 后再核验次晨 choice。`recordedSharedFinaleHeroineMemories` 必须仅从既有三条 `shared_afterglow` 与一条 `shared_dawn` history 重建五人四拍,并由即时结果、balanced ending、一月笺、fixed fate 共用;不新增 state 字段,不改 effects、结局条件、history schema 或 SAVE_VERSION。
|
|
93
|
+
|
|
94
|
+
五条院约:order、truth、safety、grace、hearth。五桩联院差事全部完成才满足共线;现有三桩保留,新增月娘×玉楼、金莲×雪娥。
|
|
95
|
+
|
|
96
|
+
十组院间关系必须改变联办可用性与非均匀吃醋反应。每组第一次达线时播放独立的六拍双院私议:左侧人物提出条件、右侧人物反驳、两人共同追问;玩家作答后,当事两院共同执行一次,再由第三院检验外溢后果,最后由当事两院吸收异议并落字。前三拍逐拍可存读且第三拍之前不得暴露选择;三十种选择后章、六十段执行/见证正文与三十份落约记忆不得复用,自主结盟、有限交换、偏宠竞争必须产生相反的院间结果,并在后续拜访/路线章回显。`pairInterludeMemories(state, heroine)` 必须从全部 `pair_interlude` history 重建 `{ day, event, pair, choice, label, title, memory, partner, partnerName, witness, witnessName }[]`;院门与 `endingEpilogues` 消费完整数组,一月笺正文、routeNote 与列表逐组保留伙伴、见证和准确落字。`latestPairInterludeMemory` 仅返回该类末项,供统一路线戏眼选择器比较。`pairInterludeLedger(state)` 再按 pair 去重并补全 left/right 名称;`currentFateCoda` 只在第三页暴露该数组,`fateCodaFinalSections` 在 institution 卷追加独立“双院落约”条目,三十种结果都须点名当事两院、选择、见证与原落字,并声明不扩成全宅授权、不改变 fixed fate。不得新增 state、history schema 或 SAVE_VERSION。证据板必须显示来源、可信度与过期日,走官面只消耗玩家亲手选中的一条。
|
|
97
|
+
|
|
98
|
+
每次个人路线选择后必须有“本人回应 → 旁院接话 → 玩家公开/直谈/私藏 → 本院执行 → 旁院后续 → 余夜”的连续段落;五人×四幕×三种处置共六十个后续章、一百二十段正文,标题和正文不得复用,每幅可独立续读。处理方式至少两日后再由原人物与见证者追账。关系成熟后,五名女主各会主动发起一次独立黄昏邀约,玩家可赴约、公开说清或诚实拒绝,不能只把五人做成被动院门按钮。
|
|
99
|
+
|
|
100
|
+
`ROUTE_AFTERMATH_STAKES[heroine][act - 1][public|direct|private]` 必须为 `{ label, text, resources }`,五人×四幕×三种处置共六十项且 label/text 不复用;同幕三种 `resources` 不得相同,并至少有一项 `silver >= 0`。`routeAftermathOptions` 在既有公开/直谈/私藏关系预告之后追加动作名与统一资源摘要,用 `cannotAfford`/`costLockedText` 原子锁住缺银项。`resolveRouteAftermath` 先执行稳定关系结算,再执行 `stake.resources`,把动作名、正文和资源摘要写入 log;`currentRouteAftermath` 在两幅结果中暴露只读 `resolutionStake`。`activeObligations` 与 `currentMemoryReckoning` 只从既有 `route_aftermath` history 的 heroine、day、choice 推回 act 与 `sourceStake`,人物账和两日后四拍都显示同一原物与成本。不得新增 `routeAftermath`/`memoryReckoning` 持久化字段、改变 history schema 或提升 `SAVE_VERSION`;回放继续用原 choice 派生同一结算。
|
|
101
|
+
|
|
102
|
+
`ROUTE_AFTERMATH_STAKE_RETURNS[heroine][act - 1][public|direct|private]` 必须为 `{ returnText, observerText, question, results:{ keep, rewrite, deny } }`。六十条 `returnText`、六十条 `observerText`、六十条 `question` 与一百八十条结果正文分别唯一,并与同索引的 `ROUTE_AFTERMATH_STAKES` 原物严格对应;固定 `AFTERMATH_OBSERVERS[heroine][act - 1]` 的五名见证人各承接十二条。`currentMemoryReckoning` 首拍追加 `returnText`、第二拍改用 `observerText`、第三拍追加 `question`,已结清第四拍追加所选 `results`;`activeObligations` 和三项 `memoryReckoningOptions` 同时显示 `question`,`resolveMemoryReckoning` 把通用关系结算与章节结果合成当前正文及 log。持久化的 `resolution.text` 仍保存既有通用选择文本,章节内容只由 heroine、sourceDay、sourceChoice、promise 与 resolution.choice 重演;不得新增 state/history 键或提升 `SAVE_VERSION`。`routeReckoningMemories(state, heroine)` 必须按 history 顺序配对全部 `route_aftermath` 与已结 `memory_reckoning`,逐笔派生原日/落定日、真实 observer、source choice、stake、事故、质询、问题、裁决标签和所选结果;`latestRouteReckoningMemory` 仅保留为返回数组末项的兼容接口。院门、`endingEpilogues` 与 `fateHeroineMemories` 消费完整数组;五封一月笺的正文、routeNote、逐笔旧话卡以及命数末页对应人物分卷都须点名全部结果,缺任一来源时只跳过该无效配对,不另存长期记忆字段。
|
|
103
|
+
|
|
104
|
+
五次主动邀约的接受/见光/拒绝共十五种首次回答都必须进入四拍后续:邀约者接住回答、旁院追问横向代价、邀约者提出两项具体安排、玩家二次决定并看见结果。三十个二次决定与六十段新增追问/结果正文不得换名复用;赴约只有第四拍之后才真正进门,见光与拒绝也要先处理钥匙、记录、退路、回礼或劳动后果再回岔口。 `duskInvitationMemory(state, heroine)` 从同日 `dusk_invitation` 与已结 `dusk_invitation_aftermath` 派生 `{ day, event, heroine, witness, witnessName, approach, approachLabel, invitationTitle, invitationBody, heroineLine, witnessLine, approachResult, witnessQuestionTitle, witnessQuestion, heroineQuestionTitle, heroineQuestion, choice, choiceLabel, choiceHint, title, outcome }`;院门和一月笺正文、routeNote、结构化卡全部显示。三十条逐项覆盖,缺二次结果返回 null;`fateHeroineMemories` 在 fixed fate 后追加同一结构化记忆,人物分卷保留完整开约原话、初答、见证、二次安排与结果,并声明赴约/拒绝不改变死生或去处。不改 history schema、state 或 SAVE_VERSION。
|
|
105
|
+
|
|
106
|
+
所有普通拜访选择都必须连续显示三幅剧情:刚选出的具体动作与人物原话、本院对代价的回应、旁院带着自身利益介入;不得只显示通用结果卡。玩家再选公开、直谈或私藏以后,还要连续显示本院执行与旁院后续两幅;第二幅保留第一幅短摘,两幅走完才出现余夜决定。每名女主第 3、6 次进门再各触发一场不复用的四段人物关键章,共十场、四十段可见剧情。关键章读取路线立场,另一院必须进入现场,最后仍由玩家决定公开、直谈或私藏;每名女主配一张安全中局转折 CG。跨日追账必须显示当初的具体选择名称与人物原话。
|
|
107
|
+
|
|
108
|
+
五条个人路线的第 2、4、6、8 拍必须真正按此前累计立场分叉。共担占优与私情占优使用不同的两项现场选择,每组仍包含继续深化与主动改道,五人合计八十个历史敏感选择且正文不得复用。进门页显示“前 N 次选择把本章带到这里”、当前占优方向与两类计数;门卡把普通续章改标为历史分支章。第八拍形成十种可读路线结果:五院轮签/公私双簿、真话每日可问/扇落即停、四锁分存/退路仍通、人情具名/空席可留、烟火轮值/停灶由她。
|
|
109
|
+
|
|
110
|
+
路线中的越界与修复必须按真实拜访顺序重演。`broken_*`/`pinger_exposed` 只证明旧越界发生过,不得因旗标永久存在而否定后来具名的 `*_branch_repaired`;修复后应恢复明确夜场与公开共同口径,后来再次越界则重新锁住。存档与运行时都不得只比较两枚布尔旗标而丢掉先后。
|
|
111
|
+
|
|
112
|
+
连续两夜拜访同一院必须触发一次三人次晨对峙:被冷落者持具体物件发难、昨夜被选择者亲口回应、发难者把问题交还玩家,三幅说完才出现公开承认/两院互问/继续偏宠三种表态。表态后必须再显示一幅专属结果,完整写出两院怎样接住这次站队,允许中途存读,再进入旧话追账或白日。五名女主各有独立发难正文和被偏爱回应;表态必须分别读取并改变妒意、院间信任、专情倾向、曝光与宅中秩序,不能退化为通用加减分弹窗。 `rivalryMorningMemories(state, heroine)` 必须从已结 `morning/rivalry` history 返回完整数组,每项结构为 `{ day, event, actor, actorName, visited, visitedName, role, other, otherName, title, context, opening, visitedReply, crossfire, choice, choiceLabel, outcome }`。院门按发难者/昨夜被选择者视角逐场显示原话、对方、裁决和结果;`endingEpilogues` 同时把完整数组写入正文、路线账与结构化一月笺。覆盖五名发难者×四名旁院×三种裁决共六十条单路,以及每人累计参与四场不覆盖;不新增 state、history schema 或 SAVE_VERSION。 `latestRivalryMorningMemory` 供 `currentRouteAftermath` 取得该类最近候选;若它在全部关系事实中最新,再按 challenger/visited 分别把 opening/visitedReply、对方、choiceLabel 与 outcome 拼入下一次路线首拍;前端路线记忆卡显示相同视角。六十条裁决须覆盖双方共一百二十个续章视角。 路线连续性选择器必须在 `intimacy|ordinary_night|night_conversation|pair_interlude|dusk_invitation|rivalry` 六类有效候选中,以对应真实 history 的最后位置选唯一 `{ kind, day, label, title, text }`;首拍正文与前端 `data-route-continuity` 卡只渲染这一项,不同时堆叠其余旧摘要。三十种主动邀约都须在独立候选路径中保留本人原话、初答、见证、二次安排与结果;混合历史还须证明后来事件替换当前戏眼,而完整院门/一月档案不丢。 `personalFinaleRivalryReason(history, heroine)` 必须让个人专情终章中的未被选择者只从最近一场真实对峙形成具名理由:challenger 使用 opening,visited 使用 visitedReply,并同时保留 day、otherName、title、choiceLabel 与 outcome。该理由插在最终 outcome 解释之前,不改 `personalFinaleDepartureOutcome`;有对峙为五条理由,无对峙仍为四条。六十种裁决须覆盖双方一百二十种理由视角,并至少由一条真实二十日专情路径证明界面消费该理由。`personalFinaleArrangementsFromHistory` 必须以数组保留同一人的前奏约与留宿约;`personalFinaleIntimacyReason` 在一个理由栏逐项回读 day、label 与 hint。裁决只在全部约定 lane 均与 procedure lane 反向时因该层拒绝;混合 lane 必须改约,不能由最新一项覆盖较早约。覆盖五人×四种双约组合×两类程序共四十路,并由真实专情流程逐项核对界面理由。`personalFinaleRouteReason` 必须让主导 route lane 点名最近一项同向 `visit_choice` 的 day、label、text;平票时共同/私门各列最近一项,无有效路线时明确无依据。覆盖五人八十项基础选择与八十项历史分支共一百六十项,并由真实终章核对 reasons[1];不新增 state、history schema 或 SAVE_VERSION。
|
|
113
|
+
|
|
114
|
+
普通夜谈按人物路线进度解锁:每完成第 2、4、6、8 次路线选择,下一次“把茶喝完”进入该女主对应的专属夜谈。每章连续显示人物开口、真正问题与三种立场选择,共五人二十章、一百二十段不复用问答正文。明说、听她定界、门内私情的六十种回答都必须再进入三幅后章:原回答落地、当夜试用、次晨落实;新增的一百二十段当夜/次晨正文标题和正文均不得复用。三幅都显示 1/3—3/3 进度,第二、三幅保留原回答与已读短摘,第三幅以前不得结转次晨;每一幅均可严格存读。第二至第四章另有四十五条人物专属前史回声,必须读取上一章真实立场;连续同一路径与改换路径产生不同的可见标题与关系代价。`NIGHT_CONVERSATION_MORNINGS` 必须是 `heroine -> [chapter 1..4] -> { honest, listen, private }` 的五×四×三结构,共六十条唯一正文;`buildMorning` 只能以已写入 `night_conversation` history 的 `heroine`、`chapter - 1`、`mode` 取值,不能退回人物×态度十五条通用映射。每条至少点明本章物件、执行人、可查范围或继续有效的拒绝;六十条都须通过真实选择、三幅后章与晨间 notes 路径覆盖。该扩写不新增 state 字段、history 字段或 SAVE_VERSION。未到专属章节门槛时,“把茶喝完”与“替她拢好衣襟”也必须按人物×四幕×态度进入四十种独立普通夜章;每章连续演出选择落地、她检验这份停留/停手、明日具体后果三幅,三幅都可续读,不能用一句通用结果直接天亮。第二、三幅在当前正文之前保留已读标题与两行短摘,形成同一章的连续阅读记录,不得用新卡覆盖前文。每章另有一条不复述原句的独立次晨执行画面;`ordinaryNightMemories(state, heroine)` 从全部真实 `night_coda` history 派生不同 event 的生活簿,重复 event 合并 `firstDay`、末次 `day`、`days` 与 `count`,并按最近发生顺序排列。再次进门和人物结局笺消费完整数组,结局正文与路线账逐项保留 closing/morning;`latestOrdinaryNightMemory` 只返回该类末项供统一路线戏眼选择器比较,不能代替完整档案。不新增 state、history schema 或 SAVE_VERSION。
|
|
115
|
+
|
|
116
|
+
`NIGHT_CONVERSATION_FUTURES` 与次晨表保持相同五×四×三键形,共六十条唯一的一月生活正文。`nightConversationMemories(state, heroine)` 只能从真实 `night_conversation` history 逐章派生标题、物件、选择、立场、次晨与长期结果,`latestNightConversationMemory` 只取最近一项;不另存可漂移记忆字段。院门显示最近一项,`currentRouteAftermath` 只在该结果是全部关系事实中最新时把它接进首拍与记忆卡,`endingEpilogues` 将全部已走章节作为结构化 `nightConversations` 返回,并只把最近结果接入正文。前端一月笺逐条显示已走章节,不补未走章节。六十条数据、最近路线接线与五人四章结局清单须有回归;仍不改变 state、history schema 或 SAVE_VERSION。
|
|
117
|
+
|
|
118
|
+
`NIGHT_CONVERSATION_OBSERVERS` 必须按 `heroine -> [chapter 1..4] -> { observer, reactions:{ honest, listen, private } }` 保存二十个受影响者与六十条唯一回应。observer 必须属于五名女主且不同于本章主角;全表每人恰好作为旁院四次。选择时从该表只读派生:honest 对旁院情 +2、妒 -2、两院 bond +3;listen 对旁院情 +1、妒 -2、bond +3;private 对指定旁院妒 +4、bond -2,其余三院妒 +1,若连续两章 private 再对指定旁院妒 +2、bond -1。`derivedBonds(history)` 必须重演相同增减。`currentNightConversation` 在第三幅返回 observerReaction,`buildMorning` 同时写入本人执行与旁院接话,长期 memory 保存 observer/observerName/observerLine,路线与一月笺继续显示。不得新增存档字段或提升 SAVE_VERSION。
|
|
119
|
+
|
|
120
|
+
`NIGHT_CONVERSATION_STAKES` 必须按 `heroine -> [chapter 1..4] -> { honest, listen, private }` 保存六十项唯一 `{ label, text, resources }`。每章三项 `resources` 必须不同,仅使用 `silver|power|repute|exposure|strain|house` 的非零整数变化,并且至少留一项不要求付银的可选做法。`nightConversationOptions` 要把章节动作名与完整资源预告附在原有立场预告后;银钱不足时以该项实际成本禁用且 `chooseNightConversation` 再次原子拒绝。成功选择依次结算稳定立场资源、章节专属资源与连续/改道资源;不得用银钱下限吞掉未足额成本。`currentNightConversation.resolution.stake`、日志、`buildMorning`、`nightConversationMemories`、`currentRouteAftermath` 与 `endingEpilogues` 均从同一表和既有 `night_conversation` history 派生动作名、正文与资源说明。六十条真实路径必须核对按键预告、精确资源合计、缺银锁、次晨、路线和一月笺;不新增 state、history schema 或 SAVE_VERSION。
|
|
121
|
+
|
|
122
|
+
夜谈历史必须再派生五人各自的关系条款:每人三种、合计十五种唯一 ID、标题、摘要和后日谈正文;主导立场按累计次数计算,同票取最近一次。人物账显示进度和当前条款,终局展示五人的条款总表,人物后日谈追加该条款的独立生活回收。零章不编造条款,一章标为形成中,两章以上才标为稳定;该字段只从历史派生,不另存一份可篡改状态。
|
|
123
|
+
|
|
124
|
+
### 公开事件与终夜
|
|
125
|
+
|
|
126
|
+
- 第 5 日五杯家宴,写 public_vow_1。
|
|
127
|
+
- 第 10 日荷亭对证,写 public_vow_2。
|
|
128
|
+
- 第 15 日正堂问责,写 public_vow_3。
|
|
129
|
+
- 三场各用独立选项、场景与群像,不复用同一席面文本。
|
|
130
|
+
- 第 20 日正确共线:共同办事场景 → 三段余夜选择 → 五人成人群像 → 次晨选择 → balanced。
|
|
131
|
+
- 三段五院余夜每次选择后必须先进入五人逐一回应画面;六种安排共三十条人物回应,最后一答也先听完五人再解锁成人群像。未凑齐五院而进入 2–4 人有限同盟时,同样按“提问→在场者逐一回应”走满三轮;六种联盟回答为五名潜在成员各备一条专属反应,运行时只显示《逐院问灯》真实成员。
|
|
132
|
+
- 有限同盟每拍回应还必须由 `allianceNightMemberReasons` 按成员分流:第一拍消费 `allianceAssemblyReasons` 的本人答复/Day20 保权/横向事实,第二拍消费本人院约、破裂/修回与全部亲密后约,第三拍消费真实成员、退出原物与非候选院门。`recordedAllianceNightMemberMemories` 从三条真实 `alliance_night` history 重建每名成员的 beat/choice/response/reasons;ending.allianceMemberMemories、一月笺 allianceMemory 与 `fateHeroineMemories` 必须一致。六选覆盖所有成员组合,只读派生,不改 choices、effects、members、history schema、state 或 SAVE_VERSION。
|
|
133
|
+
- 第三拍回应后必须打开 `inner_court_alliance` 四屏群像,再由关闭场景生成结局。`ALLIANCE_NIGHT_TABLEAUS` 为六种安排各提供五名潜在成员的独立实物动作,运行时只抽取真实 2–4 人;`ALLIANCE_NIGHT_COMBINATIONS` 覆盖八种三问组合并给出唯一标题、开场与结局回声。总览须区分真实成员、本人撤回并带走原物者、从未进入候选者;三拍须依次显示成员动作与下一拍限制。`recordedAllianceNightTableau` 只读 history 校验顺序、成员与选择,ending、一月笺和 fixed fate 消费同一动作,不改 effects、成员算法、state 字段、history schema 或 SAVE_VERSION。
|
|
134
|
+
- 第 20 日白日外债结算不得在“证链压账/付清本金/五院接管”三选一后直接散场。三条策略各自进入四拍终局外账:执行初选、债主用私话/含混收据/唯一保管人反咬、五人提出两种可执行结构、玩家作出第二次裁决并看见完整结果。六个二次裁决和十二段正文不得换名复用;四拍均可中途存读,结果落下后才进入黄昏。
|
|
135
|
+
- 第 20 日个人线:最终夜明确选择一人且她完成至少六拍、院约、情与明确亲密门槛后,进入该人物独有的三问三答终章;每次“明账/私门”作答后必须先停留在人物独立回应画面,回收此前亲密余夜形成的长期约定,再进入下一问。五人共三十种回答各有不复用的现场反应,第三答也不能跳过回应直接结局;六屏走完才生成三种专情制度与人物专属正文。
|
|
136
|
+
- 共线另需至少 16/20 日危局真正收口、五份个人路线凭信,以及五人各自至少一次由她主动邀请的亲密前奏。
|
|
137
|
+
- 买静、许五个唯一、重复或伪造联院 id 均不能冒充成功。
|
|
138
|
+
|
|
139
|
+
### 视觉与内容
|
|
140
|
+
|
|
141
|
+
- 十六个唯一场景、唯一资产键与唯一文件:五人各两页,三页公开群像,有限同盟一页,五院终夜两页。
|
|
142
|
+
- 标题与五扇门直接呈现五名女主;孟玉楼、孙雪娥不再以宅中短线样式出现。
|
|
143
|
+
- 新增孟玉楼/孙雪娥前奏与关系终段、两张新联院图、五人标题、三张公开群像、五人共同办事与余夜群像。
|
|
144
|
+
- 五条个人终章各使用一张安全独立 CG,画面直接呈现该人物的核心边界与其他四院善后;不得复用门卡近景。五张终章图到第四幕才闲时预取,不挤占年龄门后的首轮资源加载。
|
|
145
|
+
- 五张中局关键章图只在实际走到第 3/6 次进门时按需加载;不得在年龄门后一次性下载。
|
|
146
|
+
- 成人图允许肩背、腿部、松衣和纱帐遮挡等轻度裸露;不显示乳头、生殖器或性行为。
|
|
147
|
+
- 所有关键资产加载失败时发布模式显示 fatal,不静默回退。
|
|
148
|
+
- 年龄门前只请求 cover 与 compound 两张图,启动图像合计低于 1 MiB(不把 HTML、CSS 与 JS 列入这项图像预算);确认前 adult asset requests 必须为 0,之后再按安全层与成人层分批加载。
|
|
149
|
+
|
|
150
|
+
### 界面
|
|
151
|
+
|
|
152
|
+
- 390×844、768×1024、1024×768、1280×800 与 1920×1080 不得水平溢出;所有 enabled 控件位于视口内。
|
|
153
|
+
- 常驻 HUD 只保留日数、幕名与一条必要急报;无急报时不显示“今日无急报”。六项定性资源、五人关系、院间信任、最近账页和宅中人收入玩家主动打开的“宅门账册”。选择、回应和过场等主游玩面板不得出现内部滚动条;只有玩家主动展开的前情/证据局部页与账册、场景册、后日谈、命数档案等明确参考页允许纵向滚动。
|
|
154
|
+
- 白日默认态只显示一段当前事实与四个动作;不渲染假院门导航、两难复述、旁观者状态句或选项数值。展开旧事后四个动作仍可见。夜间路线让说话者拥有清晰主图,旁听者仅以无框低亮小像留场;推进按钮不得使用真正决策的朱红实底。主屏正文、引文和按钮说明字号不得低于 11.5 像素,单个决策屏四边闭合框不超过四个。
|
|
155
|
+
- 选择结果必须以可见回应条展示,但不锁背景、不抢焦点、不要求纯确认按键。
|
|
156
|
+
- 场景册十六页;成人页仅年龄确认后可见。
|
|
157
|
+
- 账簿日数字支持一至二十,不出现 undefined 或六日硬编码。
|
|
158
|
+
|
|
159
|
+
## 内容质量门
|
|
160
|
+
|
|
161
|
+
- 每日数据唯一;没有复制压力或空白情报。
|
|
162
|
+
- 每个路线节点两项选择、至少一项无条件、按钮不超过十个汉字。
|
|
163
|
+
- 五人声口可由目标、证据观、称呼和动作区分,不靠口头禅。
|
|
164
|
+
- 重要证据在界面显示来源与过期日,并在有效期内由玩家主动读取/消费;亲密和偏爱次晨有物件或公开行动回响。
|
|
165
|
+
- 多人场景至少两名女性直接回应另一名女性。
|
|
166
|
+
- 个人路线选择不能用一条结果文案收束;即时连续段落、延迟追账与主动邀约都要读取前史并产生可见后果。
|
|
167
|
+
- 专属夜谈不能选择后直接天亮;问题与回答以后,必须继续演出即时回应、当夜试用、次晨落实三幅后章,第二、三幅保留此前阅读脉络,五人的物件、议题和声口不能换名复用。
|
|
168
|
+
- 后续夜谈不能只根据章节号换文案;必须引用前一章的具体立场,存档若伪造或跳过 previousMode 应拒读。
|
|
169
|
+
- 一院结局不能按数值直接弹出;五人的三拍终章必须分别处理她本人、核心边界与另外四院善后。
|
|
170
|
+
- 四院善后第一条理由必须调用 `personalFinaleBoundaryReason`,逐人点名真实院约、未立的具体院约、人物越界选择或宅门共破值,以及其后的具名修回。`fivePriceBreakStatus` 同时服务自主裁决与文案:`route_break` 后紧随的同日边界 `visit_choice` 是触发源,不得被算作修回;只接受之后的本人拜访/院约、公开/直谈后约、兑现/重谈追账。未修破裂强制拒绝,修回后再次越界重新按最新破裂拒绝。该轮只读既有 history,不新增字段或提高 SAVE_VERSION。
|
|
171
|
+
- 没有亲密后约时,四院善后第三条理由必须调用 `personalFinaleRelationshipReason`,按真实 history 择新回读普通夜章、专属夜谈、主动邀约、双院落约、已结人情或已结旧话;每类点名日期、选择、见证/伙伴、物件与结果。无六类事件时回读首末有效路线选择,完全空白时明确无依据。不得恢复“来往很多/不是初次进门”通句,不改变自主 outcome,不新增持久状态或提高 SAVE_VERSION。
|
|
172
|
+
- 四院善后最后一条理由必须调用 `personalFinaleOutcomeReason`,用 procedure label/summary/focus、本人 outcome 标签与 `PERSONAL_FINALE_DEPARTURES` 的唯一 response title 组成;120 种人物结论不得复用三句通用话术,也不得在理由区重复整段 response line。该层只读既有数据,不改变 outcome、history 或 SAVE_VERSION。
|
|
173
|
+
- 四院善后读完后必须由 personalFinaleDepartureDetails 从真实第三答历史重建完整的人物、结果、程序、答复与理由。专情结局总账、未被选择者一月笺与 fateHeroineMemories 共用该结构;前端一月笺逐项渲染程序、权利焦点、本人答复与全部理由,命数在固定去处后原样承接。被选一院不得生成善后记录;不新增持久字段,不改变结果或 SAVE_VERSION。
|
|
174
|
+
- 被选择者自己的三拍回应必须由 `personalFinaleSelectedReasons` 分别读取三组真实依据:第一拍使用 `personalFinaleRelationshipReason` 的最近关系事实/路线跨度;第二拍使用 `personalFinaleBoundaryReason` 与对齐当前选择的全部亲密后约;第三拍使用 `personalFinaleRouteReason`、本人最近偏宠对峙的被选择者视角和 `personalFinaleSelectedProcedureReason` 的程序/委托边界。前端每拍逐项渲染“她为何接住这一答”;五人×三拍×两选共三十种回答都须覆盖。只读既有 history,不改 choice effects、四院 outcome、history schema、state 或 SAVE_VERSION。
|
|
175
|
+
- 五院共同夜选择后不得用一屏静态群像直接宣告同灯。实现 `sharedNightAccordReasons` 与 `recordedSharedNightAccord`,逐人连接第 19 日私价目标、本人回答原话与结果,第 20 日主裁决、二次裁决及实际保权状态,再连接本人院约、`COALITION_PROOF_META` 实绩和不可代答的边界对象。《五约同守一灯》固定演出总约+五人逐印六屏;balanced 结局保存五份结构,一月笺各取本人一份,`fateHeroineMemories` 在 fixed fate 后追加同一结构。空状态、非 full、缺两步外账、缺院约/实绩或未选择 `shared_five_roles` 时返回空数组;不新增持久字段,不提高 SAVE_VERSION。
|
|
176
|
+
- 五院三拍回应后不得回到固定 `inner_court_afterglow.body`。`SHARED_AFTERGLOW_TABLEAUS` 覆盖六种选择,每种提供一套动作正文、下一拍限制与五名人物独立动作,三十条人物动作不得复用;`SHARED_AFTERGLOW_COMBINATIONS` 严格覆盖八个三拍 key,八个标题与 lead 均唯一。`recordedSharedAfterglowTableau` 从既有 `shared_afterglow` history 只读生成 `{ key, choices, title, lead, endingText, beats }`;群像场景显示总览和三拍共四屏,balanced ending 保存同一结构并追加准确组合回声。不得新增图片、选项、effects、state、history schema 或 SAVE_VERSION。
|
|
177
|
+
- 永久场景册不得只把动态终章记成 scene id。实现只读 `endingSceneArchives(state)`,从 ending 快照生成 `inner_court_accord`、`inner_court_afterglow`、`inner_court_alliance` 的精确可序列化档案;结局归档持久化这些档案并把三拍组合、真实成员与契据答复纳入 variant key。重看页按档案显示逐页依据、具名动作与非成员边界,同一 scene 有多个真实版本时可切换;旧归档无档案时保留静态 fallback。回放不得改 state、history、路线、结局或 SAVE_VERSION。
|
|
178
|
+
- 结局归档还须保存 `endingAfterstoryArchive(state)` 的五封一月笺与宅门末页。每封沿用 ending.epilogues 的完整正文、routeNote 与当前 UI 实际消费的结构化账目,只删除 `ordinaryNight`/`pairMemory`/`favorReckoning`/`routeReckoning` 等数组末项兼容副本;重开后从结局卡直接打开同一套六页后日谈并可逐封翻阅。`.epilogue-copy` 必须有明确的纵向边界,长内容只在 `.epilogue-scroll` 内滚动,打开时 scrollTop 为 0,页眉页脚始终留在书页内。结局归档 JSON 上限 2,400,000 字符,优先保留由新到旧的完整条目;不得写入游戏 state 或提高 SAVE_VERSION。
|
|
179
|
+
- 实现只读 `endingFateArchive(state)`:仅当命数已合法完成两次选择并进入末页时,封存两项选择元数据和三页精确投影,包括执行章、3×3 组合与六卷末页。结局归档以 `fates[]` 保存同一 ending key 下最多九个 `first+second` 版本并去重;未完成的新一轮命数不得抹掉已有完整版本。结局卡为一月笺与命数提供分开的重读入口;命数重读可翻三页、切换版本,只消费封存正文,不从新周目重算。它与一月笺共用 2,400,000 字符上限,不改 state、history schema 或 SAVE_VERSION。
|
|
180
|
+
- 二十日关系结局不能冒充原著终点。结局后“命数三页”固定发生官哥儿夭折、瓶儿病故、西门庆第 79 回死亡与后续家业散去;
|
|
181
|
+
数值不能逆转死亡,两次玩家取舍只改变照护具名、私契、遗物、证物与制度残留,并读取本局结局与五院约形成不同末页。
|
|
182
|
+
- `FATE_CODA.pages[0..1]` 的六个 option 必须同时保留末页短 `echo`,并提供唯一 `resultTitle`/`result` 作为选择后的执行章。`currentFateCoda(state)` 只由既有 `fateCoda.choices` 派生 `{ choice, title, body }` 的 `result`,不写入 state;前端落定卡显示 `result`,翻到第三页后仍只把 `echo` 接入长期回声。六段必须分别落实公开窄账、医药私契、五份具名签、旧契点物、劳动倒查和缺角分存,不能新增死亡分支、重新处分原交易或提高 SAVE_VERSION。
|
|
183
|
+
- `FATE_CODA.choiceCombinations` 严格以第一页三个 option id 为第一层、第二页三个 option id 为第二层,覆盖九个 `{ title, text }` 且标题与正文全部唯一。第二页已有 choice 时,`currentFateCoda` 立即派生只读 `combination:{ title, text }`,落定卡在本页 `result` 后显示;没有第二次选择时必须为 null。第三页 `choices` 卷仍先列两个被选 option 的短 `echo`,再派生一条 `label: 两页合看` 的组合项。两处只读取既有 `fateCoda.choices`,不写入 state。九条必须区分可查经手与物权、私契与工资证词、本人签名与多数表决、分存核验与阅览权限,不得改变 fixed fate、原交易、effects、history schema 或 SAVE_VERSION。
|
|
184
|
+
- `FATE_CODA.finalSections` 固定提供 `relationship`/`heroines`/`jiaoer`/`choices`/`institution`/`accountability` 六组卷名。第三页 `currentFateCoda` 返回原著固定散局 `lead` 与只读 `finalSections[]`;每卷含 `id`、`kicker`、`title` 和 `{ label, title, text }[]`,无内容的可选卷省略。旧 `body` 继续按相同次序包含全部文本以维持引擎调用合同,前端只显示一次 `lead`,再逐卷渲染,不能把合成长段重复显示。分卷完全从 ending、两次 choice 与既有 history 派生,不新增持久状态或提高 SAVE_VERSION。
|
|
185
|
+
- `FATE_CODA.heroineEchoes` 必须严格覆盖五名女主 × `balanced`/`alliance`/`exclusive`/`outside`/`personal` 五种关系位置,二十五段全部唯一且每段保留本人 fixed fate。`fateHeroineMemories(state)` 复用结局笺的位置判定,只从已重建的 ending、真实 alliance/exclusive heroine 与关系值生成 `{ heroine, name, variant, title, text, routeReckonings, routeReckoning }`;若 `routeReckoningMemories` 非空,`text` 必须先完整保留 fixed fate,再按历史顺序追加全部原日、落定日、原物、裁决方式、见证人与准确结果,并明确责任档案不改死生。单数 `routeReckoning` 只兼容返回末项。`currentFateCoda` 仅在第三页追加并暴露只读副本。不得写入 state、改变结局判定或暗示关系分支/旧话裁决造成或撤销守寡、死亡、改嫁与被拐卖。
|
|
186
|
+
- `DAY19_JIAOER_ECHOES` 的六个第 18 日 aftermath 对象各自提供唯一 `fateText`,并明确保留第 80 回卷财归院。`jiaoerFateMemory(state)` 复用 `day19JiaoerMemory` 与 `jiaoerLedger` 的合法 history 检查,返回最终 choice、aftermath、标签、物件、文本及只读账目摘要;`currentFateCoda` 只在第三页追加并暴露。不得新增 state 字段、改动娇儿交易结算或用命数重开已结旧款、扩大契约期限、洗白卷财或否定此前证言。
|
|
187
|
+
- 不命中已知 AI 模板腔;不复制内网或原著正文。
|
|
188
|
+
- 主观吸引力不由自动化下结论。
|
|
189
|
+
|
|
190
|
+
## 运行
|
|
191
|
+
|
|
192
|
+
在 build/app 目录执行:
|
|
193
|
+
|
|
194
|
+
python3 -m http.server 5173 --bind 127.0.0.1
|
|
195
|
+
|
|
196
|
+
打开 http://127.0.0.1:5173/?seed=42。
|
|
197
|
+
|
|
198
|
+
## 发布前外部验证
|
|
199
|
+
|
|
200
|
+
重型账本测试、完整输入矩阵与逐屏截图不得随 example 交付。仓内只保留 `test/verify_visual.py` 这一条
|
|
201
|
+
轻量表现层烟测,用于复现标题、首日夜访、单一结局与重开;发布前仍把 `build/app` 映射到仓库外临时
|
|
202
|
+
工作区,由外部验证器完成:
|
|
203
|
+
|
|
204
|
+
1. 数据/引擎确定性合同与二十日可达性;
|
|
205
|
+
2. 正常速度、全键盘的二十日五人路径;
|
|
206
|
+
3. 第 1–19 日不提前结束,第 20 日完成五院共线并换 seed 重开;
|
|
207
|
+
4. 390×844、768×1024、1024×768、1280×800、1920×1080 五个视口;
|
|
208
|
+
5. 年龄门分层加载、素材解码、modal 焦点与 console/page/network/HTTP 零错误。
|
|
209
|
+
|
|
210
|
+
外部验证通过后,只把 `qa/verification.json` 与 `qa/evidence/run.json` 的压缩结果回写 example;原始 harness、输入全集和截图留在临时目录。仓库级门禁仍执行:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
python3 scripts/validate_repo.py
|
|
214
|
+
python3 -m unittest discover -s tests -v
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## 限制
|
|
218
|
+
|
|
219
|
+
测试运行时为本地 Chromium 五个响应式视口;其他浏览器和主观文案吸引力不在确定性证明范围。
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# 《金瓶梅·风月总账》— 运行与验证
|
|
2
|
+
|
|
3
|
+
这是一个 18+、男性第一人称的成人后宫关系模拟垂直切片。你是西门庆,在
|
|
4
|
+
20 日四幕中处理银钱、家声、外债与五处院门。白日的账与证据会改变当夜选择,夜里的
|
|
5
|
+
偏爱、边界与亲密又会在次晨变成口径、妒意、权限或合作。
|
|
6
|
+
|
|
7
|
+
二十日结局不是原著命运的替代品。结局后可主动翻开“命数三页”:官身与官哥儿出生把宅门推到盛处,官哥儿与
|
|
8
|
+
瓶儿之死不可被数值救回,第七十九回后西门庆死去、家业与人手沿原著散去。玩家能改变照护怎样具名、私契与遗物
|
|
9
|
+
归谁、哪些制度被带走,不能把固定死亡改写成圆满。
|
|
10
|
+
|
|
11
|
+
五名可攻略角色均明确设定为成年虚构人物:吴月娘、潘金莲、李瓶儿、孟玉楼、孙雪娥。
|
|
12
|
+
李娇儿是贯穿四幕的交易中介支线。她会逐笔记住报价、赊款、原件归属与分成;第四日欠下的十两会进入后来真实价格,最终形成银货两清、长期/单案具名合伙、独立证人席或旧款未清等不同结单。第 4 日白日只备区间、候认、口风或空白价栏,具名底价在娇儿开匣后才可能交付;第 9 日白日只验原契条件、找证人或排空封套,授权抄本与原件转移也只在娇儿交易时发生。她的九个初始价格选项都不会直接散场:交易先落地,两名五院女人进场拆代价,娇儿再给出两种票契写法,玩家作第二次处置并看完结果,完整四拍才回到黄昏。确认成年前,成人 CG 不会进入 DOM。
|
|
13
|
+
|
|
14
|
+
白日四选一不再直接跳去黄昏。每次选择都会连续演出三幅:主办女人实际动手、另外一至两院当场接话、真正危局收住或漏口。三幅都可中途续读,最后一幅之后才进入当日特殊事件;章节已经收束的正文不会在五院门上再弹一次摘要、遮住下一步人物选择。
|
|
15
|
+
|
|
16
|
+
五桩联院差事也各有三幕:第一人主导、第二人反驳或补界、两种方法合流。合作不会把两个人写成同一种声音,也不会按一次按钮便直接发放奖励。
|
|
17
|
+
|
|
18
|
+
本局第一桩联院差事读完三幕后,还会进入唯一一次五屏《第二张照规矩来的契》。韩道国、来保、甘伙计、应伯爵或祝采买会拿着他亲手经过的页、封、帖或工簿副签,要求两名女主刚才使用的规则也适用于院外。两人会依自己的院约、路线、双院旧话和未修破裂独立作答,好感不能替她们同意,玩家也没有劝改按钮。最后只能照最严交集携出规矩、立一次具名例外,或把规矩限在宅内并让对方携被拒原页离开。第二十日、结局笺与命数末页会点名回读经手人、两份答复、裁决范围和契的去处;这张契不会修复第十五日的断链。
|
|
19
|
+
|
|
20
|
+
第 7、12、17 日的院议也不再是选完一条规矩就散席。三场院议的九种裁决各有三拍:提议者先把规则说出口,受影响的女人拿实际钥匙、夜账、轮值或私财来试它,另一人再提出异议并把规则改写成真正能执行的边界。九条分支共二十七拍,第三拍落笔以后才回到黄昏院门。
|
|
21
|
+
|
|
22
|
+
其中第 7 日《夜簿第一行》会读取第 5 日公开收尾和第 6 日换幕的真实选择。逐名副本、本人改图或封门残角会与全摊、各领抄本或放出假嫌疑组合成不同开场;“只写今晚/各人写自己/不留去处副本”仍是三个按钮,却各自执行本人改写、撤回、失效与传话责任。第 13 日白日私借链会再次显示这条夜簿权限,并把它写进实际行动结果;第 18 日娇儿封口价也会提醒旧夜答复不能自动续期。旧页不能证明忠诚、动机或私钥、货单、名帖、工簿去向。
|
|
23
|
+
|
|
24
|
+
第 4、9、14、18 日都不会再把同一交易做两次。白日只备齐底价区间/候认/待核口风/空价栏,验契/证人/空封套,验票/兑手/责任/用途,或封口价/席位/缺站/回款算法;具名底价、授权抄本、原件转移、兑票、留票、买逃路、给分成或拒买,只在娇儿本人出现后发生一次。第 9、14、18 日页面会继续显示具名底价是否买到,以及原件、抄本、收据当前归谁;第 12 日的三钥、退路箱、三日粮钱会限制银票能处分什么;第 17 日的可问可停、轮值主持、各门私答会限制娇儿答什么、谁能主持以及能否长期共审。选择“各门私答”后,长期一成与终局两钥总索引会明确锁定,而非由漂亮文案把旧规洗掉。
|
|
25
|
+
|
|
26
|
+
第 5、10、15 日的公开问责现在是完整群像章节。玩家第一次决定公开口径、看完群像册页后,还要处理漏名座图、假口供或唯一主签;第二次选择落下后,五个人不会立即散场,而会再连续演出承担、异议与共同归档三拍。三场共九种收尾、二十七拍,署名、证物、追责和撤回权都会由不同人物亲口接住。
|
|
27
|
+
|
|
28
|
+
第 10 日怎样处置第六份假口供,会真正改写第 11、12 日。逐句批注后,原卷和五印仍在宅中且封线未动;门外五张投递纸只能重抄早已流传的旧诬指,没有一字密封后的五院批注。放作诱饵后,原件留在门外,只能沿空油布、青米灰、蜡屑和回流路线追人;当众烧毁后,纸脚与夹层不会复活,只剩五个人分别写下、允许彼此不一致的有限记词。三路各有不同标题、三项做法、结算和两拍人物检验。第十二日九种院议落法还会分别改变原卷开封权、热路线追查权或记词撤回权,并演出两拍不同后果。
|
|
29
|
+
|
|
30
|
+
第 15 日在群像册页与唯一主签之间多一段“三步成证”。四份候选证物不能全拿,也不能撤回重排:米斗工簿适合先定事实,两本流水和名帖门簿接经手,四版口供在前两步站稳后才适合拆改词。玳安只认亲自跑过的门路,韩道国会拿一处差额反咬整本账,应伯爵则争夺街坊最终听见的版本。不同次序会得到闭合证链、有案有缝或三纸未成链,并继续改变第 20 日外账,而不是只在当场显示一次成败。
|
|
31
|
+
|
|
32
|
+
第 16 日会立刻把这笔结果带进“三口复案”。原有换幕决定和五院现实检验之后,玳安先限定自己跑过的门路,韩道国接着找账页空档,应伯爵再把两人的话拼成街面版本;闭链、留缝、断链各有一套不同复问。玩家还要在逐问分段作答、保留有限证词、把有边界的短札送上街三种办法中再选一次并看见结果,断链不会被一次选择洗成闭链。第 17 日若保留有限证词,院议与第 20 日会按真实白日动作分别写守柜人口误、换锁工单、三份封痕或未能收口,不会把任意成功都说成拓到了封痕;若先把短札送上街,再让五院各自私答会让公开版本失控。
|
|
33
|
+
|
|
34
|
+
第 6、11、16 日的换幕也不再只是揭开一个谜底。玩家选择公开五处陷阱、分持抄本、反放诱饵、交换验真或拒绝五选一以后,五个人会连续用货路、纸纤、工账、名帖与撤回权验证这套办法。第 6、11 日以第三拍写出下一幕实际采用的协作规则;第 16 日则在现实检验后进入三口复案,完成第二次决定的第四屏才真正进入总账幕。
|
|
35
|
+
|
|
36
|
+
第 20 日的外账结算也不是最后一次资源按钮。证链压账、付清本金、五院接管三条办法都会先实际执行,再遭债主用整本私话、含混收据或“只认一个主簿”反咬;五个人随后给出两种真正可执行的保管/放行结构,由玩家再裁决一次。每条路径固定四拍,合计六个二次决定与十二段不同正文,最终结果落地后才进入黄昏终夜。
|
|
37
|
+
|
|
38
|
+
断粮、证人翻供、宅中集体交钥匙也不再是一按便恢复的资源警报。每类危机有三种初救;救法落地后,直接承担代价的女人会追查谁被牺牲,另一院再给出两项能执行到次日的制度方案。玩家必须完成第二次选择并看见四拍结果,才回到日程。九条救法共十八个二次决定,卖铺是否公开折价、买证是否进入公档、补发工钱是否强迫复工等都会形成不同后果。
|
|
39
|
+
|
|
40
|
+
## 启动
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
cd examples/jin-ping-mei/build/app
|
|
44
|
+
python3 -m http.server 5173
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
打开 `http://127.0.0.1:5173/?seed=42`。仅做快速调试时可加 `&fast=1`;权威 QA 路径不加该参数。
|
|
48
|
+
|
|
49
|
+
应用为原生 ES Module + DOM,零构建、零运行依赖,已验证视口为 `390×844`、
|
|
50
|
+
`768×1024`、`1024×768`、`1280×800` 与 `1920×1080`。
|
|
51
|
+
|
|
52
|
+
## 一局的结构
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
次晨回声/旧话追账 → 白日选择/双人合办 → 娇儿支线/公开问责 → 女主主动邀约/黄昏拜访 → 连续路线对话 → 夜间决定 → 结转
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
- **四幕**:1–5 日立账与入局,6–10 日偏宠有价,11–15 日同盟与裂账,16–20 日总账见日。
|
|
59
|
+
- **20 条日压力**:每日有唯一 ID、标题、四份人物化处理结果和两套 seed 真相。门房征兆先给可推断信号,成败不靠隐藏掷骰。
|
|
60
|
+
- **五条深线**:每人 8 拍个人弧线,分别掌管正堂裁决、追问口供、私财商路、礼法人脉和灶仓证据。
|
|
61
|
+
- **路线记忆会真正分章**:她会把选择记成“共同承担”或“私下情分”;第 2、4、6、8 次进门都按此前占优方向进入不同现场,进门页先说明前几次选择怎样把本章带到这里。每个分支仍能继续深化或主动改道,不会被第一次回答锁死;八十个历史敏感选择最终形成五人各两种、共十种路线契约。明确亲密也不能只靠高好感。
|
|
62
|
+
- **连续路线剧情**:每次选择后有本人回应、旁院接话和公开/直谈/私藏处置;处置落下后还会由本院执行、旁院回应两幅接完,至少两日后原人物与见证者再把旧话带回来追问。
|
|
63
|
+
- **每次拜访都有完整章节**:你刚选的具体行动先演出来,本院再谈代价,旁院随后进场;三幅说完才处理公开、直谈或私藏。最终处置按五人、四幕和三种做法展开为六十个独立后续章、一百二十段正文;本院先移动具体物件,旁院再说明自己继续合作、撤回通路或自保的办法,第二幅保留第一幅短摘。两幅结束后才进入余夜,旧话两日后还会带着原按钮与原回应回来。
|
|
64
|
+
- **五扇门不是盲选**:每张门卡会提前标出本次是普通续章还是人物关键章、哪名旁院会进场、两院当前互信、明早谁最可能吃醋、可走院约/共担/私情中的哪些方向,以及未结旧话归期或冷门重开日。玩家选的是一组可预判的后宫后果,不是头像。
|
|
65
|
+
- **十场人物关键章**:每人第 3、6 次进门各有一场独立四段剧情和一张中局转折画。专走同一院不会在同一幕反复看到同一小章,第四段说完以后才轮到玩家处理后果。
|
|
66
|
+
- **偏宠会变成三人现场**:连续两夜进同一院,被冷落者会带着门房簿、衣带、货签、名帖或欠工签堵到次晨;她发问、昨夜那人亲口回应、两人共同追问,三幅说完后才由你公开认下、让她们互问或继续只护一院,第四幅再把两院怎样接住这次站队完整演完。
|
|
67
|
+
- **普通夜晚也有章节,而且会被记住**:每完成某位女主第 2、4、6、8 次路线选择,下一次“把茶喝完”会进入她的一章专属夜谈。她先拿出路线里的具体物件,再把真正的问题问完;你可明说、先听她定界,或把话留在门内。选完不会用一幅结果直接天亮:六十种回答各有“她接住这句话→当夜拿它试规矩→次晨把做法落实”三幅后章,第二、三幅会保留原回答与已经发生的短摘。第二章起还会直接引用上一章的物件和回答;连续坚持与主动改口有不同后果。尚未触发专属章时,“把茶喝完”与“替她拢好衣襟”也会按五人、四幕与两种态度展开成四十种独立三幅小章:选择落地、她当面检验、明日后果,三幅走完才天亮。每章在次晨另有一条实际执行回响;再次进门、后续路线与最终人物笺都会读回最近一章,不是看完即删的支线文本。
|
|
68
|
+
- **夜谈会留下相处条款**:四章里的明说、定界和私情不是阅后即焚。人物账会显示每人的当前倾向与 1–4 章进度;第 20 日总账并列五份条款,五封后日谈再分别交代这套相处方式怎样落到明账、盘问、钥匙、人情或灶权上。五人三种走向共十五份独立回收,同票按最近一次选择承认你已经改道。
|
|
69
|
+
- **人物账会预告真正的后果**:待兑现页持续列出未结人情、未回收旧话、涉及的两院与到期日;今日催账优先置顶。结清后悬账消失,赖账造成的院门冷却则显示具体重开日,下一次白日和拜访不再靠记忆猜测。
|
|
70
|
+
- **修回的边界会真的重开权限**:金莲的原话、瓶儿的私钥、玉楼的名帖、雪娥的工簿一旦沿路线完成具名修复,明确夜场与共同公议不再被旧越界永久锁死;若后来再次越界,门禁会按新发生的顺序重新生效。旧事仍留在历史中,不会被删除或假装从未发生。
|
|
71
|
+
- **五次主动邀约也是完整章节**:关系成熟后,每名女主会在黄昏主动来找一次。赴约、公开说清、诚实拒绝三类初答都不会立刻散场;她先接住回答,旁院再追问这次偏爱会怎样伤到别人,第三拍由她提出两项钥匙、记录、退路、回礼或劳动安排,玩家二次决定后才看见结果并进门或回岔口。五人十五种初答共三十个二次决定、六十段新增后续正文。
|
|
72
|
+
- **五条个人终章**:第 20 日明确选择某一院后不会直接弹结局。月娘、金莲、瓶儿、玉楼、雪娥各有三次提问与三次独立回应,分别处理她本人、她不能交出的边界,以及另外四院应使用什么善后程序。第三次回应读完后,四院还会按真实院约、路线倾向、来往/亲密后约与未修破裂逐人自主得出“接下程序/亲手改约/自行收回”。十种第三答程序各有四院三种结果,共一百二十条按现场物件分流的回应;当面归还不会再写成拆信,具名席签也不会串入无须回帖。这四屏只能听她们作答,没有劝改或替她们签字的按钮;全部读完才落下明账专情、有界相守或私门深契。因此一条完整个人终章共十屏,接受不代表祝福,拒绝也不代表吃醋。
|
|
73
|
+
- **五张终章画**:个人终章不再放大普通院门图。五张安全 CG 分别把公钥、首席、私钥、空席、停灶画进结果,三拍结束后的专情结局继续沿用同一张因果画面。
|
|
74
|
+
- **院间关系网**:十组信任会锁定联办与改变吃醋反应;同一夜对其他四人不再统一加值。任一组合第一次建立足够互信时,会触发一场只属于这两人的三拍私议:一人提出条件、另一人接话、两人共同追问,最后才由你支持她们自主结盟、主持有限交换或把关系重新拉回偏宠竞争。
|
|
75
|
+
- **白日不再只有一个答案**:前十八日除门房征兆指向的不欠人正解外,每天还有一条关系解。主办女人与你的情分、她与受影响院的互信,或院约/深线进度达标后,按钮会明确写出她愿意押什么以及第几日追账。借她的名、货、口供、账或工能收住同一危局,但两日后会连续演出“借力者开账→旁院举证→玩家裁决→双院结果”四拍;补银认领、重谈规则、赖掉人情会分别改变个人情分、院间互信、宅门与路线冷却。第十九、二十日不再新增来不及回收的人情债。
|
|
76
|
+
- **证据板**:口风和实物显示来源、可信度与过期日;走官面前由玩家亲手选择消耗哪一条。第 15 日还要把三份证物排成有承接关系的链,证明“拥有证据”不等于“已经证明”。
|
|
77
|
+
- **五份边界条款**:定账、真话、私钥、退路、灶权;立约占一夜,不偷走个人路线拍。
|
|
78
|
+
- **五桩合办事**:三组旧搭档加月娘/玉楼、金莲/雪娥;每组只做一次,五人都必须实际出过力。
|
|
79
|
+
- **三场公开检验**:第 5、10、15 日分别检查功劳、债务口径与证词;空话会被之前的选择拆穿。
|
|
80
|
+
- **第 20 日**:只有五份边界、五桩合办事、三场公开口径与五人关系都到位,
|
|
81
|
+
加上至少 16/20 危局真正收口、五人各自开过一次个人亲密前奏,才能进入共同办事、三拍余夜、成人群像与次晨结算。任何 1–19 日的伪造状态都不能返回后宫结局。
|
|
82
|
+
- **一院选择**:某人完成至少六拍、院约、情与明确亲密门槛后,第 20 夜选择她会进入三问三答个人终章。此前走近过别人不会被系统假装没有发生,必须在终章中逐项归还承诺、财物、名字与位置;过去和她谈定的亲密后生活安排也会在每次回应里重新出现。
|
|
83
|
+
- **逐院问灯与二至四院选择**:第十九夜 `limited` 只给出外账互证候选,不提前称作盟内/盟外。第二十日外账落定后,玩家只能把同一份邀请送给全部 2–4 人;她们从真实院约、未修破裂、具名白日接手、路线后章、双院私议、联办前史,以及刚执行的外账主裁决与二次保权分别选择留下、亲手改完条款后留下或自行回院。负互信数值不能单独生成一笔争执,也不能勾选名额、排序或劝改;四人都留下便完整进入“四院共席”,不足两人则不扣关系与资源并返回院门。真实成员随后进入三问三答,每次制度选择后按自己的公钥、原话、私钥、名帖、工时与退出权分别回应。
|
|
84
|
+
- **晨簿落名**:日用短账或见光费用真实发生后,次晨会由此前实际经手的女主收回自己的总印、原话纸、私钥、帖匣或封火牌。玩家不能把责任改派给别人,只能接受暂停并停止对应滚账、取得只够下一次的一物一次授权,或公开缺口以保留行动。一次授权用完后原物立即收回、同类行动真正停下;只有公开缺口允许继续硬办,并在每次使用时额外露 +4。三路都要完成卡片写明的翻账/官面恢复动作;恢复页会记录具体核清了什么,不会只凭行动名宣称工钱已付或欠账全清。高曝光、无银或高耗损时仍可只办具名恢复回执,但不会借此添官势或收住当日危局。结局笺与命数末页会点名这件物究竟补回、留下何种复核结果,还是仍归本人。
|
|
85
|
+
- **五院余夜**:共同办事后的三次选择也改为三问三答。逐一念名/先休息、听完再近/留灯可见、重读五约/安静等天亮六种安排,都会先显示月娘、金莲、瓶儿、玉楼、雪娥五条不同反应,再进入下一拍;第三答的五人回应看完以后才开放群像册页。
|
|
86
|
+
- **五院次晨**:摆六盏早茶、各回五院、五约分钥三种收口各有五条白日回应。最后一选不会再直接弹结局;五个人先确认见光、私门、轮值、退出与保管办法,十五条回应读完后,所选制度才写入五院结局。
|
|
87
|
+
- **破局清算**:拿银买静、仍许五人唯一、权谋捷径追价或第二十夜关系失守,都不会再一按便弹结局。先由三名直接受影响的人逐拍说清代价,再从两项真实补救中决定最后保住真账、钥匙退路、人情工钱或证据链;五个人分别回应后才进入权谋/失稳结局。四类清算共八种最后取舍与四十条人物回应。
|
|
88
|
+
- **同意门禁**:“今夜就到这里”始终可选;孟玉楼的财产/人脉、孙雪娥的职位/免罚不能交换亲密。
|
|
89
|
+
- **个人册页不是单图结算,余夜也不再一选就天亮**:五人的前奏与关系终段各有三拍。她先说明门、钥匙、去处或劳动边界;距离改变后重新确认;最后一步由她主动决定。册页走完先给第一次余夜回答,随后进入该人物、该亲密层级独有的三拍后章:回看刚才的回答、提出一个会影响明日生活的问题、在两项具体安排中二次决定并看见结果。十个后章共二十项二次决定、二十段结果和二十条次晨回响。
|
|
90
|
+
- **亲密决定会成为后续关系事实**:二十项二次决定各有一条不复用的长期约定。再次进同一院门时,选择面板会列出前奏/留宿旧约;路线第一拍会让她直接拿旧约追问当前选择,结局后日谈继续写这项安排怎样生活下去。它不是只加一次关系数值。
|
|
91
|
+
- **命数三页把一月笺放回百回因果**:第一页面对官身与官哥儿出生造成的注意力重分配,第二页在固定病故后安排遗物、
|
|
92
|
+
工钱与证物,第三页读取本局结局、五条院约与两次选择,交代第七十九回以后什么仍被某个人带走。前两页选择与结果
|
|
93
|
+
都可存读;任何数值都不会生成“救回死亡”的按钮,官哥儿也不会进入成人路线或成人资产。
|
|
94
|
+
|
|
95
|
+
## 场景册、存档与声音
|
|
96
|
+
|
|
97
|
+
- 16 个唯一场景:五人各 1 页前奏、1 页关系终段,3 页公开问责,3 页第 20 日共同/有限同盟场景。
|
|
98
|
+
- 亲密美术只允许肩背、腿部或松开外袍等轻度裸露;不表现乳头、生殖器或性行为。
|
|
99
|
+
- 场景册只展示已解锁页面;五院契据、五院余夜与有限同盟会额外保存本局真实答复、成员、边界和三拍动作,同一册页可切换已经走成的不同版本。结局可选“换一套暗线”或“重走同一局”,两者都不清场景册,重看也不改路线。
|
|
100
|
+
- 结局总账中的可操作结局卡还会保留本局五封一月笺与宅门末页。即使已经换了暗线,也能从总账重读五个人各自的完整生活正文、路线账和已经发生的关系章节;“回到结局总账”只关闭重看,不恢复或改写旧局。
|
|
101
|
+
- 命数两次取舍走完后,结局总账卡还会出现独立的“重读命数三页”入口,保留当局三页执行章、两页合看与六卷末页原文。同一结局若走出不同取舍组合,可在重读页切换最多九个版本;未读完的新命数不会覆盖已经封存的完整版本,重读也不会把旧局写回当前周目。
|
|
102
|
+
- `localStorage` 键沿用 `jpm_fengyue_save_v66`,存档内容 schema/version 为 `v67`;键名只是兼容存储槽,不代表当前 schema。正堂起手的三幅五人连续回应、白日三幅后果、路线最终处置两幅、关系解人情追账的开账/举证/裁决/结果四拍、路线旧话追账的复述/质询/裁决/结果四拍、联院差事三幕、首次联办后的五屏院外援例、晨簿落名、主动邀约四拍、个人亲密余夜后章三拍、个人终章、逐院问灯、有限同盟、五院余夜与五院次晨的提问/独立回应、命数三页、破局清算的三拍冲突/最后取舍/五人回应、娇儿交易四拍、可恢复危机四拍、院议裁决三拍、第 15 日三步证链、公开问责收尾三拍、第 6/11 日换幕后果三拍、第 16 日含三口复案第二选择的四屏、第 19 日五封私价九屏、终局外账四拍、个人册页、四十种普通夜章、专属夜谈三幅回答后章与双院私议的三拍铺垫、选择、共同执行、第三院反应、双院落字及前章立场都会保存;第 4/9 日底价与旧契状态从真实白日准备、household 与 aftermath 历史重建,不信任可漂移的物件位置字段。第 11 日换幕还会保存并校验第 10 日物件来源,拒绝偷换或倒置因果。晨簿只从真实短账/见光费用和此前白日经手派生,来源、物件、限制、恢复、选择、一次使用、具体恢复结果或恢复专用正文任一偷换都拒读。院外援例只允许第一笔联办触发;两份答复必须由选择前真实 history 重演,经手人、来源联办、拍号、范围、裁决、资源或临时页面任一偷换都拒读,且不得改写联办完成数、已收危局或证链。四院善后只存序号固定的四份自主答案,读档时从第三答生效前的真实院约、路线、亲密后约与未修破裂重新派生;历史答案、当前四屏临时答案、被选者注入、跳页或任何 outcome 偷换都会拒读。五封私价会保存协议、由真实前史派生的五份回答、第十六日 complete/rebuttable/broken 原结果及分段/有限/街面模式、所保权利与真实联盟成员;协议不能改答复,高好感不能替代院约或当前横向互信,横向高互信也不能覆盖本人已经形成的 private 占优;一次旧越界不能跳过两次破裂阈值或后续修复。第二十日三种主路及六个二次裁决都会按 full/limited/failed 裁剪正文、跨院互信与全员关系效果。任一字段偷换都会在重演时拒读。所有非空存档都从 seed 与真实 history 重演并核对资源、关系、旗标、宅中人、冷却、院间互信等权威状态;不再只在第十六日以后检查。三口复案仍额外保存第二选择前后快照核对即时效果,不接受存档自带的任意 delta。路线选择会按拍号与当时前史逐步重放,旧 schema、跳拍、偷换分支、重复证物、伪造证链/复案来源或结果、协调修改复案旗标/院间信任/资源/关系、附加伪造 mutation、缺少五人状态块、伪造命数取舍、伪造路线记忆/夜谈前史或阶段矛盾的存档都拒读。
|
|
103
|
+
- `alliance_assembly` 另存固定顺序的 Day19 候选、每份回答采用的具名历史来源、Day20 主裁决/二次裁决及其 clear/partial/violated 保权结果、join/amend/withdraw、当前读页与最终成员。候选必须严格等于 Day19 limited 候选,最终成员必须严格等于 join/amend 者并允许 2、3、4 人;注入名字、伪造负互信冲突、偷换来源日/行动/保权/回答、伪造页码或把四人裁成三人都会拒读。
|
|
104
|
+
- 年龄确认前只加载安全封面和宅院,成人请求为零;选择回响条不强制多按一次“接下去”。
|
|
105
|
+
- 五张安全终章图不在年龄门后立即下载;进入第四幕才闲时预取。
|
|
106
|
+
- 声音由 Web Audio 程序化生成,不依赖外部音频文件。
|
|
107
|
+
|
|
108
|
+
## 验证
|
|
109
|
+
|
|
110
|
+
example 不内置重型账本测试、完整输入矩阵或逐屏 QA 截图。仓内保留一条轻量可执行改编合同,检查正堂
|
|
111
|
+
起手的状态差异、非空长期回调载荷、确定性重放与伪造状态拒读:
|
|
112
|
+
|
|
113
|
+
```bash
|
|
114
|
+
npm run verify:model
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
当前权威 QA 是一条 Chromium 轻量完整路径,覆盖年龄门、五档标题/首日布局、真实夜访与选择后章、
|
|
118
|
+
单一第二十日结果以及换 seed 重开,并原子刷新 `../../qa/verification.json`、`../../qa/evidence/run.json`
|
|
119
|
+
与四张代表图(标题、首日、夜访、结局):
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
npm run verify:visual
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
该命令是当前候选的事实源,但只走每屏第一项可行主动作,不冒充全键盘、全分支或五档完整二十日矩阵。
|
|
126
|
+
更重的发布检查仍可在仓库外临时工作区执行;覆盖范围与当前结果见 `../../qa/README.md`。
|
|
127
|
+
|
|
128
|
+
仓库级验证:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
python3 scripts/validate_repo.py
|
|
132
|
+
python3 -m unittest discover -s tests -v
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## 边界
|
|
136
|
+
|
|
137
|
+
- 自动化可以证明流程、状态、资源、素材和画面按当前合同运行,不能证明“好玩”“性感”或长期平衡。
|
|
138
|
+
- 内网小说库只用于归纳结构和声口;运行文案不复制未授权原句。
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|