mixdog 0.9.152 → 0.9.154
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSES/browser-import-NOTICE.txt +11 -0
- package/NOTICE.md +11 -0
- package/README.md +8 -10
- package/package.json +19 -3
- package/scripts/computer-task-cost-report.mjs +144 -0
- package/scripts/run-office-live-tests.mjs +32 -0
- package/src/agents/front-worker/AGENT.md +13 -0
- package/src/agents/front-worker/agent.json +6 -0
- package/src/agents/heavy-worker/AGENT.md +10 -11
- package/src/agents/heavy-worker/agent.json +1 -1
- package/src/agents/maintainer/AGENT.md +0 -2
- package/src/agents/reviewer/AGENT.md +9 -13
- package/src/agents/reviewer/agent.json +1 -1
- package/src/agents/security/AGENT.md +14 -0
- package/src/agents/security/agent.json +6 -0
- package/src/agents/worker/AGENT.md +8 -8
- package/src/agents/worker/agent.json +1 -1
- package/src/agents/writer/AGENT.md +14 -0
- package/src/agents/writer/agent.json +6 -0
- package/src/rules/agent/00-common.md +4 -7
- package/src/rules/lead/01-general.md +0 -3
- package/src/rules/shared/10-tool-workflow.md +10 -2
- package/src/rules/shared/60-verification.md +2 -0
- package/src/runtime/agent/orchestrator/agent-runtime/agent-dispatch.mjs +183 -26
- package/src/runtime/agent/orchestrator/agent-runtime/session-builder.mjs +4 -0
- package/src/runtime/agent/orchestrator/cache-break-trace.mjs +109 -0
- package/src/runtime/agent/orchestrator/config.mjs +7 -2
- package/src/runtime/agent/orchestrator/providers/admission-scheduler.mjs +16 -3
- package/src/runtime/agent/orchestrator/providers/lib/anthropic-request-utils.mjs +9 -1
- package/src/runtime/agent/orchestrator/providers/media-normalization.mjs +30 -9
- package/src/runtime/agent/orchestrator/providers/openai-codex-metadata.mjs +18 -26
- package/src/runtime/agent/orchestrator/providers/openai-oauth-http-sse.mjs +25 -2
- package/src/runtime/agent/orchestrator/providers/openai-oauth-ws.mjs +103 -10
- package/src/runtime/agent/orchestrator/providers/openai-turn-state.mjs +68 -0
- package/src/runtime/agent/orchestrator/providers/openai-ws-delta.mjs +36 -11
- package/src/runtime/agent/orchestrator/providers/openai-ws-pool.mjs +140 -86
- package/src/runtime/agent/orchestrator/providers/openai-ws-stream.mjs +9 -13
- package/src/runtime/agent/orchestrator/session/agent-loop.mjs +72 -4
- package/src/runtime/agent/orchestrator/session/browser-snapshot-supersession.mjs +61 -0
- package/src/runtime/agent/orchestrator/session/compact/handoff.mjs +0 -22
- package/src/runtime/agent/orchestrator/session/compact/messages.mjs +2 -2
- package/src/runtime/agent/orchestrator/session/compact/runner.mjs +11 -23
- package/src/runtime/agent/orchestrator/session/compact/summary.mjs +28 -269
- package/src/runtime/agent/orchestrator/session/compact.mjs +0 -6
- package/src/runtime/agent/orchestrator/session/context-utils.mjs +86 -11
- package/src/runtime/agent/orchestrator/session/eager-dispatch.mjs +17 -1
- package/src/runtime/agent/orchestrator/session/image-strip-recovery.mjs +12 -8
- package/src/runtime/agent/orchestrator/session/loop/compact-policy.mjs +110 -2
- package/src/runtime/agent/orchestrator/session/loop/pre-dispatch-deny.mjs +3 -16
- package/src/runtime/agent/orchestrator/session/loop/recall-fasttrack.mjs +80 -18
- package/src/runtime/agent/orchestrator/session/loop/steering.mjs +6 -0
- package/src/runtime/agent/orchestrator/session/loop/tool-exec.mjs +3 -0
- package/src/runtime/agent/orchestrator/session/loop/tool-helpers.mjs +6 -0
- package/src/runtime/agent/orchestrator/session/manager/ask-session.mjs +80 -21
- package/src/runtime/agent/orchestrator/session/manager/compaction-runner.mjs +33 -72
- package/src/runtime/agent/orchestrator/session/manager/session-crud.mjs +21 -2
- package/src/runtime/agent/orchestrator/session/manager/session-lifecycle.mjs +25 -51
- package/src/runtime/agent/orchestrator/session/manager/status-telemetry.mjs +3 -0
- package/src/runtime/agent/orchestrator/session/manager/tool-resolution.mjs +4 -110
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint-journal.mjs +39 -15
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint.mjs +14 -4
- package/src/runtime/agent/orchestrator/session/pre-send-compact.mjs +41 -8
- package/src/runtime/agent/orchestrator/session/provider-prefix-guard.mjs +129 -12
- package/src/runtime/agent/orchestrator/session/send-with-recovery.mjs +2 -2
- package/src/runtime/agent/orchestrator/session/store/listing.mjs +8 -1
- package/src/runtime/agent/orchestrator/session/store/save-worker.mjs +15 -1
- package/src/runtime/agent/orchestrator/session/store-summary-index.mjs +36 -2
- package/src/runtime/agent/orchestrator/session/store-summary-reader.mjs +157 -30
- package/src/runtime/agent/orchestrator/session/store-summary-visibility.mjs +57 -0
- package/src/runtime/agent/orchestrator/session/store.mjs +3 -1
- package/src/runtime/agent/orchestrator/session/tool-batch.mjs +22 -0
- package/src/runtime/agent/orchestrator/tools/builtin/read-special-files.mjs +6 -6
- package/src/runtime/agent/orchestrator/tools/progress-message.mjs +4 -0
- package/src/runtime/attachments/pdf-extract.mjs +3 -0
- package/src/runtime/attachments/pdfjs-runtime.mjs +13 -0
- package/src/runtime/browser-bridge/action-schema.mjs +251 -0
- package/src/runtime/browser-bridge/client.mjs +75 -26
- package/src/runtime/browser-bridge/tool-defs.mjs +132 -15
- package/src/runtime/computer-bridge/action-schema.mjs +653 -0
- package/src/runtime/computer-bridge/client.mjs +211 -28
- package/src/runtime/computer-bridge/tool-defs.mjs +25 -45
- package/src/runtime/office/assurance-benchmark.mjs +358 -0
- package/src/runtime/office/assurance.mjs +833 -0
- package/src/runtime/office/benchmark.mjs +496 -0
- package/src/runtime/office/capabilities.mjs +551 -0
- package/src/runtime/office/com-adapter.mjs +283 -0
- package/src/runtime/office/content-model.mjs +183 -0
- package/src/runtime/office/contract-benchmark.mjs +105 -0
- package/src/runtime/office/design-library.mjs +1562 -0
- package/src/runtime/office/design-system.mjs +1966 -0
- package/src/runtime/office/index.mjs +2413 -0
- package/src/runtime/office/journal.mjs +82 -0
- package/src/runtime/office/office-com-host.ps1 +3781 -0
- package/src/runtime/office/office-com-session-host.ps1 +855 -0
- package/src/runtime/office/ooxml-validator.mjs +271 -0
- package/src/runtime/office/pagination.mjs +132 -0
- package/src/runtime/office/pdf-adapter.mjs +591 -0
- package/src/runtime/office/pdf-analysis.mjs +372 -0
- package/src/runtime/office/pdf-render.mjs +167 -0
- package/src/runtime/office/pdf-security.mjs +63 -0
- package/src/runtime/office/polish-benchmark.mjs +190 -0
- package/src/runtime/office/portable-ooxml.mjs +1867 -0
- package/src/runtime/office/quality-live-benchmark.mjs +486 -0
- package/src/runtime/office/quality-pipeline.mjs +136 -0
- package/src/runtime/office/tabular.mjs +302 -0
- package/src/runtime/office/templates/mixdog-executive.pptx +0 -0
- package/src/runtime/office/templates/mixdog-executive.pptx.mixdog.json +190 -0
- package/src/runtime/office/tool-defs.mjs +113 -0
- package/src/runtime/office/visual-diff.mjs +89 -0
- package/src/runtime/office/xlsx-assertions.mjs +172 -0
- package/src/runtime/office/xlsx-contract.mjs +147 -0
- package/src/runtime/shared/agent-route-config.mjs +9 -0
- package/src/runtime/shared/tool-execution-contract.mjs +16 -0
- package/src/runtime/shared/tool-surface.mjs +9 -0
- package/src/session-runtime/context-status.mjs +9 -3
- package/src/session-runtime/deferred-tool-delta.mjs +104 -0
- package/src/session-runtime/goal-runtime.mjs +617 -197
- package/src/session-runtime/lifecycle-api.mjs +50 -8
- package/src/session-runtime/provider-request-snapshot.mjs +33 -9
- package/src/session-runtime/resource-api.mjs +31 -94
- package/src/session-runtime/runtime-core.mjs +78 -26
- package/src/session-runtime/session-lifecycle.mjs +34 -12
- package/src/session-runtime/session-title.mjs +2 -2
- package/src/session-runtime/session-turn-api.mjs +15 -14
- package/src/session-runtime/tool-catalog-data.mjs +1 -1
- package/src/session-runtime/tool-catalog.mjs +38 -99
- package/src/session-runtime/tool-defs.mjs +6 -1
- package/src/session-runtime/tool-surface.mjs +18 -8
- package/src/session-runtime/workflow-agents-api.mjs +8 -25
- package/src/session-runtime/workflow.mjs +8 -6
- package/src/standalone/agent-tool/helpers.mjs +2 -2
- package/src/standalone/agent-tool/job-views.mjs +3 -1
- package/src/standalone/agent-tool/notify.mjs +5 -1
- package/src/standalone/agent-tool/render.mjs +3 -0
- package/src/standalone/agent-tool/spawn-flow.mjs +61 -16
- package/src/standalone/agent-tool/tool-def.mjs +1 -1
- package/src/standalone/agent-tool/worker-index.mjs +123 -0
- package/src/standalone/agent-tool/worker-rows.mjs +2 -1
- package/src/standalone/agent-tool.mjs +57 -10
- package/src/standalone/daemon.mjs +105 -6
- package/src/standalone/session-runtime-host.mjs +61 -48
- package/src/standalone/session-runtime-inline-host.mjs +34 -127
- package/src/standalone/session-runtime-worker.mjs +20 -198
- package/src/standalone/session-service.mjs +632 -7
- package/src/tui/dist/index.mjs +24 -1
- package/src/tui/lib/voice-setup.mjs +4 -1
- package/src/tui/session/context-state.mjs +2 -13
- package/src/tui/session/goal-continuation.mjs +38 -7
- package/src/tui/session/session-api-ext.mjs +9 -0
- package/src/tui/session/session-api.mjs +15 -1
- package/src/tui/session/session-flow.mjs +25 -1
- package/src/tui/session/turn.mjs +88 -16
- package/src/tui/session-local.mjs +25 -3
- package/src/vendor/statusline/src/gateway/route-meta.mjs +31 -0
- package/scripts/generate-voice-runtime-manifest.test.mjs +0 -135
- package/scripts/native-binary-arch.test.mjs +0 -111
- package/scripts/patch-replay.test.mjs +0 -94
- package/src/headless-exec.test.mjs +0 -539
- package/src/runtime/agent/orchestrator/agent-trace-timing.test.mjs +0 -57
- package/src/runtime/agent/orchestrator/context/collect-skills.test.mjs +0 -153
- package/src/runtime/agent/orchestrator/mcp/cancellation.test.mjs +0 -139
- package/src/runtime/agent/orchestrator/mcp/features.test.mjs +0 -66
- package/src/runtime/agent/orchestrator/mcp/security.test.mjs +0 -80
- package/src/runtime/agent/orchestrator/providers/anthropic-fast-mode.test.mjs +0 -90
- package/src/runtime/agent/orchestrator/providers/anthropic-server-fallback.test.mjs +0 -215
- package/src/runtime/agent/orchestrator/providers/antigravity-oauth.test.mjs +0 -165
- package/src/runtime/agent/orchestrator/providers/media-parity.test.mjs +0 -142
- package/src/runtime/agent/orchestrator/providers/openai-codex-identity.test.mjs +0 -153
- package/src/runtime/agent/orchestrator/providers/openai-codex-model.test.mjs +0 -24
- package/src/runtime/agent/orchestrator/providers/openai-ws-delta-parity.test.mjs +0 -190
- package/src/runtime/agent/orchestrator/providers/provider-replay.test.mjs +0 -235
- package/src/runtime/agent/orchestrator/providers/sse-framing.test.mjs +0 -719
- package/src/runtime/agent/orchestrator/session/cache/prefetch-cache.test.mjs +0 -40
- package/src/runtime/agent/orchestrator/session/compact-policy.test.mjs +0 -176
- package/src/runtime/agent/orchestrator/session/compaction-read-reset.test.mjs +0 -161
- package/src/runtime/agent/orchestrator/session/eager-dispatch.test.mjs +0 -115
- package/src/runtime/agent/orchestrator/session/evidence-union.test.mjs +0 -228
- package/src/runtime/agent/orchestrator/session/image-strip-recovery.test.mjs +0 -245
- package/src/runtime/agent/orchestrator/session/lossless-tool-output.test.mjs +0 -125
- package/src/runtime/agent/orchestrator/session/manager/pending-messages-persistence.test.mjs +0 -325
- package/src/runtime/agent/orchestrator/session/manager/session-lifecycle.test.mjs +0 -70
- package/src/runtime/agent/orchestrator/session/manager/turn-checkpoint-journal.test.mjs +0 -457
- package/src/runtime/agent/orchestrator/session/provider-prefix-guard.test.mjs +0 -117
- package/src/runtime/agent/orchestrator/session/reduction-metrics.test.mjs +0 -87
- package/src/runtime/agent/orchestrator/session/store/serialize.test.mjs +0 -60
- package/src/runtime/agent/orchestrator/session/store-summary-reader.test.mjs +0 -583
- package/src/runtime/agent/orchestrator/session/task-wait-control.test.mjs +0 -78
- package/src/runtime/agent/orchestrator/tools/builtin/absence-absorption.test.mjs +0 -43
- package/src/runtime/agent/orchestrator/tools/builtin/absolute-glob-expand.test.mjs +0 -63
- package/src/runtime/agent/orchestrator/tools/builtin/bash-tool-cwd-env.test.mjs +0 -14
- package/src/runtime/agent/orchestrator/tools/builtin/edit-encoding-eol.test.mjs +0 -224
- package/src/runtime/agent/orchestrator/tools/builtin/edit-sequential-occupation.test.mjs +0 -224
- package/src/runtime/agent/orchestrator/tools/builtin/enoent-outside-project.test.mjs +0 -56
- package/src/runtime/agent/orchestrator/tools/builtin/find-search-budget.test.mjs +0 -103
- package/src/runtime/agent/orchestrator/tools/builtin/git-command-policy.test.mjs +0 -30
- package/src/runtime/agent/orchestrator/tools/builtin/git-command-tool.test.mjs +0 -390
- package/src/runtime/agent/orchestrator/tools/builtin/git-repo-rw-lock.test.mjs +0 -83
- package/src/runtime/agent/orchestrator/tools/builtin/grep-output-budget.test.mjs +0 -31
- package/src/runtime/agent/orchestrator/tools/builtin/grep-single-file-rescue.test.mjs +0 -106
- package/src/runtime/agent/orchestrator/tools/builtin/lib/shell-job-records.test.mjs +0 -102
- package/src/runtime/agent/orchestrator/tools/builtin/list-tool-integrity.test.mjs +0 -152
- package/src/runtime/agent/orchestrator/tools/builtin/native-search-health.test.mjs +0 -24
- package/src/runtime/agent/orchestrator/tools/builtin/native-search-transport.test.mjs +0 -24
- package/src/runtime/agent/orchestrator/tools/builtin/noise-dir-visibility.test.mjs +0 -69
- package/src/runtime/agent/orchestrator/tools/builtin/read-glob-survey.test.mjs +0 -71
- package/src/runtime/agent/orchestrator/tools/builtin/runtime-capabilities.test.mjs +0 -56
- package/src/runtime/agent/orchestrator/tools/builtin/search-builders.test.mjs +0 -16
- package/src/runtime/agent/orchestrator/tools/builtin/search-glob-top-k.test.mjs +0 -39
- package/src/runtime/agent/orchestrator/tools/builtin/write-symlink.test.mjs +0 -153
- package/src/runtime/agent/orchestrator/tools/code-graph/aggregate-anchor-relocation.test.mjs +0 -55
- package/src/runtime/agent/orchestrator/tools/code-graph/dispatch.test.mjs +0 -88
- package/src/runtime/agent/orchestrator/tools/code-graph/loose-file-target.test.mjs +0 -72
- package/src/runtime/agent/orchestrator/tools/code-graph/memory-cache.test.mjs +0 -54
- package/src/runtime/agent/orchestrator/tools/code-graph/search-references.test.mjs +0 -20
- package/src/runtime/agent/orchestrator/tools/code-graph/symbol-search-scope.test.mjs +0 -55
- package/src/runtime/agent/orchestrator/tools/code-graph/text-span-mask.test.mjs +0 -268
- package/src/runtime/agent/orchestrator/tools/env-scrub.test.mjs +0 -57
- package/src/runtime/agent/orchestrator/tools/graph-binary-fetcher.test.mjs +0 -19
- package/src/runtime/agent/orchestrator/tools/lib/native-spawn-client.test.mjs +0 -104
- package/src/runtime/agent/orchestrator/tools/patch/engine-contract-gate.test.mjs +0 -661
- package/src/runtime/agent/orchestrator/tools/patch/patch-codec-eol.test.mjs +0 -552
- package/src/runtime/agent/orchestrator/tools/patch/patch-symlink.test.mjs +0 -141
- package/src/runtime/agent/orchestrator/tools/patch/v4a-pure-move.test.mjs +0 -57
- package/src/runtime/agent/orchestrator/tools/patch/v4a-section-coalesce.test.mjs +0 -81
- package/src/runtime/agent/orchestrator/tools/spawn-binary-fetcher.test.mjs +0 -52
- package/src/runtime/attachments/store.test.mjs +0 -209
- package/src/runtime/channels/lib/voice-runtime-fetcher.test.mjs +0 -17
- package/src/runtime/channels/lib/webhook/deliveries.test.mjs +0 -18
- package/src/runtime/channels/lib/webhook/relay-tunnel.test.mjs +0 -68
- package/src/runtime/media/adapters/codex-image.test.mjs +0 -22
- package/src/runtime/media/download.test.mjs +0 -52
- package/src/runtime/media/renditions.test.mjs +0 -99
- package/src/runtime/media/store.test.mjs +0 -159
- package/src/runtime/memory/lib/archive-security.test.mjs +0 -128
- package/src/runtime/memory/lib/embedding-model-config.test.mjs +0 -33
- package/src/runtime/memory/lib/http-wire.test.mjs +0 -15
- package/src/runtime/memory/lib/memory-cycle-packets.test.mjs +0 -49
- package/src/runtime/memory/lib/memory-cycle2-shared.test.mjs +0 -78
- package/src/runtime/memory/lib/memory-embedding-migration.test.mjs +0 -50
- package/src/runtime/memory/lib/pg/process.test.mjs +0 -36
- package/src/runtime/memory/lib/trace-store.test.mjs +0 -57
- package/src/runtime/memory/lib/transcript-ingest.test.mjs +0 -52
- package/src/runtime/shared/background-tasks.test.mjs +0 -78
- package/src/runtime/shared/bounded-download.test.mjs +0 -41
- package/src/runtime/shared/channel-notification-routing.test.mjs +0 -25
- package/src/runtime/shared/child-spawn-remote.test.mjs +0 -124
- package/src/runtime/shared/remote-intent.test.mjs +0 -40
- package/src/runtime/shared/resource-admission.test.mjs +0 -43
- package/src/runtime/shared/runtime-root.test.mjs +0 -34
- package/src/runtime/shared/schedule-time.test.mjs +0 -29
- package/src/runtime/shared/session-runtime-health.test.mjs +0 -83
- package/src/runtime/shared/skill-document.test.mjs +0 -81
- package/src/runtime/shared/tool-surface.test.mjs +0 -87
- package/src/runtime/shared/update-checker.test.mjs +0 -33
- package/src/runtime/shared/user-cwd.test.mjs +0 -43
- package/src/runtime/shared/webhook-session-run.test.mjs +0 -14
- package/src/session-runtime/agent-disable.test.mjs +0 -123
- package/src/session-runtime/cwd-plugins.test.mjs +0 -75
- package/src/session-runtime/cwd-tool-routing.test.mjs +0 -61
- package/src/session-runtime/global-extensions.test.mjs +0 -28
- package/src/session-runtime/goal-runtime.test.mjs +0 -108
- package/src/session-runtime/lifecycle-api.test.mjs +0 -21
- package/src/session-runtime/model-settings-persist.test.mjs +0 -105
- package/src/session-runtime/notification-bus.test.mjs +0 -148
- package/src/session-runtime/plugin-mcp-standard.test.mjs +0 -177
- package/src/session-runtime/prewarm.test.mjs +0 -52
- package/src/session-runtime/provider-request-snapshot.test.mjs +0 -37
- package/src/session-runtime/resource-api-global.test.mjs +0 -69
- package/src/session-runtime/session-lifecycle.test.mjs +0 -125
- package/src/session-runtime/session-title.test.mjs +0 -36
- package/src/session-runtime/skills-api.test.mjs +0 -99
- package/src/session-runtime/tool-policy-surface.test.mjs +0 -331
- package/src/standalone/agent-tool/helpers.test.mjs +0 -62
- package/src/standalone/agent-tool/notify.test.mjs +0 -37
- package/src/standalone/agent-tool/spawn-flow.test.mjs +0 -63
- package/src/standalone/channel-restart.test.mjs +0 -145
- package/src/standalone/channel-session-router.test.mjs +0 -37
- package/src/standalone/channel-worker-heartbeat.test.mjs +0 -30
- package/src/standalone/hook-bus/handlers.test.mjs +0 -88
- package/src/standalone/plugin-admin.test.mjs +0 -173
- package/src/standalone/session-runtime-agent-control-client.test.mjs +0 -71
- package/src/standalone/session-runtime-dispatch-cancel.test.mjs +0 -139
- package/src/standalone/session-runtime-host-factory.test.mjs +0 -31
- package/src/standalone/session-runtime-host-health.test.mjs +0 -160
- package/src/standalone/session-runtime-inline-host.test.mjs +0 -83
- package/src/standalone/session-runtime-provider-cooldown.test.mjs +0 -80
- package/src/standalone/session-runtime-shard-host.test.mjs +0 -569
- package/src/standalone/session-runtime-shard-router.test.mjs +0 -101
- package/src/tui/app/live-spinner-visibility.test.mjs +0 -44
- package/src/tui/app/panel-epoch.test.mjs +0 -1009
- package/src/tui/app/panel-handoff.test.mjs +0 -311
- package/src/tui/app/prompt-submit.test.mjs +0 -206
- package/src/tui/session/completion-card-restore.test.mjs +0 -111
- package/src/tui/session/goal-continuation.test.mjs +0 -84
- package/src/tui/session/oauth-flows.test.mjs +0 -134
- package/src/tui/session/queue-helpers.test.mjs +0 -46
- package/src/tui/session/session-action-surface.test.mjs +0 -108
- package/src/tui/session/task-wait-submit.test.mjs +0 -80
- package/src/tui/session/tool-result-status.test.mjs +0 -131
- package/src/tui/session/tui-steering-persist.test.mjs +0 -104
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Chrome password import sidecar
|
|
2
|
+
|
|
3
|
+
The Windows password importer packaged beside Mixdog is a separate
|
|
4
|
+
GPL-3.0-only process derived from:
|
|
5
|
+
|
|
6
|
+
https://github.com/bitwarden/clients
|
|
7
|
+
commit 6e2c2151f215df69b7cf75b43f189b2cba8b6b5e
|
|
8
|
+
|
|
9
|
+
Mixdog's wrapper and reproducible build instructions are available under
|
|
10
|
+
native/mixdog-browser-import/. The packaged native-tools directory also carries
|
|
11
|
+
the complete LICENSE_GPL.txt copied from that pinned source.
|
package/NOTICE.md
CHANGED
|
@@ -15,6 +15,8 @@ Full license texts live in `LICENSES/`:
|
|
|
15
15
|
compiled into the native binaries.
|
|
16
16
|
- `LICENSES/editor-assets-NOTICE.txt` — the editor icon and language-data
|
|
17
17
|
notice referenced by the generated files.
|
|
18
|
+
- `LICENSES/browser-import-NOTICE.txt` — source and license boundary for the
|
|
19
|
+
optional GPL Chrome password import sidecar.
|
|
18
20
|
|
|
19
21
|
## MIT
|
|
20
22
|
|
|
@@ -105,3 +107,12 @@ upstream NOTICE file is preserved as `LICENSES/codex-NOTICE.txt`.
|
|
|
105
107
|
The Apache-2.0 terms require this notice to travel with any redistribution of
|
|
106
108
|
the derived files. Full license text: `LICENSES/Apache-2.0.txt`
|
|
107
109
|
(<https://www.apache.org/licenses/LICENSE-2.0>).
|
|
110
|
+
|
|
111
|
+
## GPL-3.0-only
|
|
112
|
+
|
|
113
|
+
### Chrome password import sidecar
|
|
114
|
+
|
|
115
|
+
The Windows password importer is a separate process built from the
|
|
116
|
+
pinned source and Mixdog wrapper recorded in
|
|
117
|
+
`LICENSES/browser-import-NOTICE.txt`. It is not linked into the MIT desktop
|
|
118
|
+
application. Its complete GPL text ships beside the two native executables.
|
package/README.md
CHANGED
|
@@ -20,16 +20,14 @@ to everyone—from beginners to experts.
|
|
|
20
20
|
|
|
21
21
|
### Desktop
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Desktop packages are currently unsigned, so Windows SmartScreen or macOS
|
|
32
|
-
Gatekeeper may show a security warning.
|
|
23
|
+
<p align="center">
|
|
24
|
+
<a href="https://github.com/tribgames/mixdog/releases/latest/download/mixdog-desktop-win-x64.exe">
|
|
25
|
+
<img src="https://img.shields.io/badge/Download_for_Windows_x64-0078D4?style=for-the-badge&logo=windows11&logoColor=white" alt="Download Mixdog for Windows x64" height="56">
|
|
26
|
+
</a>
|
|
27
|
+
</p>
|
|
28
|
+
|
|
29
|
+
The Windows installer is currently unsigned, so Windows SmartScreen may show a
|
|
30
|
+
security warning.
|
|
33
31
|
|
|
34
32
|
### CLI
|
|
35
33
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mixdog",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.154",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Standalone mixdog coding-agent CLI/TUI workspace.",
|
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
"!scripts/bench/",
|
|
32
32
|
"!scripts/recall-bench-*.txt",
|
|
33
33
|
"!scripts/*-test.mjs",
|
|
34
|
+
"!scripts/*.test.mjs",
|
|
34
35
|
"!scripts/*-smoke.mjs",
|
|
35
36
|
"!scripts/smoke-loop*.mjs",
|
|
36
37
|
"!scripts/*-bench.mjs",
|
|
@@ -40,6 +41,8 @@
|
|
|
40
41
|
"!scripts/*.jsx",
|
|
41
42
|
"src/",
|
|
42
43
|
"!src/tui/dev",
|
|
44
|
+
"!src/**/*.test.mjs",
|
|
45
|
+
"!src/**/*.test.jsx",
|
|
43
46
|
"vendor/"
|
|
44
47
|
],
|
|
45
48
|
"scripts": {
|
|
@@ -67,10 +70,17 @@
|
|
|
67
70
|
"test:release-critical": "npm run test:release-assets && npm run smoke:patch && npm run test:providers",
|
|
68
71
|
"test:spec-advisory": "node scripts/advisory-spec-test.mjs && npm run test:spec-advisory --prefix apps/desktop",
|
|
69
72
|
"test:session-transport": "node --test scripts/session-transport-test.mjs scripts/daemon-bootstrap-test.mjs src/runtime/shared/child-spawn-remote.test.mjs src/standalone/session-runtime-agent-control-client.test.mjs src/standalone/session-runtime-dispatch-cancel.test.mjs src/standalone/session-runtime-host-factory.test.mjs src/standalone/session-runtime-inline-host.test.mjs src/standalone/session-runtime-provider-cooldown.test.mjs src/standalone/session-runtime-shard-host.test.mjs src/standalone/session-runtime-shard-router.test.mjs",
|
|
70
|
-
"test:session": "node --test scripts/runtime-turn-contract-test.mjs scripts/session-save-fault-store-test.mjs scripts/turn-review-revert-test.mjs src/runtime/shared/tool-surface.test.mjs",
|
|
73
|
+
"test:session": "node --test scripts/runtime-turn-contract-test.mjs scripts/session-save-fault-store-test.mjs scripts/turn-review-revert-test.mjs src/runtime/shared/tool-surface.test.mjs src/runtime/bridge-clients.test.mjs",
|
|
74
|
+
"test:quick": "npm run test:session && npm run test:session-transport && npm run test:desktop-main --prefix apps/desktop",
|
|
75
|
+
"test:office": "node --test src/runtime/office/office-runtime.test.mjs src/runtime/office/office-assurance.test.mjs && npm run test:office-approval --prefix apps/desktop",
|
|
76
|
+
"test:office:live": "node scripts/run-office-live-tests.mjs",
|
|
71
77
|
"test:media": "node --test src/runtime/media/store.test.mjs src/runtime/media/renditions.test.mjs src/runtime/media/adapters/codex-image.test.mjs",
|
|
72
78
|
"failures": "node scripts/tool-failures.mjs",
|
|
73
79
|
"trace:llm": "node scripts/llm-trace-summary.mjs",
|
|
80
|
+
"bench:office": "node src/runtime/office/benchmark.mjs",
|
|
81
|
+
"bench:office:contract": "node src/runtime/office/contract-benchmark.mjs",
|
|
82
|
+
"bench:office:assurance": "node src/runtime/office/assurance-benchmark.mjs",
|
|
83
|
+
"bench:office:quality:live": "node src/runtime/office/quality-live-benchmark.mjs",
|
|
74
84
|
"diag:sessions": "node scripts/session-diag.mjs",
|
|
75
85
|
"diag:tools": "node scripts/tool-efficiency-diag.mjs",
|
|
76
86
|
"diag:sweep": "node scripts/session-sweep.mjs",
|
|
@@ -118,25 +128,31 @@
|
|
|
118
128
|
"@huggingface/transformers": "^3.8.1",
|
|
119
129
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
120
130
|
"@mozilla/readability": "^0.6.0",
|
|
131
|
+
"@napi-rs/canvas": "^1.0.8",
|
|
132
|
+
"@pdf-lib/fontkit": "^1.1.1",
|
|
121
133
|
"chalk": "^5.6.2",
|
|
122
134
|
"cli-highlight": "^2.1.11",
|
|
123
135
|
"diff": "^9.0.0",
|
|
124
136
|
"ink": "^7.1.0",
|
|
125
137
|
"jsdom": "^27.0.0",
|
|
138
|
+
"jszip": "^3.10.1",
|
|
126
139
|
"kiwi-nlp": "^0.21.0",
|
|
127
140
|
"marked": "^14.1.4",
|
|
128
141
|
"node-cron": "^4.5.0",
|
|
129
142
|
"onnxruntime-node": "1.23.2",
|
|
130
143
|
"openai": "^6.44.0",
|
|
144
|
+
"pdf-lib": "^1.17.1",
|
|
145
|
+
"pdfjs-dist": "^6.2.108",
|
|
131
146
|
"pg": "^8.22.0",
|
|
132
147
|
"puppeteer-core": "^25.2.0",
|
|
133
148
|
"react": "^19.2.7",
|
|
134
149
|
"sharp": "^0.35.3",
|
|
135
150
|
"string-width": "^8.2.1",
|
|
136
151
|
"strip-ansi": "^7.2.0",
|
|
152
|
+
"tesseract.js": "^7.0.0",
|
|
137
153
|
"tiktoken": "^1.0.22",
|
|
138
|
-
"unpdf": "^1.8.0",
|
|
139
154
|
"undici": "^8.5.0",
|
|
155
|
+
"unpdf": "^1.8.0",
|
|
140
156
|
"wrap-ansi": "^10.0.0",
|
|
141
157
|
"ws": "^8.21.0",
|
|
142
158
|
"yaml": "^2.9.0",
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { dirname, resolve } from 'node:path';
|
|
4
|
+
|
|
5
|
+
function arg(name, fallback) {
|
|
6
|
+
const prefix = `--${name}=`;
|
|
7
|
+
const inline = process.argv.find((value) => value.startsWith(prefix));
|
|
8
|
+
if (inline) return inline.slice(prefix.length);
|
|
9
|
+
const index = process.argv.indexOf(`--${name}`);
|
|
10
|
+
return index >= 0 && index + 1 < process.argv.length ? process.argv[index + 1] : fallback;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function load(path) {
|
|
14
|
+
return JSON.parse(readFileSync(resolve(path), 'utf8'));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function percentile(values, fraction) {
|
|
18
|
+
const sorted = values
|
|
19
|
+
.map(Number)
|
|
20
|
+
.filter(Number.isFinite)
|
|
21
|
+
.sort((a, b) => a - b);
|
|
22
|
+
if (sorted.length === 0) return 0;
|
|
23
|
+
return sorted[Math.max(0, Math.ceil(sorted.length * fraction) - 1)];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function fixed(value, digits = 2) {
|
|
27
|
+
return Number(Number(value || 0).toFixed(digits));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function distribution(values) {
|
|
31
|
+
return {
|
|
32
|
+
p50: percentile(values, 0.5),
|
|
33
|
+
p95: percentile(values, 0.95),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const modelPath = arg(
|
|
38
|
+
'model',
|
|
39
|
+
'artifacts/computer-use/computer-schema-sequence-guided-full.json',
|
|
40
|
+
);
|
|
41
|
+
const hostPath = arg(
|
|
42
|
+
'host',
|
|
43
|
+
'apps/desktop/artifacts/computer-use/scenario-repeat-further-optimized-v5.json',
|
|
44
|
+
);
|
|
45
|
+
const sequencePath = arg(
|
|
46
|
+
'sequence',
|
|
47
|
+
'artifacts/computer-use/sequence-performance-final.json',
|
|
48
|
+
);
|
|
49
|
+
const outputPath = resolve(arg(
|
|
50
|
+
'output',
|
|
51
|
+
'artifacts/computer-use/computer-task-cost-final.json',
|
|
52
|
+
));
|
|
53
|
+
|
|
54
|
+
const model = load(modelPath);
|
|
55
|
+
const host = load(hostPath);
|
|
56
|
+
const sequence = load(sequencePath);
|
|
57
|
+
const rows = Array.isArray(model.rows) ? model.rows : [];
|
|
58
|
+
const totalInputTokens = rows.map((row) => row.usage?.inputTokens);
|
|
59
|
+
const mainInputTokens = rows.map((row) => row.usage?.mainInputTokens);
|
|
60
|
+
const warmupInputTokens = rows.map((row) => row.usage?.warmupInputTokens);
|
|
61
|
+
const cachedTokens = rows.map((row) => row.usage?.cachedTokens);
|
|
62
|
+
const uncachedTokens = rows.map((row) => (
|
|
63
|
+
Number(row.usage?.inputTokens || 0) - Number(row.usage?.cachedTokens || 0)
|
|
64
|
+
));
|
|
65
|
+
const outputTokens = rows.map((row) => row.usage?.outputTokens);
|
|
66
|
+
const modelLatency = rows.map((row) => row.duration_ms);
|
|
67
|
+
const totalRuns = Number(host.total_runs || 0);
|
|
68
|
+
const hostSummary = host.summary || {};
|
|
69
|
+
const perToolCallInput = distribution(totalInputTokens);
|
|
70
|
+
const perToolCallLatency = distribution(modelLatency);
|
|
71
|
+
|
|
72
|
+
const taskProfile = (modelCalls) => ({
|
|
73
|
+
model_calls: modelCalls,
|
|
74
|
+
call_equivalent_input_tokens_p50: fixed(perToolCallInput.p50 * modelCalls),
|
|
75
|
+
call_equivalent_input_tokens_p95: fixed(perToolCallInput.p95 * modelCalls),
|
|
76
|
+
model_latency_p50_ms: fixed(perToolCallLatency.p50 * modelCalls),
|
|
77
|
+
note: 'Call-equivalent only; later turns can include fresh-state text or images and prompt-cache behavior.',
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
const report = {
|
|
81
|
+
schema_version: 1,
|
|
82
|
+
generated_at: new Date().toISOString(),
|
|
83
|
+
inputs: {
|
|
84
|
+
model: resolve(modelPath),
|
|
85
|
+
host: resolve(hostPath),
|
|
86
|
+
sequence: resolve(sequencePath),
|
|
87
|
+
},
|
|
88
|
+
model_call: {
|
|
89
|
+
samples: rows.length,
|
|
90
|
+
first_call_success_rate: model.summary?.first_call_success_rate ?? null,
|
|
91
|
+
total_input_tokens: perToolCallInput,
|
|
92
|
+
main_input_tokens: distribution(mainInputTokens),
|
|
93
|
+
warmup_input_tokens: distribution(warmupInputTokens),
|
|
94
|
+
cached_tokens: distribution(cachedTokens),
|
|
95
|
+
uncached_tokens: distribution(uncachedTokens),
|
|
96
|
+
output_tokens: distribution(outputTokens),
|
|
97
|
+
latency_ms: perToolCallLatency,
|
|
98
|
+
},
|
|
99
|
+
windows_host_scenario: {
|
|
100
|
+
samples: totalRuns,
|
|
101
|
+
pass_rate: hostSummary.success_rate ?? null,
|
|
102
|
+
model_facing_tool_calls_per_run: fixed(hostSummary.tool_calls / totalRuns, 3),
|
|
103
|
+
observations_per_run: fixed(hostSummary.observations / totalRuns, 3),
|
|
104
|
+
mutations_per_run: fixed(hostSummary.mutations / totalRuns, 3),
|
|
105
|
+
latency_ms: {
|
|
106
|
+
p50: hostSummary.scenario_duration_p50_ms,
|
|
107
|
+
p95: hostSummary.scenario_duration_p95_ms,
|
|
108
|
+
},
|
|
109
|
+
payload_bytes_per_run: {
|
|
110
|
+
request: fixed(hostSummary.request_bytes / totalRuns),
|
|
111
|
+
response_text: fixed(hostSummary.response_text_bytes / totalRuns),
|
|
112
|
+
images: fixed(hostSummary.image_bytes / totalRuns),
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
task_profiles: {
|
|
116
|
+
fresh_observation_action: taskProfile(1),
|
|
117
|
+
observe_then_action: taskProfile(2),
|
|
118
|
+
discover_observe_then_action: taskProfile(3),
|
|
119
|
+
safe_two_action_chain: {
|
|
120
|
+
separate: {
|
|
121
|
+
model_calls_after_observation: 2,
|
|
122
|
+
post_action_captures: sequence.separate?.post_action_captures,
|
|
123
|
+
host_latency_p50_ms: sequence.separate?.p50_ms,
|
|
124
|
+
host_latency_p95_ms: sequence.separate?.p95_ms,
|
|
125
|
+
},
|
|
126
|
+
sequence: {
|
|
127
|
+
model_calls_after_observation: 1,
|
|
128
|
+
post_action_captures: sequence.sequence?.post_action_captures,
|
|
129
|
+
host_latency_p50_ms: sequence.sequence?.p50_ms,
|
|
130
|
+
host_latency_p95_ms: sequence.sequence?.p95_ms,
|
|
131
|
+
},
|
|
132
|
+
reduction: sequence.reduction,
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
caveats: [
|
|
136
|
+
'Model token samples are provider-reported single-call usage from 36 representative first-call tasks.',
|
|
137
|
+
'Windows host samples are 230 real native, Electron, Chrome, Korean OCR, stale-state, and recovery runs.',
|
|
138
|
+
'Task profiles are call-equivalent projections, not billing claims; screenshots and growing conversation history can increase later-turn input.',
|
|
139
|
+
],
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
mkdirSync(dirname(outputPath), { recursive: true });
|
|
143
|
+
writeFileSync(outputPath, `${JSON.stringify(report, null, 2)}\n`, 'utf8');
|
|
144
|
+
process.stdout.write(`${JSON.stringify(report, null, 2)}\n${outputPath}\n`);
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
3
|
+
|
|
4
|
+
const testPath = fileURLToPath(new URL('../src/runtime/office/office-live-runtime.test.mjs', import.meta.url));
|
|
5
|
+
const child = spawn(process.execPath, ['--test', testPath], {
|
|
6
|
+
cwd: process.cwd(),
|
|
7
|
+
env: {
|
|
8
|
+
...process.env,
|
|
9
|
+
MIXDOG_TEST_LIVE_OFFICE: '1',
|
|
10
|
+
},
|
|
11
|
+
stdio: ['inherit', 'pipe', 'pipe'],
|
|
12
|
+
windowsHide: true,
|
|
13
|
+
});
|
|
14
|
+
let tapFailed = false;
|
|
15
|
+
let tail = '';
|
|
16
|
+
const forward = (stream, target) => {
|
|
17
|
+
stream.on('data', (chunk) => {
|
|
18
|
+
const text = chunk.toString();
|
|
19
|
+
target.write(text);
|
|
20
|
+
tail = `${tail}${text}`.slice(-16_384);
|
|
21
|
+
if (/(?:^|\n)not ok \d+ -/m.test(tail)) tapFailed = true;
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
forward(child.stdout, process.stdout);
|
|
25
|
+
forward(child.stderr, process.stderr);
|
|
26
|
+
child.once('error', (error) => {
|
|
27
|
+
process.stderr.write(`${error?.stack || error}\n`);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
});
|
|
30
|
+
child.once('close', (code) => {
|
|
31
|
+
process.exit(tapFailed ? 1 : Number.isInteger(code) ? code : 1);
|
|
32
|
+
});
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Front Worker
|
|
3
|
+
description: Use for web frontend, GUI, UI, visual presentation, and 2D or 3D asset implementation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Own visual and interface implementation.
|
|
7
|
+
|
|
8
|
+
Implement the requested visual outcome while preserving existing interaction
|
|
9
|
+
behavior and project conventions. Keep changes targeted and maintain hierarchy,
|
|
10
|
+
consistency, responsiveness, and accessibility when relevant. Preserve source
|
|
11
|
+
formats and naming conventions for asset work.
|
|
12
|
+
|
|
13
|
+
Hand off the completed visual outcome and changed files or assets.
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: Heavy Worker
|
|
3
|
+
description: Use only for large refactors, cross-cutting architectural changes, difficult root-cause investigations, or implementation beyond the default Worker's normal scope.
|
|
3
4
|
---
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
Own the assigned implementation slice through staged delivery.
|
|
6
|
+
Own high-complexity implementation through staged delivery.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Map the affected architecture and dependencies, divide the work into coherent
|
|
9
|
+
stages, and execute them in dependency order. Preserve existing behavior unless
|
|
10
|
+
the brief explicitly changes it, and control blast radius across boundaries.
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Do not cross that boundary without a new bounded assignment; report blocked
|
|
15
|
-
work with the relevant file:line.
|
|
12
|
+
When a required decision, dependency, or ownership boundary is unresolved,
|
|
13
|
+
stop and report it with the relevant `file:line`.
|
|
16
14
|
|
|
17
|
-
|
|
15
|
+
Hand off the completed outcome, material design decisions, and changed
|
|
16
|
+
`file:line`.
|
|
18
17
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "heavy-worker",
|
|
3
3
|
"name": "Heavy Worker",
|
|
4
|
-
"description": "Use for
|
|
4
|
+
"description": "Use only for large refactors, cross-cutting architectural changes, difficult root-cause investigations, or implementation beyond the default Worker's normal scope.",
|
|
5
5
|
"entry": "AGENT.md"
|
|
6
6
|
}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: Reviewer
|
|
3
|
+
description: Use after implementation to independently verify correctness, regressions, risks, and stated acceptance criteria before final reporting.
|
|
3
4
|
---
|
|
4
5
|
|
|
5
|
-
# Reviewer
|
|
6
|
-
|
|
7
6
|
Independent regression/risk review agent.
|
|
8
7
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
unsupported assumptions, and counterexamples before confirming.
|
|
14
|
-
Report findings first, severity-ordered, with one line per `file:line`. If clean,
|
|
15
|
-
say so in one line and include only material residual risk.
|
|
8
|
+
Inspect the diff, affected boundaries, existing tests, and stated acceptance
|
|
9
|
+
criteria with independent judgment. Run the necessary builds, tests, lint, or
|
|
10
|
+
runtime checks and actively seek regressions, unsupported assumptions, security
|
|
11
|
+
risks, and counterexamples.
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
Do not modify files or reimplement the change. Report actionable findings first,
|
|
14
|
+
severity-ordered, with evidence and one line per `file:line`. If clean, say so
|
|
15
|
+
in one line and include only material residual risk.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "reviewer",
|
|
3
3
|
"name": "Reviewer",
|
|
4
|
-
"description": "Use
|
|
4
|
+
"description": "Use after implementation to independently verify correctness, regressions, risks, and stated acceptance criteria before final reporting.",
|
|
5
5
|
"entry": "AGENT.md"
|
|
6
6
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Security
|
|
3
|
+
description: Use for security audits, threat and risk reviews, vulnerability analysis, or explicitly requested security hardening.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Own the assigned security analysis or hardening task.
|
|
7
|
+
|
|
8
|
+
Trace the relevant attack surface, trust boundaries, permissions, inputs, and
|
|
9
|
+
data flow. Base every finding on concrete evidence and distinguish confirmed
|
|
10
|
+
vulnerabilities from residual risk. Do not modify files during an audit unless
|
|
11
|
+
the brief explicitly requests remediation.
|
|
12
|
+
|
|
13
|
+
Report severity, exploitability, evidence with `file:line`, impact, and the
|
|
14
|
+
smallest actionable recommendation. Avoid speculation and exaggerated claims.
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: Worker
|
|
3
|
+
description: Default implementation agent. Use for implementation work unless a specialized agent is clearly more appropriate.
|
|
3
4
|
---
|
|
4
5
|
|
|
5
|
-
# Worker
|
|
6
6
|
Scoped implementation agent.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
Implement the assigned task directly. Keep changes focused on the requested
|
|
9
|
+
outcome, follow exact constraints and established project patterns, and avoid
|
|
10
|
+
unrelated cleanup or redesign.
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
When blocked, stop at the first concrete boundary and report the blocker with
|
|
13
|
+
the relevant `file:line`.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Hand off the completed outcome and changed `file:line`.
|
|
16
16
|
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Writer
|
|
3
|
+
description: Use for translation, editing, rewriting, tone alignment, and final-copy polishing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Own the final text.
|
|
7
|
+
|
|
8
|
+
Preserve meaning, facts, terminology, formatting, and intended audience while
|
|
9
|
+
making the writing natural and consistent with the document's tone. Translate
|
|
10
|
+
idiomatically rather than word-for-word.
|
|
11
|
+
|
|
12
|
+
Do not invent facts, add commentary, or delegate the work. Return final copy
|
|
13
|
+
only unless the brief explicitly assigns file edits; then hand off changed
|
|
14
|
+
paths.
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
# Public Agent Constraints
|
|
2
2
|
|
|
3
|
-
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
state; other agents never use it to explore, install, or change state beyond
|
|
8
|
-
the brief.
|
|
9
|
-
- Overflow goes to a file; hand off path + fragments.
|
|
3
|
+
- Unless an agent's own `AGENT.md` explicitly assigns a review or verification
|
|
4
|
+
procedure, do not review or verify: skip builds, tests, lint, runtime checks,
|
|
5
|
+
and independent regression review. Complete the assigned role task and hand
|
|
6
|
+
off; Lead or an explicitly verification-assigned agent owns verification.
|
|
@@ -5,9 +5,6 @@
|
|
|
5
5
|
- Before the first tool call, briefly state what you are about to do; add a
|
|
6
6
|
short update when you find something load-bearing, change direction, or
|
|
7
7
|
work a stretch without one. Do not use a colon before a tool call.
|
|
8
|
-
- Confirm destructive/hard-to-reverse actions against explicit validated paths;
|
|
9
|
-
never `~`, a root, or unresolved variables/globs; report material deletion
|
|
10
|
-
recoverability.
|
|
11
8
|
- Mid-task: replacement supersedes; addition folds in; status gets a brief
|
|
12
9
|
answer while work continues. After compaction, resume the summary.
|
|
13
10
|
- Periodic task reports stay in-turn: when `task wait` returns still-running,
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
# Tool Workflow
|
|
2
2
|
|
|
3
|
+
- Confirm destructive/hard-to-reverse actions against explicit validated paths;
|
|
4
|
+
never `~`, a root, or unresolved variables/globs; report material deletion
|
|
5
|
+
recoverability.
|
|
3
6
|
- Determine the required outcome and missing evidence; requirements are not
|
|
4
7
|
evidence. Trust internal and framework guarantees.
|
|
5
8
|
- Before exploration or implementation, consult prior work, current external
|
|
6
9
|
information, or repository state only when needed to choose the next action.
|
|
7
10
|
Start with the source most likely to decide it; consult another only if the
|
|
8
11
|
result leaves the decision unresolved.
|
|
9
|
-
-
|
|
10
|
-
|
|
12
|
+
- Exhaust known work into the largest supported parameterized call before
|
|
13
|
+
issuing it. Do not split one tool's known targets or operations by item,
|
|
14
|
+
file, page, or operation type; split only when a prior result is needed to
|
|
15
|
+
determine later input or a documented tool limit requires another call.
|
|
16
|
+
- Minimize model round-trips: when multiple calls are independently necessary
|
|
17
|
+
and every input is already known before the batch begins, issue them in the
|
|
18
|
+
same assistant turn. A call whose necessity or scope can change after
|
|
11
19
|
another result waits for that result.
|
|
12
20
|
- Respect tool/schema limits, never omit required fanout, and apply one analysis
|
|
13
21
|
to many targets as one parameterized call when supported.
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
buildability invariants. Treat mutable behavior, UX, exact text, snapshots,
|
|
10
10
|
and implementation shape as advisory specifications; update them when the
|
|
11
11
|
requested behavior changes instead of preserving obsolete behavior.
|
|
12
|
+
- A new test asserts observable behavior, never source text or implementation
|
|
13
|
+
shape, and never re-asserts a contract another test already owns.
|
|
12
14
|
- A check runs at the strictness the task requires; never raise a tool's own
|
|
13
15
|
severity beyond it.
|
|
14
16
|
- If verification fails, collect all failures, leave Verification, complete all
|