Ed1s0nZ
54213f827b
docs: record timeout classification regression verification
2026-10-15 14:24:52 +08:00
Ed1s0nZ
5ff781bdb7
fix: distinguish task deadlines from child operation timeouts
2026-10-15 14:24:31 +08:00
Ed1s0nZ
93e8684571
docs: record timeout fix F3 plan
2026-10-15 11:47:57 +08:00
Ed1s0nZ
f10945ef77
docs: record timeout fix F2 design
2026-10-15 11:47:53 +08:00
Ed1s0nZ
39e329db76
docs: record timeout fix F1 requirements
2026-10-15 11:47:50 +08:00
Ed1s0nZ
1417f4846d
docs: record timeout fix F0 intake
2026-10-15 11:47:47 +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
Ed1s0nZ
ff50af028f
fix: keep MCP activation flags consistent across start and stop
2026-10-09 14:15:24 +08:00
Ed1s0nZ
fab7e60318
fix: preserve MCP stop state and validate recovery evidence before mutation
2026-10-09 14:12:27 +08:00
Ed1s0nZ
7f5a088c61
docs: plan recovery and MCP corrective tests
2026-10-09 14:03:48 +08:00
Ed1s0nZ
54b87185e2
docs: design fail-closed recovery evidence validation
2026-10-09 14:03:40 +08:00
Ed1s0nZ
61d456c804
docs: define recovery and MCP regression acceptance
2026-10-09 14:02:46 +08:00
Ed1s0nZ
8900431bac
docs: record post-merge recovery fix scope
2026-10-09 14:02:31 +08:00
Sycun
a63070dbd7
docs: explain update locking and interrupted rollback recovery
2026-10-09 11:10:24 +08:00
Sycun
b645914e1f
fix: a rollback keeps a recreated role, and an owed build is finished first
...
Three ways the installation could still end up with its source, its binary and
the operator's content describing different things.
Rollback copied aside only *tracked* protected files, so a role upstream had
deleted and the operator had recreated at the same path was untracked - and
`git reset --hard` wrote the old commit's copy over it. The stash now also
covers untracked protected paths the target commit writes to, and names them in
keptContent like any other file it saved.
The pending-build marker said only "a compile is owed". An update that found
new commits therefore merged them and built the *new* tree, leaving `.prev`
holding a binary for a commit the state file no longer named - a rollback then
paired old source with the original binary. And a marker left behind after a
successful swap rebuilt and overwrote that same `.prev`. The marker now names
its target commit and the hashes on both sides of the swap, the state records
which commit the live binary came from, an owed build is finished before the
tree moves again, and a retry that finds the swap already done clears the
marker instead of repeating it. Rollback verifies that pairing before touching
anything and refuses (binary_changed) rather than reset the source beside a
binary it cannot account for; an update whose build failed never swapped one,
so its rollback moves the source only and no longer demands a `.prev`.
The version pair is recorded before the config is written, so a crash in
between still leaves a rollback that can put the old number back.
2026-10-08 22:46:17 +08:00