f41f309c3f
Stop falsely labeling log-reading tools as failed when they read stack traces
2026-06-15 14:15:17 -07:00
d2d487eb97
Fix ArrowDown import
2026-06-15 13:41:44 -07:00
962114d1d3
Allow agent to run in background after browser refresh
2026-06-15 12:47:32 -07:00
812ee4bfec
Polish thinking streaming UI and ordering
2026-06-15 12:23:45 -07:00
86da778721
Implement accumulate-then-act streaming for thinking models
2026-06-15 12:13:46 -07:00
a0e2364481
Store thinking events in message timeline
2026-06-15 11:50:35 -07:00
0f212c750b
fix(preview): stop refresh-flicker false-restarts + harden dev container & agent
...
- isDevServerListening: key off curl EXIT CODE not response time. The 2s
max-time treated a busy/compiling-but-listening dev server as DEAD, so ensure
restarted a healthy server on every refresh -> cold compile -> the
502/no-CSS/broken-images/perfect flicker. Now dead only when BOTH localhost
and 0.0.0.0 refuse the connection (curl exit 7).
- ensure route: liveness probe is fail-safe (try/catch) -> never 500s or
needlessly restarts on a probe error; trusts the DB flag instead.
- dev container: reconcile dead orphan containers before resume/start so a
leftover name no longer triggers 'container name already in use' -> Traefik
gateway timeout.
- dev container: inject AUTH_SECRET / NEXTAUTH_SECRET / AUTH_TRUST_HOST so
scaffolded NextAuth apps stop throwing [auth][error] MissingSecret in preview.
- chat prompt: don't bounce a healthy dev server; only claim actions a tool
actually performed (no hallucinated DB deletes); NextAuth previews pre-wired.
- intent budgets: route 'not appearing/showing/missing' to diagnose; bump
status_check 12->16, diagnose 15->22 so investigations don't hit the cap.
2026-06-12 18:05:16 -07:00
95253c7707
fix(preview): resolve ReferenceError on isForceStarting initialization order
2026-06-12 16:46:35 -07:00
4375fbcb22
fix(preview): resolve 'command not found' by prefixing next dev fallback and prompt recipes with npx
2026-06-12 15:29:01 -07:00
9b13320253
design(chat): remove un-wired dictation and select-mode buttons from composer to match Base44 simplicity
2026-06-12 11:05:01 -07:00
bcf47b5c6c
fix(ai): enforce port 3000 exclusively for visual previews to match UI constraints
2026-06-11 11:23:01 -07:00
82a41f7e95
fix(stop+stability): stop button interrupts live generation; classifier, prompt + preview pane improvements
...
Stop button fix:
- Plumb AbortSignal end-to-end: callVibnChat → Gemini SDK (config.abortSignal) / OpenAI fetch → executeMcpTool (/api/mcp fetch)
- Treat abort as clean user stop (not fatal error); partial reply persisted with '(stopped by user)'
Classifier fix:
- Add timeout/gateway/5xx/connection-error vocabulary to diagnose intent
- Prevents 'I get a gateway timeout' from falling through to feature_build (40 rounds) and looping
Prompt / agent behaviour:
- Render verification is now scope-aware: small edits stop at green healthCheck; no browser_console/curl audit on healthy server
- Sanitize stale '### Phase Checkpoint' walls from loaded history so old threads stop biasing new turns
- Next.js dev command updated to --no-turbopack for container stability (per-route lazy compile caused cold-start 503s)
- New public page prompt: agent checks middleware allowlist in the same turn
- Scope discipline and QA-tool gating carried forward from prior session
Code cleanup:
- Remove duplicate AgentPhase declaration (TS2440)
- Remove dead checkpoint emit branch and orphan 'checkpoint' phase value
- Remove unused MAX_TOOL_ROUNDS constant
Preview pane (build status):
- 4-state machine: initial-load / building (with elapsed timer) / build-failed / not-running
- pollMs 0 → 5 000ms so dev-server recovery and build completion auto-update without refresh
- anatomy route + use-anatomy type: inFlightBuild gains createdAt for elapsed timer
2026-06-10 21:40:48 -07:00
39cb9194a5
feat(verification): acceptance-check layer + executor fix-loop; hide phase-checkpoint walls; guaranteed turn-end summary. Verification gated behind VIBN_VERIFICATION_ENABLED.
2026-06-10 19:43:36 -07:00
e9d597de03
fix(governor): classify multi-word greetings ('hey there!', 'good morning') and short verb-less messages as conversational so they don't trigger the agent loop
2026-06-10 17:50:31 -07:00
a87faa2353
ux(chat): clean tool-pill results (no raw JSON, Failed/exit verbs); structured build-health status instead of 'didn't reach a clean stopping point'; label active toolbar mode
2026-06-10 17:44:19 -07:00
6fe774719a
fix(governor): stop misclassifying 'okay <request>' and investigative questions as conversational; raise status_check/diagnose tool budgets (fixes round_cap cut-offs)
2026-06-10 17:26:41 -07:00
a4fe96496a
feat(telemetry): emit per-turn governor summary (stop_reason, rounds, tool_results) for orchestration diagnostics
2026-06-10 17:07:43 -07:00
ef539d34a7
chore(telemetry): correct Path Confusion loop breaker implementation
2026-06-10 12:16:42 -07:00
e6721a0b72
chore(telemetry): resolve loop crash caused by Temporal Dead Zone hoisting and fix conversational budget mapping
2026-06-10 12:04:13 -07:00
8eaa20106a
feat(orchestration): implement state-based loop governor with forced checkpoints, phase events, and robust tool signatures
2026-06-10 11:55:17 -07:00
a01f3331df
chore(telemetry): implement robust path-confusion stall guard, persist verify signatures correctly, and redact secrets from telemetry logs
2026-06-10 11:38:49 -07:00
019211ecce
chore(telemetry): loosen error normalization to preserve status codes and line numbers for accurate verification signatures
2026-06-10 11:12:29 -07:00
d433da56f9
chore(telemetry): resolve universal path normalizer logic and path-confusion tracking
2026-06-10 11:08:42 -07:00
ca47d0643d
feat(telemetry): implement phase-based execution loop and adaptive tool budgets
2026-06-09 18:58:12 -07:00
7ddcbfe32d
chore(telemetry): add path-confusion loop breaker and strict blank-preview diagnostic protocol
2026-06-09 16:27:09 -07:00
7a9c2575f0
chore(telemetry): add path-confusion loop breaker and strict blank-preview diagnostic protocol
2026-06-09 16:10:45 -07:00
dd510fe81f
chore(telemetry): verify signature comment and cleanup
2026-06-09 15:35:46 -07:00
ef4a06a57c
ux(chat): tune silent-loop status nudge threshold to 6 rounds and strip leaked tool trace payloads from UI
2026-06-09 15:02:34 -07:00
8c73f72680
chore(telemetry): jack up MAX_TOOL_ROUNDS to 150 for ultimate custom app-building runway
2026-06-09 14:30:36 -07:00
f1d0c9e0b5
chore(telemetry): jack up MAX_TOOL_ROUNDS to 150 for ultimate custom app-building runway
2026-06-09 14:18:44 -07:00
ad7d0face8
chore(telemetry): raise MAX_TOOL_ROUNDS to 60 for complete engineering runway
2026-06-09 14:16:31 -07:00
1284078799
chore(telemetry): align attached-file reader to flattened project root path
2026-06-09 13:38:32 -07:00
de1209afe4
chore(telemetry): refactor stall detector to track real state progress and persist non-null verify signatures across edit rounds
2026-06-09 13:36:30 -07:00
6ec312f716
chore(telemetry): flatten the project slug layer and remove cd path instructions from system prompt
2026-06-09 13:28:57 -07:00
3679ccf913
chore(telemetry): optimize state-based loop stall detector by tracking tool input signatures and clean up unused helper functions
2026-06-09 12:23:20 -07:00
7b6cac5462
chore(telemetry): implement state-based loop governor, 180s tool timeout, visual-qa path fix, and fs_write diff-guard
2026-06-09 12:05:15 -07:00
c442921ccb
chore(telemetry): add bulletproof mcp_token sanitization and read-only mode fallback in chat route
2026-06-09 10:47:32 -07:00
492404cd14
chore(telemetry): fix agent loops, name mangling, dev server leaks, CWD alignment, and add daily session auditor
2026-06-08 16:09:58 -07:00
4d40496739
feat: complete live-verified GTM onboarding flow & places autocomplete search proxies
2026-06-06 17:53:13 -07:00
b3dd3714c3
feat(refactor): live zed-style codebase files autocomplete and context attachment
2026-05-21 17:20:31 -07:00
8049a7f1ab
feat(refactor): premium zed-style chat UI, collapsible reasoning, and comprehensive strict type sweeps
2026-05-21 17:05:42 -07:00
7c45fdc5cc
fix(ai): bump roundSinceText cutoff to 30 to prevent panic loops
2026-05-19 15:26:15 -07:00
5573f1e6fa
fix(ai): restore thinking animations for gemini streams
2026-05-19 14:53:24 -07:00
d7d4b2d2fe
fix(ai): bump loop-breaker limits from 16 to 30 to permit long autonomous workflows
2026-05-19 14:51:45 -07:00
bbcd4ad55e
fix(ai): implement Phase 2 and 3 prompt recommendations from review
2026-05-19 13:47:18 -07:00
618f7796b2
feat(ai): optimize tool loops, fix deployments, and integrate new onboarding flow
2026-05-19 12:52:47 -07:00
6b8862ef2b
feat(api): comprehensive QA hardening — security gates, chat improvements, beta scaffolds
...
Closes checklist items F-01..F-06, D-01..D-28, S-01..S-10, C-01..C-07,
B-01..B-07, R-01..R-02, O-03.
Security (28 deletions + 10 auth gates):
- Delete 28 unauthenticated debug/cursor/firebase/test routes
- Gate ai/chat, ai/conversation, context/summarize, work-completed with withTenantProject/withAuth
- Add HMAC-SHA256 signature verification to webhooks/coolify
- Switch all admin secret comparisons to timingSafeStringEq
Foundations (lib/server/*):
- api-handler.ts: withAuth, withTenantProject, withWorkspace, withAdminSecret, withRateLimit
- logger.ts: structured request-scoped logging with turnId
- audit-log.ts: writeAuditLog helper + audit_log table
- rate-limit.ts: Postgres sliding window rate limiter
- coolify-webhook.ts: verifyCoolifySignature
- timing-safe.ts: timingSafeStringEq
Chat hardening (chat/route.ts):
- MAX_TOOL_ROUNDS 15 → 8 (C-01)
- Loop detection: hard-break at 3 identical fingerprints (was 5) (C-02)
- Add 6-consecutive-tool-call hard-break (C-02)
- Mode: respond first, act second prompt block (C-03)
- SSE heartbeat every 25s via setInterval (C-04)
- Per-tool 45s timeout via Promise.race (C-05)
- turnId per-turn UUID for log correlation (C-06)
- Recovery fires when roundsSinceText >= 4 (C-07)
- SSE plan event on plan_task_add/edit (B-05)
Beta features:
- invites table + GET/POST /api/invites (P4.8)
- invites/[token] validate + redeem (P4.8)
- fs_project_dev_servers table + lib/server/dev-server-state.ts (P6.B1)
- fs_project_secrets table + CRUD routes (P6.D2)
- lib/integrations/brief-extract.ts (P3.7)
Documentation:
- app/api/ROUTES.md: full route map with auth + tenant
2026-05-17 19:17:22 -07:00
1545145292
fix(ai): implement two-stage loop detection to warn before hard-stopping (Fix 11)
2026-05-16 12:59:16 -07:00
f2c29857b5
fix(ai): relax fs_edit line number enforcement to allow safe oldString replacements
2026-05-16 12:54:15 -07:00
ca8a915fe2
fix(ai): sync auto-commit with streamed result to surface commit SHA to UI (Fix 10)
2026-05-16 12:26:54 -07:00