openclaw/config
Peter Steinberger 40d9ed0924
test(core,plugins): remove low-value tests (batch d125) (#162544)
* test(agents): deslop t0481 tests

* test(oc-path): deslop t0487 tests

* test(infra): deslop t0471 tests

* test(plugin-sdk): deslop t0474 tests

* test(config): deslop t0490 tests

Remove overlapping mutation entry-point checks, include-eligibility probes,
and repeated table variants. Reuse include fixtures and preserve resolved
and optional references in the existing reference-preservation write.

The test-count reduction reaches 50%. Test LOC falls from 3300 to 1915
(42.0%), below the requested 50% LOC target. Retained cases follow the
campaign retention rules: R1 = distinct covered path, R2 = past regression,
R3 = ownership, path, or secret-validation boundary. Parameter rows listed
together remain separate executed tests.

Per-case retention:
- R1 source versus runtime mutation: ordinary transform and plain receipt.
- R1 stale transform retry: commit conflict followed by a fresh transform.
- R2 ownership captured before base hash: 767e8280ac.
- R2 same-process serialization before reads: 2e983e47df.
- R1 symlinked lock directory: canonical permission-error attribution.
- R1 unrelated permission error: preserve an error outside the config directory.
- R1 Nix-managed write refusal: immutable-config error path.
- R1 legacy included receipt: root-only hashes are not complete revisions.
- R3 shared fragment alias in a merged sibling: no unrequested sibling writes.
- R1 shadowed nested delegate: same-path merged ownership rejection.
- R1 changed nested siblings: reject a parent that still owns include directives.
- R1 numeric object-key include: channel config write-through and eligibility.
- R2 committed snapshot after external edit: 78ca70be45.
- R3 custom-IO include authority, accepted and revoked: destination and effects.
- R2 reader environment foreign-write and foreign-delete: 30c911eb33.
- R3 custom-IO root authority, accepted and revoked: explicit destination custody.
- R1 invalid-plugin include repair: reference preservation, notification and backups.
- R1 delegation changed during preflight and reread: dependency graph fences.
- R1 read-time migration adds keys: compare the authored pre-migration source.
- R1 malformed include repair: parse-error replacement and retained backup.
- R1 missing-parent include repair: absent-file hash and directory creation.
- R3 missing include behind an external symlink: absolute paths and include roots.
- R2 mutation-start hash precedence over a later reread: 767e8280ac.
- R1 provided snapshot without write options: reject missing destination proof.
- R1 skipped-plugin write warning: warn before stripping JSON5 comments.
- R2 non-finite include values: 89525828e0.
- R3 caller commit guard: runtime preflight precedes authority check and effects.
- R2 published restart environment: 3616fba951.
- R2 concurrent include and root edits during backup rotation: 767e8280ac.
- R2 ownership changes during commit: 767e8280ac.
- R2 no retry after a committed include reread conflict: d1c0e249c6.
- R3 missing-include parent swapped during preflight: reject symlink escape.
- R1 restored include preflight: resolve references against the current environment.
- R2 escaped root value is not substituted again: 767e8280ac.
- R2 failed refresh with rename and permission fallback: 7d7b5ba1b5.
- R2 foreign include edit during failed refresh rollback: 31145e0dd9.
- R1 invalid base with plugin validation skipped: keep core validation active.
- R1 roster migration with include edit: force canonical persistence through root.
- R3 injected root writer: secret preflight must finish before persistence.

Keep the foreign-write rollback separate from environment compensation:
recovery restores environment effects only when the file was restored.
No production or baseline flake fix is included.

Validation on Blacksmith Testbox:
- pnpm test src/config/mutate.test.ts: 45 passed, 16.97s file wall time.
- src/config/** coverage: statements 3269 -> 3256 (-13, -0.40%);
  branches 1890 -> 1876 (-14, -0.74%); functions 611 -> 609 (-2).
  One runtime-config group compared; no excluded groups.
- check:changed for both edited paths passed, including core test types,
  lint, boundaries and the full-tree dead-export scan.
- Local plain oxlint, oxfmt and git diff --check passed.

The seven-statement mutate.ts reduction retires helper-only and synthetic
admission replays. Sibling coverage remains in io.write-lock.test.ts
("allows a nested direct writer in the same live mutation scope" and
"rejects changed %s path provenance before creating the canonical lock
directory") and io.write-config.test.ts ("composes caller authority with
captured destination ownership for %s"). Smaller per-file drops are
config-write-guard -3/-3, include-write-boundary -1/-3,
mutate.include-io -1/-1 and write-lock -1/-2 (statements/branches).

The first lease expired during staging; the helper recovered on a replacement.
The final gates all returned zero. Reassemble the two unmodified coverage
payload chunks around interleaved check logs, verify the gzip CRC, then use
the supplied coverage decoder and comparator. No coverage data was changed.

* test(infra): deslop t0484 tests

* test(cli): deslop t0495 tests

* test(config): deslop t0502 tests

* test(node-host): deslop t0500 tests

* test(qa-lab): deslop t0503 tests
2026-10-01 08:34:49 +00:00
..
oxlint feat(lint): enforce no-chained-type-assertions (#124119) 2026-08-15 02:13:37 -07:00
tsconfig perf(lint): narrow source project discovery (#160311) 2026-09-28 22:00:36 +07:00
assertion-safety-baseline.txt refactor(ai): share provider transport request orchestration (#162491) 2026-10-01 08:27:34 +00:00
ci-test-timings.json ci: refresh Control UI E2E shard weights 2026-09-30 01:34:20 -07:00
control-ui-startup-budget-baseline.json feat(gateway): let operators disable client file and image uploads (#158567) 2026-09-27 18:40:36 -07:00
env-var-count-budget.txt refactor(config): migrate bare sender policy keys in Doctor (#162427) 2026-10-01 08:33:50 +00:00
knip.all-exports.config.ts fix(slack): let verified linked admins assign sessions from Slack (#159694) 2026-09-27 16:52:33 -07:00
knip.config.ts fix: prevent Gateway shutdown failures after in-place updates (#160674) 2026-09-30 19:20:24 -07:00
knip.scripts-exports.config.ts fix(update): check artifact ownership before stopping the Gateway on source updates (#158849) 2026-09-26 11:28:41 +00:00
markdownlint-cli2.jsonc
markdownlint-templates.jsonc fix(tooling): run markdownlint on workspace templates (#91160) (#117166) 2026-08-28 12:21:13 -07:00
max-lines-baseline.txt test(core,plugins): remove low-value tests (batch d125) (#162544) 2026-10-01 08:34:49 +00:00
shellcheckrc
stylelint.config.mjs perf(ui): stop Web Awesome's page rule from restyling html and body on every insertion (#160833) 2026-09-28 17:48:58 -07:00
swiftformat chore(deps): refresh macOS and iOS app dependencies (#135592) 2026-09-01 16:31:14 -07:00
swiftlint.yml feat(macos): open links as native Mac tabs in the Browser panel (#140988) 2026-09-07 13:12:46 -07:00
test-timeout-race-baseline.txt fix(test): CI fails healthy child-process, SQLite worker, and agent-turn tests when a loaded runner outlasts 5 s deadlines (#162532) 2026-10-01 08:19:43 +00:00