codexspec 0.7.14__tar.gz → 0.7.16__tar.gz

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.
Files changed (77) hide show
  1. {codexspec-0.7.14 → codexspec-0.7.16}/PKG-INFO +1 -1
  2. {codexspec-0.7.14 → codexspec-0.7.16}/pyproject.toml +1 -1
  3. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/__init__.py +3 -3
  4. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/analyze.md +11 -0
  5. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/auto-dev.md +11 -0
  6. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/blueprint.md +11 -0
  7. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/checklist.md +11 -0
  8. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/clarify.md +11 -0
  9. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/commit-staged.md +11 -0
  10. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/config.md +11 -0
  11. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/constitution.md +11 -0
  12. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/debug.md +11 -0
  13. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/distill.md +18 -7
  14. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/evolve.md +11 -0
  15. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/generate-spec.md +11 -0
  16. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/implement-tasks.md +11 -0
  17. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/onboard.md +12 -1
  18. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/plan-to-tasks.md +11 -0
  19. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/pr.md +11 -0
  20. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/quick.md +11 -0
  21. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/release-notes.md +11 -0
  22. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/reverse-spec.md +11 -0
  23. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/review-code.md +11 -0
  24. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/review-design.md +11 -0
  25. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/review-plan.md +11 -0
  26. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/review-spec.md +11 -0
  27. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/review-tasks.md +11 -0
  28. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/spec-to-design.md +11 -0
  29. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/spec-to-plan.md +11 -0
  30. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/specify.md +11 -0
  31. {codexspec-0.7.14 → codexspec-0.7.16}/templates/commands/tasks-to-issues.md +11 -0
  32. {codexspec-0.7.14 → codexspec-0.7.16}/.gitignore +0 -0
  33. {codexspec-0.7.14 → codexspec-0.7.16}/LICENSE +0 -0
  34. {codexspec-0.7.14 → codexspec-0.7.16}/README.md +0 -0
  35. {codexspec-0.7.14 → codexspec-0.7.16}/codexspec-icon.svg +0 -0
  36. {codexspec-0.7.14 → codexspec-0.7.16}/codexspec-logo-dark.svg +0 -0
  37. {codexspec-0.7.14 → codexspec-0.7.16}/codexspec-logo-light.svg +0 -0
  38. {codexspec-0.7.14 → codexspec-0.7.16}/scripts/bash/check-i18n-completeness.sh +0 -0
  39. {codexspec-0.7.14 → codexspec-0.7.16}/scripts/bash/check-i18n-structure.sh +0 -0
  40. {codexspec-0.7.14 → codexspec-0.7.16}/scripts/bash/check-prerequisites.sh +0 -0
  41. {codexspec-0.7.14 → codexspec-0.7.16}/scripts/bash/common.sh +0 -0
  42. {codexspec-0.7.14 → codexspec-0.7.16}/scripts/bash/create-new-feature.sh +0 -0
  43. {codexspec-0.7.14 → codexspec-0.7.16}/scripts/bash/review-context.sh +0 -0
  44. {codexspec-0.7.14 → codexspec-0.7.16}/scripts/powershell/check-prerequisites.ps1 +0 -0
  45. {codexspec-0.7.14 → codexspec-0.7.16}/scripts/powershell/common.ps1 +0 -0
  46. {codexspec-0.7.14 → codexspec-0.7.16}/scripts/powershell/create-new-feature.ps1 +0 -0
  47. {codexspec-0.7.14 → codexspec-0.7.16}/scripts/powershell/review-context.ps1 +0 -0
  48. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/automation.py +0 -0
  49. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/blueprint.py +0 -0
  50. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/commands/__init__.py +0 -0
  51. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/commands/installer.py +0 -0
  52. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/i18n.py +0 -0
  53. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/idea.md +0 -0
  54. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/integrations/__init__.py +0 -0
  55. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/integrations/base.py +0 -0
  56. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/integrations/claude.py +0 -0
  57. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/integrations/codex.py +0 -0
  58. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/profile.py +0 -0
  59. {codexspec-0.7.14 → codexspec-0.7.16}/src/codexspec/translator.py +0 -0
  60. {codexspec-0.7.14 → codexspec-0.7.16}/templates/docs/checklist-template.md +0 -0
  61. {codexspec-0.7.14 → codexspec-0.7.16}/templates/docs/constitution-template.md +0 -0
  62. {codexspec-0.7.14 → codexspec-0.7.16}/templates/docs/design-template.md +0 -0
  63. {codexspec-0.7.14 → codexspec-0.7.16}/templates/docs/plan-template-detailed.md +0 -0
  64. {codexspec-0.7.14 → codexspec-0.7.16}/templates/docs/plan-template-simple.md +0 -0
  65. {codexspec-0.7.14 → codexspec-0.7.16}/templates/docs/requirements-template.md +0 -0
  66. {codexspec-0.7.14 → codexspec-0.7.16}/templates/docs/spec-template-detailed.md +0 -0
  67. {codexspec-0.7.14 → codexspec-0.7.16}/templates/docs/spec-template-simple.md +0 -0
  68. {codexspec-0.7.14 → codexspec-0.7.16}/templates/docs/tasks-template-detailed.md +0 -0
  69. {codexspec-0.7.14 → codexspec-0.7.16}/templates/docs/tasks-template-simple.md +0 -0
  70. {codexspec-0.7.14 → codexspec-0.7.16}/templates/translations/de.json +0 -0
  71. {codexspec-0.7.14 → codexspec-0.7.16}/templates/translations/en.json +0 -0
  72. {codexspec-0.7.14 → codexspec-0.7.16}/templates/translations/es.json +0 -0
  73. {codexspec-0.7.14 → codexspec-0.7.16}/templates/translations/fr.json +0 -0
  74. {codexspec-0.7.14 → codexspec-0.7.16}/templates/translations/ja.json +0 -0
  75. {codexspec-0.7.14 → codexspec-0.7.16}/templates/translations/ko.json +0 -0
  76. {codexspec-0.7.14 → codexspec-0.7.16}/templates/translations/pt-BR.json +0 -0
  77. {codexspec-0.7.14 → codexspec-0.7.16}/templates/translations/zh-CN.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: codexspec
3
- Version: 0.7.14
3
+ Version: 0.7.16
4
4
  Summary: CodexSpec - A Requirements-First SDD toolkit for Claude Code
5
5
  Project-URL: Homepage, https://github.com/Zts0hg/codexspec
6
6
  Project-URL: Repository, https://github.com/Zts0hg/codexspec
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "codexspec"
3
- version = "0.7.14"
3
+ version = "0.7.16"
4
4
  description = "CodexSpec - A Requirements-First SDD toolkit for Claude Code"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -58,7 +58,7 @@ from .profile import ensure_profile_scaffold, inject_profile_block
58
58
  from .translator import SUPPORTED_LANGUAGES, translate
59
59
 
60
60
  # Version info
61
- __version__ = "0.7.14"
61
+ __version__ = "0.7.16"
62
62
  __author__ = "CodexSpec Team"
63
63
 
64
64
  # Constitution file path constants
@@ -895,7 +895,7 @@ def init(
895
895
  if ps_scripts.exists():
896
896
  for script_file in ps_scripts.glob("*.ps1"):
897
897
  dest_file = codexspec_dir / "scripts" / script_file.name
898
- dest_file.write_text(script_file.read_text(encoding="utf-8"), encoding="utf-8")
898
+ dest_file.write_bytes(script_file.read_bytes())
899
899
  console.print(f"[green]Copied script:[/green] {script_file.name}")
900
900
  else:
901
901
  console.print("[yellow]Warning: PowerShell scripts directory not found[/yellow]")
@@ -905,7 +905,7 @@ def init(
905
905
  if bash_scripts.exists():
906
906
  for script_file in bash_scripts.glob("*.sh"):
907
907
  dest_file = codexspec_dir / "scripts" / script_file.name
908
- dest_file.write_text(script_file.read_text(encoding="utf-8"), encoding="utf-8")
908
+ dest_file.write_bytes(script_file.read_bytes())
909
909
  console.print(f"[green]Copied script:[/green] {script_file.name}")
910
910
  else:
911
911
  console.print("[yellow]Warning: Bash scripts directory not found[/yellow]")
@@ -14,6 +14,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
14
14
 
15
15
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
16
16
 
17
+ ## Expression Standard
18
+
19
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
20
+
21
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
22
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
23
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
24
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
25
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
26
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
27
+
17
28
  ## User Input
18
29
 
19
30
  `$ARGUMENTS`
@@ -10,6 +10,17 @@ argument-hint: ""
10
10
  Read `.codexspec/config.yml`. Converse in `language.interaction` and author SDD artifacts in
11
11
  `language.document`, each falling back to `language.output`, then English.
12
12
 
13
+ ## Expression Standard
14
+
15
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
16
+
17
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
18
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
19
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
20
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
21
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
22
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
23
+
13
24
  ## Goal
14
25
 
15
26
  Continuously run the complete Requirements-First SDD flow for the shared blueprint in document
@@ -16,6 +16,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
16
16
  Converse in the interaction language and author requirement content in the document language. Use
17
17
  clear, standard software-development terminology; do not invent abbreviations to summarize concepts.
18
18
 
19
+ ## Expression Standard
20
+
21
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
22
+
23
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
24
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
25
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
26
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
27
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
28
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
29
+
19
30
  ## User Input
20
31
 
21
32
  `$ARGUMENTS`
@@ -27,6 +27,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
27
27
 
28
28
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
29
29
 
30
+ ## Expression Standard
31
+
32
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
33
+
34
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
35
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
36
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
37
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
38
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
39
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
40
+
30
41
  ## Checklist Purpose: "Unit Tests for Requirements"
31
42
 
32
43
  **CRITICAL CONCEPT**: Checklists are **UNIT TESTS FOR REQUIREMENTS WRITING** - they validate the quality, clarity, and completeness of requirements.
@@ -14,6 +14,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
14
14
 
15
15
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
16
16
 
17
+ ## Expression Standard
18
+
19
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
20
+
21
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
22
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
23
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
24
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
25
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
26
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
27
+
17
28
  ## User Input
18
29
 
19
30
  `$ARGUMENTS`
@@ -64,6 +64,17 @@ forbidden-tools: Bash(git add:*), Bash(git reset:*), Bash(git checkout:*), Bash(
64
64
  - Only the description part should use the configured language
65
65
  - Technical terms (e.g., API, JWT, OAuth) may remain in English when appropriate
66
66
 
67
+ ## Expression Standard
68
+
69
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
70
+
71
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
72
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
73
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
74
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
75
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
76
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
77
+
67
78
  ## Parameter Check
68
79
 
69
80
  Check if `$ARGUMENTS` contains `-p`:
@@ -16,6 +16,17 @@ Converse in the interaction language and author artifacts in the document langua
16
16
 
17
17
  A fresh or reset config writes only `output`; `interaction` and `document` resolve to it via the fallback above, so an `output`-only config is fully functional (non-blocking). Set `interaction` or `document` individually only to make them differ from `output`. That is why the YAML examples below stay `output`-only.
18
18
 
19
+ ## Expression Standard
20
+
21
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
22
+
23
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
24
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
25
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
26
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
27
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
28
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
29
+
19
30
  ## Parameter Check
20
31
 
21
32
  Check if `$ARGUMENTS` contains `--view`:
@@ -30,6 +30,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
30
30
 
31
31
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
32
32
 
33
+ ## Expression Standard
34
+
35
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
36
+
37
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
38
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
39
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
40
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
41
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
42
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
43
+
33
44
  ## User Input
34
45
 
35
46
  ```text
@@ -15,6 +15,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
15
15
 
16
16
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
17
17
 
18
+ ## Expression Standard
19
+
20
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
21
+
22
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
23
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
24
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
25
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
26
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
27
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
28
+
18
29
  ## User Input
19
30
 
20
31
  `$ARGUMENTS`
@@ -14,6 +14,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
14
14
 
15
15
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language. **Exception**: `evidence.facts` quotes the user's original words verbatim and MUST NOT be translated.
16
16
 
17
+ ## Expression Standard
18
+
19
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
20
+
21
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
22
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
23
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
24
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
25
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
26
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
27
+
17
28
  ## User Input
18
29
 
19
30
  `$ARGUMENTS`
@@ -44,7 +55,7 @@ Apply this boundary test to every candidate: **"Would a single feature's `requir
44
55
 
45
56
  ## The profile store: `.codexspec/profile/`
46
57
 
47
- Six **category directories**, each holding **one record per file** (`<id>.md`) with **only current-effective** knowledge — dense, with no "retired" section (git history is the ledger). One-file-per-record is deliberate: parallel feature branches each add differently-named files, so distilled knowledge merges without conflict. Create the directory and record file on first write.
58
+ Six **category directories**, each holding **one record per file** (`<id>.md`, or `<id>-<slug>.md` — see the `id` rule below) with **only current-effective** knowledge — dense, with no "retired" section (git history is the ledger). One-file-per-record is deliberate: parallel feature branches each add differently-named files, so distilled knowledge merges without conflict. Create the directory and record file on first write.
48
59
 
49
60
  - `constraints/` — negative constraints (`严禁 / 仅允许`). These carry the **highest** weight and MUST be honored first.
50
61
  - `conventions/` — positive cross-feature conventions / steering.
@@ -59,7 +70,7 @@ There is **no** `facts/` category — a bare fact with no "therefore do X" is ei
59
70
 
60
71
  Every record MUST separate the distilled claim from the evidence it rests on:
61
72
 
62
- - `id` — **type letter + full source-feature id + local sequence**, e.g. `P-2026-0812-14054p-1` or `Con-2026-0812-14054p-1`. It is **both** the record's `### <id>: <title>` heading **and its filename** (`pitfalls/P-2026-0812-14054p-1.md`). The **source-feature id** is the distilling feature's full spec-dir id `{YYYY-MMDD-HHMM}{rr}` (e.g. `2026-0812-14054p`); it is globally unique by the timestamp+random scheme spec directories use, so records distilled on parallel feature branches never collide on id **or filename** (they merge with no conflict). Keep the **full** id (not a short tail) so the record is self-describing: the date supports recency/staleness reading, and the feature id ties the record to its originating change for decision context and scope. When distilling with no feature context, generate a fresh `{YYYY-MMDD-HHMM}{rr}` id now (same convention as create-new-feature). **Never** use a bare sequential id such as `P-001` — those collide across parallel branches.
73
+ - `id` — **type letter + full source-feature id + local sequence**, e.g. `P-2026-0812-14054p-1` or `Con-2026-0812-14054p-1`. The `### <id>: <title>` heading keeps the bare id; the **filename** is `<id>-<slug>.md`, where the **slug** is a semantic suffix derived from the record title: lowercase ASCII letters and digits with hyphens as separators (`^[a-z0-9]+(-[a-z0-9]+)*$`, no leading/trailing hyphen), at most 50 characters, rendered in English when the title is not ASCII. When no meaningful slug can be derived, write the legacy bare form `<id>.md` — both forms are valid store members. The slug never enters the id, the heading, or `[[id]]` links, and never participates in uniqueness. Locating a record from its id stays mechanical: the record's file is exactly the one named `<id>.md` or the one named `<id>-<slug>.md`; because the slug admits only `[a-z0-9-]`, no other filename can begin with `<id>` followed by `-` or `.`, so a lookup by id is unambiguous even when one sequence number is a digit-prefix of another. The **source-feature id** is the distilling feature's full spec-dir id `{YYYY-MMDD-HHMM}{rr}` (e.g. `2026-0812-14054p`); it is globally unique by the timestamp+random scheme spec directories use, so records distilled on parallel feature branches never collide on id **or filename** (they merge with no conflict) — uniqueness is carried entirely by the id. Keep the **full** id (not a short tail) so the record is self-describing: the date supports recency/staleness reading, and the feature id ties the record to its originating change for decision context and scope. When distilling with no feature context, generate a fresh `{YYYY-MMDD-HHMM}{rr}` id now (same convention as create-new-feature). **Never** use a bare sequential id such as `P-001` — those collide across parallel branches.
63
74
  - `claim` — one-sentence reusable **summary** (a title line, not the actionable body — for a `pitfall` the usable content lives in the three body parts below, not in this sentence).
64
75
  - `type` — `convention` | `constraint` | `pitfall` | `decision` | `strategy` | `runbook` (`constraint` = highest priority).
65
76
  - `scope/when` — natural-language applicability condition (e.g. "when editing Python code"); omit for global. **No formal syntax.**
@@ -94,7 +105,7 @@ If you cannot state these parts, the strategy or runbook is not yet worth record
94
105
 
95
106
  This separation is what makes a later error locatable as **misread** (facts wrong) vs **overreach** (claim over-generalized) vs **stale** (state no longer holds).
96
107
 
97
- Example — a `convention` (claim + evidence is enough), file `conventions/Con-2026-0809-2219gg-1.md`:
108
+ Example — a `convention` (claim + evidence is enough), file `conventions/Con-2026-0809-2219gg-1-prefer-absolute-imports.md`:
98
109
 
99
110
  ```markdown
100
111
  ### Con-2026-0809-2219gg-1: Prefer absolute imports
@@ -107,7 +118,7 @@ Example — a `convention` (claim + evidence is enough), file `conventions/Con-2
107
118
  - status: vetted
108
119
  ```
109
120
 
110
- Example — a `pitfall` (note the required `root-cause` / `workaround` / `lesson` body), file `pitfalls/P-2026-0810-1330ab-1.md`:
121
+ Example — a `pitfall` (note the required `root-cause` / `workaround` / `lesson` body), file `pitfalls/P-2026-0810-1330ab-1-re-sub-string-replacement-corruption.md`:
111
122
 
112
123
  ```markdown
113
124
  ### P-2026-0810-1330ab-1: `re.sub` with a string replacement corrupts blocks containing backslashes
@@ -123,7 +134,7 @@ Example — a `pitfall` (note the required `root-cause` / `workaround` / `lesson
123
134
  - status: candidate
124
135
  ```
125
136
 
126
- Example — a `strategy` (note the `trigger` / `action` body), file `strategies/S-2026-0813-1606fz-1.md`:
137
+ Example — a `strategy` (note the `trigger` / `action` body), file `strategies/S-2026-0813-1606fz-1-suspect-markdown-emphasis-first.md`:
127
138
 
128
139
  ```markdown
129
140
  ### S-2026-0813-1606fz-1: When a substring contract test fails, suspect markdown emphasis first
@@ -138,7 +149,7 @@ Example — a `strategy` (note the `trigger` / `action` body), file `strategies/
138
149
  - status: candidate
139
150
  ```
140
151
 
141
- Example — a `runbook` (note the ordered `steps` + `failure-recovery` body), file `runbooks/R-2026-0813-1143el-1.md`:
152
+ Example — a `runbook` (note the ordered `steps` + `failure-recovery` body), file `runbooks/R-2026-0813-1143el-1-release-a-new-codexspec-version.md`:
142
153
 
143
154
  ```markdown
144
155
  ### R-2026-0813-1143el-1: Release a new CodexSpec version
@@ -180,7 +191,7 @@ When a new item conflicts with an existing rule, resolve in this order:
180
191
 
181
192
  Change the profile **only** through three conceptual operations (you edit the files directly — these are a discipline, **not** a tool API or matching algorithm):
182
193
 
183
- - `add` — create a new record file `<category>/<id>.md` for a verified item.
194
+ - `add` — create a new record file `<category>/<id>-<slug>.md` (bare `<category>/<id>.md` when no meaningful slug applies) for a verified item.
184
195
  - `replace` — supersede an outdated/wrong item **in its own file** (keeps records dense).
185
196
  - `remove` — delete the record's file when a changed environment invalidates it.
186
197
 
@@ -14,6 +14,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
14
14
 
15
15
  Converse in the interaction language. **The compiled command/skill draft is a distributed template and MUST be authored in English** (project i18n convention), regardless of `language.document`. PR title/body follow `language.commit`.
16
16
 
17
+ ## Expression Standard
18
+
19
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
20
+
21
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
22
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
23
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
24
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
25
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
26
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
27
+
17
28
  ## User Input
18
29
 
19
30
  `$ARGUMENTS`
@@ -17,6 +17,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
17
17
 
18
18
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
19
19
 
20
+ ## Expression Standard
21
+
22
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
23
+
24
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
25
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
26
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
27
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
28
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
29
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
30
+
20
31
  ## User Input
21
32
 
22
33
  `$ARGUMENTS`
@@ -17,6 +17,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
17
17
 
18
18
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
19
19
 
20
+ ## Expression Standard
21
+
22
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
23
+
24
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
25
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
26
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
27
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
28
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
29
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
30
+
20
31
  ## Feature Resolution
21
32
 
22
33
  Resolve the feature in this order:
@@ -15,6 +15,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
15
15
 
16
16
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language. **Exception**: `evidence.facts` records a verbatim code observation (path + snippet) and MUST NOT be translated.
17
17
 
18
+ ## Expression Standard
19
+
20
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
21
+
22
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
23
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
24
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
25
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
26
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
27
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
28
+
18
29
  ## User Input
19
30
 
20
31
  `$ARGUMENTS`
@@ -54,7 +65,7 @@ onboard **never** extracts `decisions`, `pitfalls`, `strategies`, or `runbooks`.
54
65
 
55
66
  ## Record Format
56
67
 
57
- onboard **reuses `distill`'s profile store and record format verbatim** — one record per file under a category directory (`conventions/<id>.md`, `constraints/<id>.md`), ids namespaced by the source-feature id, and `claim` physically separated from `evidence`. See `distill.md` for the canonical format. onboard writes with these **deltas**:
68
+ onboard **reuses `distill`'s profile store and record format verbatim** — one record per file under a category directory (`conventions/<id>-<slug>.md`, `constraints/<id>-<slug>.md`; bare `<id>.md` when no meaningful slug applies), ids namespaced by the source-feature id, and `claim` physically separated from `evidence`. See `distill.md` for the canonical format. onboard writes with these **deltas**:
58
69
 
59
70
  - `provenance` marks the **onboard scan** as the source (distinct from `distill`), with `derivation: inferred` — always, because the knowledge is inferred from code, never quoted from the user.
60
71
  - An onboard record's `status` is always **`candidate`** at write time — onboard **never** writes `vetted` itself. Its `inferred` origin is **not** a permanent barrier: such a record can later be promoted to `vetted` via `/distill review` once it is outcome-verified and the user approves it (the `evolve` gate remains `vetted`). See the `status` rule in `distill.md`.
@@ -17,6 +17,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
17
17
 
18
18
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
19
19
 
20
+ ## Expression Standard
21
+
22
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
23
+
24
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
25
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
26
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
27
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
28
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
29
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
30
+
20
31
  ## User Input
21
32
 
22
33
  `$ARGUMENTS`
@@ -35,6 +35,17 @@ allowed-tools: Bash(git branch:*), Bash(git diff:*), Bash(git log:*), Bash(git r
35
35
  - `output: "zh-CN"` + `commit: "zh-CN"` → Chinese for both
36
36
  - `output: "zh-CN"` + no `commit` setting → Chinese for both (fallback)
37
37
 
38
+ ## Expression Standard
39
+
40
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
41
+
42
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
43
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
44
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
45
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
46
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
47
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
48
+
38
49
  ## User Input
39
50
 
40
51
  ```
@@ -14,6 +14,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
14
14
 
15
15
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
16
16
 
17
+ ## Expression Standard
18
+
19
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
20
+
21
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
22
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
23
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
24
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
25
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
26
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
27
+
17
28
  ## User Input
18
29
 
19
30
  `$ARGUMENTS`
@@ -30,6 +30,17 @@ allowed-tools: Bash(git branch:*), Bash(git tag:*), Bash(git describe:*), Bash(g
30
30
  - The `## [Unreleased]` / `## [X.Y.Z]` version markers and ISO dates are format, not prose — keep them
31
31
  as-is.
32
32
 
33
+ ## Expression Standard
34
+
35
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
36
+
37
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
38
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
39
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
40
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
41
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
42
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
43
+
33
44
  ## User Input
34
45
 
35
46
  ```
@@ -15,6 +15,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
15
15
 
16
16
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language. **Exception**: in `reconcile.md`, `location` and `evidence` quote the code and the baseline verbatim — path, line, and the quoted spans on both sides — and MUST NOT be translated. A translated quote can no longer be checked against its source, which is exactly what the both-side evidence rule exists to make possible. Verbatim does not mean secret-bearing: apply the global sensitive-value redaction rule under Instruction and Evidence Trust before persisting or briefing any observation.
17
17
 
18
+ ## Expression Standard
19
+
20
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
21
+
22
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
23
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
24
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
25
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
26
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
27
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
28
+
18
29
  ## User Input
19
30
 
20
31
  `$ARGUMENTS`
@@ -45,6 +45,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
45
45
 
46
46
  Write the human report in the interaction language. Keep result-envelope field names and enum values in English exactly as specified below.
47
47
 
48
+ ## Expression Standard
49
+
50
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
51
+
52
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
53
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
54
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
55
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
56
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
57
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
58
+
48
59
  ## User Input
49
60
 
50
61
  ```text
@@ -17,6 +17,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
17
17
 
18
18
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
19
19
 
20
+ ## Expression Standard
21
+
22
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
23
+
24
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
25
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
26
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
27
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
28
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
29
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
30
+
20
31
  ## User Input
21
32
 
22
33
  `$ARGUMENTS`
@@ -17,6 +17,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
17
17
 
18
18
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
19
19
 
20
+ ## Expression Standard
21
+
22
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
23
+
24
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
25
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
26
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
27
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
28
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
29
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
30
+
20
31
  ## User Input
21
32
 
22
33
  `$ARGUMENTS`
@@ -17,6 +17,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
17
17
 
18
18
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
19
19
 
20
+ ## Expression Standard
21
+
22
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
23
+
24
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
25
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
26
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
27
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
28
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
29
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
30
+
20
31
  ## User Input
21
32
 
22
33
  `$ARGUMENTS`
@@ -17,6 +17,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
17
17
 
18
18
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
19
19
 
20
+ ## Expression Standard
21
+
22
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
23
+
24
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
25
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
26
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
27
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
28
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
29
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
30
+
20
31
  ## User Input
21
32
 
22
33
  `$ARGUMENTS`
@@ -17,6 +17,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
17
17
 
18
18
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
19
19
 
20
+ ## Expression Standard
21
+
22
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
23
+
24
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
25
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
26
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
27
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
28
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
29
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
30
+
20
31
  ## User Input
21
32
 
22
33
  `$ARGUMENTS`
@@ -17,6 +17,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
17
17
 
18
18
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
19
19
 
20
+ ## Expression Standard
21
+
22
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
23
+
24
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
25
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
26
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
27
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
28
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
29
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
30
+
20
31
  ## User Input
21
32
 
22
33
  `$ARGUMENTS`
@@ -17,6 +17,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
17
17
 
18
18
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
19
19
 
20
+ ## Expression Standard
21
+
22
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
23
+
24
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
25
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
26
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
27
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
28
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
29
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
30
+
20
31
  ## User Input
21
32
 
22
33
  `$ARGUMENTS`
@@ -27,6 +27,17 @@ Read `.codexspec/config.yml`. Two independent language controls apply (each fall
27
27
 
28
28
  Converse in the interaction language and author artifacts in the document language. Apply the project's translation standard to both: translate by meaning (not word-for-word), keep English for terms with no good native equivalent, and write as if originally in that language.
29
29
 
30
+ ## Expression Standard
31
+
32
+ **IMPORTANT**: Everything this command produces — documents, reviews, reports, commit messages, diagnostics, and replies — is written for a reader who cannot see your working context. Apply the rules below to every artifact and message you output:
33
+
34
+ - **Write for the reader at hand-off.** Every reference must resolve without access to this session: no session-only identifiers or section numbers, no narration of what changed during the conversation, no arguments with absent reviewers. State current reality and cite committed, reachable sources.
35
+ - **Preserve every proposition.** Before summarizing or trimming, list the facts a passage carries: actors, conditions, ordering, modalities (must, never), negative guarantees, and consequences. Remove only reasoning transcripts, repetition, and decoration. Shorter is not clearer if any fact is lost.
36
+ - **State what the surface requires.** Diagnostics name what failed, which rule was violated, and the correction. Problem reports carry the defect, its location, its impact, and the evidence. Decisions record the alternatives they beat. Rejections give the reason in one line. Shipped work is described in the present tense; plans and open questions are labeled as such.
37
+ - **Define terms before relying on them.** Prefer the concrete rule, field, or behavior over a coined label; give a project-specific term a plain-language definition at first use, then use it consistently.
38
+ - **Be honest, not agreeable.** Verify claims before accepting them; fix or rebut on technical grounds. One substantiated blocker is worth more than a list of nitpicks. When a decision is needed, present only viable options, recommend one, and state the real difference between them.
39
+ - **Declare what is binding.** Say explicitly which instructions are hard requirements and where judgment is required. Keep one explanation in one place and link to it, but keep at the point of use the contract a reader needs there.
40
+
30
41
  ## User Input
31
42
 
32
43
  ```text
File without changes
File without changes
File without changes