weichen
ee852c6600
merge: candidate backlog-triage-p10-2026-09-25 into dev
2026-09-25 17:10:55 +00:00
weichen
53d1be5349
feat(quote,squad): B5 input validation + review invariants; A5 non-critical step degradation
...
P10 backlog triage (implement B5+A5; A6 already fixed in-tree, D5 keep shared
KB, R1 separate task, R4/R5/R6/R7 no-go with evidence):
- quote: ValidateInput (empty names/hours, negative/NaN/Inf fail-closed);
reviewSummary invariants (line sums = total; buffer 20%/margin 40%/tax 7%
rate self-consistency) enforced before Excel write
- squad: StepSpec.Critical *bool (nil=critical default); non-critical step
failure marks step degraded + gov audit, workflow continues, final status
degraded with DegradedSteps list; critical failure semantics unchanged
- tests: 5 new cases (quote 3 + squad 2), full short suite green, arch-check pass
2026-09-25 17:10:35 +00:00
weichen
4bdbb0da6f
merge: candidate websysadmin-residual-r2-2026-09-25 into dev
2026-09-25 16:35:19 +00:00
weichen
923da11ab4
feat(server): public /maintenance/site-status route + tests; P9 evidence
...
- isPublicRoute exempts site-status (anonymous banner polling)
- httptest coverage: anonymous 200 + site_notice payload; route table guards
- test report + playwright evidence (docker mcr playwright v1.63 noble vs real dev stack, 1 passed)
2026-09-25 16:33:58 +00:00
weichen
914d0aa39d
feat(maintenance): wire sysadmin ui.* whitelist settings to public site status
...
- sysadmin.Service.GetSettingValue: whitelist read-through (DB > env > default)
- maintenance.Service: SiteSettingsProvider injection; StatusView carries notice/readOnly; new CurrentSiteStatus + GET /api/v1/maintenance/site-status
- composition root wires ui.maintenance_notice / ui.read_only_mode into maintenance site settings
- MaintenanceBanner: persistent notice banner + read-only mode strip
- chore(web): drop dead 'dirty' var in EnvSettingsSection (baseline TS6133 build blocker)
- KB ops actions: deferred out-of-repo (shared infra container side); documented in task record
2026-09-25 16:33:56 +00:00
weichen
cc998c05ce
merge: candidate dialogue-office-p0-2026-09-25 into dev
...
Resolve server.go ActionServices wiring on accessor-style Server (Workflow via adaptChatWorkflow).
2026-09-25 15:42:05 +00:00
weichen
c5027788ea
merge: candidate u9u12-keys-rollout-2026-09-25 into dev
2026-09-25 14:39:51 +00:00
weichen
f9ce771954
feat(intentflow): per-key live rollout for remaining U9-U12 validated_only keys
...
- 5 independent flags (MULTI_INTENT_U11_LIVE_REVIEW/FINAL/PROPOSAL, U12_LIVE_SWITCH/RESTART), default OFF; no full rollout
- DocGovLiveActionKeys/RunControlLiveActionKeys become flag-driven functions; baseline keys unchanged
- DocGovOwner routes review.approve/reject, final.approve/reject, proposal.decide to real engine with slot-driven reason/approve parsing and idempotent receipts
- RunControlOwner routes workflow.switch -> ActivateWorkflow and run.restart -> fresh CreateAndStart run
- policy: 7 keys promoted from TierFull to TierConfirm (real execution still gated per-key)
- tests: default-off isolation, per-key independence, live state advance reviewing->approving, dry-run zero-advance when flag off
2026-09-25 14:38:42 +00:00
weichen
da0186c739
docs(remediation): 将对话办公 P0 验证记录挂入 INDEX
2026-09-25 14:38:06 +00:00
weichen
0ab4a8bd2d
feat(server): 接线对话 workflow.run 并补 P0 验证记录
...
server 侧窄端口适配 projectworkflow,消除 chat→projectworkflow 边界违规;记录单测与 arch-check 证据,PI 全链路待补证。
2026-09-25 14:37:11 +00:00
weichen
9a540fa54a
docs(chat): 注明 ActionServices.Workflow 合入接线点
...
app/server 写路径被并行任务占用,生产接线延后;未接线时诚实失败。
2026-09-25 13:19:52 +00:00
weichen
ce694baef1
feat(coordinator): P0 消除对话主链路假成功
...
claim/submit 经 DocResolver+确认卡后 PendingAction 真写 docgov;proposal 默认分支改澄清;workflow.switch 诚实拒绝(UI专属);workflow.run 确认后走 CreateWorkflowRun(ActionServices.Workflow 由合入时接线)。
2026-09-25 13:19:36 +00:00
weichen
9f7bbc25a0
merge: candidate server-image-field-closeout-r4-2026-09-25 into dev
2026-09-25 13:19:00 +00:00
weichen
0634ffb8ee
fix(storage): deterministic ID ordering in memory-mode ListProjectRefs
...
Memory CAS iterated memoryRefs map (random order) while PG path uses
ORDER BY id ASC; asset dedup-hint 'first reference unflagged' logic
depends on stable order. Flaky TestUploadProjectAsset_DedupHint
reproduced 2/20 rounds before fix, green 30/30 after.
2026-09-25 13:17:25 +00:00
weichen
a9c9a9182e
refactor(server): remove 24 mirrored Runtime fields via nil-safe accessors; fix Shutdown-vs-background-loop DATA RACE and goose 00071 duplicate version
...
- Server no longer mirrors app.Runtime services (gov/svc/pwSvc/...): 574 call sites now use accessors in runtime_accessors.go
- backgroundLoop (mutex+sync.Once) stops sweeper/publisher/reminder/wsGC goroutines race-free (baseline 44161d2a reproduced DATA RACE; now green under -race)
- goose 00071 duplicate (dialogue merge 1da17a28 brought two 00071): context-conflict-adjudications renumbered to 00072; dev DB applied only through 00070 so zero data migration
- task_finalize tests build minimal app.Runtime; test injection via serverTestOverrides + setOverride* (explicit-nil markers for fail-closed cases)
2026-09-25 13:17:22 +00:00
weichen
7cfd6851f6
merge: candidate security-redline-fp-r2-2026-09-25 into dev
2026-09-25 12:53:32 +00:00
weichen
7bdb045272
fix(intent): 收紧安全红线正则动词与桥接,消除正常撰写请求误拦
...
裸单字「改/换」加无界桥接会把「整改/角色」等正常撰写句误判为
SECURITY_FORBIDDEN。改为复合动词 + 短窗不跨标点桥接,受控名词须与写动词共现;补误报负例回归。
2026-09-25 12:53:08 +00:00
weichen
44161d2ad2
merge: candidate t20-s3-lock-split-2026-09-25 into dev
2026-09-25 06:53:29 +00:00
weichen
340342faf8
feat(concurrency): T20 S3 B3 - per-docID lock split for docgov/docrevision, hydrate out of cross-doc critical path (stage A)
2026-09-25 06:52:55 +00:00
weichen
d93c1ab3d6
merge: candidate t20-s4-image-batch-2026-09-25 into dev
2026-09-25 05:42:56 +00:00
weichen
35f845168b
feat(infra): T20 S4 image batch - non-root appuser, compose resource limits, unified extensions init mount (I1/I4)
2026-09-25 05:42:05 +00:00
weichen
42436f754d
merge: candidate t20-b5-chat-observability-2026-09-25-r2 into dev
2026-09-25 05:26:59 +00:00
weichen
5201f14173
feat(ctxmgr,server): T20-B5 chat turn compensation observability + orphan sweeper
2026-09-25 05:26:29 +00:00
weichen
088ff307c0
merge: candidate t20-s2-config-pool-2026-09-25-r2 into dev
2026-09-25 04:46:53 +00:00
weichen
2abc23ac65
feat(db,server): T20-S2 hardening batch B1/B4/B7 (XFF trust, pool statement_timeout, shutdown drain)
2026-09-25 04:45:49 +00:00
weichen
c0e556b167
merge: candidate t20-s1-small-fixes-2026-09-25 into dev
2026-09-25 04:25:31 +00:00
weichen
d653e32e7b
fix(server,web): T20-S1 hardening batch B11/F1/F8/F4-A
2026-09-25 04:25:03 +00:00
weichen
b74b92920e
merge: candidate planned-tasks-closeout-2026-09-25-r2 into dev
2026-09-25 04:10:58 +00:00
weichen
caba4b086a
docs(ops): land closeout plan P0 status and docrev acceptance audit
2026-09-25 04:07:17 +00:00
weichen
12bbe948b2
merge: candidate fix-stage-brief-panic-2026-09-25 into dev
2026-09-25 04:04:46 +00:00
weichen
bc94080332
fix(coordinator,intent): nil AdvisorBrief panic guard + interrogative gate for ADVANCE_STAGE overmatch
2026-09-25 04:04:30 +00:00
weichen
1da17a282c
merge: candidate dialogue-context-layout-fix-2026-09-25 into dev
2026-09-25 04:01:46 +00:00
weichen
2f9a6eb588
docs(current): move dialogue claim rows to table end to unblock integration
2026-09-25 03:51:08 +00:00
weichen
1fd2f16726
docs(current): mark dialogue-ctx r2 claim done for integration
2026-09-25 03:02:36 +00:00
weichen
5a70fd6940
docs(ops): plan batch closeout of inventoried planned tasks
2026-09-25 01:39:11 +00:00
weichen
725181de4a
merge: candidate admin-settings-maint-b-2026-09-25 into dev
2026-09-24 23:27:05 +00:00
weichen
fd0ea3f2d7
docs(ops): mark admin-settings-maint claim done
2026-09-24 23:26:56 +00:00
weichen
675e09a1a7
merge: candidate admin-settings-maint-b-2026-09-25 into dev
2026-09-24 23:24:54 +00:00
weichen
b5a308dd11
docs(test): note queue retry after DIRTY_TREE clear
2026-09-24 23:24:45 +00:00
weichen
728567c778
fix(handoff): remove unused stubSrc from e2e test
2026-09-24 23:21:39 +00:00
weichen
9424d19106
fix(handoff): clean e2e stub builder unused import
2026-09-24 23:21:30 +00:00
weichen
86e9d3706b
feat(sysadmin): admin env settings + maintenance FD handoff
...
Persist agent/secrets settings with masked secrets and runner hot-reload;
add maintenance windows, maintpage binary, and zero-downtime listener handoff.
2026-09-24 23:20:20 +00:00
weichen
dc29b84cdf
feat(ctx): inject cleaned project dialogue into squad and assistant
...
Add dialoguectx packaging, conflictresolve adjudication with HITL routing,
workspace context/dialogue/ injection (default on), and goose 00071.
2026-09-24 17:04:04 +00:00
weichen
4e410efbab
merge: candidate single-binary-dev-impl-b-2026-09-24 into dev
2026-09-24 16:33:53 +00:00
weichen
6cbe7e6e56
fix(web): committed dist/.gitkeep keeps go:embed satisfiable pre-build
2026-09-24 16:20:21 +00:00
weichen
cc90d39205
fix(web): placeholder keeps go:embed satisfiable pre-build
2026-09-24 16:18:23 +00:00
weichen
69645cb07b
fix(web): tolerate absent dist at compile time via LookupDist
2026-09-24 16:13:47 +00:00
weichen
59ad970ad5
merge: candidate dm-migration-2026-09-24-r2 into dev
2026-09-24 15:57:06 +00:00
weichen
c428fc5e91
docs(ops): closeout Development-Manager migration task
2026-09-24 15:56:36 +00:00
weichen
b812d1d30f
feat(dev): single-binary no-docker runtime with managed localpg
...
Embed web/dist, run events in-process, manage brew PG18+pgvector, add PI host sidecar and launch --no-docker; unify MiniMax-M2.7-highspeed pins and record dev acceptance.
2026-09-24 15:53:50 +00:00