33[ Chinese version] ( CONTRIBUTING_zh-CN.md )
44
55Contributions are welcome. Keep the package independent of agent frameworks,
6- production databases , downloaders, and media providers.
6+ production data stores , downloaders, and media providers.
77
88## Development setup
99
@@ -13,21 +13,22 @@ python -m pip install -e ".[dev]"
1313python tests/run.py fast
1414```
1515
16- The fast gate is the normal inner loop and has a three-second target. Run
17- ` python tests/run.py list ` before choosing a Blender profile.
16+ The ` fast ` gate is the normal development loop and is designed to finish within
17+ three seconds. Run ` python tests/run.py list ` before selecting a Blender
18+ profile.
1819
1920## Where a change belongs
2021
2122- Public API and collaboration policy: ` src/blender_vse/api.py `
2223- Operation names and classification: ` src/blender_vse/catalog.py `
23- - Fixed bpy templates: ` src/blender_vse/blender/vse_ops.py `
24+ - Fixed ` bpy ` operation templates: ` src/blender_vse/blender/vse_ops.py `
2425- Execution and session policy: ` src/blender_vse/blender/runner.py ` and
2526 ` live_session.py `
26- - Serialized contracts: ` src/blender_vse/schemas `
27+ - Serialized data contracts: ` src/blender_vse/schemas `
2728- Context views and budgets: ` src/blender_vse/context.py ` and
2829 ` context-policy.json `
29- - Compaction capsule construction : ` src/blender_vse/resume.py `
30- - MCP tool and authorization boundary : ` src/blender_vse/mcp `
30+ - Context-compaction capsules : ` src/blender_vse/resume.py `
31+ - MCP tools and authorization boundaries : ` src/blender_vse/mcp `
3132- Agent workflow and generated command index: ` skills/blender-vse `
3233- Local plugin metadata and launch contract: ` .codex-plugin/plugin.json ` and
3334 ` .mcp.json `
@@ -38,32 +39,33 @@ The fast gate is the normal inner loop and has a three-second target. Run
3839
3940## Change checklist
4041
41- 1 . Add a focused unit or contract regression first .
42- 2 . Keep new bpy operations fixed and type/ JSON encoded; never expose arbitrary
43- Python.
44- 3 . Register each public operation in exactly one catalog family and update the
45- edit-command Schema .
46- 4 . Keep bounded read output within the machine-readable context policy; never
47- introduce a zero-progress cursor.
48- 5 . Add real Blender coverage only where a host-side test cannot prove behavior.
49- 6 . Keep the public smoke profile small; register broader scripts in
50- ` blender-full ` .
42+ 1 . Start with a focused unit or contract regression test .
43+ 2 . Keep new ` bpy ` operations fixed, typed, and JSON- encoded; never expose
44+ arbitrary Python.
45+ 3 . Register every public operation in exactly one catalog family, and update
46+ the edit-command schema .
47+ 4 . Keep bounded- read output within the machine-readable context policy, and
48+ never introduce a cursor that makes no progress .
49+ 5 . Add coverage against real Blender only when a host-side test cannot establish
50+ the behavior.
51+ 6 . Keep the public smoke profile small; put broader scripts in ` blender-full ` .
51527 . Run ` python tests/run.py fast ` and ` python tests/run.py coverage ` .
52- 8 . After command-signature changes , run
53+ 8 . After changing a command signature , run
5354 ` python skills/blender-vse/scripts/generate_command_index.py ` and commit the
5455 generated index.
55- 9 . Update public docs and ` CHANGELOG.md ` when behavior changes.
56+ 9 . When behavior changes, update the public documentation and both
57+ ` CHANGELOG.md ` and ` CHANGELOG_zh-CN.md ` .
5658
57- Changes to plugin metadata or the stdio launch command must also run
58- ` python tests/run.py plugin ` and the active Codex installation's bundled
59- ` plugin-creator ` validator .
59+ Changes to plugin metadata or the stdio launch command also require
60+ ` python tests/run.py plugin ` and the ` plugin-creator ` validator bundled with the
61+ active Codex installation .
6062
6163Changes to context budgets, compaction state, observation transitions, or Skill
62- recovery rules must run ` python tests/run.py stateful ` and update the model-ready
63- scenario corpus when behavior intentionally changes .
64+ recovery rules require ` python tests/run.py stateful ` . If behavior changes
65+ intentionally, update the model-ready scenario corpus as well .
6466
65- Pull requests that touch session identity, persistence, checkpoint restore,
66- proxy validation, or direct-mutation policy should also run
67+ Pull requests that affect session identity, persistence, checkpoint restore,
68+ proxy validation, or the direct-mutation policy should also run
6769` python tests/run.py blender-smoke ` on a visible desktop Blender installation.
6870
6971See [ Testing] ( docs/testing.md ) for profile boundaries and safety rules.
0 commit comments