From c65fb34ee64f183ce0d3374a79ffca7a8b225f3b Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Sat, 24 Oct 2026 15:55:45 -0500 Subject: [PATCH] row329: finish pinned model proxy P1 and record final gate (#1827) --- BUILD-LOG.md | 2 + agents/magica/work/queue-329/BUILD.md | 305 ++ agents/magica/work/queue-329/MANIFEST.sha256 | 350 +++ agents/magica/work/queue-329/REVIEW.md | 81 + .../work/queue-329/acceptance-api-only.txt | 30 + agents/magica/work/queue-329/acceptance.mjs | 10 + agents/magica/work/queue-329/acceptance.sh | 5 +- .../work/queue-329/claude-401-receipts.txt | 14 + .../development-gate/bus-model-proxy.test.txt | 19 + .../development-gate/cli-model-proxy.test.txt | 20 + .../model-proxy-client.test.txt | 27 + .../model-proxy-config-unit.test.txt | 24 + .../model-proxy-fetch.test.txt | 19 + .../model-proxy-runner.test.txt | 14 + .../model-proxy-settings.test.txt | 30 + .../queue-329/development-gate/npm-root.txt | 6 + .../queue-329/development-gate/npm-webui.txt | 5 + .../queue-329/development-gate/runs.jsonl | 9 + agents/magica/work/queue-329/final-counts.py | 43 + .../work/queue-329/final-reader-progress.txt | 6 + .../magica/work/queue-329/gate-progress.txt | 125 + .../work/queue-329/gate/FINAL-COUNTS.json | 2717 +++++++++++++++++ .../work/queue-329/gate/FINAL-COUNTS.txt | 8 + agents/magica/work/queue-329/gate/STATUS.txt | 8 + .../queue-329/gate/bus-access-revoke.test.txt | 21 + .../gate/bus-account-migration.test.txt | 14 + .../work/queue-329/gate/bus-address.test.txt | 26 + .../work/queue-329/gate/bus-agents.test.txt | 22 + .../gate/bus-approval-binding.test.txt | 17 + .../work/queue-329/gate/bus-broker.test.txt | 27 + .../work/queue-329/gate/bus-business.test.txt | 12 + .../queue-329/gate/bus-channel-proof.test.txt | 13 + .../gate/bus-chief-of-staff.test.txt | 62 + .../gate/bus-citation-availability.test.txt | 14 + .../gate/bus-citation-guard.test.txt | 24 + .../gate/bus-citation-runtime.test.txt | 12 + .../gate/bus-comment-cursors.test.txt | 13 + .../gate/bus-comment-migration.test.txt | 16 + .../gate/bus-console-decide.test.txt | 23 + .../work/queue-329/gate/bus-creative.test.txt | 17 + .../gate/bus-credential-claim.test.txt | 19 + .../gate/bus-credential-status.test.txt | 15 + .../gate/bus-credential-store.test.txt | 23 + .../gate/bus-credential-verbs.test.txt | 13 + .../queue-329/gate/bus-credentials.test.txt | 16 + .../gate/bus-csuite-messaging.test.txt | 27 + .../gate/bus-daily-quota-runtime.test.txt | 19 + .../gate/bus-decision-close.test.txt | 19 + .../gate/bus-decision-route.test.txt | 16 + .../queue-329/gate/bus-decisions.test.txt | 18 + .../queue-329/gate/bus-end-launch.test.txt | 18 + .../gate/bus-fire-revokes-grants.test.txt | 35 + .../gate/bus-gitea-grant-docker.test.txt | 31 + .../queue-329/gate/bus-gitea-grant.test.txt | 77 + .../gate/bus-gitea-migration.test.txt | 16 + .../queue-329/gate/bus-grant-enroll.test.txt | 35 + .../gate/bus-grant-executor.test.txt | 53 + .../queue-329/gate/bus-grant-host.test.txt | 21 + .../gate/bus-grant-migration.test.txt | 17 + .../gate/bus-grant-scope-runtime.test.txt | 13 + .../queue-329/gate/bus-grant-scope.test.txt | 25 + .../queue-329/gate/bus-hard-waits.test.txt | 24 + .../work/queue-329/gate/bus-host-run.test.txt | 37 + .../queue-329/gate/bus-host-tools.test.txt | 17 + .../work/queue-329/gate/bus-human.test.txt | 15 + .../gate/bus-instances-verb.test.txt | 16 + .../queue-329/gate/bus-interpreter.test.txt | 16 + .../work/queue-329/gate/bus-land.test.txt | 29 + .../queue-329/gate/bus-launch-notice.test.txt | 19 + .../gate/bus-launcher-released.test.txt | 14 + .../gate/bus-library-credential.test.txt | 17 + .../gate/bus-library-lookups.test.txt | 22 + .../queue-329/gate/bus-library-sync.test.txt | 17 + .../work/queue-329/gate/bus-library.test.txt | 17 + .../gate/bus-lifecycle-revoke.test.txt | 20 + .../gate/bus-lifecycle-verbs.test.txt | 24 + .../queue-329/gate/bus-limit-checks.test.txt | 27 + .../queue-329/gate/bus-limit-stop.test.txt | 16 + .../gate/bus-limits-runtime.test.txt | 22 + .../work/queue-329/gate/bus-limits.test.txt | 16 + .../gate/bus-message-citation.test.txt | 14 + .../gate/bus-message-filter.test.txt | 17 + .../work/queue-329/gate/bus-messages.test.txt | 15 + .../queue-329/gate/bus-messaging.test.txt | 24 + .../queue-329/gate/bus-model-proxy.test.txt | 19 + .../gate/bus-name-migration.test.txt | 12 + .../work/queue-329/gate/bus-names.test.txt | 18 + .../gate/bus-peer-transport.test.txt | 15 + .../work/queue-329/gate/bus-peercred.test.txt | 16 + .../queue-329/gate/bus-plugins-verb.test.txt | 18 + .../queue-329/gate/bus-principal.test.txt | 16 + .../work/queue-329/gate/bus-process.test.txt | 19 + .../gate/bus-processing-runtime.test.txt | 13 + .../gate/bus-processing-timeout.test.txt | 12 + .../gate/bus-processing-web.test.txt | 12 + .../queue-329/gate/bus-processing.test.txt | 25 + .../queue-329/gate/bus-project-await.test.txt | 15 + .../queue-329/gate/bus-project-files.test.txt | 19 + .../gate/bus-project-runtime.test.txt | 14 + .../work/queue-329/gate/bus-publish.test.txt | 24 + .../work/queue-329/gate/bus-reload.test.txt | 30 + .../work/queue-329/gate/bus-replies.test.txt | 18 + .../queue-329/gate/bus-requirements.test.txt | 14 + .../work/queue-329/gate/bus-review.test.txt | 19 + .../queue-329/gate/bus-revoke-window.test.txt | 14 + .../queue-329/gate/bus-room-check.test.txt | 13 + .../work/queue-329/gate/bus-rooms.test.txt | 29 + .../queue-329/gate/bus-routes-verb.test.txt | 16 + .../work/queue-329/gate/bus-schema.test.txt | 12 + .../queue-329/gate/bus-session-clear.test.txt | 30 + .../gate/bus-session-compactions.test.txt | 15 + .../work/queue-329/gate/bus-sessions.test.txt | 18 + .../queue-329/gate/bus-single-use.test.txt | 23 + .../gate/bus-spec-migration.test.txt | 12 + .../queue-329/gate/bus-spec-review.test.txt | 23 + .../queue-329/gate/bus-spec-socket.test.txt | 17 + .../work/queue-329/gate/bus-spec.test.txt | 15 + .../queue-329/gate/bus-staff-request.test.txt | 21 + .../work/queue-329/gate/bus-state.test.txt | 19 + .../work/queue-329/gate/bus-store.test.txt | 18 + .../queue-329/gate/bus-task-page.test.txt | 17 + .../queue-329/gate/bus-task-read.test.txt | 14 + .../work/queue-329/gate/bus-tasks.test.txt | 20 + .../gate/bus-tester-threads.test.txt | 26 + .../queue-329/gate/bus-tester-writes.test.txt | 24 + .../work/queue-329/gate/bus-tester.test.txt | 25 + .../queue-329/gate/bus-thread-claims.test.txt | 17 + .../gate/bus-thread-migration.test.txt | 14 + .../queue-329/gate/bus-thread-shares.test.txt | 27 + .../work/queue-329/gate/bus-threads.test.txt | 31 + .../queue-329/gate/bus-transport.test.txt | 16 + .../queue-329/gate/bus-usage-broker.test.txt | 12 + .../gate/bus-usage-migration.test.txt | 12 + .../queue-329/gate/bus-usage-runtime.test.txt | 12 + .../work/queue-329/gate/bus-usage.test.txt | 26 + .../gate/bus-user-principal.test.txt | 35 + .../work/queue-329/gate/bus-viewer.test.txt | 18 + .../work/queue-329/gate/bus-web.test.txt | 30 + .../gate/bus-workflow-roles.test.txt | 15 + .../queue-329/gate/cli-access-boot.test.txt | 15 + .../work/queue-329/gate/cli-access.test.txt | 45 + .../work/queue-329/gate/cli-app.test.txt | 41 + .../queue-329/gate/cli-boot-status.test.txt | 14 + .../cli-case1-accept.rerun-mos1605.load.jsonl | 243 ++ .../gate/cli-case1-accept.rerun-mos1605.txt | 69 + .../queue-329/gate/cli-case1-accept.test.txt | 96 + .../gate/cli-case1-hostcheck.test.load.jsonl | 3 + .../gate/cli-case1-hostcheck.test.txt | 31 + .../gate/cli-case2-install.test.load.jsonl | 9 + .../queue-329/gate/cli-case2-install.test.txt | 39 + .../cli-case2-persona-import.test.load.jsonl | 4 + .../gate/cli-case2-persona-import.test.txt | 26 + .../gate/cli-case2-unit.test.load.jsonl | 72 + .../queue-329/gate/cli-case2-unit.test.txt | 59 + .../gate/cli-channel-cli.test.load.jsonl | 1 + .../queue-329/gate/cli-channel-cli.test.txt | 14 + .../gate/cli-channel-recovery.test.load.jsonl | 3 + .../gate/cli-channel-recovery.test.txt | 13 + .../queue-329/gate/cli-cli.test.load.jsonl | 1 + .../work/queue-329/gate/cli-cli.test.txt | 24 + .../cli-compactions-launch.test.load.jsonl | 15 + .../gate/cli-compactions-launch.test.txt | 26 + .../queue-329/gate/cli-config.test.load.jsonl | 1 + .../work/queue-329/gate/cli-config.test.txt | 19 + .../gate/cli-credentials.test.load.jsonl | 1 + .../queue-329/gate/cli-credentials.test.txt | 17 + .../cli-federation-acceptance.test.load.jsonl | 1 + .../gate/cli-federation-acceptance.test.txt | 13 + .../queue-329/gate/cli-follow.test.load.jsonl | 1 + .../work/queue-329/gate/cli-follow.test.txt | 18 + .../queue-329/gate/cli-format.test.load.jsonl | 1 + .../work/queue-329/gate/cli-format.test.txt | 16 + .../gate/cli-gate-lane-auth.test.load.jsonl | 18 + .../gate/cli-gate-lane-auth.test.txt | 20 + .../cli-gate-lane-fixtures.test.load.jsonl | 1 + .../gate/cli-gate-lane-fixtures.test.txt | 20 + .../gate/cli-gate-lane-image.test.load.jsonl | 1 + .../gate/cli-gate-lane-image.test.txt | 26 + .../gate/cli-gate-lane-state.test.load.jsonl | 2 + .../gate/cli-gate-lane-state.test.txt | 26 + .../gate/cli-gate-lane.test.load.jsonl | 1 + .../queue-329/gate/cli-gate-lane.test.txt | 25 + .../gate/cli-git-socket.test.load.jsonl | 15 + .../queue-329/gate/cli-git-socket.test.txt | 36 + .../gate/cli-grants-scope.test.load.jsonl | 1 + .../queue-329/gate/cli-grants-scope.test.txt | 16 + .../queue-329/gate/cli-grants.test.load.jsonl | 1 + .../work/queue-329/gate/cli-grants.test.txt | 18 + .../queue-329/gate/cli-host.test.load.jsonl | 14 + .../work/queue-329/gate/cli-host.test.txt | 55 + .../queue-329/gate/cli-hosts.test.load.jsonl | 1 + .../work/queue-329/gate/cli-hosts.test.txt | 20 + .../gate/cli-idle-stop-race.test.load.jsonl | 2 + .../gate/cli-idle-stop-race.test.txt | 15 + .../gate/cli-instances.test.load.jsonl | 3 + .../queue-329/gate/cli-instances.test.txt | 29 + .../gate/cli-launch-account.test.load.jsonl | 1 + .../gate/cli-launch-account.test.txt | 19 + .../cli-launch-limit-checks.test.load.jsonl | 1 + .../gate/cli-launch-limit-checks.test.txt | 17 + .../gate/cli-launch-limits.test.load.jsonl | 1 + .../queue-329/gate/cli-launch-limits.test.txt | 13 + .../gate/cli-launch-routes.test.load.jsonl | 1 + .../queue-329/gate/cli-launch-routes.test.txt | 21 + .../gate/cli-launcher.test.load.jsonl | 29 + .../work/queue-329/gate/cli-launcher.test.txt | 63 + .../gate/cli-lifecycle.test.load.jsonl | 15 + .../queue-329/gate/cli-lifecycle.test.txt | 43 + .../gate/cli-limits-tokens.test.load.jsonl | 1 + .../queue-329/gate/cli-limits-tokens.test.txt | 17 + .../queue-329/gate/cli-limits.test.load.jsonl | 1 + .../work/queue-329/gate/cli-limits.test.txt | 17 + .../gate/cli-mark-read.test.load.jsonl | 2 + .../queue-329/gate/cli-mark-read.test.txt | 18 + .../gate/cli-model-proxy.test.load.jsonl | 1 + .../queue-329/gate/cli-model-proxy.test.txt | 21 + .../queue-329/gate/cli-names.test.load.jsonl | 1 + .../work/queue-329/gate/cli-names.test.txt | 14 + .../gate/cli-notifier.test.load.jsonl | 1 + .../work/queue-329/gate/cli-notifier.test.txt | 39 + .../gate/cli-optional-tracker.test.load.jsonl | 1 + .../gate/cli-optional-tracker.test.txt | 16 + .../gate/cli-other-tree.test.load.jsonl | 1 + .../queue-329/gate/cli-other-tree.test.txt | 16 + .../gate/cli-processing-cli.test.load.jsonl | 1 + .../gate/cli-processing-cli.test.txt | 16 + .../cli-project-name-repo.test.load.jsonl | 1 + .../gate/cli-project-name-repo.test.txt | 14 + .../gate/cli-project.test.load.jsonl | 1 + .../work/queue-329/gate/cli-project.test.txt | 16 + .../gate/cli-publish-socket.test.load.jsonl | 6 + .../gate/cli-publish-socket.test.txt | 22 + .../gate/cli-reply-limits.test.load.jsonl | 1 + .../queue-329/gate/cli-reply-limits.test.txt | 14 + .../gate/cli-revoke-window.test.load.jsonl | 1 + .../queue-329/gate/cli-revoke-window.test.txt | 15 + .../gate/cli-session-clear.test.load.jsonl | 12 + .../queue-329/gate/cli-session-clear.test.txt | 22 + .../gate/cli-session-cli.test.load.jsonl | 1 + .../queue-329/gate/cli-session-cli.test.txt | 26 + .../gate/cli-session-launch.test.load.jsonl | 11 + .../gate/cli-session-launch.test.txt | 27 + .../gate/cli-stack-copy.test.load.jsonl | 17 + .../queue-329/gate/cli-stack-copy.test.txt | 30 + .../gate/cli-stack-instances.test.load.jsonl | 4 + .../gate/cli-stack-instances.test.txt | 39 + ...cli-stack-release-external.test.load.jsonl | 87 + .../gate/cli-stack-release-external.test.txt | 37 + .../gate/cli-stack-release.test.load.jsonl | 639 ++++ .../queue-329/gate/cli-stack-release.test.txt | 262 ++ .../gate/cli-stack-upgrade.test.load.jsonl | 69 + .../queue-329/gate/cli-stack-upgrade.test.txt | 33 + .../gate/cli-tester-http.test.load.jsonl | 1 + .../queue-329/gate/cli-tester-http.test.txt | 14 + .../gate/cli-tester-reads.test.load.jsonl | 3 + .../queue-329/gate/cli-tester-reads.test.txt | 19 + .../gate/cli-tester-threads.test.load.jsonl | 3 + .../gate/cli-tester-threads.test.txt | 18 + .../queue-329/gate/cli-tester.test.load.jsonl | 1 + .../work/queue-329/gate/cli-tester.test.txt | 23 + .../gate/cli-thread-cli.test.load.jsonl | 2 + .../queue-329/gate/cli-thread-cli.test.txt | 23 + .../gate/cli-thread-launch.test.load.jsonl | 19 + .../queue-329/gate/cli-thread-launch.test.txt | 47 + .../gate/cli-thread-revoke.test.load.jsonl | 1 + .../queue-329/gate/cli-thread-revoke.test.txt | 16 + .../gate/cli-trackers-boot.test.load.jsonl | 1 + .../queue-329/gate/cli-trackers-boot.test.txt | 16 + .../gate/cli-transport.test.load.jsonl | 3 + .../queue-329/gate/cli-transport.test.txt | 15 + .../queue-329/gate/cli-usage.test.load.jsonl | 1 + .../work/queue-329/gate/cli-usage.test.txt | 14 + .../queue-329/gate/cli-verbs.test.load.jsonl | 4 + .../work/queue-329/gate/cli-verbs.test.txt | 21 + .../gate/model-proxy-client.test.txt | 27 + .../gate/model-proxy-config-unit.test.txt | 24 + .../queue-329/gate/model-proxy-fetch.test.txt | 19 + .../gate/model-proxy-runner.test.txt | 14 + .../gate/model-proxy-settings.test.txt | 30 + .../magica/work/queue-329/gate/npm-root.txt | 6 + .../magica/work/queue-329/gate/npm-webui.txt | 5 + .../post-unit-fix-cli-host.test.load.jsonl | 13 + .../gate/post-unit-fix-cli-host.test.txt | 55 + .../post-unit-fix-cli-stack-copy.test.txt | 29 + ...post-unit-fix-cli-stack-instances.test.txt | 38 + ...cli-stack-release-external.test.load.jsonl | 84 + ...it-fix-cli-stack-release-external.test.txt | 37 + ...unit-fix-cli-stack-release.test.load.jsonl | 724 +++++ .../post-unit-fix-cli-stack-release.test.txt | 262 ++ ...unit-fix-cli-stack-upgrade.test.load.jsonl | 98 + .../post-unit-fix-cli-stack-upgrade.test.txt | 33 + .../post-unit-fix-cli-verbs.test.load.jsonl | 4 + .../gate/post-unit-fix-cli-verbs.test.txt | 21 + .../post-unit-fix-model-proxy-client.test.txt | 27 + ...-unit-fix-model-proxy-config-unit.test.txt | 26 + .../post-unit-fix-model-proxy-fetch.test.txt | 19 + .../post-unit-fix-model-proxy-runner.test.txt | 14 + ...ost-unit-fix-model-proxy-settings.test.txt | 30 + .../post-unit-fix-webui-pinned-copy.test.txt | 21 + .../queue-329/gate/resume-mos1605-runs.jsonl | 73 + agents/magica/work/queue-329/gate/runs.jsonl | 143 + .../queue-329/gate/test-config.sh.load.jsonl | 3 + .../work/queue-329/gate/test-config.sh.txt | 61 + .../test-federation-acceptance.sh.load.jsonl | 4 + .../gate/test-federation-acceptance.sh.txt | 14 + .../queue-329/gate/unit-custom-config-red.txt | 111 + .../gate/webui-pinned-copy.test.load.jsonl | 7 + .../queue-329/gate/webui-pinned-copy.test.txt | 22 + .../queue-329/resume-mos1605-progress.txt | 69 + .../magica/work/queue-329/resume-mos1605.py | 44 + docs/SESSIONS.md | 1 + packages/model-proxy/README.md | 6 +- .../model-proxy/tests/config-unit.test.mjs | 3 + scripts/bus-service.sh | 8 + 314 files changed, 11847 insertions(+), 4 deletions(-) create mode 100644 agents/magica/work/queue-329/MANIFEST.sha256 create mode 100644 agents/magica/work/queue-329/REVIEW.md create mode 100644 agents/magica/work/queue-329/acceptance-api-only.txt create mode 100644 agents/magica/work/queue-329/claude-401-receipts.txt create mode 100644 agents/magica/work/queue-329/development-gate/bus-model-proxy.test.txt create mode 100644 agents/magica/work/queue-329/development-gate/cli-model-proxy.test.txt create mode 100644 agents/magica/work/queue-329/development-gate/model-proxy-client.test.txt create mode 100644 agents/magica/work/queue-329/development-gate/model-proxy-config-unit.test.txt create mode 100644 agents/magica/work/queue-329/development-gate/model-proxy-fetch.test.txt create mode 100644 agents/magica/work/queue-329/development-gate/model-proxy-runner.test.txt create mode 100644 agents/magica/work/queue-329/development-gate/model-proxy-settings.test.txt create mode 100644 agents/magica/work/queue-329/development-gate/npm-root.txt create mode 100644 agents/magica/work/queue-329/development-gate/npm-webui.txt create mode 100644 agents/magica/work/queue-329/development-gate/runs.jsonl create mode 100644 agents/magica/work/queue-329/final-counts.py create mode 100644 agents/magica/work/queue-329/final-reader-progress.txt create mode 100644 agents/magica/work/queue-329/gate-progress.txt create mode 100644 agents/magica/work/queue-329/gate/FINAL-COUNTS.json create mode 100644 agents/magica/work/queue-329/gate/FINAL-COUNTS.txt create mode 100644 agents/magica/work/queue-329/gate/STATUS.txt create mode 100644 agents/magica/work/queue-329/gate/bus-access-revoke.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-account-migration.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-address.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-agents.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-approval-binding.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-broker.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-business.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-channel-proof.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-chief-of-staff.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-citation-availability.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-citation-guard.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-citation-runtime.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-comment-cursors.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-comment-migration.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-console-decide.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-creative.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-credential-claim.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-credential-status.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-credential-store.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-credential-verbs.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-credentials.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-csuite-messaging.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-daily-quota-runtime.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-decision-close.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-decision-route.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-decisions.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-end-launch.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-fire-revokes-grants.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-gitea-grant-docker.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-gitea-grant.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-gitea-migration.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-grant-enroll.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-grant-executor.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-grant-host.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-grant-migration.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-grant-scope-runtime.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-grant-scope.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-hard-waits.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-host-run.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-host-tools.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-human.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-instances-verb.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-interpreter.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-land.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-launch-notice.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-launcher-released.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-library-credential.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-library-lookups.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-library-sync.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-library.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-lifecycle-revoke.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-lifecycle-verbs.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-limit-checks.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-limit-stop.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-limits-runtime.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-limits.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-message-citation.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-message-filter.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-messages.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-messaging.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-model-proxy.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-name-migration.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-names.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-peer-transport.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-peercred.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-plugins-verb.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-principal.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-process.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-processing-runtime.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-processing-timeout.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-processing-web.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-processing.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-project-await.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-project-files.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-project-runtime.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-publish.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-reload.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-replies.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-requirements.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-review.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-revoke-window.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-room-check.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-rooms.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-routes-verb.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-schema.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-session-clear.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-session-compactions.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-sessions.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-single-use.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-spec-migration.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-spec-review.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-spec-socket.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-spec.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-staff-request.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-state.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-store.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-task-page.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-task-read.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-tasks.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-tester-threads.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-tester-writes.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-tester.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-thread-claims.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-thread-migration.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-thread-shares.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-threads.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-transport.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-usage-broker.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-usage-migration.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-usage-runtime.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-usage.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-user-principal.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-viewer.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-web.test.txt create mode 100644 agents/magica/work/queue-329/gate/bus-workflow-roles.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-access-boot.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-access.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-app.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-boot-status.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.txt create mode 100644 agents/magica/work/queue-329/gate/cli-case1-accept.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-case2-install.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-case2-install.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-case2-persona-import.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-case2-persona-import.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-case2-unit.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-case2-unit.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-channel-cli.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-channel-cli.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-channel-recovery.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-channel-recovery.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-cli.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-cli.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-compactions-launch.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-compactions-launch.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-config.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-config.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-credentials.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-credentials.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-federation-acceptance.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-federation-acceptance.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-follow.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-follow.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-format.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-format.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-gate-lane-image.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-gate-lane-image.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-gate-lane-state.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-gate-lane-state.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-gate-lane.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-gate-lane.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-git-socket.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-git-socket.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-grants-scope.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-grants-scope.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-grants.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-grants.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-host.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-host.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-hosts.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-hosts.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-idle-stop-race.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-idle-stop-race.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-instances.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-instances.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-launch-account.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-launch-account.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-launch-limits.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-launch-limits.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-launch-routes.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-launch-routes.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-launcher.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-launcher.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-lifecycle.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-lifecycle.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-limits-tokens.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-limits-tokens.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-limits.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-limits.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-mark-read.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-mark-read.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-model-proxy.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-model-proxy.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-names.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-names.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-notifier.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-notifier.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-optional-tracker.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-optional-tracker.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-other-tree.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-other-tree.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-processing-cli.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-processing-cli.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-project-name-repo.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-project-name-repo.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-project.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-project.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-publish-socket.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-publish-socket.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-reply-limits.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-reply-limits.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-revoke-window.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-revoke-window.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-session-clear.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-session-clear.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-session-cli.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-session-cli.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-session-launch.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-session-launch.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-stack-copy.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-stack-copy.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-stack-instances.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-stack-instances.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-stack-release-external.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-stack-release-external.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-stack-release.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-stack-release.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-stack-upgrade.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-stack-upgrade.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-tester-http.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-tester-http.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-tester-reads.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-tester-reads.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-tester-threads.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-tester-threads.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-tester.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-tester.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-thread-cli.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-thread-cli.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-thread-launch.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-thread-launch.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-thread-revoke.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-thread-revoke.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-trackers-boot.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-trackers-boot.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-transport.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-transport.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-usage.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-usage.test.txt create mode 100644 agents/magica/work/queue-329/gate/cli-verbs.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/cli-verbs.test.txt create mode 100644 agents/magica/work/queue-329/gate/model-proxy-client.test.txt create mode 100644 agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt create mode 100644 agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt create mode 100644 agents/magica/work/queue-329/gate/model-proxy-runner.test.txt create mode 100644 agents/magica/work/queue-329/gate/model-proxy-settings.test.txt create mode 100644 agents/magica/work/queue-329/gate/npm-root.txt create mode 100644 agents/magica/work/queue-329/gate/npm-webui.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-copy.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-instances.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-client.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-config-unit.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-fetch.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-runner.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-settings.test.txt create mode 100644 agents/magica/work/queue-329/gate/post-unit-fix-webui-pinned-copy.test.txt create mode 100644 agents/magica/work/queue-329/gate/resume-mos1605-runs.jsonl create mode 100644 agents/magica/work/queue-329/gate/runs.jsonl create mode 100644 agents/magica/work/queue-329/gate/test-config.sh.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/test-config.sh.txt create mode 100644 agents/magica/work/queue-329/gate/test-federation-acceptance.sh.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/test-federation-acceptance.sh.txt create mode 100644 agents/magica/work/queue-329/gate/unit-custom-config-red.txt create mode 100644 agents/magica/work/queue-329/gate/webui-pinned-copy.test.load.jsonl create mode 100644 agents/magica/work/queue-329/gate/webui-pinned-copy.test.txt create mode 100644 agents/magica/work/queue-329/resume-mos1605-progress.txt create mode 100644 agents/magica/work/queue-329/resume-mos1605.py diff --git a/BUILD-LOG.md b/BUILD-LOG.md index cf81284d5..05253e27a 100644 --- a/BUILD-LOG.md +++ b/BUILD-LOG.md @@ -5576,3 +5576,5 @@ claim. Receipts and limitations in agents/lena/work/queue-296/BUILD.md and run-r 2026-10-24T19:44:50Z | Sage | Row 328 (#1826, Vikunja 622, old T9 timer race, Fethry on Codex, Boyd and Dewey) LANDED 8bb5b3c73, pushed 19:40Z 10-24. Before: refactor at 5e77cdd09. After: Fethry's 8 commits cherry-picked onto 5e77cdd09 (same patches); T9's second start passes intervalMs 2147483647 (mos-1594), test-only. Under 8x50 concurrent loops M1 (50 ms back) gave 26 expected failures and the fix 400/400. Boyd APPROVE c31621 rev 4002, Dewey APPROVE c31622 rev 4003. Sage gate GREEN 19:38:54Z on 8bb5b3c73 itself, no drift: bus 1011/0, business 283/0, harness 176/0, cli 990/0 plus the allowed FED R7 skip, webui 458/0, every scripts/test-*.sh rc 0 (Dewey N1). Manifest 1e010468. #1826 closed c31625, Vikunja 622 done (comment 1071), note rev 4019, done rev 4020. Not re-pinned. 2026-10-24 — Magica row329 P1 (#1827, Vikunja237): beginning pinned model-proxy fetch/init/client/unit build at 7fe32d722, under mos-1600/1601. Acceptance uses only fresh temp roots and unshare -rn; live instance and host proxy excluded. Evidence agents/magica/work/queue-329/BUILD.md. + +2026-10-24 — Magica row329 P1 (#1827): final builder checks green: model-proxy61/61, bus1018/1018, CLI999pass+1listed federation skip, pinned-copy10/10, config55/55 and federation runner1/1. Final unit-config fix verified by two new tests and all direct CLI readers. Original F7 red, Mos1604 diagnostic and Mos1605 unchanged rerun are preserved; cause unknown, landing independent. Q250 drops the panel forward; PIN8.0.42/panel1.26.7 unchanged. Evidence agents/magica/work/queue-329/BUILD.md. diff --git a/agents/magica/work/queue-329/BUILD.md b/agents/magica/work/queue-329/BUILD.md index 1854cff6b..decd0aa67 100644 --- a/agents/magica/work/queue-329/BUILD.md +++ b/agents/magica/work/queue-329/BUILD.md @@ -263,3 +263,308 @@ Mos-1602: the /proxy/ panel forward remains pending P4/Jason's subdomain decisio outside the required sandbox; it is no assertion of a working Console panel. No CORS loosening, unsandboxed forward or panel JS on the Console origin ships. The actual sandbox-negative assertions/evidence are unchanged. + +Rebase WIP9edf45003 now has parent8bb5b3c73. Only BUILD-LOG.md and +SESSIONS.md conflicted; resolution preserved the entire8bb5 base byte prefix +and appended only the row329 additions from the WIP. No old test changed. +Offline root npm ci rc0 (128 packages), webui rc0 (2 packages), both nice19. +All seven new-file development runs passed on first execution: five model-proxy +package files, new bus file and new CLI file. No new-test placement needed. +First-run logs preserved under development-gate/ before the whole gate. + +Review packet is REVIEW.md. Builder does not create a Console forward; P4's stop +condition remains an explicit pending dependency under mos-1602. Boyd independently +re-measures release bytes; Dewey reviews the landing candidate. No review request +or protected branch action has been performed here. + +Whole gate progress: model-proxy59/59 and bus1018/1018, no failures, skips or +cancellations. CLI still running; no full-gate completion claim yet. New-only +first execution totaled76/76 across package59, bus8 and CLI9. +No product source has changed after these runs began. + +One narrow acceptance follow-up is prepared for after the gate: directly verify +valid, empty-list and revoked /v1/messages through the stand-in (previous probes +measured auth on /v1/models and ClaudeCode timeouts), and exercise the P1 +management client against the pinned binary's real v8 GET/PUT responses. It uses +the same fresh unshare wrapper in api-only mode, no browser or external upstream. +This resolves endpoint coverage without repeating the original sandbox evidence. + +## First whole-gate result: STOP on old-test red + +At19:49:13Z the serialized gate exited1. No rerun and no old test/source edit. +Sage notified magica-0023 and the slot returned. Sage-4245 holds the gate pending +Mos under mos-1592. The prepared api-only acceptance follow-up has not run. + +Completed gate files: +- model-proxy whole:5 files,59 tests/pass,0fail/skip/cancel. +- bus whole:115 files,1018 tests/pass,0fail/skip/cancel (includes row328's + library-credential.test.mjs6/6 and new model-proxy.test.mjs8/8). +- CLI partial:5 files,124 tests,123pass,1fail,0skip/cancel. access-boot4/4, + access34/34, app30/30, boot-status3/3, case1-accept52pass/1fail. +- Remaining CLI, webui pinned-copy, test-config.sh and federation acceptance + were not run. No full-gate green claim or final candidate manifest. + +Old test packages/cli/tests/case1-accept.test.mjs:503 failed at assertion507: +`row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes + talk's error`. ERR_ASSERTION, expected["F3"], actual["F3","F7"]. +The test duration was2140.091658ms; the whole file252577.471202ms, driver252.61s. +Command: node --test /packages/cli/tests/case1-accept.test.mjs, +under timeout-k10/1800; launch nice19; TMPDIR/mnt/storage/scratch/tmp/oEntjx. +Whole-file log: gate/cli-case1-accept.test.txt. +SHA256:6c528c893f55f259d7bfef319814ed0dd6f8b5437c2e9fdf4966b33b834e8f50. +Driver receipt: gate-progress.txt and gate/runs.jsonl, rc1. + +### Requested exact F7 diagnostic is unavailable + +Sage-4245 requested the exact `F7 pm-live FAIL` line to distinguish the branch. +It is not in the preserved Node log. The old test's assertion507 deepEqual has +no r.out diagnostic argument. run():213-227 holds the acceptance stdout only +in its returned in-memory object, not a file; host():158 uses tmp(t), whose +helpers.mjs:18-21 t.after deletes its entire fixture. case1-accept.sh removes +its WORK/capture files on EXIT too. The failed test process has ended. +No exact F7 line can be recovered from retained evidence. Sage notified +magica-0024. I will not invent its text, infer a timeout or rerun to obtain it. + +### Static trace only + +- case1-accept.sh:546-556 F7_JS reads the scratch business's launch.by, + spawnSyncs the scratch copy's mosaic with launches/list/--json, parses stdout + and checks exactly one live launch for the same business. +- The fixture's copy mosaic is a fake shell at case1-accept.test.mjs:129-140; + its launches branch cats HC/launches.json. The fixture populates exactly one + live pm and one dead pm at192-196; F3's sentonly fault changes talk-mode only. +- check_f7():557-563 runs through legacy_run pm-list10/12s and maps either a + nonzero capture status or a non-ok stdout line to F7. Missing r.out prevents + distinguishing which branch this run took. Duration alone is not diagnosis. +- No row329 model-proxy, sidecar or copy-closure code is imported on this fake + F7 path. git diff against8bb5b3c73 is empty for this old test, its helpers and + scripts/case1-accept.sh. No assertion was changed or loosened. + +Current local WIP tip9edf45003 is the rebased draft, not a gate-approved build. +No push/review move occurred. Product source remained fixed through the run; +subsequent changes are acceptance follow-up preparation and these plain-text +receipts only. Hold until Sage passes Mos's ruling and any renewed CLEAR. + +## Mos-1604 scratch-only diagnostic (sage-4248) +Approved diagnostic only; it contributes no gate credit. A separate detached +worktree of9edf45003 was created at /mnt/storage/scratch/tmp/sV85VX/checkout. +It ran its own offline npm ci --ignore-scripts --no-audit --no-fund at root +and packages/webui, both rc0, nice19; no canonical npm/rm and no linked dependency +directories. Every run used its own shell mktemp-d /mnt/storage/scratch/tmp/XXXXXX +TMPDIR, absolute nice19, and timeout-k10 (1800s per test-file run). +The original case1-accept.test.mjs was not edited. Its copy was at the same +packages/cli/tests depth, with the sole change at507: + +```diff +- assert.deepEqual(failed(r), ["F3"]); ++ assert.deepEqual(failed(r), ["F3"], r.out); +``` +Original source SHA256:685cf69c741540240c5b414e1907e624cbc59656541316f178d377472fad34a2. +Copy SHA256:608a423713d5803430c3f8735622a83d7e359a88e40d899b78c065ab1466e930. +Tracked git diff stayed empty; the only untracked checkout file was that copy. +Exact focused pattern: + +```text +^row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error$ +``` +All20 focused runs passed1/1 with0fail/skip/cancel. Since none failed, all3 +whole copied-file runs were performed: each53/53,0fail/skip/cancel. Total179 +diagnostic tests passed. All23 test runs had rc0 and launch nice19. No failure +event and no F7 pm-live FAIL line occurred; no full-r.out failure block existed +to preserve. The original gate red remains recorded and unexplained by these +non-reproducing diagnostics; no timing/cause inference or shape/assertion fix. +UTC window:2026-10-24T19:56:21.256Z to2026-10-24T20:10:18.444Z. +Sampled start/end1-minute load range1.52..3.93. Every run has start/end UTC/load +in the table below and complete plain-text logs/JSON receipts in: +/mnt/storage/scratch/tmp/sV85VX/results. +The driver would record failure UTC/load at each not-ok event and retain the +full multiline r.out assertion message; none occurred. +| Run | UTC start | UTC end | load1 start/end | Pass/fail/skip/cancel | rc | +|---|---|---|---|---|---| +| focused-01 | 2026-10-24T19:56:21.256+00:00 | 2026-10-24T19:56:25.232+00:00 | 1.52/1.64 | 1/0/0/0 | 0 | +| focused-02 | 2026-10-24T19:56:25.234+00:00 | 2026-10-24T19:56:29.173+00:00 | 1.64/1.64 | 1/0/0/0 | 0 | +| focused-03 | 2026-10-24T19:56:29.175+00:00 | 2026-10-24T19:56:33.132+00:00 | 1.64/1.67 | 1/0/0/0 | 0 | +| focused-04 | 2026-10-24T19:56:33.133+00:00 | 2026-10-24T19:56:37.147+00:00 | 1.67/1.86 | 1/0/0/0 | 0 | +| focused-05 | 2026-10-24T19:56:37.148+00:00 | 2026-10-24T19:56:41.129+00:00 | 1.86/1.87 | 1/0/0/0 | 0 | +| focused-06 | 2026-10-24T19:56:41.130+00:00 | 2026-10-24T19:56:45.286+00:00 | 1.87/2.04 | 1/0/0/0 | 0 | +| focused-07 | 2026-10-24T19:56:45.287+00:00 | 2026-10-24T19:56:49.285+00:00 | 2.04/2.04 | 1/0/0/0 | 0 | +| focused-08 | 2026-10-24T19:56:49.286+00:00 | 2026-10-24T19:56:53.374+00:00 | 2.04/2.44 | 1/0/0/0 | 0 | +| focused-09 | 2026-10-24T19:56:53.376+00:00 | 2026-10-24T19:56:57.441+00:00 | 2.44/2.72 | 1/0/0/0 | 0 | +| focused-10 | 2026-10-24T19:56:57.442+00:00 | 2026-10-24T19:57:01.904+00:00 | 2.72/3.07 | 1/0/0/0 | 0 | +| focused-11 | 2026-10-24T19:57:01.906+00:00 | 2026-10-24T19:57:06.072+00:00 | 3.07/3.54 | 1/0/0/0 | 0 | +| focused-12 | 2026-10-24T19:57:06.074+00:00 | 2026-10-24T19:57:10.220+00:00 | 3.54/3.66 | 1/0/0/0 | 0 | +| focused-13 | 2026-10-24T19:57:10.221+00:00 | 2026-10-24T19:57:14.351+00:00 | 3.66/3.66 | 1/0/0/0 | 0 | +| focused-14 | 2026-10-24T19:57:14.353+00:00 | 2026-10-24T19:57:18.752+00:00 | 3.66/3.93 | 1/0/0/0 | 0 | +| focused-15 | 2026-10-24T19:57:18.753+00:00 | 2026-10-24T19:57:23.015+00:00 | 3.93/3.93 | 1/0/0/0 | 0 | +| focused-16 | 2026-10-24T19:57:23.017+00:00 | 2026-10-24T19:57:26.932+00:00 | 3.93/3.70 | 1/0/0/0 | 0 | +| focused-17 | 2026-10-24T19:57:26.934+00:00 | 2026-10-24T19:57:30.809+00:00 | 3.70/3.72 | 1/0/0/0 | 0 | +| focused-18 | 2026-10-24T19:57:30.811+00:00 | 2026-10-24T19:57:34.661+00:00 | 3.72/3.50 | 1/0/0/0 | 0 | +| focused-19 | 2026-10-24T19:57:34.663+00:00 | 2026-10-24T19:57:38.617+00:00 | 3.50/3.50 | 1/0/0/0 | 0 | +| focused-20 | 2026-10-24T19:57:38.618+00:00 | 2026-10-24T19:57:42.546+00:00 | 3.50/3.30 | 1/0/0/0 | 0 | +| whole-01 | 2026-10-24T19:57:42.548+00:00 | 2026-10-24T20:01:56.880+00:00 | 3.30/3.50 | 53/0/0/0 | 0 | +| whole-02 | 2026-10-24T20:01:56.882+00:00 | 2026-10-24T20:06:13.814+00:00 | 3.50/3.23 | 53/0/0/0 | 0 | +| whole-03 | 2026-10-24T20:06:13.816+00:00 | 2026-10-24T20:10:18.444+00:00 | 3.23/2.63 | 53/0/0/0 | 0 | + +Whole-file seconds:254.333,256.932,244.628. +All25 command logs (including2 npm setups) were rehashed against runs.jsonl; +all matched. The scratch checkout was removed after completion; only external +plain-text evidence remains under /mnt/storage/scratch/tmp/sV85VX. +Evidence manifest /mnt/storage/scratch/tmp/sV85VX/diagnostic-files.sha256 +SHA256:fcb72f317e7d56e1ada0ee6ebb7bf435c1dd033c958cf9463930c62c2e61537b. +No diagnostic copy, old-test edit or instrumentation was added to row329. +Only this BUILD.md result receipt changes in the row329 repository for this +diagnostic. Vikunja625 is Mos's separate follow-up, not a row329 change. + +Diagnostic slot returned to Sage. Builder gate remains paused pending Mos's +ruling on an unchanged rerun; no gate resumed, commit, push or queue move. + +## One unchanged gate rerun authorized (mos-1605 / sage-4250) + +Sage-4250 CLEAR at20:12:20Z authorizes one unchanged whole-file rerun of the +original packages/cli/tests/case1-accept.test.mjs. Its SHA256 remains +685cf69c741540240c5b414e1907e624cbc59656541316f178d377472fad34a2, +byte-identical to8bb5b3c73. On pass, resume the rest of CLI, webui pinned-copy, +config and federation. On any red, stop before further rerun and report load. +No product or old-test change. F7 cause stays unknown; Vikunja625 is separate. +No diagnostic result counts toward the gate and landing must pass independently. + +Runner resume-mos1605.py preserves the first red log, gives the one allowed +rerun its own filename, and records UTC/load at each observed failure event plus +one-second load samples. Each invocation gets a fresh shell-created short +TMPDIR, absolute nice19, timeout-k10, offline npm environment and the same +MOSAIC_REQUIRE_EDITOR_BUILD=1 as the initial gate. Earlier completed package, +bus and first four CLI files are not rerun. No further command follows a red. + +## Final unit-rendering fix and remaining reader gate + +The approved mos-1605 original-file rerun passed53/53 in242.3s; the remaining +planned CLI, pinned-copy, config and federation commands completed rc0. This +records a successful continuation, not a first-run green or an explanation of +F7. The original red and23-run diagnostic remain above; landing is independent. + +Static P1 review found that the configured default proxy unit bound an explicit +MOSAIC_CONFIG but the default bus unit omitted it. Two additions to row329's new +config-unit.test.mjs reproduced the mismatch and unsafe-unit-path acceptance: +13pass/2expected-new-test-fail (unit-custom-config-red.txt). The fix is solely +bus-service.sh's proxy-configured/default-instance branch: validate that selected +config path can be carried by systemd and explicitly bind the bus to the same +file. No-proxy rendering retains its historical output. No old assertion changed. + +After fix: whole model-proxy61/61, whole CLI stack-instances24/24 and +stack-copy18/18, whole webui pinned-copy10/10. Source never changed during an +active whole-file run. Sage notified magica-0026 and the prior slot returned. + +Sage-4251 CLEAR now requires the remaining five direct bus-service readers on +this final tree: host, stack-release-external, stack-release, stack-upgrade and +verbs, all whole files. stack-release-fixture is their helper. Sage found no +bus-service SHA256 pin. No product change is planned during this gate. Each +reader uses fresh shell mktemp TMPDIR, absolute nice19, timeout-k10; a red stops +before any rerun and is sent to Sage. FINAL-COUNTS mapping will point at these +final-tree receipts when complete. + +## Narrow API acceptance follow-up (after planned gate) + +Command: acceptance.sh api-only. Fresh unshare-rn scratch root, +nice19, rc0; no test slot used and no external request. It exercised the actual +P1 ManagementClient against the pinned binary's v8 API, then valid/wrong/revoked +and empty-list Messages requests through the stand-in. Full plain text: + +```text +P1 isolated acceptance root /mnt/storage/scratch/tmp/KXZOfD nice 19 +binary sha256 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e +P1 client receipt {"call":"GET /v8/management/config/access/api-keys","status":200,"keyIds":["48eead3cdecf"]} +P1 client real API GET count 1 +P1 client receipt {"call":"PUT /v8/management/config/access/api-keys","status":200,"keyIds":["48eead3cdecf"]} +P1 client real API PUT {"ok":true} +pinned panel served 200 8c9c6b7d3fb311e6aad5d06e1993e53a2d28389e640448a1bc6304ed20b057b5 +pinned login flags -claude-login | -codex-login | -no-browser +wrong/missing key models wrong {"status":401,"body":"{\"error\":\"Invalid API key\"}"} +wrong/missing key models missing {"status":401,"body":"{\"error\":\"Missing API key\"}"} +models local 200 upstream delta 0 body length 1739 +valid messages {"status":200,"body":"{\"id\":\"msg_p1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-5-5\",\"content\":[{\"type\":\"text\",\"text\":\"hello\"}],\"stop_reason\":\"end_turn\",\"usage\":{\"input_tokens\":1,\"output_tokens\":1}}"} upstream delta 1 +wrong messages {"status":401,"body":"{\"error\":\"Invalid API key\"}"} +initial key list {"status":200,"body":"[\"p1-client\"]"} +set empty {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"} +empty list settled {"elapsedMs":105,"statuses":[401,200],"body":"[models]"} +empty list missing key status 200 +empty list missing key messages {"status":200,"body":"{\"id\":\"msg_p1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-5-5\",\"content\":[{\"type\":\"text\",\"text\":\"hello\"}],\"stop_reason\":\"end_turn\",\"usage\":{\"input_tokens\":1,\"output_tokens\":1}}"} +restore list {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"} +restored list settled wrong key {"elapsedMs":104,"statuses":[200,401],"body":"{\"error\":\"Invalid API key\"}"} +revoke client {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"} +revoked key settled {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"} +revoked key models {"status":401,"body":"{\"error\":\"Invalid API key\"}"} +revoked messages {"status":401,"body":"{\"error\":\"Invalid API key\"}"} +per-key model object attempt {"status":422,"body":"{\"error\":\"invalid_config\",\"message\":\"parse config payload: yaml: unmarshal errors:\\n line 12: cannot unmarshal !!map into string\"}"} +final restored list settled {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"} +v8 key list {"status":200,"body":"[\"p1-client\"]"} +oauth start anthropic {"status":200,"body":"{\"state\":\"208bd2a002a312d996f6c5a416ecc311\",\"status\":\"ok\",\"url\":\"https://claude.ai/oauth/authorize?client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e\\u0026code=true\\u0026code_challenge=BsWT1fuo1kBcP-EySiawhlK-cfN2B62ta6VKP8qvaIU\\u0026code_challenge_method=S256\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A54545%2Fcallback\\u0026response_type=code\\u0026scope=user%3Aprofile+user%3Ainference+user%3Asessions%3Aclaude_code+user%3Amcp_servers+user%3Afile_upload\\u0026state=208bd2a002a312d996f6c5a416ecc311\"}"} +oauth start codex {"status":200,"body":"{\"state\":\"fffb20861e7b44a1d70c45a2de1f9b8c\",\"status\":\"ok\",\"url\":\"https://auth.openai.com/oauth/authorize?client_id=app_EMoamEEZ73f0CkXaXp7hrann\\u0026code_challenge=Swdf4fq2oLSpl2K6CQJYbeHw7aC50nby_h0l-O52kqc\\u0026code_challenge_method=S256\\u0026codex_cli_simplified_flow=true\\u0026id_token_add_organizations=true\\u0026prompt=login\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback\\u0026response_type=code\\u0026scope=openid+email+profile+offline_access\\u0026state=fffb20861e7b44a1d70c45a2de1f9b8c\"}"} +acceptance probes complete +``` + +Valid Messages returned200 with exactly one stand-in upstream call; wrong and +revoked Messages returned401 with the same flat error body. With an empty list, +a no-key Messages request returned200. P1 client GET/PUT returned200 and receipts +contained key IDs only. The measured update lag varies by request/run; no stronger +instant-enforcement claim is made. The prior105ms observation remains on P2. + +## Scope amendment Q250 / mos-1606 (sage-4253) + +Jason's Q46/Q47 decision replaces the upstream panel forward with the Console's +own proxy page (P4 brief docs/plans/2026-10-24_proxy-page-brief.md at696ea3a3a). +P1's two panel acceptance bullets and callback-through-/proxy/ question are no +longer required. All previously measured results above remain as recorded; +no new panel/sandbox/forward work is added. The pinned rows brief blobfd4325c0 +is unchanged, as are packages/model-proxy/PIN and src/fetch.mjs. + +Still required and already measured on pinned CLIProxyAPI8.0.42: +Claude OAuth start redirect_uri=http://localhost:54545/callback. +Codex OAuth start redirect_uri=http://localhost:1455/auth/callback. +These returned URLs were recorded without following an external OAuth URL; +completion is not claimed. Sent to Sage magica-0027 for the native P4 page. +Historical fallback login commands remain recorded, not executed. Current README +and review packet reflect Q250; no Console code or management routes ship in P1. + +## Final builder verification and review candidate + +All five final reader files per sage-4251 passed on the final source tree. +post-unit-fix-cli-host.test: {'tests': 43, 'pass': 43, 'fail': 0, 'skipped': 0, 'cancelled': 0}, rc0/nice19, 12.262s. +post-unit-fix-cli-stack-release-external.test: {'tests': 25, 'pass': 25, 'fail': 0, 'skipped': 0, 'cancelled': 0}, rc0/nice19, 83.766s. +post-unit-fix-cli-stack-release.test: {'tests': 224, 'pass': 224, 'fail': 0, 'skipped': 0, 'cancelled': 0}, rc0/nice19, 723.448s. +post-unit-fix-cli-stack-upgrade.test: {'tests': 21, 'pass': 21, 'fail': 0, 'skipped': 0, 'cancelled': 0}, rc0/nice19, 97.612s. +post-unit-fix-cli-verbs.test: {'tests': 9, 'pass': 9, 'fail': 0, 'skipped': 0, 'cancelled': 0}, rc0/nice19, 3.587s. + +Final per-file mapping is gate/FINAL-COUNTS.json; summary: + +```text +model-proxy: 5files 61tests 61pass 0fail 0skip 0cancel +bus: 115files 1018tests 1018pass 0fail 0skip 0cancel +cli: 69files 1000tests 999pass 0fail 1skip 0cancel +webui pinned-copy:10/10; config:55/55; federation runner:1/1 no skip. +CLI listed skip: packages/cli/tests/federation-acceptance.test.mjs, FED R7 scratch two-instance acceptance; covered by scripts/test-federation-acceptance.sh. +Initial old red and scratch diagnostic are preserved, not included in final pass totals. +One unchanged original rerun authorized by mos-1605 passed53/53; final unit-reader checks per sage-4251 all pass. +Sage landing gate must independently be green (mos-1583). +``` + +The CLI skip is the listed FED R7 wrapper at +packages/cli/tests/federation-acceptance.test.mjs, test name +"FED R7 scratch two-instance acceptance", runner scripts/test-federation-acceptance.sh. +That runner passed1/1 with0skips in this gate and verified cleanup. No other skip. + +The original first red, diagnostic, unchanged rerun and final-unit-reader gate +are distinct facts. F7 cause remains unknown; Vikunja625 is separate. No old +test file/assertion was changed; landing must independently go green. + +Additional read-only acceptance corroboration: the made-up acceptance root +3mOycq/auth/logs/main.log contains14 HTTP401 POST /v1/messages?beta=true receipts +during the two45s ClaudeCode attempts (7 per attempt by timestamp). Only those +status/path lines are retained in claude-401-receipts.txt, with no headers/bodies. +Thus the client did reach the proxy and retried while producing no output until +the timeout. The reason for that behavior/body-shape hypothesis remains unproven. + +Manifest MANIFEST.sha256 covers every changed regular file against8bb5b3c73 +except itself. It includes source, tests, all plain-text receipts and both +append-only logs. No executable/archive/panel asset is committed. The final +commit follows completed applicable green checks; WIP preservation was explicitly +authorized by Sage. No live instance, host proxy or protected branch was changed. diff --git a/agents/magica/work/queue-329/MANIFEST.sha256 b/agents/magica/work/queue-329/MANIFEST.sha256 new file mode 100644 index 000000000..0415c5285 --- /dev/null +++ b/agents/magica/work/queue-329/MANIFEST.sha256 @@ -0,0 +1,350 @@ +f34e093e8c711c5d568b1d5128d29b9162e5507be1172cc76429ab314cdb3e72 BUILD-LOG.md +cf07d29143e3ffeae5ae0c9156d30558e8d55c538c110960fe08848d465c2a9e agents/magica/work/queue-329/BUILD.md +1d6886ad5a44f7c9bdb8df9c263993f1edafd909aa195da11a7a11e566ae41ba agents/magica/work/queue-329/REVIEW.md +f5ceab9c8ddbc6474a088426b179074fc8076ef307f148ac17664b4d82774a20 agents/magica/work/queue-329/acceptance-api-only.txt +5c3e8d45fe644c442ffbd030c7c8b1d315368f1955fcc2ec2b8b9aba269b1ec3 agents/magica/work/queue-329/acceptance-final.txt +3ef44d7e6ab26ce1f7e8a9b31c0fc69f71d0f9331e860908e97ded398bd3216d agents/magica/work/queue-329/acceptance-probe-1.mjs +f24af6fa5fd4f3c89e4ce6da5d414e19f64d5c217d623e53610e8ed26c0b17b1 agents/magica/work/queue-329/acceptance-probe-1.txt +471579b1c51f20893a552f19f2d8689fc09410c16b195ef60b2970888d7f915f agents/magica/work/queue-329/acceptance-probe-2.txt +6ca780daad5962d783e50b94f47509fd0dc1f98d3abea0500e47ac1392826728 agents/magica/work/queue-329/acceptance-probe-3.txt +7973fb50698805fdda35d8604a7a2881f01b305608d7376bc216ff991ca9621d agents/magica/work/queue-329/acceptance-probe-4.txt +32e6ecd9199d5919121902ef02a9eca7ee881f980c5b5c5d48c133f5df85dbae agents/magica/work/queue-329/acceptance.mjs +15fc26371aae25c944bdbc264f6841549ceceb295b2981465d8edea3ecd3f1f6 agents/magica/work/queue-329/acceptance.sh +f94ec0fc73c13db93ef901bcb26fcd9bd5ae4009fe8fcc654ef3642b308a5e29 agents/magica/work/queue-329/claude-401-receipts.txt +ff23a1447800b8a238fe99a491d2dce47772fcdffc0b953bf870ee1dc55f3548 agents/magica/work/queue-329/development-gate/bus-model-proxy.test.txt +1aaf064ad2641963c5d1cdc8fb5b0c6a16a33b51d1dfc167c8e5efe31d2bcdd9 agents/magica/work/queue-329/development-gate/cli-model-proxy.test.txt +b6768b3834ab009109f114ae4ae1d82ed0804491afe08df649e3412bbda2b63c agents/magica/work/queue-329/development-gate/model-proxy-client.test.txt +a5815c185c59996085f979b8437e7309860153471f02bc75ee491d9d5e0bcf86 agents/magica/work/queue-329/development-gate/model-proxy-config-unit.test.txt +ab7e64e36d22c1e82fc65e93efc69194f595ee14971e0d5f9be58ca8b8725f18 agents/magica/work/queue-329/development-gate/model-proxy-fetch.test.txt +8fd3d91b04eb9d96df7b8a66bb072dd619c4f82bfba003a658a5b5f335ce5a6d agents/magica/work/queue-329/development-gate/model-proxy-runner.test.txt +12a1a8c9472bb8cda2b7582518325e396c3a31215caa41c0cdc8feba3d1563b8 agents/magica/work/queue-329/development-gate/model-proxy-settings.test.txt +ca054157c6bb36f40dc6c7a0942d4195fccdfc87b1a77062fb44f6db3fd84c2d agents/magica/work/queue-329/development-gate/npm-root.txt +66ac3eda1c48dd7eff9d87623cfd89ed91eddf8af2a53ea15c91ba9564036882 agents/magica/work/queue-329/development-gate/npm-webui.txt +1cae643fc1de823a04293ec68cfc5286903ab58bf8e16d6a63acbf4f34cac13e agents/magica/work/queue-329/development-gate/runs.jsonl +1e84defa58b9e975217a497720b6e5533effbb9cfe49d024c30031f5f8f4a5b6 agents/magica/work/queue-329/download-sha256.txt +46314ae67d564d2bb6cf9c7571bdde9481570c5467499e040b951c30d0ce6dc1 agents/magica/work/queue-329/final-counts.py +1c5ae4b57246985ba1dea30784481f0407877ae373d8e6e00f7a9317731835ff agents/magica/work/queue-329/final-reader-progress.txt +60a80c5f01c17605cf371fc4eacf851471109edf0b65e830e029b661d51fffcb agents/magica/work/queue-329/gate-progress.txt +3cf1a426d12e30b16356b6b754488d3e1f53004eb1757945f93401e3ef42630e agents/magica/work/queue-329/gate.py +92496b89026da562390bb124e3911df83084f0ce4e36382d32cc632f6bb6bbe6 agents/magica/work/queue-329/gate/FINAL-COUNTS.json +b79b1d1b5253de212b6419a8d80bace53ac2d8899fec9f5917e1dd17f515bd17 agents/magica/work/queue-329/gate/FINAL-COUNTS.txt +cd66b3817e5dfc02162b2126224581b52c8b6ca1c4377ed2615f013533df1682 agents/magica/work/queue-329/gate/STATUS.txt +b8eb4f8a9fc5bef1c7a753f6a3b1cd32889116590939532697d194cc9b6cf2ed agents/magica/work/queue-329/gate/bus-access-revoke.test.txt +caa2b941ab50c4c215d47d65fb64ffb8351347ccddbf110a7d6e1d83104fd7ef agents/magica/work/queue-329/gate/bus-account-migration.test.txt +810f315fac98018713c45992da26d7657220df53b5c4a3110f81e647ec5c11f0 agents/magica/work/queue-329/gate/bus-address.test.txt +972b18ca91d0e4612bfbbbdc6d2c5cb8029d1fb24c9937b8739d4773bac10d95 agents/magica/work/queue-329/gate/bus-agents.test.txt +92699e0e797ea976591082b055bcd1870eb27b61aa7cf32cfe2e532407433ed8 agents/magica/work/queue-329/gate/bus-approval-binding.test.txt +b961355e1c47cd6857ebfe08f3ed9e36f7650014b20f4e071c284565f86330f7 agents/magica/work/queue-329/gate/bus-broker.test.txt +90315764208c1d0ecb3931d2c548e8a127990937f30d226ffb159961f053bb10 agents/magica/work/queue-329/gate/bus-business.test.txt +b85c329304609b8c87601fa7f254821986aa12f40997ef2223319456211c4b3e agents/magica/work/queue-329/gate/bus-channel-proof.test.txt +4463268787aaa843d859c11e1f86d34d5ca1e520d209eeb2599d34c475f4692e agents/magica/work/queue-329/gate/bus-chief-of-staff.test.txt +2c1e88fa00384cc94010ba5d629f1cae3b21b4f24aab42896c9b010a0f801f1d agents/magica/work/queue-329/gate/bus-citation-availability.test.txt +00e27c6f2f2a5efab11183a461da0e611c733daab2e8a4d809132daa3cf1d7d3 agents/magica/work/queue-329/gate/bus-citation-guard.test.txt +88c56afb30bca8d23f09f2174c95d0fbc26bdd38a09d1b404ff31b2f58c4d608 agents/magica/work/queue-329/gate/bus-citation-runtime.test.txt +4fb9fdbbe7b4c5300c6f704faea3f6bcd99eb7061596b89b9baceb6c726ef873 agents/magica/work/queue-329/gate/bus-comment-cursors.test.txt +9b66c816f0c1775a10ee485d5009440ab1fdfea4843802c0e14d48ee00c73ee9 agents/magica/work/queue-329/gate/bus-comment-migration.test.txt +936e0171744f7a20009fcdbca104ad7a73a4eeb95fe9aa30ca9f1291670a9c51 agents/magica/work/queue-329/gate/bus-console-decide.test.txt +bbf9e325105a92de29a8b32fd1a9ef40d8b9f7ddf20244a635b5872ae595fd11 agents/magica/work/queue-329/gate/bus-creative.test.txt +38e4b9eddfb41392b718e8fd4aefb24502d97f764b55a7b7753a054632b59387 agents/magica/work/queue-329/gate/bus-credential-claim.test.txt +74eea762c96911ccc50bd08eec60b3ac51628f1172269ffc914f5b40fcdb17f5 agents/magica/work/queue-329/gate/bus-credential-status.test.txt +336de155d1e674920430d6f7e39d3b99ef4d52dbc7b8bd550be42243ce33c92b agents/magica/work/queue-329/gate/bus-credential-store.test.txt +3c7623569a045d8aa0b2f3dee0eea8ef324fd7765747c3d958bbe0b0945dc38b agents/magica/work/queue-329/gate/bus-credential-verbs.test.txt +c28299788b46783631b8722f25057f9f89914aacd642d741f20cea10f117aaef agents/magica/work/queue-329/gate/bus-credentials.test.txt +c8cee523b76eb075abc741e3aa7eb2e972a5b58d21e6d880144fa83864800ebe agents/magica/work/queue-329/gate/bus-csuite-messaging.test.txt +7c2d0c2ea48fe473ca89773d0ed7b7edd02ba539ff2dfd2674da3de81ecffedd agents/magica/work/queue-329/gate/bus-daily-quota-runtime.test.txt +ac0162cbceb71d9676e2216a4e4674b9e84a29c4764723902478aef75db6fd52 agents/magica/work/queue-329/gate/bus-decision-close.test.txt +d98db72bd9310a33fa9335929e7712456d367f389e2b1295de70c099628ca260 agents/magica/work/queue-329/gate/bus-decision-route.test.txt +e7784c44043f0c574de3b2c0355d77035942cb08ef5fbf8655d43f46d30f3b9d agents/magica/work/queue-329/gate/bus-decisions.test.txt +2ae8a88d8747d851430e1c559ef37748749ca0428cc6bf01f27a9e16b1dfe792 agents/magica/work/queue-329/gate/bus-end-launch.test.txt +863a428fc1863ce928d08cab75d06422b88161c0217827e0756535861b18af97 agents/magica/work/queue-329/gate/bus-fire-revokes-grants.test.txt +b22fd0196ec874ae6d56d3a75ddf136fe23aa7f978cf9afc2276e792a768d1fd agents/magica/work/queue-329/gate/bus-gitea-grant-docker.test.txt +9ad6e1266fc5fd7894783d6ab9bea4da63547f111e5f91abc48566251bd1e624 agents/magica/work/queue-329/gate/bus-gitea-grant.test.txt +347e2ce76520948c8d971ea7ed0e97f047199b7a1acfbbec40d0d0bbfdd32e98 agents/magica/work/queue-329/gate/bus-gitea-migration.test.txt +4f929c0078ce4051d913b17a297d701ee5b5ef23923e938683b98c906ead5009 agents/magica/work/queue-329/gate/bus-grant-enroll.test.txt +306dcbf7abfbb888532ae7fb6437b8237163b55ef8a4fa7ba9e70fdff66c9bae agents/magica/work/queue-329/gate/bus-grant-executor.test.txt +95aeb9842c41cfde79b219b3083551d739b2121bd7b561c0d6c80389a31fa057 agents/magica/work/queue-329/gate/bus-grant-host.test.txt +5739dfa566d9700f64bddaa6075b717669037f574078d859dae208875cbcd032 agents/magica/work/queue-329/gate/bus-grant-migration.test.txt +0ad89746be0cbbf5bbf89d9699405e4b747d3a632c035cb10a8964018e6c7622 agents/magica/work/queue-329/gate/bus-grant-scope-runtime.test.txt +dbe2f0058b93a30bfd41696fa0c81235caa39ae30c0553a31ca27c3b2233c6de agents/magica/work/queue-329/gate/bus-grant-scope.test.txt +f254c636671b4f1234de0875b2d56ea29334f0170ec491ff77a0f0f872a86a65 agents/magica/work/queue-329/gate/bus-hard-waits.test.txt +a6afaadc8d3ae900cb2ffb7fbccd86678663488f0243f9b59e44dd58fd70341d agents/magica/work/queue-329/gate/bus-host-run.test.txt +4fbd616efae71854ac6240f38c9ec7e5b817c040614828aed0727760688e7dc7 agents/magica/work/queue-329/gate/bus-host-tools.test.txt +838cb5a28b57be818d68899cd007bfebf3d5e16b451c9db1a791431f5ed269c7 agents/magica/work/queue-329/gate/bus-human.test.txt +bbc61d1c0fe8912862c1e6c4d497b96c827a9603c78763912c0933575c792da8 agents/magica/work/queue-329/gate/bus-instances-verb.test.txt +31ea0720b080af1d1d46b0f7c6ce619fbb2ce707d212432d237d04e24de0cff0 agents/magica/work/queue-329/gate/bus-interpreter.test.txt +7551cdb800728fd62d4f7e8ef93343dd2b8fe39712fe9b9a0d646a8e02310cd1 agents/magica/work/queue-329/gate/bus-land.test.txt +1d3e7da6d80f2d0859086d01194f2d3c552d082dc9be0acebcf287822433534d agents/magica/work/queue-329/gate/bus-launch-notice.test.txt +325aff3f6f015b18fd70f3531ff4e187c95f0250ace89d97aa0cd4a68bf8bbf6 agents/magica/work/queue-329/gate/bus-launcher-released.test.txt +26a76acd54739c47fe8e0a2a13dec00a5bc9daedb9c0462bc1a91361f4af52fc agents/magica/work/queue-329/gate/bus-library-credential.test.txt +9e9db829573d4562a8a29a3cc8b12aa5f65ef0784f076ea71c1467ffad22458a agents/magica/work/queue-329/gate/bus-library-lookups.test.txt +68c2d9828981359e7cd5fc1aba9fe1fa287d513b39ceaaa54cc5cc6a5450fd7c agents/magica/work/queue-329/gate/bus-library-sync.test.txt +54e5795aae4962c37fdd3fec5f7c81432160f416c5b9aa7a07bf256735d60649 agents/magica/work/queue-329/gate/bus-library.test.txt +97cd8f9efd99f0147664462e90e587896f7a418e32293933251c0062e7f929a7 agents/magica/work/queue-329/gate/bus-lifecycle-revoke.test.txt +cd5c6bb7c4a794267b36b8c42c89d10f033c7f6fd4b8e14771afeec484201e93 agents/magica/work/queue-329/gate/bus-lifecycle-verbs.test.txt +b3bc88d80f58d9d06ab97712cd26e8490d868033d295d0869c8fc298c6927287 agents/magica/work/queue-329/gate/bus-limit-checks.test.txt +613b7b658c9d3f7eb1fe07323b5c8b19ad3a691417d4835c8bc4490b2b976bf9 agents/magica/work/queue-329/gate/bus-limit-stop.test.txt +29d028c5bde519510b301c55a0162e80d9ef6f9e72aa4e6e7703b1020a38477c agents/magica/work/queue-329/gate/bus-limits-runtime.test.txt +fbf52753b382219a343634678f87c5d4fad11ad99c4f9a01930a21d9df0029f2 agents/magica/work/queue-329/gate/bus-limits.test.txt +bfa4f0e430c6c80eac6b610a7f15c3979e4f3e3b346853e2f377d56e683d3d96 agents/magica/work/queue-329/gate/bus-message-citation.test.txt +e51f9a5d77ddb25c739a6fde5f47b98db037aa6c225dd815d299975f1fc3c2fa agents/magica/work/queue-329/gate/bus-message-filter.test.txt +727383abc09c395557ed3c0f38b8f900f2e6ab73a192b7c11fd6ff00f378df20 agents/magica/work/queue-329/gate/bus-messages.test.txt +8b4f7d3b7fba2f7ad0770480824d9176aa570343be103fc8befaf9409a835f8a agents/magica/work/queue-329/gate/bus-messaging.test.txt +9350046b3138d978c84aae9df759f2696535ff78820d60302820e13cd8429b96 agents/magica/work/queue-329/gate/bus-model-proxy.test.txt +71c12ae86c0e0ce3b0f052b2e16c14518440d221abeae42748feb8d18142e4ad agents/magica/work/queue-329/gate/bus-name-migration.test.txt +29831e8069447bf17b94301f67d4a2536a45dfe1c5bb0107a3b0d85cdfe16db3 agents/magica/work/queue-329/gate/bus-names.test.txt +dd325088a465a4e21ffcb3234a9ae706b6396b2752a1b3302ab1ceeeb12fb2d4 agents/magica/work/queue-329/gate/bus-peer-transport.test.txt +62aa57f946a5e2053bcb35914d4f1e3c1fe388f4c23b7f293454a2f7a2cc749e agents/magica/work/queue-329/gate/bus-peercred.test.txt +70a8337fcbb9c5900367cf664ea1a70a14ba8f9e4bc2582a0c1cdcc162a478bd agents/magica/work/queue-329/gate/bus-plugins-verb.test.txt +11d1cf556f8ea4211e1da686e8db7701a88128a579e63468bc1e09a6d3623496 agents/magica/work/queue-329/gate/bus-principal.test.txt +fb6429d41db8dc9fcd05739837654eeca4d522a3c8cd5d3c9ffa79f618334ccb agents/magica/work/queue-329/gate/bus-process.test.txt +a78e6f75ba41afeeb5131a930ad125a12082aa37e1eb66d4cd6f11d6c0a6eb54 agents/magica/work/queue-329/gate/bus-processing-runtime.test.txt +3e3c5a28b36d6e1faaa9d0be44eabd959b315f711e69ff9c54fd747f29a109f3 agents/magica/work/queue-329/gate/bus-processing-timeout.test.txt +bddb9973338df6181c23607c79e9274a4b601799f8bafe0948434d05a0f08655 agents/magica/work/queue-329/gate/bus-processing-web.test.txt +3d773fcf857c0de5d0fda431d6526eaadc2a89d7c68236c27920d08df33000ca agents/magica/work/queue-329/gate/bus-processing.test.txt +44951a2c880532e466038c580d8ef3490a9c1207b848a90a26f7a32031e38238 agents/magica/work/queue-329/gate/bus-project-await.test.txt +829bd4c633e4c5e6d56f1c6dc89202683791380083d569acc86094fe8f787e6a agents/magica/work/queue-329/gate/bus-project-files.test.txt +b87218c25abf74733ba7b28f9d940dee1829c23f067b6647ad148d5e0bd9ed48 agents/magica/work/queue-329/gate/bus-project-runtime.test.txt +415dbf4c8c5d041adae04db089c8a2923606ca3e040330bdd46bf3209d3dd650 agents/magica/work/queue-329/gate/bus-publish.test.txt +76c8365b8e37b6716b4d943434af5c4bd725ed4d3fae27ebbf32339352541bfd agents/magica/work/queue-329/gate/bus-reload.test.txt +34a83a35be74c51f5b0196321176aab65d43e63a6516f8fe839c122963b5142f agents/magica/work/queue-329/gate/bus-replies.test.txt +77b45c8db75e239e2b80161e97a5c7a98ea1def514ac9ddedbcdf5a90a2a4c09 agents/magica/work/queue-329/gate/bus-requirements.test.txt +511ecbe0711be2f17de772f9f2f9e096995143ad20f5b5c667a51ddfe398a77a agents/magica/work/queue-329/gate/bus-review.test.txt +530dddca74de5a173e1630215e7aa7b7ffa457c69d7737b57d055bd30585d79d agents/magica/work/queue-329/gate/bus-revoke-window.test.txt +faa26fb718d95282aa3e7f770a363374fdad6e356d4746126ed6b4b51dd32a1c agents/magica/work/queue-329/gate/bus-room-check.test.txt +f79ed2c136e662e3a19b4dd74542bdbd00507c8cfc23557fee82c9a01a073af3 agents/magica/work/queue-329/gate/bus-rooms.test.txt +bd75978eee4d6020275c7c13f160b8c3c094d623ceac002e0e200f9050a28094 agents/magica/work/queue-329/gate/bus-routes-verb.test.txt +40e87c31458d01e74a37af359c3687b8ab094e719e05ef374d3123534b513634 agents/magica/work/queue-329/gate/bus-schema.test.txt +9b1a6d9e77566fb8003211d27962a177c9a142fddfa90e41d836721ae4855012 agents/magica/work/queue-329/gate/bus-session-clear.test.txt +9a2aaaf282938a7204c9a498ca65d63a3940c54c0b6c71553c4333ff5dc9c563 agents/magica/work/queue-329/gate/bus-session-compactions.test.txt +1a2c1b8baca95d3f48f0acd57ae1afee1429b8cc60d7698ccacebbed024fc8d2 agents/magica/work/queue-329/gate/bus-sessions.test.txt +2f7148a583306bac2d379ebabd2cad2beed23d2711f4f9d412052d7f11c295a9 agents/magica/work/queue-329/gate/bus-single-use.test.txt +f5ed62ffe475b60ba77ba269795fb929f144842642adadfd3a2f180bbb352da4 agents/magica/work/queue-329/gate/bus-spec-migration.test.txt +56eabf5e66c1360a9435b5b65338bbb7a898971cc3ec82e4506dd713edc65ee2 agents/magica/work/queue-329/gate/bus-spec-review.test.txt +803aadb4b3bf5f7d9c1e7cb8caf44ecf937535784e2b0afdcc85491fa8b84edb agents/magica/work/queue-329/gate/bus-spec-socket.test.txt +4ebdb1b883a9ca690b7ad554acdbcc609f5e237490344ec33876c2936cf773f7 agents/magica/work/queue-329/gate/bus-spec.test.txt +1c3f7ac8c175550d5d2118abb7edb6e667df164b533115679f2916d5cf46ab2b agents/magica/work/queue-329/gate/bus-staff-request.test.txt +df45bd55dfbbaa4aadd743da6fcb4466c948b615894241302764b7a39c7bd35b agents/magica/work/queue-329/gate/bus-state.test.txt +d56a3ec03670cbbb54b89374cacff875f01b7db52080d8a824e13c522620ca7f agents/magica/work/queue-329/gate/bus-store.test.txt +c7f95b6145d9c568ae2b90dc5186f6c68da304623c63bbf85f94dca6fecda77a agents/magica/work/queue-329/gate/bus-task-page.test.txt +c2e84f7d7da2de232e675d6f3e7d79f889b291186d8300b23473a56e92b29283 agents/magica/work/queue-329/gate/bus-task-read.test.txt +85ca4c7be8e2881dc29ab6a13971f7500befd648b2cc9441060375c8b7731234 agents/magica/work/queue-329/gate/bus-tasks.test.txt +989ef8ece1692263619072136970df050607b8bdba83ebc37b1e94996e97de9c agents/magica/work/queue-329/gate/bus-tester-threads.test.txt +d9545891373696ac9ab0d01b4d00d5f383c9299e8219ba83cd392afb799b118f agents/magica/work/queue-329/gate/bus-tester-writes.test.txt +41b33e178e135d4b07a30570c814d224f5d594782d18acb56900481075665c28 agents/magica/work/queue-329/gate/bus-tester.test.txt +4b946e966b3d3b5f836f312ec59a2e060014d2686b09aff8af6ec9bd270901ce agents/magica/work/queue-329/gate/bus-thread-claims.test.txt +9f0526b32047d5cbe0af049c84cd7ea5cf5115e98306baca552eaa4404da6a3d agents/magica/work/queue-329/gate/bus-thread-migration.test.txt +0be44f74aa5381030bb381a49cefc2c5201cc5fa193375b984c443af518b1158 agents/magica/work/queue-329/gate/bus-thread-shares.test.txt +a0444775133a71a46e40dca4a508459f29a1a1c15b45ac82f53f4f2f20db339b agents/magica/work/queue-329/gate/bus-threads.test.txt +d53db05e384b8e2043d64bce9f92f2a6804a37d61e3184bca74f3954d2eb9a07 agents/magica/work/queue-329/gate/bus-transport.test.txt +d24accc9a22d772e2b18177c8def973502c32cc7fab7367dd086f0b84583cf97 agents/magica/work/queue-329/gate/bus-usage-broker.test.txt +0c87989b3402d0d6071101af6b0377e32de2bac94e1cb31d78f2bef8f384c243 agents/magica/work/queue-329/gate/bus-usage-migration.test.txt +871fdbe8521fed8bc85da01b6aecc02900c4189c223108e5b46f3f1fa740dcde agents/magica/work/queue-329/gate/bus-usage-runtime.test.txt +59e5d28d16fbf6e37257f9981147605902e6717dec29bd5a7f83496033f1c79b agents/magica/work/queue-329/gate/bus-usage.test.txt +5f292b62abd5d2cd0c8e6b6d0ad706320a3885037bf6e0a292ec96379bed982f agents/magica/work/queue-329/gate/bus-user-principal.test.txt +df442eff8279ed35406b16a79f48ee42aed881ad1b0b73286a715bf39fdcf4b8 agents/magica/work/queue-329/gate/bus-viewer.test.txt +3bb98e51f6dc0a611563526ab3f7b2abc8e065dc12ac450ea066684839f56d24 agents/magica/work/queue-329/gate/bus-web.test.txt +f73a9e49f401b2bbcffff087490b02262658f31ea5c2210f27df76afb37a4535 agents/magica/work/queue-329/gate/bus-workflow-roles.test.txt +3d2459b32774ca992238dd0d836f7200dc12d8c968f72d558b9050cdb6f22d4b agents/magica/work/queue-329/gate/cli-access-boot.test.txt +5d1ccc36176c02666bb5a51e3af9f539c7e7d60078415f79fc6249d8839928b0 agents/magica/work/queue-329/gate/cli-access.test.txt +db2f9aa84aeac6896febebd2fdfc00d4607d672791c66099ba3f0e2ce0b33ea9 agents/magica/work/queue-329/gate/cli-app.test.txt +643c87cebcf40a268ddd0205b921e1207f2a96ec33530739b3e434cafb596ebe agents/magica/work/queue-329/gate/cli-boot-status.test.txt +a28a12b5721aff2b9e07e1d269f876ea8d9b23a794237f696eaf5076edb6d54f agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.load.jsonl +f6c23ffe30284ccc9f7fe03f37033f3e9c117f68be584f2ad7e9a40b372f0fee agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.txt +6c528c893f55f259d7bfef319814ed0dd6f8b5437c2e9fdf4966b33b834e8f50 agents/magica/work/queue-329/gate/cli-case1-accept.test.txt +1ccb0b9e65c9e27803737f37b64dd35e50a055a741e858c3203d117c9bb76d8c agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.load.jsonl +ea4c54b35ecf063535750936b16da1e3d5e95e9a4f9bcb8252a3f3bf203c9963 agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.txt +69c9f2ea3a14d93ad241f6d93665e4c0641c3cc51f7ef643d390c40b008b3246 agents/magica/work/queue-329/gate/cli-case2-install.test.load.jsonl +84046cfa41f3f6c66549769028eb693dfaf951ce20b675db8c8ad437582bf972 agents/magica/work/queue-329/gate/cli-case2-install.test.txt +ef4cebbd09d14e1770779ace5bd9074ff67fa99c300f95239643fae68fff318f agents/magica/work/queue-329/gate/cli-case2-persona-import.test.load.jsonl +4aaed88f6867cdf7174b2e0cdd2382383d9ff98909c71368882ebaa1ebcb3e25 agents/magica/work/queue-329/gate/cli-case2-persona-import.test.txt +ac2ba0ca7437d56ec8ad4865e5a87897cb61b5570ff8c4f175ee7d9f62353f76 agents/magica/work/queue-329/gate/cli-case2-unit.test.load.jsonl +8a5e7df37d9775b8db45c0df347b5bd9e7c5959dd24dd15d6124cf28d9e13709 agents/magica/work/queue-329/gate/cli-case2-unit.test.txt +d07ab08401042c01c8677f1218c7a49bcf2e367f461aa5022634e52e8c0f9d0b agents/magica/work/queue-329/gate/cli-channel-cli.test.load.jsonl +31aaafd0d40b6cfd8dbb0caee3720c7397ec580d06a0d4743142ddcc42fc2d7e agents/magica/work/queue-329/gate/cli-channel-cli.test.txt +62edb4ed33b35c17528f279e45f5efcf82a7880fc42010cabb94910bf8a0d9b7 agents/magica/work/queue-329/gate/cli-channel-recovery.test.load.jsonl +bea9c87767a343e1a27afbe51ef932bd8f6510849b09228345c2244244505302 agents/magica/work/queue-329/gate/cli-channel-recovery.test.txt +db3446348539871248e53f1bfcebd35a4496224255743d690228e3447577f215 agents/magica/work/queue-329/gate/cli-cli.test.load.jsonl +c1fa513515849d848111d528643a6a7a1ebcc487528bf8632b63c50f6b552f21 agents/magica/work/queue-329/gate/cli-cli.test.txt +db76cc5316176707ec787a0ee9cca89a4c02a3f1e10fb50c02700f931a217261 agents/magica/work/queue-329/gate/cli-compactions-launch.test.load.jsonl +124c15ceeb37cf038271662c490494c7ab0f9606347eefb34691f4466a6061c5 agents/magica/work/queue-329/gate/cli-compactions-launch.test.txt +f61dd35ac07bee8387b79ca354a07184cbacac52513b6eb61e4b01ca86bfb84f agents/magica/work/queue-329/gate/cli-config.test.load.jsonl +548d8e036261d3fdac06c9ca24475d7debe4153bd71ea4a8348b7d9211b9eb53 agents/magica/work/queue-329/gate/cli-config.test.txt +3c83a92ddf1c32362e25bcd3bfc7ecc36528e09e921b3d2055119241e5dbf26a agents/magica/work/queue-329/gate/cli-credentials.test.load.jsonl +c15de39567eba58f484c34a97accb1c453ab1f3794de4ed0216f3a81d3d1d2bf agents/magica/work/queue-329/gate/cli-credentials.test.txt +b08d01cd4bfc8364969cbe7a4be997126d0d01012eaf11b25367a20f99fa2237 agents/magica/work/queue-329/gate/cli-federation-acceptance.test.load.jsonl +4900425c57bbfb0e67b37864f9f693ff904bbd38c856e068d517f80124e680b4 agents/magica/work/queue-329/gate/cli-federation-acceptance.test.txt +1534ac5da32a67b8ffe079d60e1a63f3d82dcee95209548eff809a30ea99a4f3 agents/magica/work/queue-329/gate/cli-follow.test.load.jsonl +6051d17bf3d5dca2752d1c10479dac068c92a64da19943205193e549708d192a agents/magica/work/queue-329/gate/cli-follow.test.txt +44efe4849113a323350830a5e5ac5d6e832896c4aa4dd02edaca50b96b72db58 agents/magica/work/queue-329/gate/cli-format.test.load.jsonl +8e99983328b58a016c7dd051928d020ed7d2884c48f12b2801e455d072e25749 agents/magica/work/queue-329/gate/cli-format.test.txt +9d148dbbfc8889c788926291dc9cdb3efdf8aca301977e8e875d1eae0637db24 agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.load.jsonl +b2b18d99126e93a6c6bb073d386ebfef3deb841c44957b2ea6040b50dc1de0ba agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.txt +7173dbf8bbf16879d0c884686f1df0990087f3329348e9821506acc01a615024 agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.load.jsonl +69ed25eeaa7be7d32820e0cd3d3e8671f7330d40b65aa15759e12d2ae4390209 agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.txt +138211126f6dfb1b00312f93aa89a050413666f02c22e9a8b37ee613df03689b agents/magica/work/queue-329/gate/cli-gate-lane-image.test.load.jsonl +c97129de02f5b2d044ae181077d6449af8705e73fb168f8e78123c36eb62299f agents/magica/work/queue-329/gate/cli-gate-lane-image.test.txt +1188d8fe8253760b288a9a6d7a1d79e85d9ca3312ebaf8d2d52272c7d30dc16a agents/magica/work/queue-329/gate/cli-gate-lane-state.test.load.jsonl +80945660b44e84b98bad431097c92f22e60cd4fd9162429182967f7455c5b74f agents/magica/work/queue-329/gate/cli-gate-lane-state.test.txt +6779fbe0c1546ac89bae7e7f93cb8db964b1b224dfc90104f7148ccb5e5ec936 agents/magica/work/queue-329/gate/cli-gate-lane.test.load.jsonl +a6d33ab80d1e932b91f2f920277a46be00601af8d4f70b45eae61f978acb712f agents/magica/work/queue-329/gate/cli-gate-lane.test.txt +43f39357447b8c009e5d168a07570cada702fbcdd4fae18946812d88e3a111c5 agents/magica/work/queue-329/gate/cli-git-socket.test.load.jsonl +ed57db2eb019740e0f79667d41716dd54223fc58854963178fc1b3eeba652e5d agents/magica/work/queue-329/gate/cli-git-socket.test.txt +fb02271bc17987afc1a6b96c6439549addeaf6c50f492af6a600f7a344376ebb agents/magica/work/queue-329/gate/cli-grants-scope.test.load.jsonl +88d4ff60021e957c4234be67452a92793877774bd7738cf2544d16b159d57c8c agents/magica/work/queue-329/gate/cli-grants-scope.test.txt +6a8be9e61d750687dfd84a1df96f6d96b3c31d6abfac312fc6b65f1900b4a9f2 agents/magica/work/queue-329/gate/cli-grants.test.load.jsonl +06201797ff0b2092ebc45c46a189112943b24ee37700df42092d913762abd9ca agents/magica/work/queue-329/gate/cli-grants.test.txt +a08e8194db0c5c99863b2cd6d17a973295274c94bd5911c9a86e7be9196ccbca agents/magica/work/queue-329/gate/cli-host.test.load.jsonl +dd8a669b10b62edaa62f7740b99bed09f5a4f0515762e265c072e3d243be98a1 agents/magica/work/queue-329/gate/cli-host.test.txt +0d17cc40b6562321f204f7eb6f418a2b8adcdc907b7064838b1fd3c42b28f79c agents/magica/work/queue-329/gate/cli-hosts.test.load.jsonl +af2f013109d62a7c0829099bec417fbfddae128a853bc9e09c5bbbcfd4cdc7c9 agents/magica/work/queue-329/gate/cli-hosts.test.txt +2d02ce6d0c6eb9d1d81bdb95dd988e74834456323325f96154ce76402b40ef7d agents/magica/work/queue-329/gate/cli-idle-stop-race.test.load.jsonl +c9cf01eed62d6e5fa4e648c62e4c4dc55ca4f25f8fcb6b5dc00e2ae3e4a0bfa9 agents/magica/work/queue-329/gate/cli-idle-stop-race.test.txt +1414c17e59185a5287cf2345786a36e6463c7aca6419ba69de369f0b21079d4d agents/magica/work/queue-329/gate/cli-instances.test.load.jsonl +99dbc498d2db065afcd8f647c0343c44d68acbd7f79076603a874c4beb47430c agents/magica/work/queue-329/gate/cli-instances.test.txt +53016472444342a174dd427d0f64e54afb8f37517cf395e86e32e02d03081e7c agents/magica/work/queue-329/gate/cli-launch-account.test.load.jsonl +a8c89d5267e3d675cdb8dc921d9d319ae905f24ee02ff0e83ab5ba9784ca01b0 agents/magica/work/queue-329/gate/cli-launch-account.test.txt +1cf409576830bce991f0ed2e7d2fa0549c1717797b6cc3f3c85a44235478b756 agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.load.jsonl +cff5c939e7c8b076424e4463dee4579c92ee86a826bcaf8e680fccc7bb4d827d agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.txt +00fe1959c75253c0ef5cabad1d36c58c43cf0c30b2f32831baf9cad32276be6a agents/magica/work/queue-329/gate/cli-launch-limits.test.load.jsonl +4e023e3ff8f9114aca54f9bac9af4426e0153ad2e51034db8bef1ad28d4487a5 agents/magica/work/queue-329/gate/cli-launch-limits.test.txt +a203318b6dde32d53de1f886b7a63f685a7fb3211a02a164a9baad08ceb9e77c agents/magica/work/queue-329/gate/cli-launch-routes.test.load.jsonl +8ae736af66f78f971cbb5b20b928a2d024e5d94321d226d647953e3ef49e7547 agents/magica/work/queue-329/gate/cli-launch-routes.test.txt +3f907dd749672ebabc7ef1f6b0784b793c9671932edf3b70cc04006076118aec agents/magica/work/queue-329/gate/cli-launcher.test.load.jsonl +045baf86e618b48397df03c05e3b11e2c552aa2420c81344f6ca0d93046211e3 agents/magica/work/queue-329/gate/cli-launcher.test.txt +b05038c5dde19b3b05d4ffa9e2c42db4031c10c7187b134f2c71d2c051a6e28e agents/magica/work/queue-329/gate/cli-lifecycle.test.load.jsonl +69b5e8029d3ab819661ecbd24744159c4d9f191051e23aa6ed53107fdc5a89dd agents/magica/work/queue-329/gate/cli-lifecycle.test.txt +10efab4ef7ddbb7bf2466754f3d86d21802791d60dc82709e12b5e7214d5cd8c agents/magica/work/queue-329/gate/cli-limits-tokens.test.load.jsonl +ae6cde9dce4f7c68d77c37fbf882e7c1d10524ebe3d8c78b0b1af3c5c915143a agents/magica/work/queue-329/gate/cli-limits-tokens.test.txt +89fa02463b5ae597027e9057f7659003de03a3c3af9a75848992685e257e9466 agents/magica/work/queue-329/gate/cli-limits.test.load.jsonl +b6b9be5a54140a531e56d200b59d64e5a1a4719db047c506cd846c1a2ebcc17b agents/magica/work/queue-329/gate/cli-limits.test.txt +92a266aa154f14c1e322035aaefc2316abf040acbd7951747937baddee1f37ff agents/magica/work/queue-329/gate/cli-mark-read.test.load.jsonl +0a7ca2abfb72638b2192711db0518bb1f63bb0a3fe61d7c2ca36309cf983897f agents/magica/work/queue-329/gate/cli-mark-read.test.txt +c020f16fa803aee328c0e6deceb0c78c5eb9a23b6816ce2f6425770c3111295f agents/magica/work/queue-329/gate/cli-model-proxy.test.load.jsonl +f65f7cb67b074b27a444cab847eb49f9106add2c8e0e6b6f672319796864b951 agents/magica/work/queue-329/gate/cli-model-proxy.test.txt +ee5cf201426e844de608d4e058a5a09051620a8ab1bac662665dba6075f7d330 agents/magica/work/queue-329/gate/cli-names.test.load.jsonl +3b71310f518914e7b921b55ff852b78491ddfb46986be43a6999a27835f45e5d agents/magica/work/queue-329/gate/cli-names.test.txt +71b4edfa31d7d160869b9c7fe2f57cf7dbfc322eb487e6b534a1d08885cc981f agents/magica/work/queue-329/gate/cli-notifier.test.load.jsonl +fcbb417df5d21d4a05d850a41a6899fe6b26079fa6678ca905d8ba2c7369d563 agents/magica/work/queue-329/gate/cli-notifier.test.txt +6d27545f33d7e46248d79a5eca8bbd77180a00ca352ad96bc3b2748af2e1defb agents/magica/work/queue-329/gate/cli-optional-tracker.test.load.jsonl +48d1a93820b7c0b362ad6d716c6b98f94df152e4a157cff76dce0a01ae33e6e9 agents/magica/work/queue-329/gate/cli-optional-tracker.test.txt +f97e04814208d8938247678cdd45ce6316c2c18f10bcd8433a9efc72f0aa64b2 agents/magica/work/queue-329/gate/cli-other-tree.test.load.jsonl +3d95af03f3633b53c8d6d8f102ad3b78f4765c900d3f105757f59bfcc43e4a3f agents/magica/work/queue-329/gate/cli-other-tree.test.txt +b8f0620113e69e5e735cc6a3fad53d7fd6889a5dfa4db4a202eba9cb94bbb604 agents/magica/work/queue-329/gate/cli-processing-cli.test.load.jsonl +bdabc4c428a177a213bda1a53550ca81a4808d92bdc8020df2c9c658c3fdf472 agents/magica/work/queue-329/gate/cli-processing-cli.test.txt +e3611e5a98d7dbeea0ed5bea03e035d845f2ac4131c036163805e0312482d10c agents/magica/work/queue-329/gate/cli-project-name-repo.test.load.jsonl +ad14f6db01fd3857279f2b4a0cbee41d4a78b0c6dc37e751017dbc6673fab144 agents/magica/work/queue-329/gate/cli-project-name-repo.test.txt +a646b05c06df57b6cec5c7cba3d2aad83662fe30d3287c4d19bcf14d670264b5 agents/magica/work/queue-329/gate/cli-project.test.load.jsonl +67cec3d3a39a15fc8228d570d9021060c645e3601a2a3b240955afd1fae29010 agents/magica/work/queue-329/gate/cli-project.test.txt +dba5336581c8d7a67905fd51f381cbbbbf825b94734cdfb85146ddb78c354ecd agents/magica/work/queue-329/gate/cli-publish-socket.test.load.jsonl +96228ccad31137a17142e5d87684d65bead04e27d61098b766539ce38ca1bb81 agents/magica/work/queue-329/gate/cli-publish-socket.test.txt +abba725bb3098df387207af04d20acd4266917cbcd8aadf3f567c904801cb310 agents/magica/work/queue-329/gate/cli-reply-limits.test.load.jsonl +9e100b9bedb25b90e1bbb708dd4da28208e97209faff9ddc297006d5006bd216 agents/magica/work/queue-329/gate/cli-reply-limits.test.txt +893e7e94364034bf0269cd8cac7b1dbb55dbdeffc1a078a7d79cd7b23d40aac2 agents/magica/work/queue-329/gate/cli-revoke-window.test.load.jsonl +9843b1c155e9a90eebb908ba484fdc6ca26be15f50495bd9606cecfbf2d70c52 agents/magica/work/queue-329/gate/cli-revoke-window.test.txt +602896213eda73b15c6626f82036dc7aca89be17379ccc4fca0496738c57672c agents/magica/work/queue-329/gate/cli-session-clear.test.load.jsonl +71a87f76a2cd60d51dc4f36afe5ab05249111f95af79a780ebc2870304a3e5b9 agents/magica/work/queue-329/gate/cli-session-clear.test.txt +3d777d0499f140a660d1570c22df224734407a618a37ec090cdfac8caaf49e3c agents/magica/work/queue-329/gate/cli-session-cli.test.load.jsonl +3c11262872ecb88754a183179dda398a90e8e8f471174889f4850856868661af agents/magica/work/queue-329/gate/cli-session-cli.test.txt +d98a7094c7e290833cd7d7f4ed7dc67471a00154e85e8726f12bb042d9c70e54 agents/magica/work/queue-329/gate/cli-session-launch.test.load.jsonl +8145036eb8893d1802195317f003beaa4fd3b42bc8ac33b2e89b29ceb1e94a4e agents/magica/work/queue-329/gate/cli-session-launch.test.txt +933c12567cc912906677eff0ff22e8462e9515638a074a3762e2dddb8cc0b3ce agents/magica/work/queue-329/gate/cli-stack-copy.test.load.jsonl +a889e8360f88697ce376fc747836d776fe6e446435d0ea752b3ff00487edaf40 agents/magica/work/queue-329/gate/cli-stack-copy.test.txt +b1f4401da8d8bac46b6705d40ca2fb3202c6ac228d6f15871b3b72d9a1f8dbc9 agents/magica/work/queue-329/gate/cli-stack-instances.test.load.jsonl +509f688aea4ebd8d2881952b3f8edf7b2641d56e12036b0b50b36db19a174653 agents/magica/work/queue-329/gate/cli-stack-instances.test.txt +819f4ea6dabc13c1369d3a28467eff51b80a9d3632e2dcc391a9caf22d24a108 agents/magica/work/queue-329/gate/cli-stack-release-external.test.load.jsonl +2d163018ed6b9f3588944e11ed487cd3cb25b95f35cc614399a595bdeaaf1a3d agents/magica/work/queue-329/gate/cli-stack-release-external.test.txt +058a150be5ea09633dbb001cacf2abc34a030fa437f88840d41ec5dd2a6d1a22 agents/magica/work/queue-329/gate/cli-stack-release.test.load.jsonl +5262abaa192b44f29b4263e0a19f79298c87d0fcad272afdbd7d4e9871033eb7 agents/magica/work/queue-329/gate/cli-stack-release.test.txt +35c11b5ab699a3c717ebef8e49191ebb6e70aadde5c98be8a0cb61db5335d75e agents/magica/work/queue-329/gate/cli-stack-upgrade.test.load.jsonl +38955376895c743b4b22a071a08136667bed659d6f1dc581b2dd1cfd834a664e agents/magica/work/queue-329/gate/cli-stack-upgrade.test.txt +fb1fbb9822512168f6fab0cda02ea2be2b67c6aaab42b0be17d4edb6324de0d0 agents/magica/work/queue-329/gate/cli-tester-http.test.load.jsonl +fd200c1068974a19eb17c4d8106711adbcc13ec4e5c737a2ec7592db45c1fd9f agents/magica/work/queue-329/gate/cli-tester-http.test.txt +82ddfd9276e9184f6015c169cbb50474fa85a16083ef7297051b703ed7d4a899 agents/magica/work/queue-329/gate/cli-tester-reads.test.load.jsonl +27a94718c39ec6bf3506d6d899e206d61c2bed5956db8588486a9d0bd720ceee agents/magica/work/queue-329/gate/cli-tester-reads.test.txt +869000218198a46e7f4de5a07259f76f72c24b8a429f521d3c50de627b9f338a agents/magica/work/queue-329/gate/cli-tester-threads.test.load.jsonl +c6c6468ffdaa1de4ec7d6742d8f2ddbdf0689979ec4ed24bb9533da5c7c475c4 agents/magica/work/queue-329/gate/cli-tester-threads.test.txt +1c266379aeaf97296b5da638943ef11a3ea51efc650f048e26c166d2ea2fa113 agents/magica/work/queue-329/gate/cli-tester.test.load.jsonl +723c913422c971613fc7a73b8e370100b1d2fa55e46dffa823fd4b62559d6f15 agents/magica/work/queue-329/gate/cli-tester.test.txt +5de22f85a59260a6b31733257d9d49820b72057f9c88c4e6596aa3d8f71c8618 agents/magica/work/queue-329/gate/cli-thread-cli.test.load.jsonl +d62c7534909205b239111000fb92a6d47ee3fca96aeb33387162743c9cd2c19b agents/magica/work/queue-329/gate/cli-thread-cli.test.txt +9da08a8a07fe855c2ab1a095666597995d54b9856d733d6ff63bc1bf0fab0c34 agents/magica/work/queue-329/gate/cli-thread-launch.test.load.jsonl +43bb9c5f7bcfd3739345662206acec794ff76d3b4d501b0d8e47367eb9f47a01 agents/magica/work/queue-329/gate/cli-thread-launch.test.txt +e1377c9f503af3d4c660406b1600e7b34ce31b24133c02602eef1eae906924e2 agents/magica/work/queue-329/gate/cli-thread-revoke.test.load.jsonl +f1831b82c8e8e8e3fa097ce1c1f5a921b2cd9b0b6ebbb97f62d14a17f6aa1f37 agents/magica/work/queue-329/gate/cli-thread-revoke.test.txt +7a5c582e4e58d0200d64e5801afbe39c0f70356ce70ab06c74d11f8cd3a3e75d agents/magica/work/queue-329/gate/cli-trackers-boot.test.load.jsonl +2a4580ddf6d31deaad6e9adc8032fa423e7dcbf30da3465f27d8f64c21b5cab3 agents/magica/work/queue-329/gate/cli-trackers-boot.test.txt +38aa222d53c4ae719c622c2ee512e6d07418331832724d82e86393b87b2d894b agents/magica/work/queue-329/gate/cli-transport.test.load.jsonl +a62e0ea70fcf35378c7f00001bf96435cb3684c23f5cbd6017719b2438474405 agents/magica/work/queue-329/gate/cli-transport.test.txt +9fe759634f4d47870e1df709603281b779d2f05c5f0c26d77d43fdaa218bb593 agents/magica/work/queue-329/gate/cli-usage.test.load.jsonl +1c4e599c381fad900dae7ff9bba00214a8075f05b82a05bd34726b86e1b02ebe agents/magica/work/queue-329/gate/cli-usage.test.txt +3b5b858f1822cce5fe19659868f96e69d1fed53c2e4b1297e0a473b88c4042a9 agents/magica/work/queue-329/gate/cli-verbs.test.load.jsonl +693f19a8f0c93c7a33000bd7a86c5af54edbbdfba53631fb892dacbd8173806f agents/magica/work/queue-329/gate/cli-verbs.test.txt +4c2531e802ac826df1324345bfc2da9ec18d3531ed67ce2b406f49014a83dba4 agents/magica/work/queue-329/gate/model-proxy-client.test.txt +832ec82ece9657a7769e2ff3eed69afa38c53a056a402ad6ea388f6808a0282c agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt +f2dcc1e42876b8446f16466718ee889a4d0801d15b8d1c7c85377d97c2f7c501 agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt +471640a8f91144226a4b2b990acb6c9e89c9af545e942bc21b8f507fefda38cb agents/magica/work/queue-329/gate/model-proxy-runner.test.txt +356d37019d693ef6e6e2616ab308f66265c599fc579bac9d5984d676c5d75e8c agents/magica/work/queue-329/gate/model-proxy-settings.test.txt +ca054157c6bb36f40dc6c7a0942d4195fccdfc87b1a77062fb44f6db3fd84c2d agents/magica/work/queue-329/gate/npm-root.txt +66ac3eda1c48dd7eff9d87623cfd89ed91eddf8af2a53ea15c91ba9564036882 agents/magica/work/queue-329/gate/npm-webui.txt +6addfaa9d1ec3476ab8cae77bc47790778085305c97e73e3e06bda8e4e11ca1c agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.load.jsonl +4279f8849f31257c754b770cf943c0f4b6bed6106191baa78774d6c17181f957 agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.txt +3f1c6de8792aad1fdb5e3a6979b88d46c7147da162ab040bbc3008e4f77a3160 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-copy.test.txt +f94305b2b9848c18bfdb2be0acf36fa70f9cf1483b084ea916a2335ab4b8a1f9 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-instances.test.txt +2e5e67fa37641602a49b10e3f491d345cd9be86056fd74618a7cba15ae562a5c agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.load.jsonl +779c414e2894e42cf59cd320a23998a787e0a16d7878214231eac9fadbd31d6f agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.txt +0d3bd523369a665bf464bc442767023ec0144d5e6fe134564cf02a6423c93aeb agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.load.jsonl +c58635b7c238415a30f1a4b7c1f257d7ab90dd320e38da1f44b75813feb2d759 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.txt +ed297ed67e9c4257004d0b1caab5b854592e4f710146f0e13bf4af52bc70d74c agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.load.jsonl +6bba10f23320b07f43f9f9bb66546b9ade9cf6cb2bfc2447cc1562feceb51fe3 agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.txt +6010d37970747988a35e3971455ef06613e6da0a771d65b131cea97dac90da7b agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.load.jsonl +648c3a58103f7bc9d6201b9557c0dd1329713d8b7e171f54b2e3ca7fb3097a81 agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.txt +a71091aae2d606745235b527ff6405bfa0933f91e943deea71509512bdd824a7 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-client.test.txt +9935d0cb31e6ea8a268d8737de7e0d1a4694222cca8fd8a1a6fb85b25ca7f584 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-config-unit.test.txt +9a8ca7e1b530a5e20159113efabb7c29afd057de42670c5bee1eef8e224fdaf7 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-fetch.test.txt +f90198940d77683e83a567815bff27a7d3eda3818d83d2e6db98cceccba72dd3 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-runner.test.txt +1d903940b3029921495bf7374cb2f292c217f5305e5e891783427b193a586347 agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-settings.test.txt +6f8a696f90f0f3afcaebbd5b13e82d5bc7e40e46c88fef63faa1be16ae321de8 agents/magica/work/queue-329/gate/post-unit-fix-webui-pinned-copy.test.txt +21d8ca6d4a6530380a2b94e94872eb6d2bb7aa63c866ee70ff7798b9219c1b2f agents/magica/work/queue-329/gate/resume-mos1605-runs.jsonl +5e6ce55ef8a1cb4506384530f4ad8b8af93be6b41411cbcb7d53b5f61bc5379d agents/magica/work/queue-329/gate/runs.jsonl +cd473a832391e2588c98d4a4085ece27f3132435f5ddb0fb2977b15f2db9debc agents/magica/work/queue-329/gate/test-config.sh.load.jsonl +2dc3ff347b7359af1b729b97405e167f43a66a71a49324d8e902e26e4447b6e6 agents/magica/work/queue-329/gate/test-config.sh.txt +a07aeb995eba36fd6bdeb76abdd101d1126fc7188826e7bdd3fee487efe644f0 agents/magica/work/queue-329/gate/test-federation-acceptance.sh.load.jsonl +284dee983d7346a0c03fafd917299a135f05efed7989fc1b59883ae3232d602f agents/magica/work/queue-329/gate/test-federation-acceptance.sh.txt +40904a9a2b69b15b61e09aa9f1fa5ea79d63e17cd888c532eae19d1679a40d9c agents/magica/work/queue-329/gate/unit-custom-config-red.txt +84bf8ea621c5d580953a89a22afc7a30d6001e8aaaa01b31d161c33f230e1a4d agents/magica/work/queue-329/gate/webui-pinned-copy.test.load.jsonl +24192013fcf0f1a63402ee0c8e5a00da5ef7fd0c5e87370c2e38c9be1dbbb8b7 agents/magica/work/queue-329/gate/webui-pinned-copy.test.txt +e7fa0ff14ca8087fa1733a69e932169099e3a16e5077557ee836f7aa354bc9fb agents/magica/work/queue-329/readers.txt +b8a80e488e85953ce9ef815cbe4e0bf4009012c8121ba659074fb8873cca856d agents/magica/work/queue-329/refusal-inventory.txt +12c5a63a1cca1f89168ae93eec981888ed2126a2a7abefe65751df66b67686cf agents/magica/work/queue-329/resume-mos1605-progress.txt +5de7f8433dfc2ffc0c4496b4fc1ee957ec24e83baecbb7347633b7f5e8d62e65 agents/magica/work/queue-329/resume-mos1605.py +05e38853b4e49870bd6b44c246c8e9fbd41f98c2389e0e3ca7b87cc9c143c686 agents/magica/work/queue-329/scratch-root.txt +48791faf9e423860bc5a8cefa224256f836f18f803ce8c872c97d033826bb274 docs/SESSIONS.md +24620d450b9e2defd2ed738596e440364a2a06fd84712ad154d9da970985e61d packages/bus/src/broker.mjs +6688c153b13a401d475212fb7dce9727d78431ab6840550482847f47889e84a6 packages/bus/src/runtime.mjs +b88932524302e2f7a7bdfbd4daffc1f5b05ae578b51e2dc2f3f74280fc0de398 packages/bus/src/server.mjs +0d6cb865a5b41928708f29795c7bd1011bd568955ddad5289e658ab61b24a00f packages/bus/tests/model-proxy.test.mjs +1850d16736322da024d52321e9975ba6f27e2079a59e7da5592e4f9aaf59533c packages/cli/src/cli.mjs +d960c2a9df3f7c84deff22dad1f0ab120f95ee365984e390de98eba7292b65a1 packages/cli/src/config.mjs +d706a43ed01df1daf15b2ade6132783aff4913f901f80761b319d231e0d279f4 packages/cli/src/model-proxy.mjs +16c31f119d064a836794d167d57a6a1b765303005d93d1feba3e07e4b9288bd2 packages/cli/systemd/mosaic-proxy.service.in +3031a514f5eb1e911ae5220ee8819ba5d409737a8809bb5922650bbe4f95edfc packages/cli/tests/model-proxy.test.mjs +889ac9589fadf7654d4dbb914f968cbafe4255ed215bd6a9ff3f331757c9017b packages/model-proxy/PIN +24745f244aba0789245af21d275e3cc2fed8c07342369caa68369b73d8d1d3f6 packages/model-proxy/README.md +8fbfb3d1562e9ea824a1bd399b17cb2048c92b125e7699ccf27abdcc6e31e40b packages/model-proxy/package.json +c1e835580f2c33d8ce1e75af4e5c99e0425d1a88b50f25bf514a4f90f7134932 packages/model-proxy/src/client.mjs +e214c152ce8fa2df867bdc28194aedb53dbba601c248a606dc5d7bcd0735c189 packages/model-proxy/src/common.mjs +00378d2ea95ac4945899696462f8ff4c70dc020cc58d93663d731d2f2f333783 packages/model-proxy/src/fetch.mjs +919e9b7edac981881d9b39fda3709a11db39b9c3eb138eff1c3ba8d2b55395aa packages/model-proxy/src/run.mjs +c9a8783b272c434bb36697d0763e7fd93db8be208d6cf3da97262dd8f5b0ab10 packages/model-proxy/src/runner.mjs +1a5690a27d2b192151328b194d96cedd60d0a291cfc8e99431680c3b24ddea29 packages/model-proxy/src/settings.mjs +790c6a50ec030a8b27a28fac7fd129bd9eabe79774adf11d6620c00df9b6ae86 packages/model-proxy/tests/client.test.mjs +5f9d35c45322b1a843058514e7e2bdb870168195cb7522ad43c13ee4e3899da4 packages/model-proxy/tests/config-unit.test.mjs +87065f2ce53f6a793e17c2a7feff1c9e3cf93f5ef61ade4a35ffd2afb2cb17cb packages/model-proxy/tests/fetch.test.mjs +21c93b87f8145eb584255bc2a126236ee482e4718b6973e6cce2d8e785c77bf4 packages/model-proxy/tests/runner.test.mjs +4e496fb3faf639713c2dd2a12f34d6add962a50c520bcd3590f0590d0563b9b7 packages/model-proxy/tests/settings.test.mjs +c2c8ab246ecb5e73faa39b98fbbced5740e7c1abf352d8865ff2028ff7c36e3a scripts/bus-service.sh +1aaf56914ea0ba3793f96cace9a774f2076065296603d6baad653fa36c4c90c2 scripts/instance.sh +96dfe299b3b9041b42ef27fa6a37d444e735fcefffcb5eefcb1bb390d077e46e scripts/mosaic +98a86764925182c2487932257431770053efe758a87dedaf494ccc8d2473b4e3 scripts/mosaic-config.mjs +e1d9fd91e3a6eedb3b16ad3145d01ec4f583880f943054b8384ddba6b5ed31ba scripts/proxy-service.sh +b96b2f662d2b63e3360bfbd26e453e9fe74953a15d29b2f2beac6deb5a18cf22 scripts/stack-copy.sh diff --git a/agents/magica/work/queue-329/REVIEW.md b/agents/magica/work/queue-329/REVIEW.md new file mode 100644 index 000000000..164e08765 --- /dev/null +++ b/agents/magica/work/queue-329/REVIEW.md @@ -0,0 +1,81 @@ +# Row 329 P1 review packet — #1827, Vikunja237 + +Branch magica/row329, required base8bb5b3c73. Boyd first Codex review, +Dewey landing review. BUILD.md carries rulings, acceptance output and gate receipts. +This is P1 only; P2-P7 do not ship here. + +## Review focus + +- PIN chain: archive SHA256, extracted executable SHA256 and pinned panel SHA256; + manual release-host redirect checks, bounded downloads, no archive path extraction + to disk, failed install cleanup, refusal to overwrite a differing target. +- Config invariant2: proxy.json is an exclusive sidecar; config.json is never + changed. Strict port/path/field validation. A missing sidecar preserves no-proxy + behavior; a present invalid/symlink sidecar refuses. Historical no-proxy copies + do not import the new package; new pinned copies include its source and PIN. +- Human boundary: CLI no-echo double prompt, agent/tester refusal, path-bound + human-cli transport, broker #human fence before key handling, async server path. + The bus writes private key/config/directories once, with rollback for failures. + Public answer is exactly port/binary; neither input nor result key is logged. +- Management client: bus holds it after Store's per-root writer lock; no process + IPC/verb returns it. node:http addresses numeric loopback directly, never follows + redirects, sends management key only as Authorization. GET/PUT v8 list only; + receipts contain call/status/12-hex SHA256 key IDs, never values or list bodies. +- Unit: default/named names, conditional bus Wants/After only when configured, + optional pinned stack copy, hash validation before execution, fixed panel dir, + local catalog and no ambient provider/management credentials in child env. +- Backward behavior: all old test files and assertions remain byte-identical to + base8bb5b3c73. Broad bus/CLI runs and pinned-copy regression are the builder checks; + Sage's landing gate covers every other package except queue and all shell suites. + +## Release measurements and acceptance limits + +CLIProxyAPI8.0.42, not8.0.27; panel1.26.7. +Archive: 1e10566fe0042ed5a9b80306cf296bf86a83de590cd967a8b177988b896c8d31 +Executable: 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e +Panel: 8c9c6b7d3fb311e6aad5d06e1993e53a2d28389e640448a1bc6304ed20b057b5 +Boyd independently downloads the exact release assets and re-measures them. + +Acceptance only uses fresh scratch roots and unshare-rn, nice19. No host proxy, +real management key, real proxy data, real credentials or external upstream call. +Full plain text appears in BUILD.md and acceptance-final.txt. Original probe1 +and its source are retained separately as requested by Sage. + +Empty list is open; models is local; invalid key gets401 with a flat error body. +Removed key enforcement had a100ms-scale lag after a successful PUT. ClaudeCode +wrong/revoked keys produced no output and timed out45s; no causal claim/shape fix. +Per-key model objects get422; no v8 per-client model restrictions found. +OAuth start returns separate localhost callbacks; no external OAuth was completed. + +Panel works with explicit /proxy Custom Connection URL and prefix strip in the +unsandboxed diagnostic. With the required CSP sandbox it fails localStorage and +login; an explicit opaque-origin fetch loses the SameSite=Lax cookie. Those are historical negative acceptance findings, not a working Console +forward. Q250 / mos-1606 supersedes the forward: P4 builds the Console's own +proxy page. P1's panel/sub-path/sandbox and callback-forward questions are no +longer required, and the existing results stay recorded. PIN/fetch are unchanged. +Still-required OAuth start redirects are Claude http://localhost:54545/callback +and Codex http://localhost:1455/auth/callback. No CORS loosening, unsandboxed +forward or panel JS on the Console origin ships. No external OAuth was completed. + +## Gate + +Final source checked with whole model-proxy61/61, bus1018/1018, CLI999pass +plus1listed FED R7 skip, webui pinned-copy10/10, config55/55, and the dedicated +federation runner1/1 with0skip and cleanup verified. Own offline npm ci ran at +root/webui, ignore-scripts. Every test launch used nice19, short shell-created +TMPDIR and timeout-k10. gate/FINAL-COUNTS.json maps every test file to its receipt. + +An initial old case1-accept F3 assertion got an extra F7. Mos1604's separate +20focused+3whole scratch diagnostics passed179/179 without gate credit. Mos1605 +allowed one unchanged original rerun; it passed53/53, then the remaining gate +completed. F7 remains unexplained (Vikunja625); no old assertion was changed. +Sage's landing gate must pass independently. + +A final P1-only fix binds both default units to an explicit MOSAIC_CONFIG when +proxy-configured, instead of the proxy using that config and the bus dropping it. +Two new P1 tests failed first, then passed; the full package and all seven direct +CLI unit-reader test files were run whole on the final tree per sage4251. They +all passed. No-proxy rendering stays unchanged. The helper runs through readers. + +MANIFEST.sha256 covers every changed file versus8bb5b3c73 except itself. Release +binaries and panel stay outside Git; independent asset measurements are Boyd's. diff --git a/agents/magica/work/queue-329/acceptance-api-only.txt b/agents/magica/work/queue-329/acceptance-api-only.txt new file mode 100644 index 000000000..58abe94cb --- /dev/null +++ b/agents/magica/work/queue-329/acceptance-api-only.txt @@ -0,0 +1,30 @@ +P1 isolated acceptance root /mnt/storage/scratch/tmp/KXZOfD nice 19 +binary sha256 74661f8cf949977870231359e8bf4344e07946766a673c08fa25a3e5f72fc95e +P1 client receipt {"call":"GET /v8/management/config/access/api-keys","status":200,"keyIds":["48eead3cdecf"]} +P1 client real API GET count 1 +P1 client receipt {"call":"PUT /v8/management/config/access/api-keys","status":200,"keyIds":["48eead3cdecf"]} +P1 client real API PUT {"ok":true} +pinned panel served 200 8c9c6b7d3fb311e6aad5d06e1993e53a2d28389e640448a1bc6304ed20b057b5 +pinned login flags -claude-login | -codex-login | -no-browser +wrong/missing key models wrong {"status":401,"body":"{\"error\":\"Invalid API key\"}"} +wrong/missing key models missing {"status":401,"body":"{\"error\":\"Missing API key\"}"} +models local 200 upstream delta 0 body length 1739 +valid messages {"status":200,"body":"{\"id\":\"msg_p1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-5-5\",\"content\":[{\"type\":\"text\",\"text\":\"hello\"}],\"stop_reason\":\"end_turn\",\"usage\":{\"input_tokens\":1,\"output_tokens\":1}}"} upstream delta 1 +wrong messages {"status":401,"body":"{\"error\":\"Invalid API key\"}"} +initial key list {"status":200,"body":"[\"p1-client\"]"} +set empty {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"} +empty list settled {"elapsedMs":105,"statuses":[401,200],"body":"[models]"} +empty list missing key status 200 +empty list missing key messages {"status":200,"body":"{\"id\":\"msg_p1\",\"type\":\"message\",\"role\":\"assistant\",\"model\":\"claude-sonnet-5-5\",\"content\":[{\"type\":\"text\",\"text\":\"hello\"}],\"stop_reason\":\"end_turn\",\"usage\":{\"input_tokens\":1,\"output_tokens\":1}}"} +restore list {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"} +restored list settled wrong key {"elapsedMs":104,"statuses":[200,401],"body":"{\"error\":\"Invalid API key\"}"} +revoke client {"status":200,"body":"{\"config-version\":8,\"status\":\"ok\"}"} +revoked key settled {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"} +revoked key models {"status":401,"body":"{\"error\":\"Invalid API key\"}"} +revoked messages {"status":401,"body":"{\"error\":\"Invalid API key\"}"} +per-key model object attempt {"status":422,"body":"{\"error\":\"invalid_config\",\"message\":\"parse config payload: yaml: unmarshal errors:\\n line 12: cannot unmarshal !!map into string\"}"} +final restored list settled {"elapsedMs":2,"statuses":[401],"body":"{\"error\":\"Invalid API key\"}"} +v8 key list {"status":200,"body":"[\"p1-client\"]"} +oauth start anthropic {"status":200,"body":"{\"state\":\"208bd2a002a312d996f6c5a416ecc311\",\"status\":\"ok\",\"url\":\"https://claude.ai/oauth/authorize?client_id=9d1c250a-e61b-44d9-88ed-5944d1962f5e\\u0026code=true\\u0026code_challenge=BsWT1fuo1kBcP-EySiawhlK-cfN2B62ta6VKP8qvaIU\\u0026code_challenge_method=S256\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A54545%2Fcallback\\u0026response_type=code\\u0026scope=user%3Aprofile+user%3Ainference+user%3Asessions%3Aclaude_code+user%3Amcp_servers+user%3Afile_upload\\u0026state=208bd2a002a312d996f6c5a416ecc311\"}"} +oauth start codex {"status":200,"body":"{\"state\":\"fffb20861e7b44a1d70c45a2de1f9b8c\",\"status\":\"ok\",\"url\":\"https://auth.openai.com/oauth/authorize?client_id=app_EMoamEEZ73f0CkXaXp7hrann\\u0026code_challenge=Swdf4fq2oLSpl2K6CQJYbeHw7aC50nby_h0l-O52kqc\\u0026code_challenge_method=S256\\u0026codex_cli_simplified_flow=true\\u0026id_token_add_organizations=true\\u0026prompt=login\\u0026redirect_uri=http%3A%2F%2Flocalhost%3A1455%2Fauth%2Fcallback\\u0026response_type=code\\u0026scope=openid+email+profile+offline_access\\u0026state=fffb20861e7b44a1d70c45a2de1f9b8c\"}"} +acceptance probes complete diff --git a/agents/magica/work/queue-329/acceptance.mjs b/agents/magica/work/queue-329/acceptance.mjs index 49c7475c0..4e5d0f845 100644 --- a/agents/magica/work/queue-329/acceptance.mjs +++ b/agents/magica/work/queue-329/acceptance.mjs @@ -5,6 +5,7 @@ import http from 'node:http'; import { spawn, execFileSync } from 'node:child_process'; import { createHash } from 'node:crypto'; import { initialConfig } from '../../../../packages/model-proxy/src/settings.mjs'; +import { ManagementClient } from '../../../../packages/model-proxy/src/client.mjs'; const root = process.argv[2], assets = process.argv[3]; if (!root?.startsWith('/mnt/storage/scratch/tmp/') || process.env.P1_ISOLATED !== 'yes') throw Error('acceptance requires wrapper'); const children=[], servers=[]; @@ -33,24 +34,32 @@ try{ console.log('binary sha256',createHash('sha256').update(fs.readFileSync(path.join(assets,'release','cli-proxy-api'))).digest('hex')); await serve((q,s)=>{upstreamCalls++;s.setHeader('Content-Type','application/json');s.end(JSON.stringify({id:'msg_p1',type:'message',role:'assistant',model:'claude-sonnet-5-5',content:[{type:'text',text:'hello'}],stop_reason:'end_turn',usage:{input_tokens:1,output_tokens:1}}));},18401); launch(path.join(assets,'release','cli-proxy-api'),['-config',path.join(root,'config.yaml'),'-local-model'],{env:{...env,MANAGEMENT_STATIC_PATH:path.join(root,'static')}});await wait(port); + const management=new ManagementClient({baseUrl:`http://127.0.0.1:${port}`,key:'p1-management',receipt:entry=>console.log('P1 client receipt',JSON.stringify(entry))}); + console.log('P1 client real API GET count',(await management.getKeys()).length);console.log('P1 client real API PUT',JSON.stringify(await management.putKeys(['p1-client']))); const panelResponse=await request('/management.html',{key:null});console.log('pinned panel served',panelResponse.status,createHash('sha256').update(panelResponse.body).digest('hex')); const cliHelp=launch(path.join(assets,'release','cli-proxy-api'),['-help']);await new Promise(r=>cliHelp.on('close',r));console.log('pinned login flags',fs.readFileSync(path.join(root,`${children.length-1}.stdout`),'utf8').split('\n').filter((l,i,a)=>/-(claude|codex)-login|-no-browser/.test(l)).join(' | ')); for(const key of ['wrong',null])console.log('wrong/missing key models',key===null?'missing':'wrong',JSON.stringify(await request('/v1/models',{key}))); const before=upstreamCalls;const models=await request('/v1/models');console.log('models local',models.status,'upstream delta',upstreamCalls-before,'body length',models.body.length); + const message={model:'claude-sonnet-5-5',max_tokens:32,messages:[{role:'user',content:'hello'}]}; + const inferenceBefore=upstreamCalls;console.log('valid messages',JSON.stringify(await request('/v1/messages',{method:'POST',body:message})),'upstream delta',upstreamCalls-inferenceBefore); + console.log('wrong messages',JSON.stringify(await request('/v1/messages',{method:'POST',key:'wrong',body:message}))); console.log('initial key list',JSON.stringify(await request('/v8/management/config/access/api-keys',{key:'p1-management'}))); console.log('set empty',JSON.stringify(await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:[]}))); await enforce('empty list settled',null,200); console.log('empty list missing key status',(await request('/v1/models',{key:null})).status); + console.log('empty list missing key messages',JSON.stringify(await request('/v1/messages',{method:'POST',key:null,body:message}))); console.log('restore list',JSON.stringify(await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:['p1-client']}))); await enforce('restored list settled wrong key','wrong',401); console.log('revoke client',JSON.stringify(await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:['p1-sentinel']}))); await enforce('revoked key settled','p1-client',401); console.log('revoked key models',JSON.stringify(await request('/v1/models',{key:'p1-client'}))); + console.log('revoked messages',JSON.stringify(await request('/v1/messages',{method:'POST',key:'p1-client',body:message}))); console.log('per-key model object attempt',JSON.stringify(await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:[{key:'p1-limited',models:['claude-sonnet-5-5']}]}))); await request('/v8/management/config/access/api-keys',{method:'PUT',key:'p1-management',body:['p1-client']}); await enforce('final restored list settled','wrong',401); console.log('v8 key list',JSON.stringify(await request('/v8/management/config/access/api-keys',{key:'p1-management'}))); for(const provider of ['anthropic','codex'])console.log('oauth start',provider,JSON.stringify(await request(`/v0/management/${provider}-auth-url?is_webui=true`,{key:'p1-management'}))); + if(process.argv[4]!=='api-only'){ await serve((q,s)=>{ forwarded.push({method:q.method,path:q.url,origin:q.headers.origin??null,cookie:!!q.headers.cookie}); if(sandbox)s.setHeader('Content-Security-Policy','sandbox allow-scripts allow-forms'); @@ -89,5 +98,6 @@ try{ const c=launch('/usr/bin/timeout',['-k','2','45','/home/jwoltje/.local/bin/claude','-p','Reply hello.','--model','claude-sonnet-5-5','--output-format','text','--restricted','--tools','','--permission-mode','dontAsk','--settings',settings,'--strict-mcp-config','--mcp-config',mcp,'--disable-slash-commands'],{env:{...env,HOME:chome,ANTHROPIC_BASE_URL:`http://127.0.0.1:${port}`,ANTHROPIC_AUTH_TOKEN:key,CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC:'1'}}); const index=children.length-1;const result=await new Promise(r=>c.on('close',(code,signal)=>r({code,signal})));console.log('Claude Code wrong/revoked key',key,JSON.stringify(result),'output',JSON.stringify(fs.readFileSync(path.join(root,`${index}.stdout`),'utf8').slice(0,2000))); } + } console.log('acceptance probes complete'); }finally{for(const child of children)child.kill('SIGTERM');for(const s of servers)s.closeAllConnections?.();for(const s of servers)s.close();} diff --git a/agents/magica/work/queue-329/acceptance.sh b/agents/magica/work/queue-329/acceptance.sh index 5d119c2e9..35e04c078 100644 --- a/agents/magica/work/queue-329/acceptance.sh +++ b/agents/magica/work/queue-329/acceptance.sh @@ -3,10 +3,11 @@ set -euo pipefail HERE=$(cd "$(dirname "$0")" && pwd) ASSETS=${1:?download root required} +MODE=${2:-full} export TMPDIR=$(mktemp -d /mnt/storage/scratch/tmp/XXXXXX) timeout -k 10 240 nice -n $((19 - $(nice))) unshare -rn bash -c ' set -e ip link set lo up export P1_ISOLATED=yes - exec node "$1/acceptance.mjs" "$TMPDIR" "$2" -' bash "$HERE" "$ASSETS" + exec node "$1/acceptance.mjs" "$TMPDIR" "$2" "$3" +' bash "$HERE" "$ASSETS" "$MODE" diff --git a/agents/magica/work/queue-329/claude-401-receipts.txt b/agents/magica/work/queue-329/claude-401-receipts.txt new file mode 100644 index 000000000..6b6061623 --- /dev/null +++ b/agents/magica/work/queue-329/claude-401-receipts.txt @@ -0,0 +1,14 @@ +[2026-10-24 14:25:55] [0c57327f] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:25:56] [f8b1d5d3] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:25:57] [b6b42520] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:25:59] [fdef34a5] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:26:04] [7dfebc40] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:26:12] [ef0c1281] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:26:29] [a57da9d8] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:26:40] [4573e4c4] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:26:41] [4c48fe38] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:26:42] [e28d6dac] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:26:44] [30d5a01e] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:26:48] [8ad4b4b7] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:26:57] [11396dd0] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" +[2026-10-24 14:27:14] [1cdba68c] [warn ] [gin_logger.go:111] 401 | 0s | 127.0.0.1 | POST "/v1/messages?beta=true" diff --git a/agents/magica/work/queue-329/development-gate/bus-model-proxy.test.txt b/agents/magica/work/queue-329/development-gate/bus-model-proxy.test.txt new file mode 100644 index 000000000..99442f433 --- /dev/null +++ b/agents/magica/work/queue-329/development-gate/bus-model-proxy.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/model-proxy.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/bTrsYr +launch nice: 19 +✔ proxy.init only accepts path-bound outside-agent human; refuses agent/tester/reader (22.001114ms) +✔ proxy.init proxy-key-invalid (12.495581ms) +✔ proxy.init proxy-config-invalid (12.799141ms) +✔ proxy.init invalid-request (12.031243ms) +✔ proxy.init not-configured (11.470404ms) +✔ proxy.init callback error redacts key and maps outcome to named refusal (11.928112ms) +✔ socket awaits proxy.init and does not return a Promise object or retain human cap (34.01592ms) +✔ proxy-init-failed: extra callback fields cannot return a management key (13.259736ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 223.366823 diff --git a/agents/magica/work/queue-329/development-gate/cli-model-proxy.test.txt b/agents/magica/work/queue-329/development-gate/cli-model-proxy.test.txt new file mode 100644 index 000000000..7d92b0232 --- /dev/null +++ b/agents/magica/work/queue-329/development-gate/cli-model-proxy.test.txt @@ -0,0 +1,20 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/model-proxy.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/bTrsYr +launch nice: 19 +✔ proxy init agent and tester refuse before prompting or transport (1.292032ms) +✔ proxy init prompts twice through no-echo seam and sends key only through human transport (1.131391ms) +✔ proxy-key-mismatch: confirmation refuses without bus call (0.393465ms) +✔ proxy-terminal-required: stdin redirection refuses (0.331981ms) +✔ proxy-usage: invalid verb and repeated flags refuse (0.565751ms) +✔ proxy-config-invalid: port 8317 refuses before prompting (0.347143ms) +✔ proxy-key-invalid: empty prompt refuses without printing input (0.381729ms) +✔ real no-echo prompt restores terminal state and never writes the key (0.910677ms) +✔ real no-echo prompt ctrl-C refuses and restores echo (0.419524ms) +ℹ tests 9 +ℹ suites 0 +ℹ pass 9 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 161.669135 diff --git a/agents/magica/work/queue-329/development-gate/model-proxy-client.test.txt b/agents/magica/work/queue-329/development-gate/model-proxy-client.test.txt new file mode 100644 index 000000000..be997a655 --- /dev/null +++ b/agents/magica/work/queue-329/development-gate/model-proxy-client.test.txt @@ -0,0 +1,27 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/client.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/bTrsYr +launch nice: 19 +✔ proxy-client-invalid: https://127.0.0.1:18318 (1.107341ms) +✔ proxy-client-invalid: http://example.com:18318 (0.130074ms) +✔ proxy-client-invalid: http://localhost:18318 (0.081768ms) +✔ proxy-client-invalid: http://127.0.0.1:8317 (0.083355ms) +✔ proxy-client-invalid: http://user:pass@127.0.0.1:18318 (0.093861ms) +✔ proxy-client-invalid: http://127.0.0.1:18318/path (0.083517ms) +✔ client GET/PUT v8 only, Authorization header, receipt IDs without values or bodies (21.421201ms) +✔ proxy-client-refused (3.58892ms) +✔ proxy-client-response (2.46659ms) +✔ proxy-client-redirect (1.398621ms) +✔ proxy-client-down: transport errors redact details (1.169076ms) +✔ proxy-client-invalid: PUT rejects object key records and empty strings locally (0.209769ms) +✔ proxy-management-key-invalid: missing, symlink and public key file refuse without values (1.213052ms) +✔ bus management-key loader supplies a private fixture key without exposing it on the client (0.58163ms) +✔ proxy-client-response: truncated response remains a redacted named refusal (12.893923ms) +✔ management client ignores ambient fetch dispatchers (1.614034ms) +ℹ tests 16 +ℹ suites 0 +ℹ pass 16 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 119.49347 diff --git a/agents/magica/work/queue-329/development-gate/model-proxy-config-unit.test.txt b/agents/magica/work/queue-329/development-gate/model-proxy-config-unit.test.txt new file mode 100644 index 000000000..9942b6e46 --- /dev/null +++ b/agents/magica/work/queue-329/development-gate/model-proxy-config-unit.test.txt @@ -0,0 +1,24 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/config-unit.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/bTrsYr +launch nice: 19 +✔ loader proxy absent is byte-compatible; present validates sidecar and preserves config.json (86.134497ms) +✔ proxy-config-invalid: loader refuses an unknown sidecar key and binary outside pinned install (143.321377ms) +✔ proxy unit and bus dependency render default and named instance only when configured (276.591632ms) +✔ proxy-not-configured: runner and unit render refuse absent sidecar (104.640115ms) +✔ proxy-install-invalid: unit runner refuses tampered executable before spawning (100.758568ms) +✔ proxy-unit-usage (49.940866ms) +✔ proxy-unit-exists (52.610857ms) +✔ proxy-unit-dropin (53.983874ms) +✔ proxy-unit-path (59.327826ms) +✔ proxy-config-invalid: instance selection also refuses invalid present sidecar (52.506423ms) +✔ explicit unit install writes only a scratch user unit and refuses a repeat (107.271134ms) +✔ proxy-unit-copy: renderer refuses an unknown or unpinned stack copy (51.244228ms) +✔ historical no-proxy config loader works without new package dependency (25.55588ms) +ℹ tests 13 +ℹ suites 0 +ℹ pass 13 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1244.732304 diff --git a/agents/magica/work/queue-329/development-gate/model-proxy-fetch.test.txt b/agents/magica/work/queue-329/development-gate/model-proxy-fetch.test.txt new file mode 100644 index 000000000..9c08b46ef --- /dev/null +++ b/agents/magica/work/queue-329/development-gate/model-proxy-fetch.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/fetch.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/bTrsYr +launch nice: 19 +✔ verified fetch installs binary and panel together; identical repeat is idempotent (19.691069ms) +✔ proxy-fetch-hash: either bad asset installs nothing (7.191229ms) +✔ proxy-fetch-existing: conflicting install remains byte-identical (8.884597ms) +✔ proxy-fetch-archive: missing executable in verified archive refuses without install (9.743912ms) +✔ proxy-fetch-url: production downloader permits pinned GitHub release URLs only (0.70142ms) +✔ local fake server covers redirect off allowlist and HTTP failure without external fetch (24.613441ms) +✔ proxy-fetch-existing: extra content in an existing install refuses (15.063909ms) +✔ local fake file server success and same-origin redirect return exact bytes (11.564505ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 177.170425 diff --git a/agents/magica/work/queue-329/development-gate/model-proxy-runner.test.txt b/agents/magica/work/queue-329/development-gate/model-proxy-runner.test.txt new file mode 100644 index 000000000..f50e14a89 --- /dev/null +++ b/agents/magica/work/queue-329/development-gate/model-proxy-runner.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/runner.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/bTrsYr +launch nice: 19 +✔ runner verifies before spawning and supplies pinned panel and local model without ambient secrets (1.344665ms) +✔ proxy-start-failed: sync and async spawn failures report code only (0.539424ms) +✔ hash refusal prevents spawn and ordinary exit status is propagated (0.256786ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 73.721032 diff --git a/agents/magica/work/queue-329/development-gate/model-proxy-settings.test.txt b/agents/magica/work/queue-329/development-gate/model-proxy-settings.test.txt new file mode 100644 index 000000000..a4f450b75 --- /dev/null +++ b/agents/magica/work/queue-329/development-gate/model-proxy-settings.test.txt @@ -0,0 +1,30 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/settings.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/bTrsYr +launch nice: 19 +✔ absent proxy settings preserves no-proxy contract; present settings validate pinned path (1.846201ms) +✔ proxy-config-invalid: unknown (0.460617ms) +✔ proxy-config-invalid: missing (0.174041ms) +✔ proxy-config-invalid: low (0.65088ms) +✔ proxy-config-invalid: high (0.177839ms) +✔ proxy-config-invalid: host (0.162754ms) +✔ proxy-config-invalid: string (0.230744ms) +✔ proxy-config-invalid: binary (0.17845ms) +✔ proxy-config-invalid: null (0.168819ms) +✔ proxy-config-invalid: malformed or symlink settings refuse (0.67631ms) +✔ proxy-install-missing: init requires fetch before any state is written (0.767812ms) +✔ proxy-install-invalid: binary or panel mutation refuses (0.507922ms) +✔ proxy-key-invalid: empty, multiline and too-long key refuse before creation (0.893913ms) +✔ exclusive initialization writes private sentinel config, never rewrites config.json or exposes key (7.461291ms) +✔ proxy-port-in-use: init refuses occupied loopback without files (2.130005ms) +✔ proxy-init-busy: existing lock refuses without touching it (1.273547ms) +✔ proxy-init-failed: symlink or non-private secrets directory refuses without changing it (0.868646ms) +✔ proxy-already-initialized: each existing target is preserved and never followed (1.265115ms) +✔ proxy-install-invalid: modified panel also refuses (0.371958ms) +ℹ tests 19 +ℹ suites 0 +ℹ pass 19 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 94.08478 diff --git a/agents/magica/work/queue-329/development-gate/npm-root.txt b/agents/magica/work/queue-329/development-gate/npm-root.txt new file mode 100644 index 000000000..05be03cbc --- /dev/null +++ b/agents/magica/work/queue-329/development-gate/npm-root.txt @@ -0,0 +1,6 @@ +command: ["npm", "ci", "--offline", "--ignore-scripts", "--no-audit", "--no-fund"] +TMPDIR: /mnt/storage/scratch/tmp/OS9Bg5 +launch nice: 19 +npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead + +added 128 packages in 2s diff --git a/agents/magica/work/queue-329/development-gate/npm-webui.txt b/agents/magica/work/queue-329/development-gate/npm-webui.txt new file mode 100644 index 000000000..5f103c37a --- /dev/null +++ b/agents/magica/work/queue-329/development-gate/npm-webui.txt @@ -0,0 +1,5 @@ +command: ["npm", "ci", "--offline", "--ignore-scripts", "--no-audit", "--no-fund"] +TMPDIR: /mnt/storage/scratch/tmp/OS9Bg5 +launch nice: 19 + +added 2 packages in 222ms diff --git a/agents/magica/work/queue-329/development-gate/runs.jsonl b/agents/magica/work/queue-329/development-gate/runs.jsonl new file mode 100644 index 000000000..f40ea74b3 --- /dev/null +++ b/agents/magica/work/queue-329/development-gate/runs.jsonl @@ -0,0 +1,9 @@ +{"label": "npm-root", "rc": 0, "nice": 19, "seconds": 1.76, "log": "agents/magica/work/queue-329/gate/npm-root.txt"} +{"label": "npm-webui", "rc": 0, "nice": 19, "seconds": 0.27, "log": "agents/magica/work/queue-329/gate/npm-webui.txt"} +{"label": "model-proxy-client.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/model-proxy-client.test.txt"} +{"label": "model-proxy-config-unit.test", "rc": 0, "nice": 19, "seconds": 1.29, "log": "agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt"} +{"label": "model-proxy-fetch.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt"} +{"label": "model-proxy-runner.test", "rc": 0, "nice": 19, "seconds": 0.11, "log": "agents/magica/work/queue-329/gate/model-proxy-runner.test.txt"} +{"label": "model-proxy-settings.test", "rc": 0, "nice": 19, "seconds": 0.12, "log": "agents/magica/work/queue-329/gate/model-proxy-settings.test.txt"} +{"label": "bus-model-proxy.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-model-proxy.test.txt"} +{"label": "cli-model-proxy.test", "rc": 0, "nice": 19, "seconds": 0.19, "log": "agents/magica/work/queue-329/gate/cli-model-proxy.test.txt"} diff --git a/agents/magica/work/queue-329/final-counts.py b/agents/magica/work/queue-329/final-counts.py new file mode 100644 index 000000000..21c682346 --- /dev/null +++ b/agents/magica/work/queue-329/final-counts.py @@ -0,0 +1,43 @@ +# Reconcile final per-file evidence only; executes no tests. +from pathlib import Path +import json,re +BASE=Path(__file__).resolve().parent +REPO=BASE.parents[3] +OUT=BASE/'gate' +CLI_READERS={'host.test','stack-copy.test','stack-instances.test','stack-release-external.test','stack-release.test','stack-upgrade.test','verbs.test'} +all_receipts=[] +for file in [OUT/'runs.jsonl',OUT/'resume-mos1605-runs.jsonl']: + all_receipts += [json.loads(line) for line in file.read_text().splitlines()] +latest={r['label']:r for r in all_receipts} +def read(label): + r=latest[label];assert r['rc']==0 and r['nice']==19,r + text=(OUT/(label+'.txt')).read_text() + result={} + for key in ['tests','pass','fail','skipped','cancelled']: + m=re.search(r'^(?:ℹ |# )'+key+r' (\d+)',text,re.M);assert m,(label,key);result[key]=int(m.group(1)) + assert result['fail']==0 and result['cancelled']==0,(label,result) + return {'label':label,'log':str((OUT/(label+'.txt')).relative_to(REPO)),'counts':result,'rc':r['rc'],'nice':r['nice']} +groups={} +for suite in ['model-proxy','bus','cli']: + total={k:0 for k in ['tests','pass','fail','skipped','cancelled']};mapping=[] + for file in sorted((REPO/f'packages/{suite}/tests').glob('*.test.mjs')): + label=f'{suite}-{file.stem}' + if suite=='model-proxy' or suite=='cli' and file.stem in CLI_READERS:label='post-unit-fix-'+label + if suite=='cli' and file.stem=='case1-accept.test':label='cli-case1-accept.rerun-mos1605' + row=read(label);row['file']=str(file.relative_to(REPO));mapping.append(row) + for k in total:total[k]+=row['counts'][k] + groups[suite]={'files':len(mapping),**total,'mapping':mapping} + assert total['skipped']==(1 if suite=='cli' else 0),(suite,total) +groups['webui-pinned-copy']=read('post-unit-fix-webui-pinned-copy.test') +groups['federation-runner']=read('test-federation-acceptance.sh') +assert groups['federation-runner']['counts']['pass']==1 and groups['federation-runner']['counts']['skipped']==0 +assert latest['test-config.sh']['rc']==0 and 'selftest: 55 passed, 0 failed' in (OUT/'test-config.sh.txt').read_text() +groups['config-script']={'rc':0,'pass':55,'fail':0,'log':'agents/magica/work/queue-329/gate/test-config.sh.txt'} +groups['history']={'initialRed':'gate/cli-case1-accept.test.txt','diagnostic':'mos-1604:20focused+3whole,179pass,no gate credit','unchangedRerun':'mos-1605:53pass','cause':'F7 unknown; Vikunja625','landingGate':'Sage must independently pass'} +(OUT/'FINAL-COUNTS.json').write_text(json.dumps(groups,indent=2)+'\n') +lines=[] +for suite in ['model-proxy','bus','cli']: + g=groups[suite];lines.append(f"{suite}: {g['files']}files {g['tests']}tests {g['pass']}pass {g['fail']}fail {g['skipped']}skip {g['cancelled']}cancel") +lines += ['webui pinned-copy:10/10; config:55/55; federation runner:1/1 no skip.','CLI listed skip: packages/cli/tests/federation-acceptance.test.mjs, FED R7 scratch two-instance acceptance; covered by scripts/test-federation-acceptance.sh.','Initial old red and scratch diagnostic are preserved, not included in final pass totals.','One unchanged original rerun authorized by mos-1605 passed53/53; final unit-reader checks per sage-4251 all pass.','Sage landing gate must independently be green (mos-1583).'] +(OUT/'FINAL-COUNTS.txt').write_text('\n'.join(lines)+'\n') +print('\n'.join(lines)) diff --git a/agents/magica/work/queue-329/final-reader-progress.txt b/agents/magica/work/queue-329/final-reader-progress.txt new file mode 100644 index 000000000..81691ce22 --- /dev/null +++ b/agents/magica/work/queue-329/final-reader-progress.txt @@ -0,0 +1,6 @@ +{"label": "post-unit-fix-cli-host.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:39:03.617+00:00", "load1": "2.07"}, "end": {"utc": "2026-10-24T20:39:15.879+00:00", "load1": "2.05"}, "seconds": 12.262, "counts": {"tests": 43, "pass": 43, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.txt"} +{"label": "post-unit-fix-cli-stack-release-external.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:39:15.880+00:00", "load1": "2.05"}, "end": {"utc": "2026-10-24T20:40:39.646+00:00", "load1": "3.19"}, "seconds": 83.766, "counts": {"tests": 25, "pass": 25, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.txt"} +{"label": "post-unit-fix-cli-stack-release.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:40:39.648+00:00", "load1": "3.19"}, "end": {"utc": "2026-10-24T20:52:43.095+00:00", "load1": "6.67"}, "seconds": 723.448, "counts": {"tests": 224, "pass": 224, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.txt"} +{"label": "post-unit-fix-cli-stack-upgrade.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:52:43.099+00:00", "load1": "6.67"}, "end": {"utc": "2026-10-24T20:54:20.710+00:00", "load1": "7.47"}, "seconds": 97.612, "counts": {"tests": 21, "pass": 21, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.txt"} +{"label": "post-unit-fix-cli-verbs.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:54:20.712+00:00", "load1": "7.47"}, "end": {"utc": "2026-10-24T20:54:24.299+00:00", "load1": "7.47"}, "seconds": 3.587, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.txt"} +Final five reader files complete. diff --git a/agents/magica/work/queue-329/gate-progress.txt b/agents/magica/work/queue-329/gate-progress.txt new file mode 100644 index 000000000..abafe1c85 --- /dev/null +++ b/agents/magica/work/queue-329/gate-progress.txt @@ -0,0 +1,125 @@ +{"label": "model-proxy-client.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/model-proxy-client.test.txt"} +{"label": "model-proxy-config-unit.test", "rc": 0, "nice": 19, "seconds": 1.38, "log": "agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt"} +{"label": "model-proxy-fetch.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt"} +{"label": "model-proxy-runner.test", "rc": 0, "nice": 19, "seconds": 0.12, "log": "agents/magica/work/queue-329/gate/model-proxy-runner.test.txt"} +{"label": "model-proxy-settings.test", "rc": 0, "nice": 19, "seconds": 0.16, "log": "agents/magica/work/queue-329/gate/model-proxy-settings.test.txt"} +{"label": "bus-access-revoke.test", "rc": 0, "nice": 19, "seconds": 0.54, "log": "agents/magica/work/queue-329/gate/bus-access-revoke.test.txt"} +{"label": "bus-account-migration.test", "rc": 0, "nice": 19, "seconds": 0.44, "log": "agents/magica/work/queue-329/gate/bus-account-migration.test.txt"} +{"label": "bus-address.test", "rc": 0, "nice": 19, "seconds": 0.1, "log": "agents/magica/work/queue-329/gate/bus-address.test.txt"} +{"label": "bus-agents.test", "rc": 0, "nice": 19, "seconds": 0.48, "log": "agents/magica/work/queue-329/gate/bus-agents.test.txt"} +{"label": "bus-approval-binding.test", "rc": 0, "nice": 19, "seconds": 0.3, "log": "agents/magica/work/queue-329/gate/bus-approval-binding.test.txt"} +{"label": "bus-broker.test", "rc": 0, "nice": 19, "seconds": 0.49, "log": "agents/magica/work/queue-329/gate/bus-broker.test.txt"} +{"label": "bus-business.test", "rc": 0, "nice": 19, "seconds": 0.1, "log": "agents/magica/work/queue-329/gate/bus-business.test.txt"} +{"label": "bus-channel-proof.test", "rc": 0, "nice": 19, "seconds": 0.6, "log": "agents/magica/work/queue-329/gate/bus-channel-proof.test.txt"} +{"label": "bus-chief-of-staff.test", "rc": 0, "nice": 19, "seconds": 2.73, "log": "agents/magica/work/queue-329/gate/bus-chief-of-staff.test.txt"} +{"label": "bus-citation-availability.test", "rc": 0, "nice": 19, "seconds": 5.36, "log": "agents/magica/work/queue-329/gate/bus-citation-availability.test.txt"} +{"label": "bus-citation-guard.test", "rc": 0, "nice": 19, "seconds": 1.08, "log": "agents/magica/work/queue-329/gate/bus-citation-guard.test.txt"} +{"label": "bus-citation-runtime.test", "rc": 0, "nice": 19, "seconds": 0.31, "log": "agents/magica/work/queue-329/gate/bus-citation-runtime.test.txt"} +{"label": "bus-comment-cursors.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/bus-comment-cursors.test.txt"} +{"label": "bus-comment-migration.test", "rc": 0, "nice": 19, "seconds": 0.65, "log": "agents/magica/work/queue-329/gate/bus-comment-migration.test.txt"} +{"label": "bus-console-decide.test", "rc": 0, "nice": 19, "seconds": 0.87, "log": "agents/magica/work/queue-329/gate/bus-console-decide.test.txt"} +{"label": "bus-creative.test", "rc": 0, "nice": 19, "seconds": 0.41, "log": "agents/magica/work/queue-329/gate/bus-creative.test.txt"} +{"label": "bus-credential-claim.test", "rc": 0, "nice": 19, "seconds": 0.16, "log": "agents/magica/work/queue-329/gate/bus-credential-claim.test.txt"} +{"label": "bus-credential-status.test", "rc": 0, "nice": 19, "seconds": 0.37, "log": "agents/magica/work/queue-329/gate/bus-credential-status.test.txt"} +{"label": "bus-credential-store.test", "rc": 0, "nice": 19, "seconds": 0.17, "log": "agents/magica/work/queue-329/gate/bus-credential-store.test.txt"} +{"label": "bus-credential-verbs.test", "rc": 0, "nice": 19, "seconds": 0.34, "log": "agents/magica/work/queue-329/gate/bus-credential-verbs.test.txt"} +{"label": "bus-credentials.test", "rc": 0, "nice": 19, "seconds": 0.11, "log": "agents/magica/work/queue-329/gate/bus-credentials.test.txt"} +{"label": "bus-csuite-messaging.test", "rc": 0, "nice": 19, "seconds": 0.75, "log": "agents/magica/work/queue-329/gate/bus-csuite-messaging.test.txt"} +{"label": "bus-daily-quota-runtime.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-daily-quota-runtime.test.txt"} +{"label": "bus-decision-close.test", "rc": 0, "nice": 19, "seconds": 0.39, "log": "agents/magica/work/queue-329/gate/bus-decision-close.test.txt"} +{"label": "bus-decision-route.test", "rc": 0, "nice": 19, "seconds": 0.3, "log": "agents/magica/work/queue-329/gate/bus-decision-route.test.txt"} +{"label": "bus-decisions.test", "rc": 0, "nice": 19, "seconds": 0.47, "log": "agents/magica/work/queue-329/gate/bus-decisions.test.txt"} +{"label": "bus-end-launch.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-end-launch.test.txt"} +{"label": "bus-fire-revokes-grants.test", "rc": 0, "nice": 19, "seconds": 4.03, "log": "agents/magica/work/queue-329/gate/bus-fire-revokes-grants.test.txt"} +{"label": "bus-gitea-grant-docker.test", "rc": 0, "nice": 19, "seconds": 26.18, "log": "agents/magica/work/queue-329/gate/bus-gitea-grant-docker.test.txt"} +{"label": "bus-gitea-grant.test", "rc": 0, "nice": 19, "seconds": 11.98, "log": "agents/magica/work/queue-329/gate/bus-gitea-grant.test.txt"} +{"label": "bus-gitea-migration.test", "rc": 0, "nice": 19, "seconds": 0.44, "log": "agents/magica/work/queue-329/gate/bus-gitea-migration.test.txt"} +{"label": "bus-grant-enroll.test", "rc": 0, "nice": 19, "seconds": 1.81, "log": "agents/magica/work/queue-329/gate/bus-grant-enroll.test.txt"} +{"label": "bus-grant-executor.test", "rc": 0, "nice": 19, "seconds": 22.58, "log": "agents/magica/work/queue-329/gate/bus-grant-executor.test.txt"} +{"label": "bus-grant-host.test", "rc": 0, "nice": 19, "seconds": 0.46, "log": "agents/magica/work/queue-329/gate/bus-grant-host.test.txt"} +{"label": "bus-grant-migration.test", "rc": 0, "nice": 19, "seconds": 0.51, "log": "agents/magica/work/queue-329/gate/bus-grant-migration.test.txt"} +{"label": "bus-grant-scope-runtime.test", "rc": 0, "nice": 19, "seconds": 0.24, "log": "agents/magica/work/queue-329/gate/bus-grant-scope-runtime.test.txt"} +{"label": "bus-grant-scope.test", "rc": 0, "nice": 19, "seconds": 1.36, "log": "agents/magica/work/queue-329/gate/bus-grant-scope.test.txt"} +{"label": "bus-hard-waits.test", "rc": 0, "nice": 19, "seconds": 1.57, "log": "agents/magica/work/queue-329/gate/bus-hard-waits.test.txt"} +{"label": "bus-host-run.test", "rc": 0, "nice": 19, "seconds": 14.99, "log": "agents/magica/work/queue-329/gate/bus-host-run.test.txt"} +{"label": "bus-host-tools.test", "rc": 0, "nice": 19, "seconds": 3.94, "log": "agents/magica/work/queue-329/gate/bus-host-tools.test.txt"} +{"label": "bus-human.test", "rc": 0, "nice": 19, "seconds": 0.1, "log": "agents/magica/work/queue-329/gate/bus-human.test.txt"} +{"label": "bus-instances-verb.test", "rc": 0, "nice": 19, "seconds": 0.33, "log": "agents/magica/work/queue-329/gate/bus-instances-verb.test.txt"} +{"label": "bus-interpreter.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/bus-interpreter.test.txt"} +{"label": "bus-land.test", "rc": 0, "nice": 19, "seconds": 0.97, "log": "agents/magica/work/queue-329/gate/bus-land.test.txt"} +{"label": "bus-launch-notice.test", "rc": 0, "nice": 19, "seconds": 0.32, "log": "agents/magica/work/queue-329/gate/bus-launch-notice.test.txt"} +{"label": "bus-launcher-released.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-launcher-released.test.txt"} +{"label": "bus-library-credential.test", "rc": 0, "nice": 19, "seconds": 1.48, "log": "agents/magica/work/queue-329/gate/bus-library-credential.test.txt"} +{"label": "bus-library-lookups.test", "rc": 0, "nice": 19, "seconds": 1.31, "log": "agents/magica/work/queue-329/gate/bus-library-lookups.test.txt"} +{"label": "bus-library-sync.test", "rc": 0, "nice": 19, "seconds": 6.95, "log": "agents/magica/work/queue-329/gate/bus-library-sync.test.txt"} +{"label": "bus-library.test", "rc": 0, "nice": 19, "seconds": 0.72, "log": "agents/magica/work/queue-329/gate/bus-library.test.txt"} +{"label": "bus-lifecycle-revoke.test", "rc": 0, "nice": 19, "seconds": 0.8, "log": "agents/magica/work/queue-329/gate/bus-lifecycle-revoke.test.txt"} +{"label": "bus-lifecycle-verbs.test", "rc": 0, "nice": 19, "seconds": 0.6, "log": "agents/magica/work/queue-329/gate/bus-lifecycle-verbs.test.txt"} +{"label": "bus-limit-checks.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-limit-checks.test.txt"} +{"label": "bus-limit-stop.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-limit-stop.test.txt"} +{"label": "bus-limits-runtime.test", "rc": 0, "nice": 19, "seconds": 0.52, "log": "agents/magica/work/queue-329/gate/bus-limits-runtime.test.txt"} +{"label": "bus-limits.test", "rc": 0, "nice": 19, "seconds": 0.36, "log": "agents/magica/work/queue-329/gate/bus-limits.test.txt"} +{"label": "bus-message-citation.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/bus-message-citation.test.txt"} +{"label": "bus-message-filter.test", "rc": 0, "nice": 19, "seconds": 0.61, "log": "agents/magica/work/queue-329/gate/bus-message-filter.test.txt"} +{"label": "bus-messages.test", "rc": 0, "nice": 19, "seconds": 0.56, "log": "agents/magica/work/queue-329/gate/bus-messages.test.txt"} +{"label": "bus-messaging.test", "rc": 0, "nice": 19, "seconds": 0.6, "log": "agents/magica/work/queue-329/gate/bus-messaging.test.txt"} +{"label": "bus-model-proxy.test", "rc": 0, "nice": 19, "seconds": 0.28, "log": "agents/magica/work/queue-329/gate/bus-model-proxy.test.txt"} +{"label": "bus-name-migration.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/bus-name-migration.test.txt"} +{"label": "bus-names.test", "rc": 0, "nice": 19, "seconds": 0.29, "log": "agents/magica/work/queue-329/gate/bus-names.test.txt"} +{"label": "bus-peer-transport.test", "rc": 0, "nice": 19, "seconds": 0.19, "log": "agents/magica/work/queue-329/gate/bus-peer-transport.test.txt"} +{"label": "bus-peercred.test", "rc": 0, "nice": 19, "seconds": 0.43, "log": "agents/magica/work/queue-329/gate/bus-peercred.test.txt"} +{"label": "bus-plugins-verb.test", "rc": 0, "nice": 19, "seconds": 0.3, "log": "agents/magica/work/queue-329/gate/bus-plugins-verb.test.txt"} +{"label": "bus-principal.test", "rc": 0, "nice": 19, "seconds": 0.09, "log": "agents/magica/work/queue-329/gate/bus-principal.test.txt"} +{"label": "bus-process.test", "rc": 0, "nice": 19, "seconds": 1.43, "log": "agents/magica/work/queue-329/gate/bus-process.test.txt"} +{"label": "bus-processing-runtime.test", "rc": 0, "nice": 19, "seconds": 0.41, "log": "agents/magica/work/queue-329/gate/bus-processing-runtime.test.txt"} +{"label": "bus-processing-timeout.test", "rc": 0, "nice": 19, "seconds": 0.28, "log": "agents/magica/work/queue-329/gate/bus-processing-timeout.test.txt"} +{"label": "bus-processing-web.test", "rc": 0, "nice": 19, "seconds": 0.14, "log": "agents/magica/work/queue-329/gate/bus-processing-web.test.txt"} +{"label": "bus-processing.test", "rc": 0, "nice": 19, "seconds": 0.39, "log": "agents/magica/work/queue-329/gate/bus-processing.test.txt"} +{"label": "bus-project-await.test", "rc": 0, "nice": 19, "seconds": 0.18, "log": "agents/magica/work/queue-329/gate/bus-project-await.test.txt"} +{"label": "bus-project-files.test", "rc": 0, "nice": 19, "seconds": 0.92, "log": "agents/magica/work/queue-329/gate/bus-project-files.test.txt"} +{"label": "bus-project-runtime.test", "rc": 0, "nice": 19, "seconds": 0.41, "log": "agents/magica/work/queue-329/gate/bus-project-runtime.test.txt"} +{"label": "bus-publish.test", "rc": 0, "nice": 19, "seconds": 0.8, "log": "agents/magica/work/queue-329/gate/bus-publish.test.txt"} +{"label": "bus-reload.test", "rc": 0, "nice": 19, "seconds": 1.04, "log": "agents/magica/work/queue-329/gate/bus-reload.test.txt"} +{"label": "bus-replies.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-replies.test.txt"} +{"label": "bus-requirements.test", "rc": 0, "nice": 19, "seconds": 0.2, "log": "agents/magica/work/queue-329/gate/bus-requirements.test.txt"} +{"label": "bus-review.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-review.test.txt"} +{"label": "bus-revoke-window.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-revoke-window.test.txt"} +{"label": "bus-room-check.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/bus-room-check.test.txt"} +{"label": "bus-rooms.test", "rc": 0, "nice": 19, "seconds": 1.1, "log": "agents/magica/work/queue-329/gate/bus-rooms.test.txt"} +{"label": "bus-routes-verb.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-routes-verb.test.txt"} +{"label": "bus-schema.test", "rc": 0, "nice": 19, "seconds": 0.17, "log": "agents/magica/work/queue-329/gate/bus-schema.test.txt"} +{"label": "bus-session-clear.test", "rc": 0, "nice": 19, "seconds": 0.87, "log": "agents/magica/work/queue-329/gate/bus-session-clear.test.txt"} +{"label": "bus-session-compactions.test", "rc": 0, "nice": 19, "seconds": 0.19, "log": "agents/magica/work/queue-329/gate/bus-session-compactions.test.txt"} +{"label": "bus-sessions.test", "rc": 0, "nice": 19, "seconds": 0.65, "log": "agents/magica/work/queue-329/gate/bus-sessions.test.txt"} +{"label": "bus-single-use.test", "rc": 0, "nice": 19, "seconds": 0.43, "log": "agents/magica/work/queue-329/gate/bus-single-use.test.txt"} +{"label": "bus-spec-migration.test", "rc": 0, "nice": 19, "seconds": 0.23, "log": "agents/magica/work/queue-329/gate/bus-spec-migration.test.txt"} +{"label": "bus-spec-review.test", "rc": 0, "nice": 19, "seconds": 1.26, "log": "agents/magica/work/queue-329/gate/bus-spec-review.test.txt"} +{"label": "bus-spec-socket.test", "rc": 0, "nice": 19, "seconds": 0.74, "log": "agents/magica/work/queue-329/gate/bus-spec-socket.test.txt"} +{"label": "bus-spec.test", "rc": 0, "nice": 19, "seconds": 0.46, "log": "agents/magica/work/queue-329/gate/bus-spec.test.txt"} +{"label": "bus-staff-request.test", "rc": 0, "nice": 19, "seconds": 0.46, "log": "agents/magica/work/queue-329/gate/bus-staff-request.test.txt"} +{"label": "bus-state.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-state.test.txt"} +{"label": "bus-store.test", "rc": 0, "nice": 19, "seconds": 0.27, "log": "agents/magica/work/queue-329/gate/bus-store.test.txt"} +{"label": "bus-task-page.test", "rc": 0, "nice": 19, "seconds": 1.11, "log": "agents/magica/work/queue-329/gate/bus-task-page.test.txt"} +{"label": "bus-task-read.test", "rc": 0, "nice": 19, "seconds": 0.22, "log": "agents/magica/work/queue-329/gate/bus-task-read.test.txt"} +{"label": "bus-tasks.test", "rc": 0, "nice": 19, "seconds": 1.18, "log": "agents/magica/work/queue-329/gate/bus-tasks.test.txt"} +{"label": "bus-tester-threads.test", "rc": 0, "nice": 19, "seconds": 0.52, "log": "agents/magica/work/queue-329/gate/bus-tester-threads.test.txt"} +{"label": "bus-tester-writes.test", "rc": 0, "nice": 19, "seconds": 0.61, "log": "agents/magica/work/queue-329/gate/bus-tester-writes.test.txt"} +{"label": "bus-tester.test", "rc": 0, "nice": 19, "seconds": 1.8, "log": "agents/magica/work/queue-329/gate/bus-tester.test.txt"} +{"label": "bus-thread-claims.test", "rc": 0, "nice": 19, "seconds": 0.26, "log": "agents/magica/work/queue-329/gate/bus-thread-claims.test.txt"} +{"label": "bus-thread-migration.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-thread-migration.test.txt"} +{"label": "bus-thread-shares.test", "rc": 0, "nice": 19, "seconds": 0.81, "log": "agents/magica/work/queue-329/gate/bus-thread-shares.test.txt"} +{"label": "bus-threads.test", "rc": 0, "nice": 19, "seconds": 1.41, "log": "agents/magica/work/queue-329/gate/bus-threads.test.txt"} +{"label": "bus-transport.test", "rc": 0, "nice": 19, "seconds": 0.28, "log": "agents/magica/work/queue-329/gate/bus-transport.test.txt"} +{"label": "bus-usage-broker.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/bus-usage-broker.test.txt"} +{"label": "bus-usage-migration.test", "rc": 0, "nice": 19, "seconds": 0.63, "log": "agents/magica/work/queue-329/gate/bus-usage-migration.test.txt"} +{"label": "bus-usage-runtime.test", "rc": 0, "nice": 19, "seconds": 0.26, "log": "agents/magica/work/queue-329/gate/bus-usage-runtime.test.txt"} +{"label": "bus-usage.test", "rc": 0, "nice": 19, "seconds": 0.38, "log": "agents/magica/work/queue-329/gate/bus-usage.test.txt"} +{"label": "bus-user-principal.test", "rc": 0, "nice": 19, "seconds": 1.01, "log": "agents/magica/work/queue-329/gate/bus-user-principal.test.txt"} +{"label": "bus-viewer.test", "rc": 0, "nice": 19, "seconds": 0.65, "log": "agents/magica/work/queue-329/gate/bus-viewer.test.txt"} +{"label": "bus-web.test", "rc": 0, "nice": 19, "seconds": 1.18, "log": "agents/magica/work/queue-329/gate/bus-web.test.txt"} +{"label": "bus-workflow-roles.test", "rc": 0, "nice": 19, "seconds": 0.24, "log": "agents/magica/work/queue-329/gate/bus-workflow-roles.test.txt"} +{"label": "cli-access-boot.test", "rc": 0, "nice": 19, "seconds": 0.5, "log": "agents/magica/work/queue-329/gate/cli-access-boot.test.txt"} +{"label": "cli-access.test", "rc": 0, "nice": 19, "seconds": 7.0, "log": "agents/magica/work/queue-329/gate/cli-access.test.txt"} +{"label": "cli-app.test", "rc": 0, "nice": 19, "seconds": 14.19, "log": "agents/magica/work/queue-329/gate/cli-app.test.txt"} +{"label": "cli-boot-status.test", "rc": 0, "nice": 19, "seconds": 1.35, "log": "agents/magica/work/queue-329/gate/cli-boot-status.test.txt"} +{"label": "cli-case1-accept.test", "rc": 1, "nice": 19, "seconds": 252.61, "log": "agents/magica/work/queue-329/gate/cli-case1-accept.test.txt"} diff --git a/agents/magica/work/queue-329/gate/FINAL-COUNTS.json b/agents/magica/work/queue-329/gate/FINAL-COUNTS.json new file mode 100644 index 000000000..16c6ffc70 --- /dev/null +++ b/agents/magica/work/queue-329/gate/FINAL-COUNTS.json @@ -0,0 +1,2717 @@ +{ + "model-proxy": { + "files": 5, + "tests": 61, + "pass": 61, + "fail": 0, + "skipped": 0, + "cancelled": 0, + "mapping": [ + { + "label": "post-unit-fix-model-proxy-client.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-client.test.txt", + "counts": { + "tests": 16, + "pass": 16, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/model-proxy/tests/client.test.mjs" + }, + { + "label": "post-unit-fix-model-proxy-config-unit.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-config-unit.test.txt", + "counts": { + "tests": 15, + "pass": 15, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/model-proxy/tests/config-unit.test.mjs" + }, + { + "label": "post-unit-fix-model-proxy-fetch.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-fetch.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/model-proxy/tests/fetch.test.mjs" + }, + { + "label": "post-unit-fix-model-proxy-runner.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-runner.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/model-proxy/tests/runner.test.mjs" + }, + { + "label": "post-unit-fix-model-proxy-settings.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-settings.test.txt", + "counts": { + "tests": 19, + "pass": 19, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/model-proxy/tests/settings.test.mjs" + } + ] + }, + "bus": { + "files": 115, + "tests": 1018, + "pass": 1018, + "fail": 0, + "skipped": 0, + "cancelled": 0, + "mapping": [ + { + "label": "bus-access-revoke.test", + "log": "agents/magica/work/queue-329/gate/bus-access-revoke.test.txt", + "counts": { + "tests": 10, + "pass": 10, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/access-revoke.test.mjs" + }, + { + "label": "bus-account-migration.test", + "log": "agents/magica/work/queue-329/gate/bus-account-migration.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/account-migration.test.mjs" + }, + { + "label": "bus-address.test", + "log": "agents/magica/work/queue-329/gate/bus-address.test.txt", + "counts": { + "tests": 15, + "pass": 15, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/address.test.mjs" + }, + { + "label": "bus-agents.test", + "log": "agents/magica/work/queue-329/gate/bus-agents.test.txt", + "counts": { + "tests": 11, + "pass": 11, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/agents.test.mjs" + }, + { + "label": "bus-approval-binding.test", + "log": "agents/magica/work/queue-329/gate/bus-approval-binding.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/approval-binding.test.mjs" + }, + { + "label": "bus-broker.test", + "log": "agents/magica/work/queue-329/gate/bus-broker.test.txt", + "counts": { + "tests": 16, + "pass": 16, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/broker.test.mjs" + }, + { + "label": "bus-business.test", + "log": "agents/magica/work/queue-329/gate/bus-business.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/business.test.mjs" + }, + { + "label": "bus-channel-proof.test", + "log": "agents/magica/work/queue-329/gate/bus-channel-proof.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/channel-proof.test.mjs" + }, + { + "label": "bus-chief-of-staff.test", + "log": "agents/magica/work/queue-329/gate/bus-chief-of-staff.test.txt", + "counts": { + "tests": 42, + "pass": 42, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/chief-of-staff.test.mjs" + }, + { + "label": "bus-citation-availability.test", + "log": "agents/magica/work/queue-329/gate/bus-citation-availability.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/citation-availability.test.mjs" + }, + { + "label": "bus-citation-guard.test", + "log": "agents/magica/work/queue-329/gate/bus-citation-guard.test.txt", + "counts": { + "tests": 13, + "pass": 13, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/citation-guard.test.mjs" + }, + { + "label": "bus-citation-runtime.test", + "log": "agents/magica/work/queue-329/gate/bus-citation-runtime.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/citation-runtime.test.mjs" + }, + { + "label": "bus-comment-cursors.test", + "log": "agents/magica/work/queue-329/gate/bus-comment-cursors.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/comment-cursors.test.mjs" + }, + { + "label": "bus-comment-migration.test", + "log": "agents/magica/work/queue-329/gate/bus-comment-migration.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/comment-migration.test.mjs" + }, + { + "label": "bus-console-decide.test", + "log": "agents/magica/work/queue-329/gate/bus-console-decide.test.txt", + "counts": { + "tests": 12, + "pass": 12, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/console-decide.test.mjs" + }, + { + "label": "bus-creative.test", + "log": "agents/magica/work/queue-329/gate/bus-creative.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/creative.test.mjs" + }, + { + "label": "bus-credential-claim.test", + "log": "agents/magica/work/queue-329/gate/bus-credential-claim.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/credential-claim.test.mjs" + }, + { + "label": "bus-credential-status.test", + "log": "agents/magica/work/queue-329/gate/bus-credential-status.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/credential-status.test.mjs" + }, + { + "label": "bus-credential-store.test", + "log": "agents/magica/work/queue-329/gate/bus-credential-store.test.txt", + "counts": { + "tests": 12, + "pass": 12, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/credential-store.test.mjs" + }, + { + "label": "bus-credential-verbs.test", + "log": "agents/magica/work/queue-329/gate/bus-credential-verbs.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/credential-verbs.test.mjs" + }, + { + "label": "bus-credentials.test", + "log": "agents/magica/work/queue-329/gate/bus-credentials.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/credentials.test.mjs" + }, + { + "label": "bus-csuite-messaging.test", + "log": "agents/magica/work/queue-329/gate/bus-csuite-messaging.test.txt", + "counts": { + "tests": 16, + "pass": 16, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/csuite-messaging.test.mjs" + }, + { + "label": "bus-daily-quota-runtime.test", + "log": "agents/magica/work/queue-329/gate/bus-daily-quota-runtime.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/daily-quota-runtime.test.mjs" + }, + { + "label": "bus-decision-close.test", + "log": "agents/magica/work/queue-329/gate/bus-decision-close.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/decision-close.test.mjs" + }, + { + "label": "bus-decision-route.test", + "log": "agents/magica/work/queue-329/gate/bus-decision-route.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/decision-route.test.mjs" + }, + { + "label": "bus-decisions.test", + "log": "agents/magica/work/queue-329/gate/bus-decisions.test.txt", + "counts": { + "tests": 7, + "pass": 7, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/decisions.test.mjs" + }, + { + "label": "bus-end-launch.test", + "log": "agents/magica/work/queue-329/gate/bus-end-launch.test.txt", + "counts": { + "tests": 7, + "pass": 7, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/end-launch.test.mjs" + }, + { + "label": "bus-fire-revokes-grants.test", + "log": "agents/magica/work/queue-329/gate/bus-fire-revokes-grants.test.txt", + "counts": { + "tests": 24, + "pass": 24, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/fire-revokes-grants.test.mjs" + }, + { + "label": "bus-gitea-grant-docker.test", + "log": "agents/magica/work/queue-329/gate/bus-gitea-grant-docker.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/gitea-grant-docker.test.mjs" + }, + { + "label": "bus-gitea-grant.test", + "log": "agents/magica/work/queue-329/gate/bus-gitea-grant.test.txt", + "counts": { + "tests": 66, + "pass": 66, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/gitea-grant.test.mjs" + }, + { + "label": "bus-gitea-migration.test", + "log": "agents/magica/work/queue-329/gate/bus-gitea-migration.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/gitea-migration.test.mjs" + }, + { + "label": "bus-grant-enroll.test", + "log": "agents/magica/work/queue-329/gate/bus-grant-enroll.test.txt", + "counts": { + "tests": 24, + "pass": 24, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/grant-enroll.test.mjs" + }, + { + "label": "bus-grant-executor.test", + "log": "agents/magica/work/queue-329/gate/bus-grant-executor.test.txt", + "counts": { + "tests": 42, + "pass": 42, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/grant-executor.test.mjs" + }, + { + "label": "bus-grant-host.test", + "log": "agents/magica/work/queue-329/gate/bus-grant-host.test.txt", + "counts": { + "tests": 10, + "pass": 10, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/grant-host.test.mjs" + }, + { + "label": "bus-grant-migration.test", + "log": "agents/magica/work/queue-329/gate/bus-grant-migration.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/grant-migration.test.mjs" + }, + { + "label": "bus-grant-scope-runtime.test", + "log": "agents/magica/work/queue-329/gate/bus-grant-scope-runtime.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/grant-scope-runtime.test.mjs" + }, + { + "label": "bus-grant-scope.test", + "log": "agents/magica/work/queue-329/gate/bus-grant-scope.test.txt", + "counts": { + "tests": 14, + "pass": 14, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/grant-scope.test.mjs" + }, + { + "label": "bus-hard-waits.test", + "log": "agents/magica/work/queue-329/gate/bus-hard-waits.test.txt", + "counts": { + "tests": 13, + "pass": 13, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/hard-waits.test.mjs" + }, + { + "label": "bus-host-run.test", + "log": "agents/magica/work/queue-329/gate/bus-host-run.test.txt", + "counts": { + "tests": 26, + "pass": 26, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/host-run.test.mjs" + }, + { + "label": "bus-host-tools.test", + "log": "agents/magica/work/queue-329/gate/bus-host-tools.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/host-tools.test.mjs" + }, + { + "label": "bus-human.test", + "log": "agents/magica/work/queue-329/gate/bus-human.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/human.test.mjs" + }, + { + "label": "bus-instances-verb.test", + "log": "agents/magica/work/queue-329/gate/bus-instances-verb.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/instances-verb.test.mjs" + }, + { + "label": "bus-interpreter.test", + "log": "agents/magica/work/queue-329/gate/bus-interpreter.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/interpreter.test.mjs" + }, + { + "label": "bus-land.test", + "log": "agents/magica/work/queue-329/gate/bus-land.test.txt", + "counts": { + "tests": 18, + "pass": 18, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/land.test.mjs" + }, + { + "label": "bus-launch-notice.test", + "log": "agents/magica/work/queue-329/gate/bus-launch-notice.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/launch-notice.test.mjs" + }, + { + "label": "bus-launcher-released.test", + "log": "agents/magica/work/queue-329/gate/bus-launcher-released.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/launcher-released.test.mjs" + }, + { + "label": "bus-library-credential.test", + "log": "agents/magica/work/queue-329/gate/bus-library-credential.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/library-credential.test.mjs" + }, + { + "label": "bus-library-lookups.test", + "log": "agents/magica/work/queue-329/gate/bus-library-lookups.test.txt", + "counts": { + "tests": 11, + "pass": 11, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/library-lookups.test.mjs" + }, + { + "label": "bus-library-sync.test", + "log": "agents/magica/work/queue-329/gate/bus-library-sync.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/library-sync.test.mjs" + }, + { + "label": "bus-library.test", + "log": "agents/magica/work/queue-329/gate/bus-library.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/library.test.mjs" + }, + { + "label": "bus-lifecycle-revoke.test", + "log": "agents/magica/work/queue-329/gate/bus-lifecycle-revoke.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/lifecycle-revoke.test.mjs" + }, + { + "label": "bus-lifecycle-verbs.test", + "log": "agents/magica/work/queue-329/gate/bus-lifecycle-verbs.test.txt", + "counts": { + "tests": 13, + "pass": 13, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/lifecycle-verbs.test.mjs" + }, + { + "label": "bus-limit-checks.test", + "log": "agents/magica/work/queue-329/gate/bus-limit-checks.test.txt", + "counts": { + "tests": 16, + "pass": 16, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/limit-checks.test.mjs" + }, + { + "label": "bus-limit-stop.test", + "log": "agents/magica/work/queue-329/gate/bus-limit-stop.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/limit-stop.test.mjs" + }, + { + "label": "bus-limits-runtime.test", + "log": "agents/magica/work/queue-329/gate/bus-limits-runtime.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/limits-runtime.test.mjs" + }, + { + "label": "bus-limits.test", + "log": "agents/magica/work/queue-329/gate/bus-limits.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/limits.test.mjs" + }, + { + "label": "bus-message-citation.test", + "log": "agents/magica/work/queue-329/gate/bus-message-citation.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/message-citation.test.mjs" + }, + { + "label": "bus-message-filter.test", + "log": "agents/magica/work/queue-329/gate/bus-message-filter.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/message-filter.test.mjs" + }, + { + "label": "bus-messages.test", + "log": "agents/magica/work/queue-329/gate/bus-messages.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/messages.test.mjs" + }, + { + "label": "bus-messaging.test", + "log": "agents/magica/work/queue-329/gate/bus-messaging.test.txt", + "counts": { + "tests": 13, + "pass": 13, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/messaging.test.mjs" + }, + { + "label": "bus-model-proxy.test", + "log": "agents/magica/work/queue-329/gate/bus-model-proxy.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/model-proxy.test.mjs" + }, + { + "label": "bus-name-migration.test", + "log": "agents/magica/work/queue-329/gate/bus-name-migration.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/name-migration.test.mjs" + }, + { + "label": "bus-names.test", + "log": "agents/magica/work/queue-329/gate/bus-names.test.txt", + "counts": { + "tests": 7, + "pass": 7, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/names.test.mjs" + }, + { + "label": "bus-peer-transport.test", + "log": "agents/magica/work/queue-329/gate/bus-peer-transport.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/peer-transport.test.mjs" + }, + { + "label": "bus-peercred.test", + "log": "agents/magica/work/queue-329/gate/bus-peercred.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/peercred.test.mjs" + }, + { + "label": "bus-plugins-verb.test", + "log": "agents/magica/work/queue-329/gate/bus-plugins-verb.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/plugins-verb.test.mjs" + }, + { + "label": "bus-principal.test", + "log": "agents/magica/work/queue-329/gate/bus-principal.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/principal.test.mjs" + }, + { + "label": "bus-process.test", + "log": "agents/magica/work/queue-329/gate/bus-process.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/process.test.mjs" + }, + { + "label": "bus-processing-runtime.test", + "log": "agents/magica/work/queue-329/gate/bus-processing-runtime.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/processing-runtime.test.mjs" + }, + { + "label": "bus-processing-timeout.test", + "log": "agents/magica/work/queue-329/gate/bus-processing-timeout.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/processing-timeout.test.mjs" + }, + { + "label": "bus-processing-web.test", + "log": "agents/magica/work/queue-329/gate/bus-processing-web.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/processing-web.test.mjs" + }, + { + "label": "bus-processing.test", + "log": "agents/magica/work/queue-329/gate/bus-processing.test.txt", + "counts": { + "tests": 14, + "pass": 14, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/processing.test.mjs" + }, + { + "label": "bus-project-await.test", + "log": "agents/magica/work/queue-329/gate/bus-project-await.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/project-await.test.mjs" + }, + { + "label": "bus-project-files.test", + "log": "agents/magica/work/queue-329/gate/bus-project-files.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/project-files.test.mjs" + }, + { + "label": "bus-project-runtime.test", + "log": "agents/magica/work/queue-329/gate/bus-project-runtime.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/project-runtime.test.mjs" + }, + { + "label": "bus-publish.test", + "log": "agents/magica/work/queue-329/gate/bus-publish.test.txt", + "counts": { + "tests": 13, + "pass": 13, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/publish.test.mjs" + }, + { + "label": "bus-reload.test", + "log": "agents/magica/work/queue-329/gate/bus-reload.test.txt", + "counts": { + "tests": 10, + "pass": 10, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/reload.test.mjs" + }, + { + "label": "bus-replies.test", + "log": "agents/magica/work/queue-329/gate/bus-replies.test.txt", + "counts": { + "tests": 7, + "pass": 7, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/replies.test.mjs" + }, + { + "label": "bus-requirements.test", + "log": "agents/magica/work/queue-329/gate/bus-requirements.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/requirements.test.mjs" + }, + { + "label": "bus-review.test", + "log": "agents/magica/work/queue-329/gate/bus-review.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/review.test.mjs" + }, + { + "label": "bus-revoke-window.test", + "log": "agents/magica/work/queue-329/gate/bus-revoke-window.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/revoke-window.test.mjs" + }, + { + "label": "bus-room-check.test", + "log": "agents/magica/work/queue-329/gate/bus-room-check.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/room-check.test.mjs" + }, + { + "label": "bus-rooms.test", + "log": "agents/magica/work/queue-329/gate/bus-rooms.test.txt", + "counts": { + "tests": 18, + "pass": 18, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/rooms.test.mjs" + }, + { + "label": "bus-routes-verb.test", + "log": "agents/magica/work/queue-329/gate/bus-routes-verb.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/routes-verb.test.mjs" + }, + { + "label": "bus-schema.test", + "log": "agents/magica/work/queue-329/gate/bus-schema.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/schema.test.mjs" + }, + { + "label": "bus-session-clear.test", + "log": "agents/magica/work/queue-329/gate/bus-session-clear.test.txt", + "counts": { + "tests": 19, + "pass": 19, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/session-clear.test.mjs" + }, + { + "label": "bus-session-compactions.test", + "log": "agents/magica/work/queue-329/gate/bus-session-compactions.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/session-compactions.test.mjs" + }, + { + "label": "bus-sessions.test", + "log": "agents/magica/work/queue-329/gate/bus-sessions.test.txt", + "counts": { + "tests": 7, + "pass": 7, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/sessions.test.mjs" + }, + { + "label": "bus-single-use.test", + "log": "agents/magica/work/queue-329/gate/bus-single-use.test.txt", + "counts": { + "tests": 12, + "pass": 12, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/single-use.test.mjs" + }, + { + "label": "bus-spec-migration.test", + "log": "agents/magica/work/queue-329/gate/bus-spec-migration.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/spec-migration.test.mjs" + }, + { + "label": "bus-spec-review.test", + "log": "agents/magica/work/queue-329/gate/bus-spec-review.test.txt", + "counts": { + "tests": 12, + "pass": 12, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/spec-review.test.mjs" + }, + { + "label": "bus-spec-socket.test", + "log": "agents/magica/work/queue-329/gate/bus-spec-socket.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/spec-socket.test.mjs" + }, + { + "label": "bus-spec.test", + "log": "agents/magica/work/queue-329/gate/bus-spec.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/spec.test.mjs" + }, + { + "label": "bus-staff-request.test", + "log": "agents/magica/work/queue-329/gate/bus-staff-request.test.txt", + "counts": { + "tests": 10, + "pass": 10, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/staff-request.test.mjs" + }, + { + "label": "bus-state.test", + "log": "agents/magica/work/queue-329/gate/bus-state.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/state.test.mjs" + }, + { + "label": "bus-store.test", + "log": "agents/magica/work/queue-329/gate/bus-store.test.txt", + "counts": { + "tests": 7, + "pass": 7, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/store.test.mjs" + }, + { + "label": "bus-task-page.test", + "log": "agents/magica/work/queue-329/gate/bus-task-page.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/task-page.test.mjs" + }, + { + "label": "bus-task-read.test", + "log": "agents/magica/work/queue-329/gate/bus-task-read.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/task-read.test.mjs" + }, + { + "label": "bus-tasks.test", + "log": "agents/magica/work/queue-329/gate/bus-tasks.test.txt", + "counts": { + "tests": 9, + "pass": 9, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/tasks.test.mjs" + }, + { + "label": "bus-tester-threads.test", + "log": "agents/magica/work/queue-329/gate/bus-tester-threads.test.txt", + "counts": { + "tests": 15, + "pass": 15, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/tester-threads.test.mjs" + }, + { + "label": "bus-tester-writes.test", + "log": "agents/magica/work/queue-329/gate/bus-tester-writes.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/tester-writes.test.mjs" + }, + { + "label": "bus-tester.test", + "log": "agents/magica/work/queue-329/gate/bus-tester.test.txt", + "counts": { + "tests": 14, + "pass": 14, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/tester.test.mjs" + }, + { + "label": "bus-thread-claims.test", + "log": "agents/magica/work/queue-329/gate/bus-thread-claims.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/thread-claims.test.mjs" + }, + { + "label": "bus-thread-migration.test", + "log": "agents/magica/work/queue-329/gate/bus-thread-migration.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/thread-migration.test.mjs" + }, + { + "label": "bus-thread-shares.test", + "log": "agents/magica/work/queue-329/gate/bus-thread-shares.test.txt", + "counts": { + "tests": 16, + "pass": 16, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/thread-shares.test.mjs" + }, + { + "label": "bus-threads.test", + "log": "agents/magica/work/queue-329/gate/bus-threads.test.txt", + "counts": { + "tests": 20, + "pass": 20, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/threads.test.mjs" + }, + { + "label": "bus-transport.test", + "log": "agents/magica/work/queue-329/gate/bus-transport.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/transport.test.mjs" + }, + { + "label": "bus-usage-broker.test", + "log": "agents/magica/work/queue-329/gate/bus-usage-broker.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/usage-broker.test.mjs" + }, + { + "label": "bus-usage-migration.test", + "log": "agents/magica/work/queue-329/gate/bus-usage-migration.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/usage-migration.test.mjs" + }, + { + "label": "bus-usage-runtime.test", + "log": "agents/magica/work/queue-329/gate/bus-usage-runtime.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/usage-runtime.test.mjs" + }, + { + "label": "bus-usage.test", + "log": "agents/magica/work/queue-329/gate/bus-usage.test.txt", + "counts": { + "tests": 15, + "pass": 15, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/usage.test.mjs" + }, + { + "label": "bus-user-principal.test", + "log": "agents/magica/work/queue-329/gate/bus-user-principal.test.txt", + "counts": { + "tests": 24, + "pass": 24, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/user-principal.test.mjs" + }, + { + "label": "bus-viewer.test", + "log": "agents/magica/work/queue-329/gate/bus-viewer.test.txt", + "counts": { + "tests": 7, + "pass": 7, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/viewer.test.mjs" + }, + { + "label": "bus-web.test", + "log": "agents/magica/work/queue-329/gate/bus-web.test.txt", + "counts": { + "tests": 19, + "pass": 19, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/web.test.mjs" + }, + { + "label": "bus-workflow-roles.test", + "log": "agents/magica/work/queue-329/gate/bus-workflow-roles.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/bus/tests/workflow-roles.test.mjs" + } + ] + }, + "cli": { + "files": 69, + "tests": 1000, + "pass": 999, + "fail": 0, + "skipped": 1, + "cancelled": 0, + "mapping": [ + { + "label": "cli-access-boot.test", + "log": "agents/magica/work/queue-329/gate/cli-access-boot.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/access-boot.test.mjs" + }, + { + "label": "cli-access.test", + "log": "agents/magica/work/queue-329/gate/cli-access.test.txt", + "counts": { + "tests": 34, + "pass": 34, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/access.test.mjs" + }, + { + "label": "cli-app.test", + "log": "agents/magica/work/queue-329/gate/cli-app.test.txt", + "counts": { + "tests": 30, + "pass": 30, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/app.test.mjs" + }, + { + "label": "cli-boot-status.test", + "log": "agents/magica/work/queue-329/gate/cli-boot-status.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/boot-status.test.mjs" + }, + { + "label": "cli-case1-accept.rerun-mos1605", + "log": "agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.txt", + "counts": { + "tests": 53, + "pass": 53, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/case1-accept.test.mjs" + }, + { + "label": "cli-case1-hostcheck.test", + "log": "agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.txt", + "counts": { + "tests": 19, + "pass": 19, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/case1-hostcheck.test.mjs" + }, + { + "label": "cli-case2-install.test", + "log": "agents/magica/work/queue-329/gate/cli-case2-install.test.txt", + "counts": { + "tests": 27, + "pass": 27, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/case2-install.test.mjs" + }, + { + "label": "cli-case2-persona-import.test", + "log": "agents/magica/work/queue-329/gate/cli-case2-persona-import.test.txt", + "counts": { + "tests": 14, + "pass": 14, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/case2-persona-import.test.mjs" + }, + { + "label": "cli-case2-unit.test", + "log": "agents/magica/work/queue-329/gate/cli-case2-unit.test.txt", + "counts": { + "tests": 47, + "pass": 47, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/case2-unit.test.mjs" + }, + { + "label": "cli-channel-cli.test", + "log": "agents/magica/work/queue-329/gate/cli-channel-cli.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/channel-cli.test.mjs" + }, + { + "label": "cli-channel-recovery.test", + "log": "agents/magica/work/queue-329/gate/cli-channel-recovery.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/channel-recovery.test.mjs" + }, + { + "label": "cli-cli.test", + "log": "agents/magica/work/queue-329/gate/cli-cli.test.txt", + "counts": { + "tests": 12, + "pass": 12, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/cli.test.mjs" + }, + { + "label": "cli-compactions-launch.test", + "log": "agents/magica/work/queue-329/gate/cli-compactions-launch.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/compactions-launch.test.mjs" + }, + { + "label": "cli-config.test", + "log": "agents/magica/work/queue-329/gate/cli-config.test.txt", + "counts": { + "tests": 7, + "pass": 7, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/config.test.mjs" + }, + { + "label": "cli-credentials.test", + "log": "agents/magica/work/queue-329/gate/cli-credentials.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/credentials.test.mjs" + }, + { + "label": "cli-federation-acceptance.test", + "log": "agents/magica/work/queue-329/gate/cli-federation-acceptance.test.txt", + "counts": { + "tests": 1, + "pass": 0, + "fail": 0, + "skipped": 1, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/federation-acceptance.test.mjs" + }, + { + "label": "cli-follow.test", + "log": "agents/magica/work/queue-329/gate/cli-follow.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/follow.test.mjs" + }, + { + "label": "cli-format.test", + "log": "agents/magica/work/queue-329/gate/cli-format.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/format.test.mjs" + }, + { + "label": "cli-gate-lane-auth.test", + "log": "agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/gate-lane-auth.test.mjs" + }, + { + "label": "cli-gate-lane-fixtures.test", + "log": "agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/gate-lane-fixtures.test.mjs" + }, + { + "label": "cli-gate-lane-image.test", + "log": "agents/magica/work/queue-329/gate/cli-gate-lane-image.test.txt", + "counts": { + "tests": 13, + "pass": 13, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/gate-lane-image.test.mjs" + }, + { + "label": "cli-gate-lane-state.test", + "log": "agents/magica/work/queue-329/gate/cli-gate-lane-state.test.txt", + "counts": { + "tests": 14, + "pass": 14, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/gate-lane-state.test.mjs" + }, + { + "label": "cli-gate-lane.test", + "log": "agents/magica/work/queue-329/gate/cli-gate-lane.test.txt", + "counts": { + "tests": 13, + "pass": 13, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/gate-lane.test.mjs" + }, + { + "label": "cli-git-socket.test", + "log": "agents/magica/work/queue-329/gate/cli-git-socket.test.txt", + "counts": { + "tests": 24, + "pass": 24, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/git-socket.test.mjs" + }, + { + "label": "cli-grants-scope.test", + "log": "agents/magica/work/queue-329/gate/cli-grants-scope.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/grants-scope.test.mjs" + }, + { + "label": "cli-grants.test", + "log": "agents/magica/work/queue-329/gate/cli-grants.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/grants.test.mjs" + }, + { + "label": "post-unit-fix-cli-host.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.txt", + "counts": { + "tests": 43, + "pass": 43, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/host.test.mjs" + }, + { + "label": "cli-hosts.test", + "log": "agents/magica/work/queue-329/gate/cli-hosts.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/hosts.test.mjs" + }, + { + "label": "cli-idle-stop-race.test", + "log": "agents/magica/work/queue-329/gate/cli-idle-stop-race.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/idle-stop-race.test.mjs" + }, + { + "label": "cli-instances.test", + "log": "agents/magica/work/queue-329/gate/cli-instances.test.txt", + "counts": { + "tests": 15, + "pass": 15, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/instances.test.mjs" + }, + { + "label": "cli-launch-account.test", + "log": "agents/magica/work/queue-329/gate/cli-launch-account.test.txt", + "counts": { + "tests": 7, + "pass": 7, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/launch-account.test.mjs" + }, + { + "label": "cli-launch-limit-checks.test", + "log": "agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/launch-limit-checks.test.mjs" + }, + { + "label": "cli-launch-limits.test", + "log": "agents/magica/work/queue-329/gate/cli-launch-limits.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/launch-limits.test.mjs" + }, + { + "label": "cli-launch-routes.test", + "log": "agents/magica/work/queue-329/gate/cli-launch-routes.test.txt", + "counts": { + "tests": 9, + "pass": 9, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/launch-routes.test.mjs" + }, + { + "label": "cli-launcher.test", + "log": "agents/magica/work/queue-329/gate/cli-launcher.test.txt", + "counts": { + "tests": 34, + "pass": 34, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/launcher.test.mjs" + }, + { + "label": "cli-lifecycle.test", + "log": "agents/magica/work/queue-329/gate/cli-lifecycle.test.txt", + "counts": { + "tests": 24, + "pass": 24, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/lifecycle.test.mjs" + }, + { + "label": "cli-limits-tokens.test", + "log": "agents/magica/work/queue-329/gate/cli-limits-tokens.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/limits-tokens.test.mjs" + }, + { + "label": "cli-limits.test", + "log": "agents/magica/work/queue-329/gate/cli-limits.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/limits.test.mjs" + }, + { + "label": "cli-mark-read.test", + "log": "agents/magica/work/queue-329/gate/cli-mark-read.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/mark-read.test.mjs" + }, + { + "label": "cli-model-proxy.test", + "log": "agents/magica/work/queue-329/gate/cli-model-proxy.test.txt", + "counts": { + "tests": 9, + "pass": 9, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/model-proxy.test.mjs" + }, + { + "label": "cli-names.test", + "log": "agents/magica/work/queue-329/gate/cli-names.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/names.test.mjs" + }, + { + "label": "cli-notifier.test", + "log": "agents/magica/work/queue-329/gate/cli-notifier.test.txt", + "counts": { + "tests": 27, + "pass": 27, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/notifier.test.mjs" + }, + { + "label": "cli-optional-tracker.test", + "log": "agents/magica/work/queue-329/gate/cli-optional-tracker.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/optional-tracker.test.mjs" + }, + { + "label": "cli-other-tree.test", + "log": "agents/magica/work/queue-329/gate/cli-other-tree.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/other-tree.test.mjs" + }, + { + "label": "cli-processing-cli.test", + "log": "agents/magica/work/queue-329/gate/cli-processing-cli.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/processing-cli.test.mjs" + }, + { + "label": "cli-project-name-repo.test", + "log": "agents/magica/work/queue-329/gate/cli-project-name-repo.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/project-name-repo.test.mjs" + }, + { + "label": "cli-project.test", + "log": "agents/magica/work/queue-329/gate/cli-project.test.txt", + "counts": { + "tests": 4, + "pass": 4, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/project.test.mjs" + }, + { + "label": "cli-publish-socket.test", + "log": "agents/magica/work/queue-329/gate/cli-publish-socket.test.txt", + "counts": { + "tests": 9, + "pass": 9, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/publish-socket.test.mjs" + }, + { + "label": "cli-reply-limits.test", + "log": "agents/magica/work/queue-329/gate/cli-reply-limits.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/reply-limits.test.mjs" + }, + { + "label": "cli-revoke-window.test", + "log": "agents/magica/work/queue-329/gate/cli-revoke-window.test.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/revoke-window.test.mjs" + }, + { + "label": "cli-session-clear.test", + "log": "agents/magica/work/queue-329/gate/cli-session-clear.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/session-clear.test.mjs" + }, + { + "label": "cli-session-cli.test", + "log": "agents/magica/work/queue-329/gate/cli-session-cli.test.txt", + "counts": { + "tests": 14, + "pass": 14, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/session-cli.test.mjs" + }, + { + "label": "cli-session-launch.test", + "log": "agents/magica/work/queue-329/gate/cli-session-launch.test.txt", + "counts": { + "tests": 8, + "pass": 8, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/session-launch.test.mjs" + }, + { + "label": "post-unit-fix-cli-stack-copy.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-copy.test.txt", + "counts": { + "tests": 18, + "pass": 18, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/stack-copy.test.mjs" + }, + { + "label": "post-unit-fix-cli-stack-instances.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-instances.test.txt", + "counts": { + "tests": 24, + "pass": 24, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/stack-instances.test.mjs" + }, + { + "label": "post-unit-fix-cli-stack-release-external.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.txt", + "counts": { + "tests": 25, + "pass": 25, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/stack-release-external.test.mjs" + }, + { + "label": "post-unit-fix-cli-stack-release.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.txt", + "counts": { + "tests": 224, + "pass": 224, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/stack-release.test.mjs" + }, + { + "label": "post-unit-fix-cli-stack-upgrade.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.txt", + "counts": { + "tests": 21, + "pass": 21, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/stack-upgrade.test.mjs" + }, + { + "label": "cli-tester-http.test", + "log": "agents/magica/work/queue-329/gate/cli-tester-http.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/tester-http.test.mjs" + }, + { + "label": "cli-tester-reads.test", + "log": "agents/magica/work/queue-329/gate/cli-tester-reads.test.txt", + "counts": { + "tests": 6, + "pass": 6, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/tester-reads.test.mjs" + }, + { + "label": "cli-tester-threads.test", + "log": "agents/magica/work/queue-329/gate/cli-tester-threads.test.txt", + "counts": { + "tests": 5, + "pass": 5, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/tester-threads.test.mjs" + }, + { + "label": "cli-tester.test", + "log": "agents/magica/work/queue-329/gate/cli-tester.test.txt", + "counts": { + "tests": 11, + "pass": 11, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/tester.test.mjs" + }, + { + "label": "cli-thread-cli.test", + "log": "agents/magica/work/queue-329/gate/cli-thread-cli.test.txt", + "counts": { + "tests": 11, + "pass": 11, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/thread-cli.test.mjs" + }, + { + "label": "cli-thread-launch.test", + "log": "agents/magica/work/queue-329/gate/cli-thread-launch.test.txt", + "counts": { + "tests": 15, + "pass": 15, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/thread-launch.test.mjs" + }, + { + "label": "cli-thread-revoke.test", + "log": "agents/magica/work/queue-329/gate/cli-thread-revoke.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/thread-revoke.test.mjs" + }, + { + "label": "cli-trackers-boot.test", + "log": "agents/magica/work/queue-329/gate/cli-trackers-boot.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/trackers-boot.test.mjs" + }, + { + "label": "cli-transport.test", + "log": "agents/magica/work/queue-329/gate/cli-transport.test.txt", + "counts": { + "tests": 3, + "pass": 3, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/transport.test.mjs" + }, + { + "label": "cli-usage.test", + "log": "agents/magica/work/queue-329/gate/cli-usage.test.txt", + "counts": { + "tests": 2, + "pass": 2, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/usage.test.mjs" + }, + { + "label": "post-unit-fix-cli-verbs.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.txt", + "counts": { + "tests": 9, + "pass": 9, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19, + "file": "packages/cli/tests/verbs.test.mjs" + } + ] + }, + "webui-pinned-copy": { + "label": "post-unit-fix-webui-pinned-copy.test", + "log": "agents/magica/work/queue-329/gate/post-unit-fix-webui-pinned-copy.test.txt", + "counts": { + "tests": 10, + "pass": 10, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19 + }, + "federation-runner": { + "label": "test-federation-acceptance.sh", + "log": "agents/magica/work/queue-329/gate/test-federation-acceptance.sh.txt", + "counts": { + "tests": 1, + "pass": 1, + "fail": 0, + "skipped": 0, + "cancelled": 0 + }, + "rc": 0, + "nice": 19 + }, + "config-script": { + "rc": 0, + "pass": 55, + "fail": 0, + "log": "agents/magica/work/queue-329/gate/test-config.sh.txt" + }, + "history": { + "initialRed": "gate/cli-case1-accept.test.txt", + "diagnostic": "mos-1604:20focused+3whole,179pass,no gate credit", + "unchangedRerun": "mos-1605:53pass", + "cause": "F7 unknown; Vikunja625", + "landingGate": "Sage must independently pass" + } +} diff --git a/agents/magica/work/queue-329/gate/FINAL-COUNTS.txt b/agents/magica/work/queue-329/gate/FINAL-COUNTS.txt new file mode 100644 index 000000000..ef6f85b4e --- /dev/null +++ b/agents/magica/work/queue-329/gate/FINAL-COUNTS.txt @@ -0,0 +1,8 @@ +model-proxy: 5files 61tests 61pass 0fail 0skip 0cancel +bus: 115files 1018tests 1018pass 0fail 0skip 0cancel +cli: 69files 1000tests 999pass 0fail 1skip 0cancel +webui pinned-copy:10/10; config:55/55; federation runner:1/1 no skip. +CLI listed skip: packages/cli/tests/federation-acceptance.test.mjs, FED R7 scratch two-instance acceptance; covered by scripts/test-federation-acceptance.sh. +Initial old red and scratch diagnostic are preserved, not included in final pass totals. +One unchanged original rerun authorized by mos-1605 passed53/53; final unit-reader checks per sage-4251 all pass. +Sage landing gate must independently be green (mos-1583). diff --git a/agents/magica/work/queue-329/gate/STATUS.txt b/agents/magica/work/queue-329/gate/STATUS.txt new file mode 100644 index 000000000..76092b9f4 --- /dev/null +++ b/agents/magica/work/queue-329/gate/STATUS.txt @@ -0,0 +1,8 @@ +STOP old-test red; no rerun. Sage notified magica-0023/0024; slot returned. +Base8bb5b3c73; local WIP9edf45003; no gate-approved tip or final manifest. +model-proxy whole:5files59tests59pass0fail0skip0cancel. +bus whole:115files1018tests1018pass0fail0skip0cancel. +CLI partial:5files124tests123pass1fail0skip0cancel. +Old failing file cli/case1-accept.test.mjs:503; assertion507 expected[F3], actual[F3,F7]. +Exact F7 pm-live FAIL text not retained by the old assertion/fixture. +RemainingCLI, webui pinned-copy, config and federation runner NOT RUN. diff --git a/agents/magica/work/queue-329/gate/bus-access-revoke.test.txt b/agents/magica/work/queue-329/gate/bus-access-revoke.test.txt new file mode 100644 index 000000000..5e644d2ab --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-access-revoke.test.txt @@ -0,0 +1,21 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/access-revoke.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ R4: the timer sweep after a hand edit ends only the lost user's run; its next call refuses thread-revoked (41.380152ms) +✔ R4: an expiry with no write and no request ends the run at the next timer sweep (31.645712ms) +✔ R4: a downgrade to viewer is a loss (27.86252ms) +✔ R4: another user's request after a hand edit ends the lost user's run, and its own run stays (27.857996ms) +✔ R4: a request reads the access file only when its stamp changed, once per change (26.541593ms) +✔ R4: access.reload ends the lost runs at once for the human; the tester, a reader, an agent and a user are refused (31.147796ms) +✔ R4: threadsState marks revoked: true on the lost user's thread only, a pending message included (21.870168ms) +✔ R4: threadsState after an expiry with no write and no sweep ends the claim before it marks the row revoked (26.348758ms) +✔ R4: a new run of a revoked thread refuses thread-revoked at bind and at claim; a rebind is allowed (21.621371ms) +✔ R4 runtime: a hand edit ends the run at the first timer period, intervalMs is checked, and close stops the timer (66.086813ms) +ℹ tests 10 +ℹ suites 0 +ℹ pass 10 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 486.559171 diff --git a/agents/magica/work/queue-329/gate/bus-account-migration.test.txt b/agents/magica/work/queue-329/gate/bus-account-migration.test.txt new file mode 100644 index 000000000..574819dfe --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-account-migration.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/account-migration.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-LIMIT-4 3h copy migrates to 3i: every row keeps its seq, the sequence carries over, and only the account CHECK changes (95.053304ms) +✔ REQ-LIMIT-4 a 3h→3i step that fails partway leaves the store at 3h with every row, the sequence and the schema intact (119.108829ms) +✔ REQ-LIMIT-4 the 3h engine refuses a migrated store, migrating or not, and leaves it as it was (100.026902ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 405.59395 diff --git a/agents/magica/work/queue-329/gate/bus-address.test.txt b/agents/magica/work/queue-329/gate/bus-address.test.txt new file mode 100644 index 000000000..f83656dfd --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-address.test.txt @@ -0,0 +1,26 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/address.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ parseAddress: one (1.363093ms) +✔ parseAddress: many (0.145271ms) +✔ parseAddress: repeat (0.09284ms) +✔ parseAddress: plain (0.105676ms) +✔ parseAddress: stop (0.106561ms) +✔ parseAddress: EOF tag (0.08607ms) +✔ parseAddress: EOF last tag (0.090809ms) +✔ parseAddress: leading whitespace (0.111837ms) +✔ parseAddress: tags only (0.114344ms) +✔ parseAddress: empty (0.166059ms) +✔ parseAddress: whitespace (0.091288ms) +✔ parseAddress: bare at (0.058457ms) +✔ parseAddress: punctuation is a name (0.063035ms) +✔ parseAddress rejects non-text without coercion (0.364549ms) +✔ the mounted address parser has no import dependency (0.260639ms) +ℹ tests 15 +ℹ suites 0 +ℹ pass 15 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 65.98955 diff --git a/agents/magica/work/queue-329/gate/bus-agents.test.txt b/agents/magica/work/queue-329/gate/bus-agents.test.txt new file mode 100644 index 000000000..9f9aa3ebd --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-agents.test.txt @@ -0,0 +1,22 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/agents.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ agents: a held role with nothing on the bus is idle; a role session gets the claim rows unchanged (25.614659ms) +✔ agents: working counts what the holder received and has not read; routed alone is not working (24.589808ms) +✔ agents: input needed is the role's open decisions routed to the human, gated first, then oldest (41.7694ms) +✔ agents: working wins over waiting, and Input needed still shows (19.359692ms) +✔ agents: a new holder doesn't inherit what the last one left unread; decisions stay with the role (20.995853ms) +✔ agents: state reads only its own business, even for a run name both use (19.57121ms) +✔ agents: a message the holder released unread is stranded; the next holder gets nothing and cannot read it (24.000886ms) +✔ agents: a message the holder read is not stranded; one the current holder has not read is not listed (20.170242ms) +✔ agents: stranded is oldest first and capped at 50 for a role (89.978335ms) +✔ agents: stranded is per role and per business (37.663031ms) +✔ agents: a message routed to a held role and not yet received is not stranded (14.590846ms) +ℹ tests 11 +ℹ suites 0 +ℹ pass 11 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 436.258985 diff --git a/agents/magica/work/queue-329/gate/bus-approval-binding.test.txt b/agents/magica/work/queue-329/gate/bus-approval-binding.test.txt new file mode 100644 index 000000000..de50e903e --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-approval-binding.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/approval-binding.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-DEC an approval outlives its run and a broker restart; a new run of the instance consumes it once (41.710387ms) +✔ REQ-DEC another instance of the same definition cannot consume an approval, and its refusal consumes nothing (19.497718ms) +✔ REQ-DEC REQ-THREAD-1 a thread approval is consumed only by a run holding the same thread (27.383416ms) +✔ REQ-DEC a later run of the same instance supersedes an open decision; another instance cannot (25.024167ms) +✔ REQ-DEC REQ-THREAD-1 a thread decision is superseded only from the same thread (26.650605ms) +✔ REQ-DEC REQ-THREAD-1 a thread instance decision raised before row 121 is not consumed or superseded by any thread run (35.306844ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 263.821277 diff --git a/agents/magica/work/queue-329/gate/bus-broker.test.txt b/agents/magica/work/queue-329/gate/bus-broker.test.txt new file mode 100644 index 000000000..383b53313 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-broker.test.txt @@ -0,0 +1,27 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/broker.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ launch identity is stamped, payload identity is refused and stale holder cannot send (28.160527ms) +✔ decision classes route from policy; gated resolution is human-only, choice and target must match (24.775935ms) +✔ claim exclusion, holder release, gated revoke and rerouting to a new holder are atomic (25.967856ms) +✔ launch events require a human CLI capability; generic emit cannot forge authority events (16.499518ms) +✔ within-role decisions close atomically and invalid options or blocking omissions refuse (17.065443ms) +✔ a recommendation that is not exactly one option key refuses invalid-recommendation after the options (26.77801ms) +✔ observer capabilities read human inbox but cannot mutate or forge launch identity (17.522306ms) +✔ task action subjects and linked decision trail are complete and ordered (26.090635ms) +✔ launch binding is durable and reconnecting requires the identical trusted record (14.123369ms) +✔ business isolation includes inherited object names and cross-business message references (21.72964ms) +✔ authority never transfers between action, target, unresolved or replaced role holder; a later run of the instance keeps it (29.009561ms) +✔ task projection uses schema current view, skipping earlier and equal-start polls (16.831676ms) +✔ revocation permanently bars the old run from reclaiming first, including after broker restart (23.68242ms) +✔ empty message references refuse before storage; refusal-evidence failure stays a typed error (17.253198ms) +✔ both arbiters require human resolution when their cross-role route is themselves (24.127811ms) +✔ the shipped coder role raises task.reassign as gated to the human; task.scope.change stays cross-role (26.31891ms) +ℹ tests 16 +ℹ suites 0 +ℹ pass 16 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 454.983567 diff --git a/agents/magica/work/queue-329/gate/bus-business.test.txt b/agents/magica/work/queue-329/gate/bus-business.test.txt new file mode 100644 index 000000000..e77b9a6ba --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-business.test.txt @@ -0,0 +1,12 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/business.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ S1 adapter takes resolved limits and refs, rejects mismatched instance, never mutates input (1.351264ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 66.536485 diff --git a/agents/magica/work/queue-329/gate/bus-channel-proof.test.txt b/agents/magica/work/queue-329/gate/bus-channel-proof.test.txt new file mode 100644 index 000000000..9f0dfe456 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-channel-proof.test.txt @@ -0,0 +1,13 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/channel-proof.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ channel conversion preserves the four proof/transport byte baselines and modules cannot import a proof caller (1.544982ms) +✔ channel recovery still requires the same shim path and rejects an absent or forged proof (447.427298ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 569.147411 diff --git a/agents/magica/work/queue-329/gate/bus-chief-of-staff.test.txt b/agents/magica/work/queue-329/gate/bus-chief-of-staff.test.txt new file mode 100644 index 000000000..02848531b --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-chief-of-staff.test.txt @@ -0,0 +1,62 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/chief-of-staff.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +✔ REQ-COS-1, REQ-ROLE-2: the chief of staff ends a run with a reason and no decision, and the reason is logged (38.080512ms) +✔ REQ-ROLE-2: a role without role.end still needs a resolved decision to revoke (36.692059ms) +✔ REQ-ROLE-2: storage accepts a revoke with a reason or a decision and aborts one with neither (29.636755ms) +✔ REQ-ROLE-2: the chief of staff may still cite a decision, and a decision alone is the old path (28.889768ms) +✔ REQ-ROLE-2: a role without role.end still ends a run through a resolved decision, which is recorded and has no reason (24.899245ms) +✔ REQ-ROLE-2: a reason is required, bounded, and never sent with a decision (27.863549ms) +✔ REQ-COS-1: the chief of staff cannot end its own run; its end of the assistant stops the assistant's thread run (37.146698ms) +✔ REQ-LIMIT-1, REQ-COS-1: organization.set from the chief of staff reaches the shared writer, named as the actor (36.106056ms) +✔ REQ-LIMIT-1, REQ-COS-1: a refused organization.set logs action.refused and no action.allowed, like a refused limits.set (38.181414ms) +✔ REQ-LIMIT-1: organization.set is refused for every caller whose role file lacks organization.change (65.180504ms) +✔ REQ-LIMIT-1: the chief of staff is logged as allowed, and organization.set takes only the human's keys (62.933955ms) +✔ REQ-COS-1: organization.revision answers the revision alone to the chief of staff and spends nothing (45.920422ms) +✔ REQ-COS-1, REQ-LIMIT-1: organization.revision is refused for every caller whose role file lacks organization.change (43.86965ms) +✔ REQ-ROLE-3, REQ-LIMIT-1: a chief-of-staff change is validated, written and logged like a human's; an invalid one is refused (118.766757ms) +✔ REQ-COS-1: the chief of staff reads the revision, changes the file with it, and reads again after a stale one is refused (92.218132ms) +✔ Q169: the chief of staff's change of the assistant is validated, written and logged; a stale or protection-stripping one is refused (90.613694ms) +✔ row 65, Q169: the chief's change of the assistant's route runs the routing checks, and a valid one saves as the chief (62.299216ms) +✔ REQ-ROLE-2, REQ-COS-1: the 3c→3d migration lets the chief of staff end a held role with a reason; neither is still refused (77.112545ms) +✔ row 194 T10: the chief's reason end of a kept instance refuses instance-kept, holds the claim and spends nothing (23.62617ms) +✔ row 194 T10 (Q2): a role.revoke citing a decision the human resolved still ends a kept run (24.400839ms) +✔ row 194 T10 (B7): the chief's organization.set of a kept instance's model refuses before the writer; the human's limits.set does not (24.867445ms) +✔ row 194 T13: organization.set and limits.set refuse the launch, retired, keep and noHire keys before the writer (28.164387ms) +✔ row 194 T18 (D2.4): from a chief session veto.set and instances.set refuse, and nothing reaches the writer (28.202648ms) +✔ row 194 T8: the chief hires with a reason and no decision, the writer gets the reason as context, and the log names it (24.35139ms) +✔ row 194 T11: on a bus with two businesses, the chief of one hires and fires only in its own (21.513334ms) +✔ row 194 T8: hire and fire need a reason of 1 to 500 characters and refuse a decision key (33.968103ms) +✔ row 194 T8 (sage-1471): only the chief hires or fires; every other role refuses role-not-chief, even one granted the actions (30.960882ms) +✔ row 194 T8 (sage-1471): a chief whose authority lacks role.hire or role.fire refuses decision-required before the writer (50.013594ms) +✔ row 194 T8a: a re-hire of a fired name goes to the writer like a hire, and the writer's refusals pass through by name (29.650277ms) +✔ row 194 T8b: a definition is hireable only when every action is on HIRE_ALLOWED, it is version 2, the chief lists it and noHire doesn't (899.737224ms) +✔ row 194 T8b: a hire without the role files configured refuses not-configured (22.718322ms) +✔ row 194 T9: a fire revokes the claim, cancels open requests, asks the launcher to kill the runs, then delists and logs (29.485778ms) +✔ row 194 T9a (bus): a fire end's done writes lifecycle.end.killed and lifecycle.end.alive with run and pid, and an unknown stop's reason; a terminate's done or a bad stop refuses (32.00785ms) +✔ row 194 T9: fire refusals come before step A and leave the claim, the requests and the file alone (29.839679ms) +✔ row 194 T9c: a writer failure at B leaves the instance firing, and the repeat delists and logs once (30.109172ms) +✔ row 194 T9c: a failure at C leaves the fire unlogged and the instance firing, and the repeat logs it (31.6214ms) +✔ row 194 W-N1: a fire.done before a later fire.stopped of the same instance leaves it firing; another instance's done does not end it (25.721903ms) +✔ row 194 T10: a hire or fire of a kept name refuses instance-kept before the writer (21.85392ms) +✔ row 194 T10: a fire the writer's check refuses from the file stops nothing and leaves the instance launchable (22.21371ms) +✔ row 194 T18: hire and fire take only their own keys, and a refused call writes nothing (30.277446ms) +✔ row 194 T8, T9, T18: through the runtime the chief hires and fires with the real writer, the receipt carries the reason, and a refusal leaves the file alone (71.642071ms) +✔ row 194 W-N1: the launcher's take of a launch or regenerate of a firing instance closes it as instance-firing (25.505361ms) +ℹ tests 42 +ℹ suites 0 +ℹ pass 42 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 2698.094981 diff --git a/agents/magica/work/queue-329/gate/bus-citation-availability.test.txt b/agents/magica/work/queue-329/gate/bus-citation-availability.test.txt new file mode 100644 index 000000000..744156fe7 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-citation-availability.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/citation-availability.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ C2-06 held library lock gives the agent citation-unavailable and its retry reason (5161.066421ms) +✔ C2-06 malformed sync state is availability failure, never a fabricated invalid cite (43.159906ms) +✔ C2-06 no mirror or freshly initialized empty mirror still means no served citation (40.582404ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 5333.128179 diff --git a/agents/magica/work/queue-329/gate/bus-citation-guard.test.txt b/agents/magica/work/queue-329/gate/bus-citation-guard.test.txt new file mode 100644 index 000000000..e79f7badc --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-citation-guard.test.txt @@ -0,0 +1,24 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/citation-guard.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ C2-06 coder send_message guard covers every table refusal; inserts nothing (142.70473ms) +✔ C2-06 research send_message guard covers every table refusal; inserts nothing (108.841317ms) +✔ C2-06 stored check carries the file author trailer at an unrelated cited tip (70.054283ms) +✔ C2-06 supporting cite cannot state canon, including a folder also marked playground (50.896173ms) +✔ C2-06 supporting file stores supporting scope and its real agent trailer (65.45905ms) +✔ C2-06 check evidence and insert are atomic when storing evidence fails (52.236416ms) +✔ C2-06 live limits change both directions; unreadable file keeps checks and exact fixed texts (67.571916ms) +✔ C2-06 page store is session-local, caps 20 fetches and 200 KiB, drops at disconnect (92.413874ms) +✔ C2-06 transport passes safe capped guard reason; ordinary refusal envelope is byte-identical (69.702901ms) +✔ C2-06 non-library businesses retain role.claim shape and unguarded free sends (33.185358ms) +✔ C2-06 thread messages carry file/last evidence with one read per distinct path (107.640515ms) +✔ C2-06 guarded request snapshot cannot change between check and insert (33.406363ms) +✔ C2-06 library.limits.set is human-only and invalid settings leave file and receipts unchanged (50.958739ms) +ℹ tests 13 +ℹ suites 0 +ℹ pass 13 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1048.766974 diff --git a/agents/magica/work/queue-329/gate/bus-citation-runtime.test.txt b/agents/magica/work/queue-329/gate/bus-citation-runtime.test.txt new file mode 100644 index 000000000..a76db51ed --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-citation-runtime.test.txt @@ -0,0 +1,12 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/citation-runtime.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ C2-06 runtime reads changed and unreadable reply limits without restarting (135.176261ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 276.707573 diff --git a/agents/magica/work/queue-329/gate/bus-comment-cursors.test.txt b/agents/magica/work/queue-329/gate/bus-comment-cursors.test.txt new file mode 100644 index 000000000..cb8c5b852 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-comment-cursors.test.txt @@ -0,0 +1,13 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/comment-cursors.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ comment cursors isolate businesses, move only forward and remain append-only (19.085085ms) +✔ only trusted sync writes validated cursors; events and cursor share rollback (13.014178ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 119.198645 diff --git a/agents/magica/work/queue-329/gate/bus-comment-migration.test.txt b/agents/magica/work/queue-329/gate/bus-comment-migration.test.txt new file mode 100644 index 000000000..25503a007 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-comment-migration.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/comment-migration.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ explicit 3b copy migration preserves evidence and opens as 3g; normal startup never migrates (78.189707ms) +✔ migration refuses active writers and drifted legacy schemas, with no partial upgrade (106.503826ms) +✔ named migration registry chains 3b through 3g to a fixture-only future version in order (101.590215ms) +✔ migration refuses mismatched source metadata without changing schema or evidence (34.469523ms) +✔ offline command migrates only the supplied fixture root and reports usage errors (201.870639ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 615.678705 diff --git a/agents/magica/work/queue-329/gate/bus-console-decide.test.txt b/agents/magica/work/queue-329/gate/bus-console-decide.test.txt new file mode 100644 index 000000000..ca54adc5d --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-console-decide.test.txt @@ -0,0 +1,23 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/console-decide.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ N4: the console verbs are exactly the preview and the console resolve, and decision.resolve is not one (1.201292ms) +✔ bindConsole takes only the business human and a three-string owner subject (32.910796ms) +✔ J1, Q188: only a console cap reaches the console verbs, and a console cap reaches nothing else (43.713243ms) +✔ preview: the two real answers, a grant summary and the digest, for an open grant request only (34.748721ms) +✔ J1, J2: a decision that is not an eligible grant request refuses both console verbs (39.309827ms) +✔ N2, J13: a Console approve records via console and the owner, before the executor starts, and the grant runs once (106.473264ms) +✔ J15: a Console deny closes with the other key and starts nothing (131.876204ms) +✔ J2: approve and deny come from approvalChoice and the options, not a fixed yes and no (154.99608ms) +✔ J11: a stale digest or a key outside the two refuses decision-stale and writes nothing (36.022167ms) +✔ J14: a via console close with no matching human.input approves nothing (41.435831ms) +✔ recordEvent keeps human.input reserved, so no agent forges a console answer (26.883906ms) +✔ J7: a console proof over the socket binds a cap for its one call and the reply releases it (93.329244ms) +ℹ tests 12 +ℹ suites 0 +ℹ pass 12 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 833.501753 diff --git a/agents/magica/work/queue-329/gate/bus-creative.test.txt b/agents/magica/work/queue-329/gate/bus-creative.test.txt new file mode 100644 index 000000000..dfe121f86 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-creative.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/creative.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +✔ M6: a creative raise refuses decision-not-allowed, cited or not, and no decision row appears; the assistant still raises (40.939682ms) +✔ a creative instance sends only to the user and hears only from the user (47.519881ms) +✔ M10 through the broker: the chief and the tester are refused on bean, the human's limits.set of its models key works (84.60702ms) +✔ row 256 T6 the human deletes a creative instance through the broker; the chief and the tester are refused at the verb (66.904761ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 371.397544 diff --git a/agents/magica/work/queue-329/gate/bus-credential-claim.test.txt b/agents/magica/work/queue-329/gate/bus-credential-claim.test.txt new file mode 100644 index 000000000..c1fbd40d1 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-credential-claim.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/credential-claim.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ X4: register adds a store reference to the running bus, and issue then writes the key (16.993892ms) +✔ X4: register runs the constructor's reference checks (0.815119ms) +✔ X4: register reads no file, so a key file left at the path stays unused, and a live token refuses (10.542395ms) +✔ X3, X4: unregister drops an entry with no token and refuses one with a live token (9.498952ms) +✔ X5: a claim holds the slot, so a second claim and a host.run refuse host-busy until release (6.587637ms) +✔ X5: a claim made while a host.run is in flight refuses host-busy (5.981273ms) +✔ X5: a stale release leaves a later claim in place (0.464384ms) +✔ X5: abortClaim aborts a live claim and says pending, and revoke's abort reaches a claim too (6.565634ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 127.709805 diff --git a/agents/magica/work/queue-329/gate/bus-credential-status.test.txt b/agents/magica/work/queue-329/gate/bus-credential-status.test.txt new file mode 100644 index 000000000..d4c1ff9fa --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-credential-status.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/credential-status.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ credentials gives human and reader sessions service, account, role, date and state, and nothing else (22.270194ms) +✔ credentials refuses a role session and any argument (18.656241ms) +✔ credentials reads the status on each request, and a broker without one lists none (24.539998ms) +✔ the broker process answers credentials without a token, path or variable in its output, log or store (170.479276ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 332.670177 diff --git a/agents/magica/work/queue-329/gate/bus-credential-store.test.txt b/agents/magica/work/queue-329/gate/bus-credential-store.test.txt new file mode 100644 index 000000000..37c5e9866 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-credential-store.test.txt @@ -0,0 +1,23 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/credential-store.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ T1: a store reference with no file yet starts, and the agent is not-issued until issue (5.672615ms) +✔ T1: a store path the reference does not own, or no store root, refuses the reference (0.632856ms) +✔ T1: a wrong mode on the store root, a business dir, an agent dir or the file refuses start (1.919167ms) +✔ T1: a missing store root refuses start; a missing {file} reference still refuses start (0.655534ms) +✔ T1: a store file that is a directory or a symlink refuses start (0.833522ms) +✔ T2: useFor keys from the session only (1.593099ms) +✔ T5: issue, rotate, revoke and delete are live with no restart, and revoke holds across one (4.736513ms) +✔ T5: a failed commit leaves the token on disk but not in memory, and a bad token or date writes nothing (1.81929ms) +✔ T5: revoke drops the token from memory before the unlink, so a failed unlink still leaves it revoked (2.749193ms) +✔ T5: revoke of a {file} reference forgets the token and never unlinks the file (0.680647ms) +✔ T5: delete refuses an agent dir holding anything but tokens (1.692302ms) +✔ D5: every credentials use( call site is on the allowlist (39.49179ms) +ℹ tests 12 +ℹ suites 0 +ℹ pass 12 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 133.57155 diff --git a/agents/magica/work/queue-329/gate/bus-credential-verbs.test.txt b/agents/magica/work/queue-329/gate/bus-credential-verbs.test.txt new file mode 100644 index 000000000..8f8343fcc --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-credential-verbs.test.txt @@ -0,0 +1,13 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/credential-verbs.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ row 199: the lifecycle verbs refuse every session but the human, and the tester revokes only (41.949103ms) +✔ T5: issue, rotate, revoke and delete are live, rewrite the business file and leave one receipt each, with no value anywhere (103.766589ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 299.97301 diff --git a/agents/magica/work/queue-329/gate/bus-credentials.test.txt b/agents/magica/work/queue-329/gate/bus-credentials.test.txt new file mode 100644 index 000000000..0ed3dd759 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-credentials.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/credentials.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ only validated broker references load; returned data and exceptions cannot expose a known token (2.940582ms) +✔ bad file modes, symlinks, repository/data paths, malformed tokens and missing dates refuse (2.058631ms) +✔ expiry refuses use and env references never become client data (0.550077ms) +✔ S1 parsed service refs work, service mismatch refuses, Gitea rotation due is a warning state (1.284789ms) +✔ opaque tokens shorter than 16 characters refuse before use (0.331326ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 78.472569 diff --git a/agents/magica/work/queue-329/gate/bus-csuite-messaging.test.txt b/agents/magica/work/queue-329/gate/bus-csuite-messaging.test.txt new file mode 100644 index 000000000..1127f592e --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-csuite-messaging.test.txt @@ -0,0 +1,27 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/csuite-messaging.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ each C-suite role file carries the same two lists: human, chief-of-staff, pm, cto (1.591921ms) +✔ chief-executive-officer: messages to and from the user, chief of staff, pm and cto pass (53.272505ms) +✔ chief-executive-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored (40.751211ms) +✔ chief-executive-officer: another C-suite role isn't on the lists either (35.4154ms) +✔ chief-financial-officer: messages to and from the user, chief of staff, pm and cto pass (47.27251ms) +✔ chief-financial-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored (40.486184ms) +✔ chief-financial-officer: another C-suite role isn't on the lists either (33.258085ms) +✔ chief-information-officer: messages to and from the user, chief of staff, pm and cto pass (42.992279ms) +✔ chief-information-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored (41.016257ms) +✔ chief-information-officer: another C-suite role isn't on the lists either (37.416475ms) +✔ chief-information-security-officer: messages to and from the user, chief of staff, pm and cto pass (48.181514ms) +✔ chief-information-security-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored (44.261858ms) +✔ chief-information-security-officer: another C-suite role isn't on the lists either (34.776835ms) +✔ chief-marketing-officer: messages to and from the user, chief of staff, pm and cto pass (42.96077ms) +✔ chief-marketing-officer: a message to or from the coder, reviewer or assistant is refused and logged, and nothing is stored (39.743554ms) +✔ chief-marketing-officer: another C-suite role isn't on the lists either (34.733687ms) +ℹ tests 16 +ℹ suites 0 +ℹ pass 16 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 716.38874 diff --git a/agents/magica/work/queue-329/gate/bus-daily-quota-runtime.test.txt b/agents/magica/work/queue-329/gate/bus-daily-quota-runtime.test.txt new file mode 100644 index 000000000..0c3481dd2 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-daily-quota-runtime.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/daily-quota-runtime.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +limits: {"event":"limit-reached","business":"demo","check":"daily-quota","export":"mayLaunch","subject":{"instance":"coder","provider":"anthropic","model":"opus","account":"jason-max"},"path":["tokens","daily","jason-max"],"limit":0,"count":0,"unknownTurns":0} +usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"bad680e3-a4d8-4813-87f3-f7d6ef8719b7","source":"@none","code":"baseline-unknown"} +limits: {"event":"limit-reached","business":"demo","check":"daily-quota","export":"mustStop","subject":{"instance":"coder","provider":"anthropic","model":"opus","account":"jason-max"},"path":["tokens","daily","jason-max"],"limit":0,"count":0,"unknownTurns":1} +usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"79ee6047-da59-4fb6-a519-fb9890a0785e","source":"@none","code":"baseline-unknown"} +✔ REQ-LIMIT-2 runtime: limits counts the daily quota, and mayLaunch refuses only the account at it (142.624838ms) +✔ REQ-LIMIT-4 runtime: a run bound with the account writes it on its usage records and stops at the quota (60.460312ms) +✔ REQ-LIMIT-4 runtime: a run bound without an account records null and the daily quota never stops it (52.572376ms) +✔ REQ-LIMIT-4 bindLaunch keeps the account off session.launched, refuses one that is not an identifier, and takes null as none (14.958647ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 369.79641 diff --git a/agents/magica/work/queue-329/gate/bus-decision-close.test.txt b/agents/magica/work/queue-329/gate/bus-decision-close.test.txt new file mode 100644 index 000000000..3fc32b1d6 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-decision-close.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/decision-close.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ a human resolve sends the raising role one message from the human, and its request is the answer (52.919698ms) +✔ a cross-role decision resolved by its arbiter comes from that role and run, with no request (25.148744ms) +✔ a human withdraw sends one message with the note (25.272173ms) +✔ a human seen before the close leaves the request on the close's answer, not the seen (29.207105ms) +✔ the raising run's withdraw, a supersede, a within-role raise and seen send nothing (29.590688ms) +✔ refused closes send nothing: invalid-choice, decision-closed, not-resolver (30.782472ms) +✔ a raising role nobody holds at the close gets the message on the next claim (26.821575ms) +✔ a human DECISION send keeps its own instruction as the request, not a close's answer (25.111102ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 356.88743 diff --git a/agents/magica/work/queue-329/gate/bus-decision-route.test.txt b/agents/magica/work/queue-329/gate/bus-decision-route.test.txt new file mode 100644 index 000000000..adc3d800c --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-decision-route.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/decision-route.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ a cross-role raise whose arbiter the raiser does not hear from is refused and stores nothing (48.103495ms) +✔ a gated raise by a role that does not hear from the human is refused and stores nothing (29.549188ms) +✔ a route the raiser hears from is allowed, checked from the route to the raiser (35.714116ms) +✔ a refused supersede withdraws nothing (27.74836ms) +✔ the assistant's within-role and gated raises still work (30.604762ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 260.38115 diff --git a/agents/magica/work/queue-329/gate/bus-decisions.test.txt b/agents/magica/work/queue-329/gate/bus-decisions.test.txt new file mode 100644 index 000000000..e75ad9df7 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-decisions.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/decisions.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ roles lists open decisions routed to a role, and never the human inbox (44.047879ms) +✔ recent lists closed decisions of every route, newest close first, with how each closed (33.908895ms) +✔ recent gives the closing event as closed when the decision was seen first (35.431976ms) +✔ recent stops at RECENT rows (95.459419ms) +✔ every row is what trail already gives the same session for that id (45.350189ms) +✔ a role session can't list decisions, so it can't read another role's open decisions (40.161217ms) +✔ decisions is a read: one business, strict arguments, nothing written (41.148056ms) +ℹ tests 7 +ℹ suites 0 +ℹ pass 7 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 432.158043 diff --git a/agents/magica/work/queue-329/gate/bus-end-launch.test.txt b/agents/magica/work/queue-329/gate/bus-end-launch.test.txt new file mode 100644 index 000000000..fe4bdb01f --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-end-launch.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/end-launch.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ endLaunch writes session.ended, releases the run claim and kills its capabilities (35.061902ms) +✔ endLaunch refuses an unknown run, a second end and a rebind of the ended run (12.777791ms) +✔ a restarted broker refuses to rebind an ended run; a refused rebind leaves the run unbound (14.085369ms) +✔ endLaunch leaves a claim another run took alone (15.276669ms) +✔ refuse records action.refused against the caller with the code only (12.059244ms) +✔ launches off refuses role.launch with launch-revoked until launches on (17.958158ms) +✔ broker process: launch ops authorize role.launch, record refusals and end runs (185.717032ms) +ℹ tests 7 +ℹ suites 0 +ℹ pass 7 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 372.287347 diff --git a/agents/magica/work/queue-329/gate/bus-fire-revokes-grants.test.txt b/agents/magica/work/queue-329/gate/bus-fire-revokes-grants.test.txt new file mode 100644 index 000000000..68d0f5ee5 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-fire-revokes-grants.test.txt @@ -0,0 +1,35 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/fire-revokes-grants.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ row 281 T2: a fire with host grants on two hosts and a Gitea grant answers with a job, then revokes all three (276.445299ms) +✔ row 281 T3 (sage-2575): a delete with grants takes two requests: the first starts the job, the next completes (257.607628ms) +✔ row 281 T3b (Q2): a delete whose job refuses on host B; the retry refuses grant-revoke-failed and revokes only B and Gitea (255.578943ms) +✔ row 281 T3b: B cleared by hand with hosts.revoke; the next delete starts a job for Gitea and the leftover line only (234.76404ms) +✔ row 281 T3c (sage-2575 condition 4): a delete of an instance with no grant completes in one request (66.588821ms) +✔ row 281 T4: host B unreachable in a fire: the job refuses, A stays revoked, B and Gitea untouched; a repeat completes (230.096179ms) +✔ row 281 T4b (Q1): a line a manual hosts.revoke left on C is removed by the fire, with its close (104.619417ms) +✔ row 281 T4b (Q1): with C unreachable, the fire completes and names the line in grantsLeft (104.701275ms) +✔ row 281 T5: Gitea's admin token can't be checked: the job refuses with the Gitea grant intact (204.441401ms) +✔ row 281 T5b (N1): a failed token DELETE refuses gitea-left; the repeat retries only this agent's entries (350.705899ms) +✔ row 281 T6 (sage-2574): a host decision approved before the fire and run after it ends revoked, with nothing applied (72.617176ms) +✔ row 281 T6b (sage-2574): a Gitea decision approved before the fire and run after it ends revoked before any Gitea write (91.236721ms) +✔ row 281 T6c: a host executor in flight aborts and ends revoked; a Gitea executor in flight is awaited and leaves no token (271.277812ms) +✔ row 281 T6d (B1): undecided host and Gitea decisions are in the set, and approved after the fire both end revoked (103.044896ms) +✔ row 281 T6e (B1): a grant raise refuses instance-fired while firing and after the fire, goes through after a rehire, and refuses grant-revoke-running during a delete job (120.748921ms) +✔ row 281 T7: an instance with no grant fires as today, synchronously, with the same events (64.160348ms) +✔ row 281 T9 (B3): one step G per agent; the manual verbs refuse while it runs, and sweep names it running (234.753132ms) +✔ row 281 T10 (B2): the fire and the delete answer while their jobs are held, and the broker answers other verbs (228.236439ms) +✔ row 281 T11 (C1): a fire's job completes after the chief's run ends and processing halts (106.75032ms) +✔ row 281 T12 (C1, N7): a step B refusal in the job is fire.failed, and the repeat runs B and C synchronously (82.443815ms) +✔ row 281 T13 (N4): a restart records each held job interrupted once, with one message each; an ended job gets none (157.436021ms) +✔ row 281 T14 (N1, sage-2653): a host removed under an undecided decision stops the fire on host-unknown; the human's no closes it, and the repeat fire has no job (69.402176ms) +✔ row 239 T4: a refusal after the writer's revoke is named -revoked, in the job's fire.failed and notice, a synchronous fire and a delete (103.872625ms) +✔ row 239 T4b: an unmarked step B refusal keeps its code, and the notice says nothing of the tokens (90.666822ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 3991.719131 diff --git a/agents/magica/work/queue-329/gate/bus-gitea-grant-docker.test.txt b/agents/magica/work/queue-329/gate/bus-gitea-grant-docker.test.txt new file mode 100644 index 000000000..a7bc87f67 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-gitea-grant-docker.test.txt @@ -0,0 +1,31 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/gitea-grant-docker.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ C2-21 F-A/F-B: admin collaborator grant on another owner and seat permission reach; F-C/F-D protection observations (13515.718506ms) +ℹ ✔ C2-21 F-A/F-B: admin collaborator grant on another owner and seat permission reach; F-C/F-D protection observations (13364.044244ms) +ℹ F-A creative write: PUT status 204 +ℹ F-B creative: permissions {"admin":false,"push":true,"pull":true} +ℹ F-A chief read: PUT status 204 +ℹ F-B chief: permissions {"admin":false,"push":false,"pull":true} +ℹ F-C protected Story/**: seat rc 1, owner rc 1; established false +ℹ F-D protected branch: normal rc 0, force rc 1; established true +ℹ minted 4, hits 0 +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 13474.455093 + +ℹ minted 4, hits 0 (complete TAP stdout/stderr) +✔ X-G3: on scratch 1.27.1, a grant makes the user, mints, forks, checks reach, writes the file, and revoke deletes the token (12516.996788ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 26150.518142 diff --git a/agents/magica/work/queue-329/gate/bus-gitea-grant.test.txt b/agents/magica/work/queue-329/gate/bus-gitea-grant.test.txt new file mode 100644 index 000000000..cae93f5cb --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-gitea-grant.test.txt @@ -0,0 +1,77 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/gitea-grant.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ versionAtLeast compares numbers and refuses a prerelease of 1.27.0 (1.337509ms) +✔ X-G1: a raise that fails a check refuses and stores nothing (69.474121ms) +✔ X-G1: a creative role, a role without identity and a missing or due slot refuse at raise (219.306031ms) +✔ X-G1: the chief of staff refuses at raise, whatever its definition, identity and publish declare (47.225004ms) +✔ X-G2: admin set refuses each failed check and writes nothing, then writes the slot once (186.081005ms) +✔ X-G3 to X-G8: an approve makes the user, mints the token, forks, checks reach and writes the file, record and grant.applied (110.539296ms) +✔ X-G4: a user this stack did not make, an admin, a disabled user and a remade user each refuse (371.186116ms) +✔ X-G6 and X-G8: the user and mint steps are written before their calls, and each result after its call (109.564615ms) +✔ X-G4: a fork by the seat user of another repository than the project refuses fork-foreign (112.369931ms) +✔ X-G5: a failure after the mint deletes the token, unloads nothing it did not load and leaves no file (180.184063ms) +✔ X-G5: a token delete that fails is left at Gitea, shown by status and taken by sweep (143.352539ms) +✔ X-G5: a mint that fails deletes by name, and a refusal at step 0 leaves the decision unspent (194.638622ms) +✔ X-G5: an agent held for an unknown token is refused at step 0 with no Gitea call (76.106793ms) +✔ X-G5 and X-G9 (step 7): a rotation whose old-token delete fails stays applied with the old id left (215.848938ms) +✔ X-G10: in a rotation the store file holds the new token before the old one is deleted (177.375994ms) +✔ X-G6: a rotation cut before the rename settles back at once, and the old token stays live (181.893895ms) +✔ X-G6: a rotation whose step 8 write fails is settle-pending, and a restart settles it forward (221.633802ms) +✔ X-G6: a restart settles an open rotation back when the file still holds the old token (167.487154ms) +✔ X-G6: a restart settles an open rotation forward when the file holds the new token (149.45971ms) +✔ X-G6: a 401 on the file token loses the grant: both tokens go, the record goes and memory unloads (155.66033ms) +✔ X-G6: a 403, 404, 500, a hang and a dropped socket each leave the rotation settle-pending with nothing deleted (1110.210113ms) +✔ X-G6: a file token no grant minted is held; the next restart says so again; a revoke clears it and takes both ids (268.295466ms) +✔ N9: a revoke of an open rotation, then a restart: no settle, no Gitea call and no message (178.405385ms) +✔ N9: a 404 on a delete by id counts as done (146.429096ms) +✔ X-G6: a restart undoes each step a killed child left, and spends an approved unspent decision (524.171778ms) +✔ X-G6: a restart with no admin slot leaves the user an orphan and the token left (67.758264ms) +✔ X-G7: a change to the definition, identity, publish remotes or admin slot after the raise ends decision-mismatch (153.837914ms) +✔ X-G7 and X-G9: an admin rotate voids open decisions, and rotate --finish deletes what was left (134.830812ms) +✔ X-G9: a rotate whose name is taken refuses and writes nothing; remove takes the slot away (90.744501ms) +✔ X-G9: a slot past its rotate-by date refuses a run at step 0, leaving the decision unspent (61.202231ms) +✔ X-G11: run refuses every caller but the human, an unapproved, a spent and a busy decision (135.168498ms) +✔ kill switch (plan :16): while halted the chief still reads grants.status, and an agent grants.revoke refuses (126.150239ms) +✔ X-G11: a revoke while the executor runs aborts it and the grant ends revoked (149.826928ms) +✔ X-G11: a revoke unloads memory and removes the file before its Gitea delete (168.804063ms) +✔ X-G11: a revoke during a rotation step 7 ends it revoked, and step 8 writes no record back (208.918918ms) +✔ X-G11: a revoke while a sweep settles a rotation, forward or back, ends it revoked with no record (442.725196ms) +✔ X-G11: a revoke during a settle whoami that finds a foreign token ends it revoked, not held (206.420198ms) +✔ X-G11: a revoke during a settle whoami that gets a 401 ends it revoked, not lost (195.229789ms) +✔ X-G12: a token that reaches wider than its forks fails with the repository named (466.288235ms) +✔ X-G12: reach is paged by X-Total-Count and a count that does not add up refuses (295.755156ms) +✔ X-G13: an agent cannot record a grant event, and the trigger refuses one from any writer but the grant writer (45.365905ms) +✔ X-G14: credentials delete fires the user: tokens go, login is prohibited, and grant.revoke.closed records it (304.97995ms) +✔ X-G14: a fire whose token delete or login PATCH fails lands it in serviceLeft (153.818958ms) +✔ X-G14: a fire whose user is gone or remade skips the fire steps and says why (319.729996ms) +✔ X-G14: a sweep retries a fire only for the user it fired: a remade or gone user is skipped and named (393.442793ms) +✔ X-G14: a revoke Gitea cannot reach stays open, and a restart closes it (187.553966ms) +✔ row 281 T8: a tester grants.revoke refuses tester-dev-only once bus.tester is off; the human revoke keeps its records and starts no job (143.475225ms) +✔ X-G15: look-alike commit steps outside the grant writer are ignored at start, by revoke and by status (142.663429ms) +✔ X-G15: a look-alike spend under another kind with the grant writer pair is not an open grant (56.780544ms) +✔ status lists the slot, users, grants and nothing secret, and every grants verb needs service gitea (123.456643ms) +✔ C2-21 L1/L2/L9: research gets write on her repository with declared scopes through raise and yes (139.889708ms) +✔ C2-21 L1/L2/L9: chief-of-staff gets read on her repository with declared scopes through raise and yes (140.222692ms) +✔ C2-21 L1/L2/L9: coder gets read on her repository with declared scopes through raise and yes (144.290003ms) +✔ C2-21 L7/L7b: research refuses non-library targets lib (53.068544ms) +✔ C2-21 L7/L7b: research refuses non-library targets app,lib (49.545745ms) +✔ C2-21 L7/L7b: chief-of-staff refuses non-library targets lib (47.459267ms) +✔ C2-21 L7/L7b: chief-of-staff refuses non-library targets app,lib (45.800088ms) +✔ C2-21 L4: read widened to write refuses gitea-reach-wider and deletes the minted token (113.47042ms) +✔ C2-21 L4: admin privilege refuses gitea-reach-wider and deletes the minted token (115.701394ms) +✔ C2-21 L4: missing pull refuses gitea-reach-wider and deletes the minted token (111.393534ms) +✔ C2-21 L4: missing permission object refuses gitea-reach-wider and deletes the minted token (112.867072ms) +✔ C2-21 L4: library fork refuses gitea-reach-wider and deletes the minted token (112.69746ms) +✔ C2-21 L8: untargeted library collaborator reach is disclosed and accepted publish-wide (114.413065ms) +✔ C2-21 L10: project kind or library level changing after raise refuses decision-mismatch (162.249108ms) +✔ C2-21 L4: creative write requires push true but ignores unrelated permission keys (226.653935ms) +✔ C2-21: a library grant with no declared scopes refuses gitea-not-declared at raise (51.582376ms) +ℹ tests 66 +ℹ suites 0 +ℹ pass 66 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 11944.93231 diff --git a/agents/magica/work/queue-329/gate/bus-gitea-migration.test.txt b/agents/magica/work/queue-329/gate/bus-gitea-migration.test.txt new file mode 100644 index 000000000..32bed60a4 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-gitea-migration.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/gitea-migration.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ 3j copy migrates to 3k: every row kept, and sqlite_master gains only the two tables and their keys (93.571039ms) +✔ a 3j→3k step that fails partway leaves the store at 3j with every row and the schema intact (111.532457ms) +✔ the 3j engine refuses a migrated store, migrating or not, and leaves it as it was (91.980477ms) +✔ gitea_users: one user per business and agent, an id above 0, a 16-hex nonce and a real decision (11.362717ms) +✔ gitea_grants: one grant per agent, a projects array, a token id above 0, and only for a recorded user (12.796298ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 406.14076 diff --git a/agents/magica/work/queue-329/gate/bus-grant-enroll.test.txt b/agents/magica/work/queue-329/gate/bus-grant-enroll.test.txt new file mode 100644 index 000000000..a4e4607b4 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-grant-enroll.test.txt @@ -0,0 +1,35 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/grant-enroll.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ G1, A1: only the chief raises a grant, and a refused raise stores nothing and runs no keyscan (46.645134ms) +✔ G1: grant goes only with credential.mint, row a takes only host-enroll, and E1 refuses each bad field (56.664466ms) +✔ G5, A5, A6: the scanned key set must equal the requested set, or host-key-mismatch and nothing stored (36.701202ms) +✔ G4 (host-enroll block, M1): the broker appends the keys, fingerprints and sudo line, and the cap counts the block (28.0911ms) +✔ G6, X1: the human's cli yes starts enrollment, which writes the record, the key file and the events in order (51.818404ms) +✔ A2, A4: a credential.mint without grant, and a no, start nothing (239.59713ms) +✔ A3, X1: a resolve by the tester or an agent starts nothing (236.514451ms) +✔ G6 (duckworth-0081 B3): a withdraw by the chief or the human, and an arbiter resolve, start nothing (236.673986ms) +✔ G10 (duckworth-0081 B1): a second start for a spent decision refuses decision-consumed, and an unresolved or agent-resolved one not-authorized (57.656722ms) +✔ A8, S1: two approved enrollments for one host: the second ends host-enrolled and the pin stays (78.14571ms) +✔ A9: the hosts primary key refuses a second record for (business, host) (28.890609ms) +✔ X3: a failure at step 2 deletes the record again and ends grant.failed, with no key file (51.353326ms) +✔ A10, X3: at start a resolved, unspent enrollment is spent and ends interrupted, and never runs late (32.999556ms) +✔ X3: at start an enrollment that stopped after its registry step loses its record and key file (54.85496ms) +✔ G24 first sentence, M2, A12: tags are mosaic- and 32 hex, and differ by business, agent and host (0.386375ms) +✔ E4: hosts.check sets the record ready and records grant.host.checked; a non-zero list leaves it pending (58.522726ms) +✔ G20 (duckworth-0081 B3): the human's hosts.check marks the host ready, and the reader refuses (55.395701ms) +✔ G18 (duckworth-0081 B2), broker half: a check refused host-key-mismatch leaves the host pending-install with no grant.host.checked (56.214661ms) +✔ E4: a check whose installer fingerprint differs from the record refuses host-changed (52.6934ms) +✔ E4, G21: hosts.remove is the human's or the tester's, deletes the key and the record, and records grant.host.removed (55.639523ms) +✔ G21, F1, F2, M4, A22: hosts.remove refuses host-line-left on a guarded hostLineLeft, and ignores look-alikes (59.528393ms) +✔ hosts.remove refuses host-in-use while a grant record names the host (51.634343ms) +✔ the grant writer refuses a body outside section 7's shape (27.061082ms) +✔ recordEvent refuses reserved-event for a grant.* action or operation (28.617014ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1775.39436 diff --git a/agents/magica/work/queue-329/gate/bus-grant-executor.test.txt b/agents/magica/work/queue-329/gate/bus-grant-executor.test.txt new file mode 100644 index 000000000..98ddb19c9 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-grant-executor.test.txt @@ -0,0 +1,53 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/grant-executor.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ row 280: an occupied TCP port is attempted, refused, and retried with our sshd (94.660089ms) +✔ row 280: every injected picker sample is unprivileged and outside the ephemeral range (0.439198ms) +✔ G7: an Approve installs the tagged line, logs in with the new key, and writes the key file, record and grant.applied (722.294369ms) +✔ G7: a commands change on a live grant updates the record in one transaction and keeps the key and line (570.920159ms) +✔ G8: a failure at install or verify removes the line and leaves no record, key file or reference (1632.927961ms) +✔ G8: a failed remove adds hostLineLeft and tells the human to sweep (679.963259ms) +✔ G8: a failure in step 5 before commit unlinks the key file, drops the reference and removes the line (697.024716ms) +✔ G8: a store fault in the commit transaction ends host-failed with no record, key file, reference or line (676.24616ms) +✔ G8: a failed step 1 check spends the decision and runs nothing remote (84.485711ms) +✔ G9: a registry, definition or commands change between raise and Approve ends decision-mismatch before any remote step (511.605818ms) +✔ G9: an agent no longer a role or no longer declaring host ends with its code, spent (77.932403ms) +✔ G10: a second start refuses decision-consumed, and an unresolved or agent-resolved decision not-authorized, writing nothing (523.218075ms) +✔ G15: no event, message or decision holds the private key (509.831129ms) +✔ G23: a revoke during install ends grant.failed revoked with no key file, no grant and no line (531.598279ms) +✔ G23 (row 249): an add that writes after an abort's remove leaves hostLineLeft until the sweep (873.84519ms) +✔ G23 (row 249): an add that writes after a timed-out install's remove leaves hostLineLeft until the sweep (884.79913ms) +✔ G23: a revoke recorded after the raise and before the start ends step 1 revoked, and a held slot ends host-busy (517.63216ms) +✔ G24: names at 64 characters with . and _ give distinct tags of the fixed length (0.419062ms) +✔ G11: a restart after install removes the line, then ends interrupted with the tag, holding the slot until then (227.523711ms) +✔ G11: a restart after a new key's commit, with the key file written, ends with no key file, record, reference or line (237.225684ms) +✔ G11: a restart after a commands change's commit leaves the record as it was and asks nothing of the host (527.207749ms) +✔ G11 (B2): a restart before step 1, spent or not yet spent, ends interrupted and nothing runs later (75.518953ms) +✔ G11: a remote undo that fails ends interrupted with hostLineLeft and the sweep hint (294.822848ms) +✔ G11: a restart leaves a finished grant alone, and the reconcile adds nothing for it (541.14692ms) +✔ N1 (G27): the start sweep unlinks host. files with no record in loaded businesses only, and refuses a store dir that is not private (7.118517ms) +✔ G12: the human's hosts.revoke deletes the record, the key file, the reference and the line, with a closed marker (683.669283ms) +✔ G12 (N4): a revoke with no record still removes the computed tag's line, with granted false; bad args refuse (219.881995ms) +✔ G13: a revoke during install aborts the executor, which ends revoked, and the line goes (568.768707ms) +✔ G26: the human, the assistant and the tester revoke; the chief and a pm refuse; sweep is the human's or the tester's (520.879686ms) +✔ row 281 T8: a tester hosts.revoke refuses tester-dev-only once bus.tester is off, and a human revoke writes no job records (661.726101ms) +✔ G27: a restart after step 1 sweeps the key file and runs step 3 once the bus is up; status shows the revoke until then (686.867621ms) +✔ G27: after step 2 with the host down, the restart closes the marker with hostLineLeft; a marker without a revoke id is not reopened (964.354003ms) +✔ G27: a key file a revoke could not unlink is reported left and goes at the next start (710.946832ms) +✔ G28: a commands change, then a revoke, then a restart leave no record, key, reference or line (733.327501ms) +✔ G24 (B4): hosts.sweep removes only this business's recorded tags no live grant holds, and records what it left (1035.423551ms) +✔ G12: the local steps finish before the host step, so a host that hangs leaves the agent no access (725.603675ms) +✔ G23 (X5): a revoke right after the spend reaches the executor's claim, so the grant ends revoked (223.136275ms) +✔ G23 (X5): a revoke that lands as verify returns ends revoked with no record, key file or line (687.260709ms) +✔ G13: a revoke whose host remove fails still drops the record and key, and reports the line left for a sweep (663.382118ms) +✔ G22: enroll, check, grant, host.run, a commands change the next host.run uses, and a revoke that kills a run in flight (1252.408539ms) +✔ mos-1163: a grant whose agent became a creative role after the raise ends host-creative-role at step 1, spent, with nothing remote (71.190184ms) +✔ sage-1908: once the agent of an applied grant is a creative role, host.run refuses host-creative-role, runs nothing remote and keeps the record (523.043409ms) +ℹ tests 42 +ℹ suites 0 +ℹ pass 42 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 22539.529342 diff --git a/agents/magica/work/queue-329/gate/bus-grant-host.test.txt b/agents/magica/work/queue-329/gate/bus-grant-host.test.txt new file mode 100644 index 000000000..bdd0dc9fd --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-grant-host.test.txt @@ -0,0 +1,21 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/grant-host.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ G1 (host): only the chief raises a host grant, a grant on any other action refuses, and nothing is stored (35.205899ms) +✔ G1, R4: the grant takes exactly method, agent, host, commands and rotateBy, and an unknown method refuses (42.625416ms) +✔ row 236 (#1742): a gitea grant on a broker with no Gitea path refuses gitea-not-configured, and nothing is stored (24.39352ms) +✔ G2: an agent whose definition lacks host refuses host-not-declared, and an unknown agent unknown-role (28.555042ms) +✔ mos-1163: a grant whose agent is a creative role refuses host-creative-role, even when its definition declares host (24.356146ms) +✔ G3: wildcard, shell, empty and other 210 D6 argv prefixes refuse invalid-request (46.601986ms) +✔ R4 rotateBy (sage-1782): a real calendar day after today UTC, or invalid-request (38.677278ms) +✔ G19: a grant naming a host that is pending-install refuses host-not-ready, and an unknown host host-unknown (30.343279ms) +✔ R4, G5: the raise routes to the human and its event body binds the eight fields with their hashes (24.878582ms) +✔ G4 (host block): the broker appends the host, each prefix, the rotate date and new key or change (36.752822ms) +ℹ tests 10 +ℹ suites 0 +ℹ pass 10 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 427.01057 diff --git a/agents/magica/work/queue-329/gate/bus-grant-migration.test.txt b/agents/magica/work/queue-329/gate/bus-grant-migration.test.txt new file mode 100644 index 000000000..b114ef422 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-grant-migration.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/grant-migration.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ 3i copy migrates to 3j: every row kept, and sqlite_master gains only the two tables, their keys and the guard (88.711531ms) +✔ a 3i→3j step that fails partway leaves the store at 3i with every row and the schema intact (95.241037ms) +✔ the 3i engine refuses a migrated store, migrating or not, and leaves it as it was (88.785742ms) +✔ A22b, sage-1703: a session-written grant.* row from before the step survives it, and the grant readers ignore it (84.26533ms) +✔ the guard: a grant.* action or operation on action.allowed needs the (NULL, grant) actor (16.050945ms) +✔ hosts: one record per business and host, a ready host has its installer and check, grants need the host (12.776631ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 481.267969 diff --git a/agents/magica/work/queue-329/gate/bus-grant-scope-runtime.test.txt b/agents/magica/work/queue-329/gate/bus-grant-scope-runtime.test.txt new file mode 100644 index 000000000..9764dc291 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-grant-scope-runtime.test.txt @@ -0,0 +1,13 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/grant-scope-runtime.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"demo"} +✔ row 298 runtime: human scope approval writes the file and organization history at the supplied revision (90.465342ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 211.490685 diff --git a/agents/magica/work/queue-329/gate/bus-grant-scope.test.txt b/agents/magica/work/queue-329/gate/bus-grant-scope.test.txt new file mode 100644 index 000000000..07a658bbb --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-grant-scope.test.txt @@ -0,0 +1,25 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/grant-scope.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ row 298 (Q3): only the human at the cli reads or sets the scope; agents, the tester, a reader and the Console refuse (87.128588ms) +✔ row 298 (Q1): organization.set and limits.set refuse a grantScope key, and nothing is written (56.91985ms) +✔ row 298 (Q3): the human verb writes the scope and a grant.scope record with the human proof and both sha256 (58.187056ms) +✔ row 298 (Q4): an in-scope Gitea grant is issued with no inbox item, logged with 236 records, and revocable (159.958254ms) +✔ row 298: an out-of-scope Gitea grant waits for the human, whose Approve still issues it (115.744827ms) +✔ row 298: with no scope, a bad scope or an unreadable file, an in-scope-looking grant waits (163.635851ms) +✔ row 298 (Q6): a chief-of-staff instance that is not launch.by never raises in scope (53.19945ms) +✔ row 298 (Q5): a scope narrowed between the raise and the spend ends the grant scope-changed (99.030881ms) +✔ row 298 (Q2): an in-scope host grant is spent with no Approve; ls never covers lsblk, nor a scope command extra arguments (83.052691ms) +✔ row 298 (Q5): a host scope narrowed before the spend ends scope-changed (75.149488ms) +✔ row 298 Q4: missing scope evidence or a bad scope digest cannot authorize execution (103.575082ms) +✔ row 298 T4/T8: an in-scope host grant issues, records and revokes through the existing executor (81.554137ms) +✔ row 298 T6: host enrollment stays open for human Approve even with both methods in scope (51.833627ms) +✔ row 298: scope without an organization revision never closes automatically (48.942907ms) +ℹ tests 14 +ℹ suites 0 +ℹ pass 14 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1329.921435 diff --git a/agents/magica/work/queue-329/gate/bus-hard-waits.test.txt b/agents/magica/work/queue-329/gate/bus-hard-waits.test.txt new file mode 100644 index 000000000..df37c169c --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-hard-waits.test.txt @@ -0,0 +1,24 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/hard-waits.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-WAIT-1: the broker hard waits are exactly the list, and match the business vocabulary (1.171223ms) +✔ REQ-WAIT-2: a business granting a hard wait at either class is refused; the actions that left are grantable (32.164958ms) +✔ REQ-DEC-2: every hard wait goes to the human, cited or not, and the arbiter cannot resolve it (521.804202ms) +✔ REQ-DEC-2: a gated raise citing the current spec goes to the arbiter for its domain; uncited, to the human (233.811002ms) +✔ REQ-DEC-2: an arbiter-approved cited gated decision authorizes the raiser, and the human cannot resolve it (51.329546ms) +✔ REQ-DEC-2: a cited merge raised by merge-gate goes to the technical arbiter; a merge raised without the grant routes by citation (67.68312ms) +✔ REQ-DEC-2: a stale or unconfirmed citation refuses without a decision; an arbiter raising its own goes to the human (106.214134ms) +✔ Q169: the chief of staff's end of the assistant stops every thread run; its own run and another ender's are refused (50.387279ms) +✔ Q169: a revoke of the assistant the chief of staff raises goes to the human, cited or not, and no arbiter resolves it (126.730592ms) +✔ Q169: another role's cited revoke of the assistant, resolved by an arbiter, is refused (67.790151ms) +✔ Q169: a revoke of the assistant citing a decision the human resolved stops its thread run (57.966455ms) +✔ Q169: a cited revoke of a role not in END_PROTECTED still goes to the arbiter, and executes (53.043ms) +✔ Q169: a role granted role.revoke at either class still sends a revoke of the assistant to the human (70.026454ms) +ℹ tests 13 +ℹ suites 0 +ℹ pass 13 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1538.012391 diff --git a/agents/magica/work/queue-329/gate/bus-host-run.test.txt b/agents/magica/work/queue-329/gate/bus-host-run.test.txt new file mode 100644 index 000000000..f6fc2af9d --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-host-run.test.txt @@ -0,0 +1,37 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/host-run.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ row 280: an occupied TCP port is attempted, refused, and retried with our sshd (91.359013ms) +✔ row 280: every injected picker sample is unprivileged and outside the ephemeral range (0.402429ms) +✔ the executor tests need sshd, ssh, ssh-agent, ssh-add, ssh-keygen and setpriv: a missing one fails, never skips (0.114796ms) +✔ T3: organization.set, limits.set and instances.set refuse hosts, and the writer never runs (24.749073ms) +✔ T4: the value check takes one unencrypted ed25519 key and nothing else (186.403962ms) +✔ T5 to T8: registry, grant, argv shape and allowlist refusals (529.576558ms) +✔ T9: under 1.7 every call needs a decision bound to its host, argv and stdin, spent once (304.941719ms) +✔ T10, T11: argv reaches sudo unchanged after sudo -n -- (336.223417ms) +✔ T12, T13: exit code passes through, the timeout kills the group, output is capped (1526.035218ms) +✔ T14: a host key not in the registry refuses and nothing runs (190.407495ms) +✔ G18: hosts.check with a wrong pin refuses host-key-mismatch and runs nothing on the host (332.111395ms) +✔ N3: a remote exit 255 that prints the pin refusal text is the command result, and an ssh failure keeps its message (320.860467ms) +✔ T15: ssh reads no config file and no user known_hosts (285.960915ms) +✔ T16, T17: key material in output or stdin refuses credential-leak, and no event holds it (664.793841ms) +✔ T18, T19, T20: one call at a time, no key in any argv or env, and nothing left after (4676.060209ms) +✔ T21: revoke kills the call in flight, and the next call refuses (317.157657ms) +✔ T22: events carry host, address, user and argv in clear, and sizes and hashes only (288.225025ms) +✔ T24: no literal gitea and vikunja kind list outside vocabulary.mjs, and the credential use sites are known (21.830042ms) +✔ T25: no role definition lists host.sudo while it is a hard wait (0.557202ms) +✔ T27: the bus child dying takes ssh and ssh-agent with it (348.702638ms) +✔ T27: ssh-add -t drops the key from an agent the test keeps alive (3561.06465ms) +✔ N2: a hung ssh-add is killed at its limit or on abort, and nothing is left running (429.311091ms) +✔ T27: the start sweep keeps a live bus dir and kills only a matching live process (28.055229ms) +✔ T27: the bus start sweeps /secrets/run before it listens, and a stray entry stops the start (66.255666ms) +✔ M3: host.run refuses host-not-granted unless the grant record has an approved, spent host grant (185.900047ms) +✔ M3: a host_grants record gives Credentials a store reference at start, and a restart reads its key (108.768545ms) +ℹ tests 26 +ℹ suites 0 +ℹ pass 26 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 14954.804799 diff --git a/agents/magica/work/queue-329/gate/bus-host-tools.test.txt b/agents/magica/work/queue-329/gate/bus-host-tools.test.txt new file mode 100644 index 000000000..e21900ff8 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-host-tools.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/host-tools.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ G16: the writer refuses each user, tag and key the design names, before any key file (2354.057787ms) +✔ G16: from= comes from the host file, a privileged user skips the group and sudo checks, and the line is exact (641.681362ms) +✔ G16: list shows tagged lines only, and add and remove never touch a line outside the tag pattern (312.988539ms) +✔ G25: the writer refuses a symlinked dir or user file, a group-writable dir and an odd tmp, and writes 0644 (450.863186ms) +✔ G16: mosaic-keys passes the three requests to the writer through sudo and refuses anything else without it (87.33416ms) +✔ E3: the sudoers line and the sshd drop-in are the design lines and parse (15.418998ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 3913.268231 diff --git a/agents/magica/work/queue-329/gate/bus-human.test.txt b/agents/magica/work/queue-329/gate/bus-human.test.txt new file mode 100644 index 000000000..9f6c21d5a --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-human.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/human.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ human proof binds CLI entry, process start and nonce; agents and incomplete ancestry refuse (1.350593ms) +✔ process reader gets own kernel identity without exposing environment values (0.411753ms) +✔ EACCES ancestor environments skip only markers; commands and registered launches still refuse (0.545686ms) +✔ real pid 1 remains inspectable when its environment is protected (0.218231ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 66.071589 diff --git a/agents/magica/work/queue-329/gate/bus-instances-verb.test.txt b/agents/magica/work/queue-329/gate/bus-instances-verb.test.txt new file mode 100644 index 000000000..87876fce7 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-instances-verb.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/instances-verb.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +✔ row 165: instances and instances.set refuse every non-human session but the tester, the chief of staff included, and pass the verified actor (38.443172ms) +✔ row 165 runtime: an add and a change reach the organization file with the human as actor; each refusal keeps the bytes and logs nothing (144.334449ms) +✔ row 194 T12: agent and reader sessions refuse veto.set; the tester gets add and change but not delete or veto.set; the human passes the hook for each listed verb (27.04305ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 303.207159 diff --git a/agents/magica/work/queue-329/gate/bus-interpreter.test.txt b/agents/magica/work/queue-329/gate/bus-interpreter.test.txt new file mode 100644 index 000000000..60e94a334 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-interpreter.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/interpreter.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ system Python is a resolved root-owned ELF, never a shim or home interpreter (2.279597ms) +✔ real system interpreter is available and safely inspected (22.498516ms) +✔ restart receipt appends actual replacement identity and refuses unsafe files (3.868223ms) +✔ activation gate compares fresh startup receipt to the current interpreter identity (1.418072ms) +✔ non-regular startup receipt refuses promptly without waiting on a FIFO peer (36.737323ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 120.895908 diff --git a/agents/magica/work/queue-329/gate/bus-land.test.txt b/agents/magica/work/queue-329/gate/bus-land.test.txt new file mode 100644 index 000000000..88c1f0022 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-land.test.txt @@ -0,0 +1,29 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/land.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-DEC-2: a merge-gate raise its arbiter resolved lands through the host op: checkLand answers the facts and a ticket, records nothing, and recordLand spends the decision once (42.116778ms) +✔ checkLand refuses on the decision and the review (39.192806ms) +✔ REQ-LAND-1: a gated merge decision refuses not-authorized, cited and approved by the arbiter or uncited and approved by the human (97.041865ms) +✔ REQ-LAND-1: a within-role merge grant refuses not-authorized at the land (25.783942ms) +✔ a cross-role merge that routes to the human, because merge-gate is its own arbiter, lands on the human's CLI answer (26.348951ms) +✔ a merge option with no first line refuses no-subject, as land-work does (24.292282ms) +✔ checkLand refuses with land-work's codes past the authority check, and a decision raised for refactor never lands (65.77898ms) +✔ a ticket outlives the run that asked, and recordLand checks the task again (30.468791ms) +✔ two tickets on one decision: the first recordLand lands, the second refuses decision-consumed and records nothing (31.8988ms) +✔ landRefused files the code on the task, tells the role only with notify, and ends the ticket (34.281789ms) +✔ landHeld is true only for an approved, unspent cross-role merge decision this role raised for a task in this thread (42.003595ms) +✔ landHolders lists a merge decision exactly while landHeld is true for its non-thread instance, in decision order (47.122026ms) +✔ landHolders leaves out a thread instance's decision, even one raised before its role became one (26.839884ms) +✔ landRelease releases the holding run by land-relaunch once it has asked message.receive and nothing delivered to it is unread, and waiting messages go to the next holder (42.731787ms) +✔ a landing run started after the resolution passes checkLand for its held decision before any message.receive, and lands it (31.505683ms) +✔ the bus process answers landHolders and landRelease from their own lines, not as credentialStatus (170.382821ms) +✔ usage.begin with a decision id needs it held for the run's instance, usage.end needs the begin, and the limit checks see the landing turn (35.573784ms) +✔ no run may write the action.allowed for git.merge.protected itself (17.825151ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 18 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 923.100321 diff --git a/agents/magica/work/queue-329/gate/bus-launch-notice.test.txt b/agents/magica/work/queue-329/gate/bus-launch-notice.test.txt new file mode 100644 index 000000000..4bb9d7b0f --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-launch-notice.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/launch-notice.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ a message to a stopped role sends launch.by one notice, and the result says so (32.255476ms) +✔ a message to a role outside launch.instances says so in its result and in the notice (18.258181ms) +✔ a message to a running role sends no notice and its result is unchanged (16.519528ms) +✔ a re-route at a claim, a release and claim, and a broker restart send no second notice (24.512114ms) +✔ a run launched but not yet claimed counts as no holder (14.859489ms) +✔ no notice for a message to launch.by, from it, a refused one from a tester, to the human, or in a thread to a thread instance (30.888147ms) +✔ a business with no launch block tells nobody and says there is no launcher (14.218399ms) +✔ the notice sender stays internal: no role is named _bus and no caller can send as it or to it (36.791821ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 288.144937 diff --git a/agents/magica/work/queue-329/gate/bus-launcher-released.test.txt b/agents/magica/work/queue-329/gate/bus-launcher-released.test.txt new file mode 100644 index 000000000..d4dc5795a --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-launcher-released.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/launcher-released.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ row 302 a run threadIdle released answers launcher-released on receive, state, read and send, logs each, and claims nothing again (48.753352ms) +✔ row 302 with a run launcher-released, a run that lost its claim another way still answers not-holder (36.041114ms) +✔ row 302 a run landRelease released answers launcher-released, and claims nothing again (36.417076ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 210.153395 diff --git a/agents/magica/work/queue-329/gate/bus-library-credential.test.txt b/agents/magica/work/queue-329/gate/bus-library-credential.test.txt new file mode 100644 index 000000000..20ed1ec38 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-library-credential.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library-credential.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ C2-03b T6: the slot before any chief evidence, then the listed chief's live grant (28.433906ms) +✔ C2-03b T7: a chief revoked through grants.revoke or fired through instance.fire refuses, and the fallback stays ended (321.503246ms) +✔ C2-03b T7 choice checks: delisted, a fire under way and held each refuse; a rehire lists the chief again (34.037175ms) +✔ C2-03b T8: a chief grant on another project ends the fallback, and two listed chiefs refuse library-fetch-no-grant (33.550891ms) +✔ C2-03b departure (sage-2928): with no chief entry, any Gitea grant evidence refuses (19.14349ms) +✔ C2-03b T9 runtime: the chief's store file and user, then a real revoke that runs no git with the slot at 0000 (872.931307ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1447.67694 diff --git a/agents/magica/work/queue-329/gate/bus-library-lookups.test.txt b/agents/magica/work/queue-329/gate/bus-library-lookups.test.txt new file mode 100644 index 000000000..c0f322ea5 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-library-lookups.test.txt @@ -0,0 +1,22 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library-lookups.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ all five agent verbs read the configured served commit through real queries (137.997898ms) +✔ each verb refuses missing universe and unknown keys before host work (75.842489ms) +✔ no library, missing host adapter and undeclared project refuse library-not-configured (159.428755ms) +✔ reads need the current holder on each call; human/tester/reader are not agents (92.228125ms) +✔ releasing a claim during an async lookup fences the response (50.952204ms) +✔ a business library removed during an async read cannot leak its result (44.780288ms) +✔ freshness boundary, unknown last fetch and failed fetch still use immutable served state (135.702947ms) +✔ an unreadable sync state fails closed; a busy sync keeps serving the existing pin (75.158136ms) +✔ a stale lookup sees the commit published by its sync, not the prior served commit (86.989494ms) +✔ real socket awaits lookup results and rechecks rejected query arguments (102.484989ms) +✔ runtime actually injects the lookup adapter, without exposing human library.file (156.865012ms) +ℹ tests 11 +ℹ suites 0 +ℹ pass 11 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1273.752824 diff --git a/agents/magica/work/queue-329/gate/bus-library-sync.test.txt b/agents/magica/work/queue-329/gate/bus-library-sync.test.txt new file mode 100644 index 000000000..a2f4affe4 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-library-sync.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library-sync.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ C2-03a library.sync: every agent, the tester and a reader are refused before the adapter runs (30.330167ms) +✔ C2-03a library.sync: the human fetches, accept passes through, and a held sync is a recorded refusal (19.255095ms) +✔ C2-03a library.sync: a LibraryError keeps its code and a host without sync is not configured (25.964892ms) +✔ C2-03a runtime: a librarySync from a boot config, with no function, is refused (1.335076ms) +✔ C2-03a runtime: the timer syncs each entry with a user at start and on each tick, logs codes only, and stops on close (595.316687ms) +✔ row 254 human-cli: library.sync outlasts the 5 s client default, and library.status does not (6097.963666ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 6913.249088 diff --git a/agents/magica/work/queue-329/gate/bus-library.test.txt b/agents/magica/work/queue-329/gate/bus-library.test.txt new file mode 100644 index 000000000..ced6fb124 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-library.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/library.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ C2-04 M4: both verbs reject every agent before arguments or adapter access (40.348648ms) +✔ C2-04 bus: human reads validate keys and return adapter results without path leakage (16.631544ms) +✔ C2-04 socket: each async library verb resolves its result rather than serializing {} (82.94035ms) +✔ C2-04 runtime: protectedRoots skips library but retains real code-root credential protection (122.332874ms) +✔ C2-04 runtime: unsafe existing mirror refuses boot and never publishes a socket (30.378693ms) +✔ C2-04 runtime: real library adapters reach the socket and lock waits leave other bus reads responsive (254.395845ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 685.769026 diff --git a/agents/magica/work/queue-329/gate/bus-lifecycle-revoke.test.txt b/agents/magica/work/queue-329/gate/bus-lifecycle-revoke.test.txt new file mode 100644 index 000000000..552613949 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-lifecycle-revoke.test.txt @@ -0,0 +1,20 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/lifecycle-revoke.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"demo"} +✔ T20 fire: a revoke that fails stops the fire with the file unchanged; one that succeeds revokes, keeps the directory and names the services outside the store (123.71829ms) +✔ T20 fire: an instance already delisted still has its tokens revoked and the file is left alone (61.625067ms) +✔ T20 fire: with no entry in the running bus, a token on disk refuses and an empty store goes on (70.463008ms) +✔ T20 delete: a revoke that fails keeps the file; one that succeeds clears the store, deletes, and names the tracker bot (84.873087ms) +✔ T20 delete: with no entry in the running bus, a token file is cleared and the delete goes on; a file reference refuses (66.62316ms) +✔ T21 delete: a write between the raise and the take makes the delete refuse revision-conflict before it revokes anything (69.53016ms) +✔ row 281 T1 fire: a host. or granted gitea file in the store refuses step B credential-revoke-failed, file unchanged (69.622521ms) +✔ row 281 T1 start: a host grant record whose key file is gone starts and reads not-issued (63.243764ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 766.948689 diff --git a/agents/magica/work/queue-329/gate/bus-lifecycle-verbs.test.txt b/agents/magica/work/queue-329/gate/bus-lifecycle-verbs.test.txt new file mode 100644 index 000000000..1a583dc54 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-lifecycle-verbs.test.txt @@ -0,0 +1,24 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/lifecycle-verbs.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ row 194 T12: agent and reader sessions refuse the lifecycle verbs before any effect; the tester gets launch, end and the request read, never regenerate (43.457158ms) +✔ row 194 V2 and V4 at the verb: the request is open, by the human, with a human.input; thread, retired, unknown and revoked refuse with no event (24.899895ms) +✔ row 194 D1.1 take: a request is taken once, closes once, and lifecycleRequests lists only what is not closed (19.646348ms) +✔ row 194 D1.1 take: a launch.revoke after the request closes it launch-revoked, and a request past 60 s closes request-expired (22.328861ms) +✔ row 194 T15 (bus): while halted, launch and regenerate refuse processing-halted at the verb and at the take, hire and fire refuse, terminate goes; an unreadable switch refuses with its code (31.705267ms) +✔ row 194 T12a: the tester launches and ends on its own business with actor tester; bus.tester off in the file refuses the call and the take tester-off (23.512176ms) +✔ row 194 V3 terminate: claims revoked, open requests cancelled, bound runs named, taken requests listed; nothing at all answers not-held (30.750976ms) +✔ row 194 V3 terminate of a thread instance: the human ends every thread, the tester only its own (24.744447ms) +✔ row 194 T6 V5 order at the verb: the writer's named refusals, then instance-running, instance-starting, the last-listed refusal and the revision (39.171838ms) +✔ row 194 V5: an open launch past its 60 s is not starting, as it can only close request-expired (13.773267ms) +✔ row 194 V5 after the take: lifecycleDelete re-checks running and starting, then commits through the writer with the human as actor (24.478799ms) +✔ row 194 V5 retry: a retired name deletes again only after workspace-rename-failed, and that request commits nothing (21.885622ms) +✔ row 194 V5 runtime: a delete request, the take and lifecycleDelete commit the file with retired, log the human and reload so the name no longer binds (152.476894ms) +ℹ tests 13 +ℹ suites 0 +ℹ pass 13 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 570.885604 diff --git a/agents/magica/work/queue-329/gate/bus-limit-checks.test.txt b/agents/magica/work/queue-329/gate/bus-limit-checks.test.txt new file mode 100644 index 000000000..2088b3f83 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-limit-checks.test.txt @@ -0,0 +1,27 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/limit-checks.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-LIMIT-3 limitLeaves finds every limit object and skips the agent numbers (1.599844ms) +✔ REQ-LIMIT-3 limitLeaves takes token limits at schema depth only, whatever their names (0.276521ms) +✔ REQ-LIMIT-3 with no check switched on a launch is allowed, a turn never stops, and every limit is not enforced (17.011807ms) +✔ REQ-LIMIT-3 a fixture check that refuses refuses the launch and stops the turn, logged with the limit and the count (17.416467ms) +✔ REQ-LIMIT-3 a report that omits a limit shows it not enforced; a counted entry and a reason come through (16.441969ms) +✔ REQ-LIMIT-4 each check gets the business, a copy of the limits, the subject, the records and the time (18.792049ms) +✔ REQ-LIMIT-4 fail closed: a throw refuses, stops and fails the report, naming the check and the code (16.33115ms) +✔ REQ-LIMIT-4 fail closed: a malformed answer, a promise, a rejected promise, a non-boolean or a bad hit is malformed-answer (19.086468ms) +✔ REQ-LIMIT-4 fail closed: a check switched on but not loaded refuses, stops and fails every limit as not-loaded (16.202538ms) +✔ REQ-LIMIT-4 state(), never-loaded case: before any load the report shows not enforced, or not-loaded for a switched-on check (13.292711ms) +✔ REQ-LIMIT-4 state(), first-load-refused case: a check refused on its first load is not-loaded in mayLaunch, mustStop and report (14.281973ms) +✔ REQ-LIMIT-4 fail closed: an unreadable organization file refuses and stops with check null; the report throws (13.417783ms) +✔ REQ-LIMIT-4 fail closed: unreadable records refuse and stop with check null and fail the report (0.600481ms) +✔ REQ-LIMIT-3 the shipped token-limit, through the real loader, counts known records only since the limit was set (27.81642ms) +✔ REQ-LIMIT-3 a token limit for a provider named limit is counted and refuses, beside an agent limit of the same name (12.878814ms) +✔ REQ-LIMIT-3 core reaches limit checks only through the plug-in loader (1.395068ms) +ℹ tests 16 +ℹ suites 0 +ℹ pass 16 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 313.502834 diff --git a/agents/magica/work/queue-329/gate/bus-limit-stop.test.txt b/agents/magica/work/queue-329/gate/bus-limit-stop.test.txt new file mode 100644 index 000000000..76e88ce0d --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-limit-stop.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/limit-stop.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-LIMIT-4 a role run at its limit stops at the end of its turn: RESULT and read land first, the claim is revoked by limit-check (38.101082ms) +✔ REQ-LIMIT-4 the stop also lands on state; a run with no stop ends without a limit (34.908211ms) +✔ REQ-LIMIT-4 fail closed: a mustStop throw or a malformed answer stops the run, naming the bus and the code (95.380091ms) +✔ REQ-LIMIT-4 a thread run at its limit is released with the reason, and its end record names the limit (28.922384ms) +✔ REQ-LIMIT-4 a broker with no limit checks configured never stops a run (19.048342ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 305.238601 diff --git a/agents/magica/work/queue-329/gate/bus-limits-runtime.test.txt b/agents/magica/work/queue-329/gate/bus-limits-runtime.test.txt new file mode 100644 index 000000000..cc6cc8031 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-limits-runtime.test.txt @@ -0,0 +1,22 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/limits-runtime.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +limits: {"event":"limit-reached","business":"demo","check":"token-limit","export":"mayLaunch","subject":{"instance":"coder","provider":"zai","model":"glm-5.3-flash","account":null},"path":["tokens","instances","coder"],"limit":0,"count":0,"unknownTurns":0} +organization: {"event":"reload-needs-restart","business":"demo"} +usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"18e16b92-0c3d-423f-8ce1-f4a68bf5b24d","source":"@none","code":"baseline-unknown"} +limits: {"event":"limit-reached","business":"demo","check":"token-limit","export":"mustStop","subject":{"instance":"coder","provider":"zai","model":"glm-5.3-flash","account":null},"path":["tokens","instances","coder"],"limit":0,"count":0,"unknownTurns":1} +usage: {"event":"usage-unknown","business":"demo","run":"run1","instance":"coder","turn":"65bc80de-4f65-4c0c-b11f-5fabbb337df8","source":"@none","code":"baseline-unknown"} +organization: {"event":"reload-needs-restart","business":"demo"} +✔ REQ-LIMIT-3 REQ-LIMIT-4 runtime: limits carries the token count, mayLaunch refuses at the limit, a reset moves since (176.332892ms) +✔ REQ-LIMIT-3 runtime: with no limit check switched on, the limit shows not enforced and every launch is allowed (48.303381ms) +✔ REQ-LIMIT-4 runtime: the broker asks the shipped token-limit after a turn, and the run at its limit stops on its next receive (64.384661ms) +✔ REQ-LIMIT-4 runtime: with no usage source a turn is unknown, counts zero and stops nothing under a limit of 1 (61.557366ms) +✔ REQ-LIMIT-3 runtime: switching a limit check on with plugins.set loads it without a launch or a turn (74.837608ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 483.732161 diff --git a/agents/magica/work/queue-329/gate/bus-limits.test.txt b/agents/magica/work/queue-329/gate/bus-limits.test.txt new file mode 100644 index 000000000..c66e7e413 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-limits.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/limits.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +✔ limits binds actor from human proof and rejects role, reader, a tester set and forged actor (26.389357ms) +✔ runtime wires verified human settings to the actual shared file writer and actor receipt (131.326332ms) +✔ uncertain organization receipts leave bus startup and reads alone but refuse writes until reconciled (67.495935ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 329.367772 diff --git a/agents/magica/work/queue-329/gate/bus-message-citation.test.txt b/agents/magica/work/queue-329/gate/bus-message-citation.test.txt new file mode 100644 index 000000000..6647c76d1 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-message-citation.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/message-citation.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ within-role sends cite an open gated launch decision without spending it or naming it in grants (33.786703ms) +✔ missing and foreign-business citations refuse and roll back message and grant (23.022036ms) +✔ cross-role sends still need a matching resolved decision and consume it once (26.823402ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 174.083319 diff --git a/agents/magica/work/queue-329/gate/bus-message-filter.test.txt b/agents/magica/work/queue-329/gate/bus-message-filter.test.txt new file mode 100644 index 000000000..a495672e3 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-message-filter.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/message-filter.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ trail on a hidden message id answers exactly as on an unknown id, for the owner, a reader and the tester (28.647197ms) +✔ replies on a hidden message id answers exactly as on an unknown id, for the owner, a reader and the tester (28.45137ms) +✔ trail on a decision keeps the decision and drops the user thread messages, their deliveries and their events (38.380375ms) +✔ replies leaves out other users thread messages and still fills a page (215.397939ms) +✔ messages in the business human and tester threads are not hidden (row 177 unchanged) (47.334765ms) +✔ governance pin: the owner sees decisions, inbox entries, claims, tasks and project files, but not the user messages (119.043011ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 576.557872 diff --git a/agents/magica/work/queue-329/gate/bus-messages.test.txt b/agents/magica/work/queue-329/gate/bus-messages.test.txt new file mode 100644 index 000000000..f9909223d --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-messages.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/messages.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ messages pages all human messages newest first without writes; read state is history (358.315594ms) +✔ messages refuses role callers, invalid paging and cursors outside this human feed (28.916097ms) +✔ views messages passes only its paging arguments through (0.333574ms) +✔ messages isolates businesses even with a valid foreign cursor (21.082789ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 521.375984 diff --git a/agents/magica/work/queue-329/gate/bus-messaging.test.txt b/agents/magica/work/queue-329/gate/bus-messaging.test.txt new file mode 100644 index 000000000..81966f1d2 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-messaging.test.txt @@ -0,0 +1,24 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/messaging.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ the assistant sends to the user and to the chief of staff only (41.993409ms) +✔ an assistant send to any other role, or to the tester, is refused and logged (43.121841ms) +✔ only the user and the chief of staff may send to the assistant; the tester is refused by default (39.584296ms) +✔ REQ-ASSIST-2 REQ-THREAD-1 thread.send to an instance that does not hear from the user is refused and stores nothing (31.285133ms) +✔ a sender-side list alone refuses a send to a role that has no list (34.479897ms) +✔ a target-side list alone refuses a send from a role that has no list (35.130953ms) +✔ the sender list is checked before the target list (31.657428ms) +✔ roles without the field behave exactly as before (45.092982ms) +✔ a business with no role definitions at all is unlimited (40.831591ms) +✔ a malformed messaging field refuses at boot (15.511551ms) +✔ the assistant's review.request to a reviewer is refused and logged, even with an approved decision (38.211668ms) +✔ a review.verdict to the assistant from a role outside its receiveFrom is refused and logged (43.53497ms) +✔ review requests and verdicts between roles without the field are unchanged (33.169693ms) +ℹ tests 13 +ℹ suites 0 +ℹ pass 13 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 564.335441 diff --git a/agents/magica/work/queue-329/gate/bus-model-proxy.test.txt b/agents/magica/work/queue-329/gate/bus-model-proxy.test.txt new file mode 100644 index 000000000..f8103fcf0 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-model-proxy.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/model-proxy.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ proxy.init only accepts path-bound outside-agent human; refuses agent/tester/reader (30.158664ms) +✔ proxy.init proxy-key-invalid (15.434067ms) +✔ proxy.init proxy-config-invalid (15.208282ms) +✔ proxy.init invalid-request (14.948605ms) +✔ proxy.init not-configured (14.582576ms) +✔ proxy.init callback error redacts key and maps outcome to named refusal (16.400417ms) +✔ socket awaits proxy.init and does not return a Promise object or retain human cap (37.025958ms) +✔ proxy-init-failed: extra callback fields cannot return a management key (13.28496ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 251.574261 diff --git a/agents/magica/work/queue-329/gate/bus-name-migration.test.txt b/agents/magica/work/queue-329/gate/bus-name-migration.test.txt new file mode 100644 index 000000000..c72f9ff1b --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-name-migration.test.txt @@ -0,0 +1,12 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/name-migration.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ 3f copy migrates to 3g preserving every old column/row, with an empty instance_names and null to_name (97.212932ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 178.367219 diff --git a/agents/magica/work/queue-329/gate/bus-names.test.txt b/agents/magica/work/queue-329/gate/bus-names.test.txt new file mode 100644 index 000000000..e2737658e --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-names.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/names.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-MSG-2: the chief of staff names an instance under its within-role grant, and the write is logged (26.603404ms) +✔ REQ-MSG-2: the human names an instance through the CLI (21.775782ms) +✔ REQ-MSG-2: a role without the grant, or holding it cross-role, is refused not-authorized (23.707657ms) +✔ REQ-MSG-2: a name is unique in the business and is never an instance key or a role name (36.97022ms) +✔ REQ-MSG-2: a send by name reaches the instance and records both; a send by instance key is unchanged (29.552227ms) +✔ REQ-MSG-2: an instance key beats a name that equals it, as when a later instance takes the key (19.980379ms) +✔ REQ-MSG-2: a role name beats a name that equals it, as when a later definition takes the word (sage-0590) (22.045582ms) +ℹ tests 7 +ℹ suites 0 +ℹ pass 7 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 263.705437 diff --git a/agents/magica/work/queue-329/gate/bus-peer-transport.test.txt b/agents/magica/work/queue-329/gate/bus-peer-transport.test.txt new file mode 100644 index 000000000..3f0586639 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-peer-transport.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/peer-transport.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ proof receives actual peer, cap traffic never invokes helper and transient cap disconnects (7.391813ms) +✔ proof helper error and disconnect during verification never dispatch or bind (1.6363ms) +✔ Client receives explicit proof refusal codes without dispatch, not outcome-unknown (45.806916ms) +✔ asynchronous proof calls release their transient session on success, failure and timeout (28.94349ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 158.274426 diff --git a/agents/magica/work/queue-329/gate/bus-peercred.test.txt b/agents/magica/work/queue-329/gate/bus-peercred.test.txt new file mode 100644 index 000000000..806989c2a --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-peercred.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/peercred.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ T2 eight proof callers and a racing copier bind the exact accepted socket, which survives helper exit (264.734028ms) +✔ helper output and failures fail closed including unsafe gid (1.991771ms) +✔ helper timeout, capacity and shutdown refuse without leaving children (26.416564ms) +✔ missing or non-regular peer helper refuses at construction before opening the bus (0.302794ms) +✔ shutdown waits for killed helper close before returning (5.884003ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 393.032086 diff --git a/agents/magica/work/queue-329/gate/bus-plugins-verb.test.txt b/agents/magica/work/queue-329/gate/bus-plugins-verb.test.txt new file mode 100644 index 000000000..12a9a3131 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-plugins-verb.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/plugins-verb.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +✔ plugins and plugins.set refuse every non-human session and a forged actor, and pass only the patch with the verified actor (23.305821ms) +✔ runtime: the switch changes the organization file, the receipt carries the actor, and a bad shape, an unknown module and a stale revision are refused with nothing written (114.427291ms) +✔ vikunja:19/309 through the broker, a patch switches the kinds it names and keeps the rest; null removes one kind and is trailed (54.319684ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 274.109423 diff --git a/agents/magica/work/queue-329/gate/bus-principal.test.txt b/agents/magica/work/queue-329/gate/bus-principal.test.txt new file mode 100644 index 000000000..34d3700c5 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-principal.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/principal.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ principal binds kernel peer PID and uid, maps owner, and never takes identity or role from body (1.597129ms) +✔ user requires its own nonce and full walk plus immediate same-tree Console parent (0.446685ms) +✔ tester deliberately admits agent parents but rejects managed runs and another nonce (0.281855ms) +✔ human leaf identity is reread after walking the parents (0.158735ms) +✔ console requires its own wrapper, nonce and serve parent, and a configured owner from the spawn env (1.310643ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 61.161518 diff --git a/agents/magica/work/queue-329/gate/bus-process.test.txt b/agents/magica/work/queue-329/gate/bus-process.test.txt new file mode 100644 index 000000000..7e7df64da --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-process.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/process.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ broker process binds trusted launches, offers reader capabilities, refuses human mutation, closes cleanly (176.34163ms) +✔ startup token refusal returns safe code without value or partial listening broker (117.135133ms) +✔ loaded fixture token is absent from socket replies and SQLite, including refusal evidence (165.840622ms) +✔ killed broker leaves an explicit stale lock; another process cannot silently reclaim it (266.442758ms) +✔ trusted host registers later launches; socket clients never have a registration verb (167.486697ms) +✔ REQ-LIMIT-4 the broker process answers the launcher's mayLaunch op with the limits' awaited decision (158.123215ms) +✔ runtime excludes declared project roots even when host supplies no repoRoots (134.98126ms) +✔ a refused launch binding leaves the broker and existing capabilities alive; bad protocol stops it (160.164087ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1399.583687 diff --git a/agents/magica/work/queue-329/gate/bus-processing-runtime.test.txt b/agents/magica/work/queue-329/gate/bus-processing-runtime.test.txt new file mode 100644 index 000000000..6d9035ee5 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-processing-runtime.test.txt @@ -0,0 +1,13 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/processing-runtime.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ real runtime injects the coordinator, stops its workload and mirrors stable stop events across restart (177.61402ms) +✔ invalid state still starts the control bus and human halt then resume repairs it (70.885289ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 377.053675 diff --git a/agents/magica/work/queue-329/gate/bus-processing-timeout.test.txt b/agents/magica/work/queue-329/gate/bus-processing-timeout.test.txt new file mode 100644 index 000000000..3ce716f82 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-processing-timeout.test.txt @@ -0,0 +1,12 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/processing-timeout.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ processing halt and resume extend only the socket timeout while ordinary status retains the explicit timeout (183.251346ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 245.11661 diff --git a/agents/magica/work/queue-329/gate/bus-processing-web.test.txt b/agents/magica/work/queue-329/gate/bus-processing-web.test.txt new file mode 100644 index 000000000..6917667ef --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-processing-web.test.txt @@ -0,0 +1,12 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/processing-web.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ a root halt aborts the active search-source signal before the normal web deadline (34.356084ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 110.065633 diff --git a/agents/magica/work/queue-329/gate/bus-processing.test.txt b/agents/magica/work/queue-329/gate/bus-processing.test.txt new file mode 100644 index 000000000..baf795a48 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-processing.test.txt @@ -0,0 +1,25 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/processing.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ processing.halt refuses agent reader and tester before any transition (26.688109ms) +✔ processing.resume refuses agent reader and tester before any transition (18.052576ms) +✔ human halt and clear each have one event with verified actor; launch.restore cannot clear (19.981011ms) +✔ all ordinary work verbs refuse before dispatch while pure reads remain available (33.169443ms) +✔ task web authorization and bind paths refuse before external work (17.981298ms) +✔ recordEvent cannot forge processing.halt (12.885391ms) +✔ recordEvent cannot forge processing.resume (13.079871ms) +✔ recordEvent cannot forge processing.stop (12.184807ms) +✔ recordTask poll cannot forge a processing action through its kinds filter (12.683197ms) +✔ recordTask self cannot forge a processing action through its kinds filter (12.420363ms) +✔ spec read remains a read but cannot release new write work after an await (16.346502ms) +✔ the real socket awaits halt and resume beyond the ordinary idle deadline (55.104253ms) +✔ a malformed processing reader never silently admits agent work (17.84528ms) +✔ halt refuses the newly landed host executor path before credentials or effects (14.811212ms) +ℹ tests 14 +ℹ suites 0 +ℹ pass 14 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 365.550852 diff --git a/agents/magica/work/queue-329/gate/bus-project-await.test.txt b/agents/magica/work/queue-329/gate/bus-project-await.test.txt new file mode 100644 index 000000000..474ef4d51 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-project-await.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/project-await.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ D1: committed write with a failed receipt refuses outcome-unknown without action.allowed (29.428454ms) +✔ D2: spec.read refuses without content if its role is released during the read (15.624206ms) +✔ D3: spec.read secret check refuses flagged content without content (13.588254ms) +✔ D3: spec.read secret check refuses flagged subject without content (13.205698ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 151.450243 diff --git a/agents/magica/work/queue-329/gate/bus-project-files.test.txt b/agents/magica/work/queue-329/gate/bus-project-files.test.txt new file mode 100644 index 000000000..df6e1d036 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-project-files.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/project-files.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ a human lists, opens and saves; the save is one commit by the business human (132.105444ms) +✔ an agent and a reader refuse every file verb and nothing is written (48.207025ms) +✔ a stale base refuses stale-base and writes nothing (74.378502ms) +✔ paths outside the spec and docs refuse, as do unknown projects, missing files and odd arguments (63.254446ms) +✔ without a project adapter the file verbs refuse project-not-configured (28.927136ms) +✔ on the socket a save may carry 1 MiB of text; every other request keeps the 64 KiB limit (254.632578ms) +✔ a request that names the save verb first and another verb last is refused at 64 KiB (63.401327ms) +✔ two saves racing for one repository make one commit (141.008168ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 892.633687 diff --git a/agents/magica/work/queue-329/gate/bus-project-runtime.test.txt b/agents/magica/work/queue-329/gate/bus-project-runtime.test.txt new file mode 100644 index 000000000..2c99e28d8 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-project-runtime.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/project-runtime.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ Broker keeps the sandbox client import closure: only the listed imports, no lazy project import (1.932022ms) +✔ without a trusted project adapter all three async paths refuse project-not-configured (51.548381ms) +✔ real startBroker injects the project adapter for socket reads and bound-author record writes (207.73414ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 380.527542 diff --git a/agents/magica/work/queue-329/gate/bus-publish.test.txt b/agents/magica/work/queue-329/gate/bus-publish.test.txt new file mode 100644 index 000000000..d022783fc --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-publish.test.txt @@ -0,0 +1,24 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/publish.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ a raise with no recorded push refuses no-push; a raise binds the latest push and shows it (41.555988ms) +✔ happy path: the fork is the upstream repo under the agent's own user, the destination is host-built (24.331189ms) +✔ a hard wait: no decision refuses, and a decision for another task refuses (23.035101ms) +✔ r4 B4: approve while the latest push is A, push B, publish refuses decision-mismatch (48.316791ms) +✔ grant and fork refusals (45.720037ms) +✔ remote-not-fork, compared without case, and remote-host-mismatch, at push (87.581486ms) +✔ two agents granted one project each get their own fork (42.93137ms) +✔ the request cannot name the fork, the user or the destination (20.753ms) +✔ one decision, one open publish: a second ticket refuses publish-busy, whatever its branch (49.437518ms) +✔ publishRefused files the code on the task's trail and drops the ticket (24.313389ms) +✔ git.push.remote is in neither ROUTED list and no shipped role grants it (0.86571ms) +✔ runtime: withGitea keys from the open ticket only, and the store root is the organization dir (104.414086ms) +✔ the bus process answers the publish ops from their own lines, not launch-op-refused (174.395717ms) +ℹ tests 13 +ℹ suites 0 +ℹ pass 13 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 767.321648 diff --git a/agents/magica/work/queue-329/gate/bus-reload.test.txt b/agents/magica/work/queue-329/gate/bus-reload.test.txt new file mode 100644 index 000000000..e7d247123 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-reload.test.txt @@ -0,0 +1,30 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/reload.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +✔ T14 a create goes live with no restart: the new instance binds at once and the answer says restart false (81.138794ms) +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +✔ T14 every committed verb reloads once, limits.set, routes.set, plugins.set and veto.set included, and a refused one does not (89.139151ms) +✔ T14 a definition change on a running instance refuses instance-running; a vars change still goes live (66.513794ms) +✔ T14 a file whose credential references differ from the boot copy is not reloaded and the write answers restart true (53.105346ms) +✔ T14 a date-only change to a credential reference still reloads: row 199 issue rewrites the date outside the reload (51.05443ms) +✔ T19 a credentialed create answers restart true; issue works only after a restart, and a later vars change goes live (114.067549ms) +✔ T14 after a refused reload veto.set, instance.hire and instance.fire answer restart true, and a fire of a name kept since refuses before step A (118.369501ms) +✔ T14 a file whose project root differs from the boot copy is not reloaded, because the Credentials store protects the boot roots (52.600747ms) +organization: {"event":"reload-needs-restart","business":"demo"} +✔ T14 a file whose library mapping differs from the boot copy is not reloaded, because the mirror is ensured at start (249.06799ms) +✔ T14 reloadBusiness refuses an unknown business, a changed human and a document the boot check refuses (11.395845ms) +ℹ tests 10 +ℹ suites 0 +ℹ pass 10 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1011.794356 diff --git a/agents/magica/work/queue-329/gate/bus-replies.test.txt b/agents/magica/work/queue-329/gate/bus-replies.test.txt new file mode 100644 index 000000000..7ec048b37 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-replies.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/replies.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ a reply is listed for human and reader sessions, and its delivery rows are unchanged (49.547984ms) +✔ the reply still reaches the human message.receive (mosaic talk) after the Console showed it (19.904498ms) +✔ a message with no reply gives an empty list (16.251741ms) +✔ replies come oldest first and stop at REPLIES (78.785931ms) +✔ an id that names no message in the business refuses message-not-found, and the refusal is recorded (31.045049ms) +✔ strict arguments; a role session gets human-required (34.569727ms) +✔ views passes replies through as one call with the id (0.308204ms) +ℹ tests 7 +ℹ suites 0 +ℹ pass 7 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 314.671198 diff --git a/agents/magica/work/queue-329/gate/bus-requirements.test.txt b/agents/magica/work/queue-329/gate/bus-requirements.test.txt new file mode 100644 index 000000000..695762fc0 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-requirements.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/requirements.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ requirements returns the committed list to a holding role session, and no one else (39.589874ms) +✔ the PM's prd.approve with no task, when no id fits, reaches the human's Inbox (19.024295ms) +✔ the PM's non-blocking role.revoke with no task reaches the human's Inbox (18.793742ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 167.293774 diff --git a/agents/magica/work/queue-329/gate/bus-review.test.txt b/agents/magica/work/queue-329/gate/bus-review.test.txt new file mode 100644 index 000000000..c08fe7066 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-review.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/review.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ a push is recorded as the action.allowed for git.push.working on the task, and only the host records one (41.63113ms) +✔ review.request names the latest pushed commit and sends the reviewer a REVIEW-REQUEST (23.807336ms) +✔ review.request says which run holds the reviewer role, or null, and a null request waits for a claim (28.043425ms) +✔ review.request refuses a commit that isn't the latest push, a non-reviewer and a role without the action (39.205128ms) +✔ reviewFetch answers only the addressed reviewer, for the request it cites (25.995984ms) +✔ review.verdict answers one request once, to the role that asked (35.456487ms) +✔ task.close on a pushed task needs an approve verdict for the latest push (53.324932ms) +✔ a refusal the host decided is filed on the task it names, and only a task ref counts (29.471695ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 370.239874 diff --git a/agents/magica/work/queue-329/gate/bus-revoke-window.test.txt b/agents/magica/work/queue-329/gate/bus-revoke-window.test.txt new file mode 100644 index 000000000..b176aa297 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-revoke-window.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/revoke-window.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ row 306 T1: a run the timer sweep ended answers thread-revoked on every claim-needing call, logged, and its claim still refuses run-revoked (50.214173ms) +✔ row 306 T1: a user's request and access.reload end the run the same way, and it answers thread-revoked (47.85545ms) +✔ row 306 T2: after the sweep, a run the human stopped and a run the limit stop ended still answer not-holder (34.091443ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 222.351865 diff --git a/agents/magica/work/queue-329/gate/bus-room-check.test.txt b/agents/magica/work/queue-329/gate/bus-room-check.test.txt new file mode 100644 index 000000000..aee155288 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-room-check.test.txt @@ -0,0 +1,13 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/room-check.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ C2-10c room.read carries exactly the thread check and current file last (80.100328ms) +✔ C2-10c check hydration preserves unchecked rows and one broadcast with two addressees (15.469268ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 178.469615 diff --git a/agents/magica/work/queue-329/gate/bus-rooms.test.txt b/agents/magica/work/queue-329/gate/bus-rooms.test.txt new file mode 100644 index 000000000..abe312389 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-rooms.test.txt @@ -0,0 +1,29 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/rooms.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ room.open sorts all threaded instances, creates defaults, and reuses caller-owned threads (36.614633ms) +✔ room.open preflights instance collisions atomically (17.304098ms) +✔ room.open preflights owner collisions atomically (16.079724ms) +✔ room verbs require the human, and none is a tester verb (21.707989ms) +✔ room verbs refuse missing projects and zero member businesses (32.083555ms) +✔ send/read refuse a missing canonical member without effects (17.404496ms) +✔ send/read refuse a foreign-owner canonical member without effects (17.90246ms) +✔ send/read refuse a wrong-instance canonical member without effects (22.449594ms) +✔ room.send targets a key, broadcasts without tags, and preserves original text and ordinary route/input rows (20.796721ms) +✔ current display names and repeated tags resolve once; a replaced display name is unknown (29.2526ms) +✔ a legacy name colliding with another member key is ambiguous; its own key resolves once (28.630448ms) +✔ unknown or non-member addressees and tags-only bodies leave no message effects (24.46772ms) +✔ messaging denial on the last target rolls back the entire broadcast; allowed subset still works (17.635664ms) +✔ a clearing last member fences the whole send; another active target still accepts (23.555513ms) +✔ room.read groups one send, pages by the last grouped id, and rejects foreign or absent cursors (43.300172ms) +✔ room.read keeps identical sends at the same timestamp separate and includes every session (35.058643ms) +✔ room.read defaults and caps the number of merged entries, not recipient rows (556.160658ms) +✔ room.read includes an agent reply with its thread and instance without merging it with human rows (24.74217ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 18 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1075.663431 diff --git a/agents/magica/work/queue-329/gate/bus-routes-verb.test.txt b/agents/magica/work/queue-329/gate/bus-routes-verb.test.txt new file mode 100644 index 000000000..80cf36d27 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-routes-verb.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/routes-verb.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"demo"} +✔ row 65: routes and routes.set refuse every non-human session, the chief of staff included, the tester may read and set, and each passes the verified actor (48.986995ms) +✔ row 65: a new launch binds only on a switched-on harness with a module name, and a run an earlier broker bound binds again after its harness is switched off (27.757496ms) +✔ row 65 runtime: harnessLevels answers each module in the tree, and null for a name with no module (51.537806ms) +✔ row 65 runtime: routes and routes.set reach the organization file with the human as actor, a new bind reads plugins.harness, and each refusal keeps the bytes and logs nothing (89.64072ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 312.885669 diff --git a/agents/magica/work/queue-329/gate/bus-schema.test.txt b/agents/magica/work/queue-329/gate/bus-schema.test.txt new file mode 100644 index 000000000..72e2db251 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-schema.test.txt @@ -0,0 +1,12 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/schema.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ v3b prototype refusals, views and append-only mutations (89.827122ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 142.721386 diff --git a/agents/magica/work/queue-329/gate/bus-session-clear.test.txt b/agents/magica/work/queue-329/gate/bus-session-clear.test.txt new file mode 100644 index 000000000..3a9225be8 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-session-clear.test.txt @@ -0,0 +1,30 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/session-clear.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ T4 D7: a clear of a held default session fences it, drains at the next receive, retires at the exit proof and moves the default (60.171131ms) +✔ T4 D7: an unheld session drains at accept, its proof is run null, and a non-default clear leaves the default (20.963677ms) +✔ T4 D7: a run that ends before its next receive drains at its end, with its generation (20.969182ms) +✔ T4 D7: a run whose turn is running (delivered, unread) stays clearing; uncertain is recorded once and nothing more (30.89775ms) +✔ T4 D7 B1: undelivered inputs are cancelled with receipts at accept, never delivered to the successor, and a routed reply is cancelled at arrival (36.001831ms) +✔ T4 D7: repeat, conflict, a second op, a stale revision, confirm and a halt (36.076371ms) +✔ T4 Q4: the successor takes -N, the next N free, and a bound name stays taken (25.080255ms) +✔ T4 D8: the successor start is held, refused or started, each report on its own counter (22.385143ms) +✔ T4 D7 N4: a halt at retirement waits and writes nothing; retirement goes once processing resumes (18.927024ms) +✔ T4 sage-2828: a cancel before retirement makes the session active again, keeps the claim and the cancelled messages, and never makes the successor (28.735193ms) +✔ T4 sage-2828 sage-2830: a cancel after retirement ends the startup only, and a later thread-only send makes the successor pending as new input (23.828081ms) +✔ T4 N4: a user's thread whose grant is gone by retirement ends the clear failed, writes no successor, and leaves the session as it was (21.58008ms) +✔ T4 N4: a user's thread whose grant is live at retirement retires the session and makes its successor (21.214767ms) +✔ T4 sage-2828: a cancel after the successor started refuses session-clear-complete (21.372203ms) +✔ T4 B2: a run bound to a clearing session refuses its claim, and claims again once the clear is cancelled (23.048665ms) +✔ T4 mos-1325: the tester clears its own thread; its clear, cancel and operation on a human-owned thread refuse thread-not-owned and write nothing (27.320764ms) +✔ T4 schema: session_ops and message_cancels are append-only, and a second open clear of a session is refused below the broker (18.939858ms) +✔ T4 schema: a 3m store migrates to 3n, session_ops and message_cancels are new and empty, and every other row stays as it was (95.021813ms) +✔ T4 schema: the 3m engine refuses a 3n store, migrating or not, and leaves it as it was (169.304789ms) +ℹ tests 19 +ℹ suites 0 +ℹ pass 19 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 836.534146 diff --git a/agents/magica/work/queue-329/gate/bus-session-compactions.test.txt b/agents/magica/work/queue-329/gate/bus-session-compactions.test.txt new file mode 100644 index 000000000..18a2903b2 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-session-compactions.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/session-compactions.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ session.list rows carry the reader count for each session, with its store identity (28.699301ms) +✔ a legacy session is asked for with legacy true (18.75499ms) +✔ without a reader the count is unknown, never 0; a reader that throws is store-unreadable (26.839247ms) +✔ compactions must be a function (8.713425ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 160.72927 diff --git a/agents/magica/work/queue-329/gate/bus-sessions.test.txt b/agents/magica/work/queue-329/gate/bus-sessions.test.txt new file mode 100644 index 000000000..1547b656e --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-sessions.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/sessions.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ T1 REQ-ROLE-2: two sessions of one thread keep their own history, delivery and replies (68.614043ms) +✔ T2 REQ-ROLE-2: one holder per session, generations count its claims, and a sibling session's message never reaches the other holder (40.762515ms) +✔ T2 sage-2257: a released or revoked run's retired generation refuses its approval, delivery and read, and writes nothing (52.211487ms) +✔ session.create is idempotent on its op, refuses a reused op or a taken name, and reaches only the owner's threads (34.481458ms) +✔ the 3l triggers keep sessions in their thread and session ids apart from thread ids (66.480847ms) +✔ T7: a 3k store migrates to 3l, each thread's default session has the thread's id, and old rows keep their seqs (110.006722ms) +✔ T7 D9: the 3k engine refuses a 3l store, migrating or not, and leaves it as it was (154.947595ms) +ℹ tests 7 +ℹ suites 0 +ℹ pass 7 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 624.656783 diff --git a/agents/magica/work/queue-329/gate/bus-single-use.test.txt b/agents/magica/work/queue-329/gate/bus-single-use.test.txt new file mode 100644 index 000000000..da6ef73ae --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-single-use.test.txt @@ -0,0 +1,23 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/single-use.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ gated approval authorizes once, survives store reopen, and fresh approval works (47.488816ms) +✔ another run of the same instance consumes an approval once; a failed check leaves it usable (24.625598ms) +✔ two scheduled callers have exactly one grant and one consumed refusal (16.52847ms) +✔ failed commit rolls consumption back; cross-role consumes and within-role stays reusable (33.188546ms) +✔ class drift gated to cross-role refuses before consumption (23.166237ms) +✔ class drift cross-role to gated refuses before consumption (23.653048ms) +✔ class drift gated to within-role refuses before consumption (21.552995ms) +✔ class drift cross-role to within-role refuses before consumption (23.885054ms) +✔ class drift within-role to gated refuses before consumption (20.481031ms) +✔ class drift within-role to cross-role refuses before consumption (19.922427ms) +✔ message.send consumes approval and prevents a later send or authorize (22.572757ms) +✔ role.revoke consumes approval and prevents a later revoke or authorize (29.262485ms) +ℹ tests 12 +ℹ suites 0 +ℹ pass 12 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 399.773263 diff --git a/agents/magica/work/queue-329/gate/bus-spec-migration.test.txt b/agents/magica/work/queue-329/gate/bus-spec-migration.test.txt new file mode 100644 index 000000000..ad434345f --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-spec-migration.test.txt @@ -0,0 +1,12 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/spec-migration.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ 3e copy migrates through 3f to 3g preserving every old column/row and adding null spec citations (120.20608ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 204.471483 diff --git a/agents/magica/work/queue-329/gate/bus-spec-review.test.txt b/agents/magica/work/queue-329/gate/bus-spec-review.test.txt new file mode 100644 index 000000000..09c4da044 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-spec-review.test.txt @@ -0,0 +1,23 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/spec-review.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ a human spec save sends one notice to each pm and cto, naming the commit, and each commit sends its own (132.25242ms) +✔ no notice for a docs save, an agent record commit, a git commit outside the Console, or a refused save (157.789882ms) +✔ a notice to a role no run holds waits for a claim, and launches nobody and tells nobody (88.839494ms) +✔ a business without a pm or a cto saves the spec and sends nothing (65.031548ms) +✔ a notice that cannot be stored answers outcome-unknown, and the commit stands (75.967774ms) +✔ a BLOCK reaches the chief of staff, the chief relays it to the assistant in the user's thread, and the commit stands (94.509326ms) +✔ with no thread a BLOCK still reaches the chief of staff, and the relay to the assistant is refused (84.77722ms) +✔ within the notice's project the relay lands in the user's most recently opened thread (94.079686ms) +✔ a more recently opened thread in another project does not take the relay (91.46007ms) +✔ a BLOCK is refused from anyone but a pm or cto, to anyone but the chief of staff, and outside a reply to its own notice (92.913031ms) +✔ a role cannot forge a spec notice: its text opens neither a BLOCK nor the assistant's thread (84.857942ms) +✔ the bus receives nothing: a reply to a notice addressed to _bus is refused (76.932055ms) +ℹ tests 12 +ℹ suites 0 +ℹ pass 12 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1231.677524 diff --git a/agents/magica/work/queue-329/gate/bus-spec-socket.test.txt b/agents/magica/work/queue-329/gate/bus-spec-socket.test.txt new file mode 100644 index 000000000..72ad8adc1 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-spec-socket.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/spec-socket.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ real socket awaits spec reads, record writes and cited raises; other requests still return normally (137.84583ms) +✔ real socket preserves asynchronous refusal codes and disconnects its transient proof (70.93896ms) +✔ two real socket writes to one repository yield one commit and one project-busy refusal (73.992498ms) +✔ client disconnect during await tolerates late reply (66.403913ms) +✔ client disconnect during await tolerates late refusal (49.802464ms) +✔ N-a: slow admitted record.write returns its committed result after the idle deadline (219.85577ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 706.6426 diff --git a/agents/magica/work/queue-329/gate/bus-spec.test.txt b/agents/magica/work/queue-329/gate/bus-spec.test.txt new file mode 100644 index 000000000..174805432 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-spec.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/spec.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ current citation is recorded; docs commits do not stale it and a new spec never reopens settlement (119.432116ms) +✔ stale, unconfirmed, missing and partial spec citations refuse without inserting a decision (109.354564ms) +✔ uncited raises retain their synchronous path and spec read is available to any held role in its business (48.067471ms) +✔ record writes bind the session author, require authority and refuse spec and impersonation paths (61.121585ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 427.559286 diff --git a/agents/magica/work/queue-329/gate/bus-staff-request.test.txt b/agents/magica/work/queue-329/gate/bus-staff-request.test.txt new file mode 100644 index 000000000..fc3f55dec --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-staff-request.test.txt @@ -0,0 +1,21 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/staff-request.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-COS-1: the pm asks the chief of staff for roles and counts; the chief receives a STAFF-REQUEST and answers it (40.85208ms) +✔ REQ-COS-1: only the pm can send a staff request; every other session is refused and the chief of staff hears nothing (30.042031ms) +✔ REQ-COS-1: a pm without message.send is refused like any other gated action (15.623644ms) +✔ REQ-COS-1: the request goes to the business launcher, and only when that is a chief of staff (36.880794ms) +✔ REQ-COS-1: the sender is judged by definition: an instance `lead` of the pm definition can ask, an instance `pm` of the coder definition can't (39.239902ms) +✔ REQ-COS-1: the launcher is judged by definition: an instance `boss` of the chief-of-staff definition receives, a `chief` of the coder definition gives no-chief-of-staff (36.702261ms) +✔ REQ-COS-1: a refused staff request leaves no staff.request action.allowed event (21.649257ms) +✔ REQ-ASSIST-2: the role definitions' messaging lists hold for a staff request, sender and recipient (59.843676ms) +✔ a staff request names a task, 1 to 10 distinct roles and counts of 1 to 20; nothing else is accepted (41.251559ms) +✔ REQ-COS-1: a staff request grants nothing: the pm still can't launch and the chief of staff launches as before (22.802741ms) +ℹ tests 10 +ℹ suites 0 +ℹ pass 10 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 427.172345 diff --git a/agents/magica/work/queue-329/gate/bus-state.test.txt b/agents/magica/work/queue-329/gate/bus-state.test.txt new file mode 100644 index 000000000..40dc6b173 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-state.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/state.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ a business that never switched launches reads allowed with no time and no event (31.022609ms) +✔ launches revoked and then restored read allowed, with the restore time and event id (16.151808ms) +✔ a task closed on the tracker leaves the open list, and total counts the open ones (15.411843ms) +✔ a tombstone is not open (13.884742ms) +✔ the open list stops at the cap and says so; total still counts every open task (16.377256ms) +✔ a role and a reader session read state; arguments, and an unbound cap, refuse (14.659837ms) +✔ a human session reads the same state, with the same cap (17.091866ms) +✔ reading state writes nothing: every table keeps its row count (16.490646ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 226.777246 diff --git a/agents/magica/work/queue-329/gate/bus-store.test.txt b/agents/magica/work/queue-329/gate/bus-store.test.txt new file mode 100644 index 000000000..45cb814ce --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-store.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/store.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ creates private WAL store and excludes a second writer until explicit close (24.520933ms) +✔ rollback is atomic and schema metadata is checked against trusted DDL, not just itself (13.98283ms) +✔ existing empty database and symlink runtime directory refuse, never initialize over damage (14.930387ms) +✔ crash during a transaction recovers no partial event after explicit fixture-only lock removal (81.947517ms) +✔ writer refuses mixed at/read_at forms atomically, even through trusted SQL helpers (11.503982ms) +✔ async transactions refuse before invoking their function (7.996241ms) +✔ usage_records refuses non-canonical timestamps atomically (8.518376ms) +ℹ tests 7 +ℹ suites 0 +ℹ pass 7 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 242.727324 diff --git a/agents/magica/work/queue-329/gate/bus-task-page.test.txt b/agents/magica/work/queue-329/gate/bus-task-page.test.txt new file mode 100644 index 000000000..f3703a040 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-task-page.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/task-page.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ the session default fits under the reply cap and pages to the end with next (165.683766ms) +✔ the short form: no description, assignees by role, every listed key (82.99399ms) +✔ each filter, alone and together, and total counts every match (190.183061ms) +✔ task_ref reads one task in full, as the whole board has it (109.898403ms) +✔ no arguments is the read the Console and mosaic make, unchanged (81.638024ms) +✔ an unknown argument or a bad value refuses invalid-request (349.022718ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1075.186641 diff --git a/agents/magica/work/queue-329/gate/bus-task-read.test.txt b/agents/magica/work/queue-329/gate/bus-task-read.test.txt new file mode 100644 index 000000000..4261fea50 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-task-read.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/task-read.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ tasks rows carry priority and requirement for every session that reads tasks (50.399217ms) +✔ the read model rebuilds from the ledger: a reopened bus and each trail give the same values (45.248581ms) +✔ an empty business and one with snapshots but no task.created read cleanly (14.149762ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 190.187842 diff --git a/agents/magica/work/queue-329/gate/bus-tasks.test.txt b/agents/magica/work/queue-329/gate/bus-tasks.test.txt new file mode 100644 index 000000000..74d55bbb2 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-tasks.test.txt @@ -0,0 +1,20 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/tasks.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ recordTask keeps sync reads and a role write apart (35.045935ms) +✔ read_at must be one canonical UTC format, so the projection compares strings safely (13.85902ms) +✔ a bad entry refuses the whole record (15.575079ms) +✔ taskView reads the projection for one business (22.069124ms) +✔ requestTask hands only a holder and a task verb to the handler, and records refusals (32.400604ms) +✔ the server sends task verbs to the adapter with its own timeout; other verbs stay synchronous (310.767238ms) +✔ without an adapter the server refuses every task verb (42.370837ms) +✔ the runtime refuses an invalid adapter and closes a valid one (63.160289ms) +✔ the process loads the S3 adapter from plain-data trackers (462.954588ms) +ℹ tests 9 +ℹ suites 0 +ℹ pass 9 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1144.833814 diff --git a/agents/magica/work/queue-329/gate/bus-tester-threads.test.txt b/agents/magica/work/queue-329/gate/bus-tester-threads.test.txt new file mode 100644 index 000000000..01dea5554 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-tester-threads.test.txt @@ -0,0 +1,26 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/tester-threads.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ row 177 T1: a tester thread is owned by tester, and neither side reaches or lists the other (39.708404ms) +✔ row 177 T2: the tester thread.send is from tester-cli with no human.input; its open is by tester (24.10557ms) +✔ row 177 T3: the lists read the tester as the human in its own thread, and nowhere else (20.485577ms) +✔ row 177 T3: an assistant that would not hear the human refuses the tester too (18.479481ms) +✔ row 177 T4: the tester thread run answers the tester, never the human (30.605204ms) +✔ row 177 T5: each stop revokes only its own threads, recorded by its own actor (22.998053ms) +✔ row 177 T5: the human stop never ends a tester run (18.270689ms) +✔ row 177 T6: a business whose human is tester refuses invalid-business (11.831318ms) +✔ row 177 T7: the human trail shows a tester thread message as the tester (24.028504ms) +✔ row 177 T8: a tester-thread run never raises a decision to the human; a human-thread run still does (28.242288ms) +✔ row 177 T8: a tester-thread raise routed to the arbiter stays allowed (26.061291ms) +✔ row 182 T9: a tester reply into the human's thread refuses thread-not-owned and stores nothing (26.504656ms) +✔ row 182 T9: a tester reply into its own thread lands there (25.12144ms) +✔ row 182 T9: the chief's reply up a chain into a tester's thread lands there (27.942745ms) +✔ row 182 T9: a tester reply to a spec notice refuses thread-not-owned; the chief's relay still lands (30.154297ms) +ℹ tests 15 +ℹ suites 0 +ℹ pass 15 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 475.916973 diff --git a/agents/magica/work/queue-329/gate/bus-tester-writes.test.txt b/agents/magica/work/queue-329/gate/bus-tester-writes.test.txt new file mode 100644 index 000000000..787aedecd --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-tester-writes.test.txt @@ -0,0 +1,24 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/tester-writes.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +organization: {"event":"reload-needs-restart","business":"demo"} +✔ row 175: TESTER_VERBS and the organization branch tester set are pinned (1.3389ms) +✔ row 175: each of the six reads as the tester deep-equals the human read (88.036646ms) +✔ row 175: W1-W3 as the tester land with receipt actor tester; the human still logs the human (84.525063ms) +✔ row 175: W2 as the tester refuses credentials, protected definitions, human, tester and bus.tester, and changes nothing (76.491999ms) +✔ row 175: the human-only actions refuse a tester tester-refused, and the file and store stay as they were (64.392556ms) +✔ row 175: W4 as the tester writes by tester and keeps every name check (18.07244ms) +✔ row 175: W6 as the tester records created_by tester; the human records the human (13.690568ms) +✔ row 175: with bus.tester unset or not exactly true no tester binds, so no read or write runs (50.640915ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 575.666043 diff --git a/agents/magica/work/queue-329/gate/bus-tester.test.txt b/agents/magica/work/queue-329/gate/bus-tester.test.txt new file mode 100644 index 000000000..efb3d79d7 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-tester.test.txt @@ -0,0 +1,25 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/tester.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ the tester binds only when the business sets bus.tester to exactly true (128.013556ms) +✔ a business may not name a role tester, so the tester address is never a role (35.859928ms) +✔ every verb outside the tester list refuses tester-refused and is recorded against the tester (57.584773ms) +✔ a tester message is from tester, needs no prefix, and writes no human.input or authority (29.582822ms) +✔ a tester message to a role no run holds refuses tester-target-not-running and stores nothing (19.416192ms) +✔ a tester message is refused while the run is only launched, and routes once it claims (22.343612ms) +✔ a human message to a role no run holds still waits and tells launch.by (15.851476ms) +✔ a role answers a tester only in reply to a tester message, and the answer never reaches the human (30.446925ms) +✔ the tester reads the human views a reader reads (44.145701ms) +✔ tester proof binds its own CLI, start time and nonce, refuses a managed run and allows an agent (1.652289ms) +✔ neither CLI's nonce proves the other: each proof is bound to its own CLI and nonce variable (0.449243ms) +✔ testerNonce reads only the tester's variable and gives null on any read error (0.30001ms) +✔ an envelope carries exactly one of cap, human and tester; no tester authenticator refuses (110.516704ms) +✔ tester-cli.mjs binds through the runtime when the switch is on, and refuses off or under a run marker (1142.633577ms) +ℹ tests 14 +ℹ suites 0 +ℹ pass 14 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1771.026289 diff --git a/agents/magica/work/queue-329/gate/bus-thread-claims.test.txt b/agents/magica/work/queue-329/gate/bus-thread-claims.test.txt new file mode 100644 index 000000000..37e4f6b90 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-thread-claims.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/thread-claims.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ T1: the human and the reader see a held thread claim; agents still lists the role only (27.060146ms) +✔ T2: a released or revoked thread claim is not listed, though its thread has an earlier claim row (25.105319ms) +✔ T3: a role session refuses human-required and the tester refuses tester-refused (21.418025ms) +✔ T4: agents answers each session the same before and after a thread run claims (20.951665ms) +✔ T5: the result carries neither the thread name a user wrote nor a message body (19.936039ms) +✔ T6: two held sessions of one thread list as two rows, each its session's latest claim (22.164625ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 225.231205 diff --git a/agents/magica/work/queue-329/gate/bus-thread-migration.test.txt b/agents/magica/work/queue-329/gate/bus-thread-migration.test.txt new file mode 100644 index 000000000..c46434f84 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-thread-migration.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/thread-migration.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-THREAD-1 REQ-ORG-2: the 3d→3e migration adds the thread tables and leaves messages from before threads as written (114.012332ms) +✔ REQ-THREAD-1: a 3d bus with a changed schema is refused and keeps its version and tables (41.887658ms) +✔ REQ-THREAD-1: the offline command prints the kept-message counts before the ready line (124.147713ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 366.680533 diff --git a/agents/magica/work/queue-329/gate/bus-thread-shares.test.txt b/agents/magica/work/queue-329/gate/bus-thread-shares.test.txt new file mode 100644 index 000000000..b1f67461e --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-thread-shares.test.txt @@ -0,0 +1,27 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/thread-shares.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ a share lets the sharee read the thread and nothing else: every write verb stays the owner's (mutants 7, 9) (46.350806ms) +✔ the business human shares too, and a `*` share reaches every covered principal but the tester (25.040098ms) +✔ mutant 2: a share never widens a grant; when the sharee's grant stops covering the thread, its reads end (26.367821ms) +✔ mutant 3: a thread whose user owner has lost coverage is hidden from its sharees, the owner's board included (37.288872ms) +✔ mutant 4: a share's state is its latest row, so an unshare ends it and a share after it starts it again (30.145276ms) +✔ mutant 8: a user target needs a live grant of any level covering the thread, else share-not-covered (22.256271ms) +✔ a viewer reads a thread shared with it, and share, unshare and shares refuse a viewer access-refused (design 4.3) (24.284544ms) +✔ a share target is `user:`, the business human or `*`, and never the sharer (41.215372ms) +✔ a user whose collaborator grant no longer covers its own thread can't share, unshare or list its shares (22.471754ms) +✔ the tester and a reader session never share: each verb refuses and writes nothing (38.374544ms) +✔ the owner's trail and replies show a user's message only while that user's thread is shared with the owner (29.521529ms) +✔ a share covers every session of the thread (23.301343ms) +✔ a sharee can't list the thread's sessions: session.list stays owner-only (Q7, sage-2818 Q1) (22.054912ms) +✔ only a human principal matches a share: an agent bound to the thread and the tester match none (sage-2818 Q2) (34.504776ms) +✔ a 3l store migrates to 3m: thread_shares is new and empty, and every other row stays as it was (94.608232ms) +✔ the 3l engine refuses a 3m store, migrating or not, and leaves it as it was (169.145064ms) +ℹ tests 16 +ℹ suites 0 +ℹ pass 16 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 779.347645 diff --git a/agents/magica/work/queue-329/gate/bus-threads.test.txt b/agents/magica/work/queue-329/gate/bus-threads.test.txt new file mode 100644 index 000000000..701fb08e2 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-threads.test.txt @@ -0,0 +1,31 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/threads.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-ROLE-2 REQ-THREAD-1: one holder per thread, through the broker and the trigger (46.868866ms) +✔ REQ-ROLE-2 REQ-THREAD-1: the 3e triggers refuse writes that skip the broker (67.828964ms) +✔ REQ-MSG-1: a message to or from the assistant names its thread, or is refused (33.882495ms) +✔ REQ-MSG-1: the chief of staff's reply comes back to the thread that sent the work (634.441987ms) +✔ REQ-MSG-1: a reply can't carry one thread instance's thread to another thread instance (24.523741ms) +✔ REQ-THREAD-1 REQ-USER-2: one thread's messages never reach another thread's holder (31.47301ms) +✔ REQ-LAUNCH-1: a message to a thread with no holder waits, and the next holder gets it (33.403708ms) +✔ REQ-THREAD-2 REQ-LAUNCH-1: threadIdle releases only a thread with nothing waiting, and only for its holder (34.276814ms) +✔ REQ-THREAD-2 REQ-LAUNCH-1: a message delivered to a run that ended unread doesn't hold up the next holder (29.449871ms) +✔ REQ-ROLE-2 REQ-THREAD-1 Q169: a role.revoke the human approved ends every thread run of the assistant (26.488677ms) +✔ Q169 REQ-USER-2: assistant.stop ends the human's own assistant thread runs, and only the human's (43.338206ms) +✔ REQ-USER-2: the human verbs refuse another owner's thread (29.293624ms) +✔ REQ-THREAD-1: thread.create refuses when the business has no thread instance or more than one (23.534151ms) +✔ REQ-ORG-2: projects and threads are named once, and the repo names a business project (27.64076ms) +✔ REQ-THREAD-2: thread.messages returns the thread's history in pages and writes nothing (95.061368ms) +✔ project.create refuses a repository name without its matching repo before any write (19.000076ms) +✔ project.create keeps unrelated names with and without a repository (13.082013ms) +✔ C2-09a: explicit creative instances bind independent threads, default sessions and holders (48.897298ms) +✔ C2-09a: explicit missing, non-thread and malformed selectors create no thread or session (20.515547ms) +✔ C2-09a: creative bindLaunch without a thread refuses thread-required (10.265636ms) +ℹ tests 20 +ℹ suites 0 +ℹ pass 20 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1382.073299 diff --git a/agents/magica/work/queue-329/gate/bus-transport.test.txt b/agents/magica/work/queue-329/gate/bus-transport.test.txt new file mode 100644 index 000000000..57be5062f --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-transport.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/transport.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ socket capability stamps launch identity; shared views use wire, no SQL client (58.069233ms) +✔ two wire claims serialize; a lost reply never automatically retries (38.542352ms) +✔ malformed, oversized and identity-forging envelopes refuse without echoing input (30.563614ms) +✔ client preserves UTF-8 when a response divides a multibyte character (10.745533ms) +✔ committed mutation followed by dropped reply reports unknown and is never retried (34.280735ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 253.150831 diff --git a/agents/magica/work/queue-329/gate/bus-usage-broker.test.txt b/agents/magica/work/queue-329/gate/bus-usage-broker.test.txt new file mode 100644 index 000000000..2fba41120 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-usage-broker.test.txt @@ -0,0 +1,12 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/usage-broker.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-LIMIT-4 usage protocol binds run identity, requires a delivered turn and isolates businesses (36.802398ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 121.973622 diff --git a/agents/magica/work/queue-329/gate/bus-usage-migration.test.txt b/agents/magica/work/queue-329/gate/bus-usage-migration.test.txt new file mode 100644 index 000000000..768c26db5 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-usage-migration.test.txt @@ -0,0 +1,12 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/usage-migration.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-LIMIT-4 3g copy migrates through 3h, 3i, 3j and 3k to 3l preserving every old column, row and sequence; new usage table is empty (508.244145ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 592.94644 diff --git a/agents/magica/work/queue-329/gate/bus-usage-runtime.test.txt b/agents/magica/work/queue-329/gate/bus-usage-runtime.test.txt new file mode 100644 index 000000000..384e4ccfe --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-usage-runtime.test.txt @@ -0,0 +1,12 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/usage-runtime.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-PLUG-1 runtime reaches transcript only through loader, over the real bus socket (94.335628ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 222.585373 diff --git a/agents/magica/work/queue-329/gate/bus-usage.test.txt b/agents/magica/work/queue-329/gate/bus-usage.test.txt new file mode 100644 index 000000000..2e4db8358 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-usage.test.txt @@ -0,0 +1,26 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/usage.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ REQ-LIMIT-4 loader source records new turn kinds, excludes history and retries exactly once (22.178606ms) +✔ REQ-LIMIT-4 cut: unknown is durable and logged next to every total (15.631766ms) +✔ REQ-LIMIT-4 disabled: unknown is durable and logged next to every total (14.336988ms) +✔ REQ-LIMIT-4 missing-begin: unknown is durable and logged next to every total (12.425054ms) +✔ REQ-LIMIT-4 no-new-usage: unknown is durable and logged next to every total (17.721453ms) +✔ REQ-LIMIT-4 rewrite: unknown is durable and logged next to every total (15.55305ms) +✔ REQ-LIMIT-4 unfinished turn remains visibly unknown after accounting restarts (11.966934ms) +✔ usage records are append-only (12.703895ms) +✔ REQ-LIMIT-4 parse failure logs its safe code, never transcript content (11.56735ms) +✔ REQ-LIMIT-4 resumed run baselines history and exact totals do not overflow (14.781278ms) +✔ REQ-PLUG-1 core has no transcript import and disabled sources do not read any transcript (13.20699ms) +✔ REQ-LIMIT-4 a resumed thread bills only new assistant messages to its next run (14.38917ms) +✔ REQ-LIMIT-4 every enabled source is called; failure is unknown and a partial total stays labelled (20.402686ms) +✔ REQ-LIMIT-4 a turn whose reported sum exceeds safe precision is unknown, not rounded (13.243886ms) +✔ row 65 a run bound without a transcript directory records no-transcript (11.856973ms) +ℹ tests 15 +ℹ suites 0 +ℹ pass 15 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 335.054569 diff --git a/agents/magica/work/queue-329/gate/bus-user-principal.test.txt b/agents/magica/work/queue-329/gate/bus-user-principal.test.txt new file mode 100644 index 000000000..89ad313d7 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-user-principal.test.txt @@ -0,0 +1,35 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/user-principal.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ R3: bindUser binds a granted user and refuses one with no live grant (18.604167ms) +✔ R3: a user named like the business human, the tester or a principal word is refused, whatever the grants say (12.324674ms) +✔ R3: each collaborator verb is allowed to a granted user (24.245708ms) +✔ R3: every verb off the collaborator list refuses a user access-refused before its own checks (143.218133ms) +✔ R3: task, web and host verbs refuse a user access-refused (31.970976ms) +✔ R3 leak: project.list shows granted projects only (19.51554ms) +✔ R3 leak: thread.create needs the project and the thread instance granted, and an ungranted id reads as one that does not exist (21.844708ms) +✔ R3 leak: thread.list shows the user its own threads that are still granted, never others (50.98665ms) +✔ R3 leak: names shows granted instances only (20.659882ms) +✔ R3: thread.send is from user: and writes no human.input (20.321333ms) +✔ R3: a reply-chain message.send into another user thread is refused (24.950336ms) +✔ R3: the run reply to a user message reaches that user thread.messages, with no waiting and no notice (27.787141ms) +✔ R3: a reply to: user without a matching in_reply_to is refused user-reply-required (49.762622ms) +✔ R3: a non-thread run, the human and the tester cannot send to: user (25.951263ms) +✔ R3: a user thread run cannot message the owner, while its uncited gated raise reaches only the owner inbox, B9 (35.272763ms) +✔ R3: a removed or expired grant refuses the next request access-revoked, and the file is read per request (39.234979ms) +✔ R3: a user refusal is recorded as action.refused by user: (21.732008ms) +✔ R3: a business with a role keyed user refuses invalid-business (15.44901ms) +✔ R3: name.set refuses the name user (17.921223ms) +✔ R3 r4: while halted, a granted user's thread.send refuses processing-halted and thread.messages still answers (23.785038ms) +✔ R3 r4: the chief's hire refuses an instance named user with the code it gives human and tester (30.503167ms) +✔ R3 r4: a non-function access throws before the store is read (0.526252ms) +✔ C2-09a: naming an instance cannot bypass its collaborator grant or disclose an ungranted project (65.258863ms) +✔ 264e deferred B6: a reply cannot cite the same user in a sibling session (95.013574ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 962.123151 diff --git a/agents/magica/work/queue-329/gate/bus-viewer.test.txt b/agents/magica/work/queue-329/gate/bus-viewer.test.txt new file mode 100644 index 000000000..b76153443 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-viewer.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/viewer.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ 275: VIEWER_VERBS is the ruled read list, inside USER_VERBS (1.467967ms) +✔ 275: a viewer binds, and each viewer verb answers with what its grant covers (51.086259ms) +✔ 275: a viewer is refused thread.create, thread.open and thread.send access-refused, and nothing is stored (37.956233ms) +✔ 275: every verb off the user list refuses a viewer access-refused before its own checks (160.078359ms) +✔ 275: mixed grants, collaborator on one project and viewer on another, take the level per project (39.559266ms) +✔ 275: board reads refuse users and viewers access-refused (98.309845ms) +✔ governance pin, user side: decisions, inbox entries, claims, tasks and project files are the owner's, the user reads its messages (52.91225ms) +ℹ tests 7 +ℹ suites 0 +ℹ pass 7 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 584.373233 diff --git a/agents/magica/work/queue-329/gate/bus-web.test.txt b/agents/magica/work/queue-329/gate/bus-web.test.txt new file mode 100644 index 000000000..ca7189cb6 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-web.test.txt @@ -0,0 +1,30 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/web.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ web.search: a granted role gets labelled results, and the call is trailed with role, run, verb and query (37.047923ms) +✔ web.fetch: a granted role gets the page as labelled text, and the call is trailed with the url (24.072993ms) +✔ a role without the grant is refused, the refusal is logged with the verb, and nothing is fetched (24.3007ms) +✔ a broker with no web service refuses a granted role (17.202617ms) +✔ bad requests are refused: unknown verb, extra or missing argument, not a string, a human or reader session (21.472761ms) +✔ a session that is not the role holder is refused (14.67075ms) +✔ web.mjs's fences hold on the broker side: refusals are normal results with the fixed reason (46.413077ms) +✔ web.search with no search source configured is a refused result, not an error (17.971724ms) +✔ a search source that fails with its own refusal, or that throws, is handled (19.754583ms) +✔ a slow search source ends in a refusal at the deadline (65.067966ms) +✔ a secret in the arguments is refused before anything is trailed or fetched (13.498936ms) +✔ over the socket: the server routes web verbs to the service; other roles are refused; no service is web-not-configured (69.388444ms) +✔ busBusiness: the web grant comes from "web" in the resolved tool limit (0.279509ms) +✔ webServices: the business's search-source plug-in and web.searxng var make web.search work; without either it is refused as not configured (57.765021ms) +✔ an ungranted call is refused at once: no admission, no wait, nothing touched (22.702274ms) +✔ over the socket an ungranted caller is dropped by the server timeout and a granted one gets the longer wait (357.502815ms) +✔ a search that never answers is aborted at the deadline, the module sees the signal, and the call is trailed as refused (timeout) (75.938607ms) +✔ a fetch that stalls is cut off at the deadline: the request is destroyed, not left running (94.913527ms) +✔ one query limit: over SEARCH_MAX_QUERY_CHARS or empty is refused with the same reason before any backend, and the tool schema carries the same number (18.331225ms) +ℹ tests 19 +ℹ suites 0 +ℹ pass 19 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1140.691799 diff --git a/agents/magica/work/queue-329/gate/bus-workflow-roles.test.txt b/agents/magica/work/queue-329/gate/bus-workflow-roles.test.txt new file mode 100644 index 000000000..1b879ce25 --- /dev/null +++ b/agents/magica/work/queue-329/gate/bus-workflow-roles.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/bus/tests/workflow-roles.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ merge-gate's technical raise is cross-role, goes to the cto, and only merge-gate can use the approval (47.438063ms) +✔ merge-gate has no message.send, and without a domain its raise goes to the delivery arbiter (25.466257ms) +✔ the cto must be able to message merge-gate, or the technical raise is refused (row 133) (21.926504ms) +✔ security-reviewer answers a review with its verdict alone; it holds no message.send (27.923366ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 208.709821 diff --git a/agents/magica/work/queue-329/gate/cli-access-boot.test.txt b/agents/magica/work/queue-329/gate/cli-access-boot.test.txt new file mode 100644 index 000000000..d5c4c3fe2 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-access-boot.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/access-boot.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ R6 a configured peer id validates as a user's home and an unconfigured one refuses (9.142985ms) +✔ R6 B1 a boot with access.json binds a granted user, whose home is a configured peer (81.994214ms) +✔ R6 B2 a boot without access.json has no access and binds no user (63.266512ms) +✔ R6 B3 a boot with a file R1's loader refuses still boots, binds no user and says so once (189.932452ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 470.865038 diff --git a/agents/magica/work/queue-329/gate/cli-access.test.txt b/agents/magica/work/queue-329/gate/cli-access.test.txt new file mode 100644 index 000000000..4daa7ce9a --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-access.test.txt @@ -0,0 +1,45 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/access.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ list prints the revision and the users (28.770827ms) +✔ grant writes one revision up, a receipt line, and the id in the file (55.216634ms) +✔ a viewer grant writes the viewer level, one revision up (51.928539ms) +✔ a second write appends a second receipt and leaves the first intact (106.168082ms) +✔ a stale revision refuses with revision-conflict and writes nothing (83.546619ms) +✔ a live holder's lock refuses and leaves the file and the lock alone (25.140232ms) +✔ an empty or unreadable lock refuses, since its holder may still be writing (51.326552ms) +✔ a lock left by a dead pid refuses, names the pid, and is not reclaimed (49.214626ms) +✔ a failed rename leaves the old bytes, removes the temp file, and writes no receipt (26.650994ms) +✔ a group-writable access file refuses with exit 3, names the file, and changes nothing (25.781799ms) +✔ an agent or tester caller is refused before the context or the access file is read (1.082491ms) +✔ the lock is mode 0600 while held and removed after a refused write (26.164719ms) +✔ a grant naming an unknown instance is refused before any write (25.633211ms) +✔ a project name resolves to its id at grant time (53.311446ms) +✔ an unknown project name refuses before any write (29.16792ms) +✔ revoke removes the user's grants and leaves a revision behind (110.152159ms) +✔ revoke of a user with no grant refuses and writes nothing (36.003652ms) +✔ an agent caller is refused before the bus is asked (0.934242ms) +✔ --tester is refused on every verb before the bus is asked (1.065923ms) +✔ a bus that refuses the human proof blocks the write (24.690075ms) +✔ the context reads console.sso subjects and the business files, and peers stay empty (7.423072ms) +✔ the real human-cli, run from agent ancestry, refuses and writes nothing (5140.058842ms) +✔ T1 user add writes the user one revision up, prints it and appends a user.add receipt (29.341625ms) +✔ T2 a bad user add refuses before any write (330.958139ms) +✔ T3 user remove of a user with no grant drops them one revision up, with a user.remove receipt (26.194679ms) +✔ T4 user remove refuses with user-has-grants while the user holds a grant, and writes nothing (91.379703ms) +✔ T5 user remove of an id not in the file refuses and writes nothing (24.682401ms) +✔ T6 a stale revision refuses both user verbs with revision-conflict (59.251528ms) +✔ T7 --tester and an agent caller are refused on both user verbs before the bus is asked (1.661224ms) +✔ T8 a user verb of the wrong shape prints the help (0.932462ms) +✔ T9 a bus that refuses the human proof blocks both user verbs (52.942012ms) +✔ R4 grant and revoke call access.reload after the write, and nothing else does (175.92563ms) +✔ R4 a refused access.reload after a good write exits 0, stdout reports the write, stderr names the code and the 30 s timer (76.79556ms) +✔ R4 the help keeps the provider-removal order and says what a refused reload means (2.154388ms) +ℹ tests 34 +ℹ suites 0 +ℹ pass 34 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 6969.379611 diff --git a/agents/magica/work/queue-329/gate/cli-app.test.txt b/agents/magica/work/queue-329/gate/cli-app.test.txt new file mode 100644 index 000000000..3825bed82 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-app.test.txt @@ -0,0 +1,41 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/app.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ every screen and overlay fits 120x36, 80x24 and the narrow layout, row for row (1356.324148ms) +✔ width counts terminal cells: wide CJK and emoji 2, U+FE0F after a one-cell base 1, marks 0 (66.930958ms) +✔ broker text is shown, never interpreted: no raw control character or bidi override reaches the terminal (150.126776ms) +✔ NO_COLOR: no escape codes, except reverse video on the selected row (270.413944ms) +✔ 1-9 shows the decide flow's own lines and question; only y resolves (66.076823ms) +✔ the app shows the same decide text as mosaic decide (29.336918ms) +✔ any key but y or Y at the question answers No; nothing is sent (270.560794ms) +✔ below 40x10 the question is hidden, so every key answers it No, y included (Filbert R3) (95.548755ms) +✔ under 40 columns a tall terminal shows the too-small screen even where the decide box would fit; y sends nothing (Filbert N10) (376.150831ms) +✔ a hidden decide box names the way out, and the status line under it does not promise y (Filbert N12) (57.836905ms) +✔ a throw while answering the question goes to crash, sends nothing and leaves no job pending (30.707613ms) +✔ type-ahead never answers the question: a paste, keys typed before it is drawn, keys inside askMs (427.718244ms) +✔ quitting at the question answers No and sends nothing, armed or not (47.387139ms) +✔ a timer tick reads nothing under an overlay, never answers the question, and keeps a resolved status (38.673934ms) +✔ a long question is cut inside the question; the action, target, choice and prompt stay (Dewey B1) (57.740505ms) +✔ a decide box too big for the terminal says so, and every key answers it No, y included (Dewey B1, round 3) (358.579587ms) +✔ at every size the decide box shows each line y depends on, or says it is hidden (9775.917276ms) +✔ outcome unknown: the CLI's sentence, no retry, then the trail or a re-read (82.866275ms) +✔ refused and failed reads keep the last list, marked stale; a refused decide says refused (46.846681ms) +✔ help or a detail box cut to fit keeps its last line, Esc included (Dewey) (21.900412ms) +✔ keys: views, moving, trail of a selection, the command line, help and quit (98.888396ms) +✔ one option: the status line says Press 1, not 1-1 (29.490108ms) +✔ no business: the app says so and :business picks one (14.750519ms) +✔ mosaic with no argument: exit 3 in an agent run, exit 4 with the usage off a terminal, the app on one (1.967313ms) +✔ scripts/mosaic with no argument reaches the app entry; the seat usage it printed before has not drifted (205.287055ms) +✔ strings to keep exactly live once, in the decide flow and the transport; the app does not restate them (0.49758ms) +✔ decide with --note still asks; a No sends nothing (15.733551ms) +✔ the app's business comes from a live bus host only (1.058155ms) +✔ runApp leaves the terminal as it found it on q, end of input, SIGTERM, SIGINT, SIGHUP and an error, the first frame's included (6.539427ms) +✔ draw is pure: same state, same frame (0.76075ms) +ℹ tests 30 +ℹ suites 0 +ℹ pass 30 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 14160.4819 diff --git a/agents/magica/work/queue-329/gate/cli-boot-status.test.txt b/agents/magica/work/queue-329/gate/cli-boot-status.test.txt new file mode 100644 index 000000000..c935879dc --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-boot-status.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/boot-status.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ recordBootRefused keeps the last good load across refusals; recordBootOk clears the refusal (3.67553ms) +✔ an unknown key and a JSON syntax error each leave the bus down with the reason and path in the status (699.973533ms) +✔ a missing file is recorded too, and a valid file clears the status on the next start (506.110471ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1318.001285 diff --git a/agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.load.jsonl b/agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.load.jsonl new file mode 100644 index 000000000..65f38222a --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.load.jsonl @@ -0,0 +1,243 @@ +{"utc": "2026-10-24T20:13:27.846+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:13:28.846+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:13:29.846+00:00", "load1": "3.29"} +{"utc": "2026-10-24T20:13:30.847+00:00", "load1": "3.29"} +{"utc": "2026-10-24T20:13:31.847+00:00", "load1": "3.29"} +{"utc": "2026-10-24T20:13:32.847+00:00", "load1": "3.29"} +{"utc": "2026-10-24T20:13:33.848+00:00", "load1": "3.29"} +{"utc": "2026-10-24T20:13:34.848+00:00", "load1": "3.11"} +{"utc": "2026-10-24T20:13:35.848+00:00", "load1": "3.11"} +{"utc": "2026-10-24T20:13:36.848+00:00", "load1": "3.11"} +{"utc": "2026-10-24T20:13:37.849+00:00", "load1": "3.11"} +{"utc": "2026-10-24T20:13:38.849+00:00", "load1": "3.11"} +{"utc": "2026-10-24T20:13:39.849+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:13:40.850+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:13:41.850+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:13:42.850+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:13:43.851+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:13:44.851+00:00", "load1": "3.25"} +{"utc": "2026-10-24T20:13:45.851+00:00", "load1": "3.25"} +{"utc": "2026-10-24T20:13:46.851+00:00", "load1": "3.25"} +{"utc": "2026-10-24T20:13:47.852+00:00", "load1": "3.25"} +{"utc": "2026-10-24T20:13:48.852+00:00", "load1": "3.25"} +{"utc": "2026-10-24T20:13:49.852+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:13:50.853+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:13:51.853+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:13:52.853+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:13:53.853+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:13:54.854+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:13:55.854+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:13:56.854+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:13:57.855+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:13:58.855+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:13:59.855+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:14:00.856+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:14:01.856+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:14:02.856+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:14:03.856+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:14:04.857+00:00", "load1": "3.25"} +{"utc": "2026-10-24T20:14:05.857+00:00", "load1": "3.25"} +{"utc": "2026-10-24T20:14:06.857+00:00", "load1": "3.25"} +{"utc": "2026-10-24T20:14:07.858+00:00", "load1": "3.25"} +{"utc": "2026-10-24T20:14:08.858+00:00", "load1": "3.25"} +{"utc": "2026-10-24T20:14:09.858+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:14:10.858+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:14:11.859+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:14:12.859+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:14:13.859+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:14:14.859+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:14:15.860+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:14:16.860+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:14:17.860+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:14:18.861+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:14:19.861+00:00", "load1": "3.03"} +{"utc": "2026-10-24T20:14:20.861+00:00", "load1": "3.03"} +{"utc": "2026-10-24T20:14:21.861+00:00", "load1": "3.03"} +{"utc": "2026-10-24T20:14:22.862+00:00", "load1": "3.03"} +{"utc": "2026-10-24T20:14:23.862+00:00", "load1": "3.03"} +{"utc": "2026-10-24T20:14:24.862+00:00", "load1": "3.11"} +{"utc": "2026-10-24T20:14:25.863+00:00", "load1": "3.11"} +{"utc": "2026-10-24T20:14:26.863+00:00", "load1": "3.11"} +{"utc": "2026-10-24T20:14:27.863+00:00", "load1": "3.11"} +{"utc": "2026-10-24T20:14:28.863+00:00", "load1": "3.11"} +{"utc": "2026-10-24T20:14:29.864+00:00", "load1": "2.94"} +{"utc": "2026-10-24T20:14:30.864+00:00", "load1": "2.94"} +{"utc": "2026-10-24T20:14:31.864+00:00", "load1": "2.94"} +{"utc": "2026-10-24T20:14:32.864+00:00", "load1": "2.94"} +{"utc": "2026-10-24T20:14:33.865+00:00", "load1": "2.94"} +{"utc": "2026-10-24T20:14:34.865+00:00", "load1": "2.70"} +{"utc": "2026-10-24T20:14:35.865+00:00", "load1": "2.70"} +{"utc": "2026-10-24T20:14:36.866+00:00", "load1": "2.70"} +{"utc": "2026-10-24T20:14:37.866+00:00", "load1": "2.70"} +{"utc": "2026-10-24T20:14:38.866+00:00", "load1": "2.70"} +{"utc": "2026-10-24T20:14:39.866+00:00", "load1": "2.73"} +{"utc": "2026-10-24T20:14:40.867+00:00", "load1": "2.73"} +{"utc": "2026-10-24T20:14:41.867+00:00", "load1": "2.73"} +{"utc": "2026-10-24T20:14:42.867+00:00", "load1": "2.73"} +{"utc": "2026-10-24T20:14:43.867+00:00", "load1": "2.73"} +{"utc": "2026-10-24T20:14:44.868+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:14:45.868+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:14:46.868+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:14:47.869+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:14:48.869+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:14:49.869+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:14:50.869+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:14:51.870+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:14:52.870+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:14:53.870+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:14:54.870+00:00", "load1": "2.75"} +{"utc": "2026-10-24T20:14:55.871+00:00", "load1": "2.75"} +{"utc": "2026-10-24T20:14:56.871+00:00", "load1": "2.75"} +{"utc": "2026-10-24T20:14:57.871+00:00", "load1": "2.75"} +{"utc": "2026-10-24T20:14:58.872+00:00", "load1": "2.75"} +{"utc": "2026-10-24T20:14:59.872+00:00", "load1": "3.17"} +{"utc": "2026-10-24T20:15:00.872+00:00", "load1": "3.17"} +{"utc": "2026-10-24T20:15:01.872+00:00", "load1": "3.17"} +{"utc": "2026-10-24T20:15:02.873+00:00", "load1": "3.17"} +{"utc": "2026-10-24T20:15:03.873+00:00", "load1": "3.17"} +{"utc": "2026-10-24T20:15:04.873+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:15:05.873+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:15:06.874+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:15:07.874+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:15:08.874+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:15:09.874+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:15:10.875+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:15:11.875+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:15:12.875+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:15:13.876+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:15:14.876+00:00", "load1": "3.08"} +{"utc": "2026-10-24T20:15:15.876+00:00", "load1": "3.08"} +{"utc": "2026-10-24T20:15:16.876+00:00", "load1": "3.08"} +{"utc": "2026-10-24T20:15:17.877+00:00", "load1": "3.08"} +{"utc": "2026-10-24T20:15:18.877+00:00", "load1": "3.08"} +{"utc": "2026-10-24T20:15:19.877+00:00", "load1": "3.63"} +{"utc": "2026-10-24T20:15:20.877+00:00", "load1": "3.63"} +{"utc": "2026-10-24T20:15:21.878+00:00", "load1": "3.63"} +{"utc": "2026-10-24T20:15:22.878+00:00", "load1": "3.63"} +{"utc": "2026-10-24T20:15:23.878+00:00", "load1": "3.63"} +{"utc": "2026-10-24T20:15:24.879+00:00", "load1": "3.50"} +{"utc": "2026-10-24T20:15:25.879+00:00", "load1": "3.50"} +{"utc": "2026-10-24T20:15:26.879+00:00", "load1": "3.50"} +{"utc": "2026-10-24T20:15:27.879+00:00", "load1": "3.50"} +{"utc": "2026-10-24T20:15:28.880+00:00", "load1": "3.50"} +{"utc": "2026-10-24T20:15:29.880+00:00", "load1": "3.38"} +{"utc": "2026-10-24T20:15:30.880+00:00", "load1": "3.38"} +{"utc": "2026-10-24T20:15:31.881+00:00", "load1": "3.38"} +{"utc": "2026-10-24T20:15:32.881+00:00", "load1": "3.38"} +{"utc": "2026-10-24T20:15:33.881+00:00", "load1": "3.38"} +{"utc": "2026-10-24T20:15:34.881+00:00", "load1": "3.27"} +{"utc": "2026-10-24T20:15:35.882+00:00", "load1": "3.27"} +{"utc": "2026-10-24T20:15:36.882+00:00", "load1": "3.27"} +{"utc": "2026-10-24T20:15:37.882+00:00", "load1": "3.27"} +{"utc": "2026-10-24T20:15:38.882+00:00", "load1": "3.27"} +{"utc": "2026-10-24T20:15:39.883+00:00", "load1": "3.09"} +{"utc": "2026-10-24T20:15:40.883+00:00", "load1": "3.09"} +{"utc": "2026-10-24T20:15:41.883+00:00", "load1": "3.09"} +{"utc": "2026-10-24T20:15:42.884+00:00", "load1": "3.09"} +{"utc": "2026-10-24T20:15:43.884+00:00", "load1": "3.09"} +{"utc": "2026-10-24T20:15:44.884+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:15:45.884+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:15:46.885+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:15:47.885+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:15:48.885+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:15:49.885+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:15:50.886+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:15:51.886+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:15:52.886+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:15:53.887+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:15:54.887+00:00", "load1": "3.38"} +{"utc": "2026-10-24T20:15:55.887+00:00", "load1": "3.38"} +{"utc": "2026-10-24T20:15:56.887+00:00", "load1": "3.38"} +{"utc": "2026-10-24T20:15:57.888+00:00", "load1": "3.38"} +{"utc": "2026-10-24T20:15:58.888+00:00", "load1": "3.38"} +{"utc": "2026-10-24T20:15:59.888+00:00", "load1": "3.35"} +{"utc": "2026-10-24T20:16:00.889+00:00", "load1": "3.35"} +{"utc": "2026-10-24T20:16:01.889+00:00", "load1": "3.35"} +{"utc": "2026-10-24T20:16:02.889+00:00", "load1": "3.35"} +{"utc": "2026-10-24T20:16:03.889+00:00", "load1": "3.35"} +{"utc": "2026-10-24T20:16:04.890+00:00", "load1": "3.40"} +{"utc": "2026-10-24T20:16:05.890+00:00", "load1": "3.40"} +{"utc": "2026-10-24T20:16:06.890+00:00", "load1": "3.40"} +{"utc": "2026-10-24T20:16:07.890+00:00", "load1": "3.40"} +{"utc": "2026-10-24T20:16:08.891+00:00", "load1": "3.40"} +{"utc": "2026-10-24T20:16:09.891+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:16:10.891+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:16:11.892+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:16:12.892+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:16:13.892+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:16:14.892+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:16:15.893+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:16:16.893+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:16:17.893+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:16:18.894+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:16:19.894+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:16:20.894+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:16:21.894+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:16:22.895+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:16:23.895+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:16:24.895+00:00", "load1": "3.21"} +{"utc": "2026-10-24T20:16:25.895+00:00", "load1": "3.21"} +{"utc": "2026-10-24T20:16:26.896+00:00", "load1": "3.21"} +{"utc": "2026-10-24T20:16:27.896+00:00", "load1": "3.21"} +{"utc": "2026-10-24T20:16:28.896+00:00", "load1": "3.21"} +{"utc": "2026-10-24T20:16:29.897+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:16:30.897+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:16:31.897+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:16:32.897+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:16:33.898+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:16:34.898+00:00", "load1": "3.47"} +{"utc": "2026-10-24T20:16:35.898+00:00", "load1": "3.47"} +{"utc": "2026-10-24T20:16:36.898+00:00", "load1": "3.47"} +{"utc": "2026-10-24T20:16:37.899+00:00", "load1": "3.47"} +{"utc": "2026-10-24T20:16:38.899+00:00", "load1": "3.47"} +{"utc": "2026-10-24T20:16:39.899+00:00", "load1": "3.35"} +{"utc": "2026-10-24T20:16:40.900+00:00", "load1": "3.35"} +{"utc": "2026-10-24T20:16:41.900+00:00", "load1": "3.35"} +{"utc": "2026-10-24T20:16:42.900+00:00", "load1": "3.35"} +{"utc": "2026-10-24T20:16:43.901+00:00", "load1": "3.35"} +{"utc": "2026-10-24T20:16:44.901+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:16:45.901+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:16:46.902+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:16:47.902+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:16:48.902+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:16:49.902+00:00", "load1": "3.77"} +{"utc": "2026-10-24T20:16:50.903+00:00", "load1": "3.77"} +{"utc": "2026-10-24T20:16:51.903+00:00", "load1": "3.77"} +{"utc": "2026-10-24T20:16:52.903+00:00", "load1": "3.77"} +{"utc": "2026-10-24T20:16:53.903+00:00", "load1": "3.77"} +{"utc": "2026-10-24T20:16:54.904+00:00", "load1": "3.63"} +{"utc": "2026-10-24T20:16:55.904+00:00", "load1": "3.63"} +{"utc": "2026-10-24T20:16:56.904+00:00", "load1": "3.63"} +{"utc": "2026-10-24T20:16:57.905+00:00", "load1": "3.63"} +{"utc": "2026-10-24T20:16:58.905+00:00", "load1": "3.63"} +{"utc": "2026-10-24T20:16:59.905+00:00", "load1": "3.66"} +{"utc": "2026-10-24T20:17:00.905+00:00", "load1": "3.66"} +{"utc": "2026-10-24T20:17:01.906+00:00", "load1": "3.66"} +{"utc": "2026-10-24T20:17:02.906+00:00", "load1": "3.66"} +{"utc": "2026-10-24T20:17:03.906+00:00", "load1": "3.66"} +{"utc": "2026-10-24T20:17:04.907+00:00", "load1": "3.68"} +{"utc": "2026-10-24T20:17:05.907+00:00", "load1": "3.68"} +{"utc": "2026-10-24T20:17:06.907+00:00", "load1": "3.68"} +{"utc": "2026-10-24T20:17:07.907+00:00", "load1": "3.68"} +{"utc": "2026-10-24T20:17:08.908+00:00", "load1": "3.68"} +{"utc": "2026-10-24T20:17:09.908+00:00", "load1": "4.99"} +{"utc": "2026-10-24T20:17:10.908+00:00", "load1": "4.99"} +{"utc": "2026-10-24T20:17:11.909+00:00", "load1": "4.99"} +{"utc": "2026-10-24T20:17:12.909+00:00", "load1": "4.99"} +{"utc": "2026-10-24T20:17:13.909+00:00", "load1": "4.99"} +{"utc": "2026-10-24T20:17:14.909+00:00", "load1": "4.91"} +{"utc": "2026-10-24T20:17:15.910+00:00", "load1": "4.91"} +{"utc": "2026-10-24T20:17:16.910+00:00", "load1": "4.91"} +{"utc": "2026-10-24T20:17:17.910+00:00", "load1": "4.91"} +{"utc": "2026-10-24T20:17:18.911+00:00", "load1": "4.91"} +{"utc": "2026-10-24T20:17:19.911+00:00", "load1": "4.84"} +{"utc": "2026-10-24T20:17:20.911+00:00", "load1": "4.84"} +{"utc": "2026-10-24T20:17:21.911+00:00", "load1": "4.84"} +{"utc": "2026-10-24T20:17:22.912+00:00", "load1": "4.84"} +{"utc": "2026-10-24T20:17:23.912+00:00", "load1": "4.84"} +{"utc": "2026-10-24T20:17:24.912+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:17:25.913+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:17:26.913+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:17:27.913+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:17:28.913+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:17:29.914+00:00", "load1": "4.56"} diff --git a/agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.txt b/agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.txt new file mode 100644 index 000000000..e212085ca --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.txt @@ -0,0 +1,69 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case1-accept.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/Xtdoa0 +begin: {"utc": "2026-10-24T20:13:27.845+00:00", "load1": "3.32"} +launch nice: 19 +✔ row253 socket observation uses configured root, metadata and the Console peer without sending bytes (2164.898518ms) +✔ row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure (30399.213709ms) +✔ row253 acceptance rejects bad config and unsupported copies before talk (1406.993934ms) +✔ row253 stalled peer observation ends within its bound without leaving a reader (4093.250604ms) +✔ row253 P8 refuses both retired TCP and board listeners (3919.308219ms) +✔ row253 C4 acceptance query inner reason holds under both sudo models (10734.105228ms) +✔ row253 C4 acceptance query outer reason discards stdout and names residual cleanup (14195.307217ms) +✔ row253 C4 acceptance query overflow is output-limit in both models (497.927608ms) +✔ row299 P10 timing copy preserves shipped bytes and isolates observer variables (0.713899ms) +✔ row299 P10 observers preserve stdout stderr status and the EXIT trap (3.495493ms) +✔ row299 P10 observer records are complete and ordered (0.728876ms) +✔ row253 C4 P10 inner reason holds under both sudo models (11925.455213ms) +ℹ {"fault":"inner","mode":"exec","baselineSeconds":1.9137389450000046,"faultSeconds":4.013301452999992,"probeSeconds":2.26} +ℹ {"fault":"inner","mode":"hop","baselineSeconds":1.888736892999994,"faultSeconds":4.035837824999995,"probeSeconds":2.25} +✔ row253 C4 P10 outer reason holds under both sudo models (15329.133006ms) +ℹ {"fault":"outer","mode":"exec","baselineSeconds":1.9313698379999986,"faultSeconds":5.743526903000006,"probeSeconds":4} +ℹ {"fault":"outer","mode":"hop","baselineSeconds":1.8612516409999953,"faultSeconds":5.733742264999994,"probeSeconds":4} +✔ row253 C4 P10 overflow reason holds under both sudo models (3878.856814ms) +✔ row 195 accept: every check passing exits 0, with each P mark and counts that match the lines (1902.147303ms) +✔ row 195 accept: exits 1 with each F check failing alone, and its line names it (21383.664986ms) +✔ row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error (3782.123049ms) +✔ row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic (3590.949726ms) +✔ row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port (3756.301161ms) +✔ row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space (8819.750872ms) +✔ row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone (4098.649849ms) +✔ row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude- and on a .. segment (5215.737692ms) +✔ row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by (5773.893086ms) +✔ row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential (5876.6737ms) +✔ row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag (5812.412277ms) +✔ row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it (5294.052741ms) +✔ row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory (3742.33966ms) +✔ row 195 accept: each P check reports unnamed on its fault, and the exit stays 0 (17003.024411ms) +✔ row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker (3749.76519ms) +✔ row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys (1839.486351ms) +✔ row 195 accept: P9 is unnamed once for each item missing (9416.252586ms) +✔ row253 accept: P10 fails its observation with another peer; P11 with the unit disabled (3705.196314ms) +✔ row 195 accept: every P check unnamed together still exits 0 (1705.722808ms) +✔ row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason (105.387264ms) +✔ row 195 accept: usage errors and a run without --root as a user exit 2 (11.980888ms) +✔ row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=:... (1838.123179ms) +✔ row 195 accept: the host check runs with --check and never --enforce (1862.451888ms) +✔ row276 legacy call inventory pins every production bound and the conversation contract (0.380865ms) +✔ row276 talk legacy inner timeout cleans both sudo models (1675.844401ms) +✔ row276 precheck legacy inner timeout cleans both sudo models (1727.106976ms) +✔ row276 claude-version legacy inner timeout cleans both sudo models (1720.615523ms) +✔ row276 pm-list legacy inner timeout cleans both sudo models (1662.027665ms) +✔ row276 node-version legacy inner timeout cleans both sudo models (1679.482769ms) +✔ row276 legacy streams and display status preserve failures without granting success (2639.350988ms) +✔ row276 trailer grammar cannot make supervisor failure pass (2119.887705ms) +✔ row276 earlier forged trailer and appended zero remain failures (524.015504ms) +✔ row276 precheck outer bound discards success status and fixture cleans residual (2178.568549ms) +✔ row276 case1 capture and legacy tools refuse unsafe system tools (82.233349ms) +✔ row276 stderr retention is bounded and keeps the final diagnostic (265.763819ms) +✔ row276 version and PM checks refuse successful-looking stdout on supervisor failure (16.790603ms) +✔ row276 full acceptance keeps all five healthy calls in both sudo models (3784.003469ms) +✔ row276 vanished pid stat read returns 3 with empty stderr in both scripts (13.218327ms) +✔ row276 legacy stdout snapshot preserves exact bytes on success and command failure (3237.604818ms) +ℹ tests 53 +ℹ suites 0 +ℹ pass 53 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 242281.277315 diff --git a/agents/magica/work/queue-329/gate/cli-case1-accept.test.txt b/agents/magica/work/queue-329/gate/cli-case1-accept.test.txt new file mode 100644 index 000000000..0d800d366 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-case1-accept.test.txt @@ -0,0 +1,96 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case1-accept.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ row253 socket observation uses configured root, metadata and the Console peer without sending bytes (1991.79972ms) +✔ row253 P10 refuses unsafe metadata, wrong peers and an unsafe Python without claiming closure (32084.661392ms) +✔ row253 acceptance rejects bad config and unsupported copies before talk (1624.159624ms) +✔ row253 stalled peer observation ends within its bound without leaving a reader (4763.960817ms) +✔ row253 P8 refuses both retired TCP and board listeners (4535.022332ms) +✔ row253 C4 acceptance query inner reason holds under both sudo models (10743.491133ms) +✔ row253 C4 acceptance query outer reason discards stdout and names residual cleanup (14201.175623ms) +✔ row253 C4 acceptance query overflow is output-limit in both models (668.579818ms) +✔ row299 P10 timing copy preserves shipped bytes and isolates observer variables (1.014443ms) +✔ row299 P10 observers preserve stdout stderr status and the EXIT trap (4.725295ms) +✔ row299 P10 observer records are complete and ordered (0.781512ms) +✔ row253 C4 P10 inner reason holds under both sudo models (12150.066526ms) +ℹ {"fault":"inner","mode":"exec","baselineSeconds":1.999850372999994,"faultSeconds":4.035798971000011,"probeSeconds":2.26} +ℹ {"fault":"inner","mode":"hop","baselineSeconds":1.9548580479999946,"faultSeconds":4.088207892999999,"probeSeconds":2.27} +✔ row253 C4 P10 outer reason holds under both sudo models (15959.434566ms) +ℹ {"fault":"outer","mode":"exec","baselineSeconds":1.9756706330000016,"faultSeconds":5.805479731999992,"probeSeconds":4} +ℹ {"fault":"outer","mode":"hop","baselineSeconds":2.12305976199999,"faultSeconds":5.957335126999999,"probeSeconds":4} +✔ row253 C4 P10 overflow reason holds under both sudo models (4156.09995ms) +✔ row 195 accept: every check passing exits 0, with each P mark and counts that match the lines (1966.977541ms) +✔ row 195 accept: exits 1 with each F check failing alone, and its line names it (22181.142728ms) +✖ row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error (2140.091658ms) +✔ row 195 accept: F1 fails on a unit that isn't active or isn't User=mosaic (3920.577865ms) +✔ row 195 accept: F2 fails when healthz doesn't answer and when another pid holds the port (3958.805464ms) +✔ row 195 accept: F5 fails on unpriv_bwrap (enforce), on complain and on a trailing space (9192.632329ms) +✔ row 195 accept: F5 fails with no bwrap of mosaic's, and passes on comm alone (4559.931251ms) +✔ row 195 accept: F6 fails on a stub that prints nothing, on a path outside claude- and on a .. segment (5538.000564ms) +✔ row 195 accept: F7 fails on two live PM launches, one for another business, and no launch.by (5996.454249ms) +✔ row 195 accept: F8 fails on 0640, on another owner and on a symlink, and never prints the credential (6061.018901ms) +✔ row 195 accept: F9 fails on another owner, a group-writable mode and a number for the flag (6319.175759ms) +✔ row 195 accept: F9 won't run --node as root off the pin path or with a writable directory above it (5541.967278ms) +✔ row 195 accept: F11 fails on one *.json under discord/ and passes on an empty directory (4245.760876ms) +✔ row 195 accept: each P check reports unnamed on its fault, and the exit stays 0 (18233.073343ms) +✔ row 195 accept: P2 is unnamed with a supplementary group, and P5 names docker (3986.988455ms) +✔ row 195 accept: P5 is closed with no jarvis account, and P2 with an empty authorized_keys (1953.974962ms) +✔ row 195 accept: P9 is unnamed once for each item missing (9888.030598ms) +✔ row253 accept: P10 fails its observation with another peer; P11 with the unit disabled (3846.030039ms) +✔ row 195 accept: every P check unnamed together still exits 0 (1692.507538ms) +✔ row 195 accept: a bad args file refuses with exit 2 before any check, each for its own reason (111.061478ms) +✔ row 195 accept: usage errors and a run without --root as a user exit 2 (12.97852ms) +✔ row 195 accept: every in-instance call goes through sudo -u mosaic -H env PATH=:... (1901.03719ms) +✔ row 195 accept: the host check runs with --check and never --enforce (2109.741337ms) +✔ row276 legacy call inventory pins every production bound and the conversation contract (0.375877ms) +✔ row276 talk legacy inner timeout cleans both sudo models (1737.229989ms) +✔ row276 precheck legacy inner timeout cleans both sudo models (1693.35693ms) +✔ row276 claude-version legacy inner timeout cleans both sudo models (1715.556601ms) +✔ row276 pm-list legacy inner timeout cleans both sudo models (1697.656074ms) +✔ row276 node-version legacy inner timeout cleans both sudo models (1754.30434ms) +✔ row276 legacy streams and display status preserve failures without granting success (2740.659486ms) +✔ row276 trailer grammar cannot make supervisor failure pass (2234.728335ms) +✔ row276 earlier forged trailer and appended zero remain failures (624.022292ms) +✔ row276 precheck outer bound discards success status and fixture cleans residual (2326.866419ms) +✔ row276 case1 capture and legacy tools refuse unsafe system tools (82.378576ms) +✔ row276 stderr retention is bounded and keeps the final diagnostic (271.692841ms) +✔ row276 version and PM checks refuse successful-looking stdout on supervisor failure (26.789446ms) +✔ row276 full acceptance keeps all five healthy calls in both sudo models (3978.337914ms) +✔ row276 vanished pid stat read returns 3 with empty stderr in both scripts (13.950069ms) +✔ row276 legacy stdout snapshot preserves exact bytes on success and command failure (3323.562374ms) +ℹ tests 53 +ℹ suites 0 +ℹ pass 52 +ℹ fail 1 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 252577.471202 + +✖ failing tests: + +test at packages/cli/tests/case1-accept.test.mjs:503:1 +✖ row 195 accept: F3 fails on exit 0 with no reply line, and its evidence takes talk's error (2140.091658ms) + AssertionError [ERR_ASSERTION]: Expected values to be strictly deep-equal: + + actual - expected + + [ + 'F3', + + 'F7' + ] + + at TestContext. (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case1-accept.test.mjs:507:10) + at Test.runInAsyncScope (node:async_hooks:226:14) + at Test.run (node:internal/test_runner/test:1402:25) + at Test.processPendingSubtests (node:internal/test_runner/test:974:18) + at Test.postRun (node:internal/test_runner/test:1542:19) + at Test.run (node:internal/test_runner/test:1467:12) + at process.processTicksAndRejections (node:internal/process/task_queues:104:5) + at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) { + generatedMessage: true, + code: 'ERR_ASSERTION', + actual: [ 'F3', 'F7' ], + expected: [ 'F3' ], + operator: 'deepStrictEqual', + diff: 'simple' + } diff --git a/agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.load.jsonl new file mode 100644 index 000000000..323c3ec91 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.load.jsonl @@ -0,0 +1,3 @@ +{"utc": "2026-10-24T20:17:30.166+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:17:31.167+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:17:32.167+00:00", "load1": "4.56"} diff --git a/agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.txt b/agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.txt new file mode 100644 index 000000000..5f687fb19 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.txt @@ -0,0 +1,31 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case1-hostcheck.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/9ioaKX +begin: {"utc": "2026-10-24T20:17:30.166+00:00", "load1": "4.56"} +launch nice: 19 +✔ row 240 check: exits 0 with all seven items and a note that bubblewrap is the install pin (36.398705ms) +✔ row 240 check: exits 1 with each item failing alone, and its line names it (225.617661ms) +✔ row 240 check: item 1 fails when a package owns the profile, when dpkg -S errs, or with no pin (93.301915ms) +✔ row 240 check: item 2 fails on a loaded mosaic-bwrap, a missing unpriv_bwrap or a failed aa-status (96.328442ms) +✔ row 240 check: item 3 fails on a second file naming bwrap as a word, /{usr/,}bin/bwrap included (134.421208ms) +✔ row 240 check: item 4 reads the label under the units' no-new-privs and matches it exactly (130.592241ms) +✔ row 240 check: item 5 needs the statoverride and stat to agree (32.598167ms) +✔ row 240 check: item 6 fails on protected_hardlinks 0; item 7 fails with the floor at 732 and reads 1023 with no unit (185.496662ms) +✔ row 240 check: a bubblewrap version other than the install pin is a note, not a failure (31.533864ms) +✔ row 240 enforce: a pass with no DRIFT changes nothing and exits 0 (32.404788ms) +✔ row 240 enforce: each failure exits 0, unloads the profile, closes bwrap, writes DRIFT and one log line (343.54106ms) +✔ row 240 enforce: with DRIFT present and every item passing, it still closes bwrap (43.754565ms) +✔ row 240 enforce: no unload when aa-status lists neither bwrap profile; never writes the statoverride (319.743859ms) +✔ row 240 upstream: a candidate whose profile differs prints the difference and exits 0 (57.828205ms) +✔ row 240 boot unit: a oneshot after apparmor and before the bus that runs --enforce (0.560161ms) +✔ row 240 pins and usage: the shipped pins are r6's, the script reads the pins beside it, and bad usage exits 2 (46.904409ms) +✔ Vikunja 614 check: item 5 accepts dpkg's bare octal mode and leading-zero equivalents (65.020717ms) +✔ Vikunja 614 enforce: dpkg's bare 750 leaves bwrap open and writes no DRIFT (33.161066ms) +✔ Vikunja 614 check: item 5 refuses other modes, owners, groups, paths and malformed overrides (934.430456ms) +ℹ tests 19 +ℹ suites 0 +ℹ pass 19 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 2952.152201 diff --git a/agents/magica/work/queue-329/gate/cli-case2-install.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-case2-install.test.load.jsonl new file mode 100644 index 000000000..c1d78b13d --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-case2-install.test.load.jsonl @@ -0,0 +1,9 @@ +{"utc": "2026-10-24T20:17:33.150+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:17:34.150+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:17:35.151+00:00", "load1": "4.76"} +{"utc": "2026-10-24T20:17:36.151+00:00", "load1": "4.76"} +{"utc": "2026-10-24T20:17:37.151+00:00", "load1": "4.76"} +{"utc": "2026-10-24T20:17:38.152+00:00", "load1": "4.76"} +{"utc": "2026-10-24T20:17:39.152+00:00", "load1": "4.76"} +{"utc": "2026-10-24T20:17:40.152+00:00", "load1": "4.78"} +{"utc": "2026-10-24T20:17:41.152+00:00", "load1": "4.78"} diff --git a/agents/magica/work/queue-329/gate/cli-case2-install.test.txt b/agents/magica/work/queue-329/gate/cli-case2-install.test.txt new file mode 100644 index 000000000..6a3a020bd --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-case2-install.test.txt @@ -0,0 +1,39 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case2-install.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/DTwCI2 +begin: {"utc": "2026-10-24T20:17:33.150+00:00", "load1": "4.56"} +launch nice: 19 +✔ the library install writes the business file, personas and slot dir, makes the copy and starts nothing (316.600862ms) +✔ a library re-run passes and leaves every file as it was (410.449757ms) +✔ a re-run refuses business-file-differs and leaves the file unchanged (284.399487ms) +✔ a re-run refuses persona-differs when an installed persona isn't the staged one, and writes nothing (284.060102ms) +✔ the factory install writes no library mapping, persona or slot dir (190.145174ms) +✔ the factory install refuses a library project and bus.tester off, before anything is written (77.903846ms) +✔ the library install refuses bus.tester on and a persona var in the input (87.467442ms) +✔ the install refuses root, a business id mismatch, another --home and a config dir with group bits (57.210488ms) +✔ the library install needs --personas (6.32704ms) +✔ a validate refusal removes the business file this run wrote (259.993727ms) +✔ N4: a validate refusal on a re-run leaves the matching business file in place, byte for byte (419.679162ms) +✔ a clean library host passes the precheck with no mirror yet (437.370995ms) +✔ the library precheck refuses a persona file at 0644 (402.239834ms) +✔ the library precheck refuses a persona whose digest isn't persona.sha256 (486.338823ms) +✔ the library precheck refuses a persona dir with group bits (427.127751ms) +✔ the library precheck refuses a business file at 0644 (418.65069ms) +✔ the library precheck refuses a changes.jsonl at 0644 (584.985728ms) +✔ the library precheck refuses a Discord binding (440.294399ms) +✔ --library-status refuses library-mirror-missing before the bus has made the mirror (367.796987ms) +✔ --library-status refuses library-never-synced on a fresh mirror (364.294188ms) +✔ --library-status names a recorded lastError before the null lastFetch it leaves (N3) (378.938572ms) +✔ --library-status prints each R-problem's path as an escaped JSON string, then the count, and passes (430.082225ms) +✔ --library-status takes no --profile (6.678089ms) +✔ Vikunja 614: install preserves the explicit notifier decision bytes and mode and creates none when absent (491.973833ms) +✔ row 322 F8: library personas install from the copy with no clone node_modules (149.391819ms) +✔ row 322 F9: importer refusal keeps the error line rather than the Node banner (101.097247ms) +✔ C2-21: library install supplies chief identity and books publish for its real read grant (279.442287ms) +ℹ tests 27 +ℹ suites 0 +ℹ pass 27 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 8285.795984 diff --git a/agents/magica/work/queue-329/gate/cli-case2-persona-import.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-case2-persona-import.test.load.jsonl new file mode 100644 index 000000000..54f075ff9 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-case2-persona-import.test.load.jsonl @@ -0,0 +1,4 @@ +{"utc": "2026-10-24T20:17:41.471+00:00", "load1": "4.78"} +{"utc": "2026-10-24T20:17:42.471+00:00", "load1": "4.78"} +{"utc": "2026-10-24T20:17:43.471+00:00", "load1": "4.78"} +{"utc": "2026-10-24T20:17:44.472+00:00", "load1": "4.78"} diff --git a/agents/magica/work/queue-329/gate/cli-case2-persona-import.test.txt b/agents/magica/work/queue-329/gate/cli-case2-persona-import.test.txt new file mode 100644 index 000000000..366fe62da --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-case2-persona-import.test.txt @@ -0,0 +1,26 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case2-persona-import.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/n9RA7F +begin: {"utc": "2026-10-24T20:17:41.471+00:00", "load1": "4.78"} +launch nice: 19 +✔ stage takes each profile's SOUL.md byte for byte and prints the pairing with sizes and digests (60.27729ms) +✔ stage lists the per-channel prompts in all three places by name and byte count only (54.156696ms) +✔ a config key with a newline prints as one quoted line (53.409746ms) +✔ a read trace shows stage and the dry run open SOUL.md and config.yaml and never memory, sessions or secrets (111.851492ms) +✔ the pairing refuses anything but two existing profiles naming Bean and Chet once each, and writes nothing (430.713877ms) +✔ a profile with no persona refuses: no SOUL.md, a blank one, a symlink, not UTF-8 (397.494507ms) +✔ the import applies C2-08's exported fence at its boundaries (428.425851ms) +✔ install writes 0600 persona files in 0700 directories whose digests match, and prints the vars (105.006864ms) +✔ install refuses an open or foreign staging file, a digest off the manifest and an existing persona (578.05722ms) +✔ --dry-run writes nothing and prints only counts and the fence fault, two heading lines in a fixture counted (52.385622ms) +✔ --dry-run applies C2-08's fence: over it the fault prints, nothing is written and it exits 1 (101.819898ms) +✔ a directory made between the check and mkdir refuses by name, at stage and at install (165.759273ms) +✔ --dry-run counts three lines naming a Hermes tool or channel and prints none of the words (52.836032ms) +✔ usage: stage needs one of --staging and --dry-run, install takes only its own options (333.417235ms) +ℹ tests 14 +ℹ suites 0 +ℹ pass 14 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 3050.397724 diff --git a/agents/magica/work/queue-329/gate/cli-case2-unit.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-case2-unit.test.load.jsonl new file mode 100644 index 000000000..2ca5b29bc --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-case2-unit.test.load.jsonl @@ -0,0 +1,72 @@ +{"utc": "2026-10-24T20:17:44.558+00:00", "load1": "4.78"} +{"utc": "2026-10-24T20:17:45.558+00:00", "load1": "4.71"} +{"utc": "2026-10-24T20:17:46.558+00:00", "load1": "4.71"} +{"utc": "2026-10-24T20:17:47.558+00:00", "load1": "4.71"} +{"utc": "2026-10-24T20:17:48.559+00:00", "load1": "4.71"} +{"utc": "2026-10-24T20:17:49.559+00:00", "load1": "4.71"} +{"utc": "2026-10-24T20:17:50.559+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:17:51.560+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:17:52.560+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:17:53.560+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:17:54.560+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:17:55.561+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:17:56.561+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:17:57.561+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:17:58.561+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:17:59.562+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:18:00.562+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:18:01.562+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:18:02.563+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:18:03.563+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:18:04.563+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:18:05.563+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:18:06.564+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:18:07.564+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:18:08.564+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:18:09.564+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:18:10.565+00:00", "load1": "4.17"} +{"utc": "2026-10-24T20:18:11.565+00:00", "load1": "4.17"} +{"utc": "2026-10-24T20:18:12.565+00:00", "load1": "4.17"} +{"utc": "2026-10-24T20:18:13.566+00:00", "load1": "4.17"} +{"utc": "2026-10-24T20:18:14.566+00:00", "load1": "4.17"} +{"utc": "2026-10-24T20:18:15.566+00:00", "load1": "4.08"} +{"utc": "2026-10-24T20:18:16.566+00:00", "load1": "4.08"} +{"utc": "2026-10-24T20:18:17.567+00:00", "load1": "4.08"} +{"utc": "2026-10-24T20:18:18.567+00:00", "load1": "4.08"} +{"utc": "2026-10-24T20:18:19.567+00:00", "load1": "4.08"} +{"utc": "2026-10-24T20:18:20.567+00:00", "load1": "4.15"} +{"utc": "2026-10-24T20:18:21.568+00:00", "load1": "4.15"} +{"utc": "2026-10-24T20:18:22.568+00:00", "load1": "4.15"} +{"utc": "2026-10-24T20:18:23.568+00:00", "load1": "4.15"} +{"utc": "2026-10-24T20:18:24.568+00:00", "load1": "4.15"} +{"utc": "2026-10-24T20:18:25.569+00:00", "load1": "4.14"} +{"utc": "2026-10-24T20:18:26.569+00:00", "load1": "4.14"} +{"utc": "2026-10-24T20:18:27.569+00:00", "load1": "4.14"} +{"utc": "2026-10-24T20:18:28.570+00:00", "load1": "4.14"} +{"utc": "2026-10-24T20:18:29.570+00:00", "load1": "4.14"} +{"utc": "2026-10-24T20:18:30.570+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:18:31.570+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:18:32.571+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:18:33.571+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:18:34.571+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:18:35.571+00:00", "load1": "3.88"} +{"utc": "2026-10-24T20:18:36.572+00:00", "load1": "3.88"} +{"utc": "2026-10-24T20:18:37.572+00:00", "load1": "3.88"} +{"utc": "2026-10-24T20:18:38.572+00:00", "load1": "3.88"} +{"utc": "2026-10-24T20:18:39.572+00:00", "load1": "3.88"} +{"utc": "2026-10-24T20:18:40.573+00:00", "load1": "3.97"} +{"utc": "2026-10-24T20:18:41.573+00:00", "load1": "3.97"} +{"utc": "2026-10-24T20:18:42.573+00:00", "load1": "3.97"} +{"utc": "2026-10-24T20:18:43.573+00:00", "load1": "3.97"} +{"utc": "2026-10-24T20:18:44.574+00:00", "load1": "3.97"} +{"utc": "2026-10-24T20:18:45.574+00:00", "load1": "3.82"} +{"utc": "2026-10-24T20:18:46.574+00:00", "load1": "3.82"} +{"utc": "2026-10-24T20:18:47.575+00:00", "load1": "3.82"} +{"utc": "2026-10-24T20:18:48.575+00:00", "load1": "3.82"} +{"utc": "2026-10-24T20:18:49.575+00:00", "load1": "3.82"} +{"utc": "2026-10-24T20:18:50.575+00:00", "load1": "3.67"} +{"utc": "2026-10-24T20:18:51.576+00:00", "load1": "3.67"} +{"utc": "2026-10-24T20:18:52.576+00:00", "load1": "3.67"} +{"utc": "2026-10-24T20:18:53.576+00:00", "load1": "3.67"} +{"utc": "2026-10-24T20:18:54.577+00:00", "load1": "3.67"} +{"utc": "2026-10-24T20:18:55.577+00:00", "load1": "3.62"} diff --git a/agents/magica/work/queue-329/gate/cli-case2-unit.test.txt b/agents/magica/work/queue-329/gate/cli-case2-unit.test.txt new file mode 100644 index 000000000..b0ef19a92 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-case2-unit.test.txt @@ -0,0 +1,59 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case2-unit.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/qMUByD +begin: {"utc": "2026-10-24T20:17:44.557+00:00", "load1": "4.78"} +launch nice: 19 +✔ row253 factory socket uses actual config and target-uid query without widening hardening (289.116013ms) +✔ row253 installer refuses unsafe location and query facts before unit writes (2868.134188ms) +✔ row253 query timeout kills its process group and leaves no running child (7051.851198ms) +✔ row253 protected homes refuse before any filesystem access (10.004732ms) +✔ row253 C4 sleep query has exact inner reason and cleans all members (10632.148103ms) +✔ row253 C4 signals query has exact inner reason and cleans all members (10614.56629ms) +✔ row253 C4 member query has exact inner reason and cleans all members (10610.298124ms) +✔ row253 C4 overflow is output-limit in both sudo modes (429.894317ms) +✔ row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup (14135.845582ms) +✔ row253 C4 inline supervisor is byte-identical in both host scripts (0.352489ms) +✔ row253 C4 cleanup budget starts after inventory pass one (32.747187ms) +✔ row253 query reaps its group even when a child closes stdout before the query returns (135.960183ms) +✔ row253 config parser is strict (9.139818ms) +✔ a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console (98.708094ms) +✔ PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node (108.45039ms) +✔ a failed bus start refuses with the Console not started (97.715171ms) +✔ the script never links a unit file (0.152558ms) +✔ factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty (547.22684ms) +✔ a re-install over running units says they are still on the old copy and must restart together, never that it started them (470.414221ms) +✔ a re-install to another copy re-renders both units, and an edited installed unit refuses (1045.624381ms) +✔ a template with a namespace, user or system call restriction refuses (271.540459ms) +✔ the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none (188.520374ms) +✔ a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses (142.322165ms) +✔ a symlink at either unit path refuses (172.220721ms) +✔ a --node that is relative, not root-owned or under refuses (19.226904ms) +✔ a re-install with a different --node or different serve flags refuses (474.95285ms) +✔ an installed pair whose units name different copies refuses (258.29889ms) +✔ a copy id that is short, uppercase, holds / or .., or names no directory refuses (27.750058ms) +✔ library refuses a privileged-floor miss, a bad proof pair and every flag outside its set (276.607519ms) +✔ library refuses a proof file not owned by 's uid (16.596055ms) +✔ factory refuses duplicate socket, a missing --port or --business, and each proxy flag (187.320193ms) +✔ row253 factory refuses retired TCP and a value after the socket marker (28.164164ms) +✔ factory refuses a --claude that is relative, not root-owned or under , and a re-install with another --pm or --claude (1177.420722ms) +✔ the precheck passes on a good host and prints free memory, without the key (166.852043ms) +✔ the precheck refuses each failed host check (1355.880342ms) +✔ the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root (758.701299ms) +✔ a bwrap that fails refuses and prints the sysctl and where bwrap is (158.296468ms) +✔ an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit (796.490867ms) +✔ bus.tester: library refuses it on, factory needs it on, and factory refuses a library business (707.986749ms) +✔ the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong (1291.749168ms) +✔ the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH (411.263611ms) +✔ the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line (1015.74608ms) +✔ inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds (92.272439ms) +✔ Vikunja 614 factory: scoped @anthropic-ai Claude path renders and passes installed read-back (762.290157ms) +✔ Vikunja 614 factory: plain paths still refuse every named unsafe character (93.447741ms) +✔ Vikunja 614 precheck: explicit null and named notifier decisions pass (321.847088ms) +✔ Vikunja 614 precheck: notifier config refuses missing, public, malformed and extra-key decisions (1456.667519ms) +ℹ tests 47 +ℹ suites 0 +ℹ pass 47 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 71963.003764 diff --git a/agents/magica/work/queue-329/gate/cli-channel-cli.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-channel-cli.test.load.jsonl new file mode 100644 index 000000000..951a62af2 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-channel-cli.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:18:56.556+00:00", "load1": "3.62"} diff --git a/agents/magica/work/queue-329/gate/cli-channel-cli.test.txt b/agents/magica/work/queue-329/gate/cli-channel-cli.test.txt new file mode 100644 index 000000000..a21e48bf1 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-channel-cli.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/channel-cli.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/SZgPN0 +begin: {"utc": "2026-10-24T20:18:56.556+00:00", "load1": "3.62"} +launch nice: 19 +✔ CLI off, absent and other-only channel selections refuse every project/thread flow before any effect (16.767922ms) +✔ CLI enabled project/thread lists dispatch through selection without changing output (2.799682ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 216.014865 diff --git a/agents/magica/work/queue-329/gate/cli-channel-recovery.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-channel-recovery.test.load.jsonl new file mode 100644 index 000000000..335e6e693 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-channel-recovery.test.load.jsonl @@ -0,0 +1,3 @@ +{"utc": "2026-10-24T20:18:56.815+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:18:57.817+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:18:58.817+00:00", "load1": "3.62"} diff --git a/agents/magica/work/queue-329/gate/cli-channel-recovery.test.txt b/agents/magica/work/queue-329/gate/cli-channel-recovery.test.txt new file mode 100644 index 000000000..6b61d9e25 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-channel-recovery.test.txt @@ -0,0 +1,13 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/channel-recovery.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/j9uNZ7 +begin: {"utc": "2026-10-24T20:18:56.815+00:00", "load1": "3.62"} +launch nice: 19 +✔ both channels off recover through the existing human CLI, socket and organization writer (2757.613394ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 2890.649088 diff --git a/agents/magica/work/queue-329/gate/cli-cli.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-cli.test.load.jsonl new file mode 100644 index 000000000..4c6db9053 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-cli.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:18:59.754+00:00", "load1": "3.62"} diff --git a/agents/magica/work/queue-329/gate/cli-cli.test.txt b/agents/magica/work/queue-329/gate/cli-cli.test.txt new file mode 100644 index 000000000..0eff1c284 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-cli.test.txt @@ -0,0 +1,24 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/cli.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/iyJmgk +begin: {"utc": "2026-10-24T20:18:59.754+00:00", "load1": "3.62"} +launch nice: 19 +✔ inbox lists only decisions routed to the human, with what approving authorizes and how to decide (27.060697ms) +✔ decide resolves by id prefix with --yes, and the trail shows it in broker order with the task to follow (31.407923ms) +✔ decide refuses without a terminal or --yes, on an unknown option and on a short reference (15.452014ms) +✔ decide prints a declining choice as declining (16.231765ms) +✔ an unknown outcome is reported once and never resent (13.901366ms) +✔ a decision closed before the answer arrives exits 2 and points at its trail (14.80353ms) +✔ a prefix that matches two open decisions exits 2 and resolves neither (15.486557ms) +✔ without --business a command uses the live host's business, and a stale host.json is not a host (19.253505ms) +✔ every human command refuses inside an agent run before it touches the bus (14.711459ms) +✔ usage errors exit 4; no business and no host is a usage error (16.243142ms) +✔ agents and tasks print through the broker (18.088108ms) +✔ notify.json: missing, loose, malformed and extra keys refuse; a binding or null passes (1.255285ms) +ℹ tests 12 +ℹ suites 0 +ℹ pass 12 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 351.810973 diff --git a/agents/magica/work/queue-329/gate/cli-compactions-launch.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-compactions-launch.test.load.jsonl new file mode 100644 index 000000000..ac016eeb6 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-compactions-launch.test.load.jsonl @@ -0,0 +1,15 @@ +{"utc": "2026-10-24T20:19:00.149+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:19:01.149+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:19:02.150+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:19:03.150+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:19:04.150+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:19:05.150+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:19:06.151+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:19:07.151+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:19:08.151+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:19:09.152+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:19:10.152+00:00", "load1": "5.06"} +{"utc": "2026-10-24T20:19:11.152+00:00", "load1": "5.06"} +{"utc": "2026-10-24T20:19:12.153+00:00", "load1": "5.06"} +{"utc": "2026-10-24T20:19:13.153+00:00", "load1": "5.06"} +{"utc": "2026-10-24T20:19:14.153+00:00", "load1": "5.06"} diff --git a/agents/magica/work/queue-329/gate/cli-compactions-launch.test.txt b/agents/magica/work/queue-329/gate/cli-compactions-launch.test.txt new file mode 100644 index 000000000..d2f37606e --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-compactions-launch.test.txt @@ -0,0 +1,26 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/compactions-launch.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/0WSn6P +begin: {"utc": "2026-10-24T20:19:00.148+00:00", "load1": "4.05"} +launch nice: 19 +usage: {"event":"usage-unknown","business":"acme","run":"ra63e49d8fdf0","instance":"assistant","turn":"e00b9c3d-a253-4c34-a8bd-d92aa35adaab","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"rd6fe325434be","instance":"assistant","turn":"ef171dd6-b25b-4051-8946-d2c94af19ed2","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 T3 a run collects compactions at its start and its end, and the count holds across a resume and a host restart (3153.496068ms) +usage: {"event":"usage-unknown","business":"acme","run":"r09c37539f4f2","instance":"assistant","turn":"827e58e7-4561-4232-929a-39fc68643cd7","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r78589c101f2e","instance":"assistant","turn":"a8528d8e-48c6-477a-b3c9-34c44194ded4","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 T3 a collection that fails is logged and recorded store-unreadable, and the run ends as one whose collections count (2844.909871ms) +usage: {"event":"usage-unknown","business":"acme","run":"r7f8aa326a2ca","instance":"assistant","turn":"3c958b4f-7381-424d-a8df-9a19c4b8f3b1","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r301768367f7a","instance":"assistant","turn":"3b9ce70d-dbdb-4372-b94b-a784f8af08ed","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 T3 the read budget is the system config's compactionReadBytes, and a bad value takes the default (2939.988206ms) +usage: {"event":"usage-unknown","business":"acme","run":"r8c0174647915","instance":"assistant","turn":"dc2f66f8-e082-4bab-a54f-02fa95650d59","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r7475343eba47","instance":"assistant","turn":"ac6e7e3e-fdef-4225-bf0e-0eb7ea6e3867","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 T3 the stream cap is the system config's compactionStreams, and a bad value takes the default (2915.665817ms) +usage: {"event":"usage-unknown","business":"acme","run":"re59a31e53919","instance":"assistant","turn":"a28f556a-dac2-4a2f-8411-8e5ff58d64d6","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 T3 T4 a clear leaves the retired session's count as it was, its successor counts from 0, and a legacy session reads the thread's ledger (2904.291875ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 14914.240515 diff --git a/agents/magica/work/queue-329/gate/cli-config.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-config.test.load.jsonl new file mode 100644 index 000000000..4d0fa3679 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-config.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:19:15.097+00:00", "load1": "4.74"} diff --git a/agents/magica/work/queue-329/gate/cli-config.test.txt b/agents/magica/work/queue-329/gate/cli-config.test.txt new file mode 100644 index 000000000..3930f723e --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-config.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/config.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/BTZmfy +begin: {"utc": "2026-10-24T20:19:15.096+00:00", "load1": "4.74"} +launch nice: 19 +✔ bootConfig builds the broker's boot message for one business, with no trackers key when no project names one (36.072207ms) +✔ trackers come from the tracker.* variables of the one project that names a tracker project (64.653993ms) +✔ with two projects, the one that sets tracker.project supplies the tracker and the other is no conflict (32.033215ms) +✔ two projects that each name a tracker project refuse, since the boot shape holds one (29.54588ms) +✔ a business without tracker.baseUrl gets no trackers entry (30.899773ms) +✔ an unknown business and a broken system config refuse with exit 3 (54.838082ms) +✔ Row 252 (Webby N1): every console.sso subject reaches the boot as a console owner, and no sso means no consoleOwners key (32.676211ms) +ℹ tests 7 +ℹ suites 0 +ℹ pass 7 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 398.977855 diff --git a/agents/magica/work/queue-329/gate/cli-credentials.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-credentials.test.load.jsonl new file mode 100644 index 000000000..79187fc01 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-credentials.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:19:15.526+00:00", "load1": "4.74"} diff --git a/agents/magica/work/queue-329/gate/cli-credentials.test.txt b/agents/magica/work/queue-329/gate/cli-credentials.test.txt new file mode 100644 index 000000000..dba9de26d --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-credentials.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/credentials.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/GYoMZN +begin: {"utc": "2026-10-24T20:19:15.526+00:00", "load1": "4.74"} +launch nice: 19 +✔ row 199: issue and rotate send the stdin token once to credentials.issue and print no value (6.353511ms) +✔ row 199: rotate goes ahead on each held state, rotation-due included, and refuses not-issued, revoked and an unknown entry (2.420499ms) +✔ row 199: status, revoke and delete; the tester runs status and revoke only (2.47837ms) +✔ row 210: issue of a host. kind prints public material only (1.097718ms) +✔ row 199: scripts/mosaic sends credentials to packages/cli, not the seat CLI (88.92326ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 232.225185 diff --git a/agents/magica/work/queue-329/gate/cli-federation-acceptance.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-federation-acceptance.test.load.jsonl new file mode 100644 index 000000000..3f401e8e4 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-federation-acceptance.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:19:15.794+00:00", "load1": "4.74"} diff --git a/agents/magica/work/queue-329/gate/cli-federation-acceptance.test.txt b/agents/magica/work/queue-329/gate/cli-federation-acceptance.test.txt new file mode 100644 index 000000000..77df296dc --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-federation-acceptance.test.txt @@ -0,0 +1,13 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/federation-acceptance.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/SGMFEh +begin: {"utc": "2026-10-24T20:19:15.793+00:00", "load1": "4.74"} +launch nice: 19 +﹣ FED R7 scratch two-instance acceptance (0.535722ms) # run scripts/test-federation-acceptance.sh +ℹ tests 1 +ℹ suites 0 +ℹ pass 0 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 1 +ℹ todo 0 +ℹ duration_ms 91.429201 diff --git a/agents/magica/work/queue-329/gate/cli-follow.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-follow.test.load.jsonl new file mode 100644 index 000000000..131e96aa9 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-follow.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:19:15.917+00:00", "load1": "4.74"} diff --git a/agents/magica/work/queue-329/gate/cli-follow.test.txt b/agents/magica/work/queue-329/gate/cli-follow.test.txt new file mode 100644 index 000000000..d490a310d --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-follow.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/follow.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/KjlEaw +begin: {"utc": "2026-10-24T20:19:15.917+00:00", "load1": "4.74"} +launch nice: 19 +✔ follow prints an unsolicited message after plain talk returned (34.313242ms) +✔ talk --follow continues after reply and prints a later unsolicited message (29.826624ms) +✔ inbox lists all unread human messages under decisions, does not deliver or read them (369.59643ms) +✔ follow refuses agent context and bad arguments (18.340359ms) +✔ follow Ctrl-C wakes the poll sleep and removes its handler; transport errors also clean up (15.562874ms) +✔ plain talk leaves the process SIGINT handlers unchanged (16.339941ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 619.87078 diff --git a/agents/magica/work/queue-329/gate/cli-format.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-format.test.load.jsonl new file mode 100644 index 000000000..ad5053dd1 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-format.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:19:16.571+00:00", "load1": "4.74"} diff --git a/agents/magica/work/queue-329/gate/cli-format.test.txt b/agents/magica/work/queue-329/gate/cli-format.test.txt new file mode 100644 index 000000000..c1ef342c0 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-format.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/format.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/XMbktR +begin: {"utc": "2026-10-24T20:19:16.571+00:00", "load1": "4.74"} +launch nice: 19 +✔ empty views say so (0.626044ms) +✔ agents adds a thread line for each held thread claim, after the roles (0.139295ms) +✔ the trail keeps the broker's order and names a decision's task without its rows (1.175168ms) +✔ tasks print the tracker fields the snapshot carries (0.128228ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 55.646548 diff --git a/agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.load.jsonl new file mode 100644 index 000000000..b32ce7c2e --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.load.jsonl @@ -0,0 +1,18 @@ +{"utc": "2026-10-24T20:19:16.658+00:00", "load1": "4.74"} +{"utc": "2026-10-24T20:19:17.659+00:00", "load1": "4.74"} +{"utc": "2026-10-24T20:19:18.659+00:00", "load1": "4.74"} +{"utc": "2026-10-24T20:19:19.659+00:00", "load1": "4.74"} +{"utc": "2026-10-24T20:19:20.660+00:00", "load1": "4.68"} +{"utc": "2026-10-24T20:19:21.660+00:00", "load1": "4.68"} +{"utc": "2026-10-24T20:19:22.660+00:00", "load1": "4.68"} +{"utc": "2026-10-24T20:19:23.661+00:00", "load1": "4.68"} +{"utc": "2026-10-24T20:19:24.661+00:00", "load1": "4.68"} +{"utc": "2026-10-24T20:19:25.661+00:00", "load1": "4.54"} +{"utc": "2026-10-24T20:19:26.662+00:00", "load1": "4.54"} +{"utc": "2026-10-24T20:19:27.662+00:00", "load1": "4.54"} +{"utc": "2026-10-24T20:19:28.662+00:00", "load1": "4.54"} +{"utc": "2026-10-24T20:19:29.662+00:00", "load1": "4.54"} +{"utc": "2026-10-24T20:19:30.663+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:19:31.663+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:19:32.663+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:19:33.663+00:00", "load1": "4.58"} diff --git a/agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.txt b/agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.txt new file mode 100644 index 000000000..7f95c74b3 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.txt @@ -0,0 +1,20 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/gate-lane-auth.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/kWWaNv +begin: {"utc": "2026-10-24T20:19:16.658+00:00", "load1": "4.74"} +launch nice: 19 +✔ guardDocker refuses a compose run unless PI_AUTH_FILE is a regular file inside the lane temp root (3.206718ms) +✔ cleanEnv points PI_AUTH_FILE at the lane fixture and drops MOSAIC_LIVE_PROVIDER (0.641772ms) +✔ test-release.sh activates through the mock adapter with a 0600 fixture auth file (1437.868469ms) +ℹ {"script":"test-release.sh","extra":[],"wallMs":1189,"status":1} +✔ test-task.sh mounts only its fixture, uses only the mock adapter and prints the live skip twice (7780.879511ms) +ℹ {"script":"test-task.sh","extra":[],"wallMs":7708,"status":1} +✔ M-T: MOSAIC_LIVE_PROVIDER=1 runs the real-model cases, which fail under a fixture auth file (8546.97445ms) +ℹ {"script":"test-task.sh","extra":["MOSAIC_LIVE_PROVIDER","PI_AUTH_FILE"],"wallMs":8477,"status":1} +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 17822.609454 diff --git a/agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.load.jsonl new file mode 100644 index 000000000..f61547577 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:19:34.515+00:00", "load1": "4.58"} diff --git a/agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.txt b/agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.txt new file mode 100644 index 000000000..52892a819 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.txt @@ -0,0 +1,20 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/gate-lane-fixtures.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/zUcMIB +begin: {"utc": "2026-10-24T20:19:34.515+00:00", "load1": "4.58"} +launch nice: 19 +✔ parallel lease holders use only the active lane and its shared state (27.295391ms) +✔ unrelated home changes do not become lane writes, and own-root references do (0.251292ms) +✔ proof summaries refuse missing timings, non-overlap and a pair without a lane swap (0.71995ms) +✔ an exhausted single-port band refuses, and an occupied foreign listener survives the probe (6.956068ms) +✔ parallel child allocators share real lane locks; a lease remains held through child shutdown (119.343516ms) +✔ abrupt allocator death releases its holder without touching a foreign lease (56.38311ms) +✔ fixture caches survive a replacement environment with a separate tmp subdirectory (21.877051ms) +✔ an unrelated session can append while a supervised step runs without becoming an attributed write (39.787548ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 323.699175 diff --git a/agents/magica/work/queue-329/gate/cli-gate-lane-image.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-gate-lane-image.test.load.jsonl new file mode 100644 index 000000000..252f7defd --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-gate-lane-image.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:19:34.870+00:00", "load1": "4.53"} diff --git a/agents/magica/work/queue-329/gate/cli-gate-lane-image.test.txt b/agents/magica/work/queue-329/gate/cli-gate-lane-image.test.txt new file mode 100644 index 000000000..f0dc36d91 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-gate-lane-image.test.txt @@ -0,0 +1,26 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/gate-lane-image.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/A3OH1I +begin: {"utc": "2026-10-24T20:19:34.870+00:00", "load1": "4.53"} +launch nice: 19 +✔ a changed COPY input or actual image ID refuses compatible image sharing (4.376067ms) +✔ warm Docker guard disables implicit build and pull and refuses image mutation (1.26817ms) +✔ exclusive image preparation records actual image ID and build wall time and requires a grant (2.524128ms) +✔ cleanup refuses a foreign Docker label and removes only an exact owned project (0.364337ms) +✔ missing receipt and missing image refuse without permitting a gate (1.628561ms) +✔ a tag changed between supervised steps fails the next boundary and suppresses gate success (24.832948ms) +✔ mutable-base rebuilds with identical files have distinct image IDs; cold and warm counters stay separate (3.106586ms) +✔ warm pinned execution records zero builds and checks the tag again after its final step (47.356921ms) +✔ installed Compose accepts rewritten run argv without starting a container (83.53965ms) +✔ installed Compose resolves the private override with no build and the pinned image (48.401051ms) +ℹ {"installedComposeConfig":{"buildPresent":false,"image":"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}} +✔ guard owns every Compose file argument and refuses caller configuration overrides (0.695554ms) +✔ changing packages/processing-control/src/state.mjs invalidates the image receipt (1.567204ms) +✔ changing packages/processing-control/src/entrypoint.mjs invalidates the image receipt (1.645073ms) +ℹ tests 13 +ℹ suites 0 +ℹ pass 13 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 273.604675 diff --git a/agents/magica/work/queue-329/gate/cli-gate-lane-state.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-gate-lane-state.test.load.jsonl new file mode 100644 index 000000000..0d8127319 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-gate-lane-state.test.load.jsonl @@ -0,0 +1,2 @@ +{"utc": "2026-10-24T20:19:35.173+00:00", "load1": "4.53"} +{"utc": "2026-10-24T20:19:36.174+00:00", "load1": "4.53"} diff --git a/agents/magica/work/queue-329/gate/cli-gate-lane-state.test.txt b/agents/magica/work/queue-329/gate/cli-gate-lane-state.test.txt new file mode 100644 index 000000000..20c014266 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-gate-lane-state.test.txt @@ -0,0 +1,26 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/gate-lane-state.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/ETZtPW +begin: {"utc": "2026-10-24T20:19:35.173+00:00", "load1": "4.53"} +launch nice: 19 +✔ unfinished dead-owner runs quarantine their lane and a recovery record clears only that run (5.122545ms) +✔ a legacy landing gate beside a lane stays legacy even with the same parent (1.638428ms) +✔ the shell status entry reads scratch receipts and reports legacy processes without mutating old slots (60.233542ms) +✔ recovery supersedes an unclean terminal without rewriting either receipt (2.543318ms) +✔ the wrapper refuses a held lane lock and preserves its inode (41.492015ms) +✔ a held kernel lock without a start receipt is BUSY rather than CLEAR (4.933706ms) +✔ SIGKILL leaves a quarantined run and locked recovery publishes a new clean receipt (222.794744ms) +✔ a malformed receipt refuses status and an identity mismatch cannot look live (1.65067ms) +✔ a symlink lock is refused before acquiring or replacing its target (36.535187ms) +✔ failed recovery keeps quarantine and never publishes a clean recovery receipt (193.251315ms) +✔ two shared image holders coexist, but exclusive preparation refuses their lock (122.229801ms) +✔ two simultaneous shell claims have one winner; supervisor retains lock FDs and ordinary children do not (127.708279ms) +✔ same checkout and a legacy land gate each refuse a claim on an otherwise free lane (3.690769ms) +✔ recovery kills a proven surviving child, preserves a foreign child and keeps quarantine if interrupted (468.329344ms) +ℹ tests 14 +ℹ suites 0 +ℹ pass 14 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1342.115842 diff --git a/agents/magica/work/queue-329/gate/cli-gate-lane.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-gate-lane.test.load.jsonl new file mode 100644 index 000000000..5c05b9d87 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-gate-lane.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:19:36.547+00:00", "load1": "4.53"} diff --git a/agents/magica/work/queue-329/gate/cli-gate-lane.test.txt b/agents/magica/work/queue-329/gate/cli-gate-lane.test.txt new file mode 100644 index 000000000..83eaed6c7 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-gate-lane.test.txt @@ -0,0 +1,25 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/gate-lane.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/d48hJy +begin: {"utc": "2026-10-24T20:19:36.547+00:00", "load1": "4.53"} +launch nice: 19 +✔ preflight refuses unsafe lane roots, missing grants and live port 9 before side effects (27.868971ms) +✔ discovery preserves all package and script steps while ignoring non-file shell names (11.121374ms) +✔ a failed step stops the gate and records its nonzero exit without running the next step (15.512105ms) +✔ a cancelled step stops its process group and records failure (115.476638ms) +✔ step receipts retain pass fail skipped counts and hashes of their actual logs (41.880974ms) +✔ preflight rejects a real 31-byte root, missing dependency tree, occupied band and missing inventory (24.500876ms) +✔ preflight refuses canonical and builder checkouts and an existing output (14.096099ms) +✔ both candidates must carry every approved launcher file (12.315067ms) +✔ the 92-byte socket example passes and an over-107-byte pathname refuses (0.19101ms) +✔ package/script duplicates stay and every supervised step clears NODE_TEST_CONTEXT (61.750387ms) +✔ scoped ss loopback and wildcard port 9 listeners refuse (25.004037ms) +✔ step children use legacy umask 022 while the supervisor retains 077 (35.281275ms) +✔ lane wrapper keeps its state directory and lock files private (86.230305ms) +ℹ tests 13 +ℹ suites 0 +ℹ pass 13 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 523.827185 diff --git a/agents/magica/work/queue-329/gate/cli-git-socket.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-git-socket.test.load.jsonl new file mode 100644 index 000000000..04c17fe21 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-git-socket.test.load.jsonl @@ -0,0 +1,15 @@ +{"utc": "2026-10-24T20:19:37.102+00:00", "load1": "4.53"} +{"utc": "2026-10-24T20:19:38.103+00:00", "load1": "4.53"} +{"utc": "2026-10-24T20:19:39.103+00:00", "load1": "4.53"} +{"utc": "2026-10-24T20:19:40.103+00:00", "load1": "5.13"} +{"utc": "2026-10-24T20:19:41.103+00:00", "load1": "5.13"} +{"utc": "2026-10-24T20:19:42.104+00:00", "load1": "5.13"} +{"utc": "2026-10-24T20:19:43.104+00:00", "load1": "5.13"} +{"utc": "2026-10-24T20:19:44.104+00:00", "load1": "5.13"} +{"utc": "2026-10-24T20:19:45.105+00:00", "load1": "4.96"} +{"utc": "2026-10-24T20:19:46.105+00:00", "load1": "4.96"} +{"utc": "2026-10-24T20:19:47.105+00:00", "load1": "4.96"} +{"utc": "2026-10-24T20:19:48.105+00:00", "load1": "4.96"} +{"utc": "2026-10-24T20:19:49.106+00:00", "load1": "4.96"} +{"utc": "2026-10-24T20:19:50.106+00:00", "load1": "4.72"} +{"utc": "2026-10-24T20:19:51.106+00:00", "load1": "4.72"} diff --git a/agents/magica/work/queue-329/gate/cli-git-socket.test.txt b/agents/magica/work/queue-329/gate/cli-git-socket.test.txt new file mode 100644 index 000000000..4978a709e --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-git-socket.test.txt @@ -0,0 +1,36 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/git-socket.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/BOsUKY +begin: {"utc": "2026-10-24T20:19:37.101+00:00", "load1": "4.53"} +launch nice: 19 +✔ the review loop: the coder pushes and asks, the reviewer fetches and approves, and the task's trail holds each step (930.438933ms) +✔ refusals: no action, non-fast-forward, an unknown commit or request, and a push for another task moves only that task's ref (909.060527ms) +✔ the size cap refuses a push before any byte (270.093301ms) +✔ a fetch over the cap refuses before any byte reaches the reviewer (924.603975ms) +✔ the socket refuses a request with no capability, an unknown one, and a bad request line (369.186969ms) +✔ a rigged clone runs nothing: hooks, fsmonitor, a filter, a gitlink and a symlinked .git/config leave no marker (710.278183ms) +✔ an identity with no role, or of another business, refuses not-a-role and moves no ref (483.429318ms) +✔ a review of a project the business no longer has refuses unknown-project (463.057312ms) +✔ past maxActive connections the socket refuses git-busy, and a hung-up connection frees its slot (237.860725ms) +✔ close() answers host-closing to a connection still sending its request line (235.045189ms) +✔ a bundle that trickles in refuses body-timeout at its deadline and frees its slot (669.70846ms) +✔ a reviewer gone before its bundle was sent is filed fetch-aborted, not as the host's fault (771.134247ms) +✔ a reviewer that hangs up the moment it has the whole bundle was served, not aborted (1595.510274ms) +✔ send: a close after every byte left is served; one that fails a queued write is fetch-aborted (41.658631ms) +✔ a bundle with no bytes for bodyIdle refuses body-timeout long before its deadline (566.154965ms) +✔ send: a close once the loop is past its last chunk is served, and a failed write there is fetch-aborted (24.680637ms) +✔ letGo waits for an answer to leave for at most its cap, then destroys the socket (302.146133ms) +✔ a record that fails and can't be undone refuses rollback-failed, which the host logs (594.637808ms) +✔ land: the squash runs the gate in its own worktree, then main moves and the broker records it (755.415937ms) +✔ land: an arbiter-resolved landing's squash says the arbiter resolved it through the broker (738.752981ms) +✔ land: refusals before the gate answer the role at once and leave main and no worktree (806.550504ms) +✔ land: a failed gate is refused gate-failed with its step, told to the role, and main stays (713.410677ms) +✔ land: a record the broker refuses moves main back, and the landing is refused with the broker's code (729.26011ms) +✔ land: a second landing while one runs refuses land-busy, and close() stops the gate and refuses host-closing (708.235946ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 14674.773658 diff --git a/agents/magica/work/queue-329/gate/cli-grants-scope.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-grants-scope.test.load.jsonl new file mode 100644 index 000000000..ff993a1e7 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-grants-scope.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:19:51.808+00:00", "load1": "4.72"} diff --git a/agents/magica/work/queue-329/gate/cli-grants-scope.test.txt b/agents/magica/work/queue-329/gate/cli-grants-scope.test.txt new file mode 100644 index 000000000..0687e0b7a --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-grants-scope.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/grants-scope.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/GsKBrl +begin: {"utc": "2026-10-24T20:19:51.807+00:00", "load1": "4.72"} +launch nice: 19 +✔ row 298 CLI: scope reads and scope set sends JSON and the observed revision (4.830525ms) +✔ row 298 CLI: every access agent marker refuses scope set before transport (3.612488ms) +✔ row 298 CLI: --tester cannot read or change the scope (0.648886ms) +✔ row 298 CLI: missing revision and empty, invalid or oversized JSON refuse without a call (2.922786ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 149.235954 diff --git a/agents/magica/work/queue-329/gate/cli-grants.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-grants.test.load.jsonl new file mode 100644 index 000000000..f0f348cb6 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-grants.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:19:51.990+00:00", "load1": "4.72"} diff --git a/agents/magica/work/queue-329/gate/cli-grants.test.txt b/agents/magica/work/queue-329/gate/cli-grants.test.txt new file mode 100644 index 000000000..df975bf47 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-grants.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/grants.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/7cotrI +begin: {"utc": "2026-10-24T20:19:51.990+00:00", "load1": "4.72"} +launch nice: 19 +✔ row 236: grants status prints one line per entry, and --json the answer (2.83636ms) +✔ row 236: run, revoke, sweep and admin rotate and remove send their args (0.636728ms) +✔ row 236: admin set sends the stdin token once to grants.admin.set and prints no value (3.610431ms) +✔ row 236: a malformed grants command is a usage error and calls nothing (4.307534ms) +✔ row 236: a bus refusal exits 2 with its code (0.342079ms) +✔ row 236: scripts/mosaic sends grants to packages/cli, not the seat CLI (94.130144ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 234.707195 diff --git a/agents/magica/work/queue-329/gate/cli-host.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-host.test.load.jsonl new file mode 100644 index 000000000..f277b434b --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-host.test.load.jsonl @@ -0,0 +1,14 @@ +{"utc": "2026-10-24T20:19:52.259+00:00", "load1": "4.72"} +{"utc": "2026-10-24T20:19:53.259+00:00", "load1": "4.72"} +{"utc": "2026-10-24T20:19:54.260+00:00", "load1": "4.72"} +{"utc": "2026-10-24T20:19:55.260+00:00", "load1": "4.75"} +{"utc": "2026-10-24T20:19:56.260+00:00", "load1": "4.75"} +{"utc": "2026-10-24T20:19:57.261+00:00", "load1": "4.75"} +{"utc": "2026-10-24T20:19:58.261+00:00", "load1": "4.75"} +{"utc": "2026-10-24T20:19:59.261+00:00", "load1": "4.75"} +{"utc": "2026-10-24T20:20:00.262+00:00", "load1": "4.52"} +{"utc": "2026-10-24T20:20:01.262+00:00", "load1": "4.52"} +{"utc": "2026-10-24T20:20:02.262+00:00", "load1": "4.52"} +{"utc": "2026-10-24T20:20:03.263+00:00", "load1": "4.52"} +{"utc": "2026-10-24T20:20:04.263+00:00", "load1": "4.52"} +{"utc": "2026-10-24T20:20:05.264+00:00", "load1": "4.56"} diff --git a/agents/magica/work/queue-329/gate/cli-host.test.txt b/agents/magica/work/queue-329/gate/cli-host.test.txt new file mode 100644 index 000000000..f4c9ba757 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-host.test.txt @@ -0,0 +1,55 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/host.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/RmG13S +begin: {"utc": "2026-10-24T20:19:52.258+00:00", "load1": "4.72"} +launch nice: 19 +✔ the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once (936.812823ms) +✔ a notifier that dies takes the host down with exit 1, so the unit restarts the pair (268.593551ms) +✔ a second host for the same data root refuses with exit 3 while the first runs (184.545658ms) +✔ two bus starts racing for one data root leave one host running; the other refuses that a host already runs (612.540774ms) +✔ a host takes over a host.lock its dead host left, and puts back a live claim that replaced it meanwhile (2.170996ms) +✔ a host.lock that goes between the check and the read is tried again; one that can't be parsed still refuses as unreadable (0.796474ms) +✔ a live host's lock stays, however old the file is (0.716808ms) +✔ a host.lock left by a host killed with SIGKILL doesn't stop the next bus start (1026.721773ms) +✔ while a host boots, a reader sees no host: the human commands still ask for --business, stop and status find none (231.90434ms) +✔ a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock (28.406418ms) +✔ a broker fork that throws leaves no host.lock and no host.json (38.825447ms) +✔ a broker send that throws leaves no host.lock and no host.json (33.369602ms) +✔ a broker that misses its boot wait leaves no host.lock and no host.json (38.334533ms) +✔ a notifier fork that throws stops the broker and leaves no host.lock and no host.json (187.792876ms) +✔ a notifier send that throws stops the broker and leaves no host.lock and no host.json (175.68518ms) +✔ a boot reply with no reader for the business refuses with exit 3 naming it, before the notifier starts, and leaves no host.lock and no live broker (179.623371ms) +✔ a boot reply with no reader for the business refuses with exit 3 naming it, with no notifier, and leaves no host.lock and no live broker (183.147464ms) +✔ a host.json that can't be written stops both children and leaves no host.lock (305.621706ms) +✔ an error event on the broker before it replies fails the start at once, and leaves no host.lock and no live child (31.212716ms) +✔ an error event on the notifier before it replies fails the start at once, and leaves no host.lock and no live child (179.15729ms) +✔ an error event on the broker while the notifier starts fails the start once the notifier replies (292.556517ms) +✔ an error event on the broker once the host is up stops the host with exit 1, and leaves no host.lock and no host.json (294.938795ms) +✔ an error event on the notifier once the host is up stops the host with exit 1, and leaves no host.lock and no host.json (324.793332ms) +✔ a broker reply that misses the wait breaks the channel: the late reply answers nothing, later requests refuse, the host exits 1 (1195.570036ms) +✔ a broker reply with another request's id, or none, breaks the channel and the host exits 1 (398.099247ms) +✔ a broker reply with no request waiting breaks the channel and the host exits 1 (179.523071ms) +✔ a notifier that refuses stops the broker and the host refuses with exit 3 (240.099474ms) +✔ a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker (264.066963ms) +✔ a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker (205.257161ms) +✔ a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3 (264.511154ms) +✔ a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error (226.881808ms) +✔ close() whose stop and close sends fail with EPIPE still finishes, with exit 1 (414.100772ms) +✔ watchChildren reports a child that died before it was called, and one that dies later (34.826063ms) +✔ bus stop refuses to signal a live pid that is not a bus host (203.826259ms) +✔ bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock (453.92522ms) +✔ bus start refuses with exit 3 without a notifier config (175.012893ms) +✔ bus start runs until bus stop; status reports it while it runs (932.811874ms) +✔ bus start --no-launch says launches are disabled in its host-up line and stops cleanly; with --pm it is a usage error (782.15841ms) +✔ bus-service.sh renders the unit and installs it into a given directory (277.422161ms) +✔ bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one (510.440969ms) +✔ bus-service.sh refuses a directory pin and keeps a symlink default unresolved (121.146164ms) +✔ bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space (76.867287ms) +✔ bus start --pm while halted keeps the control host up without launching the chief (468.475029ms) +ℹ tests 43 +ℹ suites 0 +ℹ pass 43 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 13104.374274 diff --git a/agents/magica/work/queue-329/gate/cli-hosts.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-hosts.test.load.jsonl new file mode 100644 index 000000000..170223527 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-hosts.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:05.394+00:00", "load1": "4.56"} diff --git a/agents/magica/work/queue-329/gate/cli-hosts.test.txt b/agents/magica/work/queue-329/gate/cli-hosts.test.txt new file mode 100644 index 000000000..105a097e5 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-hosts.test.txt @@ -0,0 +1,20 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/hosts.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/5qQB5R +begin: {"utc": "2026-10-24T20:20:05.394+00:00", "load1": "4.56"} +launch nice: 19 +✔ row 234: hosts status prints one line per host, and --json the rows (2.43939ms) +✔ row 234: hosts check and remove send the host id, as the human or the tester (0.501895ms) +✔ row 234: a malformed hosts command is a usage error and calls nothing (1.958231ms) +✔ row 234: a bus refusal exits 2 with its code (0.422425ms) +✔ row 234: scripts/mosaic sends hosts to packages/cli, not the seat CLI (103.140102ms) +✔ row 235: hosts revoke sends agent, host and reason, and sweep the host, as the human or the tester (0.967008ms) +✔ row 235 (N10): revoke without --reason, --reason on another verb, and inherited names are usage errors (1.770171ms) +✔ row 235: a status line shows the tags of a revoke in progress (0.314835ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 281.558864 diff --git a/agents/magica/work/queue-329/gate/cli-idle-stop-race.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-idle-stop-race.test.load.jsonl new file mode 100644 index 000000000..ccdb85851 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-idle-stop-race.test.load.jsonl @@ -0,0 +1,2 @@ +{"utc": "2026-10-24T20:20:05.721+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:20:06.723+00:00", "load1": "4.56"} diff --git a/agents/magica/work/queue-329/gate/cli-idle-stop-race.test.txt b/agents/magica/work/queue-329/gate/cli-idle-stop-race.test.txt new file mode 100644 index 000000000..de077e75f --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-idle-stop-race.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/idle-stop-race.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/mbmGU3 +begin: {"utc": "2026-10-24T20:20:05.721+00:00", "load1": "4.56"} +launch nice: 19 +usage: {"event":"usage-unknown","business":"acme","run":"r7cded1823498","instance":"assistant","turn":"b11ae21f-8867-406a-87d8-e593949c4c21","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"rea34c380bcc5","instance":"assistant","turn":"45a1676a-8033-44a4-aa3e-87e3db1d1cf2","source":"@none","code":"baseline-unknown"} +✔ row 302 REQ-THREAD-2 an idle-released run whose call lands before the SIGTERM ends stopped/0; a run whose claim the human revoked in the same window still ends session-invalid/22 (1623.8003ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1777.356721 diff --git a/agents/magica/work/queue-329/gate/cli-instances.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-instances.test.load.jsonl new file mode 100644 index 000000000..4a9d2148b --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-instances.test.load.jsonl @@ -0,0 +1,3 @@ +{"utc": "2026-10-24T20:20:07.541+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:20:08.541+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:20:09.542+00:00", "load1": "4.56"} diff --git a/agents/magica/work/queue-329/gate/cli-instances.test.txt b/agents/magica/work/queue-329/gate/cli-instances.test.txt new file mode 100644 index 000000000..b73ba5c4f --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-instances.test.txt @@ -0,0 +1,29 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/instances.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/9ZhpXU +begin: {"utc": "2026-10-24T20:20:07.541+00:00", "load1": "4.56"} +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"acme"} +organization: {"event":"reload-needs-restart","business":"acme"} +✔ row 165 CLI: instance add puts an instance in the file, validate exits 0, the log names the human, and the instance binds with no restart (row 194, T1) (172.671571ms) +✔ row 194 CLI: a bus whose boot credential references differ from the file answers restart needed, and doesn't bind the instance (D3 item 3) (86.039331ms) +✔ row 165 CLI: instance set passes the vars file and --no-launch, and a vars-only change needs no restart (141.831725ms) +✔ row 165 CLI: a refusal names its code and why, exits 2 and keeps the bytes (78.134966ms) +✔ row 165 CLI: usage errors exit 4 before any bus call, and an agent session is refused (63.803792ms) +✔ row 165: scripts/mosaic sends business instances, instance and (row 194) veto to packages/cli, and validate still to packages/business (221.877448ms) +✔ row 194 CLI V6: veto keep, unkeep, nohire and hire write through veto.set, the read shows kept and noHire, and a no-op refuses (115.460747ms) +✔ row 194 CLI: the read lists each instance's running run from the bus claims (72.547217ms) +✔ row 194 CLI D1.1 item 5: launch and regenerate poll instance.request and print the run; a done with a refusal exits 3 with its code and the request id (80.559138ms) +✔ row 194 CLI D1.1 item 5: an open request at --wait exits 3 with its id, and a taken one with no done is outcome-unknown (1135.980916ms) +✔ row 194 CLI: a request cancelled by a terminate exits 3 request-cancelled (67.601282ms) +✔ row 194 CLI V3: terminate prints the runs, the cancelled and the taken requests, and nothing held refuses not-held (69.979671ms) +✔ row 194 CLI V5: delete polls to the transaction and the read lists the name retired; workspace-rename-failed names the transaction (128.6956ms) +✔ row 239 T5 CLI: a delete closed -revoked says the tokens may already be revoked; a plain revision-conflict doesn't (99.909892ms) +✔ row 194 CLI: lifecycle and veto usage errors exit 4 before any bus call (75.420903ms) +ℹ tests 15 +ℹ suites 0 +ℹ pass 15 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 2759.65662 diff --git a/agents/magica/work/queue-329/gate/cli-launch-account.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-launch-account.test.load.jsonl new file mode 100644 index 000000000..0ee06cb68 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-launch-account.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:10.334+00:00", "load1": "4.52"} diff --git a/agents/magica/work/queue-329/gate/cli-launch-account.test.txt b/agents/magica/work/queue-329/gate/cli-launch-account.test.txt new file mode 100644 index 000000000..d4bf71e72 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-launch-account.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/launch-account.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/ukOSy3 +begin: {"utc": "2026-10-24T20:20:10.333+00:00", "load1": "4.52"} +launch nice: 19 +✔ REQ-LIMIT-2 a claude-code launch asks mayLaunch with launch.account.name (19.412278ms) +✔ REQ-LIMIT-2 each login set the account can name is accepted when the bus host holds exactly it (26.868233ms) +✔ REQ-LIMIT-2 account-credential-missing: the named set is not a login set, or the bus host lacks part of it (26.750329ms) +✔ REQ-LIMIT-2 account-credential-ambiguous: the bus host sets a credential variable outside the named set, ANTHROPIC_BASE_URL included (19.636431ms) +✔ REQ-LIMIT-2 account-is-credential: launch.account.name is the value of a credential variable the bus host sets (12.871615ms) +✔ REQ-LIMIT-2 a pi launch carries account null and skips both account checks (14.447785ms) +✔ REQ-LIMIT-2 with no launch.account a claude-code launch carries null and the environment is not checked for ambiguity (7.792081ms) +ℹ tests 7 +ℹ suites 0 +ℹ pass 7 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 242.020136 diff --git a/agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.load.jsonl new file mode 100644 index 000000000..c18fa5c8f --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:10.608+00:00", "load1": "4.52"} diff --git a/agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.txt b/agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.txt new file mode 100644 index 000000000..e571eef14 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/launch-limit-checks.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/p9ab0c +begin: {"utc": "2026-10-24T20:20:10.608+00:00", "load1": "4.52"} +launch nice: 19 +✔ REQ-LIMIT-4 the launcher asks mayLaunch with the instance, provider, model and account (row 126), and goes on to authorization on an allow (17.361812ms) +✔ REQ-LIMIT-3 REQ-LIMIT-4 a launch whose subject is at its limit is refused limit-reached and logged with the check, limit and count (8.454058ms) +✔ REQ-LIMIT-4 fail closed: a refused op, a check failure or a malformed answer refuses limit-check-failed, naming the check and the code (69.189887ms) +✔ REQ-LIMIT-4 the launcher reaches token-limit only through the bus: launcher.mjs imports no limit check (0.613178ms) +✔ a launcher before trusted control initialization refuses processing-uninitialized (3.120979ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 213.45743 diff --git a/agents/magica/work/queue-329/gate/cli-launch-limits.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-launch-limits.test.load.jsonl new file mode 100644 index 000000000..061768483 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-launch-limits.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:10.853+00:00", "load1": "4.52"} diff --git a/agents/magica/work/queue-329/gate/cli-launch-limits.test.txt b/agents/magica/work/queue-329/gate/cli-launch-limits.test.txt new file mode 100644 index 000000000..ad334dd61 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-launch-limits.test.txt @@ -0,0 +1,13 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/launch-limits.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/5W1cpt +begin: {"utc": "2026-10-24T20:20:10.853+00:00", "load1": "4.52"} +launch nice: 19 +✔ each launch rereads limits and model selections; lowered limits keep sessions and log exact hit (29.479985ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 137.126972 diff --git a/agents/magica/work/queue-329/gate/cli-launch-routes.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-launch-routes.test.load.jsonl new file mode 100644 index 000000000..c83413ee8 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-launch-routes.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:11.022+00:00", "load1": "4.52"} diff --git a/agents/magica/work/queue-329/gate/cli-launch-routes.test.txt b/agents/magica/work/queue-329/gate/cli-launch-routes.test.txt new file mode 100644 index 000000000..866ea7461 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-launch-routes.test.txt @@ -0,0 +1,21 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/launch-routes.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/DkR6YK +begin: {"utc": "2026-10-24T20:20:11.022+00:00", "load1": "4.52"} +launch nice: 19 +✔ row 65 a passing primary is the route: its provider and model reach mayLaunch, and a stated fallback is never used (19.707854ms) +✔ row 65 a failed primary preflight takes the stated fallback, and the limit checks see the fallback route (11.130642ms) +✔ row 65 a failed primary with no fallback refuses with the preflight code and never asks mayLaunch (8.70243ms) +✔ row 65 a fallback whose own preflight fails refuses with its code and names both reasons (8.221042ms) +✔ row 65 the fallback route spends launch.account when its module counts the account (9.761553ms) +✔ row 65 a missing harness, model or thinking var refuses no-route naming it, and the system execution keys never fill it (19.337532ms) +✔ row 65 a harness that is not switched on refuses harness-off, primary or fallback, and an off primary never falls back (25.013888ms) +✔ row 65 the loader refusing a module refuses harness-refused and names it; a module that throws refuses harness-failed (20.387893ms) +✔ row 65 a thinking level the route harness does not apply refuses thinking-unsupported, on the primary or a fallback taken (28.230606ms) +ℹ tests 9 +ℹ suites 0 +ℹ pass 9 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 256.167241 diff --git a/agents/magica/work/queue-329/gate/cli-launcher.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-launcher.test.load.jsonl new file mode 100644 index 000000000..2f8139af7 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-launcher.test.load.jsonl @@ -0,0 +1,29 @@ +{"utc": "2026-10-24T20:20:11.309+00:00", "load1": "4.52"} +{"utc": "2026-10-24T20:20:12.309+00:00", "load1": "4.52"} +{"utc": "2026-10-24T20:20:13.309+00:00", "load1": "4.52"} +{"utc": "2026-10-24T20:20:14.310+00:00", "load1": "4.52"} +{"utc": "2026-10-24T20:20:15.310+00:00", "load1": "4.48"} +{"utc": "2026-10-24T20:20:16.310+00:00", "load1": "4.48"} +{"utc": "2026-10-24T20:20:17.310+00:00", "load1": "4.48"} +{"utc": "2026-10-24T20:20:18.311+00:00", "load1": "4.48"} +{"utc": "2026-10-24T20:20:19.311+00:00", "load1": "4.48"} +{"utc": "2026-10-24T20:20:20.311+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:20:21.312+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:20:22.312+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:20:23.312+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:20:24.313+00:00", "load1": "4.28"} +{"utc": "2026-10-24T20:20:25.313+00:00", "load1": "4.50"} +{"utc": "2026-10-24T20:20:26.313+00:00", "load1": "4.50"} +{"utc": "2026-10-24T20:20:27.313+00:00", "load1": "4.50"} +{"utc": "2026-10-24T20:20:28.314+00:00", "load1": "4.50"} +{"utc": "2026-10-24T20:20:29.314+00:00", "load1": "4.50"} +{"utc": "2026-10-24T20:20:30.314+00:00", "load1": "4.78"} +{"utc": "2026-10-24T20:20:31.315+00:00", "load1": "4.78"} +{"utc": "2026-10-24T20:20:32.315+00:00", "load1": "4.78"} +{"utc": "2026-10-24T20:20:33.315+00:00", "load1": "4.78"} +{"utc": "2026-10-24T20:20:34.315+00:00", "load1": "4.78"} +{"utc": "2026-10-24T20:20:35.316+00:00", "load1": "4.55"} +{"utc": "2026-10-24T20:20:36.316+00:00", "load1": "4.55"} +{"utc": "2026-10-24T20:20:37.316+00:00", "load1": "4.55"} +{"utc": "2026-10-24T20:20:38.317+00:00", "load1": "4.55"} +{"utc": "2026-10-24T20:20:39.317+00:00", "load1": "4.55"} diff --git a/agents/magica/work/queue-329/gate/cli-launcher.test.txt b/agents/magica/work/queue-329/gate/cli-launcher.test.txt new file mode 100644 index 000000000..04ad52113 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-launcher.test.txt @@ -0,0 +1,63 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/launcher.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/Kk2174 +begin: {"utc": "2026-10-24T20:20:11.308+00:00", "load1": "4.52"} +launch nice: 19 +✔ C2-04: launcher workspace clones code but never the library (1412.021505ms) +✔ bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest (1349.577553ms) +usage: {"event":"usage-unknown","business":"acme","run":"ra2efd5616e7f","instance":"chief","turn":"481be4d2-4e5e-4342-b87b-a2d5a472e44f","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r4c330bd1c3a9","instance":"coder","turn":"81529d90-21d9-4059-abc5-e1161c0ca49c","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"ra2efd5616e7f","instance":"chief","turn":"4c966b16-3089-442b-8acd-36751ebbe64b","source":"@none","code":"baseline-unknown"} +✔ the chief of staff launches a coder through its launch tool; the coder answers; refusals name their code (687.622381ms) +usage: {"event":"usage-unknown","business":"acme","run":"r50d4955eb4be","instance":"chief","turn":"6bf1cdbe-89a0-4c5e-bca2-b0060f99c231","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r6f6feec89f25","instance":"pm","turn":"38ccf89f-4353-41c1-b191-e1dc059a72f3","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r50d4955eb4be","instance":"chief","turn":"700ab3d7-d463-4f83-a700-b8e8762aa1e4","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r6f6feec89f25","instance":"pm","turn":"aac9e496-ce95-4df2-b21b-d27fb320448c","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r6f6feec89f25","instance":"pm","turn":"987d3d1f-f1a2-4ae3-a371-12ed900ebbe2","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r50d4955eb4be","instance":"chief","turn":"fe1772ab-b5fb-4cf8-83b4-65a9ea3a7a2f","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r6f6feec89f25","instance":"pm","turn":"d2290b5b-565c-446c-8345-baf4c7584f78","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r50d4955eb4be","instance":"chief","turn":"8896ce74-9b77-4bb5-8b68-f37572c977d8","source":"@none","code":"baseline-unknown"} +✔ a launched pm's request_staff reaches the chief of staff; no other session has the tool and the launch limits still hold (1302.967056ms) +✔ each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged (4165.553525ms) +✔ a role the broker says holds a merge decision gets land_work, its prompt line, its landing and the git socket; without it, none (666.907297ms) +✔ REQ-LAUNCH-1 the tick starts a listed merge decision holder once, with land_work, the Landing line and its landing turn; an unlisted holder starts nothing (439.820069ms) +usage: {"event":"usage-unknown","business":"acme","run":"rb364079e1bc5","instance":"coder","turn":"25163f3d-8d12-455c-81ee-01ef93431b1c","source":"@none","code":"baseline-unknown"} +✔ a holder running since before the resolution is stopped once the broker releases it, land-relaunch, and the next tick starts it: landing turn first, then the message that waited (752.82833ms) +✔ a landing run that ended isn't started again for its decision, a spent decision starts nothing, and a new decision starts the holder (748.072704ms) +✔ after a restart, the new host's first tick starts a holder whose decision is still held (974.793604ms) +✔ a refused landing start is logged once per code with its decision, isn't a start, and the next tick with room starts the holder (664.068506ms) +✔ a project clone that can't be made refuses checkout-failed, from --chief and from a session, with no run and no clone left (320.374289ms) +✔ a runner that stops at once ends its launch with the runner's reason (391.057567ms) +✔ a Claude Code launch with no session credential refuses before it starts (206.891635ms) +✔ a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables (355.101475ms) +usage: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/plugins/harness/down is missing","kept":[]} +plugins: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/plugins/harness/down is missing","kept":[]} +✔ row 65 a failed primary preflight launches the fallback on a fixture harness module, recording the route and the reason (398.841594ms) +✔ a runner killed from the host ends its launch as killed, not failed (409.858948ms) +✔ a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback (222.704964ms) +✔ row 64 a role skill that isn't enabled refuses skill-not-enabled, and one that isn't a plain directory skill-refused, before anything starts (213.53209ms) +✔ row 213 a creative instance's persona is read from /personas: off its digest the launch fails with the mismatch as its reason (290.237792ms) +✔ row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts (214.009574ms) +usage: {"event":"usage-unknown","business":"acme","run":"r4d688f89fec0","instance":"chief","turn":"f5b5c452-789c-4698-a49c-598732488fb6","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r4d688f89fec0","instance":"chief","turn":"907d7ed7-47b6-4075-9fee-51b028a6fcb2","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"rb144400a72dc","instance":"coder","turn":"863f1067-ad33-45ba-a78e-da90f68f2244","source":"@none","code":"baseline-unknown"} +✔ a real Claude Code coder's shell can't read a stand-in secret or anything else its sandbox doesn't hold (1767.813305ms) +✔ a host that died hard leaves its sessions to the next host, which kills them and ends their runs so the role can be launched again (1124.533472ms) +✔ a host that died hard leaves its sessions to the next host, which finds one already exited (23) and ends their runs so the role can be launched again (4099.810448ms) +✔ bus start --no-launch leaves an earlier host's live session alone: no signal, no end, sessions.json as it was (270.952439ms) +✔ bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned (213.08419ms) +✔ bus start --no-launch starts no thread tick; the same host with launches runs it (1215.506038ms) +✔ a malformed sessions.json refuses the host start with exit 3 and stays as it was (218.866761ms) +✔ an over-long launch request is refused at once, not at the 10 s idle timeout (233.070492ms) +✔ a launch client that never closes its side doesn't hold the host's close (233.384604ms) +✔ a runner that ignores SIGTERM is killed when the host closes (1410.982478ms) +✔ kill switch refuses chief and hire before launch work and a clear permits a later request (372.928916ms) +✔ kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle (366.823793ms) +✔ a launch waiting across halt and resume cannot use its stale admission (239.246638ms) +ℹ tests 34 +ℹ suites 0 +ℹ pass 34 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 28081.381845 diff --git a/agents/magica/work/queue-329/gate/cli-lifecycle.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-lifecycle.test.load.jsonl new file mode 100644 index 000000000..0cb05bc29 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-lifecycle.test.load.jsonl @@ -0,0 +1,15 @@ +{"utc": "2026-10-24T20:20:39.422+00:00", "load1": "4.55"} +{"utc": "2026-10-24T20:20:40.422+00:00", "load1": "4.59"} +{"utc": "2026-10-24T20:20:41.423+00:00", "load1": "4.59"} +{"utc": "2026-10-24T20:20:42.423+00:00", "load1": "4.59"} +{"utc": "2026-10-24T20:20:43.423+00:00", "load1": "4.59"} +{"utc": "2026-10-24T20:20:44.424+00:00", "load1": "4.59"} +{"utc": "2026-10-24T20:20:45.424+00:00", "load1": "5.02"} +{"utc": "2026-10-24T20:20:46.424+00:00", "load1": "5.02"} +{"utc": "2026-10-24T20:20:47.425+00:00", "load1": "5.02"} +{"utc": "2026-10-24T20:20:48.425+00:00", "load1": "5.02"} +{"utc": "2026-10-24T20:20:49.425+00:00", "load1": "5.02"} +{"utc": "2026-10-24T20:20:50.425+00:00", "load1": "5.10"} +{"utc": "2026-10-24T20:20:51.426+00:00", "load1": "5.10"} +{"utc": "2026-10-24T20:20:52.426+00:00", "load1": "5.10"} +{"utc": "2026-10-24T20:20:53.426+00:00", "load1": "5.10"} diff --git a/agents/magica/work/queue-329/gate/cli-lifecycle.test.txt b/agents/magica/work/queue-329/gate/cli-lifecycle.test.txt new file mode 100644 index 000000000..5eb6de00e --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-lifecycle.test.txt @@ -0,0 +1,43 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/lifecycle.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/DtlzKA +begin: {"utc": "2026-10-24T20:20:39.422+00:00", "load1": "4.55"} +launch nice: 19 +✔ row 194 T2: the human's launch runs an unlisted instance and launch.by through the pm branch, and closes with the run (542.704844ms) +✔ row 194 T2: a request past its 60 s never launches, and a refused check closes the request with its code (118.337858ms) +✔ row 194 T3: a --no-launch host closes each request launches-disabled and starts nothing (92.647715ms) +✔ row 194 T3: a limit refusal closes the request with its code and the limit in the launch log (250.936551ms) +✔ row 194 T4: terminate revokes and cancels at the verb, then the pass signals the run, which ends once (296.615776ms) +✔ row 194 T5: regenerate ends the run in the registry and starts a new run on the same workspace (550.332733ms) +✔ row 194 T5: a run that outlasts the request's mark closes the regenerate regenerate-timeout and starts nothing (2777.203043ms) +✔ row 194 V5: delete retires the name, renames the workspace to .retired/I- at 0700, and a retry renames after workspace-rename-failed (115.476171ms) +✔ row 194 V5: a delete with no workspace commits and closes with the transaction (93.055752ms) +✔ row 281 T10: the delete pass closes a granted instance's first request grants-revoking and the host channel stays up (106.079907ms) +✔ row 194 D1.1 item 5: the CLI's launch, regenerate, terminate and delete end to end through the pass, and a closed refusal exits 3 with the request id (637.86775ms) +✔ row 194 T20: a store-only delete with a tracker bot closes naming the bot, and the CLI says to remove it in Vikunja (133.851913ms) +✔ row 194 T2a: a launch.revoke between the request and the pass closes it launch-revoked with no process; a done that fails once leaves the request taken and the next pass starts nothing (285.916527ms) +✔ row 194 T4: terminate signals a spawned run in the registry that the bus never bound, and not a run whose start time differs (406.135006ms) +✔ row 194 T9a: fire signals its bound run and a spawned but unbound registry run; a SIGTERM-ignoring runner gets SIGKILL and lifecycle.end.killed, and one whose kill fails gets lifecycle.end.alive (1077.684633ms) +✔ row 194 T9a: fire of a registry run with no runtime record reads lifecycle.end.alive with reason unknown, never killed (545.054179ms) +✔ row 194 T9a: a runner whose identity changed before the SIGTERM gets no signal, and one whose identity changed between the SIGTERM and the SIGKILL gets no SIGKILL (218.843898ms) +✔ row 194 T9a: V3 terminate of a SIGTERM-ignoring runner sends no SIGKILL (993.797089ms) +✔ row 194 T9b: a halt during a fire's stop sends no second SIGTERM, keeps the fire's deadline, writes one stop receipt with reason fire and the request, and counts the run; a fire while halted refuses (1696.605668ms) +✔ row 194 T15: while halted the pass closes a launch and a regenerate processing-halted and runs no thread pass, terminate signals, and after a resume a launch starts (332.440804ms) +✔ row 194 N6: a run spawned after a terminate's verb survives its pass, and the next terminate ends it (529.726174ms) +✔ row 194 T6: a delete leaves the run evidence bytes unchanged, and the retired name refuses a create and a launch (327.537532ms) +✔ row 194 T11: two stack roots with the same business id; a launch, a terminate and a delete in one leave the other byte-identical (418.642516ms) +usage: {"event":"usage-unknown","business":"acme","run":"r43ffb26f871c","instance":"chief","turn":"8391b375-ae37-46a8-aa4a-b52b07b48dfb","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r43ffb26f871c","instance":"chief","turn":"86f8c039-c4ce-4361-adcf-2722c6aee64c","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r43ffb26f871c","instance":"chief","turn":"9ff2c775-1e47-4e7a-be0d-27596b2b4811","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r43ffb26f871c","instance":"chief","turn":"640785e3-d28d-494b-aaf6-1a4f540f17e0","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r43ffb26f871c","instance":"chief","turn":"cc759ca4-57ee-4eec-a3d9-aa61d36d9374","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r43ffb26f871c","instance":"chief","turn":"3b86bcf2-2433-439d-b7f4-bc9f7da8c5d1","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r43ffb26f871c","instance":"chief","turn":"ab0b58e0-5589-472b-af25-36a4367f8f56","source":"@none","code":"baseline-unknown"} +✔ row 194 D3 item 5: the chief's session hires with its tool and launches its hire in the same session, then fires it (1439.202864ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 14158.661414 diff --git a/agents/magica/work/queue-329/gate/cli-limits-tokens.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-limits-tokens.test.load.jsonl new file mode 100644 index 000000000..52b2453d6 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-limits-tokens.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:53.615+00:00", "load1": "5.10"} diff --git a/agents/magica/work/queue-329/gate/cli-limits-tokens.test.txt b/agents/magica/work/queue-329/gate/cli-limits-tokens.test.txt new file mode 100644 index 000000000..de1a7e6b9 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-limits-tokens.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/limits-tokens.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/6hmKVx +begin: {"utc": "2026-10-24T20:20:53.615+00:00", "load1": "5.10"} +launch nice: 19 +✔ REQ-LIMIT-3 REQ-LIMIT-4 formatTokens shows each limit counted, not enforced, or check failed, in reset path words (0.865448ms) +✔ REQ-LIMIT-2 row 126: any daily quota row adds one line after the list saying the count is this stack's own use (0.258754ms) +✔ REQ-LIMIT-3 the view prints the limits then the token lines; --json keeps tokens in the result (2.736992ms) +✔ REQ-LIMIT-3 reset reads the revision, then sends limits.set with one path per limit, a word per level (0.719005ms) +✔ REQ-LIMIT-3 reset with no path, or with --file, is refused before the bus (1.462306ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 151.476827 diff --git a/agents/magica/work/queue-329/gate/cli-limits.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-limits.test.load.jsonl new file mode 100644 index 000000000..4df81042e --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-limits.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:53.802+00:00", "load1": "5.10"} diff --git a/agents/magica/work/queue-329/gate/cli-limits.test.txt b/agents/magica/work/queue-329/gate/cli-limits.test.txt new file mode 100644 index 000000000..4e3fc43d4 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-limits.test.txt @@ -0,0 +1,17 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/limits.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/ZmxPeh +begin: {"utc": "2026-10-24T20:20:53.802+00:00", "load1": "5.10"} +launch nice: 19 +✔ migration needs no bus/config, prints whole converted document, is idempotent and never writes (13.043054ms) +✔ limits view/set use the human bus transport and pass only the explicit patch (1.214837ms) +✔ limits set passes an assistants patch through unchanged, and the usage names the key (0.859997ms) +✔ post-119 example and Jason fixture migrate with checked inherited models; wrong or absent config refuses (199.400509ms) +✔ plugins view/set use the human bus transport and pass only the explicit patch (vikunja:19/305) (1.929604ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 357.740687 diff --git a/agents/magica/work/queue-329/gate/cli-mark-read.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-mark-read.test.load.jsonl new file mode 100644 index 000000000..0ee1399a4 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-mark-read.test.load.jsonl @@ -0,0 +1,2 @@ +{"utc": "2026-10-24T20:20:54.198+00:00", "load1": "5.10"} +{"utc": "2026-10-24T20:20:55.198+00:00", "load1": "6.30"} diff --git a/agents/magica/work/queue-329/gate/cli-mark-read.test.txt b/agents/magica/work/queue-329/gate/cli-mark-read.test.txt new file mode 100644 index 000000000..607a9499c --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-mark-read.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/mark-read.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/jVQHHw +begin: {"utc": "2026-10-24T20:20:54.197+00:00", "load1": "5.10"} +launch nice: 19 +✔ inbox --read marks one message by the id inbox prints, delivered or not, and leaves the rest unread (39.491632ms) +✔ inbox --read refuses an id that is not the human's, prints its code, still marks the rest and exits 2 (22.574019ms) +✔ inbox --read refuses an ambiguous or short prefix, names every match, reads nothing for them and marks the rest (0.833709ms) +✔ inbox --read-all marks every message the inbox walk lists, delivered or not, and inbox then shows 0 unread (797.850319ms) +✔ inbox --read stops on an error that is not about one message (0.806594ms) +✔ inbox --read and --read-all refuse bad combinations; other verbs refuse them (16.00297ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1025.927378 diff --git a/agents/magica/work/queue-329/gate/cli-model-proxy.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-model-proxy.test.load.jsonl new file mode 100644 index 000000000..b77c88d73 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-model-proxy.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:55.256+00:00", "load1": "6.30"} diff --git a/agents/magica/work/queue-329/gate/cli-model-proxy.test.txt b/agents/magica/work/queue-329/gate/cli-model-proxy.test.txt new file mode 100644 index 000000000..9f1f30559 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-model-proxy.test.txt @@ -0,0 +1,21 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/model-proxy.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/L1XfEj +begin: {"utc": "2026-10-24T20:20:55.256+00:00", "load1": "6.30"} +launch nice: 19 +✔ proxy init agent and tester refuse before prompting or transport (1.381942ms) +✔ proxy init prompts twice through no-echo seam and sends key only through human transport (1.261934ms) +✔ proxy-key-mismatch: confirmation refuses without bus call (0.432009ms) +✔ proxy-terminal-required: stdin redirection refuses (0.372571ms) +✔ proxy-usage: invalid verb and repeated flags refuse (0.594095ms) +✔ proxy-config-invalid: port 8317 refuses before prompting (0.382976ms) +✔ proxy-key-invalid: empty prompt refuses without printing input (0.371314ms) +✔ real no-echo prompt restores terminal state and never writes the key (1.018561ms) +✔ real no-echo prompt ctrl-C refuses and restores echo (0.455759ms) +ℹ tests 9 +ℹ suites 0 +ℹ pass 9 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 146.291926 diff --git a/agents/magica/work/queue-329/gate/cli-names.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-names.test.load.jsonl new file mode 100644 index 000000000..17b9f28ff --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-names.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:55.438+00:00", "load1": "6.30"} diff --git a/agents/magica/work/queue-329/gate/cli-names.test.txt b/agents/magica/work/queue-329/gate/cli-names.test.txt new file mode 100644 index 000000000..4cdc3c076 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-names.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/names.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/q76SQh +begin: {"utc": "2026-10-24T20:20:55.438+00:00", "load1": "6.30"} +launch nice: 19 +✔ the human names an instance, lists it, and talk's message.send reaches it by that name (28.199795ms) +✔ name and names refuse the wrong number of arguments with the usage (14.543863ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 203.83068 diff --git a/agents/magica/work/queue-329/gate/cli-notifier.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-notifier.test.load.jsonl new file mode 100644 index 000000000..54129c108 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-notifier.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:55.673+00:00", "load1": "6.30"} diff --git a/agents/magica/work/queue-329/gate/cli-notifier.test.txt b/agents/magica/work/queue-329/gate/cli-notifier.test.txt new file mode 100644 index 000000000..6652c44b2 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-notifier.test.txt @@ -0,0 +1,39 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/notifier.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/eZFGIj +begin: {"utc": "2026-10-24T20:20:55.673+00:00", "load1": "6.30"} +launch nice: 19 +✔ zoned uses the IANA zone across DST (17.041786ms) +✔ each open blocking decision is DM'd once, across polls and a restart; non-blocking ones are not (27.633968ms) +✔ two blocking decisions get two DMs with different nonces (17.607895ms) +✔ the digest nonce differs per business and per day and fits Discord's 25 characters (1.07468ms) +✔ a failed DM is journaled, backs off, and is retried until it lands (18.290298ms) +✔ five definite refusals stop a DM: one gave-up line, one log line, and a restart keeps the count (21.948577ms) +✔ 429s, 5xx-style unknowns and refusals without a status never count toward the limit (22.480808ms) +✔ a crash between the fifth refusal and its gave-up line: the next poll appends it and sends nothing (15.856559ms) +✔ polled every POLL_MS against a permanent 403, a DM is sent at 0, 30, 60, 90 and 120 min and gives up only then (139.364273ms) +✔ a restart after the second refusal does not send before that refusal's 30 min are up (74.809896ms) +✔ the digest goes at 08:00 Chicago once a day, with blocking ones marked as DM'd (20.521481ms) +✔ a late start with no digest for the day sends one at once; an empty inbox gets one line (14.882784ms) +✔ an inbox read failure is logged and the next poll retries (0.684789ms) +✔ no Discord id reaches the journal or the log (15.909276ms) +✔ the journal: a torn tail is copied out and truncated, so an append after it reopens cleanly (1.914169ms) +✔ the journal: a crash between the copy and the truncate leaves a tail the next open repairs (2.095447ms) +✔ the journal: a whole file that is one torn line truncates to empty (1.115216ms) +✔ the journal: a malformed complete line refuses and leaves the file and any torn tail alone (0.423831ms) +✔ the journal: a loose file mode, a loose directory or a symlinked journal refuses (0.506636ms) +✔ the journal: a line with a wrong type refuses with exit 3 and names the field (1.84503ms) +✔ the journal: a symlinked directory refuses and says it is a link (0.289235ms) +✔ the journal: a dangling directory link, a parent that is a file and a journal that is a directory each refuse with exit 3 (0.446763ms) +✔ the journal: an append after the file was swapped for a symlink refuses and writes nothing through it (0.365931ms) +✔ the journal: a directory it cannot write or create refuses with exit 3 and names the path (0.431657ms) +✔ digest content stays within Discord's 2000 characters (0.278548ms) +✔ runLoop never overlaps ticks and stops after the one in flight (111.802509ms) +✔ processing halt prevents notifier reads and sends and fences the wait before delivery (35.880601ms) +ℹ tests 27 +ℹ suites 0 +ℹ pass 27 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 687.087182 diff --git a/agents/magica/work/queue-329/gate/cli-optional-tracker.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-optional-tracker.test.load.jsonl new file mode 100644 index 000000000..1bc31ee0b --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-optional-tracker.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:56.394+00:00", "load1": "6.30"} diff --git a/agents/magica/work/queue-329/gate/cli-optional-tracker.test.txt b/agents/magica/work/queue-329/gate/cli-optional-tracker.test.txt new file mode 100644 index 000000000..f1ba25a6f --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-optional-tracker.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/optional-tracker.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/ddPlug +begin: {"utc": "2026-10-24T20:20:56.393+00:00", "load1": "6.30"} +launch nice: 19 +✔ Q247: bootConfig omits tracker setup even with tracker variables left in the business (6.200316ms) +✔ Q247: trackerless business boots and registers no @sync credential (63.698825ms) +✔ Q247: Console business read works with tracker absent and shows no sync credential (1.832532ms) +✔ Q247: a present tracker with a missing token still refuses bus boot (11.127177ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 239.632549 diff --git a/agents/magica/work/queue-329/gate/cli-other-tree.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-other-tree.test.load.jsonl new file mode 100644 index 000000000..a4a158ad3 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-other-tree.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:56.669+00:00", "load1": "6.30"} diff --git a/agents/magica/work/queue-329/gate/cli-other-tree.test.txt b/agents/magica/work/queue-329/gate/cli-other-tree.test.txt new file mode 100644 index 000000000..e2bfab362 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-other-tree.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/other-tree.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/XuOLyR +begin: {"utc": "2026-10-24T20:20:56.669+00:00", "load1": "6.30"} +launch nice: 19 +✔ a human command refused with human-required prints the other-tree line and exits 3 (2.301719ms) +✔ a --tester command refused with tester-required prints the other-tree line and exits 3 (0.942184ms) +✔ other exit-3 refusals print no other-tree line (1.11304ms) +✔ the line names no path (0.088362ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 136.154386 diff --git a/agents/magica/work/queue-329/gate/cli-processing-cli.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-processing-cli.test.load.jsonl new file mode 100644 index 000000000..0ea43c28b --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-processing-cli.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:56.834+00:00", "load1": "6.30"} diff --git a/agents/magica/work/queue-329/gate/cli-processing-cli.test.txt b/agents/magica/work/queue-329/gate/cli-processing-cli.test.txt new file mode 100644 index 000000000..f0e7ae460 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-processing-cli.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/processing-cli.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/zTdhvt +begin: {"utc": "2026-10-24T20:20:56.834+00:00", "load1": "6.30"} +launch nice: 19 +✔ human halt/status/resume uses management transport without loading any channel (36.802408ms) +✔ halt refuses inside an agent before transport (12.472355ms) +✔ resume refuses inside an agent before transport (11.705041ms) +✔ unknown and partially stopped outcomes are never reported as a successful halt (11.547026ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 210.798355 diff --git a/agents/magica/work/queue-329/gate/cli-project-name-repo.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-project-name-repo.test.load.jsonl new file mode 100644 index 000000000..201dcee81 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-project-name-repo.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:57.076+00:00", "load1": "6.30"} diff --git a/agents/magica/work/queue-329/gate/cli-project-name-repo.test.txt b/agents/magica/work/queue-329/gate/cli-project-name-repo.test.txt new file mode 100644 index 000000000..02242e9e1 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-project-name-repo.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/project-name-repo.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/FTVHQY +begin: {"utc": "2026-10-24T20:20:57.075+00:00", "load1": "6.30"} +launch nice: 19 +✔ threads project resolution explains a business repository and falls back if its file cannot load (63.161823ms) +✔ project create prints the repository-name refusal and exits two without writing (21.418674ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 219.903265 diff --git a/agents/magica/work/queue-329/gate/cli-project.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-project.test.load.jsonl new file mode 100644 index 000000000..f67a3c1b2 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-project.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:20:57.328+00:00", "load1": "6.30"} diff --git a/agents/magica/work/queue-329/gate/cli-project.test.txt b/agents/magica/work/queue-329/gate/cli-project.test.txt new file mode 100644 index 000000000..1aff3a3ab --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-project.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/project.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/EVxeqQ +begin: {"utc": "2026-10-24T20:20:57.328+00:00", "load1": "6.30"} +launch nice: 19 +✔ project init/check use declared business repo and never contact the bus (120.831115ms) +✔ project commands validate args and refuse undeclared projects and agent init (34.691704ms) +✔ project create and list validate their arguments before any bus call (36.581571ms) +✔ project dispatcher reaches the human CLI (101.565008ms) +ℹ tests 4 +ℹ suites 0 +ℹ pass 4 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 424.561248 diff --git a/agents/magica/work/queue-329/gate/cli-publish-socket.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-publish-socket.test.load.jsonl new file mode 100644 index 000000000..d06867271 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-publish-socket.test.load.jsonl @@ -0,0 +1,6 @@ +{"utc": "2026-10-24T20:20:57.796+00:00", "load1": "6.30"} +{"utc": "2026-10-24T20:20:58.797+00:00", "load1": "6.30"} +{"utc": "2026-10-24T20:20:59.797+00:00", "load1": "6.30"} +{"utc": "2026-10-24T20:21:00.798+00:00", "load1": "6.35"} +{"utc": "2026-10-24T20:21:01.798+00:00", "load1": "6.35"} +{"utc": "2026-10-24T20:21:02.798+00:00", "load1": "6.35"} diff --git a/agents/magica/work/queue-329/gate/cli-publish-socket.test.txt b/agents/magica/work/queue-329/gate/cli-publish-socket.test.txt new file mode 100644 index 000000000..35a5baf4f --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-publish-socket.test.txt @@ -0,0 +1,22 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/publish-socket.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/Hhc0iD +begin: {"utc": "2026-10-24T20:20:57.796+00:00", "load1": "6.30"} +launch nice: 19 +✔ T3 end to end: publish under an approved decision sends the work commit to the agent's own fork and records it once (739.263651ms) +✔ T3 end to end: a fork the token can't reach is fork-unavailable, filed once, and nothing is recorded as allowed (471.775417ms) +✔ a bad branch or project refuses before the broker; a fork, user or ref in the request is ignored (525.266944ms) +✔ T3 end to end: two agents, one project, each lands on its own fork only; the upstream receives nothing (919.390598ms) +✔ T3: a push after checkPublish and before the lock refuses ref-moved; the fork receives nothing (571.939338ms) +✔ T3: a push recorded while the bus process pushes refuses decision-mismatch; only the decision's commit reached the fork (522.819656ms) +✔ row 237: two publishes race on one decision; the second refuses publish-busy and exactly one push reaches the fork (521.941945ms) +✔ sage-1440: the publishResult poll is bounded: publish-timeout, filed once, and nothing recorded (551.170279ms) +bus: publish 3e3f5cf8-97f0-4527-bfc4-835dd276d727: pushed after the git socket refused publish-timeout; recorded +✔ row 242: a retry after publish-timeout refuses publish-busy while the bus process's push runs; the late push is recorded and the decision pushes once (620.83372ms) +ℹ tests 9 +ℹ suites 0 +ℹ pass 9 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 5607.390122 diff --git a/agents/magica/work/queue-329/gate/cli-reply-limits.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-reply-limits.test.load.jsonl new file mode 100644 index 000000000..df868db87 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-reply-limits.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:21:03.437+00:00", "load1": "6.35"} diff --git a/agents/magica/work/queue-329/gate/cli-reply-limits.test.txt b/agents/magica/work/queue-329/gate/cli-reply-limits.test.txt new file mode 100644 index 000000000..7626c05a3 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-reply-limits.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/reply-limits.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/xt7Srk +begin: {"utc": "2026-10-24T20:21:03.437+00:00", "load1": "6.35"} +launch nice: 19 +✔ C2-06 CLI replies reads revision and sends only the JSON settings to the human verb (2.151428ms) +✔ C2-06 CLI replies requires a file and refuses tester writes before a bus call (0.512208ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 71.485834 diff --git a/agents/magica/work/queue-329/gate/cli-revoke-window.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-revoke-window.test.load.jsonl new file mode 100644 index 000000000..d0a1b2b01 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-revoke-window.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:21:03.538+00:00", "load1": "6.35"} diff --git a/agents/magica/work/queue-329/gate/cli-revoke-window.test.txt b/agents/magica/work/queue-329/gate/cli-revoke-window.test.txt new file mode 100644 index 000000000..12bbd086f --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-revoke-window.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/revoke-window.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/ZrjmRU +begin: {"utc": "2026-10-24T20:21:03.537+00:00", "load1": "6.35"} +launch nice: 19 +usage: {"event":"usage-unknown","business":"acme","run":"rd9b2b5a165e4","instance":"assistant","turn":"cf552922-4260-4318-b23a-b5aa7480d6fb","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r56c50037da5d","instance":"assistant","turn":"65a6b34b-acab-4057-a62b-b90963f72abc","source":"@none","code":"baseline-unknown"} +✔ row 306 REQ-LAUNCH-1 R4 a revoked run whose call lands before the SIGTERM ends stopped/0; a run the human stopped in the same window still ends session-invalid/22 (720.361066ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 882.024604 diff --git a/agents/magica/work/queue-329/gate/cli-session-clear.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-session-clear.test.load.jsonl new file mode 100644 index 000000000..a4bc6a503 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-session-clear.test.load.jsonl @@ -0,0 +1,12 @@ +{"utc": "2026-10-24T20:21:04.454+00:00", "load1": "6.35"} +{"utc": "2026-10-24T20:21:05.454+00:00", "load1": "6.40"} +{"utc": "2026-10-24T20:21:06.455+00:00", "load1": "6.40"} +{"utc": "2026-10-24T20:21:07.455+00:00", "load1": "6.40"} +{"utc": "2026-10-24T20:21:08.455+00:00", "load1": "6.40"} +{"utc": "2026-10-24T20:21:09.455+00:00", "load1": "6.40"} +{"utc": "2026-10-24T20:21:10.456+00:00", "load1": "6.37"} +{"utc": "2026-10-24T20:21:11.456+00:00", "load1": "6.37"} +{"utc": "2026-10-24T20:21:12.456+00:00", "load1": "6.37"} +{"utc": "2026-10-24T20:21:13.456+00:00", "load1": "6.37"} +{"utc": "2026-10-24T20:21:14.457+00:00", "load1": "6.37"} +{"utc": "2026-10-24T20:21:15.457+00:00", "load1": "5.86"} diff --git a/agents/magica/work/queue-329/gate/cli-session-clear.test.txt b/agents/magica/work/queue-329/gate/cli-session-clear.test.txt new file mode 100644 index 000000000..d6e41c496 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-session-clear.test.txt @@ -0,0 +1,22 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/session-clear.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/cN0vtH +begin: {"utc": "2026-10-24T20:21:04.454+00:00", "load1": "6.35"} +launch nice: 19 +usage: {"event":"usage-unknown","business":"acme","run":"re1e8c9f041be","instance":"assistant","turn":"c270432c-f982-4347-9b6c-54335b8161be","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"rc7a6c25f02b6","instance":"assistant","turn":"9a735d7d-0596-41c2-b9f5-fbc14693cb52","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 T4 D7 D8 N6: a clear of a running session stops its drained run once, retires it on the run's end, and starts the successor fresh in its own namespace (921.816268ms) +usage: {"event":"usage-unknown","business":"acme","run":"r996eba17ff51","instance":"assistant","turn":"cdb1b983-4baa-46ac-9a53-c0b39ce43983","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 T4 D8: a successor start refused capacity-full is held, reported and logged once, and starts when capacity frees (4660.861219ms) +✔ REQ-THREAD-2 T4 D7 Q2: after a restart, a live survivor of the cleared run holds the clear at drained with no signal, and its exit lets it retire (505.132207ms) +usage: {"event":"usage-unknown","business":"acme","run":"rae73432d26b0","instance":"assistant","turn":"57cc8186-9786-466b-8fdf-d9e57254ddbc","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 T4 D7: a drained run that outlives the stop timeout makes the clear uncertain once, with one signal, and it retires on the run's end (1776.508054ms) +usage: {"event":"usage-unknown","business":"acme","run":"r8191b93c3cbc","instance":"assistant","turn":"8b157362-9df2-48dd-af2d-2c0103d2b1dd","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 T4 T6: a bus unavailable at the exit proof and then at retirement holds the clear with no retirement, successor or launch, and it resumes when the bus is back (3055.175983ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 11062.75705 diff --git a/agents/magica/work/queue-329/gate/cli-session-cli.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-session-cli.test.load.jsonl new file mode 100644 index 000000000..66983596a --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-session-cli.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:21:15.548+00:00", "load1": "5.86"} diff --git a/agents/magica/work/queue-329/gate/cli-session-cli.test.txt b/agents/magica/work/queue-329/gate/cli-session-cli.test.txt new file mode 100644 index 000000000..2d949a78d --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-session-cli.test.txt @@ -0,0 +1,26 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/session-cli.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/t0MVDb +begin: {"utc": "2026-10-24T20:21:15.548+00:00", "load1": "5.86"} +launch nice: 19 +✔ session list/show/open select one session without changing the saved default (4.81808ms) +✔ create requires a reusable operation key and returns the broker identity (1.654326ms) +✔ invalid/foreign session selection never falls back to the default or opens a session (1.847599ms) +✔ unsupported clear refuses with a reason and never opens or creates a replacement (0.658044ms) +✔ clear waits by operation reads only, keeps revision, then reports pending at 30s (0.843864ms) +✔ count output distinguishes exact zero, lower bounds and unavailable collection (0.175076ms) +✔ session CLI real broker: create/list/open keeps default and selectors isolated (26.086361ms) +✔ explicit --session on thread reads, opens and talk never drops the selected id (2.764042ms) +✔ repeating clear with a recorded operation queries it and never sends a new revision (0.395844ms) +✔ new CLI surface refuses forged agent identity before reaching transport (0.326606ms) +✔ cancel requires confirmation, uses the clear op and accepts cancelled before or after retirement (0.795911ms) +✔ cancelled operation is terminal: clear polling stops without another write (0.355425ms) +✔ routed message cancellation prints its stored receipt and never waits for a reply (1.158879ms) +✔ 272 N2: reusing another session clear key gives a precise refusal without a write (0.342004ms) +ℹ tests 14 +ℹ suites 0 +ℹ pass 14 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 172.154649 diff --git a/agents/magica/work/queue-329/gate/cli-session-launch.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-session-launch.test.load.jsonl new file mode 100644 index 000000000..2225f07da --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-session-launch.test.load.jsonl @@ -0,0 +1,11 @@ +{"utc": "2026-10-24T20:21:15.752+00:00", "load1": "5.86"} +{"utc": "2026-10-24T20:21:16.753+00:00", "load1": "5.86"} +{"utc": "2026-10-24T20:21:17.753+00:00", "load1": "5.86"} +{"utc": "2026-10-24T20:21:18.753+00:00", "load1": "5.86"} +{"utc": "2026-10-24T20:21:19.754+00:00", "load1": "5.86"} +{"utc": "2026-10-24T20:21:20.754+00:00", "load1": "5.71"} +{"utc": "2026-10-24T20:21:21.754+00:00", "load1": "5.71"} +{"utc": "2026-10-24T20:21:22.754+00:00", "load1": "5.71"} +{"utc": "2026-10-24T20:21:23.755+00:00", "load1": "5.71"} +{"utc": "2026-10-24T20:21:24.755+00:00", "load1": "5.71"} +{"utc": "2026-10-24T20:21:25.755+00:00", "load1": "5.33"} diff --git a/agents/magica/work/queue-329/gate/cli-session-launch.test.txt b/agents/magica/work/queue-329/gate/cli-session-launch.test.txt new file mode 100644 index 000000000..1bbd188a8 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-session-launch.test.txt @@ -0,0 +1,27 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/session-launch.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/aLYwQ0 +begin: {"utc": "2026-10-24T20:21:15.752+00:00", "load1": "5.86"} +launch nice: 19 +usage: {"event":"usage-unknown","business":"acme","run":"r5e213ac6b7de","instance":"assistant","turn":"f55f3473-9ea6-4dbc-b053-6997d7516b59","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r5b784831deed","instance":"assistant","turn":"d437fc71-3ff0-4ac8-8f8c-ac3f78b7c494","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r24fca99892f0","instance":"assistant","turn":"5382443b-3888-49f2-8c40-16db2505113f","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r9e9f5a15cc76","instance":"assistant","turn":"b355e633-4273-4009-b8a6-292c7b87b627","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 REQ-LAUNCH-1 two sessions of one thread, and another thread's default, run at once, each with its own store and workspace; a restart of one resumes only that one (6037.858353ms) +usage: {"event":"usage-unknown","business":"acme","run":"r25e11097b42e","instance":"assistant","turn":"3c1e78a9-112f-474e-a733-909d314659da","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 REQ-LAUNCH-1 a legacy session resumes the thread's old store at the old in-sandbox cwd, in a workspace of its own (394.148931ms) +usage: {"event":"usage-unknown","business":"acme","run":"r03f1c523c315","instance":"assistant","turn":"04f06c24-0b7b-48fc-8a60-133f2d98586e","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 REQ-LAUNCH-1 a live lock on a session workspace refuses session-workspace-busy before any checkout; a stale one is taken over (1511.65316ms) +usage: {"event":"usage-unknown","business":"acme","run":"r880cb163b0b2","instance":"assistant","turn":"48804914-9223-4a2c-9b06-0675950ad5b6","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 REQ-LAUNCH-1 a session start refuses legacy-run-live while an earlier host's sessionless run lives, and starts once it has exited (1524.966713ms) +✔ REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session workspace root refuses session-workspace-unsafe and launches nothing (188.703261ms) +✔ REQ-THREAD-2 REQ-LAUNCH-1 a session workspace that holds the legacy workspace root refuses session-workspace-overlap and launches nothing (188.053814ms) +✔ REQ-THREAD-2 REQ-LAUNCH-1 a symlinked session store refuses thread-store-refused and makes no workspace (188.713122ms) +✔ REQ-THREAD-2 REQ-LAUNCH-1 a named session's start refuses processing-generation-changed, then processing-halted, after check() and before any spawn (345.075436ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 10519.203898 diff --git a/agents/magica/work/queue-329/gate/cli-stack-copy.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-stack-copy.test.load.jsonl new file mode 100644 index 000000000..8387c2d6a --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-stack-copy.test.load.jsonl @@ -0,0 +1,17 @@ +{"utc": "2026-10-24T20:21:26.302+00:00", "load1": "5.33"} +{"utc": "2026-10-24T20:21:27.302+00:00", "load1": "5.33"} +{"utc": "2026-10-24T20:21:28.302+00:00", "load1": "5.33"} +{"utc": "2026-10-24T20:21:29.303+00:00", "load1": "5.33"} +{"utc": "2026-10-24T20:21:30.303+00:00", "load1": "5.15"} +{"utc": "2026-10-24T20:21:31.303+00:00", "load1": "5.15"} +{"utc": "2026-10-24T20:21:32.304+00:00", "load1": "5.15"} +{"utc": "2026-10-24T20:21:33.304+00:00", "load1": "5.15"} +{"utc": "2026-10-24T20:21:34.304+00:00", "load1": "5.15"} +{"utc": "2026-10-24T20:21:35.304+00:00", "load1": "5.14"} +{"utc": "2026-10-24T20:21:36.305+00:00", "load1": "5.14"} +{"utc": "2026-10-24T20:21:37.305+00:00", "load1": "5.14"} +{"utc": "2026-10-24T20:21:38.306+00:00", "load1": "5.14"} +{"utc": "2026-10-24T20:21:39.306+00:00", "load1": "5.14"} +{"utc": "2026-10-24T20:21:40.306+00:00", "load1": "5.60"} +{"utc": "2026-10-24T20:21:41.306+00:00", "load1": "5.60"} +{"utc": "2026-10-24T20:21:42.307+00:00", "load1": "5.60"} diff --git a/agents/magica/work/queue-329/gate/cli-stack-copy.test.txt b/agents/magica/work/queue-329/gate/cli-stack-copy.test.txt new file mode 100644 index 000000000..db01a719b --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-stack-copy.test.txt @@ -0,0 +1,30 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-copy.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/qWxKJ5 +begin: {"utc": "2026-10-24T20:21:26.302+00:00", "load1": "5.33"} +launch nice: 19 +✔ a copy carries every file the harness modules read from it (800.850467ms) +✔ shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation (585.399038ms) +✔ wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots (751.745857ms) +✔ row 190 N6: check --instance passes only when the wrapper exports the instance's MOSAIC_CONFIG (739.130111ms) +✔ bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal (957.621403ms) +✔ missing package manifest refuses before npm; npm failure removes the unpublished temp copy (555.089315ms) +✔ real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse (3969.460741ms) +✔ bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart (719.40141ms) +✔ drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload (448.95148ms) +✔ install never shows a template name on systemd 261; template drop-ins still refuse (406.414576ms) +✔ unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse (397.230054ms) +✔ inherited mosaic-.service.d override refuses without changing the unit (425.211711ms) +✔ inherited service.d override refuses without changing the unit (419.232902ms) +✔ inherited drop-in unreadable directory or file refuses before writing (385.208841ms) +✔ row 232: copy --bundle copies a SHA the bundle's refactor reaches, byte-identical to copy SHA, and refuses the rest (2395.836456ms) +✔ row 232: wrapper --create writes the first wrapper only, the same bytes wrapper ID writes, and refuses over any file (850.667981ms) +✔ row 232: check --units external reads the system units, the default reads the user units (688.23349ms) +✔ Vikunja 614: bundle and checkout copy leave an unreadable caller directory before find (1058.866343ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 18 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 16662.138348 diff --git a/agents/magica/work/queue-329/gate/cli-stack-instances.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-stack-instances.test.load.jsonl new file mode 100644 index 000000000..9938a2ff8 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-stack-instances.test.load.jsonl @@ -0,0 +1,4 @@ +{"utc": "2026-10-24T20:21:43.000+00:00", "load1": "5.60"} +{"utc": "2026-10-24T20:21:44.000+00:00", "load1": "5.60"} +{"utc": "2026-10-24T20:21:45.001+00:00", "load1": "5.32"} +{"utc": "2026-10-24T20:21:46.001+00:00", "load1": "5.32"} diff --git a/agents/magica/work/queue-329/gate/cli-stack-instances.test.txt b/agents/magica/work/queue-329/gate/cli-stack-instances.test.txt new file mode 100644 index 000000000..27565349c --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-stack-instances.test.txt @@ -0,0 +1,39 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-instances.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/Zw2ika +begin: {"utc": "2026-10-24T20:21:43.000+00:00", "load1": "5.60"} +launch nice: 19 +▶ T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim + ✔ alpha and beta get a 0700 config dir, a config naming ~/.mosaic-NAME, a 0700 root and a 0644 marker (58.914242ms) + ✔ under umask 077 the config and marker are 0600: the source honors the operator's umask (29.751457ms) + ✔ a second bootstrap of each changes no byte, mode or mtime (120.537575ms) + ✔ a non-empty root without its own marker refuses before anything is written, worktrees included (117.243255ms) + ✔ an empty existing root is claimed, and an existing config whose root lost its marker refuses, not repairs (60.506715ms) + ✔ a dangling symlink at the config path is never written through, named or default (57.971572ms) + ✔ bad names and stray arguments exit 4 and write nothing (392.18401ms) + ✔ --instance dev writes exactly what no flag writes (60.320072ms) +✔ T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim (899.168598ms) +▶ T-I2 selection: the four rows of D1 through the instance op and through an entry point + ✔ row 1: no flag and no MOSAIC_CONFIG is the default; a missing default config leaves the data root empty (52.040264ms) + ✔ row 2: MOSAIC_CONFIG alone is that config with the default names (26.456849ms) + ✔ row 3: --instance NAME alone is NAME's config, root and suffix (56.107458ms) + ✔ row 4: both must name one file; a symlink to it agrees, any other file exits 4 (367.780671ms) + ✔ a named instance with no config exits 3 with its own bootstrap hint (28.167442ms) + ✔ an entry point takes --instance in any position, once, and refuses a mismatch before it prints (166.991334ms) + ✔ copy takes no --instance in either script: every instance shares the copies (17.130619ms) +✔ T-I2 selection: the four rows of D1 through the instance op and through an entry point (774.246547ms) +▶ T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker + ✔ alpha's config pointing at beta's root refuses instance-root-mismatch in every op (136.711645ms) + ✔ MOSAIC_CONFIG naming alpha's config with no flag refuses: the root is alpha's (28.057204ms) + ✔ a default config whose root carries alpha's marker refuses; one naming dev, or none, passes (81.047659ms) + ✔ a named root whose marker is missing, a symlink, unparsable or the wrong shape refuses instance-root-unclaimed (210.210825ms) +✔ T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker (517.523858ms) +✔ T-I5 two real bus hosts, one per instance, run at once and each answers from its own socket under its own root (1355.226552ms) +✔ T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config (83.478734ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 3731.860778 diff --git a/agents/magica/work/queue-329/gate/cli-stack-release-external.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-stack-release-external.test.load.jsonl new file mode 100644 index 000000000..896a367da --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-stack-release-external.test.load.jsonl @@ -0,0 +1,87 @@ +{"utc": "2026-10-24T20:21:46.763+00:00", "load1": "5.32"} +{"utc": "2026-10-24T20:21:47.763+00:00", "load1": "5.32"} +{"utc": "2026-10-24T20:21:48.763+00:00", "load1": "5.32"} +{"utc": "2026-10-24T20:21:49.764+00:00", "load1": "5.32"} +{"utc": "2026-10-24T20:21:50.764+00:00", "load1": "5.29"} +{"utc": "2026-10-24T20:21:51.764+00:00", "load1": "5.29"} +{"utc": "2026-10-24T20:21:52.764+00:00", "load1": "5.29"} +{"utc": "2026-10-24T20:21:53.765+00:00", "load1": "5.29"} +{"utc": "2026-10-24T20:21:54.765+00:00", "load1": "5.29"} +{"utc": "2026-10-24T20:21:55.765+00:00", "load1": "5.59"} +{"utc": "2026-10-24T20:21:56.765+00:00", "load1": "5.59"} +{"utc": "2026-10-24T20:21:57.766+00:00", "load1": "5.59"} +{"utc": "2026-10-24T20:21:58.766+00:00", "load1": "5.59"} +{"utc": "2026-10-24T20:21:59.766+00:00", "load1": "5.59"} +{"utc": "2026-10-24T20:22:00.767+00:00", "load1": "5.22"} +{"utc": "2026-10-24T20:22:01.767+00:00", "load1": "5.22"} +{"utc": "2026-10-24T20:22:02.767+00:00", "load1": "5.22"} +{"utc": "2026-10-24T20:22:03.767+00:00", "load1": "5.22"} +{"utc": "2026-10-24T20:22:04.768+00:00", "load1": "5.22"} +{"utc": "2026-10-24T20:22:05.768+00:00", "load1": "5.20"} +{"utc": "2026-10-24T20:22:06.768+00:00", "load1": "5.20"} +{"utc": "2026-10-24T20:22:07.768+00:00", "load1": "5.20"} +{"utc": "2026-10-24T20:22:08.769+00:00", "load1": "5.20"} +{"utc": "2026-10-24T20:22:09.769+00:00", "load1": "5.20"} +{"utc": "2026-10-24T20:22:10.769+00:00", "load1": "4.95"} +{"utc": "2026-10-24T20:22:11.769+00:00", "load1": "4.95"} +{"utc": "2026-10-24T20:22:12.770+00:00", "load1": "4.95"} +{"utc": "2026-10-24T20:22:13.770+00:00", "load1": "4.95"} +{"utc": "2026-10-24T20:22:14.770+00:00", "load1": "4.95"} +{"utc": "2026-10-24T20:22:15.771+00:00", "load1": "5.03"} +{"utc": "2026-10-24T20:22:16.771+00:00", "load1": "5.03"} +{"utc": "2026-10-24T20:22:17.771+00:00", "load1": "5.03"} +{"utc": "2026-10-24T20:22:18.772+00:00", "load1": "5.03"} +{"utc": "2026-10-24T20:22:19.772+00:00", "load1": "5.03"} +{"utc": "2026-10-24T20:22:20.772+00:00", "load1": "4.71"} +{"utc": "2026-10-24T20:22:21.772+00:00", "load1": "4.71"} +{"utc": "2026-10-24T20:22:22.773+00:00", "load1": "4.71"} +{"utc": "2026-10-24T20:22:23.773+00:00", "load1": "4.71"} +{"utc": "2026-10-24T20:22:24.773+00:00", "load1": "4.71"} +{"utc": "2026-10-24T20:22:25.773+00:00", "load1": "5.05"} +{"utc": "2026-10-24T20:22:26.774+00:00", "load1": "5.05"} +{"utc": "2026-10-24T20:22:27.774+00:00", "load1": "5.05"} +{"utc": "2026-10-24T20:22:28.774+00:00", "load1": "5.05"} +{"utc": "2026-10-24T20:22:29.774+00:00", "load1": "5.05"} +{"utc": "2026-10-24T20:22:30.775+00:00", "load1": "4.81"} +{"utc": "2026-10-24T20:22:31.775+00:00", "load1": "4.81"} +{"utc": "2026-10-24T20:22:32.775+00:00", "load1": "4.81"} +{"utc": "2026-10-24T20:22:33.775+00:00", "load1": "4.81"} +{"utc": "2026-10-24T20:22:34.776+00:00", "load1": "4.81"} +{"utc": "2026-10-24T20:22:35.776+00:00", "load1": "4.66"} +{"utc": "2026-10-24T20:22:36.776+00:00", "load1": "4.66"} +{"utc": "2026-10-24T20:22:37.777+00:00", "load1": "4.66"} +{"utc": "2026-10-24T20:22:38.777+00:00", "load1": "4.66"} +{"utc": "2026-10-24T20:22:39.777+00:00", "load1": "4.66"} +{"utc": "2026-10-24T20:22:40.777+00:00", "load1": "4.45"} +{"utc": "2026-10-24T20:22:41.778+00:00", "load1": "4.45"} +{"utc": "2026-10-24T20:22:42.778+00:00", "load1": "4.45"} +{"utc": "2026-10-24T20:22:43.778+00:00", "load1": "4.45"} +{"utc": "2026-10-24T20:22:44.778+00:00", "load1": "4.45"} +{"utc": "2026-10-24T20:22:45.779+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:22:46.779+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:22:47.779+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:22:48.780+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:22:49.780+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:22:50.780+00:00", "load1": "4.22"} +{"utc": "2026-10-24T20:22:51.780+00:00", "load1": "4.22"} +{"utc": "2026-10-24T20:22:52.781+00:00", "load1": "4.22"} +{"utc": "2026-10-24T20:22:53.781+00:00", "load1": "4.22"} +{"utc": "2026-10-24T20:22:54.781+00:00", "load1": "4.22"} +{"utc": "2026-10-24T20:22:55.781+00:00", "load1": "4.20"} +{"utc": "2026-10-24T20:22:56.782+00:00", "load1": "4.20"} +{"utc": "2026-10-24T20:22:57.782+00:00", "load1": "4.20"} +{"utc": "2026-10-24T20:22:58.782+00:00", "load1": "4.20"} +{"utc": "2026-10-24T20:22:59.783+00:00", "load1": "4.20"} +{"utc": "2026-10-24T20:23:00.783+00:00", "load1": "4.02"} +{"utc": "2026-10-24T20:23:01.783+00:00", "load1": "4.02"} +{"utc": "2026-10-24T20:23:02.783+00:00", "load1": "4.02"} +{"utc": "2026-10-24T20:23:03.784+00:00", "load1": "4.02"} +{"utc": "2026-10-24T20:23:04.784+00:00", "load1": "4.02"} +{"utc": "2026-10-24T20:23:05.784+00:00", "load1": "3.86"} +{"utc": "2026-10-24T20:23:06.785+00:00", "load1": "3.86"} +{"utc": "2026-10-24T20:23:07.785+00:00", "load1": "3.86"} +{"utc": "2026-10-24T20:23:08.785+00:00", "load1": "3.86"} +{"utc": "2026-10-24T20:23:09.786+00:00", "load1": "3.86"} +{"utc": "2026-10-24T20:23:10.786+00:00", "load1": "4.19"} +{"utc": "2026-10-24T20:23:11.786+00:00", "load1": "4.19"} +{"utc": "2026-10-24T20:23:12.787+00:00", "load1": "4.19"} diff --git a/agents/magica/work/queue-329/gate/cli-stack-release-external.test.txt b/agents/magica/work/queue-329/gate/cli-stack-release-external.test.txt new file mode 100644 index 000000000..6efb9a158 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-stack-release-external.test.txt @@ -0,0 +1,37 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-release-external.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oszI9J +begin: {"utc": "2026-10-24T20:21:46.762+00:00", "load1": "5.32"} +launch nice: 19 +✔ row 232: confirm, revert, gate, --to and --expect-from need --units external; the user-only flags are usage under it, and so are row 273's --send and --no-sso (923.447896ms) +✔ row 232: pm-on and activate --pm-after-harness refuse external-pm (927.637248ms) +✔ row 232: units-running (N4) refuses while a unit is active and leaves the store, the log and TAKEN; failed counts as down (1971.326441ms) +✔ row 232: activate stages: the pointer stays, AWAITING-UNITS names TO, a backup of the stopped store, no directory in the set, no --user, no journal (1657.024194ms) +✔ row 232: A3 order: capture-failed and marker-failed refuse with exit 3 and leave no marker or FAILED (1748.979957ms) +✔ row 232: confirm and revert refuse open-activation with no marker, two, the wrong copy, or one the log holds closed; refusals name no activation (3503.068708ms) +✔ row 232: confirm polls: bus status good after 3 s fails with --timeout 1, writes FAILED and leaves the rest; FAILED then refuses activation-failed (3288.459241ms) +✔ row 232: confirm polls to a pass with --timeout 10: the pointer, an ok line that reads as the started run, no marker (5633.83561ms) +✔ row 232: stale-start: @1792540799 fails a start floor of 1792540800 with stale-start (3021.221271ms) +✔ row 232: stale-start is a gate code: an enter time that turns to @1792540800 after 2 s passes with --timeout 10 (4428.81232ms) +✔ row 232: gate (N2, A2f): --since 1792540800 passes @1792540800 and fails @1792540799; it writes nothing (2823.108206ms) +✔ row 232: the external PM check reads launches list: one live run of launch.by since the start passes (11016.345162ms) +✔ row 232: revert puts the wrapper back and leaves the store when nothing migrated (1487.007897ms) +✔ row 232: confirm --rollback refuses rollback-mismatch, and logs rollback-failed with exit 2 when OLD fails its gate (2399.220243ms) +✔ row 232: confirm --rollback after a --restore swap logs rollbackCode not-attempted; rollback --restore finds an external backup (3378.627331ms) +✔ row 232: sequence 1: activate, confirm times out, revert, confirm --rollback --cause A5: gate-failed rollback ok (5101.654249ms) +✔ row 232: sequence 2: activate --migrate, the wrapper install fails, revert restores TAKEN, confirm --rollback --cause A3 (3117.624712ms) +✔ row 232: sequence 3: activate, root's A4 fails, revert, confirm --rollback --cause A4: failed code units-start (2878.299669ms) +✔ row 232: sequence 4: a capture failure leaves nothing open, then A2f's gate OLD writes nothing (2050.384101ms) +✔ row 232: sequence 5: a confirm of the wrong copy is refused, and revert and confirm --rollback still close the activation (3548.338417ms) +✔ row 232: sequence 6: a revert that fails leaves the activation open, and the next --plan refuses interrupted-run (1763.012948ms) +✔ row 232: sequence 7: adopt, two confirmed activates, rollback --to the previous copy, confirmed, logs op rollback (7705.146361ms) +✔ row 232: sequence 8: a migration that writes and fails: revert restores the backup byte for byte, confirm --rollback --cause A3 (2996.303023ms) +✔ row 232: user mode: every systemctl call carries --user, and activate, rollback and check make the base's calls (6678.352931ms) +✔ row 232: user mode: a default activate --plan prints the base's bytes (2340.587317ms) +ℹ tests 25 +ℹ suites 0 +ℹ pass 25 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 86946.779999 diff --git a/agents/magica/work/queue-329/gate/cli-stack-release.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-stack-release.test.load.jsonl new file mode 100644 index 000000000..f5b5de78e --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-stack-release.test.load.jsonl @@ -0,0 +1,639 @@ +{"utc": "2026-10-24T20:23:13.747+00:00", "load1": "4.19"} +{"utc": "2026-10-24T20:23:14.748+00:00", "load1": "4.19"} +{"utc": "2026-10-24T20:23:15.748+00:00", "load1": "4.26"} +{"utc": "2026-10-24T20:23:16.748+00:00", "load1": "4.26"} +{"utc": "2026-10-24T20:23:17.748+00:00", "load1": "4.26"} +{"utc": "2026-10-24T20:23:18.749+00:00", "load1": "4.26"} +{"utc": "2026-10-24T20:23:19.749+00:00", "load1": "4.26"} +{"utc": "2026-10-24T20:23:20.749+00:00", "load1": "4.08"} +{"utc": "2026-10-24T20:23:21.749+00:00", "load1": "4.08"} +{"utc": "2026-10-24T20:23:22.750+00:00", "load1": "4.08"} +{"utc": "2026-10-24T20:23:23.750+00:00", "load1": "4.08"} +{"utc": "2026-10-24T20:23:24.750+00:00", "load1": "4.08"} +{"utc": "2026-10-24T20:23:25.750+00:00", "load1": "3.99"} +{"utc": "2026-10-24T20:23:26.751+00:00", "load1": "3.99"} +{"utc": "2026-10-24T20:23:27.751+00:00", "load1": "3.99"} +{"utc": "2026-10-24T20:23:28.751+00:00", "load1": "3.99"} +{"utc": "2026-10-24T20:23:29.752+00:00", "load1": "3.99"} +{"utc": "2026-10-24T20:23:30.752+00:00", "load1": "3.91"} +{"utc": "2026-10-24T20:23:31.752+00:00", "load1": "3.91"} +{"utc": "2026-10-24T20:23:32.752+00:00", "load1": "3.91"} +{"utc": "2026-10-24T20:23:33.753+00:00", "load1": "3.91"} +{"utc": "2026-10-24T20:23:34.753+00:00", "load1": "3.91"} +{"utc": "2026-10-24T20:23:35.753+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:23:36.753+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:23:37.754+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:23:38.754+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:23:39.754+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:23:40.755+00:00", "load1": "3.69"} +{"utc": "2026-10-24T20:23:41.755+00:00", "load1": "3.69"} +{"utc": "2026-10-24T20:23:42.755+00:00", "load1": "3.69"} +{"utc": "2026-10-24T20:23:43.755+00:00", "load1": "3.69"} +{"utc": "2026-10-24T20:23:44.756+00:00", "load1": "3.69"} +{"utc": "2026-10-24T20:23:45.756+00:00", "load1": "3.47"} +{"utc": "2026-10-24T20:23:46.756+00:00", "load1": "3.47"} +{"utc": "2026-10-24T20:23:47.757+00:00", "load1": "3.47"} +{"utc": "2026-10-24T20:23:48.757+00:00", "load1": "3.47"} +{"utc": "2026-10-24T20:23:49.757+00:00", "load1": "3.47"} +{"utc": "2026-10-24T20:23:50.757+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:23:51.758+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:23:52.758+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:23:53.758+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:23:54.759+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:23:55.759+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:23:56.759+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:23:57.759+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:23:58.760+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:23:59.760+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:24:00.760+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:24:01.761+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:24:02.761+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:24:03.761+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:24:04.762+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:24:05.762+00:00", "load1": "3.08"} +{"utc": "2026-10-24T20:24:06.762+00:00", "load1": "3.08"} +{"utc": "2026-10-24T20:24:07.762+00:00", "load1": "3.08"} +{"utc": "2026-10-24T20:24:08.763+00:00", "load1": "3.08"} +{"utc": "2026-10-24T20:24:09.763+00:00", "load1": "3.08"} +{"utc": "2026-10-24T20:24:10.763+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:24:11.764+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:24:12.764+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:24:13.764+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:24:14.764+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:24:15.765+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:24:16.765+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:24:17.765+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:24:18.765+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:24:19.766+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:24:20.766+00:00", "load1": "3.01"} +{"utc": "2026-10-24T20:24:21.766+00:00", "load1": "3.01"} +{"utc": "2026-10-24T20:24:22.766+00:00", "load1": "3.01"} +{"utc": "2026-10-24T20:24:23.767+00:00", "load1": "3.01"} +{"utc": "2026-10-24T20:24:24.767+00:00", "load1": "3.01"} +{"utc": "2026-10-24T20:24:25.767+00:00", "load1": "3.09"} +{"utc": "2026-10-24T20:24:26.768+00:00", "load1": "3.09"} +{"utc": "2026-10-24T20:24:27.768+00:00", "load1": "3.09"} +{"utc": "2026-10-24T20:24:28.768+00:00", "load1": "3.09"} +{"utc": "2026-10-24T20:24:29.768+00:00", "load1": "3.09"} +{"utc": "2026-10-24T20:24:30.769+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:24:31.769+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:24:32.769+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:24:33.770+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:24:34.770+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:24:35.770+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:24:36.770+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:24:37.771+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:24:38.771+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:24:39.771+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:24:40.771+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:24:41.772+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:24:42.772+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:24:43.772+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:24:44.773+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:24:45.773+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:24:46.773+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:24:47.773+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:24:48.774+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:24:49.774+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:24:50.774+00:00", "load1": "2.90"} +{"utc": "2026-10-24T20:24:51.775+00:00", "load1": "2.90"} +{"utc": "2026-10-24T20:24:52.775+00:00", "load1": "2.90"} +{"utc": "2026-10-24T20:24:53.775+00:00", "load1": "2.90"} +{"utc": "2026-10-24T20:24:54.775+00:00", "load1": "2.90"} +{"utc": "2026-10-24T20:24:55.776+00:00", "load1": "2.91"} +{"utc": "2026-10-24T20:24:56.776+00:00", "load1": "2.91"} +{"utc": "2026-10-24T20:24:57.776+00:00", "load1": "2.91"} +{"utc": "2026-10-24T20:24:58.776+00:00", "load1": "2.91"} +{"utc": "2026-10-24T20:24:59.777+00:00", "load1": "2.91"} +{"utc": "2026-10-24T20:25:00.777+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:25:01.777+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:25:02.778+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:25:03.778+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:25:04.778+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:25:05.778+00:00", "load1": "3.46"} +{"utc": "2026-10-24T20:25:06.779+00:00", "load1": "3.46"} +{"utc": "2026-10-24T20:25:07.779+00:00", "load1": "3.46"} +{"utc": "2026-10-24T20:25:08.779+00:00", "load1": "3.46"} +{"utc": "2026-10-24T20:25:09.780+00:00", "load1": "3.46"} +{"utc": "2026-10-24T20:25:10.783+00:00", "load1": "3.74"} +{"utc": "2026-10-24T20:25:11.784+00:00", "load1": "3.74"} +{"utc": "2026-10-24T20:25:12.784+00:00", "load1": "3.74"} +{"utc": "2026-10-24T20:25:13.784+00:00", "load1": "3.74"} +{"utc": "2026-10-24T20:25:14.784+00:00", "load1": "3.74"} +{"utc": "2026-10-24T20:25:15.785+00:00", "load1": "3.76"} +{"utc": "2026-10-24T20:25:16.785+00:00", "load1": "3.76"} +{"utc": "2026-10-24T20:25:17.785+00:00", "load1": "3.76"} +{"utc": "2026-10-24T20:25:18.786+00:00", "load1": "3.76"} +{"utc": "2026-10-24T20:25:19.786+00:00", "load1": "3.76"} +{"utc": "2026-10-24T20:25:20.786+00:00", "load1": "3.46"} +{"utc": "2026-10-24T20:25:21.787+00:00", "load1": "3.46"} +{"utc": "2026-10-24T20:25:22.787+00:00", "load1": "3.46"} +{"utc": "2026-10-24T20:25:23.787+00:00", "load1": "3.46"} +{"utc": "2026-10-24T20:25:24.788+00:00", "load1": "3.46"} +{"utc": "2026-10-24T20:25:25.788+00:00", "load1": "3.58"} +{"utc": "2026-10-24T20:25:26.788+00:00", "load1": "3.58"} +{"utc": "2026-10-24T20:25:27.789+00:00", "load1": "3.58"} +{"utc": "2026-10-24T20:25:28.789+00:00", "load1": "3.58"} +{"utc": "2026-10-24T20:25:29.789+00:00", "load1": "3.58"} +{"utc": "2026-10-24T20:25:30.790+00:00", "load1": "3.54"} +{"utc": "2026-10-24T20:25:31.790+00:00", "load1": "3.54"} +{"utc": "2026-10-24T20:25:32.790+00:00", "load1": "3.54"} +{"utc": "2026-10-24T20:25:33.791+00:00", "load1": "3.54"} +{"utc": "2026-10-24T20:25:34.791+00:00", "load1": "3.54"} +{"utc": "2026-10-24T20:25:35.791+00:00", "load1": "3.57"} +{"utc": "2026-10-24T20:25:36.792+00:00", "load1": "3.57"} +{"utc": "2026-10-24T20:25:37.792+00:00", "load1": "3.57"} +{"utc": "2026-10-24T20:25:38.792+00:00", "load1": "3.57"} +{"utc": "2026-10-24T20:25:39.792+00:00", "load1": "3.57"} +{"utc": "2026-10-24T20:25:40.793+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:25:41.796+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:25:42.797+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:25:43.797+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:25:44.798+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:25:45.798+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:25:46.798+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:25:47.798+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:25:48.799+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:25:49.799+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:25:50.799+00:00", "load1": "4.86"} +{"utc": "2026-10-24T20:25:51.800+00:00", "load1": "4.86"} +{"utc": "2026-10-24T20:25:52.800+00:00", "load1": "4.86"} +{"utc": "2026-10-24T20:25:53.800+00:00", "load1": "4.86"} +{"utc": "2026-10-24T20:25:54.801+00:00", "load1": "4.86"} +{"utc": "2026-10-24T20:25:55.801+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:25:56.801+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:25:57.801+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:25:58.802+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:25:59.802+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:26:00.802+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:26:01.803+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:26:02.803+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:26:03.803+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:26:04.804+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:26:05.804+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:26:06.804+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:26:07.805+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:26:08.805+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:26:09.805+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:26:10.806+00:00", "load1": "3.92"} +{"utc": "2026-10-24T20:26:11.806+00:00", "load1": "3.92"} +{"utc": "2026-10-24T20:26:12.806+00:00", "load1": "3.92"} +{"utc": "2026-10-24T20:26:13.807+00:00", "load1": "3.92"} +{"utc": "2026-10-24T20:26:14.807+00:00", "load1": "3.92"} +{"utc": "2026-10-24T20:26:15.807+00:00", "load1": "3.93"} +{"utc": "2026-10-24T20:26:16.808+00:00", "load1": "3.93"} +{"utc": "2026-10-24T20:26:17.808+00:00", "load1": "3.93"} +{"utc": "2026-10-24T20:26:18.808+00:00", "load1": "3.93"} +{"utc": "2026-10-24T20:26:19.809+00:00", "load1": "3.93"} +{"utc": "2026-10-24T20:26:20.809+00:00", "load1": "3.86"} +{"utc": "2026-10-24T20:26:21.809+00:00", "load1": "3.86"} +{"utc": "2026-10-24T20:26:22.810+00:00", "load1": "3.86"} +{"utc": "2026-10-24T20:26:23.810+00:00", "load1": "3.86"} +{"utc": "2026-10-24T20:26:24.810+00:00", "load1": "3.86"} +{"utc": "2026-10-24T20:26:25.810+00:00", "load1": "3.95"} +{"utc": "2026-10-24T20:26:26.811+00:00", "load1": "3.95"} +{"utc": "2026-10-24T20:26:27.811+00:00", "load1": "3.95"} +{"utc": "2026-10-24T20:26:28.811+00:00", "load1": "3.95"} +{"utc": "2026-10-24T20:26:29.812+00:00", "load1": "3.95"} +{"utc": "2026-10-24T20:26:30.812+00:00", "load1": "4.03"} +{"utc": "2026-10-24T20:26:31.812+00:00", "load1": "4.03"} +{"utc": "2026-10-24T20:26:32.813+00:00", "load1": "4.03"} +{"utc": "2026-10-24T20:26:33.813+00:00", "load1": "4.03"} +{"utc": "2026-10-24T20:26:34.813+00:00", "load1": "4.03"} +{"utc": "2026-10-24T20:26:35.813+00:00", "load1": "3.79"} +{"utc": "2026-10-24T20:26:36.814+00:00", "load1": "3.79"} +{"utc": "2026-10-24T20:26:37.814+00:00", "load1": "3.79"} +{"utc": "2026-10-24T20:26:38.814+00:00", "load1": "3.79"} +{"utc": "2026-10-24T20:26:39.815+00:00", "load1": "3.79"} +{"utc": "2026-10-24T20:26:40.815+00:00", "load1": "3.56"} +{"utc": "2026-10-24T20:26:41.815+00:00", "load1": "3.56"} +{"utc": "2026-10-24T20:26:42.816+00:00", "load1": "3.56"} +{"utc": "2026-10-24T20:26:43.816+00:00", "load1": "3.56"} +{"utc": "2026-10-24T20:26:44.816+00:00", "load1": "3.56"} +{"utc": "2026-10-24T20:26:45.816+00:00", "load1": "3.44"} +{"utc": "2026-10-24T20:26:46.817+00:00", "load1": "3.44"} +{"utc": "2026-10-24T20:26:47.817+00:00", "load1": "3.44"} +{"utc": "2026-10-24T20:26:48.817+00:00", "load1": "3.44"} +{"utc": "2026-10-24T20:26:49.818+00:00", "load1": "3.44"} +{"utc": "2026-10-24T20:26:50.818+00:00", "load1": "3.48"} +{"utc": "2026-10-24T20:26:51.818+00:00", "load1": "3.48"} +{"utc": "2026-10-24T20:26:52.818+00:00", "load1": "3.48"} +{"utc": "2026-10-24T20:26:53.819+00:00", "load1": "3.48"} +{"utc": "2026-10-24T20:26:54.819+00:00", "load1": "3.48"} +{"utc": "2026-10-24T20:26:55.819+00:00", "load1": "3.29"} +{"utc": "2026-10-24T20:26:56.820+00:00", "load1": "3.29"} +{"utc": "2026-10-24T20:26:57.820+00:00", "load1": "3.29"} +{"utc": "2026-10-24T20:26:58.820+00:00", "load1": "3.29"} +{"utc": "2026-10-24T20:26:59.821+00:00", "load1": "3.29"} +{"utc": "2026-10-24T20:27:00.821+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:27:01.821+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:27:02.821+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:27:03.822+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:27:04.822+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:27:05.822+00:00", "load1": "3.55"} +{"utc": "2026-10-24T20:27:06.823+00:00", "load1": "3.55"} +{"utc": "2026-10-24T20:27:07.823+00:00", "load1": "3.55"} +{"utc": "2026-10-24T20:27:08.824+00:00", "load1": "3.55"} +{"utc": "2026-10-24T20:27:09.824+00:00", "load1": "3.55"} +{"utc": "2026-10-24T20:27:10.824+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:27:11.825+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:27:12.825+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:27:13.825+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:27:14.826+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:27:15.826+00:00", "load1": "3.87"} +{"utc": "2026-10-24T20:27:16.826+00:00", "load1": "3.87"} +{"utc": "2026-10-24T20:27:17.827+00:00", "load1": "3.87"} +{"utc": "2026-10-24T20:27:18.827+00:00", "load1": "3.87"} +{"utc": "2026-10-24T20:27:19.827+00:00", "load1": "3.87"} +{"utc": "2026-10-24T20:27:20.827+00:00", "load1": "3.96"} +{"utc": "2026-10-24T20:27:21.828+00:00", "load1": "3.96"} +{"utc": "2026-10-24T20:27:22.828+00:00", "load1": "3.96"} +{"utc": "2026-10-24T20:27:23.828+00:00", "load1": "3.96"} +{"utc": "2026-10-24T20:27:24.829+00:00", "load1": "3.96"} +{"utc": "2026-10-24T20:27:25.829+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:27:26.829+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:27:27.830+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:27:28.830+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:27:29.830+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:27:30.831+00:00", "load1": "4.04"} +{"utc": "2026-10-24T20:27:31.831+00:00", "load1": "4.04"} +{"utc": "2026-10-24T20:27:32.831+00:00", "load1": "4.04"} +{"utc": "2026-10-24T20:27:33.831+00:00", "load1": "4.04"} +{"utc": "2026-10-24T20:27:34.832+00:00", "load1": "4.04"} +{"utc": "2026-10-24T20:27:35.832+00:00", "load1": "4.92"} +{"utc": "2026-10-24T20:27:36.833+00:00", "load1": "4.92"} +{"utc": "2026-10-24T20:27:37.833+00:00", "load1": "4.92"} +{"utc": "2026-10-24T20:27:38.833+00:00", "load1": "4.92"} +{"utc": "2026-10-24T20:27:39.833+00:00", "load1": "4.92"} +{"utc": "2026-10-24T20:27:40.834+00:00", "load1": "5.01"} +{"utc": "2026-10-24T20:27:41.834+00:00", "load1": "5.01"} +{"utc": "2026-10-24T20:27:42.834+00:00", "load1": "5.01"} +{"utc": "2026-10-24T20:27:43.835+00:00", "load1": "5.01"} +{"utc": "2026-10-24T20:27:44.835+00:00", "load1": "5.01"} +{"utc": "2026-10-24T20:27:45.835+00:00", "load1": "4.77"} +{"utc": "2026-10-24T20:27:46.835+00:00", "load1": "4.77"} +{"utc": "2026-10-24T20:27:47.836+00:00", "load1": "4.77"} +{"utc": "2026-10-24T20:27:48.836+00:00", "load1": "4.77"} +{"utc": "2026-10-24T20:27:49.836+00:00", "load1": "4.77"} +{"utc": "2026-10-24T20:27:50.836+00:00", "load1": "4.86"} +{"utc": "2026-10-24T20:27:51.837+00:00", "load1": "4.86"} +{"utc": "2026-10-24T20:27:52.837+00:00", "load1": "4.86"} +{"utc": "2026-10-24T20:27:53.837+00:00", "load1": "4.86"} +{"utc": "2026-10-24T20:27:54.838+00:00", "load1": "4.86"} +{"utc": "2026-10-24T20:27:55.838+00:00", "load1": "4.80"} +{"utc": "2026-10-24T20:27:56.838+00:00", "load1": "4.80"} +{"utc": "2026-10-24T20:27:57.838+00:00", "load1": "4.80"} +{"utc": "2026-10-24T20:27:58.839+00:00", "load1": "4.80"} +{"utc": "2026-10-24T20:27:59.839+00:00", "load1": "4.80"} +{"utc": "2026-10-24T20:28:00.839+00:00", "load1": "4.73"} +{"utc": "2026-10-24T20:28:01.839+00:00", "load1": "4.73"} +{"utc": "2026-10-24T20:28:02.840+00:00", "load1": "4.73"} +{"utc": "2026-10-24T20:28:03.840+00:00", "load1": "4.73"} +{"utc": "2026-10-24T20:28:04.840+00:00", "load1": "4.73"} +{"utc": "2026-10-24T20:28:05.841+00:00", "load1": "4.51"} +{"utc": "2026-10-24T20:28:06.841+00:00", "load1": "4.51"} +{"utc": "2026-10-24T20:28:07.841+00:00", "load1": "4.51"} +{"utc": "2026-10-24T20:28:08.841+00:00", "load1": "4.51"} +{"utc": "2026-10-24T20:28:09.842+00:00", "load1": "4.51"} +{"utc": "2026-10-24T20:28:10.842+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:28:11.842+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:28:12.843+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:28:13.843+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:28:14.843+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:28:15.843+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:28:16.844+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:28:17.844+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:28:18.844+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:28:19.844+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:28:20.845+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:28:21.845+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:28:22.845+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:28:23.846+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:28:24.846+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:28:25.846+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:28:26.846+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:28:27.847+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:28:28.847+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:28:29.847+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:28:30.848+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:28:31.848+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:28:32.848+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:28:33.848+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:28:34.849+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:28:35.849+00:00", "load1": "3.41"} +{"utc": "2026-10-24T20:28:36.849+00:00", "load1": "3.41"} +{"utc": "2026-10-24T20:28:37.850+00:00", "load1": "3.41"} +{"utc": "2026-10-24T20:28:38.850+00:00", "load1": "3.41"} +{"utc": "2026-10-24T20:28:39.850+00:00", "load1": "3.41"} +{"utc": "2026-10-24T20:28:40.850+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:28:41.851+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:28:42.851+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:28:43.851+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:28:44.852+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:28:45.852+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:28:46.852+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:28:47.852+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:28:48.853+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:28:49.853+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:28:50.853+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:28:51.853+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:28:52.854+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:28:53.854+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:28:54.854+00:00", "load1": "3.16"} +{"utc": "2026-10-24T20:28:55.855+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:28:56.855+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:28:57.855+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:28:58.855+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:28:59.856+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:29:00.856+00:00", "load1": "3.44"} +{"utc": "2026-10-24T20:29:01.856+00:00", "load1": "3.44"} +{"utc": "2026-10-24T20:29:02.857+00:00", "load1": "3.44"} +{"utc": "2026-10-24T20:29:03.857+00:00", "load1": "3.44"} +{"utc": "2026-10-24T20:29:04.857+00:00", "load1": "3.44"} +{"utc": "2026-10-24T20:29:05.857+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:29:06.858+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:29:07.858+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:29:08.858+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:29:09.858+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:29:10.859+00:00", "load1": "3.94"} +{"utc": "2026-10-24T20:29:11.859+00:00", "load1": "3.94"} +{"utc": "2026-10-24T20:29:12.859+00:00", "load1": "3.94"} +{"utc": "2026-10-24T20:29:13.860+00:00", "load1": "3.94"} +{"utc": "2026-10-24T20:29:14.860+00:00", "load1": "3.94"} +{"utc": "2026-10-24T20:29:15.860+00:00", "load1": "4.03"} +{"utc": "2026-10-24T20:29:16.860+00:00", "load1": "4.03"} +{"utc": "2026-10-24T20:29:17.861+00:00", "load1": "4.03"} +{"utc": "2026-10-24T20:29:18.861+00:00", "load1": "4.03"} +{"utc": "2026-10-24T20:29:19.861+00:00", "load1": "4.03"} +{"utc": "2026-10-24T20:29:20.861+00:00", "load1": "4.11"} +{"utc": "2026-10-24T20:29:21.862+00:00", "load1": "4.11"} +{"utc": "2026-10-24T20:29:22.862+00:00", "load1": "4.11"} +{"utc": "2026-10-24T20:29:23.862+00:00", "load1": "4.11"} +{"utc": "2026-10-24T20:29:24.863+00:00", "load1": "4.11"} +{"utc": "2026-10-24T20:29:25.863+00:00", "load1": "4.10"} +{"utc": "2026-10-24T20:29:26.863+00:00", "load1": "4.10"} +{"utc": "2026-10-24T20:29:27.863+00:00", "load1": "4.10"} +{"utc": "2026-10-24T20:29:28.864+00:00", "load1": "4.10"} +{"utc": "2026-10-24T20:29:29.864+00:00", "load1": "4.10"} +{"utc": "2026-10-24T20:29:30.864+00:00", "load1": "3.93"} +{"utc": "2026-10-24T20:29:31.864+00:00", "load1": "3.93"} +{"utc": "2026-10-24T20:29:32.865+00:00", "load1": "3.93"} +{"utc": "2026-10-24T20:29:33.865+00:00", "load1": "3.93"} +{"utc": "2026-10-24T20:29:34.865+00:00", "load1": "3.93"} +{"utc": "2026-10-24T20:29:35.866+00:00", "load1": "4.18"} +{"utc": "2026-10-24T20:29:36.866+00:00", "load1": "4.18"} +{"utc": "2026-10-24T20:29:37.866+00:00", "load1": "4.18"} +{"utc": "2026-10-24T20:29:38.866+00:00", "load1": "4.18"} +{"utc": "2026-10-24T20:29:39.867+00:00", "load1": "4.18"} +{"utc": "2026-10-24T20:29:40.867+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:29:41.867+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:29:42.867+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:29:43.868+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:29:44.868+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:29:45.868+00:00", "load1": "3.76"} +{"utc": "2026-10-24T20:29:46.869+00:00", "load1": "3.76"} +{"utc": "2026-10-24T20:29:47.869+00:00", "load1": "3.76"} +{"utc": "2026-10-24T20:29:48.869+00:00", "load1": "3.76"} +{"utc": "2026-10-24T20:29:49.869+00:00", "load1": "3.76"} +{"utc": "2026-10-24T20:29:50.870+00:00", "load1": "3.54"} +{"utc": "2026-10-24T20:29:51.870+00:00", "load1": "3.54"} +{"utc": "2026-10-24T20:29:52.870+00:00", "load1": "3.54"} +{"utc": "2026-10-24T20:29:53.870+00:00", "load1": "3.54"} +{"utc": "2026-10-24T20:29:54.871+00:00", "load1": "3.54"} +{"utc": "2026-10-24T20:29:55.871+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:29:56.871+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:29:57.871+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:29:58.872+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:29:59.872+00:00", "load1": "3.42"} +{"utc": "2026-10-24T20:30:00.872+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:30:01.873+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:30:02.873+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:30:03.873+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:30:04.873+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:30:05.874+00:00", "load1": "3.89"} +{"utc": "2026-10-24T20:30:06.874+00:00", "load1": "3.89"} +{"utc": "2026-10-24T20:30:07.874+00:00", "load1": "3.89"} +{"utc": "2026-10-24T20:30:08.875+00:00", "load1": "3.89"} +{"utc": "2026-10-24T20:30:09.875+00:00", "load1": "3.89"} +{"utc": "2026-10-24T20:30:10.875+00:00", "load1": "3.74"} +{"utc": "2026-10-24T20:30:11.875+00:00", "load1": "3.74"} +{"utc": "2026-10-24T20:30:12.876+00:00", "load1": "3.74"} +{"utc": "2026-10-24T20:30:13.876+00:00", "load1": "3.74"} +{"utc": "2026-10-24T20:30:14.876+00:00", "load1": "3.74"} +{"utc": "2026-10-24T20:30:15.877+00:00", "load1": "3.52"} +{"utc": "2026-10-24T20:30:16.877+00:00", "load1": "3.52"} +{"utc": "2026-10-24T20:30:17.877+00:00", "load1": "3.52"} +{"utc": "2026-10-24T20:30:18.877+00:00", "load1": "3.52"} +{"utc": "2026-10-24T20:30:19.878+00:00", "load1": "3.52"} +{"utc": "2026-10-24T20:30:20.878+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:30:21.878+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:30:22.879+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:30:23.879+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:30:24.879+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:30:25.879+00:00", "load1": "3.21"} +{"utc": "2026-10-24T20:30:26.880+00:00", "load1": "3.21"} +{"utc": "2026-10-24T20:30:27.880+00:00", "load1": "3.21"} +{"utc": "2026-10-24T20:30:28.880+00:00", "load1": "3.21"} +{"utc": "2026-10-24T20:30:29.881+00:00", "load1": "3.21"} +{"utc": "2026-10-24T20:30:30.881+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:30:31.881+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:30:32.881+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:30:33.882+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:30:34.882+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:30:35.882+00:00", "load1": "3.34"} +{"utc": "2026-10-24T20:30:36.882+00:00", "load1": "3.34"} +{"utc": "2026-10-24T20:30:37.883+00:00", "load1": "3.34"} +{"utc": "2026-10-24T20:30:38.883+00:00", "load1": "3.34"} +{"utc": "2026-10-24T20:30:39.883+00:00", "load1": "3.34"} +{"utc": "2026-10-24T20:30:40.884+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:30:41.884+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:30:42.884+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:30:43.884+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:30:44.885+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:30:45.885+00:00", "load1": "3.61"} +{"utc": "2026-10-24T20:30:46.885+00:00", "load1": "3.61"} +{"utc": "2026-10-24T20:30:47.886+00:00", "load1": "3.61"} +{"utc": "2026-10-24T20:30:48.886+00:00", "load1": "3.61"} +{"utc": "2026-10-24T20:30:49.886+00:00", "load1": "3.61"} +{"utc": "2026-10-24T20:30:50.886+00:00", "load1": "3.72"} +{"utc": "2026-10-24T20:30:51.887+00:00", "load1": "3.72"} +{"utc": "2026-10-24T20:30:52.887+00:00", "load1": "3.72"} +{"utc": "2026-10-24T20:30:53.887+00:00", "load1": "3.72"} +{"utc": "2026-10-24T20:30:54.888+00:00", "load1": "3.72"} +{"utc": "2026-10-24T20:30:55.888+00:00", "load1": "3.58"} +{"utc": "2026-10-24T20:30:56.888+00:00", "load1": "3.58"} +{"utc": "2026-10-24T20:30:57.888+00:00", "load1": "3.58"} +{"utc": "2026-10-24T20:30:58.889+00:00", "load1": "3.58"} +{"utc": "2026-10-24T20:30:59.889+00:00", "load1": "3.58"} +{"utc": "2026-10-24T20:31:00.889+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:31:01.890+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:31:02.890+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:31:03.890+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:31:04.891+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:31:05.891+00:00", "load1": "3.41"} +{"utc": "2026-10-24T20:31:06.891+00:00", "load1": "3.41"} +{"utc": "2026-10-24T20:31:07.891+00:00", "load1": "3.41"} +{"utc": "2026-10-24T20:31:08.892+00:00", "load1": "3.41"} +{"utc": "2026-10-24T20:31:09.892+00:00", "load1": "3.41"} +{"utc": "2026-10-24T20:31:10.892+00:00", "load1": "3.53"} +{"utc": "2026-10-24T20:31:11.892+00:00", "load1": "3.53"} +{"utc": "2026-10-24T20:31:12.893+00:00", "load1": "3.53"} +{"utc": "2026-10-24T20:31:13.893+00:00", "load1": "3.53"} +{"utc": "2026-10-24T20:31:14.893+00:00", "load1": "3.53"} +{"utc": "2026-10-24T20:31:15.894+00:00", "load1": "3.73"} +{"utc": "2026-10-24T20:31:16.894+00:00", "load1": "3.73"} +{"utc": "2026-10-24T20:31:17.894+00:00", "load1": "3.73"} +{"utc": "2026-10-24T20:31:18.894+00:00", "load1": "3.73"} +{"utc": "2026-10-24T20:31:19.895+00:00", "load1": "3.73"} +{"utc": "2026-10-24T20:31:20.895+00:00", "load1": "3.67"} +{"utc": "2026-10-24T20:31:21.895+00:00", "load1": "3.67"} +{"utc": "2026-10-24T20:31:22.896+00:00", "load1": "3.67"} +{"utc": "2026-10-24T20:31:23.896+00:00", "load1": "3.67"} +{"utc": "2026-10-24T20:31:24.896+00:00", "load1": "3.67"} +{"utc": "2026-10-24T20:31:25.896+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:31:26.897+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:31:27.897+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:31:28.897+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:31:29.897+00:00", "load1": "3.62"} +{"utc": "2026-10-24T20:31:30.898+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:31:31.898+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:31:32.898+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:31:33.898+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:31:34.899+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:31:35.899+00:00", "load1": "3.45"} +{"utc": "2026-10-24T20:31:36.899+00:00", "load1": "3.45"} +{"utc": "2026-10-24T20:31:37.900+00:00", "load1": "3.45"} +{"utc": "2026-10-24T20:31:38.900+00:00", "load1": "3.45"} +{"utc": "2026-10-24T20:31:39.900+00:00", "load1": "3.45"} +{"utc": "2026-10-24T20:31:40.901+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:31:41.901+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:31:42.901+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:31:43.901+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:31:44.902+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:31:45.902+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:31:46.902+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:31:47.903+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:31:48.903+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:31:49.903+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:31:50.903+00:00", "load1": "2.97"} +{"utc": "2026-10-24T20:31:51.904+00:00", "load1": "2.97"} +{"utc": "2026-10-24T20:31:52.904+00:00", "load1": "2.97"} +{"utc": "2026-10-24T20:31:53.904+00:00", "load1": "2.97"} +{"utc": "2026-10-24T20:31:54.905+00:00", "load1": "2.97"} +{"utc": "2026-10-24T20:31:55.905+00:00", "load1": "2.81"} +{"utc": "2026-10-24T20:31:56.905+00:00", "load1": "2.81"} +{"utc": "2026-10-24T20:31:57.905+00:00", "load1": "2.81"} +{"utc": "2026-10-24T20:31:58.906+00:00", "load1": "2.81"} +{"utc": "2026-10-24T20:31:59.906+00:00", "load1": "2.81"} +{"utc": "2026-10-24T20:32:00.906+00:00", "load1": "2.58"} +{"utc": "2026-10-24T20:32:01.907+00:00", "load1": "2.58"} +{"utc": "2026-10-24T20:32:02.907+00:00", "load1": "2.58"} +{"utc": "2026-10-24T20:32:03.907+00:00", "load1": "2.58"} +{"utc": "2026-10-24T20:32:04.908+00:00", "load1": "2.58"} +{"utc": "2026-10-24T20:32:05.908+00:00", "load1": "2.62"} +{"utc": "2026-10-24T20:32:06.908+00:00", "load1": "2.62"} +{"utc": "2026-10-24T20:32:07.908+00:00", "load1": "2.62"} +{"utc": "2026-10-24T20:32:08.909+00:00", "load1": "2.62"} +{"utc": "2026-10-24T20:32:09.909+00:00", "load1": "2.62"} +{"utc": "2026-10-24T20:32:10.909+00:00", "load1": "2.65"} +{"utc": "2026-10-24T20:32:11.910+00:00", "load1": "2.65"} +{"utc": "2026-10-24T20:32:12.910+00:00", "load1": "2.65"} +{"utc": "2026-10-24T20:32:13.910+00:00", "load1": "2.65"} +{"utc": "2026-10-24T20:32:14.910+00:00", "load1": "2.65"} +{"utc": "2026-10-24T20:32:15.911+00:00", "load1": "2.52"} +{"utc": "2026-10-24T20:32:16.911+00:00", "load1": "2.52"} +{"utc": "2026-10-24T20:32:17.911+00:00", "load1": "2.52"} +{"utc": "2026-10-24T20:32:18.911+00:00", "load1": "2.52"} +{"utc": "2026-10-24T20:32:19.912+00:00", "load1": "2.52"} +{"utc": "2026-10-24T20:32:20.912+00:00", "load1": "2.31"} +{"utc": "2026-10-24T20:32:21.912+00:00", "load1": "2.31"} +{"utc": "2026-10-24T20:32:22.913+00:00", "load1": "2.31"} +{"utc": "2026-10-24T20:32:23.913+00:00", "load1": "2.31"} +{"utc": "2026-10-24T20:32:24.913+00:00", "load1": "2.31"} +{"utc": "2026-10-24T20:32:25.913+00:00", "load1": "2.29"} +{"utc": "2026-10-24T20:32:26.914+00:00", "load1": "2.29"} +{"utc": "2026-10-24T20:32:27.914+00:00", "load1": "2.29"} +{"utc": "2026-10-24T20:32:28.914+00:00", "load1": "2.29"} +{"utc": "2026-10-24T20:32:29.914+00:00", "load1": "2.29"} +{"utc": "2026-10-24T20:32:30.915+00:00", "load1": "2.51"} +{"utc": "2026-10-24T20:32:31.915+00:00", "load1": "2.51"} +{"utc": "2026-10-24T20:32:32.915+00:00", "load1": "2.51"} +{"utc": "2026-10-24T20:32:33.916+00:00", "load1": "2.51"} +{"utc": "2026-10-24T20:32:34.916+00:00", "load1": "2.51"} +{"utc": "2026-10-24T20:32:35.916+00:00", "load1": "2.39"} +{"utc": "2026-10-24T20:32:36.916+00:00", "load1": "2.39"} +{"utc": "2026-10-24T20:32:37.917+00:00", "load1": "2.39"} +{"utc": "2026-10-24T20:32:38.917+00:00", "load1": "2.39"} +{"utc": "2026-10-24T20:32:39.917+00:00", "load1": "2.39"} +{"utc": "2026-10-24T20:32:40.918+00:00", "load1": "2.60"} +{"utc": "2026-10-24T20:32:41.918+00:00", "load1": "2.60"} +{"utc": "2026-10-24T20:32:42.918+00:00", "load1": "2.60"} +{"utc": "2026-10-24T20:32:43.918+00:00", "load1": "2.60"} +{"utc": "2026-10-24T20:32:44.919+00:00", "load1": "2.60"} +{"utc": "2026-10-24T20:32:45.919+00:00", "load1": "2.47"} +{"utc": "2026-10-24T20:32:46.919+00:00", "load1": "2.47"} +{"utc": "2026-10-24T20:32:47.919+00:00", "load1": "2.47"} +{"utc": "2026-10-24T20:32:48.920+00:00", "load1": "2.47"} +{"utc": "2026-10-24T20:32:49.920+00:00", "load1": "2.47"} +{"utc": "2026-10-24T20:32:50.920+00:00", "load1": "2.51"} +{"utc": "2026-10-24T20:32:51.921+00:00", "load1": "2.51"} +{"utc": "2026-10-24T20:32:52.921+00:00", "load1": "2.51"} +{"utc": "2026-10-24T20:32:53.921+00:00", "load1": "2.51"} +{"utc": "2026-10-24T20:32:54.921+00:00", "load1": "2.51"} +{"utc": "2026-10-24T20:32:55.922+00:00", "load1": "2.47"} +{"utc": "2026-10-24T20:32:56.922+00:00", "load1": "2.47"} +{"utc": "2026-10-24T20:32:57.922+00:00", "load1": "2.47"} +{"utc": "2026-10-24T20:32:58.922+00:00", "load1": "2.47"} +{"utc": "2026-10-24T20:32:59.923+00:00", "load1": "2.47"} +{"utc": "2026-10-24T20:33:00.923+00:00", "load1": "2.43"} +{"utc": "2026-10-24T20:33:01.923+00:00", "load1": "2.43"} +{"utc": "2026-10-24T20:33:02.923+00:00", "load1": "2.43"} +{"utc": "2026-10-24T20:33:03.924+00:00", "load1": "2.43"} +{"utc": "2026-10-24T20:33:04.924+00:00", "load1": "2.43"} +{"utc": "2026-10-24T20:33:05.924+00:00", "load1": "2.56"} +{"utc": "2026-10-24T20:33:06.925+00:00", "load1": "2.56"} +{"utc": "2026-10-24T20:33:07.925+00:00", "load1": "2.56"} +{"utc": "2026-10-24T20:33:08.925+00:00", "load1": "2.56"} +{"utc": "2026-10-24T20:33:09.925+00:00", "load1": "2.56"} +{"utc": "2026-10-24T20:33:10.926+00:00", "load1": "3.55"} +{"utc": "2026-10-24T20:33:11.926+00:00", "load1": "3.55"} +{"utc": "2026-10-24T20:33:12.926+00:00", "load1": "3.55"} +{"utc": "2026-10-24T20:33:13.927+00:00", "load1": "3.55"} +{"utc": "2026-10-24T20:33:14.927+00:00", "load1": "3.55"} +{"utc": "2026-10-24T20:33:15.927+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:33:16.927+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:33:17.928+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:33:18.928+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:33:19.928+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:33:20.928+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:33:21.929+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:33:22.929+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:33:23.929+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:33:24.930+00:00", "load1": "3.31"} +{"utc": "2026-10-24T20:33:25.930+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:33:26.930+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:33:27.930+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:33:28.931+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:33:29.931+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:33:30.931+00:00", "load1": "2.95"} +{"utc": "2026-10-24T20:33:31.932+00:00", "load1": "2.95"} +{"utc": "2026-10-24T20:33:32.932+00:00", "load1": "2.95"} +{"utc": "2026-10-24T20:33:33.932+00:00", "load1": "2.95"} +{"utc": "2026-10-24T20:33:34.932+00:00", "load1": "2.95"} +{"utc": "2026-10-24T20:33:35.933+00:00", "load1": "2.95"} +{"utc": "2026-10-24T20:33:36.933+00:00", "load1": "2.95"} +{"utc": "2026-10-24T20:33:37.933+00:00", "load1": "2.95"} +{"utc": "2026-10-24T20:33:38.933+00:00", "load1": "2.95"} +{"utc": "2026-10-24T20:33:39.934+00:00", "load1": "2.95"} +{"utc": "2026-10-24T20:33:40.934+00:00", "load1": "3.28"} +{"utc": "2026-10-24T20:33:41.934+00:00", "load1": "3.28"} +{"utc": "2026-10-24T20:33:42.935+00:00", "load1": "3.28"} +{"utc": "2026-10-24T20:33:43.935+00:00", "load1": "3.28"} +{"utc": "2026-10-24T20:33:44.935+00:00", "load1": "3.28"} +{"utc": "2026-10-24T20:33:45.935+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:33:46.936+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:33:47.936+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:33:48.936+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:33:49.937+00:00", "load1": "3.33"} +{"utc": "2026-10-24T20:33:50.937+00:00", "load1": "3.39"} +{"utc": "2026-10-24T20:33:51.937+00:00", "load1": "3.39"} diff --git a/agents/magica/work/queue-329/gate/cli-stack-release.test.txt b/agents/magica/work/queue-329/gate/cli-stack-release.test.txt new file mode 100644 index 000000000..4ee6c7d34 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-stack-release.test.txt @@ -0,0 +1,262 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-release.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/Aexva6 +begin: {"utc": "2026-10-24T20:23:13.747+00:00", "load1": "4.19"} +launch nice: 19 +✔ T1 adopt writes the pointer from the units once; a failing check refuses check-failed (1305.021213ms) +✔ T2 activate installs exactly the pointer's pm, claude and Console flags (1981.808658ms) +▶ T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing + ✔ pm (854.421677ms) + ✔ claude (890.193771ms) + ✔ console (870.320612ms) +✔ T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing (2615.738628ms) +▶ T4 each item 3 refusal changes nothing and logs one line with its code + ✔ copy-missing (778.796779ms) + ✔ copy-unreachable (740.820486ms) + ✔ copy-schema-unknown (775.054724ms) + ✔ already-active (795.713594ms) + ✔ instance-busy (another business active) (780.468505ms) + ✔ instance-busy (this business activating) (794.917459ms) + ✔ drop-in-override (802.030911ms) + ✔ no-pointer (437.520049ms) +✔ T4 each item 3 refusal changes nothing and logs one line with its code (5906.898299ms) +✔ T5 an activate with no migration stops the Console then the bus, installs, starts the bus then the Console (1958.718319ms) +✔ T6 a migration without --migrate rolls back with migration-needs-flag (1849.476196ms) +✔ T7 --migrate takes the backup before the migration runs (1985.99728ms) +✔ T8 a failed migration restores the backup and keeps the store it replaced (2039.711576ms) +✔ T9 a store outside the target's chain rolls back with store-newer (1898.88745ms) +▶ T10 each gate check failing alone rolls back and puts every file back + ✔ units-inactive (5390.43685ms) + ✔ bus-status (4562.331686ms) + ✔ healthz (5957.519781ms) + ✔ copy-check (5107.152189ms) + ✔ pm-launch-unconfirmed (5354.877067ms) +✔ T10 each gate check failing alone rolls back and puts every file back (26373.297821ms) +▶ T10b the PM check needs exactly one launched line for a live run of this start + ✔ no launched line (5378.284032ms) + ✔ two lines (5237.949352ms) + ✔ a changed word (5269.514326ms) + ✔ run not in launches list (5423.019434ms) + ✔ run started before the start (5494.099173ms) + ✔ a human launch with no journal line (5255.43664ms) + ✔ run for another business (5416.838013ms) + ✔ run not live (5405.106472ms) + ✔ one well-formed line and a live run pass (2045.374444ms) +✔ T10b the PM check needs exactly one launched line for a live run of this start (44927.279527ms) +✔ T11 a rollback whose gate fails too: rollback-failed, exit 2, both units stopped, no retry (7174.932255ms) +✔ T12 rollback takes the previous copy from the log (3344.941536ms) +✔ T13 a rollback across a migration needs --restore, then restores and goes live (4171.524476ms) +✔ T14 events written after the backup need --events N with the right N (4997.910691ms) +✔ T14b a rollback --restore whose gate fails stops both units and skips item 6 (7462.334058ms) +✔ T14c a rollback without --restore whose gate fails runs item 6 (7754.043518ms) +✔ T15 --plan names the migration and the restore and changes nothing (2961.398117ms) +✔ T26 --plan lists the commits an activate adds, after the migration lines (1735.843322ms) +✔ T27 --plan names each migration step, or says the steps cannot be read (1253.891657ms) +✔ T25 --plan refuses copies-unrelated when neither copy is an ancestor of the other (584.553139ms) +▶ T23 --plan reads the store without changing a file, stopped or held + ✔ stopped store (726.102069ms) + ✔ held store (727.868655ms) +✔ T23 --plan reads the store without changing a file, stopped or held (1454.560786ms) +✔ T24 business-mismatch and capture-failed refuse with exit 3; a short id is a usage error (1738.504529ms) +✔ T16 status prints the pointer, the log, the check, bus status and drift, and writes nothing (1075.217625ms) +✔ T19 a started line with no final line: status shows it and every changing verb refuses (1553.244623ms) +✔ T20 a held run lock refuses run-locked without a log line; status and --plan still run (1630.528245ms) +✔ T21 a bus unit with no MOSAIC_CLAUDE_BIN: adopt and activate refuse no-claude-pin (1545.284232ms) +▶ T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file + ✔ bus.sqlite-wal (2301.025156ms) + ✔ bus.sqlite-shm (2516.927228ms) + ✔ clean (2246.38616ms) +✔ T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file (7065.219491ms) +▶ T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop + ✔ unit path (993.326563ms) + ✔ drop-in directory (911.862439ms) + ✔ drop-in file (831.397494ms) + ✔ relative unit path (875.836173ms) +✔ T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop (3613.345732ms) +▶ T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch + ✔ --plan (932.524984ms) + ✔ rollback --restore (2723.021617ms) +✔ T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch (3656.08757ms) +✔ T30 a copy check that agrees on another copy fails the gate with copy-check and rolls back (5174.02346ms) +▶ T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a + ✔ Environment double quotes (1868.945061ms) + ✔ Environment single quotes (1821.057733ms) + ✔ Environment backslash (1844.558547ms) + ✔ ExecStart quotes (1926.910468ms) + ✔ Console ExecStart quotes (1906.524227ms) +✔ T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a (9369.249876ms) +▶ T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM + ✔ usage: not with --pm, and only for activate (684.904116ms) + ✔ pm-after-harness-target (1052.791079ms) + ✔ pm-after-harness-set (1373.971788ms) + ✔ a pointer without pm (936.815584ms) + ✔ phase 1 installs without --pm, skips pm_launched and writes the pending pointer (2113.560096ms) +✔ T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM (6163.167795ms) +▶ T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status + ✔ read_pointer (1619.039574ms) + ✔ pm-pending, already-adopted and the status line (3081.39432ms) +✔ T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status (4701.020145ms) +▶ T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back + ✔ not-pending (805.646925ms) + ✔ harness-unset (2514.410425ms) + ✔ a launched line passes: the bus alone restarts with --pm (3581.159615ms) + ✔ a failed pm_launched puts the phase-1 unit back: exit 1, still pending (6302.747902ms) + ✔ a failed phase-1 gate too: pm-on-down, exit 2, both units stopped (10635.596686ms) +✔ T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back (23840.615086ms) +▶ T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name + ✔ rollback from pending gates pm_launched on the old copy (3503.508717ms) + ✔ after the harness set, rollback refuses until harness is gone (4966.376554ms) + ✔ activate names every kind the target lacks (1208.784444ms) +✔ T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name (9679.356469ms) +✔ T36 --plan shows the pending state and lists the row 169 refusals it can see (3549.495638ms) +✔ T37 tester-port activate writes pointer and unit, replaces the port, and supported re-pin and rollback keep it (6826.052767ms) +✔ T38 tester-port rollback to unsupported target drops flag in plan, steps, unit and pointer (3719.213738ms) +✔ T39 tester-port explicit unsupported target reads target copy and refuses before stopping either unit (817.312677ms) +✔ T40 tester-port invalid values refuse exit 4 before stopping, including tunnel and main ports (831.111623ms) +✔ T41 tester-port inherited activate to unsupported target drops it and retains drift refusal and failed-run recovery (8865.445663ms) +✔ T42 tester-port pm-on preserves pointer Console flags (3334.968572ms) +▶ T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores + ✔ activate then pm-on on the same copy (3367.507602ms) + ✔ two restores: an old-form id and a suffixed one, each with its own post-attempt store (6802.847259ms) + ✔ adopt takes the next free id too (649.68948ms) + ✔ all ten names taken: capture-failed before anything stops, and the log line names no activation (1061.657903ms) + ✔ --restore takes an id with or without -1 to -9 and nothing else (1087.464578ms) +✔ T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores (12970.303935ms) +▶ T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals + ✔ a bad tester port (2290.548648ms) + ✔ without --plan a bad port is usage before any pointer read (499.987574ms) + ✔ a target Console without --tester-port (1345.394929ms) +✔ T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals (4136.807269ms) +▶ T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table + ✔ both modes count events and each listed table, and a table the store lacks counts 0 (1158.071581ms) + ✔ one instance_names row and no event refuses before any stop; --events 1 restores (4487.849569ms) + ✔ one usage_records row and no event refuses before any stop; --events 1 restores (4470.748072ms) + ✔ a listed table that cannot be read refuses restore-mismatch before any stop (2481.60943ms) + ✔ the in-run recount counts the listed tables too (3399.541473ms) +✔ T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table (15998.907772ms) +✔ T46 row 181 item 4: every table in the bus schema is in exactly one of four lists (3.803683ms) +✔ T47 row 185 test 1: a same-schema activate leaves a whole backup and the log line names it (1979.307715ms) +✔ T48 row 185 test 2: a gate failure on a same-schema activate rolls back without a restore (6067.996704ms) +▶ T49 row 185 test 3: a same-schema rollback --restore restores, or refuses rows written after STAMP + ✔ no rows after STAMP: restores and goes live (3563.480263ms) + ✔ one instance_names row after STAMP refuses post-backup-events; --events 1 restores (3974.007957ms) +✔ T49 row 185 test 3: a same-schema rollback --restore restores, or refuses rows written after STAMP (7538.039216ms) +✔ T50 row 185 test 4: activate --plan prints the backup line and writes nothing (2591.325898ms) +✔ T51 row 185 test 5: an activate with no store file takes no backup (2079.9258ms) +▶ T52 row 186: the activate plan's backup line says what the run will do + ✔ same schema (2233.750751ms) + ✔ same schema with --migrate (2223.662415ms) + ✔ in chain with --migrate (2283.678157ms) + ✔ in chain without --migrate (2068.867898ms) + ✔ outside the chain (2093.10305ms) + ✔ outside the chain with --migrate (2139.786075ms) +✔ T52 row 186: the activate plan's backup line says what the run will do (13044.172778ms) +✔ T178 proxy proof header and path survive re-pin and rollback unchanged in the pointer and unit (3289.19052ms) +✔ T178 proxy proof pair survives a tester-port replacement as well (1989.581468ms) +▶ T53 row 187: activate sets, carries and drops the proof pair + ✔ tests 1 and 9: the pair goes after the preview flags, before --send and the kept --tester-port, as the unit renders it; a new pair replaces it (5648.842468ms) + ✔ tests 2 and 3: an activate of the live copy writes the pair; a later activate and a rollback carry it (5269.584389ms) + ✔ test 2: only a pair change may name the live copy; the log keeps from and to, and rollback still goes to the earlier copy (6905.667602ms) + ✔ test 2: a live-copy activate says only the Console flags change, and backs up the stopped store before it installs (4314.919571ms) + ✔ test 3: pm-on keeps the pair (3276.07991ms) + ✔ test 4: --no-proof drops the pair from the pointer and the unit and says so; with no pair it says so and passes (5904.204409ms) + ✔ test 5: each refusal exits 3 before anything stops (3965.523422ms) + ✔ tests 5 and 9: --plan lists every proof refusal with the others and writes nothing (897.401149ms) + ✔ test 6: usage errors (821.587774ms) + ✔ test 7: a rollback to a copy without proof support drops the pair and says so (3609.599316ms) + ✔ test 7: an activate to a copy without proof support refuses proof-target without --no-proof and passes with it (4009.935558ms) +✔ T53 row 187: activate sets, carries and drops the proof pair (44625.694153ms) +▶ T54 row 188: a carried pair gets the proof file checks, and a proof file inside the repository refuses + ✔ test 1: an activate that carries the pair refuses after chmod 644, in the plan and the run, before anything stops (2446.688111ms) + ✔ test 1: an activate that carries the pair refuses after a symlink to a mode-600 file, in the plan and the run, before anything stops (2482.041409ms) + ✔ test 1: an activate that carries the pair refuses after removal, in the plan and the run, before anything stops (2588.161885ms) + ✔ test 2: a rollback that carries the pair refuses after chmod 644, in the plan and the run, before anything stops (2519.470907ms) + ✔ test 3: a proof file inside the repository refuses, in the plan and the run, before anything stops (1072.16824ms) + ✔ test 4: a path outside the repository through a directory symlink into it refuses on its realpath (1051.014097ms) +✔ T54 row 188: a carried pair gets the proof file checks, and a proof file inside the repository refuses (12160.807594ms) +▶ T55 row 189: activate --no-send drops --send, and rollback and pm-on carry it off + ✔ test 1: a live-copy --no-send drops --send from the pointer and the unit, keeps the rest in order, logs the step and backs up the stopped store (2259.642635ms) + ✔ test 2: a plain live-copy activate still refuses already-active, and so does --no-send once --send is gone (3343.91884ms) + ✔ test 3: --plan prints one send: line in each case, with the live-copy note on a same-copy run (5041.937663ms) + ✔ test 4: after --no-send, a rollback to the earlier copy leaves --send out of the pointer and the unit (3596.269633ms) + ✔ test 4: pm-on after --no-send keeps --send off (3333.314366ms) + ✔ test 5: --no-send on rollback, pm-on, status, adopt or rehearse is a usage error (720.67796ms) + ✔ test 6: with both a pair and --send in the pointer, --no-send and --no-proof each drop what they name and keep the rest (10968.047556ms) +✔ T55 row 189: activate --no-send drops --send, and rollback and pm-on carry it off (29265.29686ms) +▶ T57 row 200: activate --sso, its refusals before any stop, and the rollback to a Console without --sso + ✔ item 1: --sso drops the preview set and the pair, puts --sso before --send and the tester port, and the plan names what it drops and carries (4144.072077ms) + ✔ item 1: --sso may re-pin the live copy once; later activates carry it; --no-send still drops --send (10107.453196ms) + ✔ item 1: --sso with a pair or --no-proof, or on any verb but activate, is a usage error (752.444713ms) + ✔ item 2: a target without --sso, a missing or bad console.sso, and each slot problem refuse before any stop (6160.441256ms) + ✔ item 3: a config whose console key the target loader refuses stops an activate or a rollback before any stop, naming the first step (4686.242307ms) + ✔ row 203: a config whose federation key the target loader refuses stops an activate or a rollback before any stop, naming the first step (4032.454805ms) + ✔ item 3: a rollback from --sso to a Console without it takes the flags from the set of the activation onto the copy, past a same-copy re-pin (sage-1389) (12126.954522ms) + ✔ item 3: a rollback set that is missing, fails its sums, holds no argv or already ran --sso refuses sso-rollback-flags (4641.43181ms) + ✔ round 2 (webby-0028 N1): run through a symlinked repository path, a slot or a proof file inside the repository still refuses (2544.234973ms) + ✔ round 2 (webby-0028 N2): a config.json that does not parse stops the run before anything is read or stopped (2240.146674ms) + ✔ round 3 (sage-1556): a named instance turns --sso on with its own config, slot and Console unit, and rolls back from its own set (4757.215195ms) + ✔ row 238 (#1744): on a named instance the sso-config first step names --instance NAME in both commands (1137.418467ms) +✔ T57 row 200: activate --sso, its refusals before any stop, and the rollback to a Console without --sso (57333.0898ms) +▶ T58 row 273: activate --send and --no-sso + ✔ T1: --sso --send turns send on after --sso and before the tester port, and the plan says so (2922.685515ms) + ✔ T1: --send beside a carried --sso re-pins the live copy once, and the plan names the carried --sso (4564.738795ms) + ✔ T2: --send without --sso, given or carried, refuses before any stop, and --plan lists it (2214.063723ms) + ✔ T2 (sage-2315 B1): a rollback from an --sso --send pointer to a Console without --sso ends with neither flag (4268.694092ms) + ✔ T2 and T4: --send with --no-send, --no-sso with --sso, --send, a pair or --no-proof, and either flag on another verb, is a usage error (2330.138792ms) + ✔ T3: --no-sso on the same copy returns the unit and the pointer to the flags from before --sso, without --send (5625.038909ms) + ✔ T3: the set walk passes later re-pins that ran with --sso, and the tester follows the pointer (5560.847509ms) + ✔ T3 (sage-2305 a): after --sso, two later re-pins that carry it, then --no-sso restores the flags from before --sso byte for byte (8419.548918ms) + ✔ T4 (sage-2305 b): a log in which every set holds a Console with --sso refuses before any unit stops (3963.641971ms) + ✔ T4: --no-sso refuses before any stop on a pointer without --sso, a tampered or missing set, a set that ran with --sso, an ok line with no activation, and a log with no set (6149.395328ms) +✔ T58 row 273: activate --send and --no-sso (46020.729753ms) +✔ R1 rehearse passes on the same schema; the scratch root holds its files and the live files stay byte-identical (3458.77861ms) +✔ R2 rehearse runs the migration checks when the schema differs; the live store stays at 3g (3576.149439ms) +✔ R3 a failing migration gives REHEARSAL_FAIL migrate and starts nothing (371.187328ms) +✔ R4 a host that does not start, does not answer status, reports another pid, launches anyway, makes a launches directory or keeps its lock each fails by name (25651.767956ms) +✔ R5 a host that ignores SIGTERM gets SIGKILL and FAIL host-stopped (4453.135149ms) +✔ R6 a Console that does not answer /healthz gives REHEARSAL_FAIL healthz (5661.823175ms) +✔ R7 a host on another copy fails copy-match (5675.461683ms) +✔ R8 a scratch port in use or reserved refuses, and the rehearsal takes no other port (536.106532ms) +✔ R9 mos-0963: a role reference left outside placeholders/, or left on an env variable, fails credential-ref-live before the host starts (800.91623ms) +✔ R10 mos-0962: a scratch business that still sets a tracker fails tracker-configured (389.294822ms) +✔ R11 mos-0961: a scratch config on the live data root or on any root but the scratch one, or a sessions.json naming a running pid, refuses by name (1522.742846ms) +✔ R12 mos-0962: a notifier config with a binding fails notify-off (373.64699ms) +✔ R13 the pre-checks: an old copy, a backup that fails its sums, a missing backup or pointer, and usage (516.24475ms) +✔ R14 a host that writes the live config, the live business file or the backup fails the end check by name (10350.073889ms) +✔ R15 a rehearsal stopped by TERM, INT or HUP fails signal and still stops the host and Console and runs the end checks (10040.389669ms) +✔ row 233: --backup last takes the newest backup the log records; a later line with backup null does not hide it, and the store line names it (3476.770208ms) +✔ row 233: --backup last with no backup in the log, or no log, exits 3 with no-backup and makes no rehearsal directory (209.278877ms) +✔ row 233: --backup last refuses a newest backup that is not an activation id, with exit 1 (121.511846ms) +▶ T56 row 190: named instances side by side on one unit directory, $BIN and set of stand-ins + ✔ T-I3 each instance renders its own config, session env and Description, and nothing of another (1609.62252ms) + ✔ T-I4 a Console port another installed Console takes refuses port-claimed, and a named instance keeps off the default ports (2122.081567ms) + ✔ T-I6 alpha's activate and rollback reach nothing of beta's (4189.660782ms) + ✔ T-I6 swapped: beta's reach nothing of alpha's (4136.059924ms) + ✔ T-I7 MOSAIC_CONFIG naming alpha's config with no flag refuses instance-root-mismatch and changes nothing (729.953997ms) + ✔ T-I9 another instance's bus active refuses nothing; one of this instance's does (6485.314259ms) +✔ T56 row 190: named instances side by side on one unit directory, $BIN and set of stand-ins (19274.139979ms) +✔ row196 explicit socket conversion refuses inherited TCP before stop and rollback disables socket (6254.426968ms) +✔ row196 SSO socket conversion pins pointer and unit argv order without send (2413.23298ms) +▶ row196 interpreter activation checks receipt, identity, plan and startup log + ✔ plan and started log preserve the same interpreter JSON (2335.70251ms) + ✔ interpreter-receipt-refuse fails at the gate and restores the pointer (3457.512358ms) + ✔ interpreter-drift fails at the gate and restores the pointer (3449.980527ms) + ✔ missing-verifier refuses before any start or stop (1103.147558ms) + ✔ interpreter-unsafe refuses before any start or stop (1122.047271ms) +✔ row196 interpreter activation checks receipt, identity, plan and startup log (11470.083552ms) +▶ row196 rehearsal selects socket only for marked copies and uses scratch dataRoot + ✔ socket copy (2438.460635ms) + ✔ legacy copy (2454.586459ms) +✔ row196 rehearsal selects socket only for marked copies and uses scratch dataRoot (4893.818199ms) +✔ config-any-key: a non-console target refusal stops activate and rollback before any stop (2942.981853ms) +✔ config-any-key: a pre-270 target refuses each row 270 key on a full activate and rollback, naming the key (4827.444826ms) +✔ config-any-key: accepting loaders run validate with the selected config on activate and rollback (3331.697977ms) +✔ config-any-key: missing-loader copies accept only the four oldest keys (137.670506ms) +✔ config-any-key: missing config passes but malformed JSON refuses without calling the loader (45.7837ms) +ℹ tests 224 +ℹ suites 0 +ℹ pass 224 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 638805.10408 diff --git a/agents/magica/work/queue-329/gate/cli-stack-upgrade.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-stack-upgrade.test.load.jsonl new file mode 100644 index 000000000..74d6bb0ef --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-stack-upgrade.test.load.jsonl @@ -0,0 +1,69 @@ +{"utc": "2026-10-24T20:33:52.593+00:00", "load1": "3.39"} +{"utc": "2026-10-24T20:33:53.593+00:00", "load1": "3.39"} +{"utc": "2026-10-24T20:33:54.593+00:00", "load1": "3.39"} +{"utc": "2026-10-24T20:33:55.593+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:33:56.594+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:33:57.594+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:33:58.594+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:33:59.595+00:00", "load1": "3.20"} +{"utc": "2026-10-24T20:34:00.595+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:34:01.595+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:34:02.595+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:34:03.596+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:34:04.596+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:34:05.596+00:00", "load1": "2.94"} +{"utc": "2026-10-24T20:34:06.596+00:00", "load1": "2.94"} +{"utc": "2026-10-24T20:34:07.597+00:00", "load1": "2.94"} +{"utc": "2026-10-24T20:34:08.597+00:00", "load1": "2.94"} +{"utc": "2026-10-24T20:34:09.597+00:00", "load1": "2.94"} +{"utc": "2026-10-24T20:34:10.598+00:00", "load1": "2.86"} +{"utc": "2026-10-24T20:34:11.598+00:00", "load1": "2.86"} +{"utc": "2026-10-24T20:34:12.598+00:00", "load1": "2.86"} +{"utc": "2026-10-24T20:34:13.598+00:00", "load1": "2.86"} +{"utc": "2026-10-24T20:34:14.599+00:00", "load1": "2.86"} +{"utc": "2026-10-24T20:34:15.599+00:00", "load1": "2.63"} +{"utc": "2026-10-24T20:34:16.599+00:00", "load1": "2.63"} +{"utc": "2026-10-24T20:34:17.599+00:00", "load1": "2.63"} +{"utc": "2026-10-24T20:34:18.600+00:00", "load1": "2.63"} +{"utc": "2026-10-24T20:34:19.600+00:00", "load1": "2.63"} +{"utc": "2026-10-24T20:34:20.600+00:00", "load1": "2.58"} +{"utc": "2026-10-24T20:34:21.601+00:00", "load1": "2.58"} +{"utc": "2026-10-24T20:34:22.601+00:00", "load1": "2.58"} +{"utc": "2026-10-24T20:34:23.601+00:00", "load1": "2.58"} +{"utc": "2026-10-24T20:34:24.601+00:00", "load1": "2.58"} +{"utc": "2026-10-24T20:34:25.602+00:00", "load1": "2.62"} +{"utc": "2026-10-24T20:34:26.602+00:00", "load1": "2.62"} +{"utc": "2026-10-24T20:34:27.602+00:00", "load1": "2.62"} +{"utc": "2026-10-24T20:34:28.603+00:00", "load1": "2.62"} +{"utc": "2026-10-24T20:34:29.603+00:00", "load1": "2.62"} +{"utc": "2026-10-24T20:34:30.603+00:00", "load1": "2.81"} +{"utc": "2026-10-24T20:34:31.603+00:00", "load1": "2.81"} +{"utc": "2026-10-24T20:34:32.604+00:00", "load1": "2.81"} +{"utc": "2026-10-24T20:34:33.604+00:00", "load1": "2.81"} +{"utc": "2026-10-24T20:34:34.604+00:00", "load1": "2.81"} +{"utc": "2026-10-24T20:34:35.604+00:00", "load1": "3.70"} +{"utc": "2026-10-24T20:34:36.605+00:00", "load1": "3.70"} +{"utc": "2026-10-24T20:34:37.605+00:00", "load1": "3.70"} +{"utc": "2026-10-24T20:34:38.605+00:00", "load1": "3.70"} +{"utc": "2026-10-24T20:34:39.606+00:00", "load1": "3.70"} +{"utc": "2026-10-24T20:34:40.606+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:34:41.606+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:34:42.607+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:34:43.607+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:34:44.607+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:34:45.608+00:00", "load1": "4.65"} +{"utc": "2026-10-24T20:34:46.608+00:00", "load1": "4.65"} +{"utc": "2026-10-24T20:34:47.608+00:00", "load1": "4.65"} +{"utc": "2026-10-24T20:34:48.608+00:00", "load1": "4.65"} +{"utc": "2026-10-24T20:34:49.609+00:00", "load1": "4.65"} +{"utc": "2026-10-24T20:34:50.609+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:34:51.609+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:34:52.610+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:34:53.610+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:34:54.610+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:34:55.610+00:00", "load1": "4.40"} +{"utc": "2026-10-24T20:34:56.611+00:00", "load1": "4.40"} +{"utc": "2026-10-24T20:34:57.611+00:00", "load1": "4.40"} +{"utc": "2026-10-24T20:34:58.611+00:00", "load1": "4.40"} +{"utc": "2026-10-24T20:34:59.612+00:00", "load1": "4.40"} +{"utc": "2026-10-24T20:35:00.612+00:00", "load1": "5.73"} diff --git a/agents/magica/work/queue-329/gate/cli-stack-upgrade.test.txt b/agents/magica/work/queue-329/gate/cli-stack-upgrade.test.txt new file mode 100644 index 000000000..56b6ddbd4 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-stack-upgrade.test.txt @@ -0,0 +1,33 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-upgrade.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/XJhDxi +begin: {"utc": "2026-10-24T20:33:52.592+00:00", "load1": "3.39"} +launch nice: 19 +✔ row 233: sequence 1: confirm fails healthz, the driver reverts, renders the old copy and confirm --rollback --cause A5 passes: exit 1 (7852.372089ms) +✔ row 233: sequence 2: activate --migrate fails at the wrapper, revert restores the store, confirm --rollback --cause A3: exit 1 (3608.479688ms) +✔ row 233: sequence 3: root's render of the new copy fails, the driver rolls back with --cause A4, and holds the lock to the end: exit 1 (3382.111443ms) +✔ row 233: sequence 4: a capture failure is exit 3 from the stage, and A2f restarts the old units and gates them: exit 1 (2523.56594ms) +✔ row 233: N1: a bus that outlives A2's timeout keeps its old start, so A2f's gate fails stale-start: exit 2, both units stopped (8297.045917ms) +✔ row 233: sequence 5: confirm of the wrong copy is refused, and the driver rolls back with --cause A5: exit 1 (3856.460153ms) +✔ row 233: sequence 6: a revert that fails stops both units at exit 2, and the next run refuses at its --plan with nothing stopped (3175.443553ms) +✔ row 233: sequence 7: two upgrades and a rollback --to the previous copy with --restore, the args file following each confirm (8049.56261ms) +✔ row 240: I3 N1: a failed args move after A5 exits 5 args-failed, the new copy live and confirmed and both args files kept (3265.253011ms) +✔ row 233: sequence 8: a migration that writes and fails: the driver reverts to the backup byte for byte, --cause A3: exit 1 (3553.665626ms) +✔ row 233: a second run while the lock is held refuses upgrade-running with one log line and no call (717.245165ms) +✔ row 233: A1 refuses open-activation on any AWAITING-UNITS file, through the stack's user's --plan, with nothing stopped (1249.295164ms) +✔ row 233: a target that migrates refuses migrate-required without --migrate, with nothing stopped (1250.634429ms) +✔ row 233: the rehearsal runs after the plan and before A2; a failed one refuses rehearsal-failed with nothing stopped (1232.105916ms) +✔ row 233: the rehearsal's BACKUP_STORE line goes to the step log after a match, a malformed one as none, the rest of its output never (3256.34367ms) +✔ row 233: a real rehearsal with no backup in the log refuses no-backup, and goes on only with --no-rehearsal, which logs the skip (3803.025078ms) +✔ row 233: a real rehearsal after an upgrade names the log's newest backup; --no-rehearsal with a backup refuses rehearsal-required (4253.787685ms) +✔ row 233: the args file must be the running user's, with no group or other write, one --copy, and the copy the units run (962.699541ms) +✔ row 233: hostcheck (row 240): a nonzero --check or a missing file refuses profile-drift before the plan (1171.513776ms) +✔ row 233: the checkout must be at --sha (head-mismatch), and a commit the clone can't fast-forward to refuses fetch-failed (1400.992453ms) +✔ row 233: usage exits 4 before any log or lock (796.879816ms) +ℹ tests 21 +ℹ suites 0 +ℹ pass 21 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 68640.454344 diff --git a/agents/magica/work/queue-329/gate/cli-tester-http.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-tester-http.test.load.jsonl new file mode 100644 index 000000000..d720b27d5 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-tester-http.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:35:01.265+00:00", "load1": "5.73"} diff --git a/agents/magica/work/queue-329/gate/cli-tester-http.test.txt b/agents/magica/work/queue-329/gate/cli-tester-http.test.txt new file mode 100644 index 000000000..8b0c71964 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-tester-http.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/tester-http.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/55m2oF +begin: {"utc": "2026-10-24T20:35:01.265+00:00", "load1": "5.73"} +launch nice: 19 +✔ tester HTTP helper uses instance socket, logical origin and JSON without retrying (15.086889ms) +✔ tester HTTP timeout closes the socket and does not retry (24.119888ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 121.077466 diff --git a/agents/magica/work/queue-329/gate/cli-tester-reads.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-tester-reads.test.load.jsonl new file mode 100644 index 000000000..ccb0a3538 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-tester-reads.test.load.jsonl @@ -0,0 +1,3 @@ +{"utc": "2026-10-24T20:35:01.419+00:00", "load1": "5.73"} +{"utc": "2026-10-24T20:35:02.420+00:00", "load1": "5.73"} +{"utc": "2026-10-24T20:35:03.420+00:00", "load1": "5.73"} diff --git a/agents/magica/work/queue-329/gate/cli-tester-reads.test.txt b/agents/magica/work/queue-329/gate/cli-tester-reads.test.txt new file mode 100644 index 000000000..d14a14b1c --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-tester-reads.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/tester-reads.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/Y5tXDS +begin: {"utc": "2026-10-24T20:35:01.419+00:00", "load1": "5.73"} +launch nice: 19 +organization: {"event":"reload-needs-restart","business":"acme"} +✔ row 175: each read with --tester inside an agent prints the human form's output, and refuses without --tester (93.082135ms) +✔ row 175: --tester on limits set, reset and migrate and every write form outside W1-W7 exits 4 before any call (36.118313ms) +✔ row 175: scripts/mosaic sends plugins, name, names, follow, threads and thread to packages/cli, not the seat CLI (563.171397ms) +✔ row 175 W7: project init --tester makes the repository under the project area, committed by tester (415.103313ms) +✔ row 175 W7: a repo outside the project area refuses tester-project-area before any bus call, and nothing changes (169.251702ms) +✔ row 175 W7: the tester bind refuses tester-off and tester-required before any directory (1250.001839ms) +ℹ tests 6 +ℹ suites 0 +ℹ pass 6 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 2674.895566 diff --git a/agents/magica/work/queue-329/gate/cli-tester-threads.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-tester-threads.test.load.jsonl new file mode 100644 index 000000000..e59077cb4 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-tester-threads.test.load.jsonl @@ -0,0 +1,3 @@ +{"utc": "2026-10-24T20:35:04.130+00:00", "load1": "5.73"} +{"utc": "2026-10-24T20:35:05.130+00:00", "load1": "5.51"} +{"utc": "2026-10-24T20:35:06.130+00:00", "load1": "5.51"} diff --git a/agents/magica/work/queue-329/gate/cli-tester-threads.test.txt b/agents/magica/work/queue-329/gate/cli-tester-threads.test.txt new file mode 100644 index 000000000..f5eb120ce --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-tester-threads.test.txt @@ -0,0 +1,18 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/tester-threads.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/DzejwR +begin: {"utc": "2026-10-24T20:35:04.129+00:00", "load1": "5.73"} +launch nice: 19 +✔ row 184: with --tester, thread create, threads, open, talk --thread and read run on the tester's own thread (49.282198ms) +organization: {"event":"reload-needs-restart","business":"acme"} +✔ row 184: talk --thread --follow and follow --thread with --tester print and read only that thread's messages, from message.receive (89.721056ms) +✔ row 184: with --tester a human thread refuses with the bus's code, and nothing is written (42.880665ms) +✔ row 184: without --tester the thread verbs stay the human's and never call the tester transport (30.832615ms) +✔ row 184: scripts/mosaic runs thread create, threads, talk --thread and thread read as the tester through tester-cli.mjs (2354.435694ms) +ℹ tests 5 +ℹ suites 0 +ℹ pass 5 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 2716.960967 diff --git a/agents/magica/work/queue-329/gate/cli-tester.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-tester.test.load.jsonl new file mode 100644 index 000000000..67d74a84f --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-tester.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:35:06.880+00:00", "load1": "5.51"} diff --git a/agents/magica/work/queue-329/gate/cli-tester.test.txt b/agents/magica/work/queue-329/gate/cli-tester.test.txt new file mode 100644 index 000000000..5831b1e9a --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-tester.test.txt @@ -0,0 +1,23 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/tester.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/lLKIgf +begin: {"utc": "2026-10-24T20:35:06.879+00:00", "load1": "5.51"} +launch nice: 19 +✔ talk --tester sends a message as tester from inside an agent and prints the role's reply (26.973952ms) +✔ talk --tester sends text with no prefix, and follow --tester reads (14.225929ms) +✔ the read verbs take --tester inside an agent, and the trail shows the tester as the sender (18.653031ms) +✔ decide, stop and launches take no --tester (12.592844ms) +✔ the tester transport runs tester-cli.mjs, and the tester's refusals exit 3 (0.309216ms) +✔ with no stand-in transport, --tester runs tester-cli.mjs on the data root's socket (0.467356ms) +✔ agents --tester makes one call; the human's agents also reads thread.claims, and --json is the agents array (13.923775ms) +✔ a refused thread.claims still prints the role rows and the refusal's code (12.435356ms) +✔ a thread.claims error without a bus code still throws and prints nothing (12.43923ms) +✔ talk --tester to a stopped role exits 3, prints no sent line and stores nothing (13.338355ms) +✔ only a --tester send refused tester-target-not-running is rewritten (13.887957ms) +ℹ tests 11 +ℹ suites 0 +ℹ pass 11 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 282.37488 diff --git a/agents/magica/work/queue-329/gate/cli-thread-cli.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-thread-cli.test.load.jsonl new file mode 100644 index 000000000..177ea2d4f --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-thread-cli.test.load.jsonl @@ -0,0 +1,2 @@ +{"utc": "2026-10-24T20:35:07.195+00:00", "load1": "5.51"} +{"utc": "2026-10-24T20:35:08.195+00:00", "load1": "5.51"} diff --git a/agents/magica/work/queue-329/gate/cli-thread-cli.test.txt b/agents/magica/work/queue-329/gate/cli-thread-cli.test.txt new file mode 100644 index 000000000..74e4d44fd --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-thread-cli.test.txt @@ -0,0 +1,23 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/thread-cli.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/wFi8A6 +begin: {"utc": "2026-10-24T20:35:07.195+00:00", "load1": "5.51"} +launch nice: 19 +✔ REQ-CLI-1 project create and list work on the bus record and refuse what the broker refuses (30.163831ms) +✔ REQ-CLI-1 thread create, list, open and read (56.189129ms) +✔ REQ-CLI-1 thread read pages through every message, oldest first (295.737808ms) +✔ REQ-CLI-1 the business needs exactly one threaded instance to create a thread (26.376887ms) +✔ REQ-CLI-1 a thread is its id, an id prefix of 8 characters or more, or /; anything else is refused before any write (44.051412ms) +✔ REQ-CLI-2 REQ-THREAD-2 talk --thread sends to the thread and prints only the reply to it; the rest stays unread (35.062669ms) +✔ REQ-CLI-2 talk --thread --wait gives up with exit 1 and leaves the thread's messages unread (1030.844326ms) +✔ REQ-CLI-2 talk --thread --follow and follow --thread print and read only that thread's messages (84.174039ms) +✔ REQ-CLI-2 plain talk to the assistant asks for a thread and exits 2 without a write (21.978775ms) +✔ REQ-USER-2 a thread of another user is refused for talk, open, read and follow, and nothing is written (40.423435ms) +✔ REQ-CLI-1 the new verbs refuse inside an agent run, as every human verb does (12.665706ms) +ℹ tests 11 +ℹ suites 0 +ℹ pass 11 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1819.016047 diff --git a/agents/magica/work/queue-329/gate/cli-thread-launch.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-thread-launch.test.load.jsonl new file mode 100644 index 000000000..24a43b7fc --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-thread-launch.test.load.jsonl @@ -0,0 +1,19 @@ +{"utc": "2026-10-24T20:35:09.048+00:00", "load1": "5.51"} +{"utc": "2026-10-24T20:35:10.048+00:00", "load1": "5.07"} +{"utc": "2026-10-24T20:35:11.048+00:00", "load1": "5.07"} +{"utc": "2026-10-24T20:35:12.049+00:00", "load1": "5.07"} +{"utc": "2026-10-24T20:35:13.049+00:00", "load1": "5.07"} +{"utc": "2026-10-24T20:35:14.049+00:00", "load1": "5.07"} +{"utc": "2026-10-24T20:35:15.049+00:00", "load1": "4.74"} +{"utc": "2026-10-24T20:35:16.050+00:00", "load1": "4.74"} +{"utc": "2026-10-24T20:35:17.050+00:00", "load1": "4.74"} +{"utc": "2026-10-24T20:35:18.050+00:00", "load1": "4.74"} +{"utc": "2026-10-24T20:35:19.051+00:00", "load1": "4.74"} +{"utc": "2026-10-24T20:35:20.051+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:35:21.051+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:35:22.051+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:35:23.052+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:35:24.052+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:35:25.052+00:00", "load1": "4.57"} +{"utc": "2026-10-24T20:35:26.052+00:00", "load1": "4.57"} +{"utc": "2026-10-24T20:35:27.053+00:00", "load1": "4.57"} diff --git a/agents/magica/work/queue-329/gate/cli-thread-launch.test.txt b/agents/magica/work/queue-329/gate/cli-thread-launch.test.txt new file mode 100644 index 000000000..7bc35d844 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-thread-launch.test.txt @@ -0,0 +1,47 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/thread-launch.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/eNdvi5 +begin: {"utc": "2026-10-24T20:35:09.047+00:00", "load1": "5.51"} +launch nice: 19 +usage: {"event":"usage-unknown","business":"acme","run":"rdbaa4bc178c0","instance":"assistant","turn":"ecca8172-67ec-4731-a025-d357df5b0474","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"rab6f8b7b659d","instance":"assistant","turn":"71ae54f8-7432-4edb-b111-8b8113a50a9c","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r48fea023f66d","instance":"assistant","turn":"d3640f29-8e61-41f4-bba7-078d51bb65a3","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r166b1a5461bd","instance":"assistant","turn":"e6bd001e-483f-402c-9705-cb23b433a171","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 REQ-LAUNCH-1 REQ-MSG-1 a thread message starts the thread's session, which stops when idle; its history survives the stop and a restart and no other thread sees it (5871.493281ms) +usage: {"event":"usage-unknown","business":"acme","run":"r10f8c2ea2905","instance":"assistant","turn":"0f001a05-5525-4237-bcc9-f97b7f905bed","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r814884036d7a","instance":"assistant","turn":"52d593fe-5e70-4221-ae28-c983d231dd0b","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 REQ-LAUNCH-1 a running thread counts against its model's limit and an idle-stopped one doesn't (1732.965535ms) +usage: {"event":"usage-unknown","business":"acme","run":"r3170741bab07","instance":"assistant","turn":"519e2027-d2cc-4cb6-95dd-e6255dbd96ee","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 REQ-LAUNCH-1 a turn longer than the idle time isn't stopped, and the thread idles out after it (4423.432552ms) +usage: {"event":"usage-unknown","business":"acme","run":"r10cafa37f598","instance":"assistant","turn":"3461bbda-6b57-4008-8b67-56f5df3fbfa7","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"r10cafa37f598","instance":"assistant","turn":"917877e7-ac00-4a1c-9621-a1e1e9f0e0cb","source":"@none","code":"baseline-unknown"} +✔ REQ-THREAD-2 REQ-LAUNCH-1 a message sent after the idle snapshot keeps the session, which answers it (2897.497314ms) +✔ REQ-ROLE-2 REQ-LAUNCH-1 a thread held by a run the launcher didn't start gets no second session (84.870615ms) +usage: {"event":"usage-unknown","business":"acme","run":"ree40c97bca22","instance":"assistant","turn":"547b7a4a-c338-4618-8d21-f2ef3c92cb66","source":"@none","code":"baseline-unknown"} +✔ REQ-LAUNCH-1 a thread run's session file has no landing, even when landHolders names its instance (389.98701ms) +✔ REQ-LAUNCH-1 a run that ends without taking its thread's message isn't started again for that message (240.98739ms) +✔ REQ-THREAD-2 REQ-LAUNCH-1 a thread id that isn't a safe segment, or a thread of a non-thread instance, launches nothing (238.089727ms) +✔ REQ-THREAD-1 REQ-LAUNCH-1 the chief can't launch the assistant outside a thread (82.813397ms) +✔ C2-09a: fromSession refuses a creative instance outside a thread without a sandbox (84.78075ms) +limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mayLaunch","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":0} +limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mayLaunch","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":0} +✔ REQ-LIMIT-3 REQ-LIMIT-4 a thread start whose instance is at its token limit is refused, logged once with the limit and the count (218.595023ms) +usage: {"event":"usage-unknown","business":"acme","run":"r0027203237fe","instance":"assistant","turn":"c6c06ee9-5a42-4fdf-b1d4-8fe0c0c77311","source":"@none","code":"baseline-unknown"} +limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mustStop","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":1} +✔ REQ-LIMIT-4 a thread run at its token limit stops at the end of its turn: the reply lands, and the end record names the limit (356.946526ms) +usage: {"event":"usage-unknown","business":"acme","run":"rba356d3cac56","instance":"bean","turn":"1128dcc7-dd3a-4f77-9f3f-370f54242baa","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"recd1bb10dacc","instance":"chet","turn":"89a813a2-dfd8-4651-b588-1fd0dfcea266","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"rba356d3cac56","instance":"bean","turn":"19a00aba-0cdf-46bf-bfc9-243d291e712a","source":"@none","code":"baseline-unknown"} +✔ C2-09a: creative thread messages start distinct runs and keep each instance history separate (755.72811ms) +usage: {"event":"usage-unknown","business":"acme","run":"r322f512a8c7f","instance":"bean","turn":"1ffa5454-b58f-4569-a5b0-53dab9bdd626","source":"@none","code":"baseline-unknown"} +usage: {"event":"usage-unknown","business":"acme","run":"re503bc0db185","instance":"bean","turn":"deea5db5-5965-42e2-a323-d44dff49a32e","source":"@none","code":"baseline-unknown"} +✔ C2-09a: terminating one creative thread does not signal an unselected peer of the same instance (649.498528ms) +usage: {"event":"usage-unknown","business":"acme","run":"r0e398ef744f4","instance":"assistant","turn":"0fba25e0-d470-4676-a218-e50587054461","source":"@none","code":"baseline-unknown"} +✔ C2-05b a real launched bundle gets lookups for a library project without a library checkout (436.589961ms) +ℹ tests 15 +ℹ suites 0 +ℹ pass 15 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 18603.56798 diff --git a/agents/magica/work/queue-329/gate/cli-thread-revoke.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-thread-revoke.test.load.jsonl new file mode 100644 index 000000000..fea075756 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-thread-revoke.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:35:27.682+00:00", "load1": "4.57"} diff --git a/agents/magica/work/queue-329/gate/cli-thread-revoke.test.txt b/agents/magica/work/queue-329/gate/cli-thread-revoke.test.txt new file mode 100644 index 000000000..d5327d23f --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-thread-revoke.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/thread-revoke.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/wxL330 +begin: {"utc": "2026-10-24T20:35:27.681+00:00", "load1": "4.57"} +launch nice: 19 +✔ REQ-LAUNCH-1 R4: a pending message on a revoked thread starts no run after a launcher restart (158.891406ms) +usage: {"event":"usage-unknown","business":"acme","run":"r4ea745842963","instance":"assistant","turn":"ba52ba32-9470-450a-83aa-5ef9cf97f55f","source":"@none","code":"baseline-unknown"} +✔ REQ-LAUNCH-1 R4: a running thread's run gets SIGTERM at the first tick after the hand edit, with no idle check (369.666575ms) +✔ REQ-LAUNCH-1 R4 D1: recover() rebinds an earlier host's run on a revoked thread and ends it, which ends its claim (146.788538ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 813.015027 diff --git a/agents/magica/work/queue-329/gate/cli-trackers-boot.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-trackers-boot.test.load.jsonl new file mode 100644 index 000000000..d0dd25613 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-trackers-boot.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:35:28.525+00:00", "load1": "4.57"} diff --git a/agents/magica/work/queue-329/gate/cli-trackers-boot.test.txt b/agents/magica/work/queue-329/gate/cli-trackers-boot.test.txt new file mode 100644 index 000000000..dbe4636c9 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-trackers-boot.test.txt @@ -0,0 +1,16 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/trackers-boot.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/Gh0ozD +begin: {"utc": "2026-10-24T20:35:28.525+00:00", "load1": "4.57"} +launch nice: 19 +✔ C2-04: a library-only business with tracker.baseUrl boots without a project tracker (253.112346ms) +task.close {} answered: invalid-request; fake saw 18 requests, first GET /info 200, GET /projects/1 200, GET /projects/1/views 200 +task.close on a missing task answered: task-not-found; it made GET /tasks/999 404 +✔ bootConfig trackers reach the S3 adapter in the real broker child, which goes ready against a fake Vikunja (387.590407ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 752.065285 diff --git a/agents/magica/work/queue-329/gate/cli-transport.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-transport.test.load.jsonl new file mode 100644 index 000000000..3607b35f3 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-transport.test.load.jsonl @@ -0,0 +1,3 @@ +{"utc": "2026-10-24T20:35:29.311+00:00", "load1": "4.57"} +{"utc": "2026-10-24T20:35:30.311+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:35:31.311+00:00", "load1": "4.44"} diff --git a/agents/magica/work/queue-329/gate/cli-transport.test.txt b/agents/magica/work/queue-329/gate/cli-transport.test.txt new file mode 100644 index 000000000..5b3676818 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-transport.test.txt @@ -0,0 +1,15 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/transport.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/tZM2Tx +begin: {"utc": "2026-10-24T20:35:29.311+00:00", "load1": "4.57"} +launch nice: 19 +✔ the transport writes {business, verb, args} to the child and reads its JSON (28.601974ms) +✔ a bus code on stderr becomes the exit code; garbage and timeouts are outcome problems (2141.195275ms) +✔ busExit and refuseInsideAgent (0.560627ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 2274.409912 diff --git a/agents/magica/work/queue-329/gate/cli-usage.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-usage.test.load.jsonl new file mode 100644 index 000000000..ec06108cb --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-usage.test.load.jsonl @@ -0,0 +1 @@ +{"utc": "2026-10-24T20:35:31.618+00:00", "load1": "4.44"} diff --git a/agents/magica/work/queue-329/gate/cli-usage.test.txt b/agents/magica/work/queue-329/gate/cli-usage.test.txt new file mode 100644 index 000000000..6ad602918 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-usage.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/usage.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/idMrTv +begin: {"utc": "2026-10-24T20:35:31.617+00:00", "load1": "4.44"} +launch nice: 19 +✔ REQ-LIMIT-4 mosaic usage shows each token kind and unknown turns beside every total (58.216155ms) +✔ usage is dispatched by scripts/mosaic and the shared read adapter (89.300838ms) +ℹ tests 2 +ℹ suites 0 +ℹ pass 2 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 276.442953 diff --git a/agents/magica/work/queue-329/gate/cli-verbs.test.load.jsonl b/agents/magica/work/queue-329/gate/cli-verbs.test.load.jsonl new file mode 100644 index 000000000..326443848 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-verbs.test.load.jsonl @@ -0,0 +1,4 @@ +{"utc": "2026-10-24T20:35:31.926+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:35:32.926+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:35:33.927+00:00", "load1": "4.44"} +{"utc": "2026-10-24T20:35:34.927+00:00", "load1": "4.44"} diff --git a/agents/magica/work/queue-329/gate/cli-verbs.test.txt b/agents/magica/work/queue-329/gate/cli-verbs.test.txt new file mode 100644 index 000000000..0a1c1d0d7 --- /dev/null +++ b/agents/magica/work/queue-329/gate/cli-verbs.test.txt @@ -0,0 +1,21 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/verbs.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/45Ygay +begin: {"utc": "2026-10-24T20:35:31.926+00:00", "load1": "4.44"} +launch nice: 19 +✔ talk sends a REQUEST, prints and reads only the reply to it, and leaves other messages unread (53.906756ms) +✔ talk --wait 0 only sends; no reply within --wait exits 1 and says where it will show (1032.586516ms) +✔ a late reply the Console has listed stays unread for mosaic inbox, and the next talk skips it (2049.648564ms) +✔ talk says when the role isn't running, whether launch.by was told, and how to start launch.by (34.337406ms) +✔ talk to a role launch.by can't launch says it isn't in the launch block (20.295811ms) +✔ talk to a stopped role prints the waiting line once, skips a non-reply and prints the reply (43.791505ms) +✔ talk, stop and launches off/on refuse inside an agent run; bad arguments are usage errors (13.785001ms) +✔ launches off and on go to the broker and change the business's launch state (13.64738ms) +✔ launches list reads sessions.json and marks a stale entry; stop reports it and refuses a non-runner (13.906609ms) +ℹ tests 9 +ℹ suites 0 +ℹ pass 9 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 3407.703273 diff --git a/agents/magica/work/queue-329/gate/model-proxy-client.test.txt b/agents/magica/work/queue-329/gate/model-proxy-client.test.txt new file mode 100644 index 000000000..8c2e38561 --- /dev/null +++ b/agents/magica/work/queue-329/gate/model-proxy-client.test.txt @@ -0,0 +1,27 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/client.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ proxy-client-invalid: https://127.0.0.1:18318 (1.029907ms) +✔ proxy-client-invalid: http://example.com:18318 (0.12563ms) +✔ proxy-client-invalid: http://localhost:18318 (0.078472ms) +✔ proxy-client-invalid: http://127.0.0.1:8317 (0.078909ms) +✔ proxy-client-invalid: http://user:pass@127.0.0.1:18318 (0.117056ms) +✔ proxy-client-invalid: http://127.0.0.1:18318/path (0.076881ms) +✔ client GET/PUT v8 only, Authorization header, receipt IDs without values or bodies (19.425935ms) +✔ proxy-client-refused (3.294429ms) +✔ proxy-client-response (2.506191ms) +✔ proxy-client-redirect (1.422394ms) +✔ proxy-client-down: transport errors redact details (1.181384ms) +✔ proxy-client-invalid: PUT rejects object key records and empty strings locally (0.201591ms) +✔ proxy-management-key-invalid: missing, symlink and public key file refuse without values (1.089048ms) +✔ bus management-key loader supplies a private fixture key without exposing it on the client (0.576298ms) +✔ proxy-client-response: truncated response remains a redacted named refusal (12.547981ms) +✔ management client ignores ambient fetch dispatchers (1.530755ms) +ℹ tests 16 +ℹ suites 0 +ℹ pass 16 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 116.422656 diff --git a/agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt b/agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt new file mode 100644 index 000000000..756e2bda2 --- /dev/null +++ b/agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt @@ -0,0 +1,24 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/config-unit.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ loader proxy absent is byte-compatible; present validates sidecar and preserves config.json (75.431424ms) +✔ proxy-config-invalid: loader refuses an unknown sidecar key and binary outside pinned install (157.85334ms) +✔ proxy unit and bus dependency render default and named instance only when configured (302.742927ms) +✔ proxy-not-configured: runner and unit render refuse absent sidecar (114.668398ms) +✔ proxy-install-invalid: unit runner refuses tampered executable before spawning (99.650461ms) +✔ proxy-unit-usage (52.415998ms) +✔ proxy-unit-exists (51.24024ms) +✔ proxy-unit-dropin (60.85059ms) +✔ proxy-unit-path (60.265993ms) +✔ proxy-config-invalid: instance selection also refuses invalid present sidecar (75.909488ms) +✔ explicit unit install writes only a scratch user unit and refuses a repeat (128.584566ms) +✔ proxy-unit-copy: renderer refuses an unknown or unpinned stack copy (65.695728ms) +✔ historical no-proxy config loader works without new package dependency (30.066097ms) +ℹ tests 13 +ℹ suites 0 +ℹ pass 13 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1350.049632 diff --git a/agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt b/agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt new file mode 100644 index 000000000..d34940a3f --- /dev/null +++ b/agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/fetch.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ verified fetch installs binary and panel together; identical repeat is idempotent (23.694263ms) +✔ proxy-fetch-hash: either bad asset installs nothing (8.91401ms) +✔ proxy-fetch-existing: conflicting install remains byte-identical (11.724734ms) +✔ proxy-fetch-archive: missing executable in verified archive refuses without install (11.844592ms) +✔ proxy-fetch-url: production downloader permits pinned GitHub release URLs only (0.617789ms) +✔ local fake server covers redirect off allowlist and HTTP failure without external fetch (26.52242ms) +✔ proxy-fetch-existing: extra content in an existing install refuses (19.176602ms) +✔ local fake file server success and same-origin redirect return exact bytes (14.504997ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 215.411482 diff --git a/agents/magica/work/queue-329/gate/model-proxy-runner.test.txt b/agents/magica/work/queue-329/gate/model-proxy-runner.test.txt new file mode 100644 index 000000000..0127d670f --- /dev/null +++ b/agents/magica/work/queue-329/gate/model-proxy-runner.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/runner.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ runner verifies before spawning and supplies pinned panel and local model without ambient secrets (1.667228ms) +✔ proxy-start-failed: sync and async spawn failures report code only (0.671085ms) +✔ hash refusal prevents spawn and ordinary exit status is propagated (0.33718ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 89.580975 diff --git a/agents/magica/work/queue-329/gate/model-proxy-settings.test.txt b/agents/magica/work/queue-329/gate/model-proxy-settings.test.txt new file mode 100644 index 000000000..1676a5e54 --- /dev/null +++ b/agents/magica/work/queue-329/gate/model-proxy-settings.test.txt @@ -0,0 +1,30 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/settings.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/oEntjx +launch nice: 19 +✔ absent proxy settings preserves no-proxy contract; present settings validate pinned path (2.279065ms) +✔ proxy-config-invalid: unknown (0.760824ms) +✔ proxy-config-invalid: missing (0.316007ms) +✔ proxy-config-invalid: low (0.342174ms) +✔ proxy-config-invalid: high (0.289309ms) +✔ proxy-config-invalid: host (0.221466ms) +✔ proxy-config-invalid: string (0.200217ms) +✔ proxy-config-invalid: binary (0.182446ms) +✔ proxy-config-invalid: null (0.214646ms) +✔ proxy-config-invalid: malformed or symlink settings refuse (0.769231ms) +✔ proxy-install-missing: init requires fetch before any state is written (0.953781ms) +✔ proxy-install-invalid: binary or panel mutation refuses (0.646276ms) +✔ proxy-key-invalid: empty, multiline and too-long key refuse before creation (1.238406ms) +✔ exclusive initialization writes private sentinel config, never rewrites config.json or exposes key (10.511857ms) +✔ proxy-port-in-use: init refuses occupied loopback without files (2.513442ms) +✔ proxy-init-busy: existing lock refuses without touching it (1.59465ms) +✔ proxy-init-failed: symlink or non-private secrets directory refuses without changing it (1.520822ms) +✔ proxy-already-initialized: each existing target is preserved and never followed (1.724105ms) +✔ proxy-install-invalid: modified panel also refuses (0.487063ms) +ℹ tests 19 +ℹ suites 0 +ℹ pass 19 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 120.02679 diff --git a/agents/magica/work/queue-329/gate/npm-root.txt b/agents/magica/work/queue-329/gate/npm-root.txt new file mode 100644 index 000000000..05be03cbc --- /dev/null +++ b/agents/magica/work/queue-329/gate/npm-root.txt @@ -0,0 +1,6 @@ +command: ["npm", "ci", "--offline", "--ignore-scripts", "--no-audit", "--no-fund"] +TMPDIR: /mnt/storage/scratch/tmp/OS9Bg5 +launch nice: 19 +npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead + +added 128 packages in 2s diff --git a/agents/magica/work/queue-329/gate/npm-webui.txt b/agents/magica/work/queue-329/gate/npm-webui.txt new file mode 100644 index 000000000..5f103c37a --- /dev/null +++ b/agents/magica/work/queue-329/gate/npm-webui.txt @@ -0,0 +1,5 @@ +command: ["npm", "ci", "--offline", "--ignore-scripts", "--no-audit", "--no-fund"] +TMPDIR: /mnt/storage/scratch/tmp/OS9Bg5 +launch nice: 19 + +added 2 packages in 222ms diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.load.jsonl b/agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.load.jsonl new file mode 100644 index 000000000..cf0246dda --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.load.jsonl @@ -0,0 +1,13 @@ +{"utc": "2026-10-24T20:39:03.617+00:00", "load1": "2.07"} +{"utc": "2026-10-24T20:39:04.617+00:00", "load1": "2.07"} +{"utc": "2026-10-24T20:39:05.618+00:00", "load1": "2.14"} +{"utc": "2026-10-24T20:39:06.618+00:00", "load1": "2.14"} +{"utc": "2026-10-24T20:39:07.618+00:00", "load1": "2.14"} +{"utc": "2026-10-24T20:39:08.618+00:00", "load1": "2.14"} +{"utc": "2026-10-24T20:39:09.619+00:00", "load1": "2.14"} +{"utc": "2026-10-24T20:39:10.619+00:00", "load1": "2.05"} +{"utc": "2026-10-24T20:39:11.619+00:00", "load1": "2.05"} +{"utc": "2026-10-24T20:39:12.620+00:00", "load1": "2.05"} +{"utc": "2026-10-24T20:39:13.620+00:00", "load1": "2.05"} +{"utc": "2026-10-24T20:39:14.620+00:00", "load1": "2.05"} +{"utc": "2026-10-24T20:39:15.620+00:00", "load1": "2.05"} diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.txt new file mode 100644 index 000000000..6aeef8deb --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.txt @@ -0,0 +1,55 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/host.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/vIKtpP +begin: {"utc": "2026-10-24T20:39:03.617+00:00", "load1": "2.07"} +launch nice: 19 +✔ the host boots the broker, binds a launch in process, and the notifier DMs a blocking decision exactly once (937.017167ms) +✔ a notifier that dies takes the host down with exit 1, so the unit restarts the pair (261.467904ms) +✔ a second host for the same data root refuses with exit 3 while the first runs (181.094787ms) +✔ two bus starts racing for one data root leave one host running; the other refuses that a host already runs (592.391096ms) +✔ a host takes over a host.lock its dead host left, and puts back a live claim that replaced it meanwhile (1.701163ms) +✔ a host.lock that goes between the check and the read is tried again; one that can't be parsed still refuses as unreadable (0.734165ms) +✔ a live host's lock stays, however old the file is (0.479255ms) +✔ a host.lock left by a host killed with SIGKILL doesn't stop the next bus start (983.021908ms) +✔ while a host boots, a reader sees no host: the human commands still ask for --business, stop and status find none (238.046519ms) +✔ a host started before host.lock existed, holding only host.json, still refuses a second start, which leaves no lock (29.463227ms) +✔ a broker fork that throws leaves no host.lock and no host.json (32.006849ms) +✔ a broker send that throws leaves no host.lock and no host.json (30.754192ms) +✔ a broker that misses its boot wait leaves no host.lock and no host.json (32.019099ms) +✔ a notifier fork that throws stops the broker and leaves no host.lock and no host.json (258.982144ms) +✔ a notifier send that throws stops the broker and leaves no host.lock and no host.json (190.964437ms) +✔ a boot reply with no reader for the business refuses with exit 3 naming it, before the notifier starts, and leaves no host.lock and no live broker (175.586827ms) +✔ a boot reply with no reader for the business refuses with exit 3 naming it, with no notifier, and leaves no host.lock and no live broker (183.80746ms) +✔ a host.json that can't be written stops both children and leaves no host.lock (291.441254ms) +✔ an error event on the broker before it replies fails the start at once, and leaves no host.lock and no live child (32.125461ms) +✔ an error event on the notifier before it replies fails the start at once, and leaves no host.lock and no live child (181.417684ms) +✔ an error event on the broker while the notifier starts fails the start once the notifier replies (290.020768ms) +✔ an error event on the broker once the host is up stops the host with exit 1, and leaves no host.lock and no host.json (299.658737ms) +✔ an error event on the notifier once the host is up stops the host with exit 1, and leaves no host.lock and no host.json (365.997059ms) +✔ a broker reply that misses the wait breaks the channel: the late reply answers nothing, later requests refuse, the host exits 1 (1185.98022ms) +✔ a broker reply with another request's id, or none, breaks the channel and the host exits 1 (370.306157ms) +✔ a broker reply with no request waiting breaks the channel and the host exits 1 (180.733365ms) +✔ a notifier that refuses stops the broker and the host refuses with exit 3 (239.085041ms) +✔ a notifier that refuses after the broker died still refuses with exit 3, without a send to the dead broker (230.893865ms) +✔ a notifier that dies before it replies, after the broker died, still refuses, without a send to the dead broker (179.958631ms) +✔ a close send that fails with EPIPE after the notifier refuses still gives the notifier's refusal, exit 3 (243.515564ms) +✔ a close send that fails with EPIPE after the notifier dies unanswered still gives the notifier's error (173.2074ms) +✔ close() whose stop and close sends fail with EPIPE still finishes, with exit 1 (246.442595ms) +✔ watchChildren reports a child that died before it was called, and one that dies later (23.442073ms) +✔ bus stop refuses to signal a live pid that is not a bus host (202.862001ms) +✔ bus start refuses with exit 3 and the code when the broker refuses to boot; bus status names the lock (350.455448ms) +✔ bus start refuses with exit 3 without a notifier config (126.405969ms) +✔ bus start runs until bus stop; status reports it while it runs (846.985046ms) +✔ bus start --no-launch says launches are disabled in its host-up line and stops cleanly; with --pm it is a usage error (710.323232ms) +✔ bus-service.sh renders the unit and installs it into a given directory (194.605252ms) +✔ bus-service.sh pins the claude binary, refuses one the unit can't carry, and renders without one (429.298941ms) +✔ bus-service.sh refuses a directory pin and keeps a symlink default unresolved (95.080352ms) +✔ bus-service.sh refuses a default claude without the execute bit, or in a PATH dir with a space (58.812699ms) +✔ bus start --pm while halted keeps the control host up without launching the chief (436.122093ms) +ℹ tests 43 +ℹ suites 0 +ℹ pass 43 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 12228.779276 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-copy.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-copy.test.txt new file mode 100644 index 000000000..3f50886ca --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-copy.test.txt @@ -0,0 +1,29 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-copy.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/MLCeSS +launch nice: 19 +✔ a copy carries every file the harness modules read from it (538.055303ms) +✔ shared copy: npm ci, pushed reachability, readonly/existing copy, webui delegation (586.982951ms) +✔ wrapper preserves Q81 lease and marker, rejects foreign/symlink; check uses effective roots (777.180355ms) +✔ row 190 N6: check --instance passes only when the wrapper exports the instance's MOSAIC_CONFIG (698.386464ms) +✔ bus unit copy/pm pins, install refuses all busy states and failed reads, drop-in refusal (797.751947ms) +✔ missing package manifest refuses before npm; npm failure removes the unpublished temp copy (542.68672ms) +✔ real pinned install loads bus and Console; same-copy mosaic talk passes proof, other trees refuse (3869.794282ms) +✔ bus status reads effective copy/pm/drop-ins without writes; check refuses an overridden ExecStart (685.476487ms) +✔ drop-ins in either override field and malformed metadata refuse; uninstall also checks --no-reload (432.547998ms) +✔ install never shows a template name on systemd 261; template drop-ins still refuse (358.62729ms) +✔ unlisted instance drop-in is found in another unit lookup directory; path discovery errors refuse (361.102887ms) +✔ inherited mosaic-.service.d override refuses without changing the unit (423.096056ms) +✔ inherited service.d override refuses without changing the unit (433.542436ms) +✔ inherited drop-in unreadable directory or file refuses before writing (365.045127ms) +✔ row 232: copy --bundle copies a SHA the bundle's refactor reaches, byte-identical to copy SHA, and refuses the rest (2370.853647ms) +✔ row 232: wrapper --create writes the first wrapper only, the same bytes wrapper ID writes, and refuses over any file (848.826707ms) +✔ row 232: check --units external reads the system units, the default reads the user units (688.32184ms) +✔ Vikunja 614: bundle and checkout copy leave an unreadable caller directory before find (1090.386094ms) +ℹ tests 18 +ℹ suites 0 +ℹ pass 18 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 15975.999932 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-instances.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-instances.test.txt new file mode 100644 index 000000000..8374e0ec6 --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-instances.test.txt @@ -0,0 +1,38 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-instances.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/MLCeSS +launch nice: 19 +▶ T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim + ✔ alpha and beta get a 0700 config dir, a config naming ~/.mosaic-NAME, a 0700 root and a 0644 marker (60.855677ms) + ✔ under umask 077 the config and marker are 0600: the source honors the operator's umask (29.986402ms) + ✔ a second bootstrap of each changes no byte, mode or mtime (115.072701ms) + ✔ a non-empty root without its own marker refuses before anything is written, worktrees included (116.667738ms) + ✔ an empty existing root is claimed, and an existing config whose root lost its marker refuses, not repairs (58.39322ms) + ✔ a dangling symlink at the config path is never written through, named or default (59.409721ms) + ✔ bad names and stray arguments exit 4 and write nothing (409.956001ms) + ✔ --instance dev writes exactly what no flag writes (61.531186ms) +✔ T-I1 bootstrap --instance creates each instance's config, root and marker once, and refuses what it must not claim (913.517588ms) +▶ T-I2 selection: the four rows of D1 through the instance op and through an entry point + ✔ row 1: no flag and no MOSAIC_CONFIG is the default; a missing default config leaves the data root empty (53.255893ms) + ✔ row 2: MOSAIC_CONFIG alone is that config with the default names (25.680568ms) + ✔ row 3: --instance NAME alone is NAME's config, root and suffix (52.17179ms) + ✔ row 4: both must name one file; a symlink to it agrees, any other file exits 4 (358.384219ms) + ✔ a named instance with no config exits 3 with its own bootstrap hint (24.983312ms) + ✔ an entry point takes --instance in any position, once, and refuses a mismatch before it prints (172.944949ms) + ✔ copy takes no --instance in either script: every instance shares the copies (16.035812ms) +✔ T-I2 selection: the four rows of D1 through the instance op and through an entry point (763.999307ms) +▶ T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker + ✔ alpha's config pointing at beta's root refuses instance-root-mismatch in every op (138.993674ms) + ✔ MOSAIC_CONFIG naming alpha's config with no flag refuses: the root is alpha's (26.814588ms) + ✔ a default config whose root carries alpha's marker refuses; one naming dev, or none, passes (79.544204ms) + ✔ a named root whose marker is missing, a symlink, unparsable or the wrong shape refuses instance-root-unclaimed (211.764473ms) +✔ T-I7 claims: the instance op refuses a root another instance claims, and a named root with no marker (520.793767ms) +✔ T-I5 two real bus hosts, one per instance, run at once and each answers from its own socket under its own root (1365.453024ms) +✔ T-I10 the guard protects every instance's config dir and data roots, even under a corrupt config (70.272405ms) +ℹ tests 24 +ℹ suites 0 +ℹ pass 24 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 3736.050614 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.load.jsonl b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.load.jsonl new file mode 100644 index 000000000..75e7d6460 --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.load.jsonl @@ -0,0 +1,84 @@ +{"utc": "2026-10-24T20:39:15.880+00:00", "load1": "2.05"} +{"utc": "2026-10-24T20:39:16.881+00:00", "load1": "2.05"} +{"utc": "2026-10-24T20:39:17.881+00:00", "load1": "2.05"} +{"utc": "2026-10-24T20:39:18.881+00:00", "load1": "2.05"} +{"utc": "2026-10-24T20:39:19.881+00:00", "load1": "2.05"} +{"utc": "2026-10-24T20:39:20.882+00:00", "load1": "1.96"} +{"utc": "2026-10-24T20:39:21.882+00:00", "load1": "1.96"} +{"utc": "2026-10-24T20:39:22.882+00:00", "load1": "1.96"} +{"utc": "2026-10-24T20:39:23.882+00:00", "load1": "1.96"} +{"utc": "2026-10-24T20:39:24.883+00:00", "load1": "1.96"} +{"utc": "2026-10-24T20:39:25.883+00:00", "load1": "2.53"} +{"utc": "2026-10-24T20:39:26.883+00:00", "load1": "2.53"} +{"utc": "2026-10-24T20:39:27.884+00:00", "load1": "2.53"} +{"utc": "2026-10-24T20:39:28.884+00:00", "load1": "2.53"} +{"utc": "2026-10-24T20:39:29.884+00:00", "load1": "2.53"} +{"utc": "2026-10-24T20:39:30.885+00:00", "load1": "2.57"} +{"utc": "2026-10-24T20:39:31.885+00:00", "load1": "2.57"} +{"utc": "2026-10-24T20:39:32.885+00:00", "load1": "2.57"} +{"utc": "2026-10-24T20:39:33.886+00:00", "load1": "2.57"} +{"utc": "2026-10-24T20:39:34.886+00:00", "load1": "2.57"} +{"utc": "2026-10-24T20:39:35.886+00:00", "load1": "2.52"} +{"utc": "2026-10-24T20:39:36.886+00:00", "load1": "2.52"} +{"utc": "2026-10-24T20:39:37.887+00:00", "load1": "2.52"} +{"utc": "2026-10-24T20:39:38.887+00:00", "load1": "2.52"} +{"utc": "2026-10-24T20:39:39.887+00:00", "load1": "2.52"} +{"utc": "2026-10-24T20:39:40.888+00:00", "load1": "2.80"} +{"utc": "2026-10-24T20:39:41.888+00:00", "load1": "2.80"} +{"utc": "2026-10-24T20:39:42.888+00:00", "load1": "2.80"} +{"utc": "2026-10-24T20:39:43.888+00:00", "load1": "2.80"} +{"utc": "2026-10-24T20:39:44.889+00:00", "load1": "2.80"} +{"utc": "2026-10-24T20:39:45.889+00:00", "load1": "2.82"} +{"utc": "2026-10-24T20:39:46.889+00:00", "load1": "2.82"} +{"utc": "2026-10-24T20:39:47.890+00:00", "load1": "2.82"} +{"utc": "2026-10-24T20:39:48.890+00:00", "load1": "2.82"} +{"utc": "2026-10-24T20:39:49.890+00:00", "load1": "2.82"} +{"utc": "2026-10-24T20:39:50.890+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:39:51.891+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:39:52.891+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:39:53.891+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:39:54.892+00:00", "load1": "2.99"} +{"utc": "2026-10-24T20:39:55.892+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:39:56.892+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:39:57.892+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:39:58.893+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:39:59.893+00:00", "load1": "3.15"} +{"utc": "2026-10-24T20:40:00.893+00:00", "load1": "3.06"} +{"utc": "2026-10-24T20:40:01.894+00:00", "load1": "3.06"} +{"utc": "2026-10-24T20:40:02.894+00:00", "load1": "3.06"} +{"utc": "2026-10-24T20:40:03.894+00:00", "load1": "3.06"} +{"utc": "2026-10-24T20:40:04.894+00:00", "load1": "3.06"} +{"utc": "2026-10-24T20:40:05.895+00:00", "load1": "3.14"} +{"utc": "2026-10-24T20:40:06.895+00:00", "load1": "3.14"} +{"utc": "2026-10-24T20:40:07.895+00:00", "load1": "3.14"} +{"utc": "2026-10-24T20:40:08.896+00:00", "load1": "3.14"} +{"utc": "2026-10-24T20:40:09.896+00:00", "load1": "3.14"} +{"utc": "2026-10-24T20:40:10.896+00:00", "load1": "3.36"} +{"utc": "2026-10-24T20:40:11.896+00:00", "load1": "3.36"} +{"utc": "2026-10-24T20:40:12.897+00:00", "load1": "3.36"} +{"utc": "2026-10-24T20:40:13.897+00:00", "load1": "3.36"} +{"utc": "2026-10-24T20:40:14.897+00:00", "load1": "3.36"} +{"utc": "2026-10-24T20:40:15.897+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:40:16.898+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:40:17.898+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:40:18.898+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:40:19.899+00:00", "load1": "3.26"} +{"utc": "2026-10-24T20:40:20.899+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:40:21.899+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:40:22.899+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:40:23.900+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:40:24.900+00:00", "load1": "3.23"} +{"utc": "2026-10-24T20:40:25.900+00:00", "load1": "3.22"} +{"utc": "2026-10-24T20:40:26.901+00:00", "load1": "3.22"} +{"utc": "2026-10-24T20:40:27.901+00:00", "load1": "3.22"} +{"utc": "2026-10-24T20:40:28.901+00:00", "load1": "3.22"} +{"utc": "2026-10-24T20:40:29.901+00:00", "load1": "3.22"} +{"utc": "2026-10-24T20:40:30.902+00:00", "load1": "3.12"} +{"utc": "2026-10-24T20:40:31.902+00:00", "load1": "3.12"} +{"utc": "2026-10-24T20:40:32.902+00:00", "load1": "3.12"} +{"utc": "2026-10-24T20:40:33.902+00:00", "load1": "3.12"} +{"utc": "2026-10-24T20:40:34.903+00:00", "load1": "3.12"} +{"utc": "2026-10-24T20:40:35.903+00:00", "load1": "3.19"} +{"utc": "2026-10-24T20:40:36.903+00:00", "load1": "3.19"} +{"utc": "2026-10-24T20:40:37.903+00:00", "load1": "3.19"} +{"utc": "2026-10-24T20:40:38.904+00:00", "load1": "3.19"} diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.txt new file mode 100644 index 000000000..bff58733f --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.txt @@ -0,0 +1,37 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-release-external.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/MxTPJh +begin: {"utc": "2026-10-24T20:39:15.880+00:00", "load1": "2.05"} +launch nice: 19 +✔ row 232: confirm, revert, gate, --to and --expect-from need --units external; the user-only flags are usage under it, and so are row 273's --send and --no-sso (1015.007252ms) +✔ row 232: pm-on and activate --pm-after-harness refuse external-pm (1036.490274ms) +✔ row 232: units-running (N4) refuses while a unit is active and leaves the store, the log and TAKEN; failed counts as down (2009.757581ms) +✔ row 232: activate stages: the pointer stays, AWAITING-UNITS names TO, a backup of the stopped store, no directory in the set, no --user, no journal (1679.455817ms) +✔ row 232: A3 order: capture-failed and marker-failed refuse with exit 3 and leave no marker or FAILED (1696.488287ms) +✔ row 232: confirm and revert refuse open-activation with no marker, two, the wrong copy, or one the log holds closed; refusals name no activation (3959.249404ms) +✔ row 232: confirm polls: bus status good after 3 s fails with --timeout 1, writes FAILED and leaves the rest; FAILED then refuses activation-failed (2282.225492ms) +✔ row 232: confirm polls to a pass with --timeout 10: the pointer, an ok line that reads as the started run, no marker (5642.71287ms) +✔ row 232: stale-start: @1792540799 fails a start floor of 1792540800 with stale-start (3065.271994ms) +✔ row 232: stale-start is a gate code: an enter time that turns to @1792540800 after 2 s passes with --timeout 10 (4389.888431ms) +✔ row 232: gate (N2, A2f): --since 1792540800 passes @1792540800 and fails @1792540799; it writes nothing (1639.698576ms) +✔ row 232: the external PM check reads launches list: one live run of launch.by since the start passes (8364.848911ms) +✔ row 232: revert puts the wrapper back and leaves the store when nothing migrated (1501.138143ms) +✔ row 232: confirm --rollback refuses rollback-mismatch, and logs rollback-failed with exit 2 when OLD fails its gate (3642.757421ms) +✔ row 232: confirm --rollback after a --restore swap logs rollbackCode not-attempted; rollback --restore finds an external backup (3308.691367ms) +✔ row 232: sequence 1: activate, confirm times out, revert, confirm --rollback --cause A5: gate-failed rollback ok (4873.0688ms) +✔ row 232: sequence 2: activate --migrate, the wrapper install fails, revert restores TAKEN, confirm --rollback --cause A3 (3096.213326ms) +✔ row 232: sequence 3: activate, root's A4 fails, revert, confirm --rollback --cause A4: failed code units-start (2897.764111ms) +✔ row 232: sequence 4: a capture failure leaves nothing open, then A2f's gate OLD writes nothing (1893.841299ms) +✔ row 232: sequence 5: a confirm of the wrong copy is refused, and revert and confirm --rollback still close the activation (3410.36492ms) +✔ row 232: sequence 6: a revert that fails leaves the activation open, and the next --plan refuses interrupted-run (1747.448282ms) +✔ row 232: sequence 7: adopt, two confirmed activates, rollback --to the previous copy, confirmed, logs op rollback (7605.688625ms) +✔ row 232: sequence 8: a migration that writes and fails: revert restores the backup byte for byte, confirm --rollback --cause A3 (2995.32386ms) +✔ row 232: user mode: every systemctl call carries --user, and activate, rollback and check make the base's calls (6665.366743ms) +✔ row 232: user mode: a default activate --plan prints the base's bytes (2525.738019ms) +ℹ tests 25 +ℹ suites 0 +ℹ pass 25 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 83733.802587 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.load.jsonl b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.load.jsonl new file mode 100644 index 000000000..7e99087d6 --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.load.jsonl @@ -0,0 +1,724 @@ +{"utc": "2026-10-24T20:40:39.648+00:00", "load1": "3.19"} +{"utc": "2026-10-24T20:40:40.649+00:00", "load1": "3.17"} +{"utc": "2026-10-24T20:40:41.649+00:00", "load1": "3.17"} +{"utc": "2026-10-24T20:40:42.650+00:00", "load1": "3.17"} +{"utc": "2026-10-24T20:40:43.650+00:00", "load1": "3.17"} +{"utc": "2026-10-24T20:40:44.650+00:00", "load1": "3.17"} +{"utc": "2026-10-24T20:40:45.650+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:40:46.651+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:40:47.651+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:40:48.651+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:40:49.651+00:00", "load1": "3.00"} +{"utc": "2026-10-24T20:40:50.652+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:40:51.652+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:40:52.652+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:40:53.652+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:40:54.653+00:00", "load1": "2.92"} +{"utc": "2026-10-24T20:40:55.653+00:00", "load1": "2.85"} +{"utc": "2026-10-24T20:40:56.653+00:00", "load1": "2.85"} +{"utc": "2026-10-24T20:40:57.654+00:00", "load1": "2.85"} +{"utc": "2026-10-24T20:40:58.654+00:00", "load1": "2.85"} +{"utc": "2026-10-24T20:40:59.654+00:00", "load1": "2.85"} +{"utc": "2026-10-24T20:41:00.655+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:01.655+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:02.655+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:03.655+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:04.656+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:05.656+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:06.656+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:07.657+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:08.657+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:09.657+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:10.657+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:11.658+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:12.658+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:13.658+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:14.659+00:00", "load1": "3.02"} +{"utc": "2026-10-24T20:41:15.659+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:41:16.659+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:41:17.659+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:41:18.660+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:41:19.660+00:00", "load1": "3.49"} +{"utc": "2026-10-24T20:41:20.660+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:41:21.661+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:41:22.661+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:41:23.661+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:41:24.662+00:00", "load1": "3.37"} +{"utc": "2026-10-24T20:41:25.662+00:00", "load1": "3.34"} +{"utc": "2026-10-24T20:41:26.662+00:00", "load1": "3.34"} +{"utc": "2026-10-24T20:41:27.663+00:00", "load1": "3.34"} +{"utc": "2026-10-24T20:41:28.663+00:00", "load1": "3.34"} +{"utc": "2026-10-24T20:41:29.663+00:00", "load1": "3.34"} +{"utc": "2026-10-24T20:41:30.663+00:00", "load1": "3.64"} +{"utc": "2026-10-24T20:41:31.664+00:00", "load1": "3.64"} +{"utc": "2026-10-24T20:41:32.664+00:00", "load1": "3.64"} +{"utc": "2026-10-24T20:41:33.664+00:00", "load1": "3.64"} +{"utc": "2026-10-24T20:41:34.664+00:00", "load1": "3.64"} +{"utc": "2026-10-24T20:41:35.665+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:41:36.665+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:41:37.666+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:41:38.666+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:41:39.666+00:00", "load1": "3.51"} +{"utc": "2026-10-24T20:41:40.666+00:00", "load1": "3.87"} +{"utc": "2026-10-24T20:41:41.667+00:00", "load1": "3.87"} +{"utc": "2026-10-24T20:41:42.667+00:00", "load1": "3.87"} +{"utc": "2026-10-24T20:41:43.667+00:00", "load1": "3.87"} +{"utc": "2026-10-24T20:41:44.668+00:00", "load1": "3.87"} +{"utc": "2026-10-24T20:41:45.668+00:00", "load1": "3.80"} +{"utc": "2026-10-24T20:41:46.668+00:00", "load1": "3.80"} +{"utc": "2026-10-24T20:41:47.668+00:00", "load1": "3.80"} +{"utc": "2026-10-24T20:41:48.669+00:00", "load1": "3.80"} +{"utc": "2026-10-24T20:41:49.669+00:00", "load1": "3.80"} +{"utc": "2026-10-24T20:41:50.669+00:00", "load1": "3.73"} +{"utc": "2026-10-24T20:41:51.669+00:00", "load1": "3.73"} +{"utc": "2026-10-24T20:41:52.670+00:00", "load1": "3.73"} +{"utc": "2026-10-24T20:41:53.670+00:00", "load1": "3.73"} +{"utc": "2026-10-24T20:41:54.670+00:00", "load1": "3.73"} +{"utc": "2026-10-24T20:41:55.671+00:00", "load1": "3.59"} +{"utc": "2026-10-24T20:41:56.671+00:00", "load1": "3.59"} +{"utc": "2026-10-24T20:41:57.671+00:00", "load1": "3.59"} +{"utc": "2026-10-24T20:41:58.671+00:00", "load1": "3.59"} +{"utc": "2026-10-24T20:41:59.672+00:00", "load1": "3.59"} +{"utc": "2026-10-24T20:42:00.672+00:00", "load1": "3.39"} +{"utc": "2026-10-24T20:42:01.672+00:00", "load1": "3.39"} +{"utc": "2026-10-24T20:42:02.673+00:00", "load1": "3.39"} +{"utc": "2026-10-24T20:42:03.673+00:00", "load1": "3.39"} +{"utc": "2026-10-24T20:42:04.673+00:00", "load1": "3.39"} +{"utc": "2026-10-24T20:42:05.673+00:00", "load1": "3.19"} +{"utc": "2026-10-24T20:42:06.674+00:00", "load1": "3.19"} +{"utc": "2026-10-24T20:42:07.674+00:00", "load1": "3.19"} +{"utc": "2026-10-24T20:42:08.674+00:00", "load1": "3.19"} +{"utc": "2026-10-24T20:42:09.674+00:00", "load1": "3.19"} +{"utc": "2026-10-24T20:42:10.675+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:42:11.675+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:42:12.675+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:42:13.676+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:42:14.676+00:00", "load1": "3.18"} +{"utc": "2026-10-24T20:42:15.676+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:42:16.677+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:42:17.677+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:42:18.677+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:42:19.677+00:00", "load1": "3.32"} +{"utc": "2026-10-24T20:42:20.678+00:00", "load1": "3.22"} +{"utc": "2026-10-24T20:42:21.678+00:00", "load1": "3.22"} +{"utc": "2026-10-24T20:42:22.678+00:00", "load1": "3.22"} +{"utc": "2026-10-24T20:42:23.679+00:00", "load1": "3.22"} +{"utc": "2026-10-24T20:42:24.679+00:00", "load1": "3.22"} +{"utc": "2026-10-24T20:42:25.679+00:00", "load1": "3.12"} +{"utc": "2026-10-24T20:42:26.679+00:00", "load1": "3.12"} +{"utc": "2026-10-24T20:42:27.680+00:00", "load1": "3.12"} +{"utc": "2026-10-24T20:42:28.680+00:00", "load1": "3.12"} +{"utc": "2026-10-24T20:42:29.680+00:00", "load1": "3.12"} +{"utc": "2026-10-24T20:42:30.681+00:00", "load1": "3.75"} +{"utc": "2026-10-24T20:42:31.681+00:00", "load1": "3.75"} +{"utc": "2026-10-24T20:42:32.681+00:00", "load1": "3.75"} +{"utc": "2026-10-24T20:42:33.681+00:00", "load1": "3.75"} +{"utc": "2026-10-24T20:42:34.682+00:00", "load1": "3.75"} +{"utc": "2026-10-24T20:42:35.682+00:00", "load1": "3.53"} +{"utc": "2026-10-24T20:42:36.682+00:00", "load1": "3.53"} +{"utc": "2026-10-24T20:42:37.683+00:00", "load1": "3.53"} +{"utc": "2026-10-24T20:42:38.683+00:00", "load1": "3.53"} +{"utc": "2026-10-24T20:42:39.683+00:00", "load1": "3.53"} +{"utc": "2026-10-24T20:42:40.683+00:00", "load1": "3.57"} +{"utc": "2026-10-24T20:42:41.684+00:00", "load1": "3.57"} +{"utc": "2026-10-24T20:42:42.684+00:00", "load1": "3.57"} +{"utc": "2026-10-24T20:42:43.684+00:00", "load1": "3.57"} +{"utc": "2026-10-24T20:42:44.685+00:00", "load1": "3.57"} +{"utc": "2026-10-24T20:42:45.685+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:42:46.685+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:42:47.686+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:42:48.686+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:42:49.686+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:42:50.687+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:42:51.687+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:42:52.687+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:42:53.687+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:42:54.688+00:00", "load1": "4.00"} +{"utc": "2026-10-24T20:42:55.688+00:00", "load1": "4.24"} +{"utc": "2026-10-24T20:42:56.688+00:00", "load1": "4.24"} +{"utc": "2026-10-24T20:42:57.689+00:00", "load1": "4.24"} +{"utc": "2026-10-24T20:42:58.689+00:00", "load1": "4.24"} +{"utc": "2026-10-24T20:42:59.689+00:00", "load1": "4.24"} +{"utc": "2026-10-24T20:43:00.690+00:00", "load1": "4.22"} +{"utc": "2026-10-24T20:43:01.690+00:00", "load1": "4.22"} +{"utc": "2026-10-24T20:43:02.690+00:00", "load1": "4.22"} +{"utc": "2026-10-24T20:43:03.691+00:00", "load1": "4.22"} +{"utc": "2026-10-24T20:43:04.691+00:00", "load1": "4.22"} +{"utc": "2026-10-24T20:43:05.691+00:00", "load1": "4.45"} +{"utc": "2026-10-24T20:43:06.691+00:00", "load1": "4.45"} +{"utc": "2026-10-24T20:43:07.692+00:00", "load1": "4.45"} +{"utc": "2026-10-24T20:43:08.692+00:00", "load1": "4.45"} +{"utc": "2026-10-24T20:43:09.692+00:00", "load1": "4.45"} +{"utc": "2026-10-24T20:43:10.693+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:43:11.693+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:43:12.693+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:43:13.693+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:43:14.694+00:00", "load1": "4.41"} +{"utc": "2026-10-24T20:43:15.694+00:00", "load1": "4.54"} +{"utc": "2026-10-24T20:43:16.694+00:00", "load1": "4.54"} +{"utc": "2026-10-24T20:43:17.695+00:00", "load1": "4.54"} +{"utc": "2026-10-24T20:43:18.695+00:00", "load1": "4.54"} +{"utc": "2026-10-24T20:43:19.695+00:00", "load1": "4.54"} +{"utc": "2026-10-24T20:43:20.695+00:00", "load1": "4.49"} +{"utc": "2026-10-24T20:43:21.696+00:00", "load1": "4.49"} +{"utc": "2026-10-24T20:43:22.696+00:00", "load1": "4.49"} +{"utc": "2026-10-24T20:43:23.696+00:00", "load1": "4.49"} +{"utc": "2026-10-24T20:43:24.696+00:00", "load1": "4.49"} +{"utc": "2026-10-24T20:43:25.697+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:43:26.697+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:43:27.697+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:43:28.698+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:43:29.698+00:00", "load1": "4.61"} +{"utc": "2026-10-24T20:43:30.698+00:00", "load1": "4.65"} +{"utc": "2026-10-24T20:43:31.699+00:00", "load1": "4.65"} +{"utc": "2026-10-24T20:43:32.699+00:00", "load1": "4.65"} +{"utc": "2026-10-24T20:43:33.699+00:00", "load1": "4.65"} +{"utc": "2026-10-24T20:43:34.700+00:00", "load1": "4.65"} +{"utc": "2026-10-24T20:43:35.700+00:00", "load1": "4.67"} +{"utc": "2026-10-24T20:43:36.700+00:00", "load1": "4.67"} +{"utc": "2026-10-24T20:43:37.701+00:00", "load1": "4.67"} +{"utc": "2026-10-24T20:43:38.701+00:00", "load1": "4.67"} +{"utc": "2026-10-24T20:43:39.701+00:00", "load1": "4.67"} +{"utc": "2026-10-24T20:43:40.702+00:00", "load1": "4.62"} +{"utc": "2026-10-24T20:43:41.702+00:00", "load1": "4.62"} +{"utc": "2026-10-24T20:43:42.702+00:00", "load1": "4.62"} +{"utc": "2026-10-24T20:43:43.702+00:00", "load1": "4.62"} +{"utc": "2026-10-24T20:43:44.703+00:00", "load1": "4.62"} +{"utc": "2026-10-24T20:43:45.703+00:00", "load1": "4.57"} +{"utc": "2026-10-24T20:43:46.703+00:00", "load1": "4.57"} +{"utc": "2026-10-24T20:43:47.704+00:00", "load1": "4.57"} +{"utc": "2026-10-24T20:43:48.704+00:00", "load1": "4.57"} +{"utc": "2026-10-24T20:43:49.704+00:00", "load1": "4.57"} +{"utc": "2026-10-24T20:43:50.705+00:00", "load1": "4.69"} +{"utc": "2026-10-24T20:43:51.705+00:00", "load1": "4.69"} +{"utc": "2026-10-24T20:43:52.705+00:00", "load1": "4.69"} +{"utc": "2026-10-24T20:43:53.706+00:00", "load1": "4.69"} +{"utc": "2026-10-24T20:43:54.706+00:00", "load1": "4.69"} +{"utc": "2026-10-24T20:43:55.706+00:00", "load1": "4.63"} +{"utc": "2026-10-24T20:43:56.707+00:00", "load1": "4.63"} +{"utc": "2026-10-24T20:43:57.707+00:00", "load1": "4.63"} +{"utc": "2026-10-24T20:43:58.707+00:00", "load1": "4.63"} +{"utc": "2026-10-24T20:43:59.707+00:00", "load1": "4.63"} +{"utc": "2026-10-24T20:44:00.708+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:44:01.708+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:44:02.708+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:44:03.709+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:44:04.709+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:44:05.709+00:00", "load1": "4.29"} +{"utc": "2026-10-24T20:44:06.709+00:00", "load1": "4.29"} +{"utc": "2026-10-24T20:44:07.710+00:00", "load1": "4.29"} +{"utc": "2026-10-24T20:44:08.710+00:00", "load1": "4.29"} +{"utc": "2026-10-24T20:44:09.710+00:00", "load1": "4.29"} +{"utc": "2026-10-24T20:44:10.711+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:44:11.711+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:44:12.711+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:44:13.712+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:44:14.712+00:00", "load1": "4.27"} +{"utc": "2026-10-24T20:44:15.712+00:00", "load1": "4.17"} +{"utc": "2026-10-24T20:44:16.712+00:00", "load1": "4.17"} +{"utc": "2026-10-24T20:44:17.713+00:00", "load1": "4.17"} +{"utc": "2026-10-24T20:44:18.713+00:00", "load1": "4.17"} +{"utc": "2026-10-24T20:44:19.713+00:00", "load1": "4.17"} +{"utc": "2026-10-24T20:44:20.714+00:00", "load1": "3.99"} +{"utc": "2026-10-24T20:44:21.714+00:00", "load1": "3.99"} +{"utc": "2026-10-24T20:44:22.714+00:00", "load1": "3.99"} +{"utc": "2026-10-24T20:44:23.715+00:00", "load1": "3.99"} +{"utc": "2026-10-24T20:44:24.715+00:00", "load1": "3.99"} +{"utc": "2026-10-24T20:44:25.715+00:00", "load1": "4.23"} +{"utc": "2026-10-24T20:44:26.715+00:00", "load1": "4.23"} +{"utc": "2026-10-24T20:44:27.716+00:00", "load1": "4.23"} +{"utc": "2026-10-24T20:44:28.716+00:00", "load1": "4.23"} +{"utc": "2026-10-24T20:44:29.716+00:00", "load1": "4.23"} +{"utc": "2026-10-24T20:44:30.717+00:00", "load1": "4.38"} +{"utc": "2026-10-24T20:44:31.717+00:00", "load1": "4.38"} +{"utc": "2026-10-24T20:44:32.718+00:00", "load1": "4.38"} +{"utc": "2026-10-24T20:44:33.718+00:00", "load1": "4.38"} +{"utc": "2026-10-24T20:44:34.718+00:00", "load1": "4.38"} +{"utc": "2026-10-24T20:44:35.719+00:00", "load1": "4.51"} +{"utc": "2026-10-24T20:44:36.719+00:00", "load1": "4.51"} +{"utc": "2026-10-24T20:44:37.719+00:00", "load1": "4.51"} +{"utc": "2026-10-24T20:44:38.720+00:00", "load1": "4.51"} +{"utc": "2026-10-24T20:44:39.720+00:00", "load1": "4.51"} +{"utc": "2026-10-24T20:44:40.720+00:00", "load1": "4.55"} +{"utc": "2026-10-24T20:44:41.721+00:00", "load1": "4.55"} +{"utc": "2026-10-24T20:44:42.721+00:00", "load1": "4.55"} +{"utc": "2026-10-24T20:44:43.721+00:00", "load1": "4.55"} +{"utc": "2026-10-24T20:44:44.722+00:00", "load1": "4.55"} +{"utc": "2026-10-24T20:44:45.722+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:44:46.722+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:44:47.722+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:44:48.723+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:44:49.723+00:00", "load1": "4.58"} +{"utc": "2026-10-24T20:44:50.723+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:44:51.724+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:44:52.724+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:44:53.724+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:44:54.724+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:44:55.725+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:44:56.725+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:44:57.725+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:44:58.726+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:44:59.726+00:00", "load1": "4.94"} +{"utc": "2026-10-24T20:45:00.726+00:00", "load1": "5.19"} +{"utc": "2026-10-24T20:45:01.727+00:00", "load1": "5.19"} +{"utc": "2026-10-24T20:45:02.727+00:00", "load1": "5.19"} +{"utc": "2026-10-24T20:45:03.727+00:00", "load1": "5.19"} +{"utc": "2026-10-24T20:45:04.727+00:00", "load1": "5.19"} +{"utc": "2026-10-24T20:45:05.728+00:00", "load1": "5.01"} +{"utc": "2026-10-24T20:45:06.728+00:00", "load1": "5.01"} +{"utc": "2026-10-24T20:45:07.728+00:00", "load1": "5.01"} +{"utc": "2026-10-24T20:45:08.729+00:00", "load1": "5.01"} +{"utc": "2026-10-24T20:45:09.729+00:00", "load1": "5.01"} +{"utc": "2026-10-24T20:45:10.729+00:00", "load1": "4.69"} +{"utc": "2026-10-24T20:45:11.729+00:00", "load1": "4.69"} +{"utc": "2026-10-24T20:45:12.730+00:00", "load1": "4.69"} +{"utc": "2026-10-24T20:45:13.730+00:00", "load1": "4.69"} +{"utc": "2026-10-24T20:45:14.730+00:00", "load1": "4.69"} +{"utc": "2026-10-24T20:45:15.730+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:45:16.731+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:45:17.731+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:45:18.731+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:45:19.732+00:00", "load1": "4.47"} +{"utc": "2026-10-24T20:45:20.732+00:00", "load1": "4.76"} +{"utc": "2026-10-24T20:45:21.732+00:00", "load1": "4.76"} +{"utc": "2026-10-24T20:45:22.732+00:00", "load1": "4.76"} +{"utc": "2026-10-24T20:45:23.733+00:00", "load1": "4.76"} +{"utc": "2026-10-24T20:45:24.733+00:00", "load1": "4.76"} +{"utc": "2026-10-24T20:45:25.733+00:00", "load1": "4.70"} +{"utc": "2026-10-24T20:45:26.734+00:00", "load1": "4.70"} +{"utc": "2026-10-24T20:45:27.734+00:00", "load1": "4.70"} +{"utc": "2026-10-24T20:45:28.734+00:00", "load1": "4.70"} +{"utc": "2026-10-24T20:45:29.735+00:00", "load1": "4.70"} +{"utc": "2026-10-24T20:45:30.735+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:45:31.735+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:45:32.735+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:45:33.736+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:45:34.736+00:00", "load1": "4.56"} +{"utc": "2026-10-24T20:45:35.736+00:00", "load1": "4.43"} +{"utc": "2026-10-24T20:45:36.737+00:00", "load1": "4.43"} +{"utc": "2026-10-24T20:45:37.737+00:00", "load1": "4.43"} +{"utc": "2026-10-24T20:45:38.737+00:00", "load1": "4.43"} +{"utc": "2026-10-24T20:45:39.737+00:00", "load1": "4.43"} +{"utc": "2026-10-24T20:45:40.738+00:00", "load1": "4.32"} +{"utc": "2026-10-24T20:45:41.738+00:00", "load1": "4.32"} +{"utc": "2026-10-24T20:45:42.738+00:00", "load1": "4.32"} +{"utc": "2026-10-24T20:45:43.739+00:00", "load1": "4.32"} +{"utc": "2026-10-24T20:45:44.739+00:00", "load1": "4.32"} +{"utc": "2026-10-24T20:45:45.739+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:45:46.739+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:45:47.740+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:45:48.740+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:45:49.740+00:00", "load1": "4.05"} +{"utc": "2026-10-24T20:45:50.741+00:00", "load1": "3.81"} +{"utc": "2026-10-24T20:45:51.741+00:00", "load1": "3.81"} +{"utc": "2026-10-24T20:45:52.741+00:00", "load1": "3.81"} +{"utc": "2026-10-24T20:45:53.741+00:00", "load1": "3.81"} +{"utc": "2026-10-24T20:45:54.742+00:00", "load1": "3.81"} +{"utc": "2026-10-24T20:45:55.742+00:00", "load1": "5.59"} +{"utc": "2026-10-24T20:45:56.742+00:00", "load1": "5.59"} +{"utc": "2026-10-24T20:45:57.742+00:00", "load1": "5.59"} +{"utc": "2026-10-24T20:45:58.743+00:00", "load1": "5.59"} +{"utc": "2026-10-24T20:45:59.743+00:00", "load1": "5.59"} +{"utc": "2026-10-24T20:46:00.743+00:00", "load1": "5.54"} +{"utc": "2026-10-24T20:46:01.744+00:00", "load1": "5.54"} +{"utc": "2026-10-24T20:46:02.744+00:00", "load1": "5.54"} +{"utc": "2026-10-24T20:46:03.744+00:00", "load1": "5.54"} +{"utc": "2026-10-24T20:46:04.744+00:00", "load1": "5.54"} +{"utc": "2026-10-24T20:46:05.745+00:00", "load1": "5.42"} +{"utc": "2026-10-24T20:46:06.745+00:00", "load1": "5.42"} +{"utc": "2026-10-24T20:46:07.745+00:00", "load1": "5.42"} +{"utc": "2026-10-24T20:46:08.745+00:00", "load1": "5.42"} +{"utc": "2026-10-24T20:46:09.746+00:00", "load1": "5.42"} +{"utc": "2026-10-24T20:46:10.746+00:00", "load1": "6.50"} +{"utc": "2026-10-24T20:46:11.746+00:00", "load1": "6.50"} +{"utc": "2026-10-24T20:46:12.747+00:00", "load1": "6.50"} +{"utc": "2026-10-24T20:46:13.747+00:00", "load1": "6.50"} +{"utc": "2026-10-24T20:46:14.747+00:00", "load1": "6.50"} +{"utc": "2026-10-24T20:46:15.747+00:00", "load1": "6.30"} +{"utc": "2026-10-24T20:46:16.748+00:00", "load1": "6.30"} +{"utc": "2026-10-24T20:46:17.748+00:00", "load1": "6.30"} +{"utc": "2026-10-24T20:46:18.749+00:00", "load1": "6.30"} +{"utc": "2026-10-24T20:46:19.749+00:00", "load1": "6.30"} +{"utc": "2026-10-24T20:46:20.749+00:00", "load1": "5.88"} +{"utc": "2026-10-24T20:46:21.749+00:00", "load1": "5.88"} +{"utc": "2026-10-24T20:46:22.750+00:00", "load1": "5.88"} +{"utc": "2026-10-24T20:46:23.750+00:00", "load1": "5.88"} +{"utc": "2026-10-24T20:46:24.750+00:00", "load1": "5.88"} +{"utc": "2026-10-24T20:46:25.750+00:00", "load1": "5.81"} +{"utc": "2026-10-24T20:46:26.751+00:00", "load1": "5.81"} +{"utc": "2026-10-24T20:46:27.751+00:00", "load1": "5.81"} +{"utc": "2026-10-24T20:46:28.751+00:00", "load1": "5.81"} +{"utc": "2026-10-24T20:46:29.751+00:00", "load1": "5.81"} +{"utc": "2026-10-24T20:46:30.752+00:00", "load1": "5.50"} +{"utc": "2026-10-24T20:46:31.752+00:00", "load1": "5.50"} +{"utc": "2026-10-24T20:46:32.752+00:00", "load1": "5.50"} +{"utc": "2026-10-24T20:46:33.753+00:00", "load1": "5.50"} +{"utc": "2026-10-24T20:46:34.753+00:00", "load1": "5.50"} +{"utc": "2026-10-24T20:46:35.753+00:00", "load1": "5.46"} +{"utc": "2026-10-24T20:46:36.753+00:00", "load1": "5.46"} +{"utc": "2026-10-24T20:46:37.754+00:00", "load1": "5.46"} +{"utc": "2026-10-24T20:46:38.754+00:00", "load1": "5.46"} +{"utc": "2026-10-24T20:46:39.754+00:00", "load1": "5.46"} +{"utc": "2026-10-24T20:46:40.755+00:00", "load1": "5.26"} +{"utc": "2026-10-24T20:46:41.755+00:00", "load1": "5.26"} +{"utc": "2026-10-24T20:46:42.755+00:00", "load1": "5.26"} +{"utc": "2026-10-24T20:46:43.755+00:00", "load1": "5.26"} +{"utc": "2026-10-24T20:46:44.756+00:00", "load1": "5.26"} +{"utc": "2026-10-24T20:46:45.756+00:00", "load1": "5.00"} +{"utc": "2026-10-24T20:46:46.756+00:00", "load1": "5.00"} +{"utc": "2026-10-24T20:46:47.757+00:00", "load1": "5.00"} +{"utc": "2026-10-24T20:46:48.757+00:00", "load1": "5.00"} +{"utc": "2026-10-24T20:46:49.757+00:00", "load1": "5.00"} +{"utc": "2026-10-24T20:46:50.757+00:00", "load1": "5.00"} +{"utc": "2026-10-24T20:46:51.758+00:00", "load1": "5.00"} +{"utc": "2026-10-24T20:46:52.758+00:00", "load1": "5.00"} +{"utc": "2026-10-24T20:46:53.758+00:00", "load1": "5.00"} +{"utc": "2026-10-24T20:46:54.759+00:00", "load1": "5.00"} +{"utc": "2026-10-24T20:46:55.759+00:00", "load1": "5.16"} +{"utc": "2026-10-24T20:46:56.759+00:00", "load1": "5.16"} +{"utc": "2026-10-24T20:46:57.759+00:00", "load1": "5.16"} +{"utc": "2026-10-24T20:46:58.760+00:00", "load1": "5.16"} +{"utc": "2026-10-24T20:46:59.760+00:00", "load1": "5.16"} +{"utc": "2026-10-24T20:47:00.760+00:00", "load1": "6.03"} +{"utc": "2026-10-24T20:47:01.760+00:00", "load1": "6.03"} +{"utc": "2026-10-24T20:47:02.761+00:00", "load1": "6.03"} +{"utc": "2026-10-24T20:47:03.761+00:00", "load1": "6.03"} +{"utc": "2026-10-24T20:47:04.761+00:00", "load1": "6.03"} +{"utc": "2026-10-24T20:47:05.762+00:00", "load1": "5.79"} +{"utc": "2026-10-24T20:47:06.762+00:00", "load1": "5.79"} +{"utc": "2026-10-24T20:47:07.762+00:00", "load1": "5.79"} +{"utc": "2026-10-24T20:47:08.763+00:00", "load1": "5.79"} +{"utc": "2026-10-24T20:47:09.763+00:00", "load1": "5.79"} +{"utc": "2026-10-24T20:47:10.763+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:47:11.764+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:47:12.764+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:47:13.765+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:47:14.765+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:47:15.765+00:00", "load1": "7.19"} +{"utc": "2026-10-24T20:47:16.766+00:00", "load1": "7.19"} +{"utc": "2026-10-24T20:47:17.766+00:00", "load1": "7.19"} +{"utc": "2026-10-24T20:47:18.766+00:00", "load1": "7.19"} +{"utc": "2026-10-24T20:47:19.766+00:00", "load1": "7.19"} +{"utc": "2026-10-24T20:47:20.767+00:00", "load1": "7.33"} +{"utc": "2026-10-24T20:47:21.767+00:00", "load1": "7.33"} +{"utc": "2026-10-24T20:47:22.767+00:00", "load1": "7.33"} +{"utc": "2026-10-24T20:47:23.768+00:00", "load1": "7.33"} +{"utc": "2026-10-24T20:47:24.768+00:00", "load1": "7.33"} +{"utc": "2026-10-24T20:47:25.768+00:00", "load1": "7.23"} +{"utc": "2026-10-24T20:47:26.768+00:00", "load1": "7.23"} +{"utc": "2026-10-24T20:47:27.769+00:00", "load1": "7.23"} +{"utc": "2026-10-24T20:47:28.769+00:00", "load1": "7.23"} +{"utc": "2026-10-24T20:47:29.769+00:00", "load1": "7.23"} +{"utc": "2026-10-24T20:47:30.770+00:00", "load1": "6.97"} +{"utc": "2026-10-24T20:47:31.770+00:00", "load1": "6.97"} +{"utc": "2026-10-24T20:47:32.770+00:00", "load1": "6.97"} +{"utc": "2026-10-24T20:47:33.770+00:00", "load1": "6.97"} +{"utc": "2026-10-24T20:47:34.771+00:00", "load1": "6.97"} +{"utc": "2026-10-24T20:47:35.771+00:00", "load1": "6.57"} +{"utc": "2026-10-24T20:47:36.771+00:00", "load1": "6.57"} +{"utc": "2026-10-24T20:47:37.772+00:00", "load1": "6.57"} +{"utc": "2026-10-24T20:47:38.772+00:00", "load1": "6.57"} +{"utc": "2026-10-24T20:47:39.772+00:00", "load1": "6.57"} +{"utc": "2026-10-24T20:47:40.773+00:00", "load1": "6.28"} +{"utc": "2026-10-24T20:47:41.773+00:00", "load1": "6.28"} +{"utc": "2026-10-24T20:47:42.773+00:00", "load1": "6.28"} +{"utc": "2026-10-24T20:47:43.774+00:00", "load1": "6.28"} +{"utc": "2026-10-24T20:47:44.774+00:00", "load1": "6.28"} +{"utc": "2026-10-24T20:47:45.774+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:47:46.775+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:47:47.775+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:47:48.775+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:47:49.776+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:47:50.776+00:00", "load1": "5.62"} +{"utc": "2026-10-24T20:47:51.776+00:00", "load1": "5.62"} +{"utc": "2026-10-24T20:47:52.776+00:00", "load1": "5.62"} +{"utc": "2026-10-24T20:47:53.777+00:00", "load1": "5.62"} +{"utc": "2026-10-24T20:47:54.777+00:00", "load1": "5.62"} +{"utc": "2026-10-24T20:47:55.777+00:00", "load1": "5.65"} +{"utc": "2026-10-24T20:47:56.778+00:00", "load1": "5.65"} +{"utc": "2026-10-24T20:47:57.778+00:00", "load1": "5.65"} +{"utc": "2026-10-24T20:47:58.778+00:00", "load1": "5.65"} +{"utc": "2026-10-24T20:47:59.779+00:00", "load1": "5.65"} +{"utc": "2026-10-24T20:48:00.779+00:00", "load1": "5.84"} +{"utc": "2026-10-24T20:48:01.779+00:00", "load1": "5.84"} +{"utc": "2026-10-24T20:48:02.780+00:00", "load1": "5.84"} +{"utc": "2026-10-24T20:48:03.780+00:00", "load1": "5.84"} +{"utc": "2026-10-24T20:48:04.780+00:00", "load1": "5.84"} +{"utc": "2026-10-24T20:48:05.781+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:48:06.781+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:48:07.781+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:48:08.782+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:48:09.782+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:48:10.782+00:00", "load1": "5.86"} +{"utc": "2026-10-24T20:48:11.783+00:00", "load1": "5.86"} +{"utc": "2026-10-24T20:48:12.784+00:00", "load1": "5.86"} +{"utc": "2026-10-24T20:48:13.784+00:00", "load1": "5.86"} +{"utc": "2026-10-24T20:48:14.784+00:00", "load1": "5.86"} +{"utc": "2026-10-24T20:48:15.785+00:00", "load1": "5.87"} +{"utc": "2026-10-24T20:48:16.785+00:00", "load1": "5.87"} +{"utc": "2026-10-24T20:48:17.785+00:00", "load1": "5.87"} +{"utc": "2026-10-24T20:48:18.786+00:00", "load1": "5.87"} +{"utc": "2026-10-24T20:48:19.786+00:00", "load1": "5.87"} +{"utc": "2026-10-24T20:48:20.786+00:00", "load1": "5.96"} +{"utc": "2026-10-24T20:48:21.787+00:00", "load1": "5.96"} +{"utc": "2026-10-24T20:48:22.787+00:00", "load1": "5.96"} +{"utc": "2026-10-24T20:48:23.788+00:00", "load1": "5.96"} +{"utc": "2026-10-24T20:48:24.788+00:00", "load1": "5.96"} +{"utc": "2026-10-24T20:48:25.788+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:48:26.789+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:48:27.789+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:48:28.789+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:48:29.790+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:48:30.790+00:00", "load1": "5.67"} +{"utc": "2026-10-24T20:48:31.790+00:00", "load1": "5.67"} +{"utc": "2026-10-24T20:48:32.791+00:00", "load1": "5.67"} +{"utc": "2026-10-24T20:48:33.791+00:00", "load1": "5.67"} +{"utc": "2026-10-24T20:48:34.791+00:00", "load1": "5.67"} +{"utc": "2026-10-24T20:48:35.792+00:00", "load1": "5.93"} +{"utc": "2026-10-24T20:48:36.792+00:00", "load1": "5.93"} +{"utc": "2026-10-24T20:48:37.793+00:00", "load1": "5.93"} +{"utc": "2026-10-24T20:48:38.793+00:00", "load1": "5.93"} +{"utc": "2026-10-24T20:48:39.794+00:00", "load1": "5.93"} +{"utc": "2026-10-24T20:48:40.795+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:48:41.795+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:48:42.795+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:48:43.796+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:48:44.796+00:00", "load1": "5.94"} +{"utc": "2026-10-24T20:48:45.796+00:00", "load1": "6.10"} +{"utc": "2026-10-24T20:48:46.797+00:00", "load1": "6.10"} +{"utc": "2026-10-24T20:48:47.797+00:00", "load1": "6.10"} +{"utc": "2026-10-24T20:48:48.797+00:00", "load1": "6.10"} +{"utc": "2026-10-24T20:48:49.798+00:00", "load1": "6.10"} +{"utc": "2026-10-24T20:48:50.798+00:00", "load1": "6.18"} +{"utc": "2026-10-24T20:48:51.798+00:00", "load1": "6.18"} +{"utc": "2026-10-24T20:48:52.799+00:00", "load1": "6.18"} +{"utc": "2026-10-24T20:48:53.799+00:00", "load1": "6.18"} +{"utc": "2026-10-24T20:48:54.800+00:00", "load1": "6.18"} +{"utc": "2026-10-24T20:48:55.800+00:00", "load1": "6.64"} +{"utc": "2026-10-24T20:48:56.800+00:00", "load1": "6.64"} +{"utc": "2026-10-24T20:48:57.801+00:00", "load1": "6.64"} +{"utc": "2026-10-24T20:48:58.801+00:00", "load1": "6.64"} +{"utc": "2026-10-24T20:48:59.801+00:00", "load1": "6.64"} +{"utc": "2026-10-24T20:49:00.802+00:00", "load1": "6.43"} +{"utc": "2026-10-24T20:49:01.802+00:00", "load1": "6.43"} +{"utc": "2026-10-24T20:49:02.803+00:00", "load1": "6.43"} +{"utc": "2026-10-24T20:49:03.803+00:00", "load1": "6.43"} +{"utc": "2026-10-24T20:49:04.803+00:00", "load1": "6.43"} +{"utc": "2026-10-24T20:49:05.804+00:00", "load1": "6.40"} +{"utc": "2026-10-24T20:49:06.804+00:00", "load1": "6.40"} +{"utc": "2026-10-24T20:49:07.804+00:00", "load1": "6.40"} +{"utc": "2026-10-24T20:49:08.805+00:00", "load1": "6.40"} +{"utc": "2026-10-24T20:49:09.805+00:00", "load1": "6.40"} +{"utc": "2026-10-24T20:49:10.805+00:00", "load1": "6.04"} +{"utc": "2026-10-24T20:49:11.806+00:00", "load1": "6.04"} +{"utc": "2026-10-24T20:49:12.806+00:00", "load1": "6.04"} +{"utc": "2026-10-24T20:49:13.806+00:00", "load1": "6.04"} +{"utc": "2026-10-24T20:49:14.807+00:00", "load1": "6.04"} +{"utc": "2026-10-24T20:49:15.807+00:00", "load1": "5.80"} +{"utc": "2026-10-24T20:49:16.807+00:00", "load1": "5.80"} +{"utc": "2026-10-24T20:49:17.808+00:00", "load1": "5.80"} +{"utc": "2026-10-24T20:49:18.808+00:00", "load1": "5.80"} +{"utc": "2026-10-24T20:49:19.808+00:00", "load1": "5.80"} +{"utc": "2026-10-24T20:49:20.809+00:00", "load1": "5.74"} +{"utc": "2026-10-24T20:49:21.809+00:00", "load1": "5.74"} +{"utc": "2026-10-24T20:49:22.810+00:00", "load1": "5.74"} +{"utc": "2026-10-24T20:49:23.810+00:00", "load1": "5.74"} +{"utc": "2026-10-24T20:49:24.810+00:00", "load1": "5.74"} +{"utc": "2026-10-24T20:49:25.811+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:26.811+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:27.811+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:28.812+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:29.812+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:30.812+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:31.813+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:32.813+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:33.813+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:34.814+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:35.814+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:36.814+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:37.815+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:38.815+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:39.816+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:49:40.816+00:00", "load1": "6.32"} +{"utc": "2026-10-24T20:49:41.817+00:00", "load1": "6.32"} +{"utc": "2026-10-24T20:49:42.817+00:00", "load1": "6.32"} +{"utc": "2026-10-24T20:49:43.818+00:00", "load1": "6.32"} +{"utc": "2026-10-24T20:49:44.818+00:00", "load1": "6.32"} +{"utc": "2026-10-24T20:49:45.818+00:00", "load1": "6.53"} +{"utc": "2026-10-24T20:49:46.818+00:00", "load1": "6.53"} +{"utc": "2026-10-24T20:49:47.819+00:00", "load1": "6.53"} +{"utc": "2026-10-24T20:49:48.819+00:00", "load1": "6.53"} +{"utc": "2026-10-24T20:49:49.820+00:00", "load1": "6.53"} +{"utc": "2026-10-24T20:49:50.820+00:00", "load1": "6.73"} +{"utc": "2026-10-24T20:49:51.820+00:00", "load1": "6.73"} +{"utc": "2026-10-24T20:49:52.821+00:00", "load1": "6.73"} +{"utc": "2026-10-24T20:49:53.821+00:00", "load1": "6.73"} +{"utc": "2026-10-24T20:49:54.821+00:00", "load1": "6.73"} +{"utc": "2026-10-24T20:49:55.822+00:00", "load1": "6.75"} +{"utc": "2026-10-24T20:49:56.822+00:00", "load1": "6.75"} +{"utc": "2026-10-24T20:49:57.822+00:00", "load1": "6.75"} +{"utc": "2026-10-24T20:49:58.823+00:00", "load1": "6.75"} +{"utc": "2026-10-24T20:49:59.823+00:00", "load1": "6.75"} +{"utc": "2026-10-24T20:50:00.824+00:00", "load1": "6.53"} +{"utc": "2026-10-24T20:50:01.824+00:00", "load1": "6.53"} +{"utc": "2026-10-24T20:50:02.824+00:00", "load1": "6.53"} +{"utc": "2026-10-24T20:50:03.825+00:00", "load1": "6.53"} +{"utc": "2026-10-24T20:50:04.825+00:00", "load1": "6.53"} +{"utc": "2026-10-24T20:50:05.826+00:00", "load1": "6.33"} +{"utc": "2026-10-24T20:50:06.827+00:00", "load1": "6.33"} +{"utc": "2026-10-24T20:50:07.827+00:00", "load1": "6.33"} +{"utc": "2026-10-24T20:50:08.828+00:00", "load1": "6.33"} +{"utc": "2026-10-24T20:50:09.828+00:00", "load1": "6.33"} +{"utc": "2026-10-24T20:50:10.828+00:00", "load1": "6.94"} +{"utc": "2026-10-24T20:50:11.829+00:00", "load1": "6.94"} +{"utc": "2026-10-24T20:50:12.829+00:00", "load1": "6.94"} +{"utc": "2026-10-24T20:50:13.829+00:00", "load1": "6.94"} +{"utc": "2026-10-24T20:50:14.830+00:00", "load1": "6.94"} +{"utc": "2026-10-24T20:50:15.830+00:00", "load1": "6.63"} +{"utc": "2026-10-24T20:50:16.830+00:00", "load1": "6.63"} +{"utc": "2026-10-24T20:50:17.831+00:00", "load1": "6.63"} +{"utc": "2026-10-24T20:50:18.831+00:00", "load1": "6.63"} +{"utc": "2026-10-24T20:50:19.831+00:00", "load1": "6.63"} +{"utc": "2026-10-24T20:50:20.832+00:00", "load1": "6.26"} +{"utc": "2026-10-24T20:50:21.832+00:00", "load1": "6.26"} +{"utc": "2026-10-24T20:50:22.833+00:00", "load1": "6.26"} +{"utc": "2026-10-24T20:50:23.833+00:00", "load1": "6.26"} +{"utc": "2026-10-24T20:50:24.834+00:00", "load1": "6.26"} +{"utc": "2026-10-24T20:50:25.834+00:00", "load1": "6.16"} +{"utc": "2026-10-24T20:50:26.835+00:00", "load1": "6.16"} +{"utc": "2026-10-24T20:50:27.835+00:00", "load1": "6.16"} +{"utc": "2026-10-24T20:50:28.835+00:00", "load1": "6.16"} +{"utc": "2026-10-24T20:50:29.836+00:00", "load1": "6.16"} +{"utc": "2026-10-24T20:50:30.836+00:00", "load1": "6.06"} +{"utc": "2026-10-24T20:50:31.837+00:00", "load1": "6.06"} +{"utc": "2026-10-24T20:50:32.837+00:00", "load1": "6.06"} +{"utc": "2026-10-24T20:50:33.837+00:00", "load1": "6.06"} +{"utc": "2026-10-24T20:50:34.838+00:00", "load1": "6.06"} +{"utc": "2026-10-24T20:50:35.838+00:00", "load1": "5.90"} +{"utc": "2026-10-24T20:50:36.838+00:00", "load1": "5.90"} +{"utc": "2026-10-24T20:50:37.839+00:00", "load1": "5.90"} +{"utc": "2026-10-24T20:50:38.839+00:00", "load1": "5.90"} +{"utc": "2026-10-24T20:50:39.839+00:00", "load1": "5.90"} +{"utc": "2026-10-24T20:50:40.840+00:00", "load1": "5.75"} +{"utc": "2026-10-24T20:50:41.840+00:00", "load1": "5.75"} +{"utc": "2026-10-24T20:50:42.840+00:00", "load1": "5.75"} +{"utc": "2026-10-24T20:50:43.841+00:00", "load1": "5.75"} +{"utc": "2026-10-24T20:50:44.841+00:00", "load1": "5.75"} +{"utc": "2026-10-24T20:50:45.841+00:00", "load1": "5.53"} +{"utc": "2026-10-24T20:50:46.842+00:00", "load1": "5.53"} +{"utc": "2026-10-24T20:50:47.842+00:00", "load1": "5.53"} +{"utc": "2026-10-24T20:50:48.842+00:00", "load1": "5.53"} +{"utc": "2026-10-24T20:50:49.843+00:00", "load1": "5.53"} +{"utc": "2026-10-24T20:50:50.844+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:50:51.844+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:50:52.845+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:50:53.845+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:50:54.845+00:00", "load1": "5.72"} +{"utc": "2026-10-24T20:50:55.846+00:00", "load1": "5.91"} +{"utc": "2026-10-24T20:50:56.846+00:00", "load1": "5.91"} +{"utc": "2026-10-24T20:50:57.846+00:00", "load1": "5.91"} +{"utc": "2026-10-24T20:50:58.847+00:00", "load1": "5.91"} +{"utc": "2026-10-24T20:50:59.847+00:00", "load1": "5.91"} +{"utc": "2026-10-24T20:51:00.848+00:00", "load1": "5.91"} +{"utc": "2026-10-24T20:51:01.848+00:00", "load1": "5.91"} +{"utc": "2026-10-24T20:51:02.848+00:00", "load1": "5.91"} +{"utc": "2026-10-24T20:51:03.849+00:00", "load1": "5.91"} +{"utc": "2026-10-24T20:51:04.849+00:00", "load1": "5.91"} +{"utc": "2026-10-24T20:51:05.850+00:00", "load1": "6.08"} +{"utc": "2026-10-24T20:51:06.850+00:00", "load1": "6.08"} +{"utc": "2026-10-24T20:51:07.851+00:00", "load1": "6.08"} +{"utc": "2026-10-24T20:51:08.851+00:00", "load1": "6.08"} +{"utc": "2026-10-24T20:51:09.852+00:00", "load1": "6.08"} +{"utc": "2026-10-24T20:51:10.852+00:00", "load1": "6.07"} +{"utc": "2026-10-24T20:51:11.853+00:00", "load1": "6.07"} +{"utc": "2026-10-24T20:51:12.853+00:00", "load1": "6.07"} +{"utc": "2026-10-24T20:51:13.854+00:00", "load1": "6.07"} +{"utc": "2026-10-24T20:51:14.854+00:00", "load1": "6.07"} +{"utc": "2026-10-24T20:51:15.855+00:00", "load1": "6.63"} +{"utc": "2026-10-24T20:51:16.855+00:00", "load1": "6.63"} +{"utc": "2026-10-24T20:51:17.857+00:00", "load1": "6.63"} +{"utc": "2026-10-24T20:51:18.857+00:00", "load1": "6.63"} +{"utc": "2026-10-24T20:51:19.858+00:00", "load1": "6.63"} +{"utc": "2026-10-24T20:51:20.858+00:00", "load1": "6.58"} +{"utc": "2026-10-24T20:51:21.859+00:00", "load1": "6.58"} +{"utc": "2026-10-24T20:51:22.859+00:00", "load1": "6.58"} +{"utc": "2026-10-24T20:51:23.860+00:00", "load1": "6.58"} +{"utc": "2026-10-24T20:51:24.860+00:00", "load1": "6.58"} +{"utc": "2026-10-24T20:51:25.860+00:00", "load1": "6.37"} +{"utc": "2026-10-24T20:51:26.861+00:00", "load1": "6.37"} +{"utc": "2026-10-24T20:51:27.861+00:00", "load1": "6.37"} +{"utc": "2026-10-24T20:51:28.861+00:00", "load1": "6.37"} +{"utc": "2026-10-24T20:51:29.862+00:00", "load1": "6.37"} +{"utc": "2026-10-24T20:51:30.862+00:00", "load1": "6.34"} +{"utc": "2026-10-24T20:51:31.862+00:00", "load1": "6.34"} +{"utc": "2026-10-24T20:51:32.863+00:00", "load1": "6.34"} +{"utc": "2026-10-24T20:51:33.863+00:00", "load1": "6.34"} +{"utc": "2026-10-24T20:51:34.863+00:00", "load1": "6.34"} +{"utc": "2026-10-24T20:51:35.863+00:00", "load1": "6.39"} +{"utc": "2026-10-24T20:51:36.864+00:00", "load1": "6.39"} +{"utc": "2026-10-24T20:51:37.864+00:00", "load1": "6.39"} +{"utc": "2026-10-24T20:51:38.864+00:00", "load1": "6.39"} +{"utc": "2026-10-24T20:51:39.865+00:00", "load1": "6.39"} +{"utc": "2026-10-24T20:51:40.865+00:00", "load1": "6.20"} +{"utc": "2026-10-24T20:51:41.865+00:00", "load1": "6.20"} +{"utc": "2026-10-24T20:51:42.867+00:00", "load1": "6.20"} +{"utc": "2026-10-24T20:51:43.867+00:00", "load1": "6.20"} +{"utc": "2026-10-24T20:51:44.867+00:00", "load1": "6.20"} +{"utc": "2026-10-24T20:51:45.868+00:00", "load1": "6.27"} +{"utc": "2026-10-24T20:51:46.869+00:00", "load1": "6.27"} +{"utc": "2026-10-24T20:51:47.869+00:00", "load1": "6.27"} +{"utc": "2026-10-24T20:51:48.870+00:00", "load1": "6.27"} +{"utc": "2026-10-24T20:51:49.870+00:00", "load1": "6.27"} +{"utc": "2026-10-24T20:51:50.871+00:00", "load1": "6.08"} +{"utc": "2026-10-24T20:51:51.871+00:00", "load1": "6.08"} +{"utc": "2026-10-24T20:51:52.871+00:00", "load1": "6.08"} +{"utc": "2026-10-24T20:51:53.872+00:00", "load1": "6.08"} +{"utc": "2026-10-24T20:51:54.872+00:00", "load1": "6.08"} +{"utc": "2026-10-24T20:51:55.872+00:00", "load1": "5.92"} +{"utc": "2026-10-24T20:51:56.873+00:00", "load1": "5.92"} +{"utc": "2026-10-24T20:51:57.873+00:00", "load1": "5.92"} +{"utc": "2026-10-24T20:51:58.873+00:00", "load1": "5.92"} +{"utc": "2026-10-24T20:51:59.874+00:00", "load1": "5.92"} +{"utc": "2026-10-24T20:52:00.874+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:52:01.875+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:52:02.875+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:52:03.876+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:52:04.876+00:00", "load1": "6.00"} +{"utc": "2026-10-24T20:52:05.876+00:00", "load1": "6.25"} +{"utc": "2026-10-24T20:52:06.877+00:00", "load1": "6.25"} +{"utc": "2026-10-24T20:52:07.877+00:00", "load1": "6.25"} +{"utc": "2026-10-24T20:52:08.878+00:00", "load1": "6.25"} +{"utc": "2026-10-24T20:52:09.878+00:00", "load1": "6.25"} +{"utc": "2026-10-24T20:52:10.879+00:00", "load1": "6.39"} +{"utc": "2026-10-24T20:52:11.879+00:00", "load1": "6.39"} +{"utc": "2026-10-24T20:52:12.880+00:00", "load1": "6.39"} +{"utc": "2026-10-24T20:52:13.880+00:00", "load1": "6.39"} +{"utc": "2026-10-24T20:52:14.880+00:00", "load1": "6.39"} +{"utc": "2026-10-24T20:52:15.881+00:00", "load1": "6.52"} +{"utc": "2026-10-24T20:52:16.881+00:00", "load1": "6.52"} +{"utc": "2026-10-24T20:52:17.881+00:00", "load1": "6.52"} +{"utc": "2026-10-24T20:52:18.882+00:00", "load1": "6.52"} +{"utc": "2026-10-24T20:52:19.882+00:00", "load1": "6.52"} +{"utc": "2026-10-24T20:52:20.882+00:00", "load1": "6.79"} +{"utc": "2026-10-24T20:52:21.883+00:00", "load1": "6.79"} +{"utc": "2026-10-24T20:52:22.883+00:00", "load1": "6.79"} +{"utc": "2026-10-24T20:52:23.884+00:00", "load1": "6.79"} +{"utc": "2026-10-24T20:52:24.884+00:00", "load1": "6.79"} +{"utc": "2026-10-24T20:52:25.884+00:00", "load1": "6.81"} +{"utc": "2026-10-24T20:52:26.885+00:00", "load1": "6.81"} +{"utc": "2026-10-24T20:52:27.885+00:00", "load1": "6.81"} +{"utc": "2026-10-24T20:52:28.886+00:00", "load1": "6.81"} +{"utc": "2026-10-24T20:52:29.886+00:00", "load1": "6.81"} +{"utc": "2026-10-24T20:52:30.886+00:00", "load1": "7.07"} +{"utc": "2026-10-24T20:52:31.887+00:00", "load1": "7.07"} +{"utc": "2026-10-24T20:52:32.887+00:00", "load1": "7.07"} +{"utc": "2026-10-24T20:52:33.888+00:00", "load1": "7.07"} +{"utc": "2026-10-24T20:52:34.888+00:00", "load1": "7.07"} +{"utc": "2026-10-24T20:52:35.888+00:00", "load1": "6.90"} +{"utc": "2026-10-24T20:52:36.889+00:00", "load1": "6.90"} +{"utc": "2026-10-24T20:52:37.889+00:00", "load1": "6.90"} +{"utc": "2026-10-24T20:52:38.889+00:00", "load1": "6.90"} +{"utc": "2026-10-24T20:52:39.890+00:00", "load1": "6.90"} +{"utc": "2026-10-24T20:52:40.890+00:00", "load1": "6.67"} +{"utc": "2026-10-24T20:52:41.891+00:00", "load1": "6.67"} +{"utc": "2026-10-24T20:52:42.891+00:00", "load1": "6.67"} diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.txt new file mode 100644 index 000000000..cc0029685 --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.txt @@ -0,0 +1,262 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-release.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/H1AMeE +begin: {"utc": "2026-10-24T20:40:39.648+00:00", "load1": "3.19"} +launch nice: 19 +✔ T1 adopt writes the pointer from the units once; a failing check refuses check-failed (1318.850038ms) +✔ T2 activate installs exactly the pointer's pm, claude and Console flags (2031.148953ms) +▶ T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing + ✔ pm (890.64377ms) + ✔ claude (877.969853ms) + ✔ console (860.784389ms) +✔ T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing (2630.199636ms) +▶ T4 each item 3 refusal changes nothing and logs one line with its code + ✔ copy-missing (776.227114ms) + ✔ copy-unreachable (760.439975ms) + ✔ copy-schema-unknown (765.24212ms) + ✔ already-active (803.826572ms) + ✔ instance-busy (another business active) (848.727861ms) + ✔ instance-busy (this business activating) (831.61813ms) + ✔ drop-in-override (835.298327ms) + ✔ no-pointer (464.117952ms) +✔ T4 each item 3 refusal changes nothing and logs one line with its code (6087.004819ms) +✔ T5 an activate with no migration stops the Console then the bus, installs, starts the bus then the Console (2501.321861ms) +✔ T6 a migration without --migrate rolls back with migration-needs-flag (1975.443031ms) +✔ T7 --migrate takes the backup before the migration runs (2312.50711ms) +✔ T8 a failed migration restores the backup and keeps the store it replaced (2146.732704ms) +✔ T9 a store outside the target's chain rolls back with store-newer (1984.049299ms) +▶ T10 each gate check failing alone rolls back and puts every file back + ✔ units-inactive (5937.713152ms) + ✔ bus-status (6189.538107ms) + ✔ healthz (6583.761775ms) + ✔ copy-check (5276.800346ms) + ✔ pm-launch-unconfirmed (5319.37088ms) +✔ T10 each gate check failing alone rolls back and puts every file back (29308.940564ms) +▶ T10b the PM check needs exactly one launched line for a live run of this start + ✔ no launched line (5403.480937ms) + ✔ two lines (5320.816532ms) + ✔ a changed word (5316.724033ms) + ✔ run not in launches list (5419.947193ms) + ✔ run started before the start (5523.484099ms) + ✔ a human launch with no journal line (5322.892143ms) + ✔ run for another business (5499.451995ms) + ✔ run not live (5681.612072ms) + ✔ one well-formed line and a live run pass (2175.576905ms) +✔ T10b the PM check needs exactly one launched line for a live run of this start (45665.735247ms) +✔ T11 a rollback whose gate fails too: rollback-failed, exit 2, both units stopped, no retry (7296.272037ms) +✔ T12 rollback takes the previous copy from the log (3444.096443ms) +✔ T13 a rollback across a migration needs --restore, then restores and goes live (4183.851637ms) +✔ T14 events written after the backup need --events N with the right N (4587.810453ms) +✔ T14b a rollback --restore whose gate fails stops both units and skips item 6 (7275.960175ms) +✔ T14c a rollback without --restore whose gate fails runs item 6 (7661.746863ms) +✔ T15 --plan names the migration and the restore and changes nothing (3168.665988ms) +✔ T26 --plan lists the commits an activate adds, after the migration lines (1679.314822ms) +✔ T27 --plan names each migration step, or says the steps cannot be read (1265.159232ms) +✔ T25 --plan refuses copies-unrelated when neither copy is an ancestor of the other (544.44345ms) +▶ T23 --plan reads the store without changing a file, stopped or held + ✔ stopped store (647.076303ms) + ✔ held store (657.291566ms) +✔ T23 --plan reads the store without changing a file, stopped or held (1304.960716ms) +✔ T24 business-mismatch and capture-failed refuse with exit 3; a short id is a usage error (1543.368021ms) +✔ T16 status prints the pointer, the log, the check, bus status and drift, and writes nothing (951.882092ms) +✔ T19 a started line with no final line: status shows it and every changing verb refuses (1445.639767ms) +✔ T20 a held run lock refuses run-locked without a log line; status and --plan still run (1413.411908ms) +✔ T21 a bus unit with no MOSAIC_CLAUDE_BIN: adopt and activate refuse no-claude-pin (1542.789681ms) +▶ T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file + ✔ bus.sqlite-wal (1914.124676ms) + ✔ bus.sqlite-shm (1890.321601ms) + ✔ clean (2114.992229ms) +✔ T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file (5920.339019ms) +▶ T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop + ✔ unit path (1016.33119ms) + ✔ drop-in directory (847.19049ms) + ✔ drop-in file (836.813703ms) + ✔ relative unit path (844.840251ms) +✔ T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop (3546.315484ms) +▶ T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch + ✔ --plan (880.849984ms) + ✔ rollback --restore (2499.027287ms) +✔ T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch (3380.420336ms) +✔ T30 a copy check that agrees on another copy fails the gate with copy-check and rolls back (6310.880995ms) +▶ T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a + ✔ Environment double quotes (1909.530636ms) + ✔ Environment single quotes (1912.727296ms) + ✔ Environment backslash (2200.052835ms) + ✔ ExecStart quotes (1924.946596ms) + ✔ Console ExecStart quotes (1870.435852ms) +✔ T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a (9819.013771ms) +▶ T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM + ✔ usage: not with --pm, and only for activate (747.516391ms) + ✔ pm-after-harness-target (975.035258ms) + ✔ pm-after-harness-set (1424.740136ms) + ✔ a pointer without pm (931.420746ms) + ✔ phase 1 installs without --pm, skips pm_launched and writes the pending pointer (2160.586376ms) +✔ T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM (6240.452281ms) +▶ T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status + ✔ read_pointer (1701.842247ms) + ✔ pm-pending, already-adopted and the status line (2917.824485ms) +✔ T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status (4620.273789ms) +▶ T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back + ✔ not-pending (928.737191ms) + ✔ harness-unset (3257.988103ms) + ✔ a launched line passes: the bus alone restarts with --pm (3479.214649ms) + ✔ a failed pm_launched puts the phase-1 unit back: exit 1, still pending (6737.016682ms) + ✔ a failed phase-1 gate too: pm-on-down, exit 2, both units stopped (8601.902325ms) +✔ T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back (23006.072644ms) +▶ T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name + ✔ rollback from pending gates pm_launched on the old copy (3616.851038ms) + ✔ after the harness set, rollback refuses until harness is gone (4940.749066ms) + ✔ activate names every kind the target lacks (1317.535918ms) +✔ T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name (9876.012177ms) +✔ T36 --plan shows the pending state and lists the row 169 refusals it can see (3760.02542ms) +✔ T37 tester-port activate writes pointer and unit, replaces the port, and supported re-pin and rollback keep it (7438.672993ms) +✔ T38 tester-port rollback to unsupported target drops flag in plan, steps, unit and pointer (4296.824566ms) +✔ T39 tester-port explicit unsupported target reads target copy and refuses before stopping either unit (896.636547ms) +✔ T40 tester-port invalid values refuse exit 4 before stopping, including tunnel and main ports (951.496564ms) +✔ T41 tester-port inherited activate to unsupported target drops it and retains drift refusal and failed-run recovery (9669.585355ms) +✔ T42 tester-port pm-on preserves pointer Console flags (3711.535002ms) +▶ T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores + ✔ activate then pm-on on the same copy (3604.81783ms) + ✔ two restores: an old-form id and a suffixed one, each with its own post-attempt store (6882.932896ms) + ✔ adopt takes the next free id too (673.510521ms) + ✔ all ten names taken: capture-failed before anything stops, and the log line names no activation (1117.647228ms) + ✔ --restore takes an id with or without -1 to -9 and nothing else (998.271248ms) +✔ T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores (13278.25809ms) +▶ T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals + ✔ a bad tester port (2105.991968ms) + ✔ without --plan a bad port is usage before any pointer read (373.459434ms) + ✔ a target Console without --tester-port (1028.09808ms) +✔ T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals (3508.319062ms) +▶ T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table + ✔ both modes count events and each listed table, and a table the store lacks counts 0 (1136.126821ms) + ✔ one instance_names row and no event refuses before any stop; --events 1 restores (4547.508762ms) + ✔ one usage_records row and no event refuses before any stop; --events 1 restores (4566.153441ms) + ✔ a listed table that cannot be read refuses restore-mismatch before any stop (2563.696263ms) + ✔ the in-run recount counts the listed tables too (3479.800466ms) +✔ T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table (16294.572428ms) +✔ T46 row 181 item 4: every table in the bus schema is in exactly one of four lists (4.300581ms) +✔ T47 row 185 test 1: a same-schema activate leaves a whole backup and the log line names it (2230.348168ms) +✔ T48 row 185 test 2: a gate failure on a same-schema activate rolls back without a restore (4946.38432ms) +▶ T49 row 185 test 3: a same-schema rollback --restore restores, or refuses rows written after STAMP + ✔ no rows after STAMP: restores and goes live (3839.129207ms) + ✔ one instance_names row after STAMP refuses post-backup-events; --events 1 restores (4001.840612ms) +✔ T49 row 185 test 3: a same-schema rollback --restore restores, or refuses rows written after STAMP (7841.530291ms) +✔ T50 row 185 test 4: activate --plan prints the backup line and writes nothing (2578.291883ms) +✔ T51 row 185 test 5: an activate with no store file takes no backup (2099.334573ms) +▶ T52 row 186: the activate plan's backup line says what the run will do + ✔ same schema (2303.30872ms) + ✔ same schema with --migrate (2188.297651ms) + ✔ in chain with --migrate (2277.69327ms) + ✔ in chain without --migrate (2195.504915ms) + ✔ outside the chain (2262.52646ms) + ✔ outside the chain with --migrate (2259.921256ms) +✔ T52 row 186: the activate plan's backup line says what the run will do (13488.491419ms) +✔ T178 proxy proof header and path survive re-pin and rollback unchanged in the pointer and unit (3498.56391ms) +✔ T178 proxy proof pair survives a tester-port replacement as well (2044.518618ms) +▶ T53 row 187: activate sets, carries and drops the proof pair + ✔ tests 1 and 9: the pair goes after the preview flags, before --send and the kept --tester-port, as the unit renders it; a new pair replaces it (5777.312928ms) + ✔ tests 2 and 3: an activate of the live copy writes the pair; a later activate and a rollback carry it (5508.024974ms) + ✔ test 2: only a pair change may name the live copy; the log keeps from and to, and rollback still goes to the earlier copy (7030.46225ms) + ✔ test 2: a live-copy activate says only the Console flags change, and backs up the stopped store before it installs (4494.973654ms) + ✔ test 3: pm-on keeps the pair (3260.430359ms) + ✔ test 4: --no-proof drops the pair from the pointer and the unit and says so; with no pair it says so and passes (6023.276666ms) + ✔ test 5: each refusal exits 3 before anything stops (4316.950832ms) + ✔ tests 5 and 9: --plan lists every proof refusal with the others and writes nothing (1006.164802ms) + ✔ test 6: usage errors (841.521549ms) + ✔ test 7: a rollback to a copy without proof support drops the pair and says so (3726.332427ms) + ✔ test 7: an activate to a copy without proof support refuses proof-target without --no-proof and passes with it (4279.732955ms) +✔ T53 row 187: activate sets, carries and drops the proof pair (46267.624901ms) +▶ T54 row 188: a carried pair gets the proof file checks, and a proof file inside the repository refuses + ✔ test 1: an activate that carries the pair refuses after chmod 644, in the plan and the run, before anything stops (2473.518276ms) + ✔ test 1: an activate that carries the pair refuses after a symlink to a mode-600 file, in the plan and the run, before anything stops (2690.116602ms) + ✔ test 1: an activate that carries the pair refuses after removal, in the plan and the run, before anything stops (2766.584654ms) + ✔ test 2: a rollback that carries the pair refuses after chmod 644, in the plan and the run, before anything stops (2710.070886ms) + ✔ test 3: a proof file inside the repository refuses, in the plan and the run, before anything stops (1183.936824ms) + ✔ test 4: a path outside the repository through a directory symlink into it refuses on its realpath (1204.008563ms) +✔ T54 row 188: a carried pair gets the proof file checks, and a proof file inside the repository refuses (13029.538833ms) +▶ T55 row 189: activate --no-send drops --send, and rollback and pm-on carry it off + ✔ test 1: a live-copy --no-send drops --send from the pointer and the unit, keeps the rest in order, logs the step and backs up the stopped store (2433.541177ms) + ✔ test 2: a plain live-copy activate still refuses already-active, and so does --no-send once --send is gone (3505.880017ms) + ✔ test 3: --plan prints one send: line in each case, with the live-copy note on a same-copy run (5362.168882ms) + ✔ test 4: after --no-send, a rollback to the earlier copy leaves --send out of the pointer and the unit (4129.070255ms) + ✔ test 4: pm-on after --no-send keeps --send off (3790.466282ms) + ✔ test 5: --no-send on rollback, pm-on, status, adopt or rehearse is a usage error (809.812306ms) + ✔ test 6: with both a pair and --send in the pointer, --no-send and --no-proof each drop what they name and keep the rest (12774.243469ms) +✔ T55 row 189: activate --no-send drops --send, and rollback and pm-on carry it off (32806.771375ms) +▶ T57 row 200: activate --sso, its refusals before any stop, and the rollback to a Console without --sso + ✔ item 1: --sso drops the preview set and the pair, puts --sso before --send and the tester port, and the plan names what it drops and carries (4972.235549ms) + ✔ item 1: --sso may re-pin the live copy once; later activates carry it; --no-send still drops --send (11906.553678ms) + ✔ item 1: --sso with a pair or --no-proof, or on any verb but activate, is a usage error (915.969523ms) + ✔ item 2: a target without --sso, a missing or bad console.sso, and each slot problem refuse before any stop (8044.090584ms) + ✔ item 3: a config whose console key the target loader refuses stops an activate or a rollback before any stop, naming the first step (5899.923763ms) + ✔ row 203: a config whose federation key the target loader refuses stops an activate or a rollback before any stop, naming the first step (5220.167885ms) + ✔ item 3: a rollback from --sso to a Console without it takes the flags from the set of the activation onto the copy, past a same-copy re-pin (sage-1389) (17704.700016ms) + ✔ item 3: a rollback set that is missing, fails its sums, holds no argv or already ran --sso refuses sso-rollback-flags (6582.745414ms) + ✔ round 2 (webby-0028 N1): run through a symlinked repository path, a slot or a proof file inside the repository still refuses (4420.089896ms) + ✔ round 2 (webby-0028 N2): a config.json that does not parse stops the run before anything is read or stopped (3098.355302ms) + ✔ round 3 (sage-1556): a named instance turns --sso on with its own config, slot and Console unit, and rolls back from its own set (6275.063671ms) + ✔ row 238 (#1744): on a named instance the sso-config first step names --instance NAME in both commands (1651.043057ms) +✔ T57 row 200: activate --sso, its refusals before any stop, and the rollback to a Console without --sso (76694.812784ms) +▶ T58 row 273: activate --send and --no-sso + ✔ T1: --sso --send turns send on after --sso and before the tester port, and the plan says so (3773.73755ms) + ✔ T1: --send beside a carried --sso re-pins the live copy once, and the plan names the carried --sso (6208.262758ms) + ✔ T2: --send without --sso, given or carried, refuses before any stop, and --plan lists it (2691.431181ms) + ✔ T2 (sage-2315 B1): a rollback from an --sso --send pointer to a Console without --sso ends with neither flag (5031.018449ms) + ✔ T2 and T4: --send with --no-send, --no-sso with --sso, --send, a pair or --no-proof, and either flag on another verb, is a usage error (2885.713923ms) + ✔ T3: --no-sso on the same copy returns the unit and the pointer to the flags from before --sso, without --send (6986.236165ms) + ✔ T3: the set walk passes later re-pins that ran with --sso, and the tester follows the pointer (7093.364942ms) + ✔ T3 (sage-2305 a): after --sso, two later re-pins that carry it, then --no-sso restores the flags from before --sso byte for byte (10944.193359ms) + ✔ T4 (sage-2305 b): a log in which every set holds a Console with --sso refuses before any unit stops (5706.330685ms) + ✔ T4: --no-sso refuses before any stop on a pointer without --sso, a tampered or missing set, a set that ran with --sso, an ok line with no activation, and a log with no set (8758.01708ms) +✔ T58 row 273: activate --send and --no-sso (60081.264329ms) +✔ R1 rehearse passes on the same schema; the scratch root holds its files and the live files stay byte-identical (3637.754475ms) +✔ R2 rehearse runs the migration checks when the schema differs; the live store stays at 3g (3854.671073ms) +✔ R3 a failing migration gives REHEARSAL_FAIL migrate and starts nothing (570.529538ms) +✔ R4 a host that does not start, does not answer status, reports another pid, launches anyway, makes a launches directory or keeps its lock each fails by name (27102.486913ms) +✔ R5 a host that ignores SIGTERM gets SIGKILL and FAIL host-stopped (4919.250486ms) +✔ R6 a Console that does not answer /healthz gives REHEARSAL_FAIL healthz (6037.520379ms) +✔ R7 a host on another copy fails copy-match (5876.72111ms) +✔ R8 a scratch port in use or reserved refuses, and the rehearsal takes no other port (684.482225ms) +✔ R9 mos-0963: a role reference left outside placeholders/, or left on an env variable, fails credential-ref-live before the host starts (1137.596696ms) +✔ R10 mos-0962: a scratch business that still sets a tracker fails tracker-configured (483.737847ms) +✔ R11 mos-0961: a scratch config on the live data root or on any root but the scratch one, or a sessions.json naming a running pid, refuses by name (2569.9034ms) +✔ R12 mos-0962: a notifier config with a binding fails notify-off (838.177497ms) +✔ R13 the pre-checks: an old copy, a backup that fails its sums, a missing backup or pointer, and usage (806.503569ms) +✔ R14 a host that writes the live config, the live business file or the backup fails the end check by name (11228.441648ms) +✔ R15 a rehearsal stopped by TERM, INT or HUP fails signal and still stops the host and Console and runs the end checks (9904.834022ms) +✔ row 233: --backup last takes the newest backup the log records; a later line with backup null does not hide it, and the store line names it (3912.014813ms) +✔ row 233: --backup last with no backup in the log, or no log, exits 3 with no-backup and makes no rehearsal directory (437.643789ms) +✔ row 233: --backup last refuses a newest backup that is not an activation id, with exit 1 (232.307092ms) +▶ T56 row 190: named instances side by side on one unit directory, $BIN and set of stand-ins + ✔ T-I3 each instance renders its own config, session env and Description, and nothing of another (3241.412109ms) + ✔ T-I4 a Console port another installed Console takes refuses port-claimed, and a named instance keeps off the default ports (4012.571537ms) + ✔ T-I6 alpha's activate and rollback reach nothing of beta's (5995.749277ms) + ✔ T-I6 swapped: beta's reach nothing of alpha's (5224.568296ms) + ✔ T-I7 MOSAIC_CONFIG naming alpha's config with no flag refuses instance-root-mismatch and changes nothing (916.843166ms) + ✔ T-I9 another instance's bus active refuses nothing; one of this instance's does (10000.953723ms) +✔ T56 row 190: named instances side by side on one unit directory, $BIN and set of stand-ins (29395.165066ms) +✔ row196 explicit socket conversion refuses inherited TCP before stop and rollback disables socket (10554.5518ms) +✔ row196 SSO socket conversion pins pointer and unit argv order without send (4348.160319ms) +▶ row196 interpreter activation checks receipt, identity, plan and startup log + ✔ plan and started log preserve the same interpreter JSON (4215.382136ms) + ✔ interpreter-receipt-refuse fails at the gate and restores the pointer (6117.451601ms) + ✔ interpreter-drift fails at the gate and restores the pointer (5129.265983ms) + ✔ missing-verifier refuses before any start or stop (1740.003341ms) + ✔ interpreter-unsafe refuses before any start or stop (1856.42482ms) +✔ row196 interpreter activation checks receipt, identity, plan and startup log (19061.608471ms) +▶ row196 rehearsal selects socket only for marked copies and uses scratch dataRoot + ✔ socket copy (3777.907121ms) + ✔ legacy copy (3766.889594ms) +✔ row196 rehearsal selects socket only for marked copies and uses scratch dataRoot (7545.888657ms) +✔ config-any-key: a non-console target refusal stops activate and rollback before any stop (4678.140939ms) +✔ config-any-key: a pre-270 target refuses each row 270 key on a full activate and rollback, naming the key (6793.985058ms) +✔ config-any-key: accepting loaders run validate with the selected config on activate and rollback (4565.703735ms) +✔ config-any-key: missing-loader copies accept only the four oldest keys (207.60765ms) +✔ config-any-key: missing config passes but malformed JSON refuses without calling the loader (71.691973ms) +ℹ tests 224 +ℹ suites 0 +ℹ pass 224 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 723416.641776 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.load.jsonl b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.load.jsonl new file mode 100644 index 000000000..2038b1efb --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.load.jsonl @@ -0,0 +1,98 @@ +{"utc": "2026-10-24T20:52:43.099+00:00", "load1": "6.67"} +{"utc": "2026-10-24T20:52:44.099+00:00", "load1": "6.67"} +{"utc": "2026-10-24T20:52:45.100+00:00", "load1": "6.67"} +{"utc": "2026-10-24T20:52:46.100+00:00", "load1": "6.78"} +{"utc": "2026-10-24T20:52:47.101+00:00", "load1": "6.78"} +{"utc": "2026-10-24T20:52:48.103+00:00", "load1": "6.78"} +{"utc": "2026-10-24T20:52:49.104+00:00", "load1": "6.78"} +{"utc": "2026-10-24T20:52:50.104+00:00", "load1": "6.78"} +{"utc": "2026-10-24T20:52:51.104+00:00", "load1": "6.55"} +{"utc": "2026-10-24T20:52:52.105+00:00", "load1": "6.55"} +{"utc": "2026-10-24T20:52:53.105+00:00", "load1": "6.55"} +{"utc": "2026-10-24T20:52:54.106+00:00", "load1": "6.55"} +{"utc": "2026-10-24T20:52:55.106+00:00", "load1": "6.55"} +{"utc": "2026-10-24T20:52:56.106+00:00", "load1": "7.47"} +{"utc": "2026-10-24T20:52:57.107+00:00", "load1": "7.47"} +{"utc": "2026-10-24T20:52:58.107+00:00", "load1": "7.47"} +{"utc": "2026-10-24T20:52:59.107+00:00", "load1": "7.47"} +{"utc": "2026-10-24T20:53:00.108+00:00", "load1": "7.47"} +{"utc": "2026-10-24T20:53:01.108+00:00", "load1": "9.27"} +{"utc": "2026-10-24T20:53:02.109+00:00", "load1": "9.27"} +{"utc": "2026-10-24T20:53:03.109+00:00", "load1": "9.27"} +{"utc": "2026-10-24T20:53:04.110+00:00", "load1": "9.27"} +{"utc": "2026-10-24T20:53:05.110+00:00", "load1": "9.27"} +{"utc": "2026-10-24T20:53:06.111+00:00", "load1": "9.09"} +{"utc": "2026-10-24T20:53:07.111+00:00", "load1": "9.09"} +{"utc": "2026-10-24T20:53:08.111+00:00", "load1": "9.09"} +{"utc": "2026-10-24T20:53:09.112+00:00", "load1": "9.09"} +{"utc": "2026-10-24T20:53:10.112+00:00", "load1": "9.09"} +{"utc": "2026-10-24T20:53:11.113+00:00", "load1": "8.60"} +{"utc": "2026-10-24T20:53:12.113+00:00", "load1": "8.60"} +{"utc": "2026-10-24T20:53:13.114+00:00", "load1": "8.60"} +{"utc": "2026-10-24T20:53:14.114+00:00", "load1": "8.60"} +{"utc": "2026-10-24T20:53:15.114+00:00", "load1": "8.60"} +{"utc": "2026-10-24T20:53:16.114+00:00", "load1": "8.31"} +{"utc": "2026-10-24T20:53:17.115+00:00", "load1": "8.31"} +{"utc": "2026-10-24T20:53:18.115+00:00", "load1": "8.31"} +{"utc": "2026-10-24T20:53:19.116+00:00", "load1": "8.31"} +{"utc": "2026-10-24T20:53:20.116+00:00", "load1": "8.31"} +{"utc": "2026-10-24T20:53:21.116+00:00", "load1": "8.29"} +{"utc": "2026-10-24T20:53:22.117+00:00", "load1": "8.29"} +{"utc": "2026-10-24T20:53:23.117+00:00", "load1": "8.29"} +{"utc": "2026-10-24T20:53:24.117+00:00", "load1": "8.29"} +{"utc": "2026-10-24T20:53:25.118+00:00", "load1": "8.29"} +{"utc": "2026-10-24T20:53:26.118+00:00", "load1": "7.95"} +{"utc": "2026-10-24T20:53:27.118+00:00", "load1": "7.95"} +{"utc": "2026-10-24T20:53:28.119+00:00", "load1": "7.95"} +{"utc": "2026-10-24T20:53:29.119+00:00", "load1": "7.95"} +{"utc": "2026-10-24T20:53:30.119+00:00", "load1": "7.95"} +{"utc": "2026-10-24T20:53:31.120+00:00", "load1": "7.71"} +{"utc": "2026-10-24T20:53:32.120+00:00", "load1": "7.71"} +{"utc": "2026-10-24T20:53:33.120+00:00", "load1": "7.71"} +{"utc": "2026-10-24T20:53:34.121+00:00", "load1": "7.71"} +{"utc": "2026-10-24T20:53:35.121+00:00", "load1": "7.71"} +{"utc": "2026-10-24T20:53:36.121+00:00", "load1": "7.49"} +{"utc": "2026-10-24T20:53:37.122+00:00", "load1": "7.49"} +{"utc": "2026-10-24T20:53:38.122+00:00", "load1": "7.49"} +{"utc": "2026-10-24T20:53:39.122+00:00", "load1": "7.49"} +{"utc": "2026-10-24T20:53:40.123+00:00", "load1": "7.49"} +{"utc": "2026-10-24T20:53:41.123+00:00", "load1": "7.45"} +{"utc": "2026-10-24T20:53:42.124+00:00", "load1": "7.45"} +{"utc": "2026-10-24T20:53:43.124+00:00", "load1": "7.45"} +{"utc": "2026-10-24T20:53:44.124+00:00", "load1": "7.45"} +{"utc": "2026-10-24T20:53:45.125+00:00", "load1": "7.45"} +{"utc": "2026-10-24T20:53:46.125+00:00", "load1": "7.10"} +{"utc": "2026-10-24T20:53:47.125+00:00", "load1": "7.10"} +{"utc": "2026-10-24T20:53:48.126+00:00", "load1": "7.10"} +{"utc": "2026-10-24T20:53:49.126+00:00", "load1": "7.10"} +{"utc": "2026-10-24T20:53:50.126+00:00", "load1": "7.10"} +{"utc": "2026-10-24T20:53:51.127+00:00", "load1": "6.93"} +{"utc": "2026-10-24T20:53:52.127+00:00", "load1": "6.93"} +{"utc": "2026-10-24T20:53:53.127+00:00", "load1": "6.93"} +{"utc": "2026-10-24T20:53:54.128+00:00", "load1": "6.93"} +{"utc": "2026-10-24T20:53:55.128+00:00", "load1": "6.93"} +{"utc": "2026-10-24T20:53:56.128+00:00", "load1": "6.93"} +{"utc": "2026-10-24T20:53:57.128+00:00", "load1": "6.93"} +{"utc": "2026-10-24T20:53:58.129+00:00", "load1": "6.93"} +{"utc": "2026-10-24T20:53:59.129+00:00", "load1": "6.93"} +{"utc": "2026-10-24T20:54:00.129+00:00", "load1": "6.93"} +{"utc": "2026-10-24T20:54:01.130+00:00", "load1": "6.94"} +{"utc": "2026-10-24T20:54:02.130+00:00", "load1": "6.94"} +{"utc": "2026-10-24T20:54:03.130+00:00", "load1": "6.94"} +{"utc": "2026-10-24T20:54:04.131+00:00", "load1": "6.94"} +{"utc": "2026-10-24T20:54:05.131+00:00", "load1": "6.94"} +{"utc": "2026-10-24T20:54:06.131+00:00", "load1": "6.78"} +{"utc": "2026-10-24T20:54:07.132+00:00", "load1": "6.78"} +{"utc": "2026-10-24T20:54:08.132+00:00", "load1": "6.78"} +{"utc": "2026-10-24T20:54:09.133+00:00", "load1": "6.78"} +{"utc": "2026-10-24T20:54:10.134+00:00", "load1": "6.78"} +{"utc": "2026-10-24T20:54:11.134+00:00", "load1": "6.96"} +{"utc": "2026-10-24T20:54:12.135+00:00", "load1": "6.96"} +{"utc": "2026-10-24T20:54:13.135+00:00", "load1": "6.96"} +{"utc": "2026-10-24T20:54:14.135+00:00", "load1": "6.96"} +{"utc": "2026-10-24T20:54:15.136+00:00", "load1": "6.96"} +{"utc": "2026-10-24T20:54:16.136+00:00", "load1": "6.64"} +{"utc": "2026-10-24T20:54:17.136+00:00", "load1": "6.64"} +{"utc": "2026-10-24T20:54:18.137+00:00", "load1": "6.64"} +{"utc": "2026-10-24T20:54:19.137+00:00", "load1": "6.64"} +{"utc": "2026-10-24T20:54:20.137+00:00", "load1": "6.64"} diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.txt new file mode 100644 index 000000000..642d9a781 --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.txt @@ -0,0 +1,33 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-upgrade.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/d0MQxx +begin: {"utc": "2026-10-24T20:52:43.099+00:00", "load1": "6.67"} +launch nice: 19 +✔ row 233: sequence 1: confirm fails healthz, the driver reverts, renders the old copy and confirm --rollback --cause A5 passes: exit 1 (9374.021555ms) +✔ row 233: sequence 2: activate --migrate fails at the wrapper, revert restores the store, confirm --rollback --cause A3: exit 1 (6235.815898ms) +✔ row 233: sequence 3: root's render of the new copy fails, the driver rolls back with --cause A4, and holds the lock to the end: exit 1 (6834.839078ms) +✔ row 233: sequence 4: a capture failure is exit 3 from the stage, and A2f restarts the old units and gates them: exit 1 (4141.033649ms) +✔ row 233: N1: a bus that outlives A2's timeout keeps its old start, so A2f's gate fails stale-start: exit 2, both units stopped (7140.081096ms) +✔ row 233: sequence 5: confirm of the wrong copy is refused, and the driver rolls back with --cause A5: exit 1 (5572.636893ms) +✔ row 233: sequence 6: a revert that fails stops both units at exit 2, and the next run refuses at its --plan with nothing stopped (4372.442995ms) +✔ row 233: sequence 7: two upgrades and a rollback --to the previous copy with --restore, the args file following each confirm (11648.434008ms) +✔ row 240: I3 N1: a failed args move after A5 exits 5 args-failed, the new copy live and confirmed and both args files kept (4573.111367ms) +✔ row 233: sequence 8: a migration that writes and fails: the driver reverts to the backup byte for byte, --cause A3: exit 1 (4795.274153ms) +✔ row 233: a second run while the lock is held refuses upgrade-running with one log line and no call (1204.993455ms) +✔ row 233: A1 refuses open-activation on any AWAITING-UNITS file, through the stack's user's --plan, with nothing stopped (1790.370577ms) +✔ row 233: a target that migrates refuses migrate-required without --migrate, with nothing stopped (1687.956985ms) +✔ row 233: the rehearsal runs after the plan and before A2; a failed one refuses rehearsal-failed with nothing stopped (1778.068485ms) +✔ row 233: the rehearsal's BACKUP_STORE line goes to the step log after a match, a malformed one as none, the rest of its output never (4763.56853ms) +✔ row 233: a real rehearsal with no backup in the log refuses no-backup, and goes on only with --no-rehearsal, which logs the skip (6474.996007ms) +✔ row 233: a real rehearsal after an upgrade names the log's newest backup; --no-rehearsal with a backup refuses rehearsal-required (7247.288628ms) +✔ row 233: the args file must be the running user's, with no group or other write, one --copy, and the copy the units run (1535.814181ms) +✔ row 233: hostcheck (row 240): a nonzero --check or a missing file refuses profile-drift before the plan (1677.538591ms) +✔ row 233: the checkout must be at --sha (head-mismatch), and a commit the clone can't fast-forward to refuses fetch-failed (1734.214473ms) +✔ row 233: usage exits 4 before any log or lock (1357.555227ms) +ℹ tests 21 +ℹ suites 0 +ℹ pass 21 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 97571.29322 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.load.jsonl b/agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.load.jsonl new file mode 100644 index 000000000..4f64e0d2f --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.load.jsonl @@ -0,0 +1,4 @@ +{"utc": "2026-10-24T20:54:20.713+00:00", "load1": "7.47"} +{"utc": "2026-10-24T20:54:21.713+00:00", "load1": "7.47"} +{"utc": "2026-10-24T20:54:22.713+00:00", "load1": "7.47"} +{"utc": "2026-10-24T20:54:23.714+00:00", "load1": "7.47"} diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.txt new file mode 100644 index 000000000..dbb51006c --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.txt @@ -0,0 +1,21 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/verbs.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/lkbpHO +begin: {"utc": "2026-10-24T20:54:20.712+00:00", "load1": "7.47"} +launch nice: 19 +✔ talk sends a REQUEST, prints and reads only the reply to it, and leaves other messages unread (72.981496ms) +✔ talk --wait 0 only sends; no reply within --wait exits 1 and says where it will show (1032.558875ms) +✔ a late reply the Console has listed stays unread for mosaic inbox, and the next talk skips it (2044.870543ms) +✔ talk says when the role isn't running, whether launch.by was told, and how to start launch.by (40.08259ms) +✔ talk to a role launch.by can't launch says it isn't in the launch block (21.326572ms) +✔ talk to a stopped role prints the waiting line once, skips a non-reply and prints the reply (53.057453ms) +✔ talk, stop and launches off/on refuse inside an agent run; bad arguments are usage errors (18.732956ms) +✔ launches off and on go to the broker and change the business's launch state (20.626302ms) +✔ launches list reads sessions.json and marks a stale entry; stop reports it and refuses a non-runner (21.01844ms) +ℹ tests 9 +ℹ suites 0 +ℹ pass 9 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 3539.127333 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-client.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-client.test.txt new file mode 100644 index 000000000..b4f5afb4c --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-client.test.txt @@ -0,0 +1,27 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/client.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/MLCeSS +launch nice: 19 +✔ proxy-client-invalid: https://127.0.0.1:18318 (1.495774ms) +✔ proxy-client-invalid: http://example.com:18318 (0.166211ms) +✔ proxy-client-invalid: http://localhost:18318 (0.097126ms) +✔ proxy-client-invalid: http://127.0.0.1:8317 (0.110808ms) +✔ proxy-client-invalid: http://user:pass@127.0.0.1:18318 (0.128378ms) +✔ proxy-client-invalid: http://127.0.0.1:18318/path (0.094614ms) +✔ client GET/PUT v8 only, Authorization header, receipt IDs without values or bodies (28.08791ms) +✔ proxy-client-refused (5.048256ms) +✔ proxy-client-response (3.463902ms) +✔ proxy-client-redirect (1.712543ms) +✔ proxy-client-down: transport errors redact details (1.427428ms) +✔ proxy-client-invalid: PUT rejects object key records and empty strings locally (0.256047ms) +✔ proxy-management-key-invalid: missing, symlink and public key file refuse without values (1.736034ms) +✔ bus management-key loader supplies a private fixture key without exposing it on the client (0.667271ms) +✔ proxy-client-response: truncated response remains a redacted named refusal (13.392259ms) +✔ management client ignores ambient fetch dispatchers (2.251407ms) +ℹ tests 16 +ℹ suites 0 +ℹ pass 16 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 146.767727 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-config-unit.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-config-unit.test.txt new file mode 100644 index 000000000..f738540d4 --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-config-unit.test.txt @@ -0,0 +1,26 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/config-unit.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/MLCeSS +launch nice: 19 +✔ loader proxy absent is byte-compatible; present validates sidecar and preserves config.json (138.487754ms) +✔ proxy-config-invalid: loader refuses an unknown sidecar key and binary outside pinned install (164.095962ms) +✔ proxy unit and bus dependency render default and named instance only when configured (297.46981ms) +✔ proxy-not-configured: runner and unit render refuse absent sidecar (102.76556ms) +✔ proxy-install-invalid: unit runner refuses tampered executable before spawning (99.985849ms) +✔ proxy-unit-usage (50.761894ms) +✔ proxy-unit-exists (53.615714ms) +✔ proxy-unit-dropin (54.502321ms) +✔ proxy-unit-path (52.480201ms) +✔ proxy-config-invalid: instance selection also refuses invalid present sidecar (48.86617ms) +✔ explicit unit install writes only a scratch user unit and refuses a repeat (102.25716ms) +✔ proxy-unit-copy: renderer refuses an unknown or unpinned stack copy (51.301949ms) +✔ historical no-proxy config loader works without new package dependency (25.574655ms) +✔ configured default bus and proxy units bind the same explicit MOSAIC_CONFIG (104.349352ms) +✔ proxy-config-invalid: configured bus refuses a config path systemd cannot carry (51.997703ms) +ℹ tests 15 +ℹ suites 0 +ℹ pass 15 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1511.061445 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-fetch.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-fetch.test.txt new file mode 100644 index 000000000..3c15d9cbe --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-fetch.test.txt @@ -0,0 +1,19 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/fetch.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/MLCeSS +launch nice: 19 +✔ verified fetch installs binary and panel together; identical repeat is idempotent (24.628429ms) +✔ proxy-fetch-hash: either bad asset installs nothing (11.932255ms) +✔ proxy-fetch-existing: conflicting install remains byte-identical (11.368475ms) +✔ proxy-fetch-archive: missing executable in verified archive refuses without install (11.569384ms) +✔ proxy-fetch-url: production downloader permits pinned GitHub release URLs only (0.573042ms) +✔ local fake server covers redirect off allowlist and HTTP failure without external fetch (24.925993ms) +✔ proxy-fetch-existing: extra content in an existing install refuses (16.342567ms) +✔ local fake file server success and same-origin redirect return exact bytes (11.44069ms) +ℹ tests 8 +ℹ suites 0 +ℹ pass 8 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 194.857305 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-runner.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-runner.test.txt new file mode 100644 index 000000000..3eaa76b7a --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-runner.test.txt @@ -0,0 +1,14 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/runner.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/MLCeSS +launch nice: 19 +✔ runner verifies before spawning and supplies pinned panel and local model without ambient secrets (1.287673ms) +✔ proxy-start-failed: sync and async spawn failures report code only (0.511097ms) +✔ hash refusal prevents spawn and ordinary exit status is propagated (0.292593ms) +ℹ tests 3 +ℹ suites 0 +ℹ pass 3 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 66.854175 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-settings.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-settings.test.txt new file mode 100644 index 000000000..a1e2bf415 --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-settings.test.txt @@ -0,0 +1,30 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/settings.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/MLCeSS +launch nice: 19 +✔ absent proxy settings preserves no-proxy contract; present settings validate pinned path (1.901506ms) +✔ proxy-config-invalid: unknown (0.618368ms) +✔ proxy-config-invalid: missing (0.23385ms) +✔ proxy-config-invalid: low (0.672067ms) +✔ proxy-config-invalid: high (0.17348ms) +✔ proxy-config-invalid: host (0.155132ms) +✔ proxy-config-invalid: string (0.157705ms) +✔ proxy-config-invalid: binary (0.137589ms) +✔ proxy-config-invalid: null (0.152987ms) +✔ proxy-config-invalid: malformed or symlink settings refuse (0.651754ms) +✔ proxy-install-missing: init requires fetch before any state is written (0.6645ms) +✔ proxy-install-invalid: binary or panel mutation refuses (0.638609ms) +✔ proxy-key-invalid: empty, multiline and too-long key refuse before creation (0.928691ms) +✔ exclusive initialization writes private sentinel config, never rewrites config.json or exposes key (7.908909ms) +✔ proxy-port-in-use: init refuses occupied loopback without files (1.78688ms) +✔ proxy-init-busy: existing lock refuses without touching it (1.11511ms) +✔ proxy-init-failed: symlink or non-private secrets directory refuses without changing it (1.059762ms) +✔ proxy-already-initialized: each existing target is preserved and never followed (1.185454ms) +✔ proxy-install-invalid: modified panel also refuses (0.346004ms) +ℹ tests 19 +ℹ suites 0 +ℹ pass 19 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 91.953823 diff --git a/agents/magica/work/queue-329/gate/post-unit-fix-webui-pinned-copy.test.txt b/agents/magica/work/queue-329/gate/post-unit-fix-webui-pinned-copy.test.txt new file mode 100644 index 000000000..861c2ef8a --- /dev/null +++ b/agents/magica/work/queue-329/gate/post-unit-fix-webui-pinned-copy.test.txt @@ -0,0 +1,21 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/webui/tests/pinned-copy.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/MLCeSS +launch nice: 19 +✔ copy writes the Console paths at the full id, read-only, and leaves an existing copy alone (907.627172ms) +✔ copy refuses a commit off refactor, an unknown one, a worktree and a bad copies directory (1123.410193ms) +✔ copy writes nothing when an archived path is missing at the commit (429.749863ms) +✔ a copy that loses the rename race leaves no read-only temp directory behind (551.286092ms) +✔ a copy whose rename fails with no target refuses, writes no copy and leaves no temp directory (557.371769ms) +✔ a copy that meets a target holding files says exists: and moves nothing into it (554.079694ms) +✔ a copy that meets an empty target directory replaces it by rename, not by moving into it (580.776728ms) +✔ serve runs from a copy: /healthz 200, the config check, roles and RELEASE from the copy, the queue from --checkout (944.24904ms) +✔ serve refuses a --checkout that is not an absolute directory path (292.190557ms) +✔ consoleReads runs the queue read under queueRoot and reads RELEASE under root (49.545703ms) +ℹ tests 10 +ℹ suites 0 +ℹ pass 10 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 6126.51104 diff --git a/agents/magica/work/queue-329/gate/resume-mos1605-runs.jsonl b/agents/magica/work/queue-329/gate/resume-mos1605-runs.jsonl new file mode 100644 index 000000000..726a2d3bf --- /dev/null +++ b/agents/magica/work/queue-329/gate/resume-mos1605-runs.jsonl @@ -0,0 +1,73 @@ +{"label": "cli-case1-accept.rerun-mos1605", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:13:27.845+00:00", "load1": "3.32"}, "end": {"utc": "2026-10-24T20:17:30.156+00:00", "load1": "4.56"}, "seconds": 242.311, "counts": {"tests": 53, "pass": 53, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.txt"} +{"label": "cli-case1-hostcheck.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:17:30.166+00:00", "load1": "4.56"}, "end": {"utc": "2026-10-24T20:17:33.148+00:00", "load1": "4.56"}, "seconds": 2.982, "counts": {"tests": 19, "pass": 19, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.txt"} +{"label": "cli-case2-install.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:17:33.150+00:00", "load1": "4.56"}, "end": {"utc": "2026-10-24T20:17:41.468+00:00", "load1": "4.78"}, "seconds": 8.318, "counts": {"tests": 27, "pass": 27, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-case2-install.test.txt"} +{"label": "cli-case2-persona-import.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:17:41.471+00:00", "load1": "4.78"}, "end": {"utc": "2026-10-24T20:17:44.556+00:00", "load1": "4.78"}, "seconds": 3.085, "counts": {"tests": 14, "pass": 14, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-case2-persona-import.test.txt"} +{"label": "cli-case2-unit.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:17:44.557+00:00", "load1": "4.78"}, "end": {"utc": "2026-10-24T20:18:56.552+00:00", "load1": "3.62"}, "seconds": 71.995, "counts": {"tests": 47, "pass": 47, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-case2-unit.test.txt"} +{"label": "cli-channel-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:18:56.556+00:00", "load1": "3.62"}, "end": {"utc": "2026-10-24T20:18:56.811+00:00", "load1": "3.62"}, "seconds": 0.256, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-channel-cli.test.txt"} +{"label": "cli-channel-recovery.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:18:56.815+00:00", "load1": "3.62"}, "end": {"utc": "2026-10-24T20:18:59.752+00:00", "load1": "3.62"}, "seconds": 2.937, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-channel-recovery.test.txt"} +{"label": "cli-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:18:59.754+00:00", "load1": "3.62"}, "end": {"utc": "2026-10-24T20:19:00.145+00:00", "load1": "4.05"}, "seconds": 0.392, "counts": {"tests": 12, "pass": 12, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-cli.test.txt"} +{"label": "cli-compactions-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:00.148+00:00", "load1": "4.05"}, "end": {"utc": "2026-10-24T20:19:15.095+00:00", "load1": "4.74"}, "seconds": 14.946, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-compactions-launch.test.txt"} +{"label": "cli-config.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:15.096+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:15.524+00:00", "load1": "4.74"}, "seconds": 0.428, "counts": {"tests": 7, "pass": 7, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-config.test.txt"} +{"label": "cli-credentials.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:15.526+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:15.791+00:00", "load1": "4.74"}, "seconds": 0.266, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-credentials.test.txt"} +{"label": "cli-federation-acceptance.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:15.793+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:15.916+00:00", "load1": "4.74"}, "seconds": 0.122, "counts": {"tests": 1, "pass": 0, "fail": 0, "skipped": 1, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-federation-acceptance.test.txt"} +{"label": "cli-follow.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:15.917+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:16.569+00:00", "load1": "4.74"}, "seconds": 0.652, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-follow.test.txt"} +{"label": "cli-format.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:16.571+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:16.657+00:00", "load1": "4.74"}, "seconds": 0.086, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-format.test.txt"} +{"label": "cli-gate-lane-auth.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:16.658+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:34.513+00:00", "load1": "4.58"}, "seconds": 17.855, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.txt"} +{"label": "cli-gate-lane-fixtures.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:34.515+00:00", "load1": "4.58"}, "end": {"utc": "2026-10-24T20:19:34.868+00:00", "load1": "4.53"}, "seconds": 0.354, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.txt"} +{"label": "cli-gate-lane-image.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:34.870+00:00", "load1": "4.53"}, "end": {"utc": "2026-10-24T20:19:35.172+00:00", "load1": "4.53"}, "seconds": 0.302, "counts": {"tests": 13, "pass": 13, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-gate-lane-image.test.txt"} +{"label": "cli-gate-lane-state.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:35.173+00:00", "load1": "4.53"}, "end": {"utc": "2026-10-24T20:19:36.546+00:00", "load1": "4.53"}, "seconds": 1.372, "counts": {"tests": 14, "pass": 14, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-gate-lane-state.test.txt"} +{"label": "cli-gate-lane.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:36.547+00:00", "load1": "4.53"}, "end": {"utc": "2026-10-24T20:19:37.100+00:00", "load1": "4.53"}, "seconds": 0.553, "counts": {"tests": 13, "pass": 13, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-gate-lane.test.txt"} +{"label": "cli-git-socket.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:37.101+00:00", "load1": "4.53"}, "end": {"utc": "2026-10-24T20:19:51.806+00:00", "load1": "4.72"}, "seconds": 14.704, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-git-socket.test.txt"} +{"label": "cli-grants-scope.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:51.807+00:00", "load1": "4.72"}, "end": {"utc": "2026-10-24T20:19:51.988+00:00", "load1": "4.72"}, "seconds": 0.181, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-grants-scope.test.txt"} +{"label": "cli-grants.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:51.990+00:00", "load1": "4.72"}, "end": {"utc": "2026-10-24T20:19:52.256+00:00", "load1": "4.72"}, "seconds": 0.266, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-grants.test.txt"} +{"label": "cli-host.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:52.258+00:00", "load1": "4.72"}, "end": {"utc": "2026-10-24T20:20:05.392+00:00", "load1": "4.56"}, "seconds": 13.134, "counts": {"tests": 43, "pass": 43, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-host.test.txt"} +{"label": "cli-hosts.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:05.394+00:00", "load1": "4.56"}, "end": {"utc": "2026-10-24T20:20:05.719+00:00", "load1": "4.56"}, "seconds": 0.325, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-hosts.test.txt"} +{"label": "cli-idle-stop-race.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:05.721+00:00", "load1": "4.56"}, "end": {"utc": "2026-10-24T20:20:07.539+00:00", "load1": "4.56"}, "seconds": 1.818, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-idle-stop-race.test.txt"} +{"label": "cli-instances.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:07.541+00:00", "load1": "4.56"}, "end": {"utc": "2026-10-24T20:20:10.331+00:00", "load1": "4.52"}, "seconds": 2.79, "counts": {"tests": 15, "pass": 15, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-instances.test.txt"} +{"label": "cli-launch-account.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:10.333+00:00", "load1": "4.52"}, "end": {"utc": "2026-10-24T20:20:10.606+00:00", "load1": "4.52"}, "seconds": 0.273, "counts": {"tests": 7, "pass": 7, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-launch-account.test.txt"} +{"label": "cli-launch-limit-checks.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:10.608+00:00", "load1": "4.52"}, "end": {"utc": "2026-10-24T20:20:10.851+00:00", "load1": "4.52"}, "seconds": 0.243, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.txt"} +{"label": "cli-launch-limits.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:10.853+00:00", "load1": "4.52"}, "end": {"utc": "2026-10-24T20:20:11.020+00:00", "load1": "4.52"}, "seconds": 0.167, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-launch-limits.test.txt"} +{"label": "cli-launch-routes.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:11.022+00:00", "load1": "4.52"}, "end": {"utc": "2026-10-24T20:20:11.307+00:00", "load1": "4.52"}, "seconds": 0.285, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-launch-routes.test.txt"} +{"label": "cli-launcher.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:11.308+00:00", "load1": "4.52"}, "end": {"utc": "2026-10-24T20:20:39.420+00:00", "load1": "4.55"}, "seconds": 28.112, "counts": {"tests": 34, "pass": 34, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-launcher.test.txt"} +{"label": "cli-lifecycle.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:39.422+00:00", "load1": "4.55"}, "end": {"utc": "2026-10-24T20:20:53.613+00:00", "load1": "5.10"}, "seconds": 14.191, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-lifecycle.test.txt"} +{"label": "cli-limits-tokens.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:53.615+00:00", "load1": "5.10"}, "end": {"utc": "2026-10-24T20:20:53.800+00:00", "load1": "5.10"}, "seconds": 0.186, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-limits-tokens.test.txt"} +{"label": "cli-limits.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:53.802+00:00", "load1": "5.10"}, "end": {"utc": "2026-10-24T20:20:54.196+00:00", "load1": "5.10"}, "seconds": 0.394, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-limits.test.txt"} +{"label": "cli-mark-read.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:54.197+00:00", "load1": "5.10"}, "end": {"utc": "2026-10-24T20:20:55.255+00:00", "load1": "6.30"}, "seconds": 1.057, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-mark-read.test.txt"} +{"label": "cli-model-proxy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:55.256+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:55.435+00:00", "load1": "6.30"}, "seconds": 0.179, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-model-proxy.test.txt"} +{"label": "cli-names.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:55.438+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:55.672+00:00", "load1": "6.30"}, "seconds": 0.234, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-names.test.txt"} +{"label": "cli-notifier.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:55.673+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:56.392+00:00", "load1": "6.30"}, "seconds": 0.719, "counts": {"tests": 27, "pass": 27, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-notifier.test.txt"} +{"label": "cli-optional-tracker.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:56.393+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:56.667+00:00", "load1": "6.30"}, "seconds": 0.274, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-optional-tracker.test.txt"} +{"label": "cli-other-tree.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:56.669+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:56.833+00:00", "load1": "6.30"}, "seconds": 0.164, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-other-tree.test.txt"} +{"label": "cli-processing-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:56.834+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:57.074+00:00", "load1": "6.30"}, "seconds": 0.24, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-processing-cli.test.txt"} +{"label": "cli-project-name-repo.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:57.075+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:57.326+00:00", "load1": "6.30"}, "seconds": 0.25, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-project-name-repo.test.txt"} +{"label": "cli-project.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:57.328+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:57.786+00:00", "load1": "6.30"}, "seconds": 0.458, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-project.test.txt"} +{"label": "cli-publish-socket.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:57.796+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:21:03.435+00:00", "load1": "6.35"}, "seconds": 5.64, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-publish-socket.test.txt"} +{"label": "cli-reply-limits.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:03.437+00:00", "load1": "6.35"}, "end": {"utc": "2026-10-24T20:21:03.536+00:00", "load1": "6.35"}, "seconds": 0.099, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-reply-limits.test.txt"} +{"label": "cli-revoke-window.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:03.537+00:00", "load1": "6.35"}, "end": {"utc": "2026-10-24T20:21:04.452+00:00", "load1": "6.35"}, "seconds": 0.915, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-revoke-window.test.txt"} +{"label": "cli-session-clear.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:04.454+00:00", "load1": "6.35"}, "end": {"utc": "2026-10-24T20:21:15.547+00:00", "load1": "5.86"}, "seconds": 11.093, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-session-clear.test.txt"} +{"label": "cli-session-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:15.548+00:00", "load1": "5.86"}, "end": {"utc": "2026-10-24T20:21:15.751+00:00", "load1": "5.86"}, "seconds": 0.203, "counts": {"tests": 14, "pass": 14, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-session-cli.test.txt"} +{"label": "cli-session-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:15.752+00:00", "load1": "5.86"}, "end": {"utc": "2026-10-24T20:21:26.300+00:00", "load1": "5.33"}, "seconds": 10.548, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-session-launch.test.txt"} +{"label": "cli-stack-copy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:26.302+00:00", "load1": "5.33"}, "end": {"utc": "2026-10-24T20:21:42.998+00:00", "load1": "5.60"}, "seconds": 16.697, "counts": {"tests": 18, "pass": 18, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-stack-copy.test.txt"} +{"label": "cli-stack-instances.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:43.000+00:00", "load1": "5.60"}, "end": {"utc": "2026-10-24T20:21:46.761+00:00", "load1": "5.32"}, "seconds": 3.761, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-stack-instances.test.txt"} +{"label": "cli-stack-release-external.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:46.762+00:00", "load1": "5.32"}, "end": {"utc": "2026-10-24T20:23:13.746+00:00", "load1": "4.19"}, "seconds": 86.983, "counts": {"tests": 25, "pass": 25, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-stack-release-external.test.txt"} +{"label": "cli-stack-release.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:23:13.747+00:00", "load1": "4.19"}, "end": {"utc": "2026-10-24T20:33:52.582+00:00", "load1": "3.39"}, "seconds": 638.835, "counts": {"tests": 224, "pass": 224, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-stack-release.test.txt"} +{"label": "cli-stack-upgrade.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:33:52.592+00:00", "load1": "3.39"}, "end": {"utc": "2026-10-24T20:35:01.263+00:00", "load1": "5.73"}, "seconds": 68.67, "counts": {"tests": 21, "pass": 21, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-stack-upgrade.test.txt"} +{"label": "cli-tester-http.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:01.265+00:00", "load1": "5.73"}, "end": {"utc": "2026-10-24T20:35:01.417+00:00", "load1": "5.73"}, "seconds": 0.153, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-tester-http.test.txt"} +{"label": "cli-tester-reads.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:01.419+00:00", "load1": "5.73"}, "end": {"utc": "2026-10-24T20:35:04.128+00:00", "load1": "5.73"}, "seconds": 2.709, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-tester-reads.test.txt"} +{"label": "cli-tester-threads.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:04.129+00:00", "load1": "5.73"}, "end": {"utc": "2026-10-24T20:35:06.877+00:00", "load1": "5.51"}, "seconds": 2.748, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-tester-threads.test.txt"} +{"label": "cli-tester.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:06.879+00:00", "load1": "5.51"}, "end": {"utc": "2026-10-24T20:35:07.193+00:00", "load1": "5.51"}, "seconds": 0.314, "counts": {"tests": 11, "pass": 11, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-tester.test.txt"} +{"label": "cli-thread-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:07.195+00:00", "load1": "5.51"}, "end": {"utc": "2026-10-24T20:35:09.046+00:00", "load1": "5.51"}, "seconds": 1.852, "counts": {"tests": 11, "pass": 11, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-thread-cli.test.txt"} +{"label": "cli-thread-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:09.047+00:00", "load1": "5.51"}, "end": {"utc": "2026-10-24T20:35:27.680+00:00", "load1": "4.57"}, "seconds": 18.632, "counts": {"tests": 15, "pass": 15, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-thread-launch.test.txt"} +{"label": "cli-thread-revoke.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:27.681+00:00", "load1": "4.57"}, "end": {"utc": "2026-10-24T20:35:28.523+00:00", "load1": "4.57"}, "seconds": 0.842, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-thread-revoke.test.txt"} +{"label": "cli-trackers-boot.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:28.525+00:00", "load1": "4.57"}, "end": {"utc": "2026-10-24T20:35:29.309+00:00", "load1": "4.57"}, "seconds": 0.784, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-trackers-boot.test.txt"} +{"label": "cli-transport.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:29.311+00:00", "load1": "4.57"}, "end": {"utc": "2026-10-24T20:35:31.616+00:00", "load1": "4.44"}, "seconds": 2.305, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-transport.test.txt"} +{"label": "cli-usage.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:31.617+00:00", "load1": "4.44"}, "end": {"utc": "2026-10-24T20:35:31.924+00:00", "load1": "4.44"}, "seconds": 0.306, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-usage.test.txt"} +{"label": "cli-verbs.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:31.926+00:00", "load1": "4.44"}, "end": {"utc": "2026-10-24T20:35:35.362+00:00", "load1": "4.09"}, "seconds": 3.436, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-verbs.test.txt"} +{"label": "webui-pinned-copy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:35.364+00:00", "load1": "4.09"}, "end": {"utc": "2026-10-24T20:35:41.638+00:00", "load1": "3.84"}, "seconds": 6.274, "counts": {"tests": 10, "pass": 10, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/webui-pinned-copy.test.txt"} +{"label": "test-config.sh", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:41.640+00:00", "load1": "3.84"}, "end": {"utc": "2026-10-24T20:35:44.213+00:00", "load1": "3.84"}, "seconds": 2.573, "counts": {"tests": null, "pass": null, "fail": null, "skipped": null, "cancelled": null}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/test-config.sh.txt"} +{"label": "test-federation-acceptance.sh", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:44.214+00:00", "load1": "3.84"}, "end": {"utc": "2026-10-24T20:35:48.205+00:00", "load1": "3.85"}, "seconds": 3.991, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/test-federation-acceptance.sh.txt"} +{"label": "post-unit-fix-cli-host.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:39:03.617+00:00", "load1": "2.07"}, "end": {"utc": "2026-10-24T20:39:15.879+00:00", "load1": "2.05"}, "seconds": 12.262, "counts": {"tests": 43, "pass": 43, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-host.test.txt"} +{"label": "post-unit-fix-cli-stack-release-external.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:39:15.880+00:00", "load1": "2.05"}, "end": {"utc": "2026-10-24T20:40:39.646+00:00", "load1": "3.19"}, "seconds": 83.766, "counts": {"tests": 25, "pass": 25, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release-external.test.txt"} +{"label": "post-unit-fix-cli-stack-release.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:40:39.648+00:00", "load1": "3.19"}, "end": {"utc": "2026-10-24T20:52:43.095+00:00", "load1": "6.67"}, "seconds": 723.448, "counts": {"tests": 224, "pass": 224, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-release.test.txt"} +{"label": "post-unit-fix-cli-stack-upgrade.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:52:43.099+00:00", "load1": "6.67"}, "end": {"utc": "2026-10-24T20:54:20.710+00:00", "load1": "7.47"}, "seconds": 97.612, "counts": {"tests": 21, "pass": 21, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-upgrade.test.txt"} +{"label": "post-unit-fix-cli-verbs.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:54:20.712+00:00", "load1": "7.47"}, "end": {"utc": "2026-10-24T20:54:24.299+00:00", "load1": "7.47"}, "seconds": 3.587, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-verbs.test.txt"} diff --git a/agents/magica/work/queue-329/gate/runs.jsonl b/agents/magica/work/queue-329/gate/runs.jsonl new file mode 100644 index 000000000..20e67dc71 --- /dev/null +++ b/agents/magica/work/queue-329/gate/runs.jsonl @@ -0,0 +1,143 @@ +{"label": "npm-root", "rc": 0, "nice": 19, "seconds": 1.76, "log": "agents/magica/work/queue-329/gate/npm-root.txt"} +{"label": "npm-webui", "rc": 0, "nice": 19, "seconds": 0.27, "log": "agents/magica/work/queue-329/gate/npm-webui.txt"} +{"label": "model-proxy-client.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/model-proxy-client.test.txt"} +{"label": "model-proxy-config-unit.test", "rc": 0, "nice": 19, "seconds": 1.29, "log": "agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt"} +{"label": "model-proxy-fetch.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt"} +{"label": "model-proxy-runner.test", "rc": 0, "nice": 19, "seconds": 0.11, "log": "agents/magica/work/queue-329/gate/model-proxy-runner.test.txt"} +{"label": "model-proxy-settings.test", "rc": 0, "nice": 19, "seconds": 0.12, "log": "agents/magica/work/queue-329/gate/model-proxy-settings.test.txt"} +{"label": "bus-model-proxy.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-model-proxy.test.txt"} +{"label": "cli-model-proxy.test", "rc": 0, "nice": 19, "seconds": 0.19, "log": "agents/magica/work/queue-329/gate/cli-model-proxy.test.txt"} +{"label": "model-proxy-client.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/model-proxy-client.test.txt"} +{"label": "model-proxy-config-unit.test", "rc": 0, "nice": 19, "seconds": 1.38, "log": "agents/magica/work/queue-329/gate/model-proxy-config-unit.test.txt"} +{"label": "model-proxy-fetch.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/model-proxy-fetch.test.txt"} +{"label": "model-proxy-runner.test", "rc": 0, "nice": 19, "seconds": 0.12, "log": "agents/magica/work/queue-329/gate/model-proxy-runner.test.txt"} +{"label": "model-proxy-settings.test", "rc": 0, "nice": 19, "seconds": 0.16, "log": "agents/magica/work/queue-329/gate/model-proxy-settings.test.txt"} +{"label": "bus-access-revoke.test", "rc": 0, "nice": 19, "seconds": 0.54, "log": "agents/magica/work/queue-329/gate/bus-access-revoke.test.txt"} +{"label": "bus-account-migration.test", "rc": 0, "nice": 19, "seconds": 0.44, "log": "agents/magica/work/queue-329/gate/bus-account-migration.test.txt"} +{"label": "bus-address.test", "rc": 0, "nice": 19, "seconds": 0.1, "log": "agents/magica/work/queue-329/gate/bus-address.test.txt"} +{"label": "bus-agents.test", "rc": 0, "nice": 19, "seconds": 0.48, "log": "agents/magica/work/queue-329/gate/bus-agents.test.txt"} +{"label": "bus-approval-binding.test", "rc": 0, "nice": 19, "seconds": 0.3, "log": "agents/magica/work/queue-329/gate/bus-approval-binding.test.txt"} +{"label": "bus-broker.test", "rc": 0, "nice": 19, "seconds": 0.49, "log": "agents/magica/work/queue-329/gate/bus-broker.test.txt"} +{"label": "bus-business.test", "rc": 0, "nice": 19, "seconds": 0.1, "log": "agents/magica/work/queue-329/gate/bus-business.test.txt"} +{"label": "bus-channel-proof.test", "rc": 0, "nice": 19, "seconds": 0.6, "log": "agents/magica/work/queue-329/gate/bus-channel-proof.test.txt"} +{"label": "bus-chief-of-staff.test", "rc": 0, "nice": 19, "seconds": 2.73, "log": "agents/magica/work/queue-329/gate/bus-chief-of-staff.test.txt"} +{"label": "bus-citation-availability.test", "rc": 0, "nice": 19, "seconds": 5.36, "log": "agents/magica/work/queue-329/gate/bus-citation-availability.test.txt"} +{"label": "bus-citation-guard.test", "rc": 0, "nice": 19, "seconds": 1.08, "log": "agents/magica/work/queue-329/gate/bus-citation-guard.test.txt"} +{"label": "bus-citation-runtime.test", "rc": 0, "nice": 19, "seconds": 0.31, "log": "agents/magica/work/queue-329/gate/bus-citation-runtime.test.txt"} +{"label": "bus-comment-cursors.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/bus-comment-cursors.test.txt"} +{"label": "bus-comment-migration.test", "rc": 0, "nice": 19, "seconds": 0.65, "log": "agents/magica/work/queue-329/gate/bus-comment-migration.test.txt"} +{"label": "bus-console-decide.test", "rc": 0, "nice": 19, "seconds": 0.87, "log": "agents/magica/work/queue-329/gate/bus-console-decide.test.txt"} +{"label": "bus-creative.test", "rc": 0, "nice": 19, "seconds": 0.41, "log": "agents/magica/work/queue-329/gate/bus-creative.test.txt"} +{"label": "bus-credential-claim.test", "rc": 0, "nice": 19, "seconds": 0.16, "log": "agents/magica/work/queue-329/gate/bus-credential-claim.test.txt"} +{"label": "bus-credential-status.test", "rc": 0, "nice": 19, "seconds": 0.37, "log": "agents/magica/work/queue-329/gate/bus-credential-status.test.txt"} +{"label": "bus-credential-store.test", "rc": 0, "nice": 19, "seconds": 0.17, "log": "agents/magica/work/queue-329/gate/bus-credential-store.test.txt"} +{"label": "bus-credential-verbs.test", "rc": 0, "nice": 19, "seconds": 0.34, "log": "agents/magica/work/queue-329/gate/bus-credential-verbs.test.txt"} +{"label": "bus-credentials.test", "rc": 0, "nice": 19, "seconds": 0.11, "log": "agents/magica/work/queue-329/gate/bus-credentials.test.txt"} +{"label": "bus-csuite-messaging.test", "rc": 0, "nice": 19, "seconds": 0.75, "log": "agents/magica/work/queue-329/gate/bus-csuite-messaging.test.txt"} +{"label": "bus-daily-quota-runtime.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-daily-quota-runtime.test.txt"} +{"label": "bus-decision-close.test", "rc": 0, "nice": 19, "seconds": 0.39, "log": "agents/magica/work/queue-329/gate/bus-decision-close.test.txt"} +{"label": "bus-decision-route.test", "rc": 0, "nice": 19, "seconds": 0.3, "log": "agents/magica/work/queue-329/gate/bus-decision-route.test.txt"} +{"label": "bus-decisions.test", "rc": 0, "nice": 19, "seconds": 0.47, "log": "agents/magica/work/queue-329/gate/bus-decisions.test.txt"} +{"label": "bus-end-launch.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-end-launch.test.txt"} +{"label": "bus-fire-revokes-grants.test", "rc": 0, "nice": 19, "seconds": 4.03, "log": "agents/magica/work/queue-329/gate/bus-fire-revokes-grants.test.txt"} +{"label": "bus-gitea-grant-docker.test", "rc": 0, "nice": 19, "seconds": 26.18, "log": "agents/magica/work/queue-329/gate/bus-gitea-grant-docker.test.txt"} +{"label": "bus-gitea-grant.test", "rc": 0, "nice": 19, "seconds": 11.98, "log": "agents/magica/work/queue-329/gate/bus-gitea-grant.test.txt"} +{"label": "bus-gitea-migration.test", "rc": 0, "nice": 19, "seconds": 0.44, "log": "agents/magica/work/queue-329/gate/bus-gitea-migration.test.txt"} +{"label": "bus-grant-enroll.test", "rc": 0, "nice": 19, "seconds": 1.81, "log": "agents/magica/work/queue-329/gate/bus-grant-enroll.test.txt"} +{"label": "bus-grant-executor.test", "rc": 0, "nice": 19, "seconds": 22.58, "log": "agents/magica/work/queue-329/gate/bus-grant-executor.test.txt"} +{"label": "bus-grant-host.test", "rc": 0, "nice": 19, "seconds": 0.46, "log": "agents/magica/work/queue-329/gate/bus-grant-host.test.txt"} +{"label": "bus-grant-migration.test", "rc": 0, "nice": 19, "seconds": 0.51, "log": "agents/magica/work/queue-329/gate/bus-grant-migration.test.txt"} +{"label": "bus-grant-scope-runtime.test", "rc": 0, "nice": 19, "seconds": 0.24, "log": "agents/magica/work/queue-329/gate/bus-grant-scope-runtime.test.txt"} +{"label": "bus-grant-scope.test", "rc": 0, "nice": 19, "seconds": 1.36, "log": "agents/magica/work/queue-329/gate/bus-grant-scope.test.txt"} +{"label": "bus-hard-waits.test", "rc": 0, "nice": 19, "seconds": 1.57, "log": "agents/magica/work/queue-329/gate/bus-hard-waits.test.txt"} +{"label": "bus-host-run.test", "rc": 0, "nice": 19, "seconds": 14.99, "log": "agents/magica/work/queue-329/gate/bus-host-run.test.txt"} +{"label": "bus-host-tools.test", "rc": 0, "nice": 19, "seconds": 3.94, "log": "agents/magica/work/queue-329/gate/bus-host-tools.test.txt"} +{"label": "bus-human.test", "rc": 0, "nice": 19, "seconds": 0.1, "log": "agents/magica/work/queue-329/gate/bus-human.test.txt"} +{"label": "bus-instances-verb.test", "rc": 0, "nice": 19, "seconds": 0.33, "log": "agents/magica/work/queue-329/gate/bus-instances-verb.test.txt"} +{"label": "bus-interpreter.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/bus-interpreter.test.txt"} +{"label": "bus-land.test", "rc": 0, "nice": 19, "seconds": 0.97, "log": "agents/magica/work/queue-329/gate/bus-land.test.txt"} +{"label": "bus-launch-notice.test", "rc": 0, "nice": 19, "seconds": 0.32, "log": "agents/magica/work/queue-329/gate/bus-launch-notice.test.txt"} +{"label": "bus-launcher-released.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-launcher-released.test.txt"} +{"label": "bus-library-credential.test", "rc": 0, "nice": 19, "seconds": 1.48, "log": "agents/magica/work/queue-329/gate/bus-library-credential.test.txt"} +{"label": "bus-library-lookups.test", "rc": 0, "nice": 19, "seconds": 1.31, "log": "agents/magica/work/queue-329/gate/bus-library-lookups.test.txt"} +{"label": "bus-library-sync.test", "rc": 0, "nice": 19, "seconds": 6.95, "log": "agents/magica/work/queue-329/gate/bus-library-sync.test.txt"} +{"label": "bus-library.test", "rc": 0, "nice": 19, "seconds": 0.72, "log": "agents/magica/work/queue-329/gate/bus-library.test.txt"} +{"label": "bus-lifecycle-revoke.test", "rc": 0, "nice": 19, "seconds": 0.8, "log": "agents/magica/work/queue-329/gate/bus-lifecycle-revoke.test.txt"} +{"label": "bus-lifecycle-verbs.test", "rc": 0, "nice": 19, "seconds": 0.6, "log": "agents/magica/work/queue-329/gate/bus-lifecycle-verbs.test.txt"} +{"label": "bus-limit-checks.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-limit-checks.test.txt"} +{"label": "bus-limit-stop.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-limit-stop.test.txt"} +{"label": "bus-limits-runtime.test", "rc": 0, "nice": 19, "seconds": 0.52, "log": "agents/magica/work/queue-329/gate/bus-limits-runtime.test.txt"} +{"label": "bus-limits.test", "rc": 0, "nice": 19, "seconds": 0.36, "log": "agents/magica/work/queue-329/gate/bus-limits.test.txt"} +{"label": "bus-message-citation.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/bus-message-citation.test.txt"} +{"label": "bus-message-filter.test", "rc": 0, "nice": 19, "seconds": 0.61, "log": "agents/magica/work/queue-329/gate/bus-message-filter.test.txt"} +{"label": "bus-messages.test", "rc": 0, "nice": 19, "seconds": 0.56, "log": "agents/magica/work/queue-329/gate/bus-messages.test.txt"} +{"label": "bus-messaging.test", "rc": 0, "nice": 19, "seconds": 0.6, "log": "agents/magica/work/queue-329/gate/bus-messaging.test.txt"} +{"label": "bus-model-proxy.test", "rc": 0, "nice": 19, "seconds": 0.28, "log": "agents/magica/work/queue-329/gate/bus-model-proxy.test.txt"} +{"label": "bus-name-migration.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/bus-name-migration.test.txt"} +{"label": "bus-names.test", "rc": 0, "nice": 19, "seconds": 0.29, "log": "agents/magica/work/queue-329/gate/bus-names.test.txt"} +{"label": "bus-peer-transport.test", "rc": 0, "nice": 19, "seconds": 0.19, "log": "agents/magica/work/queue-329/gate/bus-peer-transport.test.txt"} +{"label": "bus-peercred.test", "rc": 0, "nice": 19, "seconds": 0.43, "log": "agents/magica/work/queue-329/gate/bus-peercred.test.txt"} +{"label": "bus-plugins-verb.test", "rc": 0, "nice": 19, "seconds": 0.3, "log": "agents/magica/work/queue-329/gate/bus-plugins-verb.test.txt"} +{"label": "bus-principal.test", "rc": 0, "nice": 19, "seconds": 0.09, "log": "agents/magica/work/queue-329/gate/bus-principal.test.txt"} +{"label": "bus-process.test", "rc": 0, "nice": 19, "seconds": 1.43, "log": "agents/magica/work/queue-329/gate/bus-process.test.txt"} +{"label": "bus-processing-runtime.test", "rc": 0, "nice": 19, "seconds": 0.41, "log": "agents/magica/work/queue-329/gate/bus-processing-runtime.test.txt"} +{"label": "bus-processing-timeout.test", "rc": 0, "nice": 19, "seconds": 0.28, "log": "agents/magica/work/queue-329/gate/bus-processing-timeout.test.txt"} +{"label": "bus-processing-web.test", "rc": 0, "nice": 19, "seconds": 0.14, "log": "agents/magica/work/queue-329/gate/bus-processing-web.test.txt"} +{"label": "bus-processing.test", "rc": 0, "nice": 19, "seconds": 0.39, "log": "agents/magica/work/queue-329/gate/bus-processing.test.txt"} +{"label": "bus-project-await.test", "rc": 0, "nice": 19, "seconds": 0.18, "log": "agents/magica/work/queue-329/gate/bus-project-await.test.txt"} +{"label": "bus-project-files.test", "rc": 0, "nice": 19, "seconds": 0.92, "log": "agents/magica/work/queue-329/gate/bus-project-files.test.txt"} +{"label": "bus-project-runtime.test", "rc": 0, "nice": 19, "seconds": 0.41, "log": "agents/magica/work/queue-329/gate/bus-project-runtime.test.txt"} +{"label": "bus-publish.test", "rc": 0, "nice": 19, "seconds": 0.8, "log": "agents/magica/work/queue-329/gate/bus-publish.test.txt"} +{"label": "bus-reload.test", "rc": 0, "nice": 19, "seconds": 1.04, "log": "agents/magica/work/queue-329/gate/bus-reload.test.txt"} +{"label": "bus-replies.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-replies.test.txt"} +{"label": "bus-requirements.test", "rc": 0, "nice": 19, "seconds": 0.2, "log": "agents/magica/work/queue-329/gate/bus-requirements.test.txt"} +{"label": "bus-review.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-review.test.txt"} +{"label": "bus-revoke-window.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-revoke-window.test.txt"} +{"label": "bus-room-check.test", "rc": 0, "nice": 19, "seconds": 0.21, "log": "agents/magica/work/queue-329/gate/bus-room-check.test.txt"} +{"label": "bus-rooms.test", "rc": 0, "nice": 19, "seconds": 1.1, "log": "agents/magica/work/queue-329/gate/bus-rooms.test.txt"} +{"label": "bus-routes-verb.test", "rc": 0, "nice": 19, "seconds": 0.35, "log": "agents/magica/work/queue-329/gate/bus-routes-verb.test.txt"} +{"label": "bus-schema.test", "rc": 0, "nice": 19, "seconds": 0.17, "log": "agents/magica/work/queue-329/gate/bus-schema.test.txt"} +{"label": "bus-session-clear.test", "rc": 0, "nice": 19, "seconds": 0.87, "log": "agents/magica/work/queue-329/gate/bus-session-clear.test.txt"} +{"label": "bus-session-compactions.test", "rc": 0, "nice": 19, "seconds": 0.19, "log": "agents/magica/work/queue-329/gate/bus-session-compactions.test.txt"} +{"label": "bus-sessions.test", "rc": 0, "nice": 19, "seconds": 0.65, "log": "agents/magica/work/queue-329/gate/bus-sessions.test.txt"} +{"label": "bus-single-use.test", "rc": 0, "nice": 19, "seconds": 0.43, "log": "agents/magica/work/queue-329/gate/bus-single-use.test.txt"} +{"label": "bus-spec-migration.test", "rc": 0, "nice": 19, "seconds": 0.23, "log": "agents/magica/work/queue-329/gate/bus-spec-migration.test.txt"} +{"label": "bus-spec-review.test", "rc": 0, "nice": 19, "seconds": 1.26, "log": "agents/magica/work/queue-329/gate/bus-spec-review.test.txt"} +{"label": "bus-spec-socket.test", "rc": 0, "nice": 19, "seconds": 0.74, "log": "agents/magica/work/queue-329/gate/bus-spec-socket.test.txt"} +{"label": "bus-spec.test", "rc": 0, "nice": 19, "seconds": 0.46, "log": "agents/magica/work/queue-329/gate/bus-spec.test.txt"} +{"label": "bus-staff-request.test", "rc": 0, "nice": 19, "seconds": 0.46, "log": "agents/magica/work/queue-329/gate/bus-staff-request.test.txt"} +{"label": "bus-state.test", "rc": 0, "nice": 19, "seconds": 0.25, "log": "agents/magica/work/queue-329/gate/bus-state.test.txt"} +{"label": "bus-store.test", "rc": 0, "nice": 19, "seconds": 0.27, "log": "agents/magica/work/queue-329/gate/bus-store.test.txt"} +{"label": "bus-task-page.test", "rc": 0, "nice": 19, "seconds": 1.11, "log": "agents/magica/work/queue-329/gate/bus-task-page.test.txt"} +{"label": "bus-task-read.test", "rc": 0, "nice": 19, "seconds": 0.22, "log": "agents/magica/work/queue-329/gate/bus-task-read.test.txt"} +{"label": "bus-tasks.test", "rc": 0, "nice": 19, "seconds": 1.18, "log": "agents/magica/work/queue-329/gate/bus-tasks.test.txt"} +{"label": "bus-tester-threads.test", "rc": 0, "nice": 19, "seconds": 0.52, "log": "agents/magica/work/queue-329/gate/bus-tester-threads.test.txt"} +{"label": "bus-tester-writes.test", "rc": 0, "nice": 19, "seconds": 0.61, "log": "agents/magica/work/queue-329/gate/bus-tester-writes.test.txt"} +{"label": "bus-tester.test", "rc": 0, "nice": 19, "seconds": 1.8, "log": "agents/magica/work/queue-329/gate/bus-tester.test.txt"} +{"label": "bus-thread-claims.test", "rc": 0, "nice": 19, "seconds": 0.26, "log": "agents/magica/work/queue-329/gate/bus-thread-claims.test.txt"} +{"label": "bus-thread-migration.test", "rc": 0, "nice": 19, "seconds": 0.4, "log": "agents/magica/work/queue-329/gate/bus-thread-migration.test.txt"} +{"label": "bus-thread-shares.test", "rc": 0, "nice": 19, "seconds": 0.81, "log": "agents/magica/work/queue-329/gate/bus-thread-shares.test.txt"} +{"label": "bus-threads.test", "rc": 0, "nice": 19, "seconds": 1.41, "log": "agents/magica/work/queue-329/gate/bus-threads.test.txt"} +{"label": "bus-transport.test", "rc": 0, "nice": 19, "seconds": 0.28, "log": "agents/magica/work/queue-329/gate/bus-transport.test.txt"} +{"label": "bus-usage-broker.test", "rc": 0, "nice": 19, "seconds": 0.15, "log": "agents/magica/work/queue-329/gate/bus-usage-broker.test.txt"} +{"label": "bus-usage-migration.test", "rc": 0, "nice": 19, "seconds": 0.63, "log": "agents/magica/work/queue-329/gate/bus-usage-migration.test.txt"} +{"label": "bus-usage-runtime.test", "rc": 0, "nice": 19, "seconds": 0.26, "log": "agents/magica/work/queue-329/gate/bus-usage-runtime.test.txt"} +{"label": "bus-usage.test", "rc": 0, "nice": 19, "seconds": 0.38, "log": "agents/magica/work/queue-329/gate/bus-usage.test.txt"} +{"label": "bus-user-principal.test", "rc": 0, "nice": 19, "seconds": 1.01, "log": "agents/magica/work/queue-329/gate/bus-user-principal.test.txt"} +{"label": "bus-viewer.test", "rc": 0, "nice": 19, "seconds": 0.65, "log": "agents/magica/work/queue-329/gate/bus-viewer.test.txt"} +{"label": "bus-web.test", "rc": 0, "nice": 19, "seconds": 1.18, "log": "agents/magica/work/queue-329/gate/bus-web.test.txt"} +{"label": "bus-workflow-roles.test", "rc": 0, "nice": 19, "seconds": 0.24, "log": "agents/magica/work/queue-329/gate/bus-workflow-roles.test.txt"} +{"label": "cli-access-boot.test", "rc": 0, "nice": 19, "seconds": 0.5, "log": "agents/magica/work/queue-329/gate/cli-access-boot.test.txt"} +{"label": "cli-access.test", "rc": 0, "nice": 19, "seconds": 7.0, "log": "agents/magica/work/queue-329/gate/cli-access.test.txt"} +{"label": "cli-app.test", "rc": 0, "nice": 19, "seconds": 14.19, "log": "agents/magica/work/queue-329/gate/cli-app.test.txt"} +{"label": "cli-boot-status.test", "rc": 0, "nice": 19, "seconds": 1.35, "log": "agents/magica/work/queue-329/gate/cli-boot-status.test.txt"} +{"label": "cli-case1-accept.test", "rc": 1, "nice": 19, "seconds": 252.61, "log": "agents/magica/work/queue-329/gate/cli-case1-accept.test.txt"} +{"label": "unit-custom-config-red", "rc": 1, "nice": 19, "seconds": 1.46, "log": "agents/magica/work/queue-329/gate/unit-custom-config-red.txt"} +{"label": "post-unit-fix-model-proxy-client.test", "rc": 0, "nice": 19, "seconds": 0.18, "log": "agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-client.test.txt"} +{"label": "post-unit-fix-model-proxy-config-unit.test", "rc": 0, "nice": 19, "seconds": 1.55, "log": "agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-config-unit.test.txt"} +{"label": "post-unit-fix-model-proxy-fetch.test", "rc": 0, "nice": 19, "seconds": 0.22, "log": "agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-fetch.test.txt"} +{"label": "post-unit-fix-model-proxy-runner.test", "rc": 0, "nice": 19, "seconds": 0.1, "log": "agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-runner.test.txt"} +{"label": "post-unit-fix-model-proxy-settings.test", "rc": 0, "nice": 19, "seconds": 0.12, "log": "agents/magica/work/queue-329/gate/post-unit-fix-model-proxy-settings.test.txt"} +{"label": "post-unit-fix-cli-stack-instances.test", "rc": 0, "nice": 19, "seconds": 3.76, "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-instances.test.txt"} +{"label": "post-unit-fix-cli-stack-copy.test", "rc": 0, "nice": 19, "seconds": 16.0, "log": "agents/magica/work/queue-329/gate/post-unit-fix-cli-stack-copy.test.txt"} +{"label": "post-unit-fix-webui-pinned-copy.test", "rc": 0, "nice": 19, "seconds": 6.15, "log": "agents/magica/work/queue-329/gate/post-unit-fix-webui-pinned-copy.test.txt"} diff --git a/agents/magica/work/queue-329/gate/test-config.sh.load.jsonl b/agents/magica/work/queue-329/gate/test-config.sh.load.jsonl new file mode 100644 index 000000000..e4cb3cc59 --- /dev/null +++ b/agents/magica/work/queue-329/gate/test-config.sh.load.jsonl @@ -0,0 +1,3 @@ +{"utc": "2026-10-24T20:35:41.640+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:35:42.641+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:35:43.641+00:00", "load1": "3.84"} diff --git a/agents/magica/work/queue-329/gate/test-config.sh.txt b/agents/magica/work/queue-329/gate/test-config.sh.txt new file mode 100644 index 000000000..fcb3e1f31 --- /dev/null +++ b/agents/magica/work/queue-329/gate/test-config.sh.txt @@ -0,0 +1,61 @@ +command: ["bash", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/scripts/test-config.sh"] +TMPDIR: /mnt/storage/scratch/tmp/D12yzg +begin: {"utc": "2026-10-24T20:35:41.640+00:00", "load1": "3.84"} +launch nice: 19 +OK absent adapter defaults to pi +OK adapter mock validates (exit 0) +OK unsupported adapter exits 2 (exit 2) +OK env exports adapter +OK bootstrap creates default when absent (exit 0) +OK bootstrap wrote config file +OK bootstrap is idempotent on existing config (exit 0) +OK bootstrap did not rewrite existing config +OK validate missing config exits 3 (exit 3) +OK malformed JSON exits 2 (exit 2) +OK unsupported configVersion exits 2 (exit 2) +OK unknown top-level key exits 2 (exit 2) +OK unknown execution key exits 2 (exit 2) +OK unsupported backend exits 2 (exit 2) +OK unsupported environment exits 2 (exit 2) +OK relative dataRoot exits 2 (exit 2) +OK non-canonical dataRoot exits 2 (exit 2) +OK filesystem root dataRoot exits 2 (exit 2) +OK home directory dataRoot exits 2 (exit 2) +OK dataRoot containing config dir exits 2 (exit 2) +OK control character in provider exits 2 (exit 2) +OK symlinked config file exits 2 (exit 2) +OK env exports resolve correctly +OK valid console.sso loads and is in the output +OK console.sso HS256 alg exits 2 naming the path (exit 2) +OK console.sso alg none exits 2 naming the path (exit 2) +OK console.sso missing slot field exits 2 naming the path (exit 2) +OK console.sso slot name outside the pattern exits 2 naming the path (exit 2) +OK unknown key under console exits 2 naming the path (exit 2) +OK valid federation key loads and is in the output +OK federation unknown sub-key exits 2 naming the key (exit 2) +OK federation peer unknown sub-key exits 2 naming the key (exit 2) +OK federation peer origin over http exits 2 naming the key (exit 2) +OK federation peer origin with a path exits 2 naming the key (exit 2) +OK federation peer origin with userinfo exits 2 naming the key (exit 2) +OK federation peer id equal to self exits 2 naming the key (exit 2) +OK federation peer label empty exits 2 naming the key (exit 2) +OK federation not an object exits 2 naming the key (exit 2) +OK federation self pattern exits 2 naming the key (exit 2) +OK federation peers not an array exits 2 naming the key (exit 2) +OK federation peer not an object exits 2 naming the key (exit 2) +OK federation peer id pattern exits 2 naming the key (exit 2) +OK federation peer label over 80 characters exits 2 naming the key (exit 2) +OK federation duplicate peer id exits 2 naming the key (exit 2) +OK federation peer origin with a trailing slash exits 2 naming the key (exit 2) +OK federation self missing exits 2 naming the key (exit 2) +OK federation peer id missing exits 2 naming the key (exit 2) +OK federation peer label missing exits 2 naming the key (exit 2) +OK config without federation loads and has no federation output +OK config without console loads with unchanged output +OK compactionReadBytes 8388608 loads and is in the output as written +OK compactionReadBytes "x" loads and is in the output as written +OK compactionStreams 2048 loads and is in the output as written +OK compactionStreams "x" loads and is in the output as written +OK failed validation modified nothing + +selftest: 55 passed, 0 failed diff --git a/agents/magica/work/queue-329/gate/test-federation-acceptance.sh.load.jsonl b/agents/magica/work/queue-329/gate/test-federation-acceptance.sh.load.jsonl new file mode 100644 index 000000000..b1e64eb38 --- /dev/null +++ b/agents/magica/work/queue-329/gate/test-federation-acceptance.sh.load.jsonl @@ -0,0 +1,4 @@ +{"utc": "2026-10-24T20:35:44.214+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:35:45.215+00:00", "load1": "3.85"} +{"utc": "2026-10-24T20:35:46.215+00:00", "load1": "3.85"} +{"utc": "2026-10-24T20:35:47.215+00:00", "load1": "3.85"} diff --git a/agents/magica/work/queue-329/gate/test-federation-acceptance.sh.txt b/agents/magica/work/queue-329/gate/test-federation-acceptance.sh.txt new file mode 100644 index 000000000..9b77662df --- /dev/null +++ b/agents/magica/work/queue-329/gate/test-federation-acceptance.sh.txt @@ -0,0 +1,14 @@ +command: ["bash", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/scripts/test-federation-acceptance.sh"] +TMPDIR: /mnt/storage/scratch/tmp/jIrvk5 +begin: {"utc": "2026-10-24T20:35:44.214+00:00", "load1": "3.84"} +launch nice: 19 +✔ FED R7 scratch two-instance acceptance (3626.391529ms) +ℹ tests 1 +ℹ suites 0 +ℹ pass 1 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 3709.959068 +R7 cleanup: no child groups, ports or sockets remain; no units created diff --git a/agents/magica/work/queue-329/gate/unit-custom-config-red.txt b/agents/magica/work/queue-329/gate/unit-custom-config-red.txt new file mode 100644 index 000000000..cd25ee06d --- /dev/null +++ b/agents/magica/work/queue-329/gate/unit-custom-config-red.txt @@ -0,0 +1,111 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/config-unit.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/ejqLhd +launch nice: 19 +✔ loader proxy absent is byte-compatible; present validates sidecar and preserves config.json (77.48844ms) +✔ proxy-config-invalid: loader refuses an unknown sidecar key and binary outside pinned install (141.432191ms) +✔ proxy unit and bus dependency render default and named instance only when configured (322.552459ms) +✔ proxy-not-configured: runner and unit render refuse absent sidecar (109.105769ms) +✔ proxy-install-invalid: unit runner refuses tampered executable before spawning (110.967162ms) +✔ proxy-unit-usage (51.66918ms) +✔ proxy-unit-exists (52.603318ms) +✔ proxy-unit-dropin (61.432462ms) +✔ proxy-unit-path (60.646629ms) +✔ proxy-config-invalid: instance selection also refuses invalid present sidecar (58.01528ms) +✔ explicit unit install writes only a scratch user unit and refuses a repeat (111.073082ms) +✔ proxy-unit-copy: renderer refuses an unknown or unpinned stack copy (60.600975ms) +✔ historical no-proxy config loader works without new package dependency (28.615233ms) +✖ configured default bus and proxy units bind the same explicit MOSAIC_CONFIG (60.385106ms) +✖ proxy-config-invalid: configured bus refuses a config path systemd cannot carry (53.676249ms) +ℹ tests 15 +ℹ suites 0 +ℹ pass 13 +ℹ fail 2 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 1433.478971 + +✖ failing tests: + +test at packages/model-proxy/tests/config-unit.test.mjs:25:1 +✖ configured default bus and proxy units bind the same explicit MOSAIC_CONFIG (60.385106ms) + AssertionError [ERR_ASSERTION]: # Mosaic bus host, one instance per business: mosaic-bus@. + # Rendered by scripts/bus-service.sh from packages/cli/systemd/; /home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329, + # /usr/local/bin:/usr/bin:/bin and the claude line below are filled in at install time. Edit the template and reinstall; do + # not edit the installed copy. The bus store allows one broker per data + # root, so run one instance per data root (packages/cli/README.md). + [Unit] + Description=Mosaic bus host (%i) + Wants=mosaic-proxy.service + After=mosaic-proxy.service + Documentation=file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/README.md + StartLimitIntervalSec=600 + StartLimitBurst=5 + + [Service] + Type=simple + WorkingDirectory=/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329 + Environment=PATH=/usr/local/bin:/usr/bin:/bin + # The Claude Code binary that managed sessions and the manifest's + # claudeVersion run, pinned at install (`--claude PATH`, default + # `command -v claude`). Without it they run `claude` from PATH above. + Environment=MOSAIC_CLAUDE_BIN=/home/jwoltje/.local/bin/claude + # Claude Code sessions log in with what this 0600 file sets, which the + # operator writes: CLAUDE_CODE_OAUTH_TOKEN, ANTHROPIC_API_KEY, or a proxy's + # ANTHROPIC_AUTH_TOKEN with ANTHROPIC_BASE_URL. The `-` lets the unit start + # without it, and a Claude Code launch then refuses. + EnvironmentFile=-%h/.config/mosaic-dev/secrets/claude-session.env + # The host reads the system config and the business file, boots the broker + # (packages/bus/src/process.mjs) and starts the notifier. Config problems and + # refusals exit 3, usage 4, invalid input 2: none of those is retried. A + # child that dies takes the host down with exit 1, and the unit restarts + # the pair. + ExecStart=/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/scripts/mosaic bus start %i + Restart=on-failure + RestartSec=15 + RestartPreventExitStatus=2 3 4 + # `systemctl --user stop` sends SIGTERM to the host, which stops the + # notifier after its poll in flight, then closes the broker. + KillSignal=SIGTERM + KillMode=mixed + TimeoutStopSec=60 + NoNewPrivileges=yes + + [Install] + WantedBy=default.target + + at TestContext. (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/config-unit.test.mjs:25:306) + at Test.runInAsyncScope (node:async_hooks:226:14) + at Test.run (node:internal/test_runner/test:1402:25) + at Test.processPendingSubtests (node:internal/test_runner/test:974:18) + at Test.postRun (node:internal/test_runner/test:1542:19) + at Test.run (node:internal/test_runner/test:1467:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) { + generatedMessage: false, + code: 'ERR_ASSERTION', + actual: false, + expected: true, + operator: '==', + diff: 'simple' + } + +test at packages/model-proxy/tests/config-unit.test.mjs:26:1 +✖ proxy-config-invalid: configured bus refuses a config path systemd cannot carry (53.676249ms) + AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: + + 0 !== 1 + + at TestContext. (file:///home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/model-proxy/tests/config-unit.test.mjs:26:226) + at Test.runInAsyncScope (node:async_hooks:226:14) + at Test.run (node:internal/test_runner/test:1402:25) + at Test.processPendingSubtests (node:internal/test_runner/test:974:18) + at Test.postRun (node:internal/test_runner/test:1542:19) + at Test.run (node:internal/test_runner/test:1467:12) + at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) { + generatedMessage: true, + code: 'ERR_ASSERTION', + actual: 0, + expected: 1, + operator: 'strictEqual', + diff: 'simple' + } diff --git a/agents/magica/work/queue-329/gate/webui-pinned-copy.test.load.jsonl b/agents/magica/work/queue-329/gate/webui-pinned-copy.test.load.jsonl new file mode 100644 index 000000000..5d642e394 --- /dev/null +++ b/agents/magica/work/queue-329/gate/webui-pinned-copy.test.load.jsonl @@ -0,0 +1,7 @@ +{"utc": "2026-10-24T20:35:35.364+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:35:36.364+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:35:37.365+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:35:38.365+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:35:39.365+00:00", "load1": "4.09"} +{"utc": "2026-10-24T20:35:40.366+00:00", "load1": "3.84"} +{"utc": "2026-10-24T20:35:41.366+00:00", "load1": "3.84"} diff --git a/agents/magica/work/queue-329/gate/webui-pinned-copy.test.txt b/agents/magica/work/queue-329/gate/webui-pinned-copy.test.txt new file mode 100644 index 000000000..88035b131 --- /dev/null +++ b/agents/magica/work/queue-329/gate/webui-pinned-copy.test.txt @@ -0,0 +1,22 @@ +command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/webui/tests/pinned-copy.test.mjs"] +TMPDIR: /mnt/storage/scratch/tmp/TSdpsx +begin: {"utc": "2026-10-24T20:35:35.364+00:00", "load1": "4.09"} +launch nice: 19 +✔ copy writes the Console paths at the full id, read-only, and leaves an existing copy alone (1085.877193ms) +✔ copy refuses a commit off refactor, an unknown one, a worktree and a bad copies directory (1294.754306ms) +✔ copy writes nothing when an archived path is missing at the commit (331.741998ms) +✔ a copy that loses the rename race leaves no read-only temp directory behind (563.402291ms) +✔ a copy whose rename fails with no target refuses, writes no copy and leaves no temp directory (511.904401ms) +✔ a copy that meets a target holding files says exists: and moves nothing into it (563.408094ms) +✔ a copy that meets an empty target directory replaces it by rename, not by moving into it (516.242351ms) +✔ serve runs from a copy: /healthz 200, the config check, roles and RELEASE from the copy, the queue from --checkout (910.440214ms) +✔ serve refuses a --checkout that is not an absolute directory path (281.250739ms) +✔ consoleReads runs the queue read under queueRoot and reads RELEASE under root (50.525709ms) +ℹ tests 10 +ℹ suites 0 +ℹ pass 10 +ℹ fail 0 +ℹ cancelled 0 +ℹ skipped 0 +ℹ todo 0 +ℹ duration_ms 6244.69136 diff --git a/agents/magica/work/queue-329/resume-mos1605-progress.txt b/agents/magica/work/queue-329/resume-mos1605-progress.txt new file mode 100644 index 000000000..31f78930e --- /dev/null +++ b/agents/magica/work/queue-329/resume-mos1605-progress.txt @@ -0,0 +1,69 @@ +{"label": "cli-case1-accept.rerun-mos1605", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:13:27.845+00:00", "load1": "3.32"}, "end": {"utc": "2026-10-24T20:17:30.156+00:00", "load1": "4.56"}, "seconds": 242.311, "counts": {"tests": 53, "pass": 53, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-case1-accept.rerun-mos1605.txt"} +{"label": "cli-case1-hostcheck.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:17:30.166+00:00", "load1": "4.56"}, "end": {"utc": "2026-10-24T20:17:33.148+00:00", "load1": "4.56"}, "seconds": 2.982, "counts": {"tests": 19, "pass": 19, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-case1-hostcheck.test.txt"} +{"label": "cli-case2-install.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:17:33.150+00:00", "load1": "4.56"}, "end": {"utc": "2026-10-24T20:17:41.468+00:00", "load1": "4.78"}, "seconds": 8.318, "counts": {"tests": 27, "pass": 27, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-case2-install.test.txt"} +{"label": "cli-case2-persona-import.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:17:41.471+00:00", "load1": "4.78"}, "end": {"utc": "2026-10-24T20:17:44.556+00:00", "load1": "4.78"}, "seconds": 3.085, "counts": {"tests": 14, "pass": 14, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-case2-persona-import.test.txt"} +{"label": "cli-case2-unit.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:17:44.557+00:00", "load1": "4.78"}, "end": {"utc": "2026-10-24T20:18:56.552+00:00", "load1": "3.62"}, "seconds": 71.995, "counts": {"tests": 47, "pass": 47, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-case2-unit.test.txt"} +{"label": "cli-channel-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:18:56.556+00:00", "load1": "3.62"}, "end": {"utc": "2026-10-24T20:18:56.811+00:00", "load1": "3.62"}, "seconds": 0.256, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-channel-cli.test.txt"} +{"label": "cli-channel-recovery.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:18:56.815+00:00", "load1": "3.62"}, "end": {"utc": "2026-10-24T20:18:59.752+00:00", "load1": "3.62"}, "seconds": 2.937, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-channel-recovery.test.txt"} +{"label": "cli-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:18:59.754+00:00", "load1": "3.62"}, "end": {"utc": "2026-10-24T20:19:00.145+00:00", "load1": "4.05"}, "seconds": 0.392, "counts": {"tests": 12, "pass": 12, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-cli.test.txt"} +{"label": "cli-compactions-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:00.148+00:00", "load1": "4.05"}, "end": {"utc": "2026-10-24T20:19:15.095+00:00", "load1": "4.74"}, "seconds": 14.946, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-compactions-launch.test.txt"} +{"label": "cli-config.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:15.096+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:15.524+00:00", "load1": "4.74"}, "seconds": 0.428, "counts": {"tests": 7, "pass": 7, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-config.test.txt"} +{"label": "cli-credentials.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:15.526+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:15.791+00:00", "load1": "4.74"}, "seconds": 0.266, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-credentials.test.txt"} +{"label": "cli-federation-acceptance.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:15.793+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:15.916+00:00", "load1": "4.74"}, "seconds": 0.122, "counts": {"tests": 1, "pass": 0, "fail": 0, "skipped": 1, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-federation-acceptance.test.txt"} +{"label": "cli-follow.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:15.917+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:16.569+00:00", "load1": "4.74"}, "seconds": 0.652, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-follow.test.txt"} +{"label": "cli-format.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:16.571+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:16.657+00:00", "load1": "4.74"}, "seconds": 0.086, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-format.test.txt"} +{"label": "cli-gate-lane-auth.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:16.658+00:00", "load1": "4.74"}, "end": {"utc": "2026-10-24T20:19:34.513+00:00", "load1": "4.58"}, "seconds": 17.855, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-gate-lane-auth.test.txt"} +{"label": "cli-gate-lane-fixtures.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:34.515+00:00", "load1": "4.58"}, "end": {"utc": "2026-10-24T20:19:34.868+00:00", "load1": "4.53"}, "seconds": 0.354, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-gate-lane-fixtures.test.txt"} +{"label": "cli-gate-lane-image.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:34.870+00:00", "load1": "4.53"}, "end": {"utc": "2026-10-24T20:19:35.172+00:00", "load1": "4.53"}, "seconds": 0.302, "counts": {"tests": 13, "pass": 13, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-gate-lane-image.test.txt"} +{"label": "cli-gate-lane-state.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:35.173+00:00", "load1": "4.53"}, "end": {"utc": "2026-10-24T20:19:36.546+00:00", "load1": "4.53"}, "seconds": 1.372, "counts": {"tests": 14, "pass": 14, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-gate-lane-state.test.txt"} +{"label": "cli-gate-lane.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:36.547+00:00", "load1": "4.53"}, "end": {"utc": "2026-10-24T20:19:37.100+00:00", "load1": "4.53"}, "seconds": 0.553, "counts": {"tests": 13, "pass": 13, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-gate-lane.test.txt"} +{"label": "cli-git-socket.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:37.101+00:00", "load1": "4.53"}, "end": {"utc": "2026-10-24T20:19:51.806+00:00", "load1": "4.72"}, "seconds": 14.704, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-git-socket.test.txt"} +{"label": "cli-grants-scope.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:51.807+00:00", "load1": "4.72"}, "end": {"utc": "2026-10-24T20:19:51.988+00:00", "load1": "4.72"}, "seconds": 0.181, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-grants-scope.test.txt"} +{"label": "cli-grants.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:51.990+00:00", "load1": "4.72"}, "end": {"utc": "2026-10-24T20:19:52.256+00:00", "load1": "4.72"}, "seconds": 0.266, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-grants.test.txt"} +{"label": "cli-host.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:19:52.258+00:00", "load1": "4.72"}, "end": {"utc": "2026-10-24T20:20:05.392+00:00", "load1": "4.56"}, "seconds": 13.134, "counts": {"tests": 43, "pass": 43, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-host.test.txt"} +{"label": "cli-hosts.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:05.394+00:00", "load1": "4.56"}, "end": {"utc": "2026-10-24T20:20:05.719+00:00", "load1": "4.56"}, "seconds": 0.325, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-hosts.test.txt"} +{"label": "cli-idle-stop-race.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:05.721+00:00", "load1": "4.56"}, "end": {"utc": "2026-10-24T20:20:07.539+00:00", "load1": "4.56"}, "seconds": 1.818, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-idle-stop-race.test.txt"} +{"label": "cli-instances.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:07.541+00:00", "load1": "4.56"}, "end": {"utc": "2026-10-24T20:20:10.331+00:00", "load1": "4.52"}, "seconds": 2.79, "counts": {"tests": 15, "pass": 15, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-instances.test.txt"} +{"label": "cli-launch-account.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:10.333+00:00", "load1": "4.52"}, "end": {"utc": "2026-10-24T20:20:10.606+00:00", "load1": "4.52"}, "seconds": 0.273, "counts": {"tests": 7, "pass": 7, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-launch-account.test.txt"} +{"label": "cli-launch-limit-checks.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:10.608+00:00", "load1": "4.52"}, "end": {"utc": "2026-10-24T20:20:10.851+00:00", "load1": "4.52"}, "seconds": 0.243, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-launch-limit-checks.test.txt"} +{"label": "cli-launch-limits.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:10.853+00:00", "load1": "4.52"}, "end": {"utc": "2026-10-24T20:20:11.020+00:00", "load1": "4.52"}, "seconds": 0.167, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-launch-limits.test.txt"} +{"label": "cli-launch-routes.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:11.022+00:00", "load1": "4.52"}, "end": {"utc": "2026-10-24T20:20:11.307+00:00", "load1": "4.52"}, "seconds": 0.285, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-launch-routes.test.txt"} +{"label": "cli-launcher.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:11.308+00:00", "load1": "4.52"}, "end": {"utc": "2026-10-24T20:20:39.420+00:00", "load1": "4.55"}, "seconds": 28.112, "counts": {"tests": 34, "pass": 34, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-launcher.test.txt"} +{"label": "cli-lifecycle.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:39.422+00:00", "load1": "4.55"}, "end": {"utc": "2026-10-24T20:20:53.613+00:00", "load1": "5.10"}, "seconds": 14.191, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-lifecycle.test.txt"} +{"label": "cli-limits-tokens.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:53.615+00:00", "load1": "5.10"}, "end": {"utc": "2026-10-24T20:20:53.800+00:00", "load1": "5.10"}, "seconds": 0.186, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-limits-tokens.test.txt"} +{"label": "cli-limits.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:53.802+00:00", "load1": "5.10"}, "end": {"utc": "2026-10-24T20:20:54.196+00:00", "load1": "5.10"}, "seconds": 0.394, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-limits.test.txt"} +{"label": "cli-mark-read.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:54.197+00:00", "load1": "5.10"}, "end": {"utc": "2026-10-24T20:20:55.255+00:00", "load1": "6.30"}, "seconds": 1.057, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-mark-read.test.txt"} +{"label": "cli-model-proxy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:55.256+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:55.435+00:00", "load1": "6.30"}, "seconds": 0.179, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-model-proxy.test.txt"} +{"label": "cli-names.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:55.438+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:55.672+00:00", "load1": "6.30"}, "seconds": 0.234, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-names.test.txt"} +{"label": "cli-notifier.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:55.673+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:56.392+00:00", "load1": "6.30"}, "seconds": 0.719, "counts": {"tests": 27, "pass": 27, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-notifier.test.txt"} +{"label": "cli-optional-tracker.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:56.393+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:56.667+00:00", "load1": "6.30"}, "seconds": 0.274, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-optional-tracker.test.txt"} +{"label": "cli-other-tree.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:56.669+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:56.833+00:00", "load1": "6.30"}, "seconds": 0.164, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-other-tree.test.txt"} +{"label": "cli-processing-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:56.834+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:57.074+00:00", "load1": "6.30"}, "seconds": 0.24, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-processing-cli.test.txt"} +{"label": "cli-project-name-repo.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:57.075+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:57.326+00:00", "load1": "6.30"}, "seconds": 0.25, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-project-name-repo.test.txt"} +{"label": "cli-project.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:57.328+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:20:57.786+00:00", "load1": "6.30"}, "seconds": 0.458, "counts": {"tests": 4, "pass": 4, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-project.test.txt"} +{"label": "cli-publish-socket.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:20:57.796+00:00", "load1": "6.30"}, "end": {"utc": "2026-10-24T20:21:03.435+00:00", "load1": "6.35"}, "seconds": 5.64, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-publish-socket.test.txt"} +{"label": "cli-reply-limits.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:03.437+00:00", "load1": "6.35"}, "end": {"utc": "2026-10-24T20:21:03.536+00:00", "load1": "6.35"}, "seconds": 0.099, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-reply-limits.test.txt"} +{"label": "cli-revoke-window.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:03.537+00:00", "load1": "6.35"}, "end": {"utc": "2026-10-24T20:21:04.452+00:00", "load1": "6.35"}, "seconds": 0.915, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-revoke-window.test.txt"} +{"label": "cli-session-clear.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:04.454+00:00", "load1": "6.35"}, "end": {"utc": "2026-10-24T20:21:15.547+00:00", "load1": "5.86"}, "seconds": 11.093, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-session-clear.test.txt"} +{"label": "cli-session-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:15.548+00:00", "load1": "5.86"}, "end": {"utc": "2026-10-24T20:21:15.751+00:00", "load1": "5.86"}, "seconds": 0.203, "counts": {"tests": 14, "pass": 14, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-session-cli.test.txt"} +{"label": "cli-session-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:15.752+00:00", "load1": "5.86"}, "end": {"utc": "2026-10-24T20:21:26.300+00:00", "load1": "5.33"}, "seconds": 10.548, "counts": {"tests": 8, "pass": 8, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-session-launch.test.txt"} +{"label": "cli-stack-copy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:26.302+00:00", "load1": "5.33"}, "end": {"utc": "2026-10-24T20:21:42.998+00:00", "load1": "5.60"}, "seconds": 16.697, "counts": {"tests": 18, "pass": 18, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-stack-copy.test.txt"} +{"label": "cli-stack-instances.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:43.000+00:00", "load1": "5.60"}, "end": {"utc": "2026-10-24T20:21:46.761+00:00", "load1": "5.32"}, "seconds": 3.761, "counts": {"tests": 24, "pass": 24, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-stack-instances.test.txt"} +{"label": "cli-stack-release-external.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:21:46.762+00:00", "load1": "5.32"}, "end": {"utc": "2026-10-24T20:23:13.746+00:00", "load1": "4.19"}, "seconds": 86.983, "counts": {"tests": 25, "pass": 25, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-stack-release-external.test.txt"} +{"label": "cli-stack-release.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:23:13.747+00:00", "load1": "4.19"}, "end": {"utc": "2026-10-24T20:33:52.582+00:00", "load1": "3.39"}, "seconds": 638.835, "counts": {"tests": 224, "pass": 224, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-stack-release.test.txt"} +{"label": "cli-stack-upgrade.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:33:52.592+00:00", "load1": "3.39"}, "end": {"utc": "2026-10-24T20:35:01.263+00:00", "load1": "5.73"}, "seconds": 68.67, "counts": {"tests": 21, "pass": 21, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-stack-upgrade.test.txt"} +{"label": "cli-tester-http.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:01.265+00:00", "load1": "5.73"}, "end": {"utc": "2026-10-24T20:35:01.417+00:00", "load1": "5.73"}, "seconds": 0.153, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-tester-http.test.txt"} +{"label": "cli-tester-reads.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:01.419+00:00", "load1": "5.73"}, "end": {"utc": "2026-10-24T20:35:04.128+00:00", "load1": "5.73"}, "seconds": 2.709, "counts": {"tests": 6, "pass": 6, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-tester-reads.test.txt"} +{"label": "cli-tester-threads.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:04.129+00:00", "load1": "5.73"}, "end": {"utc": "2026-10-24T20:35:06.877+00:00", "load1": "5.51"}, "seconds": 2.748, "counts": {"tests": 5, "pass": 5, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-tester-threads.test.txt"} +{"label": "cli-tester.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:06.879+00:00", "load1": "5.51"}, "end": {"utc": "2026-10-24T20:35:07.193+00:00", "load1": "5.51"}, "seconds": 0.314, "counts": {"tests": 11, "pass": 11, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-tester.test.txt"} +{"label": "cli-thread-cli.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:07.195+00:00", "load1": "5.51"}, "end": {"utc": "2026-10-24T20:35:09.046+00:00", "load1": "5.51"}, "seconds": 1.852, "counts": {"tests": 11, "pass": 11, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-thread-cli.test.txt"} +{"label": "cli-thread-launch.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:09.047+00:00", "load1": "5.51"}, "end": {"utc": "2026-10-24T20:35:27.680+00:00", "load1": "4.57"}, "seconds": 18.632, "counts": {"tests": 15, "pass": 15, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-thread-launch.test.txt"} +{"label": "cli-thread-revoke.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:27.681+00:00", "load1": "4.57"}, "end": {"utc": "2026-10-24T20:35:28.523+00:00", "load1": "4.57"}, "seconds": 0.842, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-thread-revoke.test.txt"} +{"label": "cli-trackers-boot.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:28.525+00:00", "load1": "4.57"}, "end": {"utc": "2026-10-24T20:35:29.309+00:00", "load1": "4.57"}, "seconds": 0.784, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-trackers-boot.test.txt"} +{"label": "cli-transport.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:29.311+00:00", "load1": "4.57"}, "end": {"utc": "2026-10-24T20:35:31.616+00:00", "load1": "4.44"}, "seconds": 2.305, "counts": {"tests": 3, "pass": 3, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-transport.test.txt"} +{"label": "cli-usage.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:31.617+00:00", "load1": "4.44"}, "end": {"utc": "2026-10-24T20:35:31.924+00:00", "load1": "4.44"}, "seconds": 0.306, "counts": {"tests": 2, "pass": 2, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-usage.test.txt"} +{"label": "cli-verbs.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:31.926+00:00", "load1": "4.44"}, "end": {"utc": "2026-10-24T20:35:35.362+00:00", "load1": "4.09"}, "seconds": 3.436, "counts": {"tests": 9, "pass": 9, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/cli-verbs.test.txt"} +{"label": "webui-pinned-copy.test", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:35.364+00:00", "load1": "4.09"}, "end": {"utc": "2026-10-24T20:35:41.638+00:00", "load1": "3.84"}, "seconds": 6.274, "counts": {"tests": 10, "pass": 10, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/webui-pinned-copy.test.txt"} +{"label": "test-config.sh", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:41.640+00:00", "load1": "3.84"}, "end": {"utc": "2026-10-24T20:35:44.213+00:00", "load1": "3.84"}, "seconds": 2.573, "counts": {"tests": null, "pass": null, "fail": null, "skipped": null, "cancelled": null}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/test-config.sh.txt"} +{"label": "test-federation-acceptance.sh", "rc": 0, "nice": 19, "begin": {"utc": "2026-10-24T20:35:44.214+00:00", "load1": "3.84"}, "end": {"utc": "2026-10-24T20:35:48.205+00:00", "load1": "3.85"}, "seconds": 3.991, "counts": {"tests": 1, "pass": 1, "fail": 0, "skipped": 0, "cancelled": 0}, "failure_events": [], "log": "agents/magica/work/queue-329/gate/test-federation-acceptance.sh.txt"} +Resumed builder gate complete. diff --git a/agents/magica/work/queue-329/resume-mos1605.py b/agents/magica/work/queue-329/resume-mos1605.py new file mode 100644 index 000000000..1efa8b6bf --- /dev/null +++ b/agents/magica/work/queue-329/resume-mos1605.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 +# Sage-4250/mos-1605: one unchanged original-file rerun; continue only if green. +import datetime, json, os, pathlib, re, subprocess, threading, time +REPO=pathlib.Path(__file__).resolve().parents[4] +OUT=REPO/'agents/magica/work/queue-329/gate' +def utc():return datetime.datetime.now(datetime.timezone.utc).isoformat(timespec='milliseconds') +def load():return pathlib.Path('/proc/loadavg').read_text().split()[0] +def nice19():os.setpriority(os.PRIO_PROCESS,0,19) +def run(label,cmd,seconds=1800): + scratch=subprocess.check_output(['mktemp','-d','/mnt/storage/scratch/tmp/XXXXXX'],text=True).strip() + env=dict(os.environ,TMPDIR=scratch,npm_config_offline='true',MOSAIC_REQUIRE_EDITOR_BUILD='1') + logfile=OUT/(label+'.txt');begin={'utc':utc(),'load1':load()};started=time.monotonic();events=[] + stop=threading.Event() + def sample(): + with (OUT/(label+'.load.jsonl')).open('w') as f: + while not stop.is_set(): + f.write(json.dumps({'utc':utc(),'load1':load()})+'\n');f.flush();stop.wait(1) + sampler=threading.Thread(target=sample);sampler.start() + try: + with logfile.open('w') as f: + f.write('command: '+json.dumps(cmd)+'\nTMPDIR: '+scratch+'\nbegin: '+json.dumps(begin)+'\n');f.flush() + child=subprocess.Popen(['timeout','-k','10',str(seconds),*cmd],cwd=REPO,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,preexec_fn=nice19) + priority=os.getpriority(os.PRIO_PROCESS,child.pid);f.write('launch nice: '+str(priority)+'\n');f.flush() + for line in child.stdout: + f.write(line);f.flush() + if re.match(r'^\s*(✖|not ok )',line):events.append({'utc':utc(),'load1':load(),'event':line.rstrip()}) + rc=child.wait() + finally:stop.set();sampler.join() + text=logfile.read_text();counts={} + for k in ['tests','pass','fail','skipped','cancelled']: + matches=re.findall(r'^(?:ℹ |# )'+k+r' (\d+)',text,re.M);counts[k]=int(matches[-1]) if matches else None + receipt={'label':label,'rc':rc,'nice':priority,'begin':begin,'end':{'utc':utc(),'load1':load()},'seconds':round(time.monotonic()-started,3),'counts':counts,'failure_events':events,'log':str(logfile.relative_to(REPO))} + with (OUT/'resume-mos1605-runs.jsonl').open('a') as f:f.write(json.dumps(receipt)+'\n') + print(json.dumps(receipt),flush=True) + return rc +original=REPO/'packages/cli/tests/case1-accept.test.mjs' +if run('cli-case1-accept.rerun-mos1605',['node','--test',str(original)]):raise SystemExit(1) +for p in sorted((REPO/'packages/cli/tests').glob('*.test.mjs')): + if p.name<=original.name:continue + if run('cli-'+p.stem,['node','--test',str(p)]):raise SystemExit(1) +if run('webui-pinned-copy.test',['node','--test',str(REPO/'packages/webui/tests/pinned-copy.test.mjs')]):raise SystemExit(1) +for script in ['test-config.sh','test-federation-acceptance.sh']: + if run(script,['bash',str(REPO/'scripts'/script)],600):raise SystemExit(1) +print('Resumed builder gate complete.',flush=True) diff --git a/docs/SESSIONS.md b/docs/SESSIONS.md index b04c5892c..1e5e9a5a5 100644 --- a/docs/SESSIONS.md +++ b/docs/SESSIONS.md @@ -1689,3 +1689,4 @@ are never rewritten or removed; corrections are new entries. 2026-10-24 | Sage 1ef1e4f8 | Landings 257, 266, 224, 328; model-proxy rows 329-333 filed | 257 73692e1bb, 266 3e5041b43, 224 5e77cdd09, 328 8bb5b3c73 landed on GREEN gates. Rows 329-333 briefed from 7fe32d722 (mos-1600/1601); 330 blocked on Jason's subdomain answer (mos-1602). Magica holds the slot for 329's builder gate. 2026-10-24 | Sage 1ef1e4f8 | T3 crash stop (mos-1628) | Processes died 22:42:37Z mid row 329 landing gate on 8b4978887: cli 997/2 (case1-accept row253 C4 P10 inner/outer got probe-inner-command), rerun waits on Mos; nothing pushed for 329. Minted bot-faceless user 15 key 15 (#630). Queue: 332 assign rev 4054, 284 reviewers rev 4055; 333 reviewers, 332 after and the #1832 add still to run; dead lock removed. Handoff agents/sage/work/handoff-2026-10-24/HANDOFF.md. 2026-10-24 | magica | row329 P1 #1827 | Started isolated magica/row329 at 7fe32d722; approved brief recovered, acceptance first; suites await CLEAR. +2026-10-24 | magica | row329 P1 #1827 | Final builder checks green with the recorded Mos1605 continuation and final unit-reader gate; preparing review manifest on magica/row329, no old assertions changed, Q250 scope recorded. diff --git a/packages/model-proxy/README.md b/packages/model-proxy/README.md index e804f4cd8..e6de819c0 100644 --- a/packages/model-proxy/README.md +++ b/packages/model-proxy/README.md @@ -27,5 +27,7 @@ and `-local-model`, so catalogs require no network. Render/install is explicit; no test or acceptance script installs or starts a host unit. Acceptance is agents/magica/work/queue-329/acceptance.sh, outside the generic gate. -It uses a fresh scratch root and private network namespace. v1.26.7 panel fails -CSP sandbox storage restrictions: the Console forward remains blocked for P4. +It uses a fresh scratch root and private network namespace. The historical +v1.26.7 panel sandbox findings remain in BUILD.md. Q250 / mos-1606 drops the +Console panel forward; P4 builds a native Console page. P1 retains the pinned +panel asset and records Claude/Codex OAuth redirect URLs for that page. diff --git a/packages/model-proxy/tests/config-unit.test.mjs b/packages/model-proxy/tests/config-unit.test.mjs index 81afdcb69..19faf9832 100644 --- a/packages/model-proxy/tests/config-unit.test.mjs +++ b/packages/model-proxy/tests/config-unit.test.mjs @@ -21,3 +21,6 @@ test('proxy-config-invalid: instance selection also refuses invalid present side test('explicit unit install writes only a scratch user unit and refuses a repeat',()=>{const f=fixture();proxy(f);const dir=join(f.root,'units');let r=run(f,'scripts/proxy-service.sh',['install','--dir',dir,'--no-reload']);assert.equal(r.status,0,r.stderr);const file=join(dir,'mosaic-proxy.service'),before=readFileSync(file);r=run(f,'scripts/proxy-service.sh',['install','--dir',dir,'--no-reload']);assert.equal(r.status,3);assert.match(r.stderr,/proxy-unit-exists/);assert.deepEqual(readFileSync(file),before);}); test('proxy-unit-copy: renderer refuses an unknown or unpinned stack copy',()=>{const f=fixture();proxy(f);const r=run(f,'scripts/proxy-service.sh',['render','--copy','a'.repeat(40),'--copies',join(f.root,'missing-copies')]);assert.equal(r.status,3);assert.match(r.stderr,/proxy-unit-copy/);}); test('historical no-proxy config loader works without new package dependency',()=>{const f=fixture();const copy=join(f.root,'historical/scripts');mkdirSync(copy,{recursive:true});writeFileSync(join(copy,'mosaic-config.mjs'),readFileSync(join(repo,'scripts/mosaic-config.mjs')));const r=spawnSync(process.execPath,[join(copy,'mosaic-config.mjs'),'validate'],{env:f.env,encoding:'utf8',timeout:10000});assert.equal(r.status,0,r.stderr);assert.equal(Object.hasOwn(JSON.parse(r.stdout),'proxy'),false);}); +function customConfig(f,file){const bytes=readFileSync(f.file);mkdirSync(dirname(file),{recursive:true});writeFileSync(file,bytes);f.file=file;f.configDir=dirname(file);f.env.MOSAIC_CONFIG=file;proxy(f);} +test('configured default bus and proxy units bind the same explicit MOSAIC_CONFIG',()=>{const f=fixture();customConfig(f,join(f.root,'custom/config.json'));for(const script of ['scripts/bus-service.sh','scripts/proxy-service.sh']){const r=run(f,script,['render']);assert.equal(r.status,0,r.stderr);assert.ok(r.stdout.includes(`Environment=MOSAIC_CONFIG=${f.file}\n`),r.stdout);}}); +test('proxy-config-invalid: configured bus refuses a config path systemd cannot carry',()=>{const f=fixture();customConfig(f,join(f.root,'custom config/config.json'));const r=run(f,'scripts/bus-service.sh',['render']);assert.equal(r.status,1);assert.match(r.stderr,/proxy-config-invalid/);}); diff --git a/scripts/bus-service.sh b/scripts/bus-service.sh index c9b13a487..ce6848529 100755 --- a/scripts/bus-service.sh +++ b/scripts/bus-service.sh @@ -91,6 +91,14 @@ render() { local -a proxy_sed=() if [ "$MOSAIC_INSTANCE_PROXY_CONFIGURED" = 1 ]; then proxy_sed=(-e "/^Description=/a Wants=$PROXY_UNIT\\nAfter=$PROXY_UNIT") + # A configured default instance may have selected an explicit config. + # Bind both units to it; no-proxy renders retain their historical bytes. + if [ -z "$MOSAIC_UNIT_SUFFIX" ]; then + case "$MOSAIC_INSTANCE_CONFIG" in + *[!A-Za-z0-9/._+-]*) die "proxy-config-invalid" ;; + esac + proxy_sed+=(-e "/^Environment=PATH=/a Environment=MOSAIC_CONFIG=$MOSAIC_INSTANCE_CONFIG") + fi fi sed "${proxy_sed[@]}" -e "s|@REPO@|$root|g" -e "s|@PATH@|$path|g" -e "s|@PM_FLAGS@|$pm_flags|g" -e "s|^@CLAUDE_ENV@$|$claude|" "${INSTANCE_SED[@]}" "$TEMPLATE" }