its-magic 0.1.2-42 → 0.1.2-48
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 +119 -0
- package/package.json +1 -1
- package/scripts/check_intake_template_parity.py +99 -4
- package/template/.cursor/commands/architecture.md +16 -6
- package/template/.cursor/commands/auto.md +42 -0
- package/template/.cursor/commands/qa.md +8 -0
- package/template/.cursor/commands/release.md +11 -0
- package/template/.cursor/commands/verify-work.md +16 -1
- package/template/.cursor/rules/caveman.mdc +184 -0
- package/template/.cursor/scratchpad.local.example.md +257 -225
- package/template/.cursor/scratchpad.md +14 -4
- package/template/.github/workflows/ci.yml +4 -114
- package/template/README.md +113 -0
- package/template/docs/engineering/auto-orchestration-reference.md +1004 -934
- package/template/docs/engineering/context/installer-owned-paths.manifest +15 -0
- package/template/docs/engineering/context/readme-section-affinity.json +30 -0
- package/template/docs/engineering/runbook.md +2051 -1772
- package/template/scripts/auto_outer_driver.py +521 -0
- package/template/scripts/caveman_compress_input.py +903 -0
- package/template/scripts/check_downstream_ci_guard.py +67 -0
- package/template/scripts/check_intake_template_parity.py +99 -4
- package/template/scripts/downstream_ci_guard_lib.py +222 -0
- package/template/scripts/enforce-triad-hot-surface.py +135 -8
- package/template/scripts/readme_feature_coverage_lib.py +608 -0
- package/template/scripts/uat_probe_lib.py +317 -0
- package/template/scripts/validate_readme_feature_coverage.py +140 -0
|
@@ -1,225 +1,257 @@
|
|
|
1
|
-
# its-magic scratchpad (framework default catalog — Model B / DEC-0055)
|
|
2
|
-
#
|
|
3
|
-
# Copy this file to `.cursor/scratchpad.local.md` for personal overrides (gitignored).
|
|
4
|
-
# Merge precedence: local > materialized `.cursor/scratchpad.md` > this example
|
|
5
|
-
# (installers materialize the baseline from template when missing).
|
|
6
|
-
#
|
|
7
|
-
# Core behavior
|
|
8
|
-
# - MAGIC_CONTEXT_STRICT: 0|1 (require context refresh after code changes)
|
|
9
|
-
# - LOOP_UNTIL_GREEN: 0|1 (optional test loop)
|
|
10
|
-
# - RUN_TESTS_ON_EDIT: 0|1 (run tests after edits)
|
|
11
|
-
# - AUTO_IMPLEMENTATION_LOOP: 0|1 (auto cycle execute->qa->execute)
|
|
12
|
-
# - AUTO_LOOP_MAX_CYCLES: integer >= 1 (safety guard)
|
|
13
|
-
# - AUTO_PAUSE_REQUEST: 0|1 (request graceful stop at next safe boundary)
|
|
14
|
-
# - AUTO_PAUSE_POLICY: after_task|after_phase (safe stop boundary)
|
|
15
|
-
# - DONE: 0|1 (stop hook loops)
|
|
16
|
-
MAGIC_CONTEXT_STRICT=1
|
|
17
|
-
LOOP_UNTIL_GREEN=0
|
|
18
|
-
RUN_TESTS_ON_EDIT=0
|
|
19
|
-
AUTO_IMPLEMENTATION_LOOP=0
|
|
20
|
-
AUTO_LOOP_MAX_CYCLES=5
|
|
21
|
-
AUTO_PAUSE_REQUEST=0
|
|
22
|
-
AUTO_PAUSE_POLICY=after_phase
|
|
23
|
-
DONE=0
|
|
24
|
-
#
|
|
25
|
-
# Benchmarking
|
|
26
|
-
# - MAGIC_BENCH_SESSION: free-form id for live benchmark logging
|
|
27
|
-
MAGIC_BENCH_SESSION=
|
|
28
|
-
#
|
|
29
|
-
# Automation
|
|
30
|
-
# - AUTO_FLOW_MODE: manual|auto_until_decision
|
|
31
|
-
#
|
|
32
|
-
#
|
|
33
|
-
#
|
|
34
|
-
# -
|
|
35
|
-
# -
|
|
36
|
-
# -
|
|
37
|
-
#
|
|
38
|
-
# -
|
|
39
|
-
# -
|
|
40
|
-
# -
|
|
41
|
-
# -
|
|
42
|
-
# -
|
|
43
|
-
# -
|
|
44
|
-
#
|
|
45
|
-
# -
|
|
46
|
-
# -
|
|
47
|
-
# -
|
|
48
|
-
# -
|
|
49
|
-
#
|
|
50
|
-
# -
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
#
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
#
|
|
86
|
-
#
|
|
87
|
-
#
|
|
88
|
-
# -
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
#
|
|
99
|
-
#
|
|
100
|
-
# -
|
|
101
|
-
# -
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
#
|
|
108
|
-
#
|
|
109
|
-
# -
|
|
110
|
-
# -
|
|
111
|
-
# -
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
#
|
|
119
|
-
#
|
|
120
|
-
# -
|
|
121
|
-
# -
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
#
|
|
129
|
-
#
|
|
130
|
-
# -
|
|
131
|
-
# -
|
|
132
|
-
#
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
#
|
|
141
|
-
#
|
|
142
|
-
# -
|
|
143
|
-
# -
|
|
144
|
-
#
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
#
|
|
150
|
-
#
|
|
151
|
-
#
|
|
152
|
-
# -
|
|
153
|
-
#
|
|
154
|
-
#
|
|
155
|
-
#
|
|
156
|
-
# -
|
|
157
|
-
# -
|
|
158
|
-
#
|
|
159
|
-
#
|
|
160
|
-
#
|
|
161
|
-
#
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
#
|
|
187
|
-
#
|
|
188
|
-
#
|
|
189
|
-
#
|
|
190
|
-
#
|
|
191
|
-
#
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
#
|
|
197
|
-
#
|
|
198
|
-
#
|
|
199
|
-
# -
|
|
200
|
-
#
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
#
|
|
206
|
-
# -
|
|
207
|
-
# -
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
#
|
|
217
|
-
# -
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
#
|
|
222
|
-
# -
|
|
223
|
-
#
|
|
224
|
-
|
|
225
|
-
|
|
1
|
+
# its-magic scratchpad (framework default catalog — Model B / DEC-0055)
|
|
2
|
+
#
|
|
3
|
+
# Copy this file to `.cursor/scratchpad.local.md` for personal overrides (gitignored).
|
|
4
|
+
# Merge precedence: local > materialized `.cursor/scratchpad.md` > this example
|
|
5
|
+
# (installers materialize the baseline from template when missing).
|
|
6
|
+
#
|
|
7
|
+
# Core behavior
|
|
8
|
+
# - MAGIC_CONTEXT_STRICT: 0|1 (require context refresh after code changes)
|
|
9
|
+
# - LOOP_UNTIL_GREEN: 0|1 (optional test loop)
|
|
10
|
+
# - RUN_TESTS_ON_EDIT: 0|1 (run tests after edits)
|
|
11
|
+
# - AUTO_IMPLEMENTATION_LOOP: 0|1 (auto cycle execute->qa->execute)
|
|
12
|
+
# - AUTO_LOOP_MAX_CYCLES: integer >= 1 (safety guard)
|
|
13
|
+
# - AUTO_PAUSE_REQUEST: 0|1 (request graceful stop at next safe boundary)
|
|
14
|
+
# - AUTO_PAUSE_POLICY: after_task|after_phase (safe stop boundary)
|
|
15
|
+
# - DONE: 0|1 (stop hook loops)
|
|
16
|
+
MAGIC_CONTEXT_STRICT=1
|
|
17
|
+
LOOP_UNTIL_GREEN=0
|
|
18
|
+
RUN_TESTS_ON_EDIT=0
|
|
19
|
+
AUTO_IMPLEMENTATION_LOOP=0
|
|
20
|
+
AUTO_LOOP_MAX_CYCLES=5
|
|
21
|
+
AUTO_PAUSE_REQUEST=0
|
|
22
|
+
AUTO_PAUSE_POLICY=after_phase
|
|
23
|
+
DONE=0
|
|
24
|
+
#
|
|
25
|
+
# Benchmarking
|
|
26
|
+
# - MAGIC_BENCH_SESSION: free-form id for live benchmark logging
|
|
27
|
+
MAGIC_BENCH_SESSION=
|
|
28
|
+
#
|
|
29
|
+
# Automation
|
|
30
|
+
# - AUTO_FLOW_MODE: manual|auto_until_decision|full_autonomy
|
|
31
|
+
# - manual: operator invokes phases explicitly (default when unset)
|
|
32
|
+
# - auto_until_decision: continuous until decision_gate
|
|
33
|
+
# - full_autonomy: outer-driver loop + relaxable transient stops + drain-without-pause (default-off; US-0092 / DEC-0078)
|
|
34
|
+
# - opt-in enablement: AUTO_FLOW_MODE=full_autonomy
|
|
35
|
+
# - AUTO_BLOCK_RETRY_MAX: integer >= 1 (default 3; per (story_id, stop_reason) recoverable retries before BLOCK_RETRY_CAP_EXHAUSTED)
|
|
36
|
+
# - AUTO_OUTER_DRIVER_TIMEOUT_SECONDS: optional integer; unset = no hook timeout (timeout -> exit 124)
|
|
37
|
+
# Interaction (full_autonomy): PHASE_MODE/PERMISSION_MODE orthogonal; AUTO_BACKLOG_DRAIN/AUTO_BUG_QUEUE per US-0044/US-0087;
|
|
38
|
+
# AUTO_LOOP_MAX_CYCLES/AUTO_BACKLOG_MAX_STORIES hard caps; TOKEN_PROFILE = context breadth / token cost only (DEC-0062 / US-0092).
|
|
39
|
+
# - PHASE_MODE: interactive|auto
|
|
40
|
+
# - PERMISSION_MODE: interactive|auto
|
|
41
|
+
# - AUTO_INSTALL_DEPS: 0|1
|
|
42
|
+
# - AUTO_RELEASE_NOTES: 0|1
|
|
43
|
+
# - AUTO_BACKLOG_DRAIN: 0|1 (continue across multiple stories when enabled)
|
|
44
|
+
# - AUTO_BACKLOG_MAX_STORIES: integer >= 1 (max stories per auto run when drain enabled)
|
|
45
|
+
# - AUTO_BACKLOG_ON_BLOCK: stop|skip (behavior when a story blocks)
|
|
46
|
+
# - AUTO_STORY_SELECTION: priority_then_backlog_order
|
|
47
|
+
# - AUTO_EXECUTE_BULK: 0|1 (explicit bulk execute orchestration mode)
|
|
48
|
+
# - AUTO_EXECUTE_MAX_ITEMS: integer >= 1 (max planned items per bulk execute run)
|
|
49
|
+
# - AUTO_EXECUTE_ON_BLOCK: stop|skip (behavior when a planned item blocks)
|
|
50
|
+
# - AUTO_EXECUTE_SELECTION: planned_then_priority
|
|
51
|
+
# - AUTO_TEAM_SCOPE_ENFORCE: 0|1 (when TEAM_MODE=1, enforce TEAM_MEMBER + ACTIVE_TASK_IDS)
|
|
52
|
+
# Optional bug-queue mode (US-0087) — default-off when absent/unset after merge
|
|
53
|
+
# - AUTO_BUG_QUEUE: 0|1 (1 = enable bug-targeted /auto; mutex vs AUTO_BACKLOG_DRAIN without bug-target argv)
|
|
54
|
+
# - AUTO_BUG_TARGET: all-open|BUG-#### (required when AUTO_BUG_QUEUE=1 unless bug-target= argv supplies target)
|
|
55
|
+
# - AUTO_BUG_MAX_ITEMS: non-negative integer (0 or unset = no cap for all-open queue per run)
|
|
56
|
+
# - AUTO_BUG_ON_BLOCK: stop|skip (bug segment pause/stop boundary)
|
|
57
|
+
# Quiet mode (US-0088) — suppress routine per-phase success chatter only
|
|
58
|
+
# - AUTO_QUIET: 0|1 (default 0; 1 = quiet routine notifications)
|
|
59
|
+
# Non-suppressible: decision_gate, errors, pause, loop_max, blocked, missing inputs.
|
|
60
|
+
# Orthogonal to TOKEN_PROFILE (DEC-0035 / US-0080) — TOKEN_PROFILE controls
|
|
61
|
+
# context breadth / token cost, not notification policy.
|
|
62
|
+
AUTO_QUIET=0
|
|
63
|
+
AUTO_FLOW_MODE=auto_until_decision
|
|
64
|
+
PHASE_MODE=interactive
|
|
65
|
+
PERMISSION_MODE=interactive
|
|
66
|
+
AUTO_INSTALL_DEPS=0
|
|
67
|
+
AUTO_RELEASE_NOTES=1
|
|
68
|
+
AUTO_BACKLOG_DRAIN=0
|
|
69
|
+
AUTO_BACKLOG_MAX_STORIES=1
|
|
70
|
+
AUTO_BACKLOG_ON_BLOCK=stop
|
|
71
|
+
AUTO_STORY_SELECTION=priority_then_backlog_order
|
|
72
|
+
AUTO_EXECUTE_BULK=0
|
|
73
|
+
AUTO_EXECUTE_MAX_ITEMS=1
|
|
74
|
+
AUTO_EXECUTE_ON_BLOCK=stop
|
|
75
|
+
AUTO_EXECUTE_SELECTION=planned_then_priority
|
|
76
|
+
AUTO_TEAM_SCOPE_ENFORCE=1
|
|
77
|
+
AUTO_BUG_QUEUE=0
|
|
78
|
+
AUTO_BUG_TARGET=
|
|
79
|
+
AUTO_BUG_MAX_ITEMS=0
|
|
80
|
+
AUTO_BUG_ON_BLOCK=stop
|
|
81
|
+
AUTO_BLOCK_RETRY_MAX=3
|
|
82
|
+
#
|
|
83
|
+
# `/auto` phase role policy (US-0069 / DEC-0051)
|
|
84
|
+
# - AUTO_ROLE_RESEARCH: po|tech-lead (empty -> default tech-lead)
|
|
85
|
+
# - AUTO_ROLE_PLAN_VERIFY: qa|tech-lead (empty -> default qa)
|
|
86
|
+
# - AUTO_ROLE_REFRESH_CONTEXT: curator|po (empty -> default curator)
|
|
87
|
+
# - AUTO_EXECUTE_ROLE_OVERRIDE: empty or allowed_non_dev_execute (execute default is dev)
|
|
88
|
+
# - EXECUTE_OVERRIDE_GOVERNANCE_REF: parseable waiver pointer (DEC-xxxx / state anchor) when override set
|
|
89
|
+
AUTO_ROLE_RESEARCH=
|
|
90
|
+
AUTO_ROLE_PLAN_VERIFY=
|
|
91
|
+
AUTO_ROLE_REFRESH_CONTEXT=
|
|
92
|
+
AUTO_EXECUTE_ROLE_OVERRIDE=
|
|
93
|
+
EXECUTE_OVERRIDE_GOVERNANCE_REF=
|
|
94
|
+
#
|
|
95
|
+
# `/auto` phase selection policy (US-0070 / DEC-0052)
|
|
96
|
+
# Exactly one active mode after merge; conflict -> PHASE_POLICY_CONFLICT (no plan).
|
|
97
|
+
# - AUTO_PHASE_PLAN: unset or full (default full canonical lifecycle)
|
|
98
|
+
# - AUTO_PHASE_EXCLUDE: csv of canonical phase ids (exclude from full)
|
|
99
|
+
# - AUTO_PHASE_INCLUDE: csv of canonical phase ids (re-sorted to canonical order)
|
|
100
|
+
# - AUTO_PHASE_PROFILE: named profile (see /auto + DEC-0052; unknown -> fail closed)
|
|
101
|
+
# - AUTO_PHASE_HIGH_RISK_ACK: required token when a high-risk profile demands it
|
|
102
|
+
AUTO_PHASE_PLAN=
|
|
103
|
+
AUTO_PHASE_EXCLUDE=
|
|
104
|
+
AUTO_PHASE_INCLUDE=
|
|
105
|
+
AUTO_PHASE_PROFILE=
|
|
106
|
+
AUTO_PHASE_HIGH_RISK_ACK=
|
|
107
|
+
#
|
|
108
|
+
# Team mode
|
|
109
|
+
# - TEAM_MODE: 0|1 (enable task/member scoped team workflow)
|
|
110
|
+
# - TEAM_MEMBER: short id for current developer
|
|
111
|
+
# - ACTIVE_TASK_IDS: comma-separated task ids (for example T-12,T-13)
|
|
112
|
+
TEAM_MODE=0
|
|
113
|
+
TEAM_MEMBER=
|
|
114
|
+
ACTIVE_TASK_IDS=
|
|
115
|
+
#
|
|
116
|
+
# Sprint planning
|
|
117
|
+
# - SPRINT_MAX_TASKS: integer >= 1 (max atomic tasks per sprint, default 12)
|
|
118
|
+
# - SPRINT_AUTO_SPLIT: 0|1 (propose splitting when over threshold)
|
|
119
|
+
# - SPRINT_BULK_MAX_STORIES: integer >= 1 (candidate stories when /sprint-plan --bulk)
|
|
120
|
+
# - SPRINT_BULK_MAX_SPRINTS: integer >= 1 (generated sprints per /sprint-plan --bulk run)
|
|
121
|
+
# - SPRINT_BULK_SELECTION: priority_then_backlog_order
|
|
122
|
+
SPRINT_MAX_TASKS=12
|
|
123
|
+
SPRINT_AUTO_SPLIT=1
|
|
124
|
+
SPRINT_BULK_MAX_STORIES=5
|
|
125
|
+
SPRINT_BULK_MAX_SPRINTS=3
|
|
126
|
+
SPRINT_BULK_SELECTION=priority_then_backlog_order
|
|
127
|
+
#
|
|
128
|
+
# Remote execution (US-0086 / US-0084 / US-0064)
|
|
129
|
+
# - REMOTE_EXECUTION: 0|1
|
|
130
|
+
# - REMOTE_CONFIG: path to remote config
|
|
131
|
+
# - AUTO_REMOTE_AUTOMATION_PROFILE: off|deterministic_v1 (default off/manual-safe)
|
|
132
|
+
# - AUTO_REMOTE_ENVIRONMENT_LABEL: local|docker|ssh (names-only evidence label)
|
|
133
|
+
REMOTE_EXECUTION=0
|
|
134
|
+
REMOTE_CONFIG=.cursor/remote.json
|
|
135
|
+
AUTO_REMOTE_AUTOMATION_PROFILE=off
|
|
136
|
+
AUTO_REMOTE_ENVIRONMENT_LABEL=local
|
|
137
|
+
#
|
|
138
|
+
# Sync policy
|
|
139
|
+
# - SYNC_POLICY_MODE: disabled|manual|by_phase|by_milestone|custom_phase_list
|
|
140
|
+
# - SYNC_CUSTOM_PHASES: comma-separated canonical phase IDs; only used when
|
|
141
|
+
# SYNC_POLICY_MODE=custom_phase_list
|
|
142
|
+
# - ALLOW_AUTO_PUSH: 0|1 (default off; explicit opt-in required)
|
|
143
|
+
# - AUTO_PUSH_BRANCH_ALLOWLIST: comma-separated branches/patterns eligible for
|
|
144
|
+
# auto-push. Protected/default branches are denied unless allowlisted.
|
|
145
|
+
SYNC_POLICY_MODE=manual
|
|
146
|
+
SYNC_CUSTOM_PHASES=
|
|
147
|
+
ALLOW_AUTO_PUSH=0
|
|
148
|
+
AUTO_PUSH_BRANCH_ALLOWLIST=
|
|
149
|
+
#
|
|
150
|
+
# Knowledge curation
|
|
151
|
+
# - EARLY_RESEARCH: 0|1 (PO/TL search web during intake/architecture)
|
|
152
|
+
# - INTAKE_GUIDED_MODE: 0|1 (guided intake follow-up/options/research behavior)
|
|
153
|
+
# - INTAKE_SUBAGENT_FALLBACK: deny|allow (deny by default; when deny, missing
|
|
154
|
+
# role-specific intake subagent capability fails fast)
|
|
155
|
+
# - INTAKE_WORK_ITEM_KIND: story|bug (default story; bug selects BUG-#### path per DEC-0061 / US-0079)
|
|
156
|
+
# - ID_NAMESPACE_BOOTSTRAP: 0|1 (optional fresh-project ID bootstrap mode; when 1, allow first IDs to start at 0001 only if deterministic freshness checks pass)
|
|
157
|
+
# - TOKEN_PROFILE: lean|balanced|full (tiered token-cost profile defaults)
|
|
158
|
+
# TOKEN_PROFILE controls context breadth / token cost only (DEC-0062 / US-0092).
|
|
159
|
+
# - lean: lowest context breadth / token cost defaults
|
|
160
|
+
# - balanced: default profile; moderate context breadth
|
|
161
|
+
# - full: highest context breadth / token cost for complex work
|
|
162
|
+
# - STATE_HOT_MAX_LINES: integer >= 200 (hot-surface soft cap trigger for
|
|
163
|
+
# archival rollover checks)
|
|
164
|
+
# - STATE_HOT_MAX_CHECKPOINTS: integer >= 10 (max recent checkpoints to retain
|
|
165
|
+
# in `state.md` after rollover)
|
|
166
|
+
# - PO_TO_TL_HOT_MAX_LINES: integer >= 200 (handoff hot-surface line cap)
|
|
167
|
+
# - PO_TO_TL_HOT_MAX_SECTIONS: integer >= 10 (max top-level ## sections retained)
|
|
168
|
+
# - ARCH_HOT_MAX_LINES: integer >= 500 (architecture hot-surface line cap)
|
|
169
|
+
# - ARCH_HOT_MAX_STORY_SECTIONS: integer >= 20 (max # US-xxxx story sections retained)
|
|
170
|
+
# - Manual-override precedence: explicit flag values in this file remain authoritative
|
|
171
|
+
# for that flag and override profile defaults.
|
|
172
|
+
EARLY_RESEARCH=1
|
|
173
|
+
INTAKE_GUIDED_MODE=1
|
|
174
|
+
INTAKE_SUBAGENT_FALLBACK=deny
|
|
175
|
+
INTAKE_WORK_ITEM_KIND=story
|
|
176
|
+
ID_NAMESPACE_BOOTSTRAP=0
|
|
177
|
+
TOKEN_PROFILE=balanced
|
|
178
|
+
STATE_HOT_MAX_LINES=1200
|
|
179
|
+
STATE_HOT_MAX_CHECKPOINTS=80
|
|
180
|
+
PO_TO_TL_HOT_MAX_LINES=800
|
|
181
|
+
PO_TO_TL_HOT_MAX_SECTIONS=60
|
|
182
|
+
ARCH_HOT_MAX_LINES=3500
|
|
183
|
+
ARCH_HOT_MAX_STORY_SECTIONS=120
|
|
184
|
+
|
|
185
|
+
# Publish targets (US-0054)
|
|
186
|
+
# - RELEASE_PUBLISH_MODE: disabled|confirm|auto
|
|
187
|
+
# - disabled: skip post-release publish target execution
|
|
188
|
+
# - confirm: require explicit operator confirmation before publish (default)
|
|
189
|
+
# - auto: allow publish without confirmation (explicit opt-in)
|
|
190
|
+
# - RELEASE_TARGETS_FILE: canonical target config path
|
|
191
|
+
# - RELEASE_TARGETS_DEFAULT: comma-separated default target IDs (optional)
|
|
192
|
+
RELEASE_PUBLISH_MODE=confirm
|
|
193
|
+
RELEASE_TARGETS_FILE=docs/engineering/release-targets.json
|
|
194
|
+
RELEASE_TARGETS_DEFAULT=
|
|
195
|
+
|
|
196
|
+
#
|
|
197
|
+
# Security review
|
|
198
|
+
# - SECURITY_REVIEW: 0|1 (enable optional security/compliance review; default off)
|
|
199
|
+
# - COMPLIANCE_PROFILES: comma-separated values (GDPR,SOC2,HIPAA,PCI-DSS,ISO27001)
|
|
200
|
+
# Empty value means general security best practices only.
|
|
201
|
+
# When SECURITY_REVIEW=0, the workflow adds zero security-review overhead.
|
|
202
|
+
SECURITY_REVIEW=0
|
|
203
|
+
COMPLIANCE_PROFILES=GDPR
|
|
204
|
+
|
|
205
|
+
# Cross-repo compatibility observability
|
|
206
|
+
# - CROSS_REPO_OBSERVABILITY: 0|1 (enable compatibility visibility and checks)
|
|
207
|
+
# - COMPATIBILITY_GATE_ON_CRITICAL: 0|1 (when enabled, critical unresolved
|
|
208
|
+
# compatibility findings trigger decision gate before release)
|
|
209
|
+
# - COMPATIBILITY_SOURCES: semicolon-separated sources
|
|
210
|
+
# (repo=<path|url>,module=<id>,contract=<path|url>,docs=<path|url>)
|
|
211
|
+
CROSS_REPO_OBSERVABILITY=0
|
|
212
|
+
COMPATIBILITY_GATE_ON_CRITICAL=1
|
|
213
|
+
COMPATIBILITY_SOURCES=
|
|
214
|
+
|
|
215
|
+
# Component-scoped execution mode
|
|
216
|
+
# - COMPONENT_SCOPE_MODE: 0|1 (enable scoped planning/execution guardrails)
|
|
217
|
+
# - TARGET_COMPONENTS: comma-separated component IDs intended in scope
|
|
218
|
+
COMPONENT_SCOPE_MODE=0
|
|
219
|
+
TARGET_COMPONENTS=
|
|
220
|
+
|
|
221
|
+
# Optional spec-pack documentation (US-0031)
|
|
222
|
+
# - SPEC_PACK_MODE: 0|1 (enable Design Concept, CRS, Technical Spec generation/validation; default 0)
|
|
223
|
+
# When 0, intake/architecture/release add no required spec-pack steps.
|
|
224
|
+
SPEC_PACK_MODE=0
|
|
225
|
+
|
|
226
|
+
# Optional user-guide documentation (US-0032)
|
|
227
|
+
# - USER_GUIDE_MODE: 0|1 (enable per-feature user guides at docs/user-guides/US-xxxx.md; default 0)
|
|
228
|
+
# When 0, intake/architecture/sprint-plan/execute/qa/release add no required user-guide steps or blocking checks.
|
|
229
|
+
USER_GUIDE_MODE=0
|
|
230
|
+
|
|
231
|
+
# Documentation audience profile (DEC-0059)
|
|
232
|
+
# - DOC_AUDIENCE_PROFILE: user|developer|both (empty -> both during transition)
|
|
233
|
+
# - DOC_DETAIL_LEVEL: concise|balanced|technical-deep (empty -> balanced during transition)
|
|
234
|
+
DOC_AUDIENCE_PROFILE=both
|
|
235
|
+
DOC_DETAIL_LEVEL=balanced
|
|
236
|
+
|
|
237
|
+
# README feature coverage gate (US-0091 / DEC-0074)
|
|
238
|
+
# - README_FEATURE_COVERAGE_ENFORCE: 0|1 (default 0 until backfill + --report green)
|
|
239
|
+
README_FEATURE_COVERAGE_ENFORCE=1
|
|
240
|
+
|
|
241
|
+
#
|
|
242
|
+
# ## Caveman mode (US-0089)
|
|
243
|
+
# Response-side voice toggle. Default off. Composition is orthogonal to
|
|
244
|
+
# TOKEN_PROFILE (DEC-0035 / US-0080) and AUTO_QUIET (US-0088) --
|
|
245
|
+
# TOKEN_PROFILE controls context breadth, CAVEMAN_MODE controls reply voice;
|
|
246
|
+
# neither substitutes for the other.
|
|
247
|
+
# - CAVEMAN_MODE: 0|1 (default 0; absence = 0)
|
|
248
|
+
# - CAVEMAN_LEVEL: lite|full|ultra (empty; with MODE=1 empty -> treat as full;
|
|
249
|
+
# unknown value -> CAVEMAN_LEVEL_UNKNOWN and fall back to pre-US-0089 voice)
|
|
250
|
+
# - CAVEMAN_COMPRESS_INPUT: 0|1 -- reserved for US-0090; inert in US-0089;
|
|
251
|
+
# no behavior until compression story ships
|
|
252
|
+
# - CAVEMAN_FILE_SCOPE: string -- reserved for US-0090; inert in US-0089;
|
|
253
|
+
# no behavior until compression story ships
|
|
254
|
+
CAVEMAN_MODE=0
|
|
255
|
+
CAVEMAN_LEVEL=
|
|
256
|
+
CAVEMAN_COMPRESS_INPUT=0
|
|
257
|
+
CAVEMAN_FILE_SCOPE=
|
|
@@ -27,7 +27,15 @@ DONE=0
|
|
|
27
27
|
MAGIC_BENCH_SESSION=
|
|
28
28
|
#
|
|
29
29
|
# Automation
|
|
30
|
-
# - AUTO_FLOW_MODE: manual|auto_until_decision
|
|
30
|
+
# - AUTO_FLOW_MODE: manual|auto_until_decision|full_autonomy
|
|
31
|
+
# - manual: operator invokes phases explicitly (default when unset)
|
|
32
|
+
# - auto_until_decision: continuous until decision_gate
|
|
33
|
+
# - full_autonomy: outer-driver loop + relaxable transient stops + drain-without-pause (default-off; US-0092 / DEC-0078)
|
|
34
|
+
# - opt-in enablement: AUTO_FLOW_MODE=full_autonomy
|
|
35
|
+
# - AUTO_BLOCK_RETRY_MAX: integer >= 1 (default 3; per (story_id, stop_reason) recoverable retries before BLOCK_RETRY_CAP_EXHAUSTED)
|
|
36
|
+
# - AUTO_OUTER_DRIVER_TIMEOUT_SECONDS: optional integer; unset = no hook timeout (timeout -> exit 124)
|
|
37
|
+
# Interaction (full_autonomy): PHASE_MODE/PERMISSION_MODE orthogonal; AUTO_BACKLOG_DRAIN/AUTO_BUG_QUEUE per US-0044/US-0087;
|
|
38
|
+
# AUTO_LOOP_MAX_CYCLES/AUTO_BACKLOG_MAX_STORIES hard caps; TOKEN_PROFILE = context breadth / token cost only (DEC-0062 / US-0092).
|
|
31
39
|
# - PHASE_MODE: interactive|auto
|
|
32
40
|
# - PERMISSION_MODE: interactive|auto
|
|
33
41
|
# - AUTO_INSTALL_DEPS: 0|1
|
|
@@ -70,6 +78,7 @@ AUTO_BUG_QUEUE=0
|
|
|
70
78
|
AUTO_BUG_TARGET=
|
|
71
79
|
AUTO_BUG_MAX_ITEMS=0
|
|
72
80
|
AUTO_BUG_ON_BLOCK=stop
|
|
81
|
+
AUTO_BLOCK_RETRY_MAX=3
|
|
73
82
|
#
|
|
74
83
|
# `/auto` phase role policy (US-0069 / DEC-0051)
|
|
75
84
|
# - AUTO_ROLE_RESEARCH: po|tech-lead (empty -> default tech-lead)
|
|
@@ -152,9 +161,10 @@ AUTO_PUSH_BRANCH_ALLOWLIST=main
|
|
|
152
161
|
# - INTAKE_WORK_ITEM_KIND: story|bug (default story; bug selects BUG-#### path per DEC-0061 / US-0079)
|
|
153
162
|
# - ID_NAMESPACE_BOOTSTRAP: 0|1 (optional fresh-project ID bootstrap mode; when 1, allow first IDs to start at 0001 only if deterministic freshness checks pass)
|
|
154
163
|
# - TOKEN_PROFILE: lean|balanced|full (tiered token-cost profile defaults)
|
|
155
|
-
#
|
|
156
|
-
# -
|
|
157
|
-
# -
|
|
164
|
+
# TOKEN_PROFILE controls context breadth / token cost only (DEC-0062 / US-0092).
|
|
165
|
+
# - lean: lowest context breadth / token cost defaults
|
|
166
|
+
# - balanced: default profile; moderate context breadth
|
|
167
|
+
# - full: highest context breadth / token cost for complex work
|
|
158
168
|
# - STATE_HOT_MAX_LINES: integer >= 200 (hot-surface soft cap trigger for
|
|
159
169
|
# archival rollover checks)
|
|
160
170
|
# - STATE_HOT_MAX_CHECKPOINTS: integer >= 10 (max recent checkpoints to retain
|