Commit graph

15 commits

Author SHA1 Message Date
xingzhou
1e4e407ba3
fix(qa): Mantis before-after exits when a lane command stalls (#111051)
* fix(qa): bound Mantis lane commands

* fix(qa): use inactivity watchdog for Mantis commands

* fix(qa): use stage deadlines for Mantis commands

* fix(qa): propagate Mantis command cancellation

* fix(qa): stabilize Mantis abort harness

* fix(mantis): preserve abort termination

* fix(qa): clean temporary Mantis worktrees

* test(qa): cover Mantis cleanup failures

* fix(qa): preserve Mantis cleanup failures

* test(qa): stabilize Mantis process readiness

* test(qa): harden Mantis process tree fixtures

* fix(qa): normalize Mantis scenario deadline

* test(qa): use supported process output capture

* test(qa): split Mantis process runtime coverage

* test(qa): clear Mantis process wait timers

* refactor(qa): split Mantis command runtime

* fix(qa): keep Mantis command stage internal

* fix(qa): protect Mantis worktree cleanup ownership

* refactor(qa): split Mantis evidence artifact handling

* fix(qa): remove quarantined Mantis worktrees

* fix(qa): support legacy Git in Mantis cleanup

* fix(qa): satisfy Mantis runtime checks

* test(ci): shrink Mantis assertion baseline

* fix(qa): abort Mantis runs on CLI signals

* fix(qa): retain Mantis signal ownership during cleanup

* test(qa): exercise repeated Mantis interrupts

* test(qa-lab): pass signal to interrupt listener

* fix(qa): preserve Mantis cleanup after interruption

* fix(qa): settle Mantis cleanup before artifact reads

* fix(qa): preserve Mantis evidence across failed reruns

* fix(qa): publish Mantis comparison as one generation

* fix(qa): bind Mantis publication to owned directories

* fix(qa): keep Mantis cleanup Git-owned

* fix(qa): bind Mantis cleanup to owned worktrees

* fix(qa): narrow Mantis worktree recovery

* fix(qa): keep Mantis recovery state atomic

* fix(qa): preserve Mantis failure diagnostics

* fix(qa): satisfy Mantis failure diagnostics gates

* docs(qa): clarify Mantis output container boundary

* fix(qa): remove stale Mantis ownership helper

* fix(qa): remove stale legacy worktree fixture

* fix(qa): preserve stable Mantis artifact paths

* fix(qa): make Mantis publication lock waits cancelable

* fix(qa): preserve fs-safe lock retry policy

* fix(qa): keep Mantis artifacts at documented paths

* fix(qa): keep failed Mantis reruns internally consistent

* fix(qa): scope shutdown grace to Mantis runs

* fix(qa): retain Mantis backups after restore failure

* fix: restore process and lock safety contracts

* fix: preserve signal exit type through launcher

* fix(test): keep launcher fixtures outside production roots

Move the extracted launcher fixture to test/scripts and preserve its
original imports and lifetime. This fixes the production TypeScript and
channel import boundaries without exclusions or compiler weakening.

Core production and infra test types, 13 focused launcher cases, focused
lint, line ratchets and independent P0-P2 review passed.

* test: align release inventory with bundled publication deferral

Retain the exact CI-tested main parent and its policy excluding logbook,
memory-wiki, and onepassword from publication until release. Correct the
stale exact-inventory expectations to 95 npm and 91 ClawHub packages.
The full package-set assertions and publication policy remain unchanged.

The previously failing focused inventory test, format/lint, assertion
ratchet and independent P0-P2 correction review passed.

Co-authored-by: xingzhou <275915537+zhangguiping-xydt@users.noreply.github.com>

---------

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
Co-authored-by: zhangguiping-xydt <275915537+zhangguiping-xydt@users.noreply.github.com>
Co-authored-by: xingzhou <275915537+zhangguiping-xydt@users.noreply.github.com>
2026-09-16 17:00:24 -06:00
Peter Steinberger
1cdc5bd4f9
fix: avoid reusing builds from reverted source edits (#149866)
* fix: retain producer provenance when reusing build artifacts

* test: record clean producer facts in artifact fixtures

* docs: clarify provenance requirements for frozen runtimes
2026-09-16 02:45:49 -07:00
Peter Steinberger
2bfa3ebc98
fix(update): complete plugin runtime artifacts on first Git update (#145664)
* fix(update): prevent stale runtime modules after Git updates

Promote root and nested dist-runtime outputs through the existing candidate runtime transaction so activation and rollback keep every runtime generation aligned. Extend real-Git execution probes for runtime overlays and consolidate repeated fixture writes.

* fix(update): complete source runtime artifacts on first hop

Complete canonical plugin overlays and SDK aliases before target-owned plugin
convergence when an older published updater omitted those outputs. Preserve
exact online retries and legacy target contracts, and require current offline
authority for changed physical runtime publication and rollback.

Share artifact ownership with build/postbuild writers, join smoke cancellation,
and keep each directory swap synchronous after its authority check.

* fix(daemon): preserve proven systemd service absence

Recognize the native systemd missing-unit-file response during strict
non-loading inspection. Carry affirmative user-unit absence to the Linux
absence owner, which separately excludes system-scope ownership before
reporting an offline service. Keep failed manager inspection and other
platforms conservative.

This allows first-hop Git runtime artifact completion on CLI-only Linux
installations without weakening publication authority.

* fix(update): preserve canonical artifacts in smoke consumers

Keep the built singleton smoke on canonical runtime preparation and verify
its cleanup leaves a no-op. Release the QA fixture port reservation before
packaged maintenance so offline publication can inspect the configured port.
Align update routing and lifecycle fixtures with their real target identity
and lease contracts while retaining consent, cleanup, and restart assertions.

* test: rebalance plugin state type checks
2026-09-12 07:46:15 -07:00
Peter Steinberger
bc6011ac24
perf(cli): stop overlay freshness scans at missing outputs (#145898) 2026-09-12 05:29:05 -07:00
Peter Steinberger
58b93f5402
refactor: simplify CLI child listener registration (#144929) 2026-09-11 06:19:35 -07:00
Shakker
61f7614641
fix: distinguish interrupted dev runners from completed shutdowns (#143676)
Preserve Unix signal termination through the native runner and watcher, and distinguish acknowledged UI shutdown from interrupted or unverified cleanup.
2026-09-10 06:04:23 +01:00
Peter Steinberger
2361821ec1
fix: sync source assets with unusual filenames (#142024) 2026-09-08 01:34:26 -07:00
Peter Steinberger
7a8dc4be23
fix(cli): let the dev runner own child shutdown (#138239)
* fix(cli): let the dev runner own child shutdown

The JavaScript shim and dev runner both escalated after five seconds. The
shim could kill the runner first, leaving its separately detached child
alive. Delegate termination to the runner and handle SIGHUP through its
existing signal and build-lock lifecycle. Preserve Node execution under Bun
and other shim callers' termination behavior.

Real process regressions fail before the fix and pass for SIGTERM/SIGHUP.
Runner and entrypoint tests, changed-file checks, and independent review
pass. A fresh Linux Node 24.19.0 build passes the original Gateway worker
restart scenario (Actions 33868737194).

Release-note context: source-checkout Gateway shutdown no longer abandons a
slow child when the development launcher's shutdown timers race.

* test(agents): align attempt fixtures with session contracts

Adopt the two relevant test-only corrections already landed in #138238
(e7fffcf7a0). Supply the session methods consumed by nested tool
observation and classify structured tool failures as AgentSession does.
Keep policy-denial and never-entered action/preparer assertions intact.

The original file reproduces three failures. All 112 files and 1,666 tests
pass after this correction, with complete changed-file gates and independent
review. Launcher implementation and release candidate are unchanged.
2026-09-04 06:08:03 -07:00
Jason O'Neal
b41ec5177c
fix: avoid clean checkout rebuilds from mtimes (#136634) 2026-09-03 10:17:58 +08:00
Peter Steinberger
87ecc61b1d
perf(packaging): remove redundant npm install payload (#135478)
* perf(packaging): shrink npm runtime and declaration payload

Retain the official Claude Agent SDK as packaged library assets while reusing the selected installed Claude executable. Remove redundant native SDK installation and all-platform filesystem helper copies; adopt fs-safe 0.7 platform packages.

Align root plugin build inputs with package exclusions and retain only public SDK and plugin-contract declaration roots. Preserve CLI bootstrap laziness and source/Docker plugin builds.

Clean Linux proof reduced installed file payload from 831.1 MB to 437.8 MB with matched Node/npm/install flags; native-required filesystem writes, bundled Anthropic inspection, and plugin doctor passed.

* test(packaging): cover explicitly selected memory plugin builds

Keep the default package exclusion while retaining native persistence and production-dependency proof for the supported Docker-selected memory plugin graph.

* fix(packaging): preserve copied SDK assets during declaration publication

Separate opaque SDK type assets from generated declaration ownership. Fresh and cached declaration publication retain the complete upstream package, while runtime cleanup still replaces obsolete SDK files and stale generated declarations are removed.

* fix(packaging): unify source-checkout build ownership

Use one canonical runtime build plan for source checkouts and Docker-selected
plugins, and share its output ownership with readiness, metadata, control-plane,
and watch guards. Restore isolated CommonJS plugin outputs during rebuilds
without losing the reduced public SDK and declaration payload.

Adapt lifecycle coverage to the selected output graph, cover raw archive path
contracts, and isolate synthetic timing fixtures without changing production CI
caps. Use tsdown's plugin type for the copied official SDK assets.

Focused build-owner, filesystem/archive, planner, package/SDK/declaration/compiler
checks, scripts/root-test types, scoped lint, and frozen install passed. The full
changed gate, standalone metadata check, and package build remain incomplete
after macOS filesystem stalls; clean Linux package/install proof and exact-head
CI are still required before merge.

* test(ui): bind composer responsiveness fixture to Enter

Playwright dispatches Meta before Enter. The capture-once fixture consumed
that modifier and could insert the second prompt before submission, so the
application correctly sent and cleared it instead of losing a draft.

Schedule the next input only for Enter and remove the listener there.
Assert the first outgoing message while retaining task-order and next-draft
coverage. No production behavior, sleeps, or timeouts change.

* test(macos): synchronize queued catalog request readiness

Use the existing FIFO rendezvous to observe the blocked request before measuring its queued successor deadline. Tie readiness to the first request lifetime rather than an unrelated two-second polling budget; preserve the 50ms queued deadline and the timeout/cancellation sibling fixtures.

* fix(packaging): detach dependency links before metadata cleanup

Detach the previous output node_modules symlink before copying metadata,
regardless of whether the new output plan is isolated. This prevents a
source-to-Docker profile transition from deleting source dependencies
through the old output link. Relinking still follows the selected plan.

Extend the existing owner fixture across isolated, unified, reverse, and
repeated profiles while preserving skill assets and shared host identity.

* fix(packaging): stage canonical plugin dependency links

Replace the whole node_modules junction with dist-owned links to canonical package roots. Windows native traversal otherwise rebases pnpm relative links into the wrong directory and loses the host package exports. Keep source dependency versions, scopes, private launchers, and host SDK identity without copying or rewriting installed dependencies.

* ci: pack tooling children within hosted job budgets

Use the existing complete-file packer for hosted tooling subdivisions instead of balanced thirds that each occupy an exclusive job. Preserve the 112-job cap, workload estimates, inventory, family isolation, and hybrid/CLI policies.

* test(packaging): preserve Windows links in staged copies

Use the installer asynchronous copy contract for the native link fixture. Node 22 synchronous copying traverses Windows junctions recursively; retain both module formats, dependency ownership, host identity, and private launcher assertions.

* fix(packaging): retain POSIX checkout relocation

Keep canonical per-package dependency staging and absolute Windows junctions,
while expressing POSIX targets relative to their output link parents so a
whole source checkout can relocate with its private dependencies intact.

Fold main's relocation coverage into the ESM/CJS profile-transition fixture.
Retain source ownership, host SDK singleton, staged copy and launcher checks;
use asynchronous copying to avoid Windows junction recursion.
2026-09-02 00:03:37 -07:00
Peter Steinberger
f76b7fffd9
fix: cloud sessions fail when source builds and worker packages differ (#133037)
* fix: automatically align cloud nodes with the running build

* test: stop cloud bootstrap fixtures gracefully

* test: preserve updater fixture build metadata after postbuild
2026-08-29 20:59:41 -07:00
Peter Steinberger
dd16853471
fix(plugins): keep development runs on checkout plugins (#132201)
* fix(plugins): keep development runs on checkout plugins

* test(node-host): contain the bundled Linux plugin fixture

* fix(dev): preserve checkout selector through tmux watch
2026-08-28 18:16:16 -07:00
Josh Avant
a042125170
fix(memory): preserve provenance across dreaming (#126489)
* fix(memory): preserve provenance across dreaming

* fix(build): preserve bundled hook metadata

* refactor(build): remove obsolete directory helper

* test(memory): align provenance fixtures

* test(memory): type consolidation run options

* test(memory): register write provenance siblings

* fix(memory): preserve legacy provenance registration

* fix(memory): make provenance provider-independent

* fix(memory): canonicalize provenance workspace keys

* fix(memory): keep provenance mutation host-private

* fix(build): track runtime postbuild implementations

* fix(build): verify bundled hook metadata outputs
2026-08-20 17:58:31 -07:00
Peter Steinberger
b9d0120ee2
fix(cli): protect immutable deployment artifacts (#125902) 2026-08-18 10:11:43 -07:00
Peter Steinberger
c70aee247e
refactor(scripts): migrate JavaScript tools to TypeScript (#121005)
* refactor(scripts): migrate JavaScript tools to TypeScript

* fix(ci): keep changed-scope preflight zero-install

* fix(ci): preserve zero-install script owners

* fix(ci): complete script migration follow-through

* fix(release): keep stable closeout zero-install

* fix(scripts): preserve standalone execution boundaries

* fix(scripts): repair standalone loader boundaries

* fix(scripts): normalize gateway observation ids

* fix(scripts): keep Docker packager standalone

* test(scripts): preserve rebase cleanup helpers

* test(sessions): use tracked temp directory
2026-08-09 07:21:35 -07:00