Why: The embedded tier starts without auth, and nothing checked Origin or Host, so a public bind or a foreign page could call write APIs.
Evidence: go test ./internal/config ./internal/server covering listen policy, origin rejection, and response headers.
Impact: Non-loopback without auth exits before opening the database. HTML artifacts get a sandbox CSP. Reverse proxies must list their public host in allowedHosts.
Refs: feature/sillytavern-review
Co-authored-by: Cursor <cursoragent@cursor.com>
Why: Masks must not be the only copy of a key, and personal instructions, lore hits, and candidate replies have to reach the model without rewriting the system prefix or deleting history.
Evidence: go test ./internal/store ./internal/ctxasm ./internal/settings ./internal/runtime ./internal/server. Migration v16 upgrades and rolls back. Startup snapshots settings before moving raw keys.
Impact: One labeled key is active per service. Excluding a message hides its whole run from the model. Regenerating appends another candidate and rewinds files to the user turn. User slash commands expand to prompt text and do not fire on their own.
Refs: docs/records/2026-10-04-sillytavern-review.md
Why: The pin check requires Backend's squad gitlink to match Dev, and that squad commit must itself pin the message-shaping agent-native.
Evidence: Squad commit 5a57636 points agent-native at 3a110a7.
Impact: Backend and Dev resolve the same squad and native trees.
Refs: docs/records/2026-10-04-sillytavern-review.md
Why: Dev and the backend checkout must name the same core commit, and the section type is no longer a separate export.
Evidence: modules/core is 0b5c774. The nested checkout is detached at that commit.
Impact: Backend still compiles the same Go observation type. Only the TypeScript export changed.
Refs: .task/feature-sillytavern-review.md
Co-authored-by: Cursor <cursoragent@cursor.com>
weichen
merged commit 272d4d6d1c into main2026-10-04 19:42:36 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
feature/sillytavern-review 任务卡
任务主记录:<PR 链接,task-finish 时填写>;状态:进行中;owner:weichen
基线与授权
make task-finish。不拷 SillyTavern 代码或文案。不轮换 Tavily 密钥,只在验收说明里建议轮换。不改认证默认auto,不加 CSRF token,不加 CSP 上报端点。目标与非目标
/命令展开成提示词且不自动触发。Message增加excluded/variantGroup/variantIndex。Conversation增加sessionNote。ContextObservation增加sections与prefixHash。新表见 Backend 迁移 v16。设置新增context.userInstructions、context.contextWindow、context.messageShape。allowedHosts,否则未开认证时 Host 校验返回 403。旧设置里的明文密钥在启动时迁入secret_keys后从设置 JSON 清除;运行时仍接受尚未迁走的旧字段。同步记录
结果与验证(完成后填写)
0b5c774,agent-native3a110a7,agent-squad5a57636,ui6b2589c,frontendeb6502f,documentsf3f823e,backendc05832d,Dev4ba1d49。make test退出码 0(boundaries、pins、三库、core、backend、frontend vitest 16 文件 78 项、knip 43、ui tsc/vitest/knip 55、agent-command)。make build退出码 0,产出bin/agent-system。BackendGOWORK=off go vet ./...退出码 0。| 同步前验收 | 4fd03eee6230f82464def08f2543adab27aba948 | cd6be001414759f3ad00cf860ae095b70593e296 | 2026-10-04T18:42:56Z |
| 同步前验收 | 4fd03eee6230f82464def08f2543adab27aba948 | ce551683256e770d96c18fdaf93df49df4e0e3b1 | 2026-10-04T18:45:12Z |