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 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.