vibeostheog 0.25.0 → 0.25.3

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,53 @@
1
+ ## 0.25.3
2
+ - fix: model lock now blocks auto-reconcile and cascade slot rewrites
3
+ - fix: reduce pattern learner noise with self-pair exclusion, sessions threshold, quality gate (#171)
4
+ - feat: real cascade pipeline integration tests (21 tests)
5
+ - fix: blackbox infinite loop, detect-secrets dedup, TDD context gate, delegation savings threshold (#172)
6
+ - fix: prefer trinity slot in footer over stale OpenCode config
7
+ - test: real integration tests for quality pipeline fixes (PRs #171 + #172) (#173)
8
+ - fix: isolate flow-rules.json from test pollution via VIBEOS_FLOW_RULES_PATH env var (#174)
9
+ - test: replace toy integration tests with real behavior assertions (v2) (#175)
10
+ - test: fix 5 worst toy test files - add real assertions (#176)
11
+ - fix: use learned cascade routing in vibeultrax (#177)
12
+ - fix(api-client): auto-reset fallback mode after 60s cooldown
13
+ - Harden live cascade and dashboard startup
14
+ - Merge pull request #178 from DrunkkToys/codex/unified-cascade-hardening
15
+ - Clarify footer brand and regime label
16
+ - Merge pull request #179 from DrunkkToys/codex/footer-brand-separator
17
+ - Keep MCP server up for users
18
+ - Consolidate cascade coverage into one suite
19
+ - Merge pull request #180 from DrunkkToys/codex/cascade-single-suite
20
+ - Integrate vibeultrax coverage into cascade suite
21
+ - Merge pull request #181 from DrunkkToys/codex/cascade-integrate-vibeultrax
22
+ - Add empirical anti-lie guardrail
23
+ - Merge pull request #182 from DrunkkToys/codex/anti-lie-guardrail
24
+
25
+
26
+ ## 0.25.2
27
+ - fix: keep the dashboard MCP server alive
28
+ - docs: README rewrite for Innocence v0.25.0 (UX + ML narrative)
29
+ - test: cover INIT footer icon in e2e
30
+ - test: production-proof regression suite — cleanup 37 dead files, add 11 real-world tests
31
+ Merge pull request #170 from DrunkkToys/codex/dashboard-watchdog
32
+ Fix dashboard local connectivity
33
+ Surface backend version in client status
34
+ Merge pull request #169 from DrunkkToys/codex/clean-production-claim
35
+ Add main-suite cascade regression
36
+ Use experiment router for qmax and ultrax
37
+ Split branded mode roots
38
+ Add production claim verification guard
39
+ Revert "Merge pull request #168 from DrunkkToys/codex/init-footer-icon-regression"
40
+ Merge pull request #168 from DrunkkToys/codex/init-footer-icon-regression
41
+ Refine footer cost storytelling
42
+ Add production claim verification guard
43
+ Strengthen cascade pipeline integration coverage (#167)
44
+ Strengthen cascade pipeline integration coverage
45
+ Merge pull request #166 from DrunkkToys/codex/init-footer-icon-regression
46
+ Clarify vibeqmax mode analysis
47
+ Merge pull request #165 from DrunkkToys/codex/init-footer-icon-regression
48
+ Merge remote-tracking branch 'origin/master' into codex/init-footer-icon-regression
49
+
50
+
1
51
  ## 0.24.31
2
52
  - fix: make footer state truthful
3
53
  - fix: quiet greetings should not inherit stale tdd tags
@@ -207,8 +207,27 @@ textarea{min-height:80px;resize:vertical}
207
207
 
208
208
  <div class="last-update" id="lastUpdate"></div>
209
209
 
210
+ <script src="./vibeos-dashboard-config.js"></script>
210
211
  <script>
211
- const BASE = '';
212
+ function resolveBase() {
213
+ const params = new URLSearchParams(location.search);
214
+ const paramBase = params.get('base');
215
+ if (paramBase) return paramBase.replace(/\/$/, '');
216
+ try {
217
+ const runtimeBase = window.__VIBEOS_DASHBOARD_BASE__;
218
+ if (runtimeBase) {
219
+ const normalized = String(runtimeBase).replace(/\/$/, '');
220
+ localStorage.setItem('vibeos-dashboard-base', normalized);
221
+ return normalized;
222
+ }
223
+ } catch (_) {}
224
+ try {
225
+ const stored = localStorage.getItem('vibeos-dashboard-base');
226
+ if (stored) return stored.replace(/\/$/, '');
227
+ } catch (_) {}
228
+ return '';
229
+ }
230
+ const BASE = resolveBase();
212
231
  let lastStatus = null;
213
232
  let lastSavings = null;
214
233
 
@@ -248,6 +267,7 @@ async function refreshAll() {
248
267
  renderStatus(status);
249
268
  renderSavings(savings);
250
269
  renderModelInfo(status);
270
+ renderBackendInfo(status);
251
271
  setConnection(status);
252
272
  document.getElementById('lastUpdate').textContent = 'Last updated: ' + new Date().toLocaleTimeString();
253
273
  } catch (e) {
@@ -305,6 +325,7 @@ function renderBackendInfo(s) {
305
325
  const el = document.getElementById('backendInfo');
306
326
  el.innerHTML = `
307
327
  <div class="row"><span class="label">Connected</span><span class="value ${s.backend_connected ? 'green' : 'red'}">${s.backend_connected ? 'Yes' : 'No'}</span></div>
328
+ <div class="row"><span class="label">Backend Version</span><span class="value">${s.backend_version || '-'}</span></div>
308
329
  <div class="row"><span class="label">Health URL</span><span class="value" style="font-size:12px">${s.backend_health_url || '-'}</span></div>
309
330
  `;
310
331
  }
@@ -470,7 +491,7 @@ setInterval(refreshAll, 10000);
470
491
  setInterval(fetchBlackbox, 15000);
471
492
  async function fetchBlackbox() {
472
493
  try {
473
- const resp = await fetch('/blackbox');
494
+ const resp = await fetch(BASE + '/blackbox');
474
495
  if (!resp.ok) return;
475
496
  const data = await resp.json();
476
497
  updateBlackboxPanel(data);
@@ -0,0 +1 @@
1
+ window.__VIBEOS_DASHBOARD_BASE__ = "http://127.0.0.1:52508";