Commit Graph
156 Commits
Author SHA1 Message Date
Sycun 3d2dfdac36 feat: verify attack-chain nodes against real tool calls
A node claiming something ran must cite a tool_call_id the host issued in
the trajectory. A citation absent from the trajectory is invented, so the
node is dropped along with its edges; a missing citation counts as invented
only when every real ID survived budget fitting, so a trimmed payload cannot
silently empty a graph. Judging is skipped where the evidence cannot be
enumerated: the process-detail supplement dumps raw event JSON and the
messages-table fallback carries no call IDs. Verified citations land in node
metadata rather than tool_execution_id, which is foreign-keyed to
tool_executions.

Also close two smaller holes: fact text can no longer carry the host index
delimiters, which would close the block early and spill the remaining index
into the system prompt; and the console fact endpoints reject the reserved
note/context-* prefix, matching the MCP tool layer.
2026-10-13 00:10:33 +08:00
Sycun 16189e0b76 fix: close review findings in context memory, attack chain and blackboard
Attack chain: failure text goes to textContent, so opt out of i18next
interpolation escaping that rendered upstream errors as //";
give regenerate its own message key; keep the summary card expanded across
a 409 refresh; probe for a cached graph before parsing last_react_input so
polling no longer re-reads a multi-megabyte column; hide the card in the
node-details exclusive state and bound it on narrow screens; drop the dead
hardcoded Chinese title from the API payload.

Blackboard: stop mirroring note/context-* keys into the fact body links
section, which get_project_fact returns verbatim without scope filtering;
single-line category and confidence in index rows so a newline cannot inject
a fake row; make the path overview fail closed on an empty index set.

Provenance: reuse fitUserIntentLedgerText when sanitizing a ledger entry so
a single entry cannot exceed its cap by the three ellipsis runes.

The .cjs harness now escapes interpolated values like real i18next, so the
existing XSS test also pins the escapeValue opt-out.
2026-10-12 23:16:33 +08:00
Sycun 2b76b31355 fix: preserve attack-chain summary provenance and evidence access 2026-10-12 20:58:45 +08:00
Sycun 983c981b92 fix: preserve human intent through planning and restart while keeping legacy edits
Mark generated execution prompts, populate deterministic user sections from actual human entries, preserve canonical ledger on overflow/transient restarts, fit long human entries under their formatted budget, and keep unchanged historical keys editable. Add real reduction-to-snapshot Cookie recovery and production entry-point regression tests.
2026-10-12 19:34:24 +08:00
Sycun 8149201ef2 fix: carry canonical user ledger through native model-input merging 2026-10-12 18:08:59 +08:00
Sycun b642fc7c83 fix: preserve compaction provenance through resume and harden memory retrieval
Carry allowlisted summary origin and host user ledger across the trace recovery boundary. Keep immutable snapshot links after alias failures, scope legacy padded keys, remove stale indexes under small budgets, reuse retrieval clues for labels, and add cross-platform memory CI.
2026-10-12 17:56:43 +08:00
Sycun 2c311a6ab1 fix: harden checkpoint provenance, scope and atomic binding 2026-10-12 10:49:23 +08:00
Sycun 015e16457e fix: label generated context provenance in transcript evidence 2026-10-12 10:14:25 +08:00
Sycun 60d76be064 fix: exclude generated summaries from original user intent 2026-10-12 10:10:52 +08:00
Sycun 6b8bbbe91b feat: scope automatic working memory to the current conversation 2026-10-12 09:59:15 +08:00
Sycun 1d2e900e88 feat: simplify snapshot retrieval and add readable timestamps 2026-10-12 00:33:17 +08:00
Sycun e073709e8f fix: preserve evidence across truncated indexes and failed writes 2026-10-11 23:58:07 +08:00
Sycun 68c01d3429 feat: index compaction evidence for targeted context recovery 2026-10-11 23:43:07 +08:00
Sycun 616726d452 feat: persist compaction checkpoints in the project blackboard 2026-10-11 23:08:54 +08:00
Ed1s0nZ deda642bd6 docs: document SQLite startup repair release readiness 2026-10-10 20:46:29 +08:00
Ed1s0nZ f2f4416af2 docs: record SQLite reconciliation verification 2026-10-10 20:45:59 +08:00
Ed1s0nZ 7f8dab4ec9 feat: reconcile SQLite tables and columns at startup 2026-10-10 20:45:39 +08:00
Ed1s0nZ 8cc575b6ae docs: plan SQLite startup reconciliation implementation 2026-10-10 20:37:28 +08:00
Ed1s0nZ 1d73bb944d docs: design SQLite schema reconciliation 2026-10-10 20:37:12 +08:00
Ed1s0nZ ceaf63afc5 docs: confirm startup schema reconciliation requirements 2026-10-10 20:36:49 +08:00
Ed1s0nZ a7b3bec3ee docs: record startup schema reconciliation intake 2026-10-10 20:32:11 +08:00
Ed1s0nZ 78d8862979 docs: record verified main integration of REST semantics fix 2026-10-10 18:43:37 +08:00
Ed1s0nZ 3da1d22b76 docs: add REST semantics fix release record 2026-10-10 18:03:12 +08:00
Ed1s0nZ b1124fbe1e docs: record REST semantics verification and API contract 2026-10-10 18:02:52 +08:00
Ed1s0nZ 9f111a1389 fix: normalize missing deletes and empty REST lists 2026-10-10 18:02:02 +08:00
Ed1s0nZ f201397796 docs: plan REST contract regression coverage 2026-10-10 18:00:02 +08:00
Ed1s0nZ c629b08b0d docs: define REST response semantics 2026-10-10 17:59:52 +08:00
Ed1s0nZ b2b76b7193 docs: confirm REST error and empty-list requirements 2026-10-10 17:59:32 +08:00
Ed1s0nZ 35955e4740 docs: record REST semantics fix intake 2026-10-10 17:59:13 +08:00
Ed1s0nZ 68df7c1aff docs: record PR 351 review and merge to main 2026-10-10 17:35:53 +08:00
Ed1s0nZ 5d44b59c2f docs: link interception conflict fix pull request 2026-10-10 17:19:54 +08:00
Ed1s0nZ 8477bfcc74 docs: finalize interception conflict fix review record 2026-10-10 17:19:28 +08:00
Ed1s0nZ 7302c3d822 docs: record interception conflict fix verification 2026-10-10 17:18:51 +08:00
Ed1s0nZ 1ecbd4054c fix: reject stale concurrent interception rule saves 2026-10-10 17:18:13 +08:00
Ed1s0nZ 4a1d0e114e docs: plan interception conflict fix validation 2026-10-10 17:15:05 +08:00
Ed1s0nZ 23034ffa45 docs: design interception optimistic concurrency contract 2026-10-10 17:14:48 +08:00
Ed1s0nZ 7e6feeb96b docs: record authorized conflict protection requirements 2026-10-10 17:14:29 +08:00
Ed1s0nZ 65f947c9df docs: record interception conflict fix intake 2026-10-10 17:14:13 +08:00
Ed1s0nZ a8321c4bff fix(vulnerability): allow standalone manual findings and validate links 2026-10-10 16:03:42 +08:00
Ed1s0nZ 088d6da3c1 fix(rbac): revoke only affected role sessions 2026-10-10 15:42:42 +08:00
Ed1s0nZ 9e7eb2db5f docs: record Russian layout fix merge to main 2026-10-10 13:45:10 +08:00
Ed1s0nZ ab04c86459 docs: add Russian layout fix release record 2026-10-10 13:41:29 +08:00
Ed1s0nZ 6626a820d4 docs: record multilingual layout verification 2026-10-10 13:41:27 +08:00
Ed1s0nZ 132babe3a9 fix: prevent long localized dashboard labels from overflowing 2026-10-10 13:41:00 +08:00
Ed1s0nZ f6f93a1b9f docs: plan Russian overflow fix and visual checks 2026-10-10 13:37:07 +08:00
Ed1s0nZ 3889de4693 docs: design content-aware dashboard layout 2026-10-10 13:37:05 +08:00
Ed1s0nZ c356e51418 docs: define layout overflow acceptance criteria 2026-10-10 13:36:45 +08:00
Ed1s0nZ e82ee59fbb docs: record Russian layout fix intake 2026-10-10 13:36:31 +08:00
Ed1s0nZ c215312485 docs: record corrective review and unreleased fixes 2026-10-09 14:16:23 +08:00
Ed1s0nZ 0283774799 docs: record corrective verification and recovery compatibility 2026-10-09 14:16:04 +08:00