@playcraft/cli 0.0.56 → 0.0.58
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/README.md +41 -26
- package/REMIX.md +17 -5
- package/dist/cli-root-help.js +1 -0
- package/dist/commands/build-all.js +10 -9
- package/dist/commands/build.js +13 -12
- package/dist/commands/create.js +26 -33
- package/dist/commands/platform-skills.generated.js +19 -0
- package/dist/commands/remix.js +48 -2
- package/dist/commands/skills.js +2 -0
- package/dist/commands/tools-generation.js +1 -1
- package/dist/commands/workspace-runtime.js +54 -0
- package/dist/index.js +3 -1
- package/dist/project-skills/commands.js +72 -0
- package/dist/project-skills/lifecycle.js +28 -0
- package/dist/project-skills/local-run.js +112 -0
- package/dist/project-skills/local-store.js +149 -0
- package/dist/project-skills/messages.js +72 -0
- package/dist/project-skills/reconcile.js +62 -0
- package/dist/project-skills/remote-cache.js +51 -0
- package/dist/project-skills/validation.js +19 -0
- package/dist/remix/clone.js +4 -1
- package/dist/remix/init-template.js +2 -0
- package/dist/remix/local-git.js +56 -0
- package/dist/remix/pull.js +66 -0
- package/dist/remix/push.js +90 -0
- package/dist/utils/agent-api-client.js +54 -17
- package/dist/utils/tool-operation-journal.js +54 -0
- package/dist/workspace-runtime/codex/app-server.js +395 -0
- package/dist/workspace-runtime/codex/config-toml.js +25 -0
- package/dist/workspace-runtime/codex/jsonrpc-stdio.js +106 -0
- package/dist/workspace-runtime/codex/loopback.js +59 -0
- package/dist/workspace-runtime/codex/native-adapter.js +3 -0
- package/dist/workspace-runtime/main.js +10 -0
- package/dist/workspace-runtime/persistence/journal.js +350 -0
- package/dist/workspace-runtime/processes/managed-writes.js +69 -0
- package/dist/workspace-runtime/serve.js +111 -0
- package/dist/workspace-runtime/server/auth.js +21 -0
- package/dist/workspace-runtime/server/dispatch.js +861 -0
- package/dist/workspace-runtime/server/execution-group.js +88 -0
- package/dist/workspace-runtime/server/http.js +561 -0
- package/dist/workspace-runtime/server/lock.js +53 -0
- package/dist/workspace-runtime/server/types.js +1 -0
- package/dist/workspace-runtime/workspaces/context-error.js +2 -0
- package/dist/workspace-runtime/workspaces/file-snapshot.js +213 -0
- package/dist/workspace-runtime/workspaces/files.js +143 -0
- package/dist/workspace-runtime/workspaces/git.js +242 -0
- package/dist/workspace-runtime/workspaces/json5-edit.js +170 -0
- package/dist/workspace-runtime/workspaces/parameters.js +272 -0
- package/dist/workspace-runtime/workspaces/prepare.js +364 -0
- package/dist/workspace-runtime/workspaces/registry.js +107 -0
- package/dist/workspace-runtime/workspaces/revisions.js +31 -0
- package/package.json +6 -3
- package/project-template-v2/.claude/agents/artist.md +82 -0
- package/project-template-v2/.claude/agents/developer.md +153 -0
- package/project-template-v2/.claude/agents/game-designer.md +264 -0
- package/project-template-v2/.claude/agents/refs/artist-art-style-catalog.md +533 -0
- package/project-template-v2/.claude/agents/refs/artist-color-audio-recipes.md +153 -0
- package/project-template-v2/.claude/agents/refs/artist-dimension-axis.md +27 -0
- package/project-template-v2/.claude/agents/refs/artist-master-composite-recipes.md +208 -0
- package/project-template-v2/.claude/agents/refs/atom-skill-library.md +81 -0
- package/project-template-v2/.claude/agents/refs/developer-impl-cookbook.md +432 -0
- package/project-template-v2/.claude/agents/refs/framework-5-component-filter.md +252 -0
- package/project-template-v2/.claude/agents/refs/framework-game-feel-juice.md +266 -0
- package/project-template-v2/.claude/agents/refs/framework-mda.md +147 -0
- package/project-template-v2/.claude/agents/refs/game-designer-gameplay-sufficiency.md +123 -0
- package/project-template-v2/.claude/agents/refs/ta-3d-flip-recipe.md +88 -0
- package/project-template-v2/.claude/agents/refs/ta-atlas-deliverable-standard.md +67 -0
- package/project-template-v2/.claude/agents/refs/ta-batch-pipeline-recipes.md +120 -0
- package/project-template-v2/.claude/agents/refs/ta-image-generation-detail.md +300 -0
- package/project-template-v2/.claude/agents/refs/ta-image-ops-reference.md +495 -0
- package/project-template-v2/.claude/agents/refs/ta-pipeline-cookbook.md +1141 -0
- package/project-template-v2/.claude/agents/refs/ta-tools-reference.md +111 -0
- package/project-template-v2/.claude/agents/refs/ta-vfx-preset-catalog.md +365 -0
- package/project-template-v2/.claude/agents/refs/threejs-cannon-pitfalls.md +412 -0
- package/project-template-v2/.claude/agents/reviewer.md +75 -0
- package/project-template-v2/.claude/agents/technical-artist.md +86 -0
- package/project-template-v2/.claude/hooks/snapshot-milestone.mjs +243 -0
- package/project-template-v2/.claude/hooks/user-prompt.mjs +133 -0
- package/project-template-v2/.claude/settings.json +33 -0
- package/project-template-v2/.claude/skills/brainstorming/SKILL.md +161 -0
- package/project-template-v2/.claude/skills/brainstorming/scripts/frame-template.html +270 -0
- package/project-template-v2/.claude/skills/brainstorming/scripts/helper.js +177 -0
- package/project-template-v2/.claude/skills/brainstorming/scripts/server.cjs +354 -0
- package/project-template-v2/.claude/skills/brainstorming/scripts/start-server.sh +148 -0
- package/project-template-v2/.claude/skills/brainstorming/scripts/stop-server.sh +56 -0
- package/project-template-v2/.claude/skills/brainstorming/scripts/wait-for-selection.sh +62 -0
- package/project-template-v2/.claude/skills/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/project-template-v2/.claude/skills/brainstorming/visual-companion.md +309 -0
- package/project-template-v2/.claude/skills/playcraft-ad-psychology/SKILL.md +182 -0
- package/project-template-v2/.claude/skills/playcraft-art-style-guide/SKILL.md +123 -0
- package/project-template-v2/.claude/skills/playcraft-asset-state-sheet/SKILL.md +205 -0
- package/project-template-v2/.claude/skills/playcraft-audio-generation/SKILL.md +280 -0
- package/project-template-v2/.claude/skills/playcraft-batch-pipeline/SKILL.md +184 -0
- package/project-template-v2/.claude/skills/playcraft-build-optimizer/SKILL.md +306 -0
- package/project-template-v2/.claude/skills/playcraft-image-generation/SKILL.md +298 -0
- package/project-template-v2/.claude/skills/playcraft-image-generation/reference/build-sprite-sheet.template.mjs +123 -0
- package/project-template-v2/.claude/skills/playcraft-image-generation/reference/compare-style.template.mjs +254 -0
- package/project-template-v2/.claude/skills/playcraft-image-generation/reference/gen-batch-sprite.template.mjs +324 -0
- package/project-template-v2/.claude/skills/playcraft-image-generation/reference/gen-batch.template.mjs +97 -0
- package/project-template-v2/.claude/skills/playcraft-image-generation/reference/gen-edit-variants.template.mjs +118 -0
- package/project-template-v2/.claude/skills/playcraft-image-generation/reference/process-batch.template.mjs +137 -0
- package/project-template-v2/.claude/skills/playcraft-image-generation/reference/prompt-cookbook.md +397 -0
- package/project-template-v2/.claude/skills/playcraft-image-generation/reference/validate-sprite-sheet.template.mjs +296 -0
- package/project-template-v2/.claude/skills/playcraft-image-ops/SKILL.md +122 -0
- package/project-template-v2/.claude/skills/playcraft-image-processing/SKILL.md +219 -0
- package/project-template-v2/.claude/skills/playcraft-masking/SKILL.md +373 -0
- package/project-template-v2/.claude/skills/playcraft-playable-optimization/SKILL.md +161 -0
- package/project-template-v2/.claude/skills/playcraft-research/SKILL.md +215 -0
- package/project-template-v2/.claude/skills/playcraft-skill-recommender/SKILL.md +382 -0
- package/project-template-v2/.claude/skills/playcraft-sprite-generation/SKILL.md +423 -0
- package/project-template-v2/.claude/skills/playcraft-sprite-remix/SKILL.md +158 -0
- package/project-template-v2/.claude/skills/playcraft-sprite-sheet/SKILL.md +100 -0
- package/project-template-v2/.claude/skills/playcraft-storyboard/SKILL.md +167 -0
- package/project-template-v2/.claude/skills/playcraft-style-qa/SKILL.md +270 -0
- package/project-template-v2/.claude/skills/playcraft-text-rendering/SKILL.md +236 -0
- package/project-template-v2/.claude/skills/playcraft-vfx-animation/SKILL.md +130 -0
- package/project-template-v2/.claude/skills/playwright-cli/SKILL.md +390 -0
- package/project-template-v2/.claude/skills/playwright-cli/references/element-attributes.md +23 -0
- package/project-template-v2/.claude/skills/playwright-cli/references/playwright-tests.md +39 -0
- package/project-template-v2/.claude/skills/playwright-cli/references/request-mocking.md +87 -0
- package/project-template-v2/.claude/skills/playwright-cli/references/running-code.md +240 -0
- package/project-template-v2/.claude/skills/playwright-cli/references/session-management.md +226 -0
- package/project-template-v2/.claude/skills/playwright-cli/references/spec-driven-testing.md +308 -0
- package/project-template-v2/.claude/skills/playwright-cli/references/storage-state.md +275 -0
- package/project-template-v2/.claude/skills/playwright-cli/references/test-generation.md +134 -0
- package/project-template-v2/.claude/skills/playwright-cli/references/tracing.md +142 -0
- package/project-template-v2/.claude/skills/playwright-cli/references/video-recording.md +153 -0
- package/project-template-v2/.claude/skills/session-analyzer/SKILL.md +386 -0
- package/project-template-v2/.claude/skills/session-analyzer/scripts/execution-breakdown.mjs +182 -0
- package/project-template-v2/.claude/skills/session-analyzer/scripts/find-turns.mjs +72 -0
- package/project-template-v2/.claude/skills/session-analyzer/scripts/heavy-output.mjs +121 -0
- package/project-template-v2/.claude/skills/session-analyzer/scripts/resolve-session.mjs +102 -0
- package/project-template-v2/.claude/skills/session-analyzer/scripts/subagent-stats.mjs +127 -0
- package/project-template-v2/.claude/skills/session-analyzer/scripts/subagent-tool-timeline.mjs +106 -0
- package/project-template-v2/.claude/skills/session-analyzer/scripts/time-gaps.mjs +128 -0
- package/project-template-v2/.claude/skills/session-analyzer/scripts/turn-timeline.mjs +67 -0
- package/project-template-v2/.claude/snapshot.mjs +263 -0
- package/project-template-v2/.playcraft/skills.lock.json +152 -0
- package/project-template-v2/CLAUDE.md +146 -0
- package/project-template-v2/assets/audio/bgm/.gitkeep +0 -0
- package/project-template-v2/assets/audio/sfx/.gitkeep +0 -0
- package/project-template-v2/assets/bundles/.gitkeep +0 -0
- package/project-template-v2/assets/images/bg/.gitkeep +0 -0
- package/project-template-v2/assets/images/reference/.gitkeep +0 -0
- package/project-template-v2/assets/images/storyboard/.gitkeep +0 -0
- package/project-template-v2/assets/images/tiles/.gitkeep +0 -0
- package/project-template-v2/assets/images/ui/.gitkeep +0 -0
- package/project-template-v2/assets/images/vfx/.gitkeep +0 -0
- package/project-template-v2/assets/models/.gitkeep +0 -0
- package/project-template-v2/docs/harness/iteration-1/context-flow.md +254 -0
- package/project-template-v2/docs/harness/iteration-1/generate-flow.md +91 -0
- package/project-template-v2/docs/harness/iteration-1/ideate-flow.md +214 -0
- package/project-template-v2/docs/harness/iteration-1/optimize-flow.md +75 -0
- package/project-template-v2/docs/harness/iteration-1/wrapup-flow.md +63 -0
- package/project-template-v2/docs/harness/iteration-2/context-flow.md +223 -0
- package/project-template-v2/docs/harness/iteration-2/generate-flow.md +129 -0
- package/project-template-v2/docs/harness/iteration-2/ideate-flow.md +267 -0
- package/project-template-v2/docs/harness/iteration-2/optimize-flow.md +164 -0
- package/project-template-v2/docs/harness/iteration-2/wrapup-flow.md +115 -0
- package/project-template-v2/docs/harness/orchestrator-flow.md +364 -0
- package/project-template-v2/docs/project-state.json +60 -0
- package/project-template-v2/docs/project-state.md +72 -0
- package/project-template-v2/docs/standards/README.md +225 -0
- package/project-template-v2/docs/standards/agent-behavior-standards.md +174 -0
- package/project-template-v2/docs/standards/artifacts/design-brief.md +19 -0
- package/project-template-v2/docs/standards/artifacts/design.md +22 -0
- package/project-template-v2/docs/standards/artifacts/game-code.md +41 -0
- package/project-template-v2/docs/standards/artifacts/todo-list.md +41 -0
- package/project-template-v2/docs/standards/iter1-agent-behavior-standards.md +343 -0
- package/project-template-v2/game/index.ts +18 -0
- package/project-template-v2/globals.d.ts +51 -0
- package/project-template-v2/index.css +34 -0
- package/project-template-v2/index.html +18 -0
- package/project-template-v2/main.ts +9 -0
- package/project-template-v2/package.json +46 -0
- package/project-template-v2/skills/_shared/scripts/dispatch-clear.mjs +31 -0
- package/project-template-v2/skills/_shared/scripts/dispatch-set.mjs +86 -0
- package/project-template-v2/skills/_shared/scripts/dod-check.mjs +153 -0
- package/project-template-v2/skills/_shared/scripts/handoff-append.mjs +70 -0
- package/project-template-v2/skills/_shared/scripts/lib/validator-artifacts.mjs +91 -0
- package/project-template-v2/skills/_shared/scripts/pipeline/dod-config.mjs +131 -0
- package/project-template-v2/skills/_shared/scripts/pipeline/index.mjs +80 -0
- package/project-template-v2/skills/_shared/scripts/pipeline/iteration-1-core.mjs +90 -0
- package/project-template-v2/skills/_shared/scripts/pipeline/iteration-2-wrap.mjs +93 -0
- package/project-template-v2/skills/_shared/scripts/pipeline/iteration-3-visual.mjs +23 -0
- package/project-template-v2/skills/_shared/scripts/render-project-state.mjs +230 -0
- package/project-template-v2/skills/_shared/scripts/state-advance-stage.mjs +58 -0
- package/project-template-v2/skills/_shared/scripts/state-get.mjs +339 -0
- package/project-template-v2/skills/_shared/scripts/state-handoff.mjs +39 -0
- package/project-template-v2/skills/_shared/scripts/state-set.mjs +94 -0
- package/project-template-v2/skills/_shared/scripts/state-store.mjs +783 -0
- package/project-template-v2/skills/_shared/scripts/todo-add.mjs +88 -0
- package/project-template-v2/skills/_shared/scripts/todo-get.mjs +130 -0
- package/project-template-v2/skills/_shared/scripts/todo-remove.mjs +33 -0
- package/project-template-v2/skills/_shared/scripts/todo-set.mjs +47 -0
- package/project-template-v2/skills/_shared/scripts/verify-asset-code-sync.mjs +268 -0
- package/project-template-v2/skills/_shared/scripts/verify-env.mjs +285 -0
- package/project-template-v2/skills/_shared/scripts/verify-placeholders.mjs +161 -0
- package/project-template-v2/skills/playable-autoplay/SKILL.md +176 -0
- package/project-template-v2/skills/playable-autoplay/agents/openai.yaml +4 -0
- package/project-template-v2/skills/playable-debug/SKILL.md +116 -0
- package/project-template-v2/skills/playable-debug/agents/openai.yaml +4 -0
- package/project-template-v2/skills/playable-debug/references/debug-config.md +40 -0
- package/project-template-v2/skills/playable-record/SKILL.md +140 -0
- package/project-template-v2/skills/playable-record/scripts/lib/dev-server.mjs +104 -0
- package/project-template-v2/skills/playable-record/scripts/lib/record-audio-bridge.js +141 -0
- package/project-template-v2/skills/playable-record/scripts/record-playable.mjs +425 -0
- package/project-template-v2/skills/playable-record/scripts/verify-contract.mjs +261 -0
- package/project-template-v2/skills/playable-record/scripts/verify-firstwin.mjs +398 -0
- package/project-template-v2/skills/playable-record/scripts/verify-fusion.mjs +322 -0
- package/project-template-v2/skills/playable-record/scripts/verify-lifecycle.mjs +105 -0
- package/project-template-v2/skills/playable-record/scripts/verify-vlm-video.mjs +230 -0
- package/project-template-v2/skills/playable-validate/SKILL.md +61 -0
- package/project-template-v2/skills/playable-validate/validation-rules.md +14 -0
- package/project-template-v2/skills/playable-verify-ui/SKILL.md +63 -0
- package/project-template-v2/skills/playable-verify-ui/scripts/lib/__init__.py +1 -0
- package/project-template-v2/skills/playable-verify-ui/scripts/lib/config_expr.js +218 -0
- package/project-template-v2/skills/playable-verify-ui/scripts/lib/node_utils.js +51 -0
- package/project-template-v2/skills/playable-verify-ui/scripts/lib/profile_loader.py +59 -0
- package/project-template-v2/skills/playable-verify-ui/scripts/lib/report.py +106 -0
- package/project-template-v2/skills/playable-verify-ui/scripts/lib/runtime_contract.js +116 -0
- package/project-template-v2/skills/playable-verify-ui/scripts/verify_fetch_antipatterns.py +59 -0
- package/project-template-v2/skills/playable-verify-ui/scripts/verify_hardcoded_layout.js +64 -0
- package/project-template-v2/skills/playable-verify-ui/scripts/verify_runtime_contract.js +58 -0
- package/project-template-v2/skills/playable-verify-ui/scripts/verify_text_overlap.py +333 -0
- package/project-template-v2/ta-workspace/scripts/.gitkeep +0 -0
- package/project-template-v2/tsconfig.json +20 -0
- package/project-template-v2/vite.config.ts +27 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
# Standards 文档组织
|
|
2
|
+
|
|
3
|
+
`docs/standards/` 放目标态标准。这里的文档不是当前 flow 的复述,而是用来校准 role card、flow、skill 使用方式、state scripts 和验证脚本的预期。
|
|
4
|
+
|
|
5
|
+
## 两类文档
|
|
6
|
+
|
|
7
|
+
### 1. `agent-behavior-standards.md`
|
|
8
|
+
|
|
9
|
+
全局 agent 行为评价标准。只写跨迭代、跨 flow 都成立的稳定表现,用于评价“这个 role 像不像这个 role”,不写某个 flow 的执行步骤。
|
|
10
|
+
|
|
11
|
+
它回答:
|
|
12
|
+
|
|
13
|
+
- 每个 role 的稳定职责是什么?
|
|
14
|
+
- agent 被派发后通用地应该体现哪些行为品质?
|
|
15
|
+
- orchestrator 与 subagent 的权限边界是什么?
|
|
16
|
+
- dispatch、handoff、state 写入的全局规则是什么?
|
|
17
|
+
- skill 对 agent 是什么关系:何时应考虑使用、使用到什么程度才算合格、何时不能替代判断?
|
|
18
|
+
- 哪些行为在任何迭代都不允许?
|
|
19
|
+
|
|
20
|
+
它不回答:
|
|
21
|
+
|
|
22
|
+
- 某个 iteration 的 ideate/context/generate 具体要产出什么。
|
|
23
|
+
- 某个 dispatch 应该带哪些文件路径。
|
|
24
|
+
- `docs/design.md` 在迭代1具体要写哪些章节。
|
|
25
|
+
- 某个 DoD (Definition of Done, 完成定义) key 在某阶段是否必跑。
|
|
26
|
+
|
|
27
|
+
判断标准:如果一条规则换到迭代2/3仍成立,放这里。如果只对某个 iteration 或 stage 成立,不要放这里。
|
|
28
|
+
|
|
29
|
+
### 2. `iter<N>-agent-behavior-standards.md`
|
|
30
|
+
|
|
31
|
+
单迭代 agent 行为评价标准。按 iteration 拆,文档内先写本迭代共享的调度者预期和执行诊断,再按 flow/stage 拆。它不是 flow 手册的复刻,但必须说明该 flow 的预期流程形态,否则无法评价 agent 是否走偏。
|
|
32
|
+
|
|
33
|
+
建议命名:
|
|
34
|
+
|
|
35
|
+
- `iter1-agent-behavior-standards.md`
|
|
36
|
+
- `iter2-agent-behavior-standards.md`
|
|
37
|
+
- `iter3-agent-behavior-standards.md`
|
|
38
|
+
|
|
39
|
+
它回答:
|
|
40
|
+
|
|
41
|
+
- 本迭代每个 flow 的目标是什么?
|
|
42
|
+
- orchestrator 在本迭代中应如何判断、派发、relay、验收和推进?
|
|
43
|
+
- 派发信息应该满足什么评价标准:role、用户意图转述、requiredContext、allowedFiles、forbiddenTasks、acceptance、verifier。
|
|
44
|
+
- 被派发 agent 在该 flow 里的预期流程是什么,以及哪些行为算走偏。
|
|
45
|
+
- 该 flow 应引用哪些产物评价标准,以及本 flow 对产物有哪些额外边界。
|
|
46
|
+
- 该 flow 的 state 流转是什么。
|
|
47
|
+
- 该 flow 的验证证据是什么。
|
|
48
|
+
- 该 flow 的执行过程是否健康:失败重试、参数错误、耗时异常、read/update/edit 时间分布、上下文准备时长。
|
|
49
|
+
- 哪些当前 flow 与目标标准不一致,需要回改。
|
|
50
|
+
|
|
51
|
+
它不回答:
|
|
52
|
+
|
|
53
|
+
- role 的稳定身份定义。
|
|
54
|
+
- 所有 iteration 都通用的 dispatch / handoff 基础协议。
|
|
55
|
+
- skill 的跨阶段通用原则。
|
|
56
|
+
|
|
57
|
+
判断标准:如果一条规则必须知道“当前是 iteration 1 的 context”才说得清,放 iter 文档。
|
|
58
|
+
|
|
59
|
+
## 推荐结构
|
|
60
|
+
|
|
61
|
+
### `agent-behavior-standards.md`
|
|
62
|
+
|
|
63
|
+
```markdown
|
|
64
|
+
# Agent Behavior Standards
|
|
65
|
+
|
|
66
|
+
## 写法约定
|
|
67
|
+
|
|
68
|
+
## <Role Name>
|
|
69
|
+
|
|
70
|
+
### 预期
|
|
71
|
+
|
|
72
|
+
### 不应当做
|
|
73
|
+
|
|
74
|
+
### Skill 覆盖与时机
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
写全局 agent 标准前,必须先阅读:
|
|
78
|
+
|
|
79
|
+
- 对应 role card;
|
|
80
|
+
- role card 明确引用的稳定 refs;
|
|
81
|
+
- 标准中点名的 skill 文档。
|
|
82
|
+
|
|
83
|
+
如果标准里写到某个 skill、某类 skill 或某个工具链能力,必须已经读过对应 skill 或代表性 skill,再抽象成跨迭代评价标准。不能只凭 skill 名称推断职责。
|
|
84
|
+
|
|
85
|
+
### `iter1-agent-behavior-standards.md`
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
# Iteration 1 Agent Behavior Standards
|
|
89
|
+
|
|
90
|
+
## 迭代目标
|
|
91
|
+
|
|
92
|
+
## 全 flow 执行过程诊断
|
|
93
|
+
|
|
94
|
+
## 迭代调度者工作预期
|
|
95
|
+
|
|
96
|
+
## ideate
|
|
97
|
+
|
|
98
|
+
### Flow 目标
|
|
99
|
+
|
|
100
|
+
### skill/文档引用
|
|
101
|
+
|
|
102
|
+
### 派发信息评价
|
|
103
|
+
|
|
104
|
+
### 预期流程
|
|
105
|
+
|
|
106
|
+
### 不符合预期的流程
|
|
107
|
+
|
|
108
|
+
### 产物评价引用
|
|
109
|
+
|
|
110
|
+
### 本 flow 额外产物边界
|
|
111
|
+
|
|
112
|
+
### State / Handoff 评价
|
|
113
|
+
|
|
114
|
+
## context
|
|
115
|
+
|
|
116
|
+
...
|
|
117
|
+
|
|
118
|
+
## generate
|
|
119
|
+
|
|
120
|
+
...
|
|
121
|
+
|
|
122
|
+
## optimize
|
|
123
|
+
|
|
124
|
+
...
|
|
125
|
+
|
|
126
|
+
## wrapup
|
|
127
|
+
|
|
128
|
+
...
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
## 去重原则
|
|
132
|
+
|
|
133
|
+
- `agent-behavior-standards.md` 写“协议和边界”。
|
|
134
|
+
- `iter<N>-agent-behavior-standards.md` 写“本迭代各 flow 的预期流程形态和评价点”。
|
|
135
|
+
- flow 文档仍是执行手册,standards 是验收和校准依据。
|
|
136
|
+
- role card 只保留稳定身份和能力,不写流程剧本。
|
|
137
|
+
- skill 文档只写领域方法,不写 orchestration 决策。
|
|
138
|
+
|
|
139
|
+
## Flow 标准写作规范
|
|
140
|
+
|
|
141
|
+
写某个 flow 的标准前,必须先阅读:
|
|
142
|
+
|
|
143
|
+
- 对应 flow 文档,如 `docs/harness/iteration-1/ideate-flow.md`;
|
|
144
|
+
- 被派发 role 的 role card;
|
|
145
|
+
- flow 明确或隐含使用的 skill 文档;
|
|
146
|
+
- 相关工具脚本或命令说明,如 state、todo、handoff、DoD 脚本;
|
|
147
|
+
- 被引用的 artifact 评价标准。
|
|
148
|
+
|
|
149
|
+
flow 标准应写“预期流程”,但不能照搬 flow 步骤。推荐写法:
|
|
150
|
+
|
|
151
|
+
- 用 3-6 条概括该 flow 应呈现的关键行为顺序或判断链;
|
|
152
|
+
- 每条都能判断“做到了 / 没做到 / 做偏了”;
|
|
153
|
+
- 只保留评价所需的信息,不复制命令示例和长协议;
|
|
154
|
+
- 对 skill 的描述写“在本 flow 中应该如何使用”,而不是复述 skill 全文;
|
|
155
|
+
- 对产物只写本 flow 的额外边界,通用质量标准引用 `artifacts/`。
|
|
156
|
+
|
|
157
|
+
每个 iteration 文档必须有 `迭代调度者工作预期` 章节。它评价 orchestrator 在本轮迭代里是否正确履行控制职责,包括:
|
|
158
|
+
|
|
159
|
+
- 是否读取 state 并识别 active dispatch / pending user input / stage exit;
|
|
160
|
+
- 是否把当前 stage/flow 收窄成合适 dispatch,而不是替 role 产出内容;
|
|
161
|
+
- 是否正确处理用户 relay、handoff、todo 状态和 stage 推进;
|
|
162
|
+
- 是否没有把调度者视图泄漏给 subagent;
|
|
163
|
+
- 是否能在 blocker / failed evidence 出现时路由或暂停,而不是硬推进。
|
|
164
|
+
|
|
165
|
+
flow 小节中不再重复写完整调度者职责;只在该 flow 有特殊调度边界时补充一两条。例如 ideate 可以补充“中途 brainstorm answer 不等于最终 user-confirm”。
|
|
166
|
+
|
|
167
|
+
每个 flow 必须覆盖执行过程诊断。当前推荐把这些异常信号合并进 `不符合预期的流程`,不单独展开成大章节。它评价本 flow 的执行过程是否健康,不只看最终产物。至少覆盖:
|
|
168
|
+
|
|
169
|
+
- 是否出现某类行为执行失败,失败后是否有原因归类和下一步处理;
|
|
170
|
+
- 是否出现工具/命令参数用错,尤其同一参数错误是否重复发生;
|
|
171
|
+
- 是否有同一 verifier / tool / write 操作多次未通过仍继续硬跑;
|
|
172
|
+
- 是否有单个行为耗时明显过长,且没有产出相称的信息或证据;
|
|
173
|
+
- read、update/edit、工具调用、用户等待、验证各自大约花了多久;
|
|
174
|
+
- 从 dispatch 到“上下文准备好可开始产出”花了多久;
|
|
175
|
+
- 失败和耗时信息是否进入 handoff / run notes,方便调度者判断继续、重派或修改 flow。
|
|
176
|
+
|
|
177
|
+
这些诊断信息不要求一开始全部脚本化采集,但 flow 标准里要说明哪些异常会被视为不健康执行。
|
|
178
|
+
|
|
179
|
+
例:
|
|
180
|
+
|
|
181
|
+
- 可以写:`ideate 应体现 discovery -> brainstorm -> sufficiency check -> core design 收敛;缺任一环节则不应进入 user-confirm。`
|
|
182
|
+
- 可以写:`迭代调度者只负责派发、relay、验收和推进;不应替 subagent 写产物。`
|
|
183
|
+
- 可以写:`ideate 如果连续多次 skill filter 无有效结果,应记录 no-match / low-confidence,而不是继续无目标搜索。`
|
|
184
|
+
- 不要写:把 `ideate-flow.md` 的关键步骤、relay 协议和 design 模板整段复制过来。
|
|
185
|
+
|
|
186
|
+
## 产物评价标准
|
|
187
|
+
|
|
188
|
+
产物评价标准单独放在 `docs/standards/artifacts/`。flow 文档和 iteration 标准只引用这些标准,不复制完整内容。
|
|
189
|
+
|
|
190
|
+
建议命名:
|
|
191
|
+
|
|
192
|
+
- `design-brief.md`
|
|
193
|
+
- `design.md`
|
|
194
|
+
- `todo-list.md`
|
|
195
|
+
- `atom-tree.md`
|
|
196
|
+
- `game-code.md`
|
|
197
|
+
- `recording-evidence.md`
|
|
198
|
+
|
|
199
|
+
判断标准:如果内容是在评价“某个产物好不好”,放 artifacts;如果内容是在说明“某个 flow 下 agent 应该如何做”,放 iter 文档。
|
|
200
|
+
|
|
201
|
+
## Artifact 标准写作规范
|
|
202
|
+
|
|
203
|
+
artifact 标准只评价产物本身,不评价 agent 是否按流程执行。
|
|
204
|
+
|
|
205
|
+
推荐结构:
|
|
206
|
+
|
|
207
|
+
```markdown
|
|
208
|
+
# <Artifact> Quality Standard
|
|
209
|
+
|
|
210
|
+
## 应当具备的特点
|
|
211
|
+
|
|
212
|
+
## 不应当具备的特点
|
|
213
|
+
|
|
214
|
+
## 可接受证据
|
|
215
|
+
|
|
216
|
+
## 常见低质量信号
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
写作要求:
|
|
220
|
+
|
|
221
|
+
- 轻量,能说清楚即可;
|
|
222
|
+
- 不为填章节而列章节;
|
|
223
|
+
- 不写 flow state、dispatch、handoff 细节;
|
|
224
|
+
- 允许写“本产物在某迭代中的边界”,但如果边界只属于某个 flow,优先写在 iter 文档中;
|
|
225
|
+
- flow 可引用 artifact 标准,并补充该 flow 的额外评价边界。
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Agent Behavior Standards
|
|
2
|
+
|
|
3
|
+
> 全局 agent 行为评价标准。这里只写跨 iteration、跨 flow 都成立的判断标准;具体 flow 下要读什么、写什么、交付什么,放 `iter<N>-agent-behavior-standards.md`。
|
|
4
|
+
|
|
5
|
+
## 写法约定
|
|
6
|
+
|
|
7
|
+
- 用“预期 / 不应当做 / skill 覆盖与时机”描述标准。
|
|
8
|
+
- 不展开 flow 步骤。
|
|
9
|
+
- 不复制 role card。
|
|
10
|
+
- 不写某个 iteration 的产物结构。
|
|
11
|
+
|
|
12
|
+
## 全局协议
|
|
13
|
+
|
|
14
|
+
预期:
|
|
15
|
+
|
|
16
|
+
- agent 先确认自己是否被派发,再执行任务;主会话保持 orchestrator 身份,具名 subagent 只读自己的 workticket。
|
|
17
|
+
- dispatch 只承载本次工作需要的信息:目标、上下文、可写边界、禁止事项、验收信号和验证方式。
|
|
18
|
+
- role 产物、state 更新、handoff 和用户确认各有边界;完成与推进必须有 artifact、verifier 或明确用户确认支撑。
|
|
19
|
+
- skill 是能力来源和方法约束,不是替代判断的借口;合格使用应能说明“为什么用、用到哪里、采纳了什么、拒绝了什么”。
|
|
20
|
+
- 任何失败、重复重试、参数错误、耗时异常或证据缺口都应进入 handoff / run notes,让调度者能判断继续、重派或暂停。
|
|
21
|
+
|
|
22
|
+
不应当做:
|
|
23
|
+
|
|
24
|
+
- subagent 不升级成 orchestrator,不自行决定下一阶段、下一角色或全局 todo 状态。
|
|
25
|
+
- dispatch 不泄漏完整 stage spec、todo pool、调度者内部字段或未来阶段计划。
|
|
26
|
+
- 不把手写总结当作 verifier,不把中途用户回答当作最终 gate 确认。
|
|
27
|
+
- 不在未读上下文、未读 ref 源、未确认边界的情况下产出确定结论。
|
|
28
|
+
|
|
29
|
+
## Orchestrator
|
|
30
|
+
|
|
31
|
+
预期:
|
|
32
|
+
|
|
33
|
+
- 每次接管先读 state,再判断 active dispatch、pending user input、todo pool、stage exit。
|
|
34
|
+
- 能把 stage 目标收窄成一个 role workticket,不把完整流程剧本下发给 subagent。
|
|
35
|
+
- 能区分“继续 active dispatch”“relay 用户输入”“派发新任务”“验收并推进”这几类动作。
|
|
36
|
+
- 根据 handoff、artifact、verifier 和用户确认推进 state,而不是根据自己的口头判断推进。
|
|
37
|
+
- 能识别执行异常,如重复失败、参数错误、耗时异常,并暂停、重派或修改 flow。
|
|
38
|
+
- 信息派发是准确的,没有自行发散
|
|
39
|
+
|
|
40
|
+
不应当做:
|
|
41
|
+
|
|
42
|
+
- 不替 role 写设计、todo、代码、视觉产物或 review verdict。
|
|
43
|
+
- 不在 dispatch 中泄漏 stageExit、完整 todo pool、dispatchableRoles、canWriteTodo 或未来阶段计划。
|
|
44
|
+
- 不把中途 brainstorm answer 当作最终 user-confirm。
|
|
45
|
+
- 不在 blocker 或 failed evidence 未处理时硬推进 stage。
|
|
46
|
+
- 不做subagent能拿到信息的复述进行压缩传递
|
|
47
|
+
- 不会外行指导内行自行脑补流程
|
|
48
|
+
- 不读state相关的内容,而是直接使用stat:get来执行驱动
|
|
49
|
+
|
|
50
|
+
## Game Designer
|
|
51
|
+
|
|
52
|
+
预期:
|
|
53
|
+
|
|
54
|
+
- 主动判断是否需要 web research、skill exploration、brainstorming,而不是一股脑全跑或完全不跑。
|
|
55
|
+
- research / skill 获取到的信息能及时沉淀到 brief,并标明来源。
|
|
56
|
+
- 使用 PlayCraft skill 时能分层探索:先看 tag/keyword/role,再 filter/match,必要时 read 强相关 atom,不把一次 match 当结论。
|
|
57
|
+
- 使用 brainstorming 时能批量整理关键问题,提供选项、推荐项和影响说明,而不是开放式逐个追问。
|
|
58
|
+
- 决策前有 discovery 与 brainstorm 记录,不是直接写最终结论。
|
|
59
|
+
- 只描述玩家体验和设计取舍,不写 runtime 文件、类名、函数签名、事件 payload。
|
|
60
|
+
- 对获取的信息能甄别,能说明采纳、拒绝或暂存的原因。
|
|
61
|
+
|
|
62
|
+
不应当做:
|
|
63
|
+
|
|
64
|
+
- 把实现计划当设计。
|
|
65
|
+
- 用 skill match 替代玩法判断。
|
|
66
|
+
- 没有用户确认就把假设写成 confirmed。
|
|
67
|
+
- 在未授权 flow 中写 todo、改 state、指定下一个 role。
|
|
68
|
+
- 为了让 developer 好做而改掉已确认的玩家体验。
|
|
69
|
+
|
|
70
|
+
skill 覆盖与时机:
|
|
71
|
+
|
|
72
|
+
- `brainstorming`:当需求存在玩法方向、机制、节奏或用户偏好不确定时使用。合格表现是能提出可比较选项,并在用户回答后继续收敛。
|
|
73
|
+
- `playcraft-skill-recommender`:当需要判断已有 atom 能否支撑玩法、或需要把设计转成可复用上下文时使用。合格表现是分层筛选,不是只跑一次 match。
|
|
74
|
+
- `playcraft-research`:当本地 skill 或常识不足以支撑玩法判断时使用。合格表现是把可操作结论写回 brief,而非堆引用。
|
|
75
|
+
|
|
76
|
+
## Developer
|
|
77
|
+
|
|
78
|
+
预期:
|
|
79
|
+
|
|
80
|
+
- 先读 dispatch,再读 requiredContext,确认目标、边界和验收信号后再改代码。
|
|
81
|
+
- 先理解现有 runtime 和已引入 atom/ref/scaffold,不盲改、不重写没读过的代码。
|
|
82
|
+
- 对于引用的atom会阅读其skill,大部份还会愿意去读其ref文件等;对于价值较高的还会直接scaffold
|
|
83
|
+
- 实现保持最小闭环,只满足当前 acceptance。可以做的更完整,但是不因为看了todolist就顺手做未来工作。
|
|
84
|
+
- 写完之后会主动去验证,不直接宣告开发结束
|
|
85
|
+
- 使用 verifier 证明完成,不能用手写总结替代通过证据。
|
|
86
|
+
- 失败时能区分实现 bug、设计缺口、资产缺口、环境问题,并写清 blocker。
|
|
87
|
+
- 在制作的时候是有设计的,而不是硬写
|
|
88
|
+
- 对参考atom的参数、配置等信息会很愿意去了解。不自行脑补参数
|
|
89
|
+
- 对当前的代码有足够的了解才动手,而不是看了一个文件就认为完整了
|
|
90
|
+
|
|
91
|
+
不应当做:
|
|
92
|
+
|
|
93
|
+
- 重写设计意图。
|
|
94
|
+
- 未读 atom ref 就接 API (Application Programming Interface, 应用程序编程接口) / event / config。
|
|
95
|
+
- 为了通过验证改玩法语义或 fake success。
|
|
96
|
+
- 创建生产美术、最终资产 manifest 或自审最终质量(可使用placeholder来引入占位图)
|
|
97
|
+
- 越过 allowedFiles 或做 forbiddenTasks。
|
|
98
|
+
|
|
99
|
+
skill 覆盖与时机:
|
|
100
|
+
|
|
101
|
+
- `playcraft-skill-recommender`:当需要确认 atom/ref/scaffold 使用方式时使用,尤其 context 已选 atom 后。
|
|
102
|
+
- atom `SKILL.md` + `ref/`:改动前必须读强相关源码;源码优先于说明文档。
|
|
103
|
+
- `playable-record` / `playable-debug` / `playable-validate`:optimize 或 verifier 要求 runtime contract、first win、record、video validation 时使用。
|
|
104
|
+
|
|
105
|
+
## Artist
|
|
106
|
+
|
|
107
|
+
预期:
|
|
108
|
+
|
|
109
|
+
- 产出视觉意图、MC (Master Composite, 主合成图)、ASR (Asset State Reference, 资产状态参考) 或参考 artifact,帮助后续生产判断风格和状态。
|
|
110
|
+
- 根据 design/brief 中的玩家体验和视觉需求工作,不自行改玩法。
|
|
111
|
+
- 输出应能被 TA (Technical Artist, 技术美术) 或 developer 使用,不是装饰性灵感散文。
|
|
112
|
+
|
|
113
|
+
不应当做:
|
|
114
|
+
|
|
115
|
+
- 定义 gameplay mechanics。
|
|
116
|
+
- 实现 runtime files。
|
|
117
|
+
- 创建 TA production manifest。
|
|
118
|
+
- 代替 reviewer 判定最终 playable 质量。
|
|
119
|
+
|
|
120
|
+
skill 覆盖与时机:
|
|
121
|
+
|
|
122
|
+
- `playcraft-art-style-guide`:当派发风格方向或受众/品类适配判断时使用。合格表现是说明风格为何适配游戏类型、受众、生产成本和 TA 管线。
|
|
123
|
+
- `playcraft-storyboard`:当派发 MC (Master Composite, 主合成图) 或 5 屏体验流参考时使用。合格表现是保证每格为完整 9:16 H5 (HTML5, 超文本标记语言第五版) 视口,并能服务 gameplay / hook / onboarding / endcard / CTA (Call To Action, 行动召唤) 表达。
|
|
124
|
+
- `playcraft-image-generation`:当派发概念图、参考图或孤立素材生成时使用。合格表现是先确认模型、reference image、尺寸、透明/色幕策略,并对失败有回退。
|
|
125
|
+
- `playcraft-asset-state-sheet`:当派发 ASR (Asset State Reference, 资产状态参考) 时使用。合格表现是只为已确认 MC 方案生成 UI (User Interface, 用户界面) / element 状态板,并保证格内元素可被 TA crop 和去背。
|
|
126
|
+
- `playcraft-audio-generation`:当派发音频方向或音频资产时使用。合格表现是区分 SFX (Sound Effects, 音效) / BGM (Background Music, 背景音乐),并记录循环、压缩、响度等后处理需求。
|
|
127
|
+
- 使用上述 skill 时应输出可复用参考、约束和取舍,不只输出漂亮描述。
|
|
128
|
+
|
|
129
|
+
## Technical Artist
|
|
130
|
+
|
|
131
|
+
预期:
|
|
132
|
+
|
|
133
|
+
- 把资产 readiness、路径映射、生产 manifest、集成 blocker 做成可执行、可验证的信息。
|
|
134
|
+
- 每个生产文件声明都有磁盘证据。
|
|
135
|
+
- blocker 应说明原因和 owner,方便 orchestrator 路由。
|
|
136
|
+
|
|
137
|
+
不应当做:
|
|
138
|
+
|
|
139
|
+
- 设计 gameplay。
|
|
140
|
+
- 创作 style direction。
|
|
141
|
+
- 实现 runtime integration。
|
|
142
|
+
- 审最终 playable quality。
|
|
143
|
+
|
|
144
|
+
skill 覆盖与时机:
|
|
145
|
+
|
|
146
|
+
- `playcraft-image-ops`:当派发 crop、resize、trim、overlay、convert 等本地图像处理时使用。合格表现是按 extract / process / transform / compose / verify 阶段记录输入输出。
|
|
147
|
+
- `playcraft-masking`:当派发去背、分割、蒙版或从 MC / ASR 提取对象时使用。合格表现是能区分 ASR 网格优先 crop、复杂对象用 segment、纯色背景用 floodfill。
|
|
148
|
+
- `playcraft-sprite-sheet`:当派发图集或动画帧合并时使用。合格表现是输出 PNG (Portable Network Graphics, 便携式网络图形) / JSON (JavaScript Object Notation, JavaScript 对象表示法) 坐标元数据,并记录 frame 尺寸、列数和 key。
|
|
149
|
+
- `playcraft-batch-pipeline`:当派发批量处理时使用。合格表现是根据是否有 AI 生成、是否需要并发、是否需要 assemble 选择 Node.js script、batch 或 pipeline。
|
|
150
|
+
- `playcraft-vfx-animation`:当派发反馈特效或动画精灵图时使用。合格表现是按游戏事件选择 VFX (Visual Effects, 视觉特效) / animate 预设,并控制帧数、体积和记录。
|
|
151
|
+
- `playcraft-style-qa`:当派发风格一致性检查或微批次验证时使用。合格表现是先解释 style intent,低信心时提问,微批次低分时停止而不是批量扩散错误。
|
|
152
|
+
- `ta-atlas-deliverable-standard`:当派发 runtime atlas / manifest readiness 时使用。合格表现是 WebP (Web Picture format, 网络图片格式) / JSON sidecar、透明通道、深色背景验证和 atlas coverage 都有证据。
|
|
153
|
+
- 使用工具后应记录输入、输出路径、验证结果和 blocker owner。
|
|
154
|
+
|
|
155
|
+
## Reviewer
|
|
156
|
+
|
|
157
|
+
预期:
|
|
158
|
+
|
|
159
|
+
- 只审证据,不生产证据。
|
|
160
|
+
- 独立读取 artifact、validate result、recording、代码引用或视觉证据,不继承生产者口头结论。
|
|
161
|
+
- verdict 必须映射 acceptance,每个 fail 都有责任归属。
|
|
162
|
+
- 缺证据就是 fail 或 blocked。
|
|
163
|
+
|
|
164
|
+
不应当做:
|
|
165
|
+
|
|
166
|
+
- 修改 game code。
|
|
167
|
+
- 生成或替换 assets。
|
|
168
|
+
- 重写 design intent。
|
|
169
|
+
- 只凭观感 pass。
|
|
170
|
+
|
|
171
|
+
skill 覆盖与时机:
|
|
172
|
+
|
|
173
|
+
- review / validation 相关 skill:当 dispatch 要求审 evidence package 或视频语义时使用。
|
|
174
|
+
- 不主动发明验证路径;除非 dispatch 要求复现,否则只审已给证据。
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Design Brief Quality Standard
|
|
2
|
+
|
|
3
|
+
评价对象:`docs/design-brief.md`。
|
|
4
|
+
|
|
5
|
+
## 应当具备的特点
|
|
6
|
+
|
|
7
|
+
- 是过程记录,不是事后总结。
|
|
8
|
+
- 有 discovery、brainstorm、confirmed decisions、rejected variants 或 open assumptions 中的必要信息。
|
|
9
|
+
- 关键判断带来源标记,如 `[WEB]`、`[SKILL]`、`[USER]`、`[AGENT]`。
|
|
10
|
+
- 用户问题记录能说明选项、推荐项和影响。
|
|
11
|
+
- 能看出为什么最终方向比备选方向更适合 playable ad。
|
|
12
|
+
|
|
13
|
+
## 不应当具备的特点
|
|
14
|
+
|
|
15
|
+
- 只有最终结论,没有探索路径。
|
|
16
|
+
- 把未确认假设写成 confirmed。
|
|
17
|
+
- 把 flow state、handoff、gate 状态写进 brief。
|
|
18
|
+
- 记录大量实现细节,但没有玩家意图和玩法取舍。
|
|
19
|
+
- 这里应该只记录原始的信息 & 决策,不应包含太多的思考细节
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Design Quality Standard
|
|
2
|
+
|
|
3
|
+
评价对象:`docs/design.md`。
|
|
4
|
+
|
|
5
|
+
## 应当具备的特点
|
|
6
|
+
|
|
7
|
+
- 交互流程详尽准确
|
|
8
|
+
- 玩法的核心规则准确完善
|
|
9
|
+
- 有涉及玩法的完整性/乐趣其来源点。其可能会设计地图设计、关卡设计、概念包装等
|
|
10
|
+
- 玩法的流程应当是完整的,有明确的成功失败规则
|
|
11
|
+
- 有关键启发的atom披露/约定俗成的关键字(如有的话)
|
|
12
|
+
- 对于多玩法有单独的思考设计,有其关联的设计
|
|
13
|
+
|
|
14
|
+
## 不应当具备的特点
|
|
15
|
+
|
|
16
|
+
- 描述过于细节
|
|
17
|
+
- 地图等信息就只是自己去发散而没参考atomskill里面的信息
|
|
18
|
+
- 出现代码文件树、类名、函数签名、事件 payload 或 engine 初始化。
|
|
19
|
+
- 只描述主题和美术,没有交互闭环。
|
|
20
|
+
- 写入未确认的包装、CTA (Call To Action, 行动召唤)、复杂关卡或视觉终稿。
|
|
21
|
+
- 成功/失败条件模糊,导致下游只能猜。
|
|
22
|
+
- 写入的信息没价值,只是为了填充章节而写/标准里面有写而写
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Game Code Quality Standard
|
|
2
|
+
|
|
3
|
+
评价对象:`game/**` 和支撑运行的项目代码。
|
|
4
|
+
|
|
5
|
+
## 应当具备的特点
|
|
6
|
+
|
|
7
|
+
- 实现满足当前 dispatch 的 acceptance,并保持最小可玩闭环。
|
|
8
|
+
- 玩家可见规则、输入反馈、进度、成功失败状态与 `docs/design.md` 一致。
|
|
9
|
+
- 事件、payload、状态流、资产链路 source -> preload -> display 闭合。
|
|
10
|
+
- 有合理的设计 & 拆分,不是一个脚本硬撸
|
|
11
|
+
- 实现记录有记录dev log,其中包含了关键的决策
|
|
12
|
+
- 设计有复用其atom的设计的痕迹
|
|
13
|
+
- 复用 atom 时保留其关键 API (Application Programming Interface, 应用程序编程接口)、event、config、asset binding 或明确记录偏离原因。
|
|
14
|
+
- 复用atom, 但是并不是无脑引入而是了解 & 使用 & 修改,把它真的变成项目的一部份
|
|
15
|
+
- 自动演示入口、运行时合约和验证脚本所需 hook 不与核心玩法互相绕开。
|
|
16
|
+
- 有自动游玩的流程,并且这个是游离于系统之外的辅助脚本。没有侵入游戏基础的设计
|
|
17
|
+
- 代码改动和内容符合当前的设计需求,或完善于设计。但是没有引入其他无关的系统
|
|
18
|
+
- 资产都被正常加载进来了
|
|
19
|
+
- 使用atom提供的图/placeholder来生成图使用,而不是直接图形绘制
|
|
20
|
+
|
|
21
|
+
## 不应当具备的特点
|
|
22
|
+
|
|
23
|
+
- 为通过 verifier 而 fake success,但玩家闭环不可达。
|
|
24
|
+
- 重写未读过的 scaffold 或现有模块,导致已有契约丢失。
|
|
25
|
+
- scaffole进来的代码。但是其直接是孤儿
|
|
26
|
+
- scaffold进来了之后,发现其不适合并不删除而是强行写
|
|
27
|
+
- 未能理解原设计,没了解其参数,直接无脑写进去
|
|
28
|
+
- 玩法语义被实现便利性改写。
|
|
29
|
+
- 资产路径、帧名、事件名靠猜测接线。
|
|
30
|
+
- debug / autoplay 代码污染发布路径且没有可关闭配置。
|
|
31
|
+
|
|
32
|
+
## 可接受证据
|
|
33
|
+
|
|
34
|
+
- 对应 verifier 通过,并能回链到 dispatch acceptance。
|
|
35
|
+
- 关键 runtime 状态可通过自动演示或录制证据观察到。
|
|
36
|
+
- 代码引用能证明设计承诺实际被使用,不是只写在文档中。
|
|
37
|
+
|
|
38
|
+
## 常见低质量信号
|
|
39
|
+
|
|
40
|
+
- build 能过,但 first win、contract 或手动运行无法到达核心成功状态。
|
|
41
|
+
- 多玩法设计存在,但源码只有其中一条玩法路径。
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Todo List Quality Standard
|
|
2
|
+
|
|
3
|
+
评价对象:`docs/todo_list.md` 与机器态 todo 池的一致性。`docs/todo_list.md` 是任务卡质量载体,机器态 todo 是派发与状态载体;任务消费者通过 dispatch view 读取机器态 todo 镜像出的完整任务切片语义。
|
|
4
|
+
|
|
5
|
+
## 应当具备的特点
|
|
6
|
+
|
|
7
|
+
- 每个 todo 是一个可独立交付的玩法子任务,不是整局游戏或函数级琐事
|
|
8
|
+
- 每个 todo 都有同名任务卡,并包含 Goal、Scope、Skill Use、Context Reuse、Acceptance、Verifier
|
|
9
|
+
- Reuse Contract 说明选用 atom 的复用等级、关键 API (Application Programming Interface, 应用程序编程接口) / event / config / asset binding
|
|
10
|
+
- 其引用的 atom skill 对当前 todo 真的有价值
|
|
11
|
+
- 有说清楚引用的 atom skill 的价值
|
|
12
|
+
- 如 todo 标记上下文可复用,必须包含稳定 `contextReuse` key、可沿用的 shared context、必须重新读取的内容和失效条件
|
|
13
|
+
- 每个机器态 todo 都有 `title` / `goal` / `context` / `acceptance` / `verifier` / `requiredContext`;其中 `context` 必须镜像 `docs/todo_list.md#todo-<id>` 任务卡的关键语义
|
|
14
|
+
- `state:get -- --json dispatch` 能展开 active todo 的完整 `context`,让下游 agent 读到 context 阶段生产的任务切片语义
|
|
15
|
+
- todo做完应该完整可验证
|
|
16
|
+
- acceptance 可验证,能由 verifier、运行时观察或明确证据判断完成
|
|
17
|
+
- todo 池机器态与文档任务卡语义一致,不会一边写 A、一边派发 B
|
|
18
|
+
|
|
19
|
+
## 不应当具备的特点
|
|
20
|
+
|
|
21
|
+
- 一个 todo 覆盖整场游戏,或拆到“改某个函数”这种没有玩家可感知闭环的粒度。
|
|
22
|
+
- 一个 todo 的点过于详细,无法验证/其偶合度非常高可以一起做
|
|
23
|
+
- acceptance 是“优化体验”“完善功能”等无法判断通过的描述。
|
|
24
|
+
- 缺少任务卡全文,只在机器态里放一句摘要。
|
|
25
|
+
- 机器态 todo 的 `context` 没有镜像任务卡关键语义,导致 dispatch 展开后仍然信息不足。
|
|
26
|
+
- 引入 `docs/design.md` 未确认的玩法
|
|
27
|
+
- 复用结论只写 atom 名,没有说明必须保留的接口、事件、资产或约束。
|
|
28
|
+
- 标记 context reuse 但没有说明哪些上下文可复用、哪些内容必须重读、何时失效。
|
|
29
|
+
|
|
30
|
+
## 可接受证据
|
|
31
|
+
|
|
32
|
+
- 每个 todo 能被 dispatch 精确引用,且 dispatch view 能展开该 todo 的完整 `context`。
|
|
33
|
+
- todo 池非空且覆盖本迭代所有玩法子任务。
|
|
34
|
+
- 每个 todo 的 verifier 与 acceptance 能对应上。
|
|
35
|
+
- `docs/todo_list.md` 中每个 todo 都有同名任务卡;机器态 todo `context` 与该任务卡语义一致。
|
|
36
|
+
|
|
37
|
+
## 常见低质量信号
|
|
38
|
+
|
|
39
|
+
- downstream developer 只靠猜测才能知道该读哪个设计章节或 atom ref。
|
|
40
|
+
- 多个 todo 共享大段 ref 但没有标复用,或标了复用却没有写清 must-re-read / invalidatesWhen,导致调度者无法安全 `sendMessage` 续派。
|
|
41
|
+
- 任务卡里的边界为空,导致 generate 阶段顺手做了后续迭代内容。
|