Block unattended DashScope smokes by default and provide a zero-token
merge verification entry via run-goosed-v149-phase3-offline.mjs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Prevent phase2/phase3/all reruns from burning DashScope tokens unless
GOOSE_V149_ALLOW_REAL_LLM=1 is explicitly set with human approval.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce off/shadow/active compaction for large tkmind read/research and
excel report payloads with optional Redis-backed ctx_fetch handles, keeping
fail-open behavior when storage is unavailable.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use the default headroom health probe instead of the goosed fetch adapter
so active mode routes deepseek-no-think through the proxy, and add an E2E
script that verifies goosed pong via headroom with fail-open portal checks.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wire DeepSeek Harness as an optional fourth code executor (default off)
and add a loopback observation script that compares prompt tokens through
headroom proxy with OPENAI_TARGET_API_URL pointed at the compat proxy.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce RRF-based recall fusion for personal/episodic/temporal paths,
zvec-grep workspace shadow probing for code executors, and a local
headroom proxy starter aligned with the fusion plan defaults.
Co-authored-by: Cursor <cursoragent@cursor.com>
Portal resume smoke can exceed 300s when agent-run worker is busy; raise
phase3 default to 600s and refresh memory/sanitize baselines from smoke.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose /health and /api/health/observations behind MEMIND_HEALTH_ENABLED, redirect ordinary chat health intents without persisting, and run a dedicated WeChat menu flow with confirm-before-write semantics.
Co-authored-by: Cursor <cursoragent@cursor.com>
Lock health recording behind confirm-only state machines, reject public publishes for the health category, and ship the 14-day experiment Page Data templates with tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
Verify write_file/edit_file land public HTML via call_tool, and Portal can
start/resume v1.49 sessions without 404 on the resume path.
Co-authored-by: Cursor <cursoragent@cursor.com>
Compare memory userId and candidate deltas during manifest drift checks,
add unit tests for false-positive cases, and verify /agent/resume plus
session history loading against local v1.49.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wire Portal and TKMind proxy to loopback Goose v1.49 via canary env blocks,
with verification scripts, Phase 2/3 evidence baselines, and rollback runbooks
so local upgrade stays isolated from stable 1.41 and production.
Co-authored-by: Cursor <cursoragent@cursor.com>
Lower term threshold, tune promotion scores, project candidate fallback in snapshot, and add rebuild-ums-snapshot script for production backfill.
Co-authored-by: Cursor <cursoragent@cursor.com>
Seeds task outcomes, runs reflect(), and checks execution_pattern rows plus experience_saved product events for local acceptance.
Co-authored-by: Cursor <cursoragent@cursor.com>
Extend h5_experience with structured fields, wire mindspace-agent-runner and agent-run-gateway to persist task_outcome records with provenance, and add local migration and verification scripts.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wire an offline benchmark over the production pgvector ranking path so Memory V2 recall can be measured with candidate/ranking loss split before lifecycle work lands.
Co-authored-by: Cursor <cursoragent@cursor.com>
Agent-run-worker bundles under scripts/, so fallback MCP resolution pointed
at scripts/tkmind-excel-mcp.mjs and broke Goose session startup on H5 image
tasks. Pin MEMIND_PORTAL_H5_ROOT to the repo root and honor TKMIND_EXCEL_MCP_SERVER_PATH.
Co-authored-by: Cursor <cursoragent@cursor.com>
Record feature/wechat-intent-channel-separation as merged and provide a reproducible admin-db toggle for Tang canary LLM router shadow on production.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add channel prefixes, pin edit targets in Cursor prompts, and force fresh sessions for page refine URLs so DeepSeek/Goose chat history does not pollute page tasks.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add prod runner and LaunchAgent installer so Tang chatBridge toggle can reach a live OpenAI-compatible bridge after env enablement.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expose page/data/scheduled-task/chat-bridge switches in the智趣体验通道 config so Tang can roll out Cursor paths independently with DeepSeek fallback.
Co-authored-by: Cursor <cursoragent@cursor.com>
Automates copying the local deepseek-cp provider key, rebinding Goose executors, and syncing all goosed targets on 103.
Co-authored-by: Cursor <cursoragent@cursor.com>
Stop ITL regex from intercepting new messages before Agent execution; move
scheduled task and schedule write confirmation to MCP tool calls with draft commit on 确认.
Co-authored-by: Cursor <cursoragent@cursor.com>
Phase B appends snapshot context when leaving h5direct sessions so Goose no longer starts blind. Phase C lets the 0.72 fallback return null on gated chat text so the existing LLM router can run, flags default off.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add dry-run, e2e, and poem-page remediation scripts for cursor executor
and help escalation verification.
Co-authored-by: Cursor <cursoragent@cursor.com>
Route explicit text-only Q&A away from Agent before page-generation rules,
and add a script to enable Router + tighter memory budgets on 103 without
changing the global deepseek-v4-pro model.
Co-authored-by: Cursor <cursoragent@cursor.com>
Expand ASR normalization and colloquial reminder parsing so simple timed reminders route to L1 confirm cards instead of the agent, and disable schedule-guard false failures when ITL is enabled.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce Draft → Confirm → Commit flow for WeChat schedule intents behind
feature flags, plus h5_tasks dual-write/read aggregation and rollout scripts
so reminders and automations get explicit user confirmation before persisting.
Co-authored-by: Cursor <cursoragent@cursor.com>
The read_image poisoning fix had no end-to-end guard because scenarios could
only send text. Add an upload_images step that renders and uploads visually
distinct images, let chat steps attach them the same way the WeChat channel
does, and assert the generated page actually embeds every upload.
Co-authored-by: Cursor <cursoragent@cursor.com>
Register branch disposition after 103 deploy/repair, and add a lightweight
103 repair script that avoids heavy runtime module imports.
Co-authored-by: Cursor <cursoragent@cursor.com>
Prevent duplicate active scheduled tasks, fail static preparing contracts
when HTML is missing, raise MindSpace remote timeout default to 30s, and
add 103 repair scripts for inspection follow-ups.
Co-authored-by: Cursor <cursoragent@cursor.com>
Formalize fast release as --mode fast so verified changes can skip canary promotion and full Gate reruns while keeping backups and health checks.
Co-authored-by: Cursor <cursoragent@cursor.com>
103 no longer runs goosed-prod Docker. Canary preflight now checks the
native 18006-18014 pool, and release-gate tests match 127.0.0.1 health probes.
Co-authored-by: Cursor <cursoragent@cursor.com>
103 retired Docker goosed on 2026-07-30. Portal canary now health-checks
18006-18014 and inherits those targets, instead of requiring goosed-prod-1.
Co-authored-by: Cursor <cursoragent@cursor.com>
Stable 103 already runs deepseek-no-think on 18036. Require that contract
instead of demanding a free port, so canary install does not fight production.
Co-authored-by: Cursor <cursoragent@cursor.com>
Shared paths like db.mjs were pulling PAGE/DATA live agent suites into every
hotfix. Keep those cases for actual page-data changes, resume passed suites on
the same artifact, and fail fast on Docker/port issues instead of rerunning 100+
scenarios.
Co-authored-by: Cursor <cursoragent@cursor.com>
load-env.mjs depends on memind-runtime-profile.mjs; include it in portal
runtime packaging so wechat-mp-menu.mjs works on 103 without manual scp.
Co-authored-by: Cursor <cursoragent@cursor.com>