vibeostheog 0.13.22
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/CHANGELOG.md +562 -0
- package/LICENSE +21 -0
- package/README.md +286 -0
- package/model-tiers.sample.json +69 -0
- package/package.json +76 -0
- package/src/index.js +9053 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,562 @@
|
|
|
1
|
+
## 0.13.21
|
|
2
|
+
- fix: blackbox save TTL throttle, export parseJsonc, stress/pattern tests
|
|
3
|
+
- fix: rebuild bundled src/index.js with warn_count and ledger fixes
|
|
4
|
+
- fix: warn_count tracking, est_savings_usd, and ledger reconcile
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## 0.13.20
|
|
8
|
+
- fix: update deepseek/deepseek-v4-flash pricing to /bin/zsh.000146
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## 0.13.19
|
|
12
|
+
- feat: trinity mode budget|quality|speed|longrun|auto command
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## 0.13.18
|
|
16
|
+
- fix: per-session active_slot and optimization_mode in blackbox-state
|
|
17
|
+
- fix: footer model tag shows active slot model instead of hardcoded brain tier
|
|
18
|
+
- refactor: esbuild bundle — single-file vibeeOS.js output
|
|
19
|
+
- chore: v0.13.17
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## 0.13.16
|
|
23
|
+
- fix: auto-mode tier switch in footer (bypass broken system.transform hook)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## 0.13.15
|
|
27
|
+
- feat: progressive benchmark v3 — known-ground-truth scenarios, git isolation, full KPIs
|
|
28
|
+
- feat: tier_bias now enforces active_slot switch via syncControlSettings
|
|
29
|
+
- feat: nightly experiment runner for quality vs budget A/B testing
|
|
30
|
+
- feat: syncControlSettings — mode-driven auto-toggle of all enforcement settings
|
|
31
|
+
- fix: pass loadOptimizationMode() to computeControlVector so auto-mode actually switches tier
|
|
32
|
+
- fix: ledger reconciliation reads usd field, writes total_savings_usd
|
|
33
|
+
- fix: lifetime savings display and auto-mode tier routing
|
|
34
|
+
- fix: align DFLT_SEL and loadSelection defaults with auto-mode
|
|
35
|
+
- fix: align savings tracking fields across all systems
|
|
36
|
+
- fix: optimization_mode now returns effective mode, not input value
|
|
37
|
+
- fix: add setShellDirectory, fix flow-enforcer import path, shell.env directory wiring
|
|
38
|
+
- fix: move applyDecadence import to state.js, add setLastMutationEvent
|
|
39
|
+
- fix: const assignment + missing imports in shell.env hook
|
|
40
|
+
- fix: move .ts stripping to end of deploy (after all copies)
|
|
41
|
+
- fix: remove duplicate exports, add setLastMutationEvent, strip .ts on deploy
|
|
42
|
+
- fix: replace all direct assignments to imported state vars with setters
|
|
43
|
+
- fix: deploy .ts files (they are fixed, no stripping needed)
|
|
44
|
+
- fix: deploy script now excludes .ts files from deployed plugin dir
|
|
45
|
+
- fix: move applyDecadence to state.js where decadence vars are owned
|
|
46
|
+
- fix: missing exports, const assignment bug in applyDecadence, TDD test expectations
|
|
47
|
+
- fix: missing TRINITY_CHEAP/MEDIUM imports in hook files — plugin crashed on load
|
|
48
|
+
- refactor: replace toy scenarios with 6 hard multi-file/architectural scenarios
|
|
49
|
+
- refactor: regime-driven autoSelectMode, remove savings_goal_usd
|
|
50
|
+
- docs: update README, AGENTS, LIVE_DEBUG for regime-driven autoSelectMode
|
|
51
|
+
- docs: add LIVE_BUG section, ML/smart-cache tests, TDD live prompts
|
|
52
|
+
- chore: sync compiled JS with TS savings fixes
|
|
53
|
+
- chore: remove experiment artifacts, ignore experiments/ dir
|
|
54
|
+
- chore: sync compiled index.js with TS source
|
|
55
|
+
- chore: v0.13.11
|
|
56
|
+
- chore: v0.13.10
|
|
57
|
+
- chore: v0.13.9
|
|
58
|
+
- chore: v0.13.8
|
|
59
|
+
- chore: v0.13.7
|
|
60
|
+
0.13.14
|
|
61
|
+
0.13.13
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
## 0.13.11
|
|
65
|
+
- fix: use setters for all imported state vars (ES module bindings are read-only)
|
|
66
|
+
- fix: add setLastMutationEvent, remove duplicate exports in state.js
|
|
67
|
+
- fix: deploy script strips .ts files to prevent runtime conflicts
|
|
68
|
+
- refactor: LIVE_DEBUG 136/137 pass, neutral env clean
|
|
69
|
+
|
|
70
|
+
## 0.13.10
|
|
71
|
+
- fix: move applyDecadence to state.js where _lastDecadenceRun is owned
|
|
72
|
+
- fix: add missing TRINITY_CHEAP/MEDIUM, trendDisplay, scoreStress, remoteCall exports
|
|
73
|
+
- docs: add LIVE_DEBUG.md with 87 prompt tests
|
|
74
|
+
|
|
75
|
+
## 0.13.9
|
|
76
|
+
- fix: deploy script missing src/lib/ — plugin hooks failed silently, no footer rendered
|
|
77
|
+
|
|
78
|
+
## 0.13.8
|
|
79
|
+
- docs: add LIVE_DEBUG.md with 87 prompt tests across 18 categories
|
|
80
|
+
|
|
81
|
+
## 0.13.7
|
|
82
|
+
- chore: release bump
|
|
83
|
+
|
|
84
|
+
## 0.13.6
|
|
85
|
+
- feat: web dashboard sidecar with SolidJS SPA, SSE, and standalone server
|
|
86
|
+
- docs: add rule 7 — don't lie about tool execution, ask once
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
## 0.13.5
|
|
90
|
+
- refactor: extract 16 modules (7207 lines) from src/index.ts into src/lib/
|
|
91
|
+
- fix: ES module binding divergence — add setters for mutable state
|
|
92
|
+
- fix: missing imports, directory→projectDirectory rename, loadCredit import
|
|
93
|
+
- fix: TDD auto-generated artifact cleanup
|
|
94
|
+
|
|
95
|
+
## 0.13.4
|
|
96
|
+
- feat: blackbox dynamically controls thinking mode per sub-regime for cost savings
|
|
97
|
+
- feat: complete remote API migration — dual-path scoreStress, patternsObserve/Record, TDD exports with local fallback + neutral env test
|
|
98
|
+
- feat: complete remote API migration — dual-path scoreStress, patternsObserve/Record, TDD exports with local fallback
|
|
99
|
+
- feat: blackbox ML enhancements — real features, loop prevention, pivot detection, outcome tracking, calibration
|
|
100
|
+
- feat: v0.10.0 — 6 enhancement phases implemented
|
|
101
|
+
- feat: WordPress integration - atomic seat+token creation
|
|
102
|
+
- feat: Phase 2 - Integrate remote API client into plugin runtime
|
|
103
|
+
- feat: Phase 1 - Remote API server for protected algorithms
|
|
104
|
+
- feat: CodeX MCP server and dashboard sidebar plugin integration
|
|
105
|
+
- feat: vibeOS TUI dashboard sidebar plugin
|
|
106
|
+
- fix: add setToolDirectory export to tool-execute.ts, skip pre-commit hooks in release.mjs
|
|
107
|
+
- fix: release.mjs — add missing closing brace for deploy else block
|
|
108
|
+
- fix: stabilize refactored modules — ES module bindings, setters, missing imports
|
|
109
|
+
- fix: flow-enforcer race condition, blackbox default ON, dynamic footer
|
|
110
|
+
- fix: lock model name, enforcement logging, TDD framework detection, cache display rounding
|
|
111
|
+
- fix: validateState sessions object, remove stale report writes, drop dead code
|
|
112
|
+
- fix: state validation, flow TODO dedup, session checkpointing, fetch verification
|
|
113
|
+
- fix: _appendFooter full model names, → arrow, inline stress; 361/362 pass
|
|
114
|
+
- fix: atomic state writes, safeJsonParse in flow-enforcer, hook error handling (#15)
|
|
115
|
+
- fix: model split always shown, stress inline in footer, not separate line
|
|
116
|
+
- fix: footer uses slot model name, → arrow, inline stress always, remove session-report writes, disable blackbox default
|
|
117
|
+
- fix: sync second footer builder in tool.execute.after with new template
|
|
118
|
+
- fix: compact footer with inline stress gauge, full model names, robust test assertions
|
|
119
|
+
- fix: footer uses trinity tier model name, all 362 tests pass
|
|
120
|
+
- fix: resolve pricing cache corruption, improve TODO extraction, and tune delegation savings
|
|
121
|
+
- fix: use dynamic mcp port fallback
|
|
122
|
+
- fix: handle mcp server close-reopen race
|
|
123
|
+
- fix: await mcp server startup
|
|
124
|
+
- fix: harden prompt send and unblock typecheck
|
|
125
|
+
- fix: sync opencode.json model with brain tier, restore footer icons (trend arrows, stress gauge)
|
|
126
|
+
- fix: deploy script missing vibeOS-api-server/ directory
|
|
127
|
+
- fix: footer prepended to output.output, fix tests, remove stale vibeOS/ directory
|
|
128
|
+
- fix: migrate footer from context-polluting text.complete to UI-only output.title
|
|
129
|
+
- fix: restore experimental.text.complete and message.updated hooks lost during stash
|
|
130
|
+
- fix: ensure model-tiers.json is created when no model is detected
|
|
131
|
+
- fix: update trinity status test for new dashboard format
|
|
132
|
+
- fix: compute cache savings from actual file size, remove /bin/zsh.001 floor, fix state corruption from flow_warns overwrite
|
|
133
|
+
- fix: add proper named export for auto-discovery, fix function closure
|
|
134
|
+
- fix: add startup toast to verify TUI plugin function execution
|
|
135
|
+
- fix: add auto-activation to sync script, add sidebar widget diagnostics
|
|
136
|
+
- fix: restore vibeOS sidebar dashboard widget, fix plugin path in opencode config
|
|
137
|
+
- fix: add size guard to readJsonOrEmpty to prevent OOM on massive state files
|
|
138
|
+
- fix: add generation counter + concurrent-write detection to updateState
|
|
139
|
+
- fix: dedup double footer from competing message.updated / text.complete hooks
|
|
140
|
+
- fix: append ledger entry in recordSaving() and recordCacheSaving()
|
|
141
|
+
- fix: make MCP server close() async, export closeMcpServer for test cleanup
|
|
142
|
+
- fix: isolate tests from real config (chdir sandbox, VIBEOS_MCP_PORT=0, HOME cleanup)
|
|
143
|
+
- fix: release/deploy synced lib deps - blackbox missing caused footer (and all hooks) to disappear
|
|
144
|
+
- fix: resolution-tracker thresholds - isConverging >=0.5, detectLoop Jaccard 0.6, isRefining >-0.01
|
|
145
|
+
- perf: conditional directive injection — skip TDD/FLOW/orchestrator when control vector signals relaxed mode
|
|
146
|
+
- refactor: merge extracted modules into src/index.ts (6656→1061 lines)
|
|
147
|
+
- refactor: extract 16 modules (7207 lines) from src/index.ts into src/lib/
|
|
148
|
+
- refactor: swap blackbox import to LocalBlackboxStub (forensic)
|
|
149
|
+
- refactor: blackbox moved to API-server-only — plugin uses local stub
|
|
150
|
+
- refactor: rename CodeX MCP server to vibeOS MCP server
|
|
151
|
+
- docs: add final stabilization campaign report (#14)
|
|
152
|
+
- docs: add stabilization audit reports for sessions 02-06 and 09 (#13)
|
|
153
|
+
- docs: add stabilization baseline report (#12)
|
|
154
|
+
- docs: update README and AGENTS for remote API protection (Phase 1+2)
|
|
155
|
+
- docs: fix brand name, update AGENTS line count, document shell.env hook
|
|
156
|
+
- docs: update README and AGENTS for v0.9.1 features
|
|
157
|
+
- test: add cross-session restart E2E test (BUG 10)
|
|
158
|
+
- chore: remove TDD auto-generated test artifacts
|
|
159
|
+
- chore: hardcode public VIBEOS_API_TOKEN as default
|
|
160
|
+
- chore: bump to 0.11.0 — blackbox ML engine, loop prevention, pivot detection, API-only architecture
|
|
161
|
+
- chore: replace diagnostic log with visible toast
|
|
162
|
+
- chore: add secrets to .gitignore (.env.production, PRODUCTION-CREDENTIALS.md)
|
|
163
|
+
- ci: add vibeOS test workflow
|
|
164
|
+
- chore: v0.9.1
|
|
165
|
+
bump 0.13.2 — state.ts stub exports, fix ESM import errors
|
|
166
|
+
bump 0.13.1 — trinity optimize (5 modes + auto), compaction every 10 turns, state.ts stub exports
|
|
167
|
+
Merge pull request #18 from DrunkkToys/revert/low-value-api-migration
|
|
168
|
+
revert: undo low-value API migration — scoreStress, extractExports, patterns back to local-only
|
|
169
|
+
Merge pull request #17 from DrunkkToys/feat/remote-api-migration
|
|
170
|
+
test nested
|
|
171
|
+
test api put
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
## 0.13.3
|
|
175
|
+
- feat: blackbox dynamically controls thinking mode per sub-regime for cost savings
|
|
176
|
+
- feat: complete remote API migration — dual-path scoreStress, patternsObserve/Record, TDD exports with local fallback + neutral env test
|
|
177
|
+
- feat: complete remote API migration — dual-path scoreStress, patternsObserve/Record, TDD exports with local fallback
|
|
178
|
+
- feat: blackbox ML enhancements — real features, loop prevention, pivot detection, outcome tracking, calibration
|
|
179
|
+
- feat: v0.10.0 — 6 enhancement phases implemented
|
|
180
|
+
- feat: WordPress integration - atomic seat+token creation
|
|
181
|
+
- feat: Phase 2 - Integrate remote API client into plugin runtime
|
|
182
|
+
- feat: Phase 1 - Remote API server for protected algorithms
|
|
183
|
+
- feat: CodeX MCP server and dashboard sidebar plugin integration
|
|
184
|
+
- feat: vibeOS TUI dashboard sidebar plugin
|
|
185
|
+
- fix: release.mjs — add missing closing brace for deploy else block
|
|
186
|
+
- fix: stabilize refactored modules — ES module bindings, setters, missing imports
|
|
187
|
+
- fix: flow-enforcer race condition, blackbox default ON, dynamic footer
|
|
188
|
+
- fix: lock model name, enforcement logging, TDD framework detection, cache display rounding
|
|
189
|
+
- fix: validateState sessions object, remove stale report writes, drop dead code
|
|
190
|
+
- fix: state validation, flow TODO dedup, session checkpointing, fetch verification
|
|
191
|
+
- fix: _appendFooter full model names, → arrow, inline stress; 361/362 pass
|
|
192
|
+
- fix: atomic state writes, safeJsonParse in flow-enforcer, hook error handling (#15)
|
|
193
|
+
- fix: model split always shown, stress inline in footer, not separate line
|
|
194
|
+
- fix: footer uses slot model name, → arrow, inline stress always, remove session-report writes, disable blackbox default
|
|
195
|
+
- fix: sync second footer builder in tool.execute.after with new template
|
|
196
|
+
- fix: compact footer with inline stress gauge, full model names, robust test assertions
|
|
197
|
+
- fix: footer uses trinity tier model name, all 362 tests pass
|
|
198
|
+
- fix: resolve pricing cache corruption, improve TODO extraction, and tune delegation savings
|
|
199
|
+
- fix: use dynamic mcp port fallback
|
|
200
|
+
- fix: handle mcp server close-reopen race
|
|
201
|
+
- fix: await mcp server startup
|
|
202
|
+
- fix: harden prompt send and unblock typecheck
|
|
203
|
+
- fix: sync opencode.json model with brain tier, restore footer icons (trend arrows, stress gauge)
|
|
204
|
+
- fix: deploy script missing vibeOS-api-server/ directory
|
|
205
|
+
- fix: footer prepended to output.output, fix tests, remove stale vibeOS/ directory
|
|
206
|
+
- fix: migrate footer from context-polluting text.complete to UI-only output.title
|
|
207
|
+
- fix: restore experimental.text.complete and message.updated hooks lost during stash
|
|
208
|
+
- fix: ensure model-tiers.json is created when no model is detected
|
|
209
|
+
- fix: update trinity status test for new dashboard format
|
|
210
|
+
- fix: compute cache savings from actual file size, remove /bin/zsh.001 floor, fix state corruption from flow_warns overwrite
|
|
211
|
+
- fix: add proper named export for auto-discovery, fix function closure
|
|
212
|
+
- fix: add startup toast to verify TUI plugin function execution
|
|
213
|
+
- fix: add auto-activation to sync script, add sidebar widget diagnostics
|
|
214
|
+
- fix: restore vibeOS sidebar dashboard widget, fix plugin path in opencode config
|
|
215
|
+
- fix: add size guard to readJsonOrEmpty to prevent OOM on massive state files
|
|
216
|
+
- fix: add generation counter + concurrent-write detection to updateState
|
|
217
|
+
- fix: dedup double footer from competing message.updated / text.complete hooks
|
|
218
|
+
- fix: append ledger entry in recordSaving() and recordCacheSaving()
|
|
219
|
+
- fix: make MCP server close() async, export closeMcpServer for test cleanup
|
|
220
|
+
- fix: isolate tests from real config (chdir sandbox, VIBEOS_MCP_PORT=0, HOME cleanup)
|
|
221
|
+
- fix: release/deploy synced lib deps - blackbox missing caused footer (and all hooks) to disappear
|
|
222
|
+
- fix: resolution-tracker thresholds - isConverging >=0.5, detectLoop Jaccard 0.6, isRefining >-0.01
|
|
223
|
+
- perf: conditional directive injection — skip TDD/FLOW/orchestrator when control vector signals relaxed mode
|
|
224
|
+
- refactor: merge extracted modules into src/index.ts (6656→1061 lines)
|
|
225
|
+
- refactor: extract 16 modules (7207 lines) from src/index.ts into src/lib/
|
|
226
|
+
- refactor: swap blackbox import to LocalBlackboxStub (forensic)
|
|
227
|
+
- refactor: blackbox moved to API-server-only — plugin uses local stub
|
|
228
|
+
- refactor: rename CodeX MCP server to vibeOS MCP server
|
|
229
|
+
- docs: add final stabilization campaign report (#14)
|
|
230
|
+
- docs: add stabilization audit reports for sessions 02-06 and 09 (#13)
|
|
231
|
+
- docs: add stabilization baseline report (#12)
|
|
232
|
+
- docs: update README and AGENTS for remote API protection (Phase 1+2)
|
|
233
|
+
- docs: fix brand name, update AGENTS line count, document shell.env hook
|
|
234
|
+
- docs: update README and AGENTS for v0.9.1 features
|
|
235
|
+
- test: add cross-session restart E2E test (BUG 10)
|
|
236
|
+
- chore: remove TDD auto-generated test artifacts
|
|
237
|
+
- chore: hardcode public VIBEOS_API_TOKEN as default
|
|
238
|
+
- chore: bump to 0.11.0 — blackbox ML engine, loop prevention, pivot detection, API-only architecture
|
|
239
|
+
- chore: replace diagnostic log with visible toast
|
|
240
|
+
- chore: add secrets to .gitignore (.env.production, PRODUCTION-CREDENTIALS.md)
|
|
241
|
+
- ci: add vibeOS test workflow
|
|
242
|
+
- chore: v0.9.1
|
|
243
|
+
bump 0.13.2 — state.ts stub exports, fix ESM import errors
|
|
244
|
+
bump 0.13.1 — trinity optimize (5 modes + auto), compaction every 10 turns, state.ts stub exports
|
|
245
|
+
Merge pull request #18 from DrunkkToys/revert/low-value-api-migration
|
|
246
|
+
revert: undo low-value API migration — scoreStress, extractExports, patterns back to local-only
|
|
247
|
+
Merge pull request #17 from DrunkkToys/feat/remote-api-migration
|
|
248
|
+
test nested
|
|
249
|
+
test api put
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
## 0.13.2
|
|
253
|
+
|
|
254
|
+
- fix: add missing stub exports to `state.ts` (computeSavingsPayload, computeStatusPayload, etc.) to resolve ESM import errors in pre-commit hooks and isolated tests
|
|
255
|
+
- fix: sync all compiled `.js` artifacts from `dist-ts/` to `src/lib/` to fix test environment imports
|
|
256
|
+
|
|
257
|
+
## 0.13.1
|
|
258
|
+
|
|
259
|
+
- feat: `trinity optimize` command — 5 session-level modes (budget/quality/speed/longrun/auto) with cache-savings-driven auto switching
|
|
260
|
+
- feat: blackbox `OptimizationMode` delta tables — per-mode overrides for all 10 control knobs
|
|
261
|
+
- feat: turn counter + proactive context compaction every 10 turns
|
|
262
|
+
- feat: `autoSelectMode()` — auto switches budget/balanced/quality per sub-regime based on session cache savings
|
|
263
|
+
- feat: footer optimization mode tag (`[BUDGET]`, `[QUALITY]`, `[SPEED]`, `[LONGRUN]`, `[AUTO→BUDGET]`)
|
|
264
|
+
- feat: per-session mode persistence in `blackbox-state.json` (resets to `auto` on restart)
|
|
265
|
+
- feat: mode-specific system prompt directive injection
|
|
266
|
+
- feat: mode locked for session — blackbox CANNOT override user-set mode
|
|
267
|
+
|
|
268
|
+
## 0.13.0
|
|
269
|
+
|
|
270
|
+
- refactor: extract 16 modules from src/index.ts into src/lib/ (state, pricing, trinity, TDD, hooks, reporting, research-audit, api-client, credit-api, turn-classify, index-helpers)
|
|
271
|
+
- feat: blackbox dynamically controls thinking mode per sub-regime for cost savings
|
|
272
|
+
- fix: flow-enforcer race condition, blackbox default ON, dynamic footer improvement
|
|
273
|
+
- fix: lock model name, enforcement logging, TDD framework detection, cache display rounding
|
|
274
|
+
- perf: conditional directive injection — skip TDD/FLOW/orchestrator when control vector signals relaxed mode
|
|
275
|
+
- fix: model split always shown, stress inline in footer, not separate line
|
|
276
|
+
- fix: atomic state writes, safeJsonParse in flow-enforcer, hook error handling
|
|
277
|
+
- perf: inline stress in footer, remove session-report writes, disable blackbox default
|
|
278
|
+
- docs: AGENTS.md updated — 8 hooks (added session.compacting), new src/lib/ architecture
|
|
279
|
+
- docs: README updated — added Architecture section with src/lib/ module descriptions
|
|
280
|
+
|
|
281
|
+
## 0.12.0 (production readiness stabilisation)
|
|
282
|
+
|
|
283
|
+
- feat: production-ready feature inventory and documentation reconciliation
|
|
284
|
+
- feat: complete test coverage — 362 passing tests, all skeleton files filled
|
|
285
|
+
- fix: error handling — added null-safe DelegationEnforcer default parameter
|
|
286
|
+
- fix: error handling — wrapped all scratchpad I/O in try/catch guards
|
|
287
|
+
- fix: error handling — safeJsonParse adopted in parseJsonc for JSONC tolerance
|
|
288
|
+
- fix: state file integrity — atomic write-then-rename for all 7 state file writers
|
|
289
|
+
- fix: state file integrity — corruption recovery with backup + logging for all 8 readers
|
|
290
|
+
- fix: state file integrity — 10MB size limits prevent OOM on corrupt files
|
|
291
|
+
- fix: MCP server — CORS headers, request logging, input validation, path traversal protection
|
|
292
|
+
- fix: API server — input validation, error handling, SQL injection protection on all 15 route files
|
|
293
|
+
- fix: API server — auth middleware hardening (suspended seat handling, master key auth)
|
|
294
|
+
- fix: scripts — demo_timer.mjs corruption fix, release.mjs syntax fix, sync-ts-build.mjs mapping fix
|
|
295
|
+
- fix: CI/CD — node 20/22 matrix, build step, new release.yml workflow
|
|
296
|
+
- fix: build chain — orphaned dist-ts/ artifacts removed, all TS file mappings verified
|
|
297
|
+
- docs: AGENTS.md — added 7th hook, 8 missing .ts files, 9 missing state files
|
|
298
|
+
- docs: README — added 4 env vars, 3 trinity commands
|
|
299
|
+
|
|
300
|
+
## 0.11.0
|
|
301
|
+
- feat: per-session model lock (`trinity lock on|off`) — prevents auto-reconcile with OpenCode config changes
|
|
302
|
+
- feat: lock status shown in `trinity status` guards and live footer (`LOCK` tag)
|
|
303
|
+
- feat: blackbox real feature extraction — 11 derived features per turn (word count, question ratio, urgency, sentiment, complexity, etc.)
|
|
304
|
+
- feat: blackbox loop prevention — 4-level escalating intervention (gentle → suggestive → assertive → escalated) injected into system prompts
|
|
305
|
+
- feat: blackbox PIVOT/SWITCH detection — detects context changes outside project scope via drift rate + instruction density change
|
|
306
|
+
- feat: blackbox outcome tracking — detects satisfaction signals from assistant responses (positive/negative/neutral)
|
|
307
|
+
- feat: blackbox online calibration — `POST /api/v1/blackbox/calibrate` auto-tunes thresholds from session outcomes per project
|
|
308
|
+
- feat: blackbox cross-session continuity — project-scoped session keys (not PID), state persists across terminal restarts
|
|
309
|
+
- feat: blackbox API server unification — API server now imports shared ResolutionTracker (removed duplicate implementation)
|
|
310
|
+
- feat: `blackbox_calibration` SQLite table for per-project calibrated weights
|
|
311
|
+
- feat: `blackbox_sessions` now includes outcome column, `/api/v1/blackbox/outcome`, `/api/v1/blackbox/calibration`, `/api/v1/blackbox/project-sessions` endpoints
|
|
312
|
+
- refactor: blackbox moved to API-server-only — plugin uses local stub, full engine runs on server
|
|
313
|
+
- docs: README and AGENTS updated with model lock, blackbox engine, and calibration documentation
|
|
314
|
+
|
|
315
|
+
## 0.9.3
|
|
316
|
+
- fix: MCP server now starts during DelegationEnforcer init (was trapped in orphaned computeStatusPayload)
|
|
317
|
+
- fix: add mcp_port auto-write to model-tiers.json on init
|
|
318
|
+
- fix: initialize cache_savings_usd in state file on first write
|
|
319
|
+
- fix: deploy.mjs now copies vibeOS-lib/ (including blackbox) and vibeOS-mcp-server.js
|
|
320
|
+
|
|
321
|
+
## 0.9.2
|
|
322
|
+
- fix: resolution-tracker thresholds — isConverging `> 0.5` → `>= 0.5`
|
|
323
|
+
- fix: resolution-tracker thresholds — detectLoop Jaccard 0.8 → 0.6
|
|
324
|
+
- fix: resolution-tracker thresholds — isRefining `entropyTrend >= 0` → `> -0.01`
|
|
325
|
+
- test: add blackbox evaluation harness with per-regime precision/recall/F1
|
|
326
|
+
|
|
327
|
+
## 0.9.1
|
|
328
|
+
- feat: vibeOS MCP server HTTP API
|
|
329
|
+
- feat: vibeOS TUI dashboard sidebar plugin
|
|
330
|
+
- chore: sync-ts-build and flow-enforcer enhancements
|
|
331
|
+
|
|
332
|
+
## 0.9.0
|
|
333
|
+
- feat: stress-mitigation pipeline — detect, warn, harden, reroute
|
|
334
|
+
- fix: TDD skeleton now fires for task subagent file writes
|
|
335
|
+
- fix: smart sub-cent display and 4dp precision for cache savings
|
|
336
|
+
- fix: _refreshModel now reconciles with actual opencode.json model
|
|
337
|
+
- refactor: full decouple — VibeTheOG → vibeOS branding, dirs, reports, test paths
|
|
338
|
+
- docs: add AGENTS.md — immutable project spec for all LLMs
|
|
339
|
+
Merge pull request #1 from DrunkkToys/experiment/process-data-py
|
|
340
|
+
Document pattern learner commands and claimed feature
|
|
341
|
+
Add routine-pattern promotion regression test
|
|
342
|
+
fix telemetry precision and cross-project session linkage
|
|
343
|
+
rename: VibeTheOG → vibeOS
|
|
344
|
+
rename to VibeTheOG and fix OpenCode manifest/plugin path consistency
|
|
345
|
+
release: bump to v0.8.0 and sync stability hardening
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
# Changelog
|
|
349
|
+
|
|
350
|
+
## 0.8.1
|
|
351
|
+
|
|
352
|
+
- fix: reduce dummy actions by gating auto TDD skeleton creation to explicit test intent (or direct test-path edits)
|
|
353
|
+
- feat: add active-job persistence and off-topic detection to prompt for scope confirmation before write/edit/task actions
|
|
354
|
+
- chore: patch release bump and docs version sync
|
|
355
|
+
|
|
356
|
+
## 0.8.0
|
|
357
|
+
|
|
358
|
+
- chore: minor release bump for stabilized release candidate
|
|
359
|
+
- test: re-validated first-install flow, slot switching, footer integrity, and neutral-environment gates
|
|
360
|
+
|
|
361
|
+
## 0.7.15
|
|
362
|
+
|
|
363
|
+
- fix: footer tier refresh now follows active slot changes even when model id is unchanged
|
|
364
|
+
- test: added regression coverage for slot-switch tier updates and stabilized classify fixtures
|
|
365
|
+
- test: neutral-environment validation (`env -i`) re-run before release bump
|
|
366
|
+
|
|
367
|
+
## 0.7.14
|
|
368
|
+
|
|
369
|
+
- test: release hardening pass with expanded adversarial coverage (20 tiger-team checks) and full gate validation
|
|
370
|
+
- test: neutral-environment parity validation (`env -i`) confirms typecheck/build/test stability matches baseline
|
|
371
|
+
- test: pre-existing failing write-enforcement test fixed via deterministic model-tiers fixture setup
|
|
372
|
+
- chore: add checkpoint reliability tooling
|
|
373
|
+
- new `checkpoint-template.md` for structured session handoff
|
|
374
|
+
- new `scripts/checkpoint-validate.mjs` for schema validation (sections, task IDs/states, diff-stat evidence, handoff checklist)
|
|
375
|
+
- new `scripts/tests/checkpoint-validate.test.mjs` with pass/fail fixture coverage
|
|
376
|
+
- new npm scripts: `checkpoint:validate`, `test:scripts`
|
|
377
|
+
- docs: release readiness and SI/cross-session validation workflow standardized for safer iteration
|
|
378
|
+
|
|
379
|
+
## 0.7.13
|
|
380
|
+
|
|
381
|
+
- fix: production plugin load hardening — remove hidden `../utils/timer.js` dependency from `session-metrics.js`
|
|
382
|
+
- fix: plugin install payload completeness — include `src/VibeTheOG-lib/session-metrics.js` in desktop sync set
|
|
383
|
+
- fix: runtime config compatibility — remove invalid `plugins` key usage from `opencode.json` workflow assumptions
|
|
384
|
+
- fix: config reader robustness — support both `opencode.json` and `opencode.jsonc` (including JSONC comments/trailing commas)
|
|
385
|
+
- fix: applySlot safety — prefer project-local `opencode.json` to avoid accidental global provider/dropdown mutations
|
|
386
|
+
- test: deep neutral-environment validation (`env -i`) for full suite + build + runtime plugin load (`opencode models deepseek`)
|
|
387
|
+
- docs: README version/install sync updated to match actual runtime dependencies and file paths
|
|
388
|
+
|
|
389
|
+
## 0.7.12
|
|
390
|
+
|
|
391
|
+
- chore: TDD strict defaults, flow enforcer improvements, release tooling
|
|
392
|
+
- change: TDD strict mode now defaults to ON (`selection.tdd_strict !== false`)
|
|
393
|
+
- feat: `trinity tdd strict on|off` command to control strict failing TODO templates
|
|
394
|
+
- docs: sample config + README updated for TDD strict defaults and command
|
|
395
|
+
|
|
396
|
+
## 0.7.10
|
|
397
|
+
|
|
398
|
+
- feat: compact immutable footer format: `— [model route] | VibeTheOG: X.XX saved ↑|↓|→ —`
|
|
399
|
+
- change: remove noisy footer breakdown segments (flow/tool/rate/duration) from chat footer
|
|
400
|
+
- change: model usage percentages now show only when both brain and worker are actually used
|
|
401
|
+
- test: added footer format contract test to prevent accidental format drift
|
|
402
|
+
|
|
403
|
+
## 0.7.9
|
|
404
|
+
|
|
405
|
+
- change: delegation enforcement now defaults to ON (`delegation_enforce !== false`) for safer cost control
|
|
406
|
+
- change: first-run auto-generated `model-tiers.json` now includes `"delegation_enforce": true`
|
|
407
|
+
- docs: sample config updated to show delegation enforcement enabled by default
|
|
408
|
+
|
|
409
|
+
## 0.7.8
|
|
410
|
+
|
|
411
|
+
- fix: auto-sync no longer overwrites valid model-tiers.json entries with guessed provider-prefixed IDs
|
|
412
|
+
- fix: provider model IDs now use correct provider prefix (e.g. `deepseek/`) instead of generic `opencode/`
|
|
413
|
+
- fix: task routing skips medium slot when it matches the brain model (fallback to cheap)
|
|
414
|
+
- fix: delegation_enforce defaults to opt-in (`=== true`) instead of opt-out (`!== false`)
|
|
415
|
+
- fix: null-safety guard for enforcement block when no args passed
|
|
416
|
+
- fix: first-install auto-config populates all trinity slots even with single-model fallback
|
|
417
|
+
|
|
418
|
+
## 0.7.3
|
|
419
|
+
|
|
420
|
+
- feat: always sync model-tiers.json with opencode.json on every session start (not just first install)
|
|
421
|
+
- feat: detects ALL models from user config — both `provider` dropdown models AND top-level `model` field
|
|
422
|
+
- fix: only writes to model-tiers.json if detected models differ from current config (no unnecessary writes)
|
|
423
|
+
|
|
424
|
+
## 0.7.2
|
|
425
|
+
|
|
426
|
+
- feat: auto-create model-tiers.json on first install from opencode desktop provider models (sniffs models from the dropdown menu, no manual config needed)
|
|
427
|
+
- fix: TRINITY_CHEAP/MEDIUM are now mutable so auto-config can refresh them immediately after bootstrap
|
|
428
|
+
|
|
429
|
+
## 0.6.0
|
|
430
|
+
|
|
431
|
+
- feat: enhanced live footer with trend indicators (↑↓→), session duration, savings rate/hr
|
|
432
|
+
- feat: per-tool cost breakdown in footer (edit, webfetch, context7, quota, etc.)
|
|
433
|
+
- feat: model usage distribution percentage in footer tag (e.g. [🧠 60% → ⚡ 40%])
|
|
434
|
+
- feat: cache savings displayed as separate line item in footer
|
|
435
|
+
- feat: trend analysis comparing current session rate vs previous sessions
|
|
436
|
+
- perf: extended readLifetimeSavings() to return sesDuration, sesRatePerHour, sesTrend, sesToolBreakdown, sesModelTurns
|
|
437
|
+
- docs: updated README with new footer format documentation
|
|
438
|
+
|
|
439
|
+
## 0.5.2
|
|
440
|
+
|
|
441
|
+
- bump: v0.5.2
|
|
442
|
+
|
|
443
|
+
## 0.5.1
|
|
444
|
+
|
|
445
|
+
- fix: `trinity thinking full` now stores `"full"` string instead of `null`
|
|
446
|
+
— status correctly shows "manual" instead of "credit X%"
|
|
447
|
+
— persists regardless of credit drops (true manual override)
|
|
448
|
+
|
|
449
|
+
## 0.5.0
|
|
450
|
+
|
|
451
|
+
- feat: progressive decadence — age-based scratchpad cache rotation
|
|
452
|
+
(5min fresh → 1h warm/summary → 24h cold → 48h delete, 1000 file / 10MB limit)
|
|
453
|
+
- feat: research audit — scans scratchpad index + session state for WebFetch/WebSearch
|
|
454
|
+
anti-patterns (domain chains 3+, redundant queries, context7 bypass)
|
|
455
|
+
- feat: reporting framework — persistent reports with consistent schema
|
|
456
|
+
(auto-saved from research-audit, save/list/read tools, plain-text findings parser)
|
|
457
|
+
- feat: project memory — cross-session continuity via project-states.json
|
|
458
|
+
(session counter, research patterns, one-shot briefing on fresh session)
|
|
459
|
+
- feat: research-audit, report-save, report-list, report-read tools (5 total)
|
|
460
|
+
- fix: _refreshModel no longer forces currentTier="high" for non-brain slots
|
|
461
|
+
- fix: init tier override only fires for brain slot (not all slots)
|
|
462
|
+
- fix: auto-save moved before early return for totalFetches=0
|
|
463
|
+
- fix: saveReport now auto-parses plain-text findings/metrics (JSON fallback)
|
|
464
|
+
- fix: dedup prevents duplicate auto-saves within 5-minute window
|
|
465
|
+
- fix: TTL prune deletes reports >90d, keeps max 200
|
|
466
|
+
- fix: add ={} to all tool execute signatures to prevent destructuring crash
|
|
467
|
+
- fix: null-guard _wouldBeDuplicate for null summary
|
|
468
|
+
- fix: null-guard summary.slice() in report index update
|
|
469
|
+
- test: deep test (43 pass, 0 fail — module, hooks, routing, project memory)
|
|
470
|
+
- test: mid-tier / brain-slot / credit path test (10/10 pass)
|
|
471
|
+
- test: report framework lifecycle (14/14 pass)
|
|
472
|
+
- test: 4 report fixes (plain-text, dedup, TTL, narrative)
|
|
473
|
+
- test: VENV stress test (57 pass, 2 false-positive from test sequencing)
|
|
474
|
+
- perf: atomic lifetime reads — compute ltTasks+ltCache from single session snapshot
|
|
475
|
+
- perf: getLastLines — 5-line/1024-byte tail replaces fragile 200-byte dedup
|
|
476
|
+
- perf: _readHead — 120-byte header-only read for decadence idempotency checks
|
|
477
|
+
|
|
478
|
+
## 0.4.9
|
|
479
|
+
|
|
480
|
+
- chore: bump v0.4.9
|
|
481
|
+
|
|
482
|
+
## 0.4.8
|
|
483
|
+
|
|
484
|
+
- fix: scratchpad hash mismatch — stable JSON key sorting matches CC shasum
|
|
485
|
+
- fix: cross-process log dedup — read file tail instead of per-process cache
|
|
486
|
+
- fix: scratchpad inline size cap — auto-prune >2000 files or >20MB
|
|
487
|
+
- fix: clean up savings tag — remove verbose "delegation + cache" breakdown
|
|
488
|
+
|
|
489
|
+
## 0.4.7
|
|
490
|
+
|
|
491
|
+
- feat: flow enforcer — lightweight dev-flow rule checks on Write/Edit
|
|
492
|
+
(fast-path regex, never blocks, dedup per rule+file per session)
|
|
493
|
+
- feat: `trinity flow` / `trinity flow on|off` — audit and toggle
|
|
494
|
+
- test: 9 new flow enforcer unit tests (64 total)
|
|
495
|
+
- fix: log rotation mtime guard to prevent repeated full-file reads
|
|
496
|
+
|
|
497
|
+
## 0.4.6
|
|
498
|
+
|
|
499
|
+
- test: 6 new stall-fix tests (system.transform, messages.transform, tool.execute.after)
|
|
500
|
+
- fix: only inject thinking directive when manually set via `trinity thinking`
|
|
501
|
+
- refactor: remove auto credit-based thinking injection (caused stalls)
|
|
502
|
+
|
|
503
|
+
## 0.4.5
|
|
504
|
+
|
|
505
|
+
- fix: remove thinking directive from system prompt (caused model stalls)
|
|
506
|
+
- fix: replace imperative "Full content: Read <path>" with neutral cold-storage ref
|
|
507
|
+
- fix: remove Task output compression — brain needs results verbatim
|
|
508
|
+
- fix: only compress webfetch output (HTML/CSS noise)
|
|
509
|
+
|
|
510
|
+
## 0.4.4
|
|
511
|
+
|
|
512
|
+
- fix: dedup session-reports.log writes — skip if line unchanged
|
|
513
|
+
- fix: rotate session-reports.log at 500 lines to prevent unbounded growth
|
|
514
|
+
- fix: add pid to log timestamps to distinguish concurrent writers
|
|
515
|
+
- fix: show delegation vs cache breakdown in savings tag
|
|
516
|
+
- fix: prune stale sessions from delegation-state.json (keep latest 30)
|
|
517
|
+
|
|
518
|
+
## 0.4.2
|
|
519
|
+
|
|
520
|
+
- bump: version 0.4.2
|
|
521
|
+
- feat: credit API balance fetching (DeepSeek + OpenRouter)
|
|
522
|
+
- fix: thinking level defaults to brief instead of off
|
|
523
|
+
- fix: credit default 50% for sane fallback
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
## 0.3.4
|
|
527
|
+
|
|
528
|
+
- bump: version 0.3.4
|
|
529
|
+
|
|
530
|
+
## 0.3.0
|
|
531
|
+
|
|
532
|
+
- bump: version 0.3.0
|
|
533
|
+
|
|
534
|
+
## 0.2.4
|
|
535
|
+
|
|
536
|
+
- bump: version 0.2.4
|
|
537
|
+
|
|
538
|
+
## 0.2.3b
|
|
539
|
+
|
|
540
|
+
- bump: version 0.2.3b
|
|
541
|
+
|
|
542
|
+
## 0.2.3a
|
|
543
|
+
|
|
544
|
+
- bump: version 0.2.3a
|
|
545
|
+
|
|
546
|
+
## 0.2.2
|
|
547
|
+
|
|
548
|
+
- bump: version 0.2.2
|
|
549
|
+
|
|
550
|
+
## 0.2.1
|
|
551
|
+
|
|
552
|
+
- bump: version 0.2.1
|
|
553
|
+
|
|
554
|
+
## 0.2.0
|
|
555
|
+
|
|
556
|
+
- feat: align alert schema with CC hook; add 4 new tests (39 total)
|
|
557
|
+
- fix: align WRITE_EDIT to $0.07 to match bash hook; fix stale test values
|
|
558
|
+
- feat: port CC features to OC plugin + 35 tests all passing
|
|
559
|
+
|
|
560
|
+
## 0.1.0
|
|
561
|
+
|
|
562
|
+
- Initial release — VibeTheOG v3
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 VibeTheOG
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|