Peter Steinberger
8cb53c7b55
perf(doctor): keep bundled doctor contract closures dependency-light ( #120698 )
...
* perf(doctor): keep bundled doctor contract closures dependency-light
Doctor contract enumeration cold-loads each plugin's doctor-contract-api
closure via jiti, so a static value import of openclaw/plugin-sdk/runtime-doctor
pulled the state-db/kysely graph (~4.3s per closure) into
listPluginDoctorLegacyConfigRules / listPluginDoctorStateMigrationEntries.
- migrate all light doctor-contract closures (66 files) to the
dependency-light openclaw/plugin-sdk/runtime-doctor-migrations subpath
- voice-call: load detect/repairOpenClawStateDatabaseSchema* lazily inside
the migration bodies; keep only a type-only static runtime-doctor import
- matrix: split pure credential record shapes/normalizers into
credentials-state.ts so the doctor closure no longer imports the sync
plugin-state store through credentials-read
- guard: doctor-contract-closure-guard.test.ts now forbids static value
imports of runtime-doctor in closures alongside agent-runtime
* fix(matrix): keep credential revocation record type module-local
Knip production scan flags the export as consumer-less; the type is only
referenced by the exported union and revocation guard signature.
2026-08-08 17:51:31 -07:00
Peter Steinberger
f81f9d8570
chore: enforce max-lines suppression ratchet ( #107315 )
...
* ci: enforce max-lines suppression ratchet
* chore: prune stale max-lines suppression
* fix: close max-lines ratchet enforcement gaps
* fix: harden max-lines ratchet checks
* fix(ci): satisfy max-lines ratchet checks
* style: format max-lines declarations
* fix(ci): match oxlint suppression grammar
* test: isolate max-lines git fixtures
* chore: prune resolved max-lines debt
* test: skip newline path fixture on Windows
* fix: harden max-lines suppression ratchet
* chore: refresh max-lines baseline
* fix: close max-lines ratchet bypasses
* fix: derive ratchet base from PR merge tree
* fix: support older Git in staged ratchet
* fix: align max-lines declarations and baseline
* chore: refresh max-lines baseline for current main
* fix: exclude generated wizard locales from max-lines
* chore: prune resolved max-lines debt
2026-07-14 09:27:02 -07:00
Peter Steinberger
4da0eb19c5
fix(state): converge legacy startup migrations ( #107002 )
...
* fix(state): converge legacy startup migrations
Co-authored-by: Eva <eva@100yen.org >
* refactor(state): split legacy migration helpers
* fix(memory): persist legacy source acknowledgements
* fix(state): remove stale migration imports
* fix(memory): recognize numbered migration archives
* fix(matrix): downgrade archived migration residue
* fix(memory): satisfy migration lint
---------
Co-authored-by: Eva <eva@100yen.org >
2026-07-13 20:05:24 -07:00
Vincent Koc
266d49cddb
fix(codex): migrate legacy session ownership to sqlite
2026-07-12 06:50:30 +08:00
Vincent Koc
b4db960616
fix(codex): converge retained raw binding rows
2026-07-12 06:50:30 +08:00
Vincent Koc
6b688011ba
fix(codex): bound legacy binding fingerprints
2026-07-12 06:50:30 +08:00
Sally O'Malley
cdb58cafb5
fix(migrations): converge recoverable legacy state ( #104529 )
...
Signed-off-by: sallyom <somalley@redhat.com >
2026-07-11 11:19:12 -07:00
Ben Badejo
1f3ea6faaa
fix(codex): prevent startup hangs after binding migration ( #103281 )
...
* fix(codex): archive imported orphan binding sidecars
* fix(codex): harden binding sidecar migration
Co-authored-by: Benjamin Badejo <ben@benbadejo.com >
* chore: keep release notes out of contributor PRs
---------
Co-authored-by: Benjamin Badejo <ben@benbadejo.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-10 10:38:35 +01:00
Ayaan Zaidi
474d660137
fix(infra): converge legacy state migrations on archive collisions
2026-07-09 18:57:58 +05:30
Vincent Koc
bf3e2f5b80
fix(codex): migrate retired approval policy
2026-07-08 23:07:20 -07:00
Peter Steinberger
0d981095d4
refactor(codex): store app-server thread bindings in SQLite plugin state ( #101210 )
...
* test(codex): shorten placeholder auth fixture strings
* feat(plugin-state): add reject-new overflow policy for keyed namespaces
* feat(agents): thread agent identity and session generation through reset and hooks
* refactor(codex): add SQLite-backed app-server thread binding store
* refactor(codex): move app-server runtime callers onto the binding store
* refactor(codex): move conversation, entry, and thread-tool flows onto the binding store
* refactor(codex): move command handlers onto the binding store
* feat(codex): import legacy binding sidecars via doctor state migration
* fix(codex): keep doctor sidecar scan inside stateDir
* fix(codex): make binding migration landable
* chore(changelog): defer release note
* test(plugin-state): stabilize durable-capacity ordering
2026-07-07 03:03:44 +01:00
Kevin Lin
d9b5afad18
fix(codex): rename destructive approval mode to ask ( #98501 )
...
* fix(codex): rename destructive approval mode to ask
* fix(codex): keep ask reviewer app-scoped
* test: fix current-main CI regressions
2026-07-01 15:14:55 -07:00
Kevin Lin
c5d34c8376
feat(codex): add always plugin approval mode ( #97123 )
...
* feat(codex): add always plugin approval mode
* fix(codex): normalize plugin approval decisions
* fix(codex): fail closed on layered approval overrides
2026-06-27 01:19:00 -07:00
Kevin Lin
e82d19fb06
feat(codex): add auto plugin approvals ( #92625 )
...
* feat(codex): add on-request plugin approvals
* feat(codex): rename plugin approval policy to auto
* fix(codex): update binding schema version callers
2026-06-14 18:00:38 -07:00
Peter Steinberger
6868cde4d4
docs: document large extension sources
2026-06-04 21:40:44 -04:00
Kevin Lin
b79de62b3c
fix(codex): remove dynamic tools profile option
2026-05-09 21:34:33 -07:00