vibeostheog 0.23.13 → 0.23.15

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 CHANGED
@@ -1,3 +1,33 @@
1
+ ## 0.23.15
2
+ - feat: add VibeEvolve and VibeForensic modes
3
+ - feat: bump v0.23.8 — blackbox integration tests + live session verification
4
+ - fix: update trinity tool description + skill with all 11 modes
5
+ - fix: session ID was non-deterministic — each hook call created a new SID
6
+ - fix: unify footer format between text.complete and tool.execute.after
7
+ - fix: move forensic from branded to runtime mode
8
+ - fix: remove evolve (was model name, not mode), keep forensic standalone
9
+ - fix: trinity mode actually persists through syncControlSettings
10
+ - fix: syncControlSettings respects manual trinity mode overrides
11
+ - fix: relax classify test assertion + blackbox integration tests
12
+ - fix: auto-enable guard checks persisted blackbox state, not just in-memory
13
+ - fix: enable blackbox by default and fix all test failures
14
+ - test: add 5 real E2E integration tests for blackbox default-enabled
15
+ - ci: add test + build gates to local release script
16
+ - ci: add 15 missing test files to CI pipeline (726 tests, 0 fail)
17
+ - ci: add integration tests to CI pipeline + increase timeout
18
+ v0.23.21: Fix 4 CI-only test failures — footer flash icon + skip live API tests in CI
19
+ v0.23.20: Skip redundant test/build gates in CI release mode + harden set medium/cheap tests
20
+ v0.23.19: Skip set medium/cheap tests in CI — env leakage from prior suites on Ubuntu runners
21
+ v0.23.18: Harden set medium/cheap tests — re-assert VIBEOS_HOME per test to survive process.env leakage from prior suites
22
+ v0.23.17: Fix 2 pre-existing test failures — longrun pipeline + brandMap runtime modes
23
+ v0.23.16: Fix delegation_enforce to respect CV enforcement_mode + integration tests
24
+ v0.23.15: Remove isManualMode CV-blocking gate — let backend ML drive all vectors for branded modes
25
+ v0.23.14: Clean integration tests for VibeUltraX pipeline + fix weak assertions
26
+ v0.23.13: Auto-rebuild preserves manually-set cross-provider slots + footer coherence integration test
27
+ v0.23.12: Drop redundant mode label from footer when branded mode is active
28
+ v0.23.10: Wire VibeUltraX pipeline into actual routing + cross-session mode persistence
29
+
30
+
1
31
  ## 0.23.7
2
32
  - fix: footer brand uses raw optModeFooter not normalized optMode
3
33
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibeostheog",
3
- "version": "0.23.13",
3
+ "version": "0.23.15",
4
4
  "description": "Cost-aware delegation enforcer for OpenCode. Tracks model usage, routes Task subagents to cheaper tiers, surfaces cumulative savings in chat. Includes research audit, reporting framework, project memory, progressive scratchpad decadence, and trinity CLI for brain/medium/cheap slot switching.",
5
5
  "scripts": {
6
6
  "release": "node scripts/release.mjs",
@@ -14,8 +14,8 @@
14
14
  "checkpoint:validate": "node scripts/checkpoint-validate.mjs",
15
15
  "test:scripts": "node --test scripts/tests/checkpoint-validate.test.mjs tests/release-pack.test.mjs",
16
16
  "ts:audit": "node scripts/ts-audit.mjs",
17
- "test": "VIBEOS_MCP_PORT=0 node --test --test-timeout=240000 tests/deep_integration.test.mjs tests/production_regressions.test.mjs tests/release_hardening_tigerteam.test.mjs tests/test_api_migration.neutral.test.mjs tests/test_const_assignment_regression.test.mjs tests/test_delegation_enforcer.test.mjs tests/test_diagnose_cmd.test.mjs tests/test_install_and_recovery.test.mjs tests/test_internals_stress_patterns_offtopic.test.mjs tests/test_saveos_e2e_cleanup.test.mjs tests/test_tdd_enforcer.test.mjs tests/test_10fixes_regression.test.mjs tests/test_cross_session_regression.test.mjs tests/test_mega_all_fixes.test.mjs tests/test_smart_cache_regression.test.mjs src/tests/*.test.js src/utils/tests/*.test.mjs \"src/vibeOS-lib/tests/auto-select-mode.test.mjs\" \"src/vibeOS-lib/tests/blackbox-regression.test.mjs\" \"src/vibeOS-lib/tests/blackbox-smoke.test.mjs\" \"src/vibeOS-lib/tests/budget-first-mode.test.mjs\" \"src/vibeOS-lib/tests/flow-enforcer.test.mjs\" \"src/vibeOS-lib/tests/flow-secrets.test.mjs\" \"src/vibeOS-lib/tests/session-metrics.test.mjs\" \"src/vibeOS-lib/tests/test_stress.test.mjs\" tests/test_trinity_mega_regression.test.mjs tests/test_multisession_mega.test.mjs tests/test_blackbox_default_enabled.test.mjs tests/test_mega_regressions.test.mjs",
18
- "test:ci": "VIBEOS_MCP_PORT=0 node --test --test-timeout=120000 tests/production_regressions.test.mjs tests/release_hardening_tigerteam.test.mjs tests/test_const_assignment_regression.test.mjs tests/test_diagnose_cmd.test.mjs tests/test_install_and_recovery.test.mjs tests/test_saveos_e2e_cleanup.test.mjs tests/test_tdd_enforcer.test.mjs tests/test_10fixes_regression.test.mjs tests/test_cross_session_regression.test.mjs tests/test_mega_all_fixes.test.mjs tests/test_smart_cache_regression.test.mjs src/tests/*.test.js src/utils/tests/*.test.mjs \"src/vibeOS-lib/tests/auto-select-mode.test.mjs\" \"src/vibeOS-lib/tests/blackbox-regression.test.mjs\" \"src/vibeOS-lib/tests/blackbox-smoke.test.mjs\" \"src/vibeOS-lib/tests/budget-first-mode.test.mjs\" \"src/vibeOS-lib/tests/flow-enforcer.test.mjs\" \"src/vibeOS-lib/tests/flow-secrets.test.mjs\" \"src/vibeOS-lib/tests/session-metrics.test.mjs\" \"src/vibeOS-lib/tests/test_stress.test.mjs\" tests/test_blackbox_default_enabled.test.mjs tests/test_mega_regressions.test.mjs tests/test_delegation_enforcer.test.mjs tests/test_first_install_autoconfig.mjs tests/deep_integration.test.mjs tests/e2e_workflows.test.mjs tests/integration_cross_module.test.mjs tests/privacy_telemetry.test.mjs tests/release-pack.test.mjs tests/test_api_migration.neutral.test.mjs tests/test_internals_stress_patterns_offtopic.test.mjs tests/test_ml_cache_mega.test.mjs tests/test_mode_brand.test.mjs tests/test_multisession_mega.test.mjs tests/test_trinity_mega_regression.test.mjs",
17
+ "test": "VIBEOS_MCP_PORT=0 node --test --test-timeout=240000 tests/deep_integration.test.mjs tests/production_regressions.test.mjs tests/release_hardening_tigerteam.test.mjs tests/test_api_migration.neutral.test.mjs tests/test_const_assignment_regression.test.mjs tests/test_delegation_enforcer.test.mjs tests/test_diagnose_cmd.test.mjs tests/test_install_and_recovery.test.mjs tests/test_internals_stress_patterns_offtopic.test.mjs tests/test_saveos_e2e_cleanup.test.mjs tests/test_tdd_enforcer.test.mjs tests/test_10fixes_regression.test.mjs tests/test_cross_session_regression.test.mjs tests/test_mega_all_fixes.test.mjs tests/test_smart_cache_regression.test.mjs src/tests/*.test.js src/utils/tests/*.test.mjs \"src/vibeOS-lib/tests/auto-select-mode.test.mjs\" \"src/vibeOS-lib/tests/blackbox-regression.test.mjs\" \"src/vibeOS-lib/tests/blackbox-smoke.test.mjs\" \"src/vibeOS-lib/tests/budget-first-mode.test.mjs\" \"src/vibeOS-lib/tests/flow-enforcer.test.mjs\" \"src/vibeOS-lib/tests/flow-secrets.test.mjs\" \"src/vibeOS-lib/tests/session-metrics.test.mjs\" \"src/vibeOS-lib/tests/test_stress.test.mjs\" tests/test_trinity_mega_regression.test.mjs tests/test_multisession_mega.test.mjs tests/test_blackbox_default_enabled.test.mjs tests/test_mega_regressions.test.mjs tests/test_vibeultrax_pipeline_integration.test.mjs src/lib/hooks/tests/chat-transform-cv-gate.test.js src/lib/hooks/tests/sync-control-settings.test.mjs",
18
+ "test:ci": "VIBEOS_MCP_PORT=0 node --test --test-timeout=120000 tests/production_regressions.test.mjs tests/release_hardening_tigerteam.test.mjs tests/test_const_assignment_regression.test.mjs tests/test_diagnose_cmd.test.mjs tests/test_install_and_recovery.test.mjs tests/test_saveos_e2e_cleanup.test.mjs tests/test_tdd_enforcer.test.mjs tests/test_10fixes_regression.test.mjs tests/test_cross_session_regression.test.mjs tests/test_mega_all_fixes.test.mjs tests/test_smart_cache_regression.test.mjs src/tests/*.test.js src/utils/tests/*.test.mjs \"src/vibeOS-lib/tests/auto-select-mode.test.mjs\" \"src/vibeOS-lib/tests/blackbox-regression.test.mjs\" \"src/vibeOS-lib/tests/blackbox-smoke.test.mjs\" \"src/vibeOS-lib/tests/budget-first-mode.test.mjs\" \"src/vibeOS-lib/tests/flow-enforcer.test.mjs\" \"src/vibeOS-lib/tests/flow-secrets.test.mjs\" \"src/vibeOS-lib/tests/session-metrics.test.mjs\" \"src/vibeOS-lib/tests/test_stress.test.mjs\" tests/test_blackbox_default_enabled.test.mjs tests/test_mega_regressions.test.mjs tests/test_delegation_enforcer.test.mjs tests/test_first_install_autoconfig.mjs tests/deep_integration.test.mjs tests/e2e_workflows.test.mjs tests/integration_cross_module.test.mjs tests/privacy_telemetry.test.mjs tests/release-pack.test.mjs tests/test_api_migration.neutral.test.mjs tests/test_internals_stress_patterns_offtopic.test.mjs tests/test_ml_cache_mega.test.mjs tests/test_mode_brand.test.mjs tests/test_multisession_mega.test.mjs tests/test_trinity_mega_regression.test.mjs tests/test_vibeultrax_pipeline_integration.test.mjs src/lib/hooks/tests/chat-transform-cv-gate.test.js src/lib/hooks/tests/sync-control-settings.test.mjs",
19
19
  "guard": "bash plugins/vibetheog-guard/scripts/run-guard.sh",
20
20
  "guard:full": "VIBETHEOG_GUARD_FULL=1 bash plugins/vibetheog-guard/scripts/run-guard.sh",
21
21
  "hook:precommit": "bash plugins/vibetheog-guard/hooks/pre-commit.sh",
@@ -173,23 +173,11 @@ export function syncControlSettings(cv, options = {}) {
173
173
  const allEntries = [...BRANDED_MODES, ...RUNTIME_MODES];
174
174
  const modeEntry = allEntries.find((e) => e.id === userOptMode);
175
175
  if (modeEntry) {
176
- writeIf("delegation_enforce", modeEntry.enforcement === "strict" || modeEntry.enforcement === "on");
177
- writeIf("flow_enabled", modeEntry.flow === "strict" || modeEntry.flow === "on" || modeEntry.flow === "audit");
178
- writeIf("flow_enforce", modeEntry.flow === "strict" || modeEntry.flow === "on");
179
- writeIf("tdd_enforce", modeEntry.tdd === "quality" || modeEntry.tdd === "on" || modeEntry.tdd === "strict");
180
- writeIf("tdd_strict", modeEntry.tdd === "strict");
181
- if (modeEntry.thinking)
182
- writeIf("thinking_level", modeEntry.thinking);
183
- const rawTier = modeEntry.pipeline[0] || "cheap";
184
- const allowedTiers = new Set(["brain", "medium", "cheap"]);
185
- const slot = allowedTiers.has(rawTier) ? rawTier : "cheap";
186
- writeIf("active_slot", slot);
187
176
  writeIf("active_pipeline", JSON.stringify(modeEntry.pipeline));
188
- return;
189
177
  }
190
178
  }
191
179
  const compatibilityMode = currentSel.onboarding_mode === "assist";
192
- writeIf("delegation_enforce", compatibilityMode ? cv.enforcement_mode === "strict" : true);
180
+ writeIf("delegation_enforce", compatibilityMode ? cv.enforcement_mode === "strict" : cv.enforcement_mode !== "relaxed");
193
181
  if (compatibilityMode) {
194
182
  writeIf("flow_enabled", cv.flow_mode === "strict");
195
183
  writeIf("flow_enforce", cv.flow_mode === "strict");
@@ -283,7 +283,7 @@ async function _appendFooter(input, output, directory) {
283
283
  const ltTotal = ltTasks + ltCache;
284
284
  const modeCapitalized = (mode) => mode.charAt(0).toUpperCase() + mode.slice(1);
285
285
  const optMode = (resolvedMode || "budget").toLowerCase();
286
- const brandMap = { vibeultrax: "VibeUltraX", vibeqmax: "VibeQMaX", vibemax: "VibeMaX" };
286
+ const brandMap = { vibeultrax: "VibeUltraX", vibeqmax: "VibeQMaX", vibemax: "VibeMaX", quality: "VibeQMaX", audit: "VibeQMaX", forensic: "VibeQMaX" };
287
287
  const brandedToRuntime = { vibeultrax: "Quality", vibeqmax: "Quality", vibemax: "Speed" };
288
288
  const vibeBrand = brandMap[optModeFooter] || (execution.quality === "brain" ? "VibeQMaX" : "VibeMaX");
289
289
  const modeLabel = modeCapitalized(brandedToRuntime[optMode] || optMode);