Commit Graph
100 Commits
Author SHA1 Message Date
weichen 0e05eedade docs(task): 更正补记任务的 dev 基线 SHA 2026-09-28 02:45:25 +00:00
weichen 4bceb2b4ba docs(test): 补记错误审计表隔离库往返通过
一次性 pgvector 库迁到 78 后,TestStoreRoundTrip 写入并按 request_id 读回。
2026-09-28 02:45:10 +00:00
weichen 655fb4f149 merge: candidate error-code-observability-2026-09-28 into dev 2026-09-28 02:39:23 +00:00
weichen ef3c770451 docs(task): 记录错误码体系已合入 local dev
认领改为 done。实现提交已在 dev,部署与远端同步不在本次授权内。
2026-09-28 02:39:12 +00:00
weichen dddd3fe8c8 merge: candidate error-code-observability-2026-09-28 into dev 2026-09-28 02:37:48 +00:00
weichen e4da425b23 merge: candidate attachment-only-turn-2026-09-28 into dev 2026-09-28 02:32:38 +00:00
weichen 8f72b6a97c docs(test): 记录附件回合在重载后的 dev 上复验通过
:8080 已换成含本修复的二进制。仅附件得到梳理或解析引导,无关文字先回答再追问。
2026-09-28 02:32:31 +00:00
weichen 73a3aa9286 docs(errcode): 登记错误码目录、任务和验证报告
目录按注册表列出稳定码,测试报告记录工程门禁与无测试库时的审计跳过。
2026-09-28 02:27:29 +00:00
weichen 7435f48389 feat(web): 增加错误审计查询和失败排查指引
管理台可按错误码或 request id 检索审计记录,聊天失败气泡展示对应排查短句。
2026-09-28 02:27:23 +00:00
weichen f3f23a3018 feat(errcode): 用稳定错误码记录 HTTP 与异步失败
失败响应此前不写日志,request_id 无法对照原因。注册表不覆盖处理器已经给出的 HTTP 状态。
2026-09-28 02:27:16 +00:00
weichen c87d28b343 merge: candidate attachment-only-turn-2026-09-28 into dev 2026-09-28 02:16:18 +00:00
weichen 42a9a4be5d docs(test): 记录附件回合修复已合入 local dev
候选已 ff-only 进入 dev。浏览器和产品 PI 仍未跑,运行中的 dev 进程还没加载新二进制。
2026-09-28 02:16:09 +00:00
weichen cb4d2af8d3 merge: candidate attachment-only-turn-2026-09-28 into dev 2026-09-28 02:13:37 +00:00
weichen 457e870330 fix(chat): 只上传文档时给出梳理或追问,不再裸报 HTTP 400
空消息加附件可以进入回合。无文字时按解析状态引导或回退审阅,有文字但未处理文档时先回答再追问。4xx 信封不再被前端丢弃。
2026-09-28 02:00:24 +00:00
weichen 6314406701 merge: candidate activation-preview-precheck-2026-09-28 into dev 2026-09-28 01:50:48 +00:00
weichen 8a9614d19e docs(test): 归档激活预览预检复验并关闭问题
dev 浏览器已确认未纳入审批时不再请求 activation-preview,兼任后预览 200,密钥框均在 form 内。
2026-09-28 01:50:26 +00:00
weichen 3e534bbb39 merge: candidate activation-preview-precheck-2026-09-28 into dev 2026-09-28 01:40:39 +00:00
weichen e7d4743cba docs(task): 登记激活预览预检与密钥框警告
记录 dev 项目 6022 的 400 时间线,以及管理台五个密钥输入不在表单内的 DOM 警告。
2026-09-28 01:38:39 +00:00
weichen 7f9d01a3b6 fix(web): 激活前预检人工审批并消除密钥框密码警告
未纳入人工审批的计划会被服务端拒绝为 400。配置页在请求前拦截并提示;管理台密钥输入放入表单,避免浏览器把密码框当成未托管字段。
2026-09-28 01:35:46 +00:00
weichen b1ed8ecfe9 merge: candidate squad-commit-authority-2026-09-28 into dev 2026-09-28 01:25:28 +00:00
weichen 56538221f3 docs(task): record non-author squad commit denial 2026-09-28 01:24:26 +00:00
weichen c713834954 fix(bizdev): commit squad ledger as the document author
Non-author triggers were denied by dutyAuthorizer because AutoCommitUserID was the triggering user. Record that user on OnBehalfOf and surface the duty mismatch in the task error.
2026-09-28 01:24:25 +00:00
weichen 774df05998 merge: candidate auth-register-internal-2026-09-28 into dev 2026-09-28 01:16:32 +00:00
weichen dbe1401455 docs(task): mark auth register fix resolved after test goose 77 2026-09-28 01:16:22 +00:00
weichen 9141741b78 merge: candidate auth-register-internal-2026-09-28 into dev 2026-09-28 01:12:57 +00:00
weichen e1d6a2c192 docs(task): record auth register INTERNAL fix and test evidence 2026-09-28 01:12:14 +00:00
weichen 88b7c11a23 fix(auth): reseed standard roles and reject duplicate usernames as 400
Registration always writes role-guest; a deleted standard role became a masked INTERNAL. Username unique violations are now a 400 instead of an infrastructure 500.
2026-09-28 01:12:07 +00:00
weichen 4ba60c2c9d merge: candidate restore-admin-password-reset-2026-09-28 into dev 2026-09-28 00:57:01 +00:00
weichen e1f2c9c57f docs(current): mark password-reset restore done
The UI candidate is already on local dev; record the five-state closeout.
2026-09-28 00:56:49 +00:00
weichen 04d7fec493 merge: candidate restore-admin-password-reset-2026-09-28 into dev 2026-09-28 00:51:41 +00:00
weichen 90e146e424 docs(task): record admin password reset UI restore
Capture the F4-A mis-delete, the dev UI probe, and the CURRENT claim.
2026-09-28 00:51:25 +00:00
weichen f0ecc4c996 fix(web): restore admin password reset in user governance
T20-F4-A removed the working reset button after the F4-B endpoint was already live. Restore the entry so admins can issue a one-time random temp password.
2026-09-28 00:44:41 +00:00
weichen 912957c44e merge: candidate docker-context-gitkeep closeout into dev 2026-09-27 21:13:13 +00:00
weichen ec7148175b docs(task): close docker-context-gitkeep (e40a9989 verified by real image build, merged as 5e409c1e) 2026-09-27 21:13:04 +00:00
weichen b35ea39a95 merge: candidate promote-rc-beta4-2026-09-27 receipts into dev 2026-09-27 21:12:44 +00:00
weichen a6acdcb30b merge: candidate test-single-binary-2026-09-27 closeout into dev 2026-09-27 21:12:12 +00:00
weichen c20c8aa7ab docs(current): mark test-single-binary-2026-09-27 done (receipt test-single-binary-2026-09-27-state-2) 2026-09-27 21:11:22 +00:00
weichen 8b3da0d297 docs(promote): rc-v1.1.0-beta.4 receipts, evidence and promote record
- PASS receipt 5e409c1e + images manifest + nightly evidence (five real-PI chains)
- recovered archive of nightly6 @94c215d3 process evidence (original dir lost in
  staging move; full original log preserved, README documents the loss)
- task record for the promotion (candidate 2fe1e055, tag, images apply)
2026-09-27 21:11:07 +00:00
weichen 912342ae0a docs(test): rc-v1.1.0-beta.4 promotion + test single-binary report; fix launcher env mapping
- migrate-test-db.sh: export DEV_PG_CONTAINER (inner script reads it, not CONTAINER)
- launch-single.sh: SYSTEM_DB_* must override root-.env CONTEXT_DB_* (set -a
  re-source clobbers both external exports and :- fallbacks; two misdirected
  launches audited, dev DB unchanged - report §5.8-3)
- task record done; full test report (nightly five chains PASS @5e409c1e,
  migration S0-verified, deployment acceptance, rollback paths, follow-ups)
2026-09-27 21:10:16 +00:00
weichen 2fe1e05591 release-candidate: 汇集 dev 功能至 test(test 单二进制化配套脚本 + docker 上下文修复),准备长期实测 [Tag: rc-v1.1.0-beta.4] 2026-09-27 20:59:11 +00:00
weichen 22f7e7f3f7 docs(current): claim test-single-binary-2026-09-27 (docs apply receipt test-single-binary-2026-09-27-state-1) 2026-09-27 20:57:57 +00:00
weichen 5e409c1eb2 merge: candidate docker-context-gitkeep-2026-09-27 into dev 2026-09-27 18:35:32 +00:00
weichen e40a9989ab fix(deploy): keep web/dist/.gitkeep in docker context for go:embed
.dockerignore excluded the whole web/dist dir, breaking go-builder since
web/embed.go (all:dist) landed (6cbe7e6e): candidate image builds failed
with "pattern all:dist: no matching files found". Re-include the tracked
.gitkeep only; runtime stays disk-dist via web-builder COPY (LookupDist
false -> disk fallback). Verified by a real candidate-images-build run.
2026-09-27 18:29:50 +00:00
weichen 94c215d36e merge: candidate test-single-binary-2026-09-27 into dev 2026-09-27 16:21:34 +00:00
weichen d91dafc1c4 feat(scripts): test env single-binary entrypoints (migrate-test-db, launch-single)
- migrate-test-db.sh: reuse parameterized migrate-dev-db.sh with test defaults
  (container shuimu-system-pg-test -> localpg :5434, PGDATA=data/test/pg)
- launch-single.sh: non-dev single-binary launcher (SYSTEM_DB_*->CONTEXT_DB_*
  mapping, env-scoped PI sidecar, no Vite); task record for dev->test rc
  promotion + test conversion (rc-v1.1.0-beta.4)
2026-09-27 16:21:09 +00:00
weichen 05d45022b1 merge: candidate upload-doc-access-2026-09-27 closeout into dev 2026-09-27 08:10:14 +00:00
weichen 07845cfcee docs(task): close out upload-doc-access (dev 86efba2c verified, E2E PASS, lesson added) 2026-09-27 08:10:05 +00:00
weichen 86efba2cd5 merge: candidate upload-doc-access-2026-09-27 into dev 2026-09-27 07:52:39 +00:00
weichen 307e9e6569 docs(current): claim upload-doc-access-2026-09-27 (docs apply receipt upload-doc-access-2026-09-27-state-1) 2026-09-27 07:45:36 +00:00
weichen 88e33282db fix(freedoc): persist uploaded file metadata and text body server-side
上传文档跨端不可访问修复(ISSUE-20260927-upload-doc-cross-device):
- 迁移 00076:freeform_documents 增加 source_filename/mime/size_bytes/asset_id
- freedoc:Create/Get/List 读写源文件元数据,负值拒绝
- 前端:注册前全部附件先登记 CAS 并预读文本正文;文本正文嵌入注册
  markdown;跨端恢复 sourceType/fileMeta 路由回文件预览器
- 大小显示 formatFileSize(<512B 不再显示 0 KB)
- E2E 新增 FS-UPLOAD-02 跨浏览器上下文可访问性用例

回归:go vet/arch-check/go test -short(隔离 PG)+ web npm test/build 全绿;
存量无元数据旧文档不可恢复(重新上传即可)。
2026-09-27 07:45:15 +00:00
weichen a0e40919a7 merge: candidate frontend-demo-fallback-2026-09-27-r3 closeout into dev 2026-09-27 07:08:12 +00:00
weichen 9da300ae60 docs(task): finalize active-session residue closeout state
任务文档终态(done/merged/passed/cleanup done)、ISSUES 行 resolved
(dev 36c5fb54 复验证据)、CURRENT 置 done。
2026-09-27 07:08:05 +00:00
weichen 36c5fb549c merge: candidate frontend-demo-fallback-2026-09-27-r3 into dev 2026-09-27 07:06:17 +00:00
weichen 083c63bb9c docs(issue): register active-session residue issue and r3 task record
登记 ISSUE-20260927-active-session-residue(ISSUE-20260927-demo-fallback
修复残留路径);新增 r3 任务主记录(根因/同类排查/修复方案/验证证据);
CURRENT 登记 r3c 任务行。
2026-09-27 07:05:09 +00:00
weichen 739b8c56f9 fix(web): purge legacy demo sessionId residue from localStorage on read
旧前端曾把 demo fallback 值 sess-001 持久化到 active_session;一次性
purge 版本 key 已写不再清理,读取侧无校验导致老浏览器 + 无可见会话
账号首屏 4x chat 404。提取共享 LEGACY_DEMO_SESSION_IDS 常量,
loadActiveSessionId 命中即清除并返回 fallback(幂等),loadMessages
复用同一集合。
2026-09-27 07:05:05 +00:00
weichen 87db3621c6 merge: candidate frontend-demo-fallback-2026-09-27-r2 into dev 2026-09-27 03:15:24 +00:00
weichen 0648867921 docs(current): mark frontend-demo-fallback-2026-09-27-r2 done 2026-09-27 03:15:22 +00:00
weichen 41b9b8bc3d merge: candidate frontend-demo-fallback-2026-09-27-r2 into dev 2026-09-27 03:14:56 +00:00
weichen 20b68d6a23 docs(task): finalize frontend-demo-fallback closeout state 2026-09-27 03:14:53 +00:00
weichen 0de657f09c merge: candidate frontend-demo-fallback-2026-09-27-r2 into dev 2026-09-27 03:11:32 +00:00
weichen db038aa7a7 fix(web): stop phantom demo-fallback requests in seeds-off mode
App.tsx hardcoded fallbacks (active session "sess-001", projectId 1) sent
requests for nonexistent resources on fresh logins against real dev data,
producing 7+ console 404/403 hits. Fallbacks now resolve to empty/0; the
existing chatBlockedNoProject empty state and session-reconciliation effect
carry the UI, and demo-seeds-enabled builds keep the NEUROPULSE fallback.

Root cause, same-class scan, and before/after browser evidence (9 phantom
requests -> 0, author+member accounts) recorded in the task doc; ISSUES row
ISSUE-20260927-demo-fallback registered.
2026-09-27 03:09:37 +00:00
weichen 56928ac206 merge: candidate full-system-browser-e2e-2026-09-26 into dev 2026-09-26 09:28:00 +00:00
weichen a9d79b99b8 docs(test): audit-friendly E2E report with retained login credentials 2026-09-26 07:58:47 +00:00
weichen 7ab7d572b9 docs(test): e2e ledger after reject portal fix 2026-09-26 07:48:36 +00:00
weichen 887a75c1b1 fix(web): portal reject modal above stacking context 2026-09-26 07:48:30 +00:00
weichen 157ec407e2 docs(test): full-system browser e2e re-run ledger 2026-09-26 07:29:34 +00:00
weichen 7513ce61ed fix(web): member drafting edit + reject await + expand right rail 2026-09-26 07:29:27 +00:00
weichen 7555818753 docs(test): FINAL full-system browser E2E report after pending heal 2026-09-26 05:14:11 +00:00
weichen 323088c4bd docs(test): add playwright log for full-system e2e rerun 2026-09-26 04:31:01 +00:00
weichen ccce44dfc0 fix(chat): heal task bubble pending after completed run 2026-09-26 04:30:38 +00:00
weichen a5ca6fdcfd test(e2e): document PI UI pending mismatch and raise suite timeout 2026-09-26 04:12:33 +00:00
weichen 466426a58f test(e2e): full-system browser multi-user acceptance 2026-09-26 03:48:34 +00:00
weichen 4873c5e8b9 test(e2e): full-system browser multi-user acceptance 2026-09-26 03:28:34 +00:00
weichen 078eb4fcf0 test(e2e): full-system browser multi-user acceptance 2026-09-26 03:23:35 +00:00
weichen 09cc76eb8d merge: candidate sysadmin-maturity-refresh-2026-09-26 into dev 2026-09-26 02:46:15 +00:00
weichen 9ff489546c docs: sysadmin maturity refresh closeout (results, current claim done) 2026-09-26 02:46:10 +00:00
weichen 1d82ed8823 merge: candidate sysadmin-maturity-refresh-2026-09-26 into dev 2026-09-26 02:45:12 +00:00
weichen d537778b60 fix(sysadmin): refresh feature maturity catalog to post-rollout wiring facts
The static adapter catalog still read I2-era states (degraded/shadow) after
the 2026-09-26 dev rollout, so the admin features page showed 降级 for flags
already enabled. Update six entries to live+ready with evidence-dated
reasons (I2/I3/P8 acceptance, P8 per-key gates kept visible, shadow
visibility digest now persisted, REPLACE wildcard wiring, PI narrative dev
rollout); keep FAV red lines untouched. Tests updated; FAV now carries the
configured-value-must-not-imply-readiness assertion.
2026-09-26 02:45:05 +00:00
weichen 1d13a892fc merge: candidate degraded-flags-enable-2026-09-26-r4 into dev 2026-09-26 02:39:09 +00:00
weichen 4e7f84111d docs: degraded-flags-enable closeout (task record, dev runtime test report, matrix notes, current claim) 2026-09-26 02:39:05 +00:00
weichen 6b31718138 merge: candidate degraded-flags-enable-2026-09-26-r4 into dev 2026-09-26 02:29:36 +00:00
weichen e9c0281404 feat(ctxmgr): wildcard session allowlist for semantic replace rollout
- SEMANTIC_SUMMARY_REPLACE_SESSIONS supports * (all sessions, present and
  future), mirroring INTENT_PLAN_PROJECT_ALLOWLIST; empty allowlist still
  replaces nothing (fail-closed defense in depth unchanged)
- declare SEMANTIC_SUMMARY_REPLACE(_SESSIONS) in dev/test/main compose app
  env (stale Wave2 "REPLACE unwired" comment fixed); extend A-4 declaration
  test; .env.example key docs updated
- sysadmin feature catalog: SESSIONS description + REPLACE reason note *

Prepares dev degraded-flags enable (task degraded-flags-enable-2026-09-26-r4):
user-authorized all-session replace, plan tier confirm, shadow summary, PI
change-report narrative; env ops and runtime verification follow.
2026-09-26 02:29:29 +00:00
weichen 66ea4e3e51 merge: candidate deploy-record into dev 2026-09-26 02:15:20 +00:00
weichen c9e2263325 docs: record review-fixes deployment verification (dev 1ceda34c live IDOR probe) 2026-09-26 02:15:11 +00:00
weichen 1ceda34c43 merge: candidate integrate-review-fixes (report + P0/P1 fixes) into dev 2026-09-26 02:08:50 +00:00
weichen 467e64574f docs: closeout review report + fix task records for batch integration 2026-09-26 02:07:45 +00:00
weichen 438fdc8686 merge: system code review report into dev
# Conflicts:
#	.doc/ops/CURRENT.md
2026-09-26 02:06:58 +00:00
weichen dfd9c420d3 docs(current): pre-align claim table for review-report merge (docs apply @document) 2026-09-26 02:06:02 +00:00
weichen fb376c0ea0 merge: candidate system-review-p0-p1-fixes into dev 2026-09-26 02:02:42 +00:00
weichen ea66f4456f docs: review P0/P1 fix records, ISSUES ledger, lesson, task claim
- remediation master record for 5 resolved + 1 deferred + 1 open issues
- ISSUES.md rows with evidence dates and lesson links
- LESSON-20260926-failclosed-bypass-contract (validated)
- remediation/lessons INDEX hooks + CURRENT task row (docs apply receipt)
2026-09-26 02:00:24 +00:00
weichen 6a3a0dc201 fix(security): harden bypass authz, gate blind spot, command exec, validated_only (review P0/P1)
- FIND-SEC-01: GetUserContext requires session ownership (handler 403 +
  SQL/memory owner filter); in-memory HTTP + isolated-PG regressions
- FIND-ARCH-01: archtest fails closed on untracked table writes (+noise
  exemption) and registers 50 existing writer tables in table_owners
- FIND-SEC-02: Authorizer without pool denies by default; explicit
  NewInMemoryAuthorizer seam opt-in via ALLOW_IN_MEMORY at composition
- FIND-SEC-03: swboot commands run argv-exec (no sh -c) with exact
  basename allowlist match; prefix-spoof and no-shell-eval tests
- FIND-FLOW-01: confirm rejects validated_only plans; ExecuteClaimed
  hard-refuses validated_only steps (new error codes + HTTP mapping)
- FIND-QUAL-01: intentflow.ValidateFlagConsistency fail-fast at Assemble
2026-09-26 02:00:14 +00:00
weichen b6e382e58f docs(ops): 标记 system-code-review 认领为 done 2026-09-26 01:34:08 +00:00
weichen c7e9ec0a26 docs(audit): 系统全面 code review 报告(仅分析不修复)
记录 tip f4c1b73f 上架构/安全/可维护性/关键路径审查结论;不实施代码修复。
2026-09-26 01:33:41 +00:00
weichen f4c1b73f28 merge: candidate swboot-closeout-2026-09-26-r3 into dev 2026-09-26 01:09:32 +00:00
weichen f697420db8 docs(status): promote workflow-swboot to done — SWBOOT-10 executor + L5/L6 verified 2026-09-26 01:09:20 +00:00
weichen 7c7a08a3ca docs(test): swboot closeout evidence — executor e2e, L5 live PI, L6 playwright wizard 2026-09-26 01:08:51 +00:00
weichen 86e0cf46c6 merge: candidate swboot-closeout-2026-09-26-r2 into dev 2026-09-26 01:00:51 +00:00
weichen a52816299d fix(server): read bound repo from project_source_bindings.source_ref 2026-09-26 01:00:37 +00:00
weichen 70f3028cdb merge: candidate swboot-closeout-2026-09-26-r2 into dev 2026-09-26 00:59:21 +00:00
weichen f394bb15f9 fix(projectworkflow): write repo binding into project_source_bindings.source_ref 2026-09-26 00:59:08 +00:00