ac-framework 1.9.4 → 1.9.6

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 (114) hide show
  1. package/LICENSE +1 -0
  2. package/README.md +21 -1
  3. package/bin/postinstall.js +2 -0
  4. package/framework/mobile_development/.agent/workflows/ac-lite.md +70 -179
  5. package/framework/mobile_development/.agent/workflows/ac.md +273 -404
  6. package/framework/mobile_development/.amazonq/prompts/ac-lite.md +70 -179
  7. package/framework/mobile_development/.amazonq/prompts/ac.md +273 -404
  8. package/framework/mobile_development/.antigravity/workflows/ac-lite.md +70 -179
  9. package/framework/mobile_development/.antigravity/workflows/ac.md +273 -404
  10. package/framework/mobile_development/.augment/commands/ac-lite.md +70 -179
  11. package/framework/mobile_development/.augment/commands/ac.md +273 -404
  12. package/framework/mobile_development/.claude/commands/opsx/ac-lite.md +70 -179
  13. package/framework/mobile_development/.claude/commands/opsx/ac.md +273 -404
  14. package/framework/mobile_development/.cline/commands/opsx/ac-lite.md +70 -179
  15. package/framework/mobile_development/.cline/commands/opsx/ac.md +273 -404
  16. package/framework/mobile_development/.clinerules/workflows/ac-lite.md +70 -179
  17. package/framework/mobile_development/.clinerules/workflows/ac.md +273 -404
  18. package/framework/mobile_development/.codebuddy/commands/opsx/ac-lite.md +70 -179
  19. package/framework/mobile_development/.codebuddy/commands/opsx/ac.md +273 -404
  20. package/framework/mobile_development/.continue/prompts/ac-lite.md +70 -179
  21. package/framework/mobile_development/.continue/prompts/ac.md +273 -404
  22. package/framework/mobile_development/.cospec/openspec/commands/ac-lite.md +70 -179
  23. package/framework/mobile_development/.cospec/openspec/commands/ac.md +273 -404
  24. package/framework/mobile_development/.crush/commands/opsx/ac-lite.md +70 -179
  25. package/framework/mobile_development/.crush/commands/opsx/ac.md +273 -404
  26. package/framework/mobile_development/.cursor/commands/ac-lite.md +70 -179
  27. package/framework/mobile_development/.cursor/commands/ac.md +273 -404
  28. package/framework/mobile_development/.factory/commands/ac-lite.md +70 -179
  29. package/framework/mobile_development/.factory/commands/ac.md +273 -404
  30. package/framework/mobile_development/.gemini/commands/opsx/ac-lite.md +70 -179
  31. package/framework/mobile_development/.gemini/commands/opsx/ac.md +273 -404
  32. package/framework/mobile_development/.github/prompts/ac-lite.md +70 -179
  33. package/framework/mobile_development/.github/prompts/ac.md +273 -404
  34. package/framework/mobile_development/.github/prompts/ac.prompt.md +282 -177
  35. package/framework/mobile_development/.iflow/commands/ac-lite.md +70 -179
  36. package/framework/mobile_development/.iflow/commands/ac.md +273 -404
  37. package/framework/mobile_development/.kilocode/workflows/ac-lite.md +70 -179
  38. package/framework/mobile_development/.kilocode/workflows/ac.md +273 -404
  39. package/framework/mobile_development/.kimi/workflows/ac-lite.md +70 -179
  40. package/framework/mobile_development/.kimi/workflows/ac.md +273 -404
  41. package/framework/mobile_development/.opencode/command/ac-lite.md +70 -179
  42. package/framework/mobile_development/.opencode/command/ac.md +273 -404
  43. package/framework/mobile_development/.qoder/commands/opsx/ac-lite.md +70 -179
  44. package/framework/mobile_development/.qoder/commands/opsx/ac.md +273 -404
  45. package/framework/mobile_development/.qwen/commands/ac-lite.md +70 -179
  46. package/framework/mobile_development/.qwen/commands/ac.md +273 -404
  47. package/framework/mobile_development/.roo/commands/ac-lite.md +70 -179
  48. package/framework/mobile_development/.roo/commands/ac.md +273 -404
  49. package/framework/mobile_development/.windsurf/workflows/ac-lite.md +70 -179
  50. package/framework/mobile_development/.windsurf/workflows/ac.md +273 -404
  51. package/framework/mobile_development/AGENTS.md +205 -416
  52. package/framework/mobile_development/CLAUDE.md +205 -416
  53. package/framework/mobile_development/GEMINI.md +205 -416
  54. package/framework/mobile_development/copilot-instructions.md +205 -416
  55. package/framework/new_project/.agent/workflows/ac.md +39 -0
  56. package/framework/new_project/.amazonq/prompts/ac.md +39 -0
  57. package/framework/new_project/.antigravity/workflows/ac.md +39 -0
  58. package/framework/new_project/.augment/commands/ac.md +39 -0
  59. package/framework/new_project/.claude/commands/opsx/ac.md +39 -0
  60. package/framework/new_project/.cline/commands/opsx/ac.md +39 -0
  61. package/framework/new_project/.clinerules/workflows/ac.md +39 -0
  62. package/framework/new_project/.codebuddy/commands/opsx/ac.md +39 -0
  63. package/framework/new_project/.continue/prompts/ac.md +39 -0
  64. package/framework/new_project/.cospec/openspec/commands/ac.md +39 -0
  65. package/framework/new_project/.crush/commands/opsx/ac.md +39 -0
  66. package/framework/new_project/.cursor/commands/ac.md +39 -0
  67. package/framework/new_project/.factory/commands/ac.md +39 -0
  68. package/framework/new_project/.gemini/commands/opsx/ac.md +39 -0
  69. package/framework/new_project/.github/prompts/ac.md +39 -0
  70. package/framework/new_project/.iflow/commands/ac.md +39 -0
  71. package/framework/new_project/.kilocode/workflows/ac.md +39 -0
  72. package/framework/new_project/.kimi/workflows/ac.md +39 -0
  73. package/framework/new_project/.opencode/command/ac.md +39 -0
  74. package/framework/new_project/.qoder/commands/opsx/ac.md +39 -0
  75. package/framework/new_project/.qwen/commands/ac.md +39 -0
  76. package/framework/new_project/.roo/commands/ac.md +39 -0
  77. package/framework/new_project/.windsurf/workflows/ac.md +39 -0
  78. package/framework/new_project/AGENTS.md +27 -0
  79. package/framework/web_development/.agent/workflows/ac.md +39 -0
  80. package/framework/web_development/.amazonq/prompts/ac.md +39 -0
  81. package/framework/web_development/.antigravity/workflows/ac.md +39 -0
  82. package/framework/web_development/.augment/commands/ac.md +39 -0
  83. package/framework/web_development/.claude/commands/opsx/ac.md +39 -0
  84. package/framework/web_development/.cline/commands/opsx/ac.md +39 -0
  85. package/framework/web_development/.clinerules/workflows/ac.md +39 -0
  86. package/framework/web_development/.codebuddy/commands/opsx/ac.md +39 -0
  87. package/framework/web_development/.continue/prompts/ac.md +39 -0
  88. package/framework/web_development/.cospec/openspec/commands/ac.md +39 -0
  89. package/framework/web_development/.crush/commands/opsx/ac.md +39 -0
  90. package/framework/web_development/.cursor/commands/ac.md +39 -0
  91. package/framework/web_development/.factory/commands/ac.md +39 -0
  92. package/framework/web_development/.gemini/commands/opsx/ac.md +39 -0
  93. package/framework/web_development/.github/prompts/ac.md +39 -0
  94. package/framework/web_development/.iflow/commands/ac.md +39 -0
  95. package/framework/web_development/.kilocode/workflows/ac.md +39 -0
  96. package/framework/web_development/.kimi/workflows/ac.md +39 -0
  97. package/framework/web_development/.opencode/command/ac.md +39 -0
  98. package/framework/web_development/.qoder/commands/opsx/ac.md +39 -0
  99. package/framework/web_development/.qwen/commands/ac.md +39 -0
  100. package/framework/web_development/.roo/commands/ac.md +39 -0
  101. package/framework/web_development/.windsurf/workflows/ac.md +39 -0
  102. package/framework/web_development/AGENTS.md +27 -0
  103. package/package.json +1 -1
  104. package/src/agents/config-store.js +48 -0
  105. package/src/agents/model-selection.js +38 -0
  106. package/src/agents/opencode-client.js +3 -2
  107. package/src/agents/orchestrator.js +10 -3
  108. package/src/agents/runtime.js +80 -0
  109. package/src/agents/state-store.js +3 -0
  110. package/src/commands/agents.js +301 -85
  111. package/src/commands/init.js +33 -0
  112. package/src/mcp/collab-server.js +299 -0
  113. package/src/services/dependency-installer.js +20 -1
  114. package/src/services/mcp-installer.js +82 -54
package/LICENSE CHANGED
@@ -16,4 +16,5 @@ Copyright (c) 2026 Damola Akinleye
16
16
  Copyright (c) 2025 Jesse Vincent
17
17
  Copyright (c) 2024 Seth Hobson
18
18
  Copyright (c) 2026 Antigravity User
19
+ Copyright (c) 2025 opencode
19
20
  (CREDITS)
package/README.md CHANGED
@@ -59,6 +59,8 @@ The CLI now guides you through:
59
59
  4. optionally initialize NexusVault persistent memory and MCP connections
60
60
  5. optionally enable SynapseGrid collaborative agents (auto-installs OpenCode + tmux)
61
61
 
62
+ If enabled, `acfm init` also auto-installs the optional SynapseGrid MCP server into detected assistants.
63
+
62
64
  ### 2. Initialize the spec-driven workspace
63
65
 
64
66
  ```bash
@@ -139,16 +141,30 @@ Each role runs in turn against a shared, accumulating context so outputs from on
139
141
  | Command | Description |
140
142
  |---|---|
141
143
  | `acfm agents setup` | Install optional dependencies (`opencode` and `tmux`) |
142
- | `acfm agents start --task "..."` | Start a SynapseGrid collaborative session |
144
+ | `acfm agents install-mcps` | Install SynapseGrid MCP server for detected assistants |
145
+ | `acfm agents uninstall-mcps` | Remove SynapseGrid MCP server from assistants |
146
+ | `acfm agents start --task "..." --model-coder provider/model` | Start session with optional per-role models |
143
147
  | `acfm agents resume` | Resume a previous session and recreate workers if needed |
144
148
  | `acfm agents list` | List recent SynapseGrid sessions |
145
149
  | `acfm agents attach` | Attach directly to the SynapseGrid tmux session |
150
+ | `acfm agents live` | Attach to full live tmux view (all agents) |
146
151
  | `acfm agents logs` | Show recent worker logs (all roles or one role) |
147
152
  | `acfm agents export --format md --out file.md` | Export transcript in Markdown or JSON |
148
153
  | `acfm agents send "..."` | Send a new user message into the active session |
149
154
  | `acfm agents status` | Show current collaborative session state |
155
+ | `acfm agents model get` | Show default model config (global and per-role) |
156
+ | `acfm agents model set --role coder provider/model` | Persist a default model for one role |
157
+ | `acfm agents model clear --role all` | Clear persisted model defaults |
150
158
  | `acfm agents stop` | Stop the active collaborative session |
151
159
 
160
+ ### SynapseGrid troubleshooting
161
+
162
+ - If transcript entries show `Agent failed: spawn opencode ENOENT`, run `acfm agents setup` to install dependencies and then retry.
163
+ - Attach to worker panes with `acfm agents live` (or `acfm agents attach`) to see real-time role discussion.
164
+ - Inspect worker errors quickly with `acfm agents logs --role all --lines 120`.
165
+ - MCP starts can now create tmux workers directly; if your assistant used headless steps before, start a new session and ensure worker spawning is enabled.
166
+ - Configure role models directly at start (for example `--model-planner`, `--model-coder`) or persist defaults via `acfm agents model set`.
167
+
152
168
  ### Spec Workflow
153
169
 
154
170
  | Command | Description |
@@ -213,6 +229,10 @@ The current MCP installer supports these assistant config targets:
213
229
  - Gemini
214
230
  - Codex
215
231
 
232
+ MCP server IDs installed by AC Framework:
233
+ - `ac-framework-memory` (NexusVault memory tools)
234
+ - `ac-framework-collab` (SynapseGrid collaborative session tools)
235
+
216
236
  ## Spec-Driven Methodology
217
237
 
218
238
  AC Framework is built around a spec-driven way of working where the AI should understand and plan before coding.
@@ -35,6 +35,8 @@ console.log(' acfm memory uninstall-mcps Uninstall MCP servers from AI assi
35
35
  console.log();
36
36
  console.log(' Collaborative Agents (Optional)');
37
37
  console.log(' acfm agents setup Install OpenCode + tmux dependencies');
38
+ console.log(' acfm agents install-mcps Install SynapseGrid MCP servers');
39
+ console.log(' acfm agents uninstall-mcps Remove SynapseGrid MCP servers');
38
40
  console.log(' acfm agents start --task Start SynapseGrid collaborative session');
39
41
  console.log(' acfm agents resume Resume SynapseGrid session');
40
42
  console.log(' acfm agents list List recent SynapseGrid sessions');
@@ -4,18 +4,16 @@
4
4
 
5
5
  ## Purpose
6
6
 
7
- `ac-lite` keeps the same spec-driven quality bar as `ac.md`, but reduces token usage by:
7
+ `ac-lite` keeps OpenSpec rigor while reducing context load by:
8
8
 
9
- 1. Loading only the core workflow skills by default.
10
- 2. Activating extra skills only when objective risk gates require them.
11
- 3. Enforcing mandatory quality checkpoints before implementation and archive.
9
+ 1. Loading only mandatory core workflow skills by default.
10
+ 2. Activating mobile/platform specialist skills only when objective gates trigger.
11
+ 3. Enforcing hard implementation and closure checkpoints.
12
12
 
13
13
  ---
14
14
 
15
15
  ## Default Skill Set (Always Load)
16
16
 
17
- These are the only mandatory skills for every change:
18
-
19
17
  1. `acfm-spec-workflow`
20
18
  2. `acfm-memory`
21
19
  3. `openspec-new-change` OR `openspec-ff-change`
@@ -23,217 +21,110 @@ These are the only mandatory skills for every change:
23
21
  5. `openspec-apply-change`
24
22
  6. `openspec-verify-change`
25
23
  7. `openspec-archive-change`
24
+ 8. `mobile-design`
26
25
 
27
26
  ---
28
27
 
29
28
  ## Persistent Memory Protocol (Always Active)
30
29
 
31
- Agents must use the available persistent memory system proactively on every chat/session.
32
-
33
- **Session-start requirement (always):**
34
- 1. Consult the available persistent memory tool or MCP before planning, implementing, or giving project-specific guidance.
35
- 2. Recall project-level context first, then search for task-specific decisions, conventions, bugfixes, and architecture notes.
36
- 3. Treat recalled memory as active context unless the current repository state or an explicit user instruction supersedes it.
37
- 4. If memory tooling is unavailable, continue with repository inspection and use the AC Framework CLI fallback when possible.
38
-
39
- **Save automatically when information is reusable:**
40
- - Architectural decisions from proposals/designs
41
- - Bugfix patterns and solutions
42
- - Performance optimizations
43
- - Refactoring techniques
44
- - Security fixes
45
- - API patterns and conventions
46
- - Reusable workflow conventions and project constraints
47
-
48
- **Memory hygiene rules:**
49
- - Save only reusable information likely to matter in future chats.
50
- - Do not save secrets, credentials, tokens, or one-off sensitive data.
51
- - Redact content inside `<private>...</private>` before saving.
52
- - Prefer concise titles, the correct memory type, clear tags, and realistic confidence scores.
53
-
54
- **Fallback examples:**
30
+ At session start:
31
+ 1. Recall project memory before planning or implementation.
32
+ 2. Search for task-specific patterns (architecture, bugfixes, conventions).
33
+ 3. Treat recalled memory as active unless repo state or user instructions override.
34
+
35
+ Save reusable context after major decisions, fixes, and closures.
36
+
37
+ Fallback CLI examples:
55
38
  ```bash
56
- acfm memory recall "implementing authentication"
57
- acfm memory search "JWT token refresh"
58
39
  acfm memory recall
40
+ acfm memory search "offline sync"
59
41
  acfm memory stats
60
42
  ```
61
43
 
62
44
  ---
63
45
 
64
- ## Conditional Skills (Load Only If Gate Triggers)
65
-
66
- ### Security Gate
67
-
68
- Load `secure-coding-cybersecurity` if the change touches any of:
69
-
70
- - Auth/session/permissions
71
- - User input handling or validation
72
- - SQL/ORM queries or dynamic filters
73
- - File paths/uploads
74
- - Secrets/tokens/credentials
75
- - Shell/command execution
76
-
77
- ### Testing Gate
78
-
79
- Load `test-generator` if:
80
-
81
- - There are no tests for the changed behavior, or
82
- - Existing tests do not cover acceptance criteria, or
83
- - Regression risk is medium/high.
84
-
85
- ### Consistency Gate
86
-
87
- Load `spec-analysis` and `requirement-checklist` if:
88
-
89
- - Requirements are ambiguous, or
90
- - Change spans multiple modules, or
91
- - Change modifies core domain behavior.
46
+ ## Conditional Skill Gates
92
47
 
93
- ### API Gate
48
+ ### Platform/Stack Gate
49
+ Load based on selected implementation stack:
50
+ - `flutter-expert` [IF Flutter]
51
+ - `ios-developer` [IF native iOS]
52
+ - `react-native-architecture` [IF React Native architecture/native modules]
53
+ - `react-native-design` [IF React Native UI/navigation/animation]
54
+ - `react-state-management` [IF global/complex state]
94
55
 
95
- Load `api-design-principles` if API contracts/endpoints/schemas are added or modified.
56
+ ### Platform UI Gate
57
+ - `mobile-ios-design` [IF iOS UI changes]
58
+ - `mobile-android-design` [IF Android UI changes]
96
59
 
97
- ### UI Gate
60
+ ### Clarity/Scale Gate
61
+ - `spec-clarification` [IF requirements ambiguous]
62
+ - `spec-analysis` [IF cross-artifact consistency needs verification]
63
+ - `microtask-decomposition` [IF tasks remain too complex]
64
+ - `project-index` / `context-synthesizer` [IF repo/session scale requires]
98
65
 
99
- Load `interface-design` if dashboard/app UI behavior is introduced or changed.
100
-
101
- ### Performance Gate
102
-
103
- Load `performance-optimizer` if:
104
-
105
- - The change affects hot paths, or
106
- - Latency/throughput targets exist, or
107
- - A performance regression is detected/suspected.
108
-
109
- ### Context Scale Gate
110
-
111
- Load `project-index` and/or `context-synthesizer` if:
112
-
113
- - Codebase is large and discovery cost is high, or
114
- - Session is long and context drift appears.
66
+ ### Research Gate
67
+ - `research-retrieval` [IF external docs are needed]
115
68
 
116
69
  ### Debug Gate
70
+ - `systematic-debugging` [IF blocked by bugs/regressions]
117
71
 
118
- Load `systematic-debugging` when blocked by non-trivial bugs or unstable behavior.
72
+ ### Delivery Gate
73
+ - `documentation`, `sync-index`, `changelog-generator` [during closure]
119
74
 
120
75
  ---
121
76
 
122
77
  ## Mandatory Quality Gates
123
78
 
124
- These gates are non-optional in `ac-lite`.
125
-
126
79
  ### Gate A: Ready to Implement
127
-
128
80
  Before `openspec-apply-change`, all must be true:
129
-
130
- - Change exists and status is valid (`acfm spec status --change <name> --json`)
81
+ - Change is initialized and valid (`acfm spec status --change <name> --json`)
131
82
  - `tasks.md` exists with actionable checkboxes
132
- - Acceptance criteria are clear in artifacts
133
- - Required conditional skills (if triggered) were executed
134
- - Session-start memory recall completed for this chat/session
135
-
136
- If any item fails: stop, resolve, then continue.
137
-
138
- ### Gate B: Ready to Archive
83
+ - Platform and stack are explicit
84
+ - Required conditional skills were executed
85
+ - Session-start memory recall completed
139
86
 
87
+ ### Gate B: Ready to Close
140
88
  Before `openspec-archive-change`, all must be true:
141
-
142
89
  - `openspec-verify-change` completed
143
- - No CRITICAL findings remain
144
- - Relevant tests pass for changed behavior
145
- - Tasks are complete or explicitly accepted by user with warning
146
- - Relevant reusable context from the completed work was saved to memory
147
-
148
- If any item fails: stop, fix, re-verify.
90
+ - Critical issues resolved (or explicitly accepted with warning)
91
+ - Task list reflects final state
92
+ - Reusable context saved to memory
93
+ - `documentation` / `sync-index` / changelog steps executed as required
149
94
 
150
95
  ---
151
96
 
152
- ## Lite Workflows
153
-
154
- ### New Change (Default Path)
155
-
156
- 1. Run `acfm-spec-workflow` checks (`acfm spec status --json`, init if needed).
157
- 2. Run a session-start memory recall using the available memory tool/MCP or the AC Framework CLI fallback.
158
- 3. Create change with `openspec-new-change` (or `openspec-ff-change` if user requests speed).
159
- 4. Build artifacts with `openspec-continue-change` until apply-ready.
160
- 5. Evaluate conditional gates and load only triggered skills.
161
- 6. Pass Gate A.
162
- 7. Implement with `openspec-apply-change`.
163
- 8. Verify with `openspec-verify-change`.
164
- 9. Pass Gate B.
165
- 10. Archive with `openspec-archive-change`.
166
-
167
- ### Existing Change (Default Path)
97
+ ## Lite Workflow
168
98
 
169
- 1. Confirm initialization and active changes.
170
- 2. Run a session-start memory recall using the available memory tool/MCP or the AC Framework CLI fallback.
171
- 3. Select target change.
172
- 4. Refresh artifact status.
173
- 5. Evaluate conditional gates (only load what triggers).
99
+ ### New Mobile Change
100
+ 1. `acfm-spec-workflow` status/init checks.
101
+ 2. Session-start memory recall (`acfm-memory`).
102
+ 3. Start change (`openspec-new-change` or `openspec-ff-change`).
103
+ 4. Build artifacts (`openspec-continue-change`).
104
+ 5. Trigger and run only needed conditional skills.
174
105
  6. Pass Gate A.
175
- 7. Implement.
176
- 8. Verify.
106
+ 7. Implement (`openspec-apply-change`).
107
+ 8. Verify (`openspec-verify-change`).
177
108
  9. Pass Gate B.
178
- 10. Archive.
109
+ 10. Archive/sync and generate closure docs.
110
+
111
+ ### Existing Mobile Change
112
+ 1. Confirm initialization and target change.
113
+ 2. Run memory recall.
114
+ 3. Refresh artifacts.
115
+ 4. Run only triggered conditional skills.
116
+ 5. Pass Gate A.
117
+ 6. Implement and debug as needed.
118
+ 7. Verify.
119
+ 8. Pass Gate B.
120
+ 9. Archive/sync.
179
121
 
180
122
  ---
181
123
 
182
124
  ## Operational Rules
183
125
 
184
- 1. Run memory recall at the start of every new chat/session before planning or implementation.
185
- 2. Save important reusable context automatically after significant decisions, fixes, or conventions emerge.
186
- 3. Do not load broad quality/documentation skills by default.
187
- 4. Do not run optional skills "just in case".
188
- 5. If risk increases during implementation, activate the matching conditional skill immediately.
189
- 6. Prefer deterministic CLI checks over narrative assumptions.
190
- 7. Keep outputs concise but auditable (show which gates passed/failed and why).
191
-
192
- ---
193
-
194
- ## Suggested Minimal Execution Template
195
-
196
- Use this structure in each run:
197
-
198
- 1. **Change Context**
199
- - Change name
200
- - Current artifact progress
201
-
202
- 2. **Memory Status**
203
- - Session recall completed: yes/no
204
- - Relevant prior decisions/patterns found
205
- - Memory save needed at close: yes/no
206
-
207
- 3. **Triggered Gates**
208
- - Security: pass/fail + reason
209
- - Testing: pass/fail + reason
210
- - Consistency/API/UI/Performance/Context/Debug: pass/fail + reason
211
-
212
- 4. **Skills Loaded**
213
- - Core: always list
214
- - Conditional: list only triggered ones
215
-
216
- 5. **Gate A Status**
217
- - Ready to implement: yes/no
218
-
219
- 6. **Implementation + Verify**
220
- - What was implemented
221
- - Verify findings summary
222
-
223
- 7. **Gate B Status**
224
- - Ready to archive: yes/no
225
-
226
- 8. **Archive Result**
227
- - Archive path and timestamp
228
-
229
- ---
230
-
231
- ## Token Strategy Summary
232
-
233
- `ac-lite` reduces cost by replacing "load everything first" with:
234
-
235
- - Mandatory core workflow only
236
- - Risk-gated skill expansion
237
- - Hard quality checkpoints at implementation and archive boundaries
238
-
239
- This preserves software quality while avoiding unnecessary instruction/context overhead.
126
+ 1. Do not load non-triggered skills "just in case".
127
+ 2. Do not implement before platform/stack is explicit.
128
+ 3. If risk increases, load matching skill immediately.
129
+ 4. Keep outputs concise and auditable (which gates passed/failed and why).
130
+ 5. Save reusable memory at significant milestones.