sneakoscope 10.3.7 → 10.3.9
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/README.md +17 -183
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/dist/bin/sks-dispatch.js +1 -1
- package/dist/cli/command-registry.js +0 -9
- package/dist/cli/feature-commands.js +18 -52
- package/dist/cli/global-mode-router.js +0 -1
- package/dist/cli/install-helpers-codex-lb-shared.js +0 -3
- package/dist/cli/install-helpers-install-support.js +1 -20
- package/dist/cli/install-helpers.js +3 -3
- package/dist/cli/install-tool-helpers.js +0 -76
- package/dist/cli/router.js +0 -3
- package/dist/commands/bridge.js +61 -1
- package/dist/commands/codex-app.js +4 -1
- package/dist/commands/decision.js +1 -1
- package/dist/commands/doctor-helpers.js +1 -20
- package/dist/commands/doctor.js +9 -21
- package/dist/commands/hook.js +3 -2
- package/dist/config/skills-manifest.json +1 -1
- package/dist/core/agent-bridge/host-capability-runtime.js +0 -3
- package/dist/core/agents/agent-codex-cockpit.js +0 -1
- package/dist/core/agents/agent-orchestrator.js +1 -1
- package/dist/core/agents/agent-patch-transaction-journal.js +1 -16
- package/dist/core/agents/agent-plan.js +0 -4
- package/dist/core/agents/agent-recursion-guard.js +0 -369
- package/dist/core/agents/agent-role-config.js +1 -15
- package/dist/core/agents/agent-runner-fake.js +0 -53
- package/dist/core/agents/agent-schema.js +0 -4
- package/dist/core/agents/agent-work-queue.js +1 -11
- package/dist/core/agents/agent-worker-pipeline.js +1 -19
- package/dist/core/agents/agent-worker-slot.js +1 -10
- package/dist/core/agents/native-worker-backend-router.js +55 -0
- package/dist/core/agents/runtime-proof-summary.js +0 -1
- package/dist/core/align/align-route.js +0 -3
- package/dist/core/align/code-navigation-align.js +1 -1
- package/dist/core/architecture-hardening/contracts/contracts.js +0 -4
- package/dist/core/architecture-map-pipeline.js +0 -25
- package/dist/core/architecture-map-review.js +2 -18
- package/dist/core/artifact-schemas.js +0 -1
- package/dist/core/auto-review.js +0 -22
- package/dist/core/code-structure.js +0 -5
- package/dist/core/codex/agent-config-file-repair.js +0 -3
- package/dist/core/codex/codex-config-guard.js +0 -40
- package/dist/core/codex-app/codex-app-fast-ui-preservation.js +1 -7
- package/dist/core/codex-app/codex-app-restart-policy.js +20 -0
- package/dist/core/codex-app/codex-app-types.js +0 -3
- package/dist/core/codex-app/codex-context-window.js +61 -24
- package/dist/core/codex-app/codex-desktop-routing-ownership.js +0 -1
- package/dist/core/codex-app/codex-hook-lifecycle.js +2 -2
- package/dist/core/codex-app/codex-model-catalog.js +0 -11
- package/dist/core/codex-app/codex-models-cache.js +0 -8
- package/dist/core/codex-app/mcp-manager.js +1 -2
- package/dist/core/codex-app/menubar/constants.js +4 -0
- package/dist/core/codex-app/multi-provider-router-support.js +1 -178
- package/dist/core/codex-app.js +0 -4
- package/dist/core/codex-compat/codex-hook-output-builders.js +3 -1
- package/dist/core/codex-compat/codex-hook-semantic-validator.js +0 -15
- package/dist/core/codex-control/codex-current-feature-capability.js +2 -14
- package/dist/core/codex-control/codex-current-feature-probes.js +0 -4
- package/dist/core/codex-control/codex-output-schemas.js +0 -10
- package/dist/core/codex-control/codex-reliability-shield.js +0 -3
- package/dist/core/codex-control/codex-sdk-env-policy.js +0 -3
- package/dist/core/codex-control/gpt-final-arbiter.js +1 -1
- package/dist/core/codex-control/model-call-concurrency.js +0 -1
- package/dist/core/codex-hooks/codex-dead-managed-hooks.js +116 -0
- package/dist/core/codex-hooks/codex-global-hooks.js +387 -0
- package/dist/core/codex-hooks/codex-hook-actual-discovery.js +36 -106
- package/dist/core/codex-hooks/codex-hook-hash.js +4 -7
- package/dist/core/codex-hooks/codex-hook-official-parity.js +32 -125
- package/dist/core/codex-hooks/codex-hook-state-writer.js +0 -139
- package/dist/core/codex-hooks/codex-hook-trust-doctor.js +16 -30
- package/dist/core/codex-hooks/codex-hook-trust-state.js +8 -7
- package/dist/core/codex-hooks/codex-hooks-list.js +106 -0
- package/dist/core/codex-hooks/codex-project-hooks.js +108 -0
- package/dist/core/codex-hooks/sks-hook-entries.js +104 -0
- package/dist/core/codex-lb/bridge-cli-contract.js +2 -0
- package/dist/core/codex-lb/codex-lb-env.js +0 -2
- package/dist/core/codex-lb/desktop-auth-invariant.js +1 -44
- package/dist/core/codex-lb/desktop-bridge/exclusive-provider-guard.js +59 -0
- package/dist/core/codex-lb/desktop-bridge/http-forward.js +23 -15
- package/dist/core/codex-lb/desktop-bridge/index.js +1 -0
- package/dist/core/codex-lb/desktop-bridge/responses-websocket.js +10 -3
- package/dist/core/codex-lb/desktop-bridge/security.js +63 -1
- package/dist/core/codex-lb/desktop-bridge/server.js +5 -0
- package/dist/core/codex-lb/desktop-bridge/state.js +3 -0
- package/dist/core/codex-lb/desktop-bridge/websocket-forward.js +5 -1
- package/dist/core/codex-lb/desktop-bridge-migration.js +0 -1
- package/dist/core/codex-lb/desktop-controller-v3/catalog.js +31 -5
- package/dist/core/codex-lb/desktop-controller-v3/lifecycle-commands.js +23 -4
- package/dist/core/codex-lb/desktop-controller-v3/openrouter-only-catalog.js +39 -0
- package/dist/core/codex-lb/desktop-controller-v3/openrouter-only-commands.js +286 -0
- package/dist/core/codex-lb/desktop-controller-v3/openrouter-only-main-model.js +101 -0
- package/dist/core/codex-lb/desktop-controller-v3/openrouter-only-status.js +61 -0
- package/dist/core/codex-lb/desktop-controller-v3/status.js +8 -5
- package/dist/core/codex-lb/desktop-controller-v3.js +26 -2
- package/dist/core/codex-lb/desktop-service.js +13 -2
- package/dist/core/codex-lb/route-index.js +0 -3
- package/dist/core/codex-lb/trusted-deep-evidence.js +0 -3
- package/dist/core/codex-lb-circuit.js +0 -20
- package/dist/core/codex-native/codex-native-feature-matrix.js +0 -3
- package/dist/core/codex-native/core-skill-integrity.js +1 -4
- package/dist/core/codex-native/core-skill-manifest.js +0 -4
- package/dist/core/commands/basic-cli.js +16 -4
- package/dist/core/commands/mad-sks-command.js +0 -22
- package/dist/core/commands/naruto-command.js +5 -5
- package/dist/core/commands/ppt-command.js +1 -1
- package/dist/core/commands/seo-command.js +0 -3
- package/dist/core/commands/triwiki-atlas-command.js +1 -1
- package/dist/core/commands/uninstall-command.js +10 -0
- package/dist/core/commands/wiki-command.js +1 -1
- package/dist/core/config/config-migration-journal.js +1 -27
- package/dist/core/config/managed-config-merge.js +1 -1
- package/dist/core/config/secret-preservation.js +0 -5
- package/dist/core/config-adopt/config-adopt.js +0 -1
- package/dist/core/context7-client.js +0 -3
- package/dist/core/daemon/sksd-client.js +1 -2
- package/dist/core/daemon/sksd-hook-dispatch.js +26 -9
- package/dist/core/daemon/sksd-ipc.js +0 -6
- package/dist/core/daemon/sksd.js +0 -28
- package/dist/core/db-review.js +0 -10
- package/dist/core/db-safety.js +0 -36
- package/dist/core/decisions/child-model-choice.js +107 -0
- package/dist/core/decisions/cli.js +19 -2
- package/dist/core/decisions/integration.js +1 -25
- package/dist/core/decisions/openrouter.js +1 -4
- package/dist/core/decisions/policy.js +1 -2
- package/dist/core/decisions/questions.js +1 -2
- package/dist/core/decisions/receipt.js +0 -11
- package/dist/core/decisions/routing.js +5 -4
- package/dist/core/decisions/types.js +0 -1
- package/dist/core/dfix.js +0 -12
- package/dist/core/doctor/doctor-codex-startup-repair.js +0 -1
- package/dist/core/doctor/doctor-native-capability-repair.js +14 -15
- package/dist/core/doctor/doctor-readiness-matrix.js +12 -11
- package/dist/core/doctor/global-sks-install-cleanup.js +1 -15
- package/dist/core/evidence/evidence-router.js +1 -1
- package/dist/core/feature-fixture-runner.js +0 -12
- package/dist/core/feature-registry.js +1 -25
- package/dist/core/fsx.js +0 -19
- package/dist/core/git/git-worktree-cleanup.js +0 -27
- package/dist/core/git-hygiene/git-status.js +1 -7
- package/dist/core/git-hygiene/shared-memory-publish.js +2 -23
- package/dist/core/git-simple.js +2 -7
- package/dist/core/harness-conflicts.js +0 -1
- package/dist/core/hooks-runtime/context-graph-freshness-preflight.js +0 -22
- package/dist/core/hooks-runtime/hook-context.js +21 -7
- package/dist/core/hooks-runtime/hook-io.js +3 -2
- package/dist/core/hooks-runtime/hook-layer.js +101 -0
- package/dist/core/hooks-runtime/jev-spawn-routing.js +83 -5
- package/dist/core/hooks-runtime/official-subagent-lifecycle.js +5 -4
- package/dist/core/hooks-runtime/parent-orchestration-gate.js +18 -1
- package/dist/core/hooks-runtime/subagent-context.js +13 -2
- package/dist/core/hooks-runtime/subagent-spawn-policy.js +49 -6
- package/dist/core/hooks-runtime.js +31 -38
- package/dist/core/hproof.js +0 -18
- package/dist/core/image-ux-review/callout-extraction.js +0 -9
- package/dist/core/image-ux-review/imagegen-adapter.js +1 -1
- package/dist/core/image-ux-review/recapture.js +0 -14
- package/dist/core/image-ux-review.js +0 -1
- package/dist/core/imagegen/imagegen-model-policy.js +0 -1
- package/dist/core/imagegen/imagegen-request-validator.js +1 -6
- package/dist/core/init/skills.js +2 -5
- package/dist/core/init.js +35 -120
- package/dist/core/loop-blocker.js +0 -20
- package/dist/core/loops/loop-artifacts.js +0 -6
- package/dist/core/loops/loop-checkpoint.js +1 -4
- package/dist/core/loops/loop-gate-ladder.js +0 -4
- package/dist/core/loops/loop-lease.js +0 -3
- package/dist/core/loops/loop-owner-inference.js +0 -22
- package/dist/core/loops/loop-owner-ledger.js +1 -1
- package/dist/core/loops/loop-risk-classifier.js +0 -8
- package/dist/core/loops/loop-side-effect-scanner.js +1 -4
- package/dist/core/mad-sks/executors/executor-base.js +0 -20
- package/dist/core/mad-sks/executors/index.js +0 -3
- package/dist/core/mad-sks/sql-plane/capability.js +0 -45
- package/dist/core/mad-sks/sql-plane/coordinator.js +3 -30
- package/dist/core/mad-sks/sql-plane/ledger.js +0 -14
- package/dist/core/mad-sks/sql-plane/mcp-executor.js +0 -3
- package/dist/core/mad-sks/sql-plane/policy.js +0 -3
- package/dist/core/mad-sks/sql-plane/result-lifecycle.js +0 -10
- package/dist/core/mad-sks/sql-plane/target.js +0 -3
- package/dist/core/managed-assets/managed-assets-manifest.js +9 -36
- package/dist/core/managed-path-safety.js +0 -3
- package/dist/core/mcp/mcp-config-preservation.js +0 -3
- package/dist/core/mcp/modern-protocol.js +0 -11
- package/dist/core/mcp-config/guarded-patch.js +0 -4
- package/dist/core/mcp-config/health-check.js +1 -1
- package/dist/core/memory-governor.js +0 -4
- package/dist/core/mistake-memory.js +1 -49
- package/dist/core/naruto/naruto-active-pool.js +0 -240
- package/dist/core/naruto/naruto-parallel-patch-apply.js +0 -16
- package/dist/core/naruto/naruto-real-write-proof.js +0 -29
- package/dist/core/naruto/naruto-role-policy.js +0 -76
- package/dist/core/naruto/naruto-task-hints.js +0 -57
- package/dist/core/naruto/naruto-work-graph.js +0 -20
- package/dist/core/naruto/naruto-work-item.js +0 -25
- package/dist/core/naruto/solution-tournament.js +0 -26
- package/dist/core/ops/ops-maturity-scorecard.js +1 -5
- package/dist/core/perf/release-latency-slo.js +4 -1
- package/dist/core/pipeline-internals/runtime-core.js +6 -80
- package/dist/core/policy/latest-version-guidance.js +0 -1
- package/dist/core/ppt/style-tokens.js +1 -1
- package/dist/core/ppt-imagegen-review.js +1 -2
- package/dist/core/ppt-review/slide-issue-extraction.js +0 -1
- package/dist/core/ppt.js +3 -3
- package/dist/core/probes/probe-memoization.js +0 -31
- package/dist/core/proof/proof-writer.js +0 -18
- package/dist/core/proof-field.js +0 -27
- package/dist/core/provider/provider-badge.js +0 -11
- package/dist/core/provider/provider-context.js +1 -7
- package/dist/core/providers/openrouter/openrouter-request-cache.js +0 -2
- package/dist/core/providers/openrouter/openrouter-secret-store.js +0 -32
- package/dist/core/python-tools/python-tool-runner.js +1 -6
- package/dist/core/qa-loop/qa-types.js +0 -3
- package/dist/core/qa-loop.js +0 -24
- package/dist/core/questions.js +0 -5
- package/dist/core/recallpulse.js +1 -18
- package/dist/core/release/content-digest-cache.js +0 -3
- package/dist/core/release/gate-manifest.js +0 -7
- package/dist/core/release/gate-pack-assertion.js +0 -19
- package/dist/core/release/gate-pack-runner.js +0 -4
- package/dist/core/release/release-gate-cache-v2.js +0 -3
- package/dist/core/remote/index.js +0 -1
- package/dist/core/remote/owner-proof.js +1 -7
- package/dist/core/remote/protocol.js +0 -12
- package/dist/core/remote/session-index.js +0 -13
- package/dist/core/research/claim-evidence-matrix.js +1 -1
- package/dist/core/research/implementation-blueprint-densifier.js +0 -1
- package/dist/core/research/mock-result.js +2 -2
- package/dist/core/research/research-realistic-report.js +0 -4
- package/dist/core/research/research-source-evidence.js +0 -8
- package/dist/core/research/research-source-ledger-merge.js +0 -1
- package/dist/core/research/research-synthesis-writer.js +0 -4
- package/dist/core/research.js +0 -5
- package/dist/core/responses-stream.js +0 -13
- package/dist/core/retention.js +0 -6
- package/dist/core/routes/constants.js +0 -1
- package/dist/core/routes/design-policy.js +0 -3
- package/dist/core/routes/evidence.js +1 -13
- package/dist/core/routes/model-mode-router.js +0 -4
- package/dist/core/routes.js +2 -83
- package/dist/core/safety/mutation-guard.js +0 -1
- package/dist/core/search/cache.js +0 -3
- package/dist/core/search/context-graph-seeds.js +0 -7
- package/dist/core/search/index.js +0 -1
- package/dist/core/search/rust-bridge.js +1 -5
- package/dist/core/search-visibility/adapter-registry.js +0 -3
- package/dist/core/search-visibility/analyzers.js +0 -2
- package/dist/core/search-visibility/artifacts.js +0 -1
- package/dist/core/search-visibility/index.js +1 -2
- package/dist/core/search-visibility/marketing.js +0 -3
- package/dist/core/search-visibility/mission.js +1 -4
- package/dist/core/search-visibility/verifier.js +1 -6
- package/dist/core/security/private-credential-file.js +0 -61
- package/dist/core/skill-forge.js +0 -35
- package/dist/core/skills/core-rollout-trace.js +1 -11
- package/dist/core/skills/core-skill-card.js +0 -0
- package/dist/core/skills/core-skill-deployment.js +0 -6
- package/dist/core/stop-gate/stop-gate-resolver.js +1 -1
- package/dist/core/strategy/adhd-orchestrating-gate.js +1 -1
- package/dist/core/subagents/child-model-allowlist.js +176 -0
- package/dist/core/subagents/child-model-plan.js +117 -0
- package/dist/core/subagents/model-policy.js +0 -4
- package/dist/core/subagents/model-tiers.js +0 -9
- package/dist/core/subagents/naruto-host-credentials.js +82 -13
- package/dist/core/subagents/official-subagent-config.js +67 -17
- package/dist/core/subagents/official-subagent-preparation.js +45 -12
- package/dist/core/subagents/official-subagent-prompt.js +82 -11
- package/dist/core/subagents/official-subagent-runner.js +3 -0
- package/dist/core/subagents/read-only-list-role.js +73 -0
- package/dist/core/subagents/role-model-preferences.js +54 -17
- package/dist/core/subagents/subagent-evidence.js +0 -2
- package/dist/core/super-search/runtime-helpers.js +1 -19
- package/dist/core/super-search/types.js +0 -1
- package/dist/core/triwiki/agents-md-projector.js +0 -3
- package/dist/core/triwiki/code-navigation-context-pack.js +1 -11
- package/dist/core/triwiki/code-pack.js +0 -17
- package/dist/core/triwiki/context-graph/architecture/fingerprint.js +0 -7
- package/dist/core/triwiki/context-graph/architecture/input-bundle.js +0 -14
- package/dist/core/triwiki/context-graph/architecture/policy.js +0 -7
- package/dist/core/triwiki/context-graph/architecture/slice.js +0 -90
- package/dist/core/triwiki/context-graph/architecture/validation.js +1 -73
- package/dist/core/triwiki/context-graph/architecture/voxel-context.js +0 -22
- package/dist/core/triwiki/context-graph/compiler/fragment-manifest-store.js +0 -6
- package/dist/core/triwiki/context-graph/compiler/fragment-manifest.js +0 -12
- package/dist/core/triwiki/context-graph/compiler/serialize.js +0 -3
- package/dist/core/triwiki/context-graph/graph-index.js +0 -10
- package/dist/core/triwiki/context-graph/paths.js +0 -3
- package/dist/core/triwiki/context-graph/projections/mermaid/index.js +0 -3
- package/dist/core/triwiki/context-graph/projections/mermaid/serializer.js +0 -12
- package/dist/core/triwiki/context-graph/projections/mermaid/view-specs.js +0 -15
- package/dist/core/triwiki/context-graph/query/changed-path-seeds.js +0 -8
- package/dist/core/triwiki/context-graph/query/index.js +1 -1
- package/dist/core/triwiki/context-graph/query/kernel-types.js +0 -3
- package/dist/core/triwiki/context-graph/runtime-index/writer-contract.js +0 -1
- package/dist/core/triwiki/context-graph/runtime-index/writer-tables.js +0 -1
- package/dist/core/triwiki/triwiki-proof-bank-index.js +1 -10
- package/dist/core/triwiki/triwiki-sla-certificate.js +0 -8
- package/dist/core/triwiki-attention.js +0 -7
- package/dist/core/triwiki-wrongness/avoidance-rules.js +0 -5
- package/dist/core/triwiki-wrongness/wrongness-cli.js +1 -1
- package/dist/core/triwiki-wrongness/wrongness-ledger.js +2 -32
- package/dist/core/triwiki-wrongness/wrongness-proof-linker.js +0 -12
- package/dist/core/triwiki-wrongness/wrongness-retrieval.js +0 -21
- package/dist/core/triwiki-wrongness/wrongness-schema.js +0 -3
- package/dist/core/trust-kernel/route-contract.js +0 -1
- package/dist/core/trust-kernel/trust-kernel-schema.js +0 -1
- package/dist/core/trust-kernel/trust-report.js +1 -1
- package/dist/core/trust-kernel/trust-status.js +0 -7
- package/dist/core/update/update-migration-state/simple-stages.js +17 -23
- package/dist/core/update/update-migration-state.js +1 -24
- package/dist/core/update-check.js +5 -27
- package/dist/core/verification/diff-quality.js +0 -1
- package/dist/core/verification/impact-scan.js +0 -3
- package/dist/core/verification-profile.js +0 -1
- package/dist/core/version-manager.js +0 -98
- package/dist/core/version.js +1 -1
- package/dist/native/sks-menubar/Sources/ControlCenterWindowController.swift +2 -0
- package/dist/native/sks-menubar/Sources/OpenRouterOnlyState.swift +314 -0
- package/dist/native/sks-menubar/Sources/ProcessClient.swift +2 -1
- package/dist/native/sks-menubar/Sources/ProvidersModelExposure.swift +15 -3
- package/dist/native/sks-menubar/Sources/ProvidersOpenRouterOnly.swift +162 -0
- package/dist/native/sks-menubar/Sources/ProvidersViewController.swift +36 -18
- package/dist/native/sks-menubar/Sources/SettingsViewController.swift +10 -4
- package/dist/native/sks-menubar/Sources/SidebarItem.swift +2 -0
- package/dist/native/sks-menubar/Sources/SubagentModelsModels.swift +201 -0
- package/dist/native/sks-menubar/Sources/SubagentModelsViewController.swift +373 -0
- package/dist/scripts/canonical-test-runner.js +2 -1
- package/dist/scripts/codex-native-gate-lib.js +0 -43
- package/dist/scripts/gate-lib.js +0 -17
- package/dist/scripts/lib/codex-sdk-gate-lib.js +0 -17
- package/dist/scripts/lib/git-worktree-fixture.js +0 -5
- package/dist/scripts/lib/valid-png-fixture.js +0 -7
- package/dist/scripts/official-subagent-workflow-check.js +1 -1
- package/dist/scripts/real-execution-check-lib.js +0 -5
- package/dist/scripts/skill-surface-modernization-check.js +0 -7
- package/dist/scripts/sks-cli-gate-lib.js +0 -30
- package/package.json +1 -2
- package/release-gates.v2.json +0 -1
- package/runtime-required-scripts.json +0 -10
- package/dist/core/agents/agent-task-slicer.js +0 -1
- package/dist/core/codex-app/provider-operation-stages.js +0 -20
- package/dist/core/codex-control/codex-current-core-probe-summary.js +0 -40
- package/dist/core/codex-control/codex-current-feature-real-probes.js +0 -68
- package/dist/core/codex-hooks/codex-hook-managed-install.js +0 -162
- package/dist/core/codex-hooks/codex-hook-official-hash-oracle.js +0 -95
- package/dist/core/codex-lb/probes/catalog-probe.js +0 -39
- package/dist/core/doctor/codex-current-core-probe-doctor.js +0 -16
- package/dist/core/doctor/confirm-repair.js +0 -26
- package/dist/core/doctor/legacy-global-hook-cleanup.js +0 -176
- package/dist/core/features/feature-completion.js +0 -1
- package/dist/core/features/feature-fixtures.js +0 -9
- package/dist/core/features/feature-registry.js +0 -2
- package/dist/core/hooks-runtime/codex-commit-hooks-selftest.js +0 -82
- package/dist/core/mad-sks/sql-plane/recovery.js +0 -27
- package/dist/core/naruto/naruto-verification-dag.js +0 -52
- package/dist/core/official-subagent-review-policy.js +0 -17
- package/dist/core/perf/performance-profiler.js +0 -108
- package/dist/core/ppt-review/deck-issue-ledger.js +0 -49
- package/dist/core/ppt-review/reexport-rereview.js +0 -84
- package/dist/core/prompt-context-builder.js +0 -36
- package/dist/core/proof/claim-ledger.js +0 -9
- package/dist/core/proof/command-ledger.js +0 -20
- package/dist/core/proof/file-change-ledger.js +0 -5
- package/dist/core/providers/openrouter/openrouter-client.js +0 -63
- package/dist/core/providers/openrouter/openrouter-provider-health.js +0 -46
- package/dist/core/qa-loop/qa-app-server-driver.js +0 -133
- package/dist/core/remote/local-worker-client.js +0 -35
- package/dist/core/reporting/markdown-table.js +0 -12
- package/dist/core/search-visibility/adapters/next-app.js +0 -5
- package/dist/core/search-visibility/adapters/next-pages.js +0 -5
- package/dist/core/search-visibility/adapters/static-site.js +0 -5
- package/dist/core/stop-gate/stop-gate-diagnostics.js +0 -3
- package/dist/core/triwiki/context-graph/projections/mermaid/architecture-delta.js +0 -68
- package/dist/core/triwiki/context-graph/projections/mermaid/change-impact.js +0 -43
- package/dist/core/triwiki/context-graph/projections/mermaid/ownership-workstream.js +0 -21
- package/dist/core/triwiki/triwiki-invalidation.js +0 -80
- package/dist/core/validators/feature-fixture-validator.js +0 -7
- package/dist/core/validators/route-contract-validator.js +0 -15
- package/dist/core/validators/trust-report-validator.js +0 -15
- package/dist/core/verification/verification-proof.js +0 -26
- package/dist/core/wiki-image/before-after-relation.js +0 -1
- package/dist/core/wiki-image/callout-parser.js +0 -16
- package/dist/core/wiki-image/computer-use-ledger.js +0 -38
- package/dist/core/wiki-image/generated-review-parser.js +0 -1
- package/dist/core/wiki-image/image-relation.js +0 -2
- package/dist/core/wiki-image/image-ux-evidence.js +0 -1
- package/dist/core/wiki-image/ppt-image-evidence.js +0 -1
package/dist/commands/bridge.js
CHANGED
|
@@ -5,6 +5,7 @@ import { serveDesktopBridge } from '../core/codex-lb/desktop-service.js';
|
|
|
5
5
|
import { BridgeCliError, errorOutput, mergeMetadata, ordinaryOutput, sanitizeBridgeValue, textSummary, verificationOutput } from './bridge-command-output.js';
|
|
6
6
|
const CONTROLLER_FACADE_EXPORT = 'executeDesktopBridgeCommand';
|
|
7
7
|
const MAX_STDIN_SECRET_BYTES = 64 * 1024;
|
|
8
|
+
const MAX_STDIN_JSON_BYTES = 64 * 1024;
|
|
8
9
|
const DEFAULT_IO = {
|
|
9
10
|
readStdin,
|
|
10
11
|
stdout: (text) => process.stdout.write(text),
|
|
@@ -18,6 +19,9 @@ export function usage(command = 'bridge') {
|
|
|
18
19
|
`Usage: sks ${command} status [--json]`,
|
|
19
20
|
` sks ${command} ensure|repair [--json]`,
|
|
20
21
|
` sks ${command} auth-priority status|on|off [--json]`,
|
|
22
|
+
` sks ${command} openrouter-only status|on|off [--no-restart] [--json]`,
|
|
23
|
+
` sks ${command} subagent-models list [--json]`,
|
|
24
|
+
` sks ${command} subagent-models set --stdin [--no-restart] [--json]`,
|
|
21
25
|
` sks ${command} verify --level shallow|transport|deep [--strict|--require-ready] [--json]`,
|
|
22
26
|
` sks ${command} provider list [--json]`,
|
|
23
27
|
` sks ${command} provider configure codex-lb --host <host> --api-key-stdin [--json]`,
|
|
@@ -34,7 +38,9 @@ export function usage(command = 'bridge') {
|
|
|
34
38
|
` sks ${command} unmanage --confirm [--json]`,
|
|
35
39
|
` sks ${command} rollback <receipt-id> --confirm [--json]`,
|
|
36
40
|
'',
|
|
37
|
-
'Provider secrets are accepted only through --api-key-stdin. Readiness changes the exit code only with --strict or --require-ready.'
|
|
41
|
+
'Provider secrets are accepted only through --api-key-stdin. Readiness changes the exit code only with --strict or --require-ready.',
|
|
42
|
+
'OpenRouter Only Mode and Codex-LB authentication priority are mutually exclusive; turning one on turns the other off.',
|
|
43
|
+
'subagent-models set reads {"subagent_models":[{"model","criteria","reasoning_effort","default"}]} (max 16) from stdin.'
|
|
38
44
|
].join('\n');
|
|
39
45
|
}
|
|
40
46
|
export async function run(_command, args = []) {
|
|
@@ -120,6 +126,39 @@ async function parseInvocation(args, io) {
|
|
|
120
126
|
? { operation: 'auth-priority.status' }
|
|
121
127
|
: { operation: 'auth-priority.set', enabled: action === 'on' }, label: 'Codex-LB authentication priority' };
|
|
122
128
|
}
|
|
129
|
+
if (area === 'openrouter-only' && target === undefined && (action === 'status' || action === 'on' || action === 'off')) {
|
|
130
|
+
if (action === 'status') {
|
|
131
|
+
allowOnly(parsed, ['--json'], []);
|
|
132
|
+
return { ...base, request: { operation: 'openrouter-only.status' }, label: 'OpenRouter Only Mode' };
|
|
133
|
+
}
|
|
134
|
+
allowOnly(parsed, ['--json', '--no-restart'], []);
|
|
135
|
+
return {
|
|
136
|
+
...base,
|
|
137
|
+
request: { operation: 'openrouter-only.set', enabled: action === 'on', no_restart: parsed.flags.has('--no-restart') },
|
|
138
|
+
label: 'OpenRouter Only Mode'
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
if (area === 'subagent-models' && target === undefined) {
|
|
142
|
+
if (action === 'list') {
|
|
143
|
+
allowOnly(parsed, ['--json'], []);
|
|
144
|
+
return { ...base, request: { operation: 'subagent-models.list' }, label: 'Subagent model list' };
|
|
145
|
+
}
|
|
146
|
+
if (action === 'set') {
|
|
147
|
+
allowOnly(parsed, ['--json', '--stdin', '--no-restart'], []);
|
|
148
|
+
if (!parsed.flags.has('--stdin')) {
|
|
149
|
+
throw new BridgeCliError('bridge_subagent_models_stdin_required', 'retry_with_stdin');
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
...base,
|
|
153
|
+
request: {
|
|
154
|
+
operation: 'subagent-models.set',
|
|
155
|
+
subagent_models: subagentModelsFromStdin(await io.readStdin()),
|
|
156
|
+
no_restart: parsed.flags.has('--no-restart')
|
|
157
|
+
},
|
|
158
|
+
label: 'Subagent model list update'
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
}
|
|
123
162
|
if (area === 'status' && action === undefined) {
|
|
124
163
|
allowOnly(parsed, ['--json'], []);
|
|
125
164
|
return { ...base, request: { operation: 'status' }, label: 'Desktop Bridge status' };
|
|
@@ -318,6 +357,27 @@ function parseArgs(args) {
|
|
|
318
357
|
}
|
|
319
358
|
return { positionals, flags, values };
|
|
320
359
|
}
|
|
360
|
+
function subagentModelsFromStdin(text) {
|
|
361
|
+
const raw = String(text || '').trim();
|
|
362
|
+
if (!raw)
|
|
363
|
+
throw new BridgeCliError('bridge_subagent_models_stdin_empty', 'retry_with_stdin');
|
|
364
|
+
if (Buffer.byteLength(raw, 'utf8') > MAX_STDIN_JSON_BYTES) {
|
|
365
|
+
throw new BridgeCliError('bridge_subagent_models_stdin_too_large', 'retry_with_stdin');
|
|
366
|
+
}
|
|
367
|
+
let parsed;
|
|
368
|
+
try {
|
|
369
|
+
parsed = JSON.parse(raw);
|
|
370
|
+
}
|
|
371
|
+
catch {
|
|
372
|
+
throw new BridgeCliError('bridge_subagent_models_stdin_invalid_json', 'retry_with_stdin');
|
|
373
|
+
}
|
|
374
|
+
const models = parsed && typeof parsed === 'object' && !Array.isArray(parsed)
|
|
375
|
+
? parsed.subagent_models
|
|
376
|
+
: undefined;
|
|
377
|
+
if (!Array.isArray(models))
|
|
378
|
+
throw new BridgeCliError('bridge_subagent_models_stdin_invalid', 'retry_with_stdin');
|
|
379
|
+
return models;
|
|
380
|
+
}
|
|
321
381
|
function rejectSecretArgv(args) {
|
|
322
382
|
for (const arg of args) {
|
|
323
383
|
const option = String(arg).split('=', 1)[0]?.toLowerCase() || '';
|
|
@@ -38,7 +38,10 @@ export async function run(_command, args = []) {
|
|
|
38
38
|
}
|
|
39
39
|
console.log(`Codex 1M Context: ${result.enabled ? 'enabled' : 'disabled'}`);
|
|
40
40
|
console.log(`Config: ${result.config_path}`);
|
|
41
|
-
|
|
41
|
+
const window = result.model_window;
|
|
42
|
+
console.log(`Model: ${result.model || 'not set'}${window.effective_window ? ` · window ${window.effective_window} (default ${window.default_window ?? 'unknown'}, max ${window.max_window ?? 'uncapped'})` : ' · window unknown'}`);
|
|
43
|
+
if (result.larger_window_models.length)
|
|
44
|
+
console.log(`Models with a larger window: ${result.larger_window_models.join(', ')}`);
|
|
42
45
|
for (const [key, target] of Object.entries(result.target)) {
|
|
43
46
|
const state = result.keys[key];
|
|
44
47
|
const detail = state?.present ? `${state.value ?? 'unparsed'}${state.managed ? ' (SKS-managed)' : ''}` : 'not set';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { runDecisionCommand
|
|
1
|
+
import { runDecisionCommand } from '../core/decisions/cli.js';
|
|
2
2
|
export { UsageError, parseDecisionArgs, runDecisionCommand, usage } from '../core/decisions/cli.js';
|
|
3
3
|
export async function run(_command, args = []) {
|
|
4
4
|
const code = await runDecisionCommand(args);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { flag } from '../cli/args.js';
|
|
2
|
-
import { projectRoot,
|
|
2
|
+
import { projectRoot, nowIso } from '../core/fsx.js';
|
|
3
3
|
import { normalizeInstallScope } from '../core/init.js';
|
|
4
4
|
import { appendMigrationEvents, hashConfigText } from '../core/migration/migration-transaction-journal.js';
|
|
5
5
|
import { inspectSksMenuBarStatus, sksMenuBarPaths, sksMenuBarRestartDeferred } from '../core/codex-app/menubar/index.js';
|
|
@@ -205,25 +205,6 @@ export async function writeFixMigrationJournal(root, preFix, configRepair, setup
|
|
|
205
205
|
return null;
|
|
206
206
|
return appendMigrationEvents(root, events);
|
|
207
207
|
}
|
|
208
|
-
async function backupProjectConfigBeforeFix() {
|
|
209
|
-
try {
|
|
210
|
-
const fsp = await import('node:fs/promises');
|
|
211
|
-
const path = await import('node:path');
|
|
212
|
-
const root = await projectRoot();
|
|
213
|
-
if (!root)
|
|
214
|
-
return null;
|
|
215
|
-
const configPath = path.join(root, '.codex', 'config.toml');
|
|
216
|
-
if (!(await exists(configPath)))
|
|
217
|
-
return null;
|
|
218
|
-
const text = await fsp.readFile(configPath, 'utf8');
|
|
219
|
-
const backupPath = `${configPath}.doctor-pre-fix-${Date.now().toString(36)}.bak`;
|
|
220
|
-
await fsp.writeFile(backupPath, text);
|
|
221
|
-
return backupPath;
|
|
222
|
-
}
|
|
223
|
-
catch {
|
|
224
|
-
return null;
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
208
|
export function installScopeFromArgs(args = []) {
|
|
228
209
|
if (flag(args, '--project'))
|
|
229
210
|
return 'project';
|
package/dist/commands/doctor.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import os from 'node:os';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import { projectRoot, exists, formatBytes, nowIso,
|
|
3
|
+
import { projectRoot, exists, formatBytes, nowIso, writeJsonAtomic } from '../core/fsx.js';
|
|
4
4
|
import { flag } from '../cli/args.js';
|
|
5
5
|
import { printJson } from '../cli/output.js';
|
|
6
6
|
import { ui as cliUi } from '../cli/cli-theme.js';
|
|
@@ -25,11 +25,10 @@ import { isUpdateMigrationReceiptCurrent, projectUpdateMigrationReceiptPath, wri
|
|
|
25
25
|
import { inspectSksMenuBarStatus, installSksMenuBar, sksMenuBarRestartDeferred } from '../core/codex-app/menubar/index.js';
|
|
26
26
|
import { sweepSksTempDirs } from '../core/retention.js';
|
|
27
27
|
import { detectImagegenCapability } from '../core/imagegen/imagegen-capability.js';
|
|
28
|
-
import { CURRENT_CODEX_RUNTIME_CONTRACT } from '../core/codex-compat/codex-runtime-contract.js';
|
|
29
28
|
import { formatHarnessConflictReport, scanHarnessConflicts } from '../core/harness-conflicts.js';
|
|
30
29
|
import { doctorArgWarnings as baseDoctorArgWarnings, doctorGlobalOnlySelection, doctorMenuBarInstallPolicy, doctorPhaseIdsForProfile, doctorProfileFromArgs, doctorProfileRequiresDesktopBridgeReadiness } from './doctor-profile.js';
|
|
31
30
|
import { renderDoctorConsoleReport } from './doctor-console.js';
|
|
32
|
-
import { buildCodexAppUiDiagnosticFailure, buildRuntimeReadiness, captureCodexConfigSnapshot, deferredNativeRepair,
|
|
31
|
+
import { buildCodexAppUiDiagnosticFailure, buildRuntimeReadiness, captureCodexConfigSnapshot, deferredNativeRepair, fallbackCodexNativeFeatureMatrix, formatCodexDoctorConsoleStatus, installScopeFromArgs, isMigrationUserOwnedProjectConfigBlocker, mergeObservedCodexStartupWarnings, readOption, rebootstrapSksMenuBarLaunchdForDoctorFix, sksMenuBarRunningVersionConsoleLines, writeFixMigrationJournal, writeJsonReportFile } from './doctor-helpers.js';
|
|
33
32
|
export { doctorMenuBarInstallPolicy, doctorProfileFromArgs, doctorProfileRequiresDesktopBridgeReadiness } from './doctor-profile.js';
|
|
34
33
|
export { buildCodexAppUiDiagnosticFailure, buildRuntimeReadiness, formatCodexDoctorConsoleStatus, rebootstrapSksMenuBarLaunchdForDoctorFix, sksMenuBarRunningVersionConsoleLines };
|
|
35
34
|
export function doctorArgWarnings(args = []) {
|
|
@@ -582,7 +581,6 @@ async function runDoctor(args = [], root, doctorFix, deps = {}) {
|
|
|
582
581
|
const requireActualCodexProbe = flag(args, '--require-actual-codex') || (deepDiagnostics && doctorFix);
|
|
583
582
|
const shouldEvaluateCodexAppUiRepair = doctorFix || deepDiagnostics || flag(args, '--repair-codex-app-ui');
|
|
584
583
|
const nativeCapabilityDiagnosticsRequested = deepDiagnostics || flag(args, '--repair-native-capabilities');
|
|
585
|
-
const requireLegacyGlobalHookCleanup = doctorFix && doctorProfile === 'migration';
|
|
586
584
|
const migrationReceiptOwnsReconcile = doctorFix && doctorProfile === 'migration';
|
|
587
585
|
const doctorPhaseIds = doctorPhaseIdsForProfile(doctorProfile);
|
|
588
586
|
const { runDoctorCommandAliasCleanup } = await import('../core/doctor/command-alias-cleanup.js');
|
|
@@ -654,8 +652,7 @@ async function runDoctor(args = [], root, doctorFix, deps = {}) {
|
|
|
654
652
|
fix: nativeCapabilityDiagnosticsRequested && doctorFix,
|
|
655
653
|
yes: flag(args, '--yes') || flag(args, '-y'),
|
|
656
654
|
flags: args.map((arg) => String(arg)),
|
|
657
|
-
skipNativeCapabilities: !nativeCapabilityDiagnosticsRequested
|
|
658
|
-
requireLegacyGlobalHookCleanup
|
|
655
|
+
skipNativeCapabilities: !nativeCapabilityDiagnosticsRequested
|
|
659
656
|
}).catch((err) => ({
|
|
660
657
|
schema: 'sks.doctor-native-capability-repair.v1',
|
|
661
658
|
ok: false,
|
|
@@ -665,19 +662,13 @@ async function runDoctor(args = [], root, doctorFix, deps = {}) {
|
|
|
665
662
|
core_skills: null,
|
|
666
663
|
skill_dedupe: null,
|
|
667
664
|
native_capabilities: null,
|
|
668
|
-
|
|
669
|
-
ok: false,
|
|
670
|
-
blockers: [`cleanup_failed_before_report:${err?.message || String(err)}`],
|
|
671
|
-
warnings: []
|
|
672
|
-
},
|
|
665
|
+
sks_codex_hooks: null,
|
|
673
666
|
secret_preservation_guard: '.sneakoscope/reports/secret-preservation-guard.json',
|
|
674
667
|
core_blockers: [err?.message || String(err)],
|
|
675
668
|
route_blockers: {},
|
|
676
669
|
optional_manual_required: [],
|
|
677
670
|
optional_warnings: [],
|
|
678
|
-
required_blockers:
|
|
679
|
-
? [`legacy_global_hooks:cleanup_failed_before_report:${err?.message || String(err)}`]
|
|
680
|
-
: [],
|
|
671
|
+
required_blockers: [],
|
|
681
672
|
blockers: [err?.message || String(err)]
|
|
682
673
|
}));
|
|
683
674
|
const configProbeOpts = {
|
|
@@ -901,13 +892,11 @@ async function runDoctor(args = [], root, doctorFix, deps = {}) {
|
|
|
901
892
|
const hookTrustRepair = doctorFix
|
|
902
893
|
&& !migrationReceiptOwnsReconcile
|
|
903
894
|
&& doctorPhaseIds.includes('hook_trust_repair')
|
|
904
|
-
? await (await import('../core/codex-hooks/codex-
|
|
905
|
-
schema: 'sks.codex-hook-
|
|
895
|
+
? await (await import('../core/codex-hooks/codex-project-hooks.js')).activateSksCodexHooks({ root }).catch((err) => ({
|
|
896
|
+
schema: 'sks.codex-hook-activation.v1',
|
|
906
897
|
ok: false,
|
|
907
|
-
actual: true,
|
|
908
898
|
blockers: [`hook_trust_repair_failed:${err?.message || String(err)}`],
|
|
909
|
-
warnings: []
|
|
910
|
-
repair_actions: ['sks codex trust-doctor --fix --managed --actual']
|
|
899
|
+
warnings: []
|
|
911
900
|
}))
|
|
912
901
|
: null;
|
|
913
902
|
const doctorFixTransaction = doctorFix
|
|
@@ -1014,7 +1003,7 @@ async function runDoctor(args = [], root, doctorFix, deps = {}) {
|
|
|
1014
1003
|
warnings: hookTrustRepair?.warnings || [],
|
|
1015
1004
|
rollback_evidence: migrationReceiptOwnsReconcile
|
|
1016
1005
|
? 'project_migration_receipt_owns_hook_trust_refresh'
|
|
1017
|
-
: hookTrustRepair?.
|
|
1006
|
+
: hookTrustRepair?.global?.hooks_path || 'codex_hook_trust_repair_idempotent'
|
|
1018
1007
|
})
|
|
1019
1008
|
},
|
|
1020
1009
|
{
|
|
@@ -1384,7 +1373,6 @@ async function runDoctor(args = [], root, doctorFix, deps = {}) {
|
|
|
1384
1373
|
doctor_fix_postcheck: doctorFixPostcheck,
|
|
1385
1374
|
command_aliases: migrationReceiptOwnsReconcile ? commandAliasCleanupBeforeReceipt : undefined,
|
|
1386
1375
|
doctor_native_capability: doctorNativeCapabilityRepair,
|
|
1387
|
-
require_legacy_global_hook_cleanup: requireLegacyGlobalHookCleanup,
|
|
1388
1376
|
require_legacy_generation_convergence: doctorFix && !migrationReceiptOwnsReconcile,
|
|
1389
1377
|
skills: skillsReconcile,
|
|
1390
1378
|
agent_role_config: agentRoleConfigRepair,
|
package/dist/commands/hook.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { emitHook } from '../core/hooks-runtime.js';
|
|
2
|
+
import { hookLayerFromArgs } from '../core/hooks-runtime/hook-layer.js';
|
|
2
3
|
export async function run(_command, args = []) {
|
|
3
|
-
const [name = 'user-prompt-submit'] = args;
|
|
4
|
-
return emitHook(name);
|
|
4
|
+
const [name = 'user-prompt-submit', ...rest] = args;
|
|
5
|
+
return emitHook(name, { layer: hookLayerFromArgs(rest) });
|
|
5
6
|
}
|
|
@@ -212,9 +212,6 @@ export function sanitizeHostCapabilityPostToolUse(payload) {
|
|
|
212
212
|
artifacts
|
|
213
213
|
};
|
|
214
214
|
}
|
|
215
|
-
export function mergeHostCapabilityPreToolObservation(input) {
|
|
216
|
-
return authorizeAndMergeHostCapabilityPreToolObservation(input).observations;
|
|
217
|
-
}
|
|
218
215
|
export function authorizeAndMergeHostCapabilityPreToolObservation(input) {
|
|
219
216
|
const current = normalizeHostCapabilityHookObservations(input.current, input.binding)
|
|
220
217
|
|| emptyHookObservations(input.binding);
|
|
@@ -22,7 +22,6 @@ export async function buildAgentCodexCockpitState(missionDir, opts = {}) {
|
|
|
22
22
|
const roster = await readJson(path.join(root, 'agent-roster.json'), null);
|
|
23
23
|
const leases = await readJson(path.join(root, 'agent-leases.json'), null);
|
|
24
24
|
const proof = await readJson(path.join(root, 'agent-proof-evidence.json'), null);
|
|
25
|
-
const consensus = await readJson(path.join(root, 'agent-consensus.json'), null);
|
|
26
25
|
const cleanup = await readJson(path.join(root, 'agent-cleanup.json'), null);
|
|
27
26
|
const janitor = await readJson(path.join(root, 'agent-janitor-report.json'), null);
|
|
28
27
|
const namespace = await readJson(path.join(missionDir, 'project-session-namespace.json'), null);
|
|
@@ -13,7 +13,7 @@ import { writeAgentProofEvidence } from './agent-proof-evidence.js';
|
|
|
13
13
|
import { selectRouteSkill, skillProofRecord } from '../skills/core-skill-runtime.js';
|
|
14
14
|
import { routeSkillId } from '../skills/core-skill-card.js';
|
|
15
15
|
import { loadTriWikiRuntimeContext, writeTriWikiContextArtifact } from '../triwiki-runtime.js';
|
|
16
|
-
import {
|
|
16
|
+
import { MAX_AGENT_COUNT, normalizeAgentBackend } from './agent-schema.js';
|
|
17
17
|
import { PersistentAgentPatchQueueStore } from './agent-patch-queue-store.js';
|
|
18
18
|
import { applyAgentPatchQueueEntry, rollbackAgentPatchApply } from './agent-patch-apply-worker.js';
|
|
19
19
|
import { coordinateAgentPatchMerge, writeAgentMergeCoordinatorArtifacts } from './agent-merge-coordinator.js';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import fs from 'node:fs/promises';
|
|
2
1
|
import path from 'node:path';
|
|
3
|
-
import { appendJsonl,
|
|
2
|
+
import { appendJsonl, nowIso, readText, writeJsonAtomic } from '../fsx.js';
|
|
4
3
|
export const AGENT_PATCH_TRANSACTION_JOURNAL_SCHEMA = 'sks.agent-patch-transaction-journal.v1';
|
|
5
4
|
export const AGENT_PATCH_TRANSACTION_JOURNAL_ARTIFACT = 'agent-patch-transaction-journal.jsonl';
|
|
6
5
|
export const AGENT_PATCH_TRANSACTION_JOURNAL_SUMMARY_ARTIFACT = 'agent-patch-transaction-journal-summary.json';
|
|
@@ -95,17 +94,3 @@ export async function summarizeAgentPatchTransactionJournal(artifactDir) {
|
|
|
95
94
|
blockers
|
|
96
95
|
};
|
|
97
96
|
}
|
|
98
|
-
export async function hashFilesForJournal(root, files) {
|
|
99
|
-
const out = {};
|
|
100
|
-
for (const file of [...new Set(files.map(normalizeRelPath).filter(Boolean))].sort()) {
|
|
101
|
-
const absolute = path.resolve(root, file);
|
|
102
|
-
if (!absolute.startsWith(path.resolve(root) + path.sep))
|
|
103
|
-
continue;
|
|
104
|
-
out[file] = await exists(absolute) ? sha256(await fs.readFile(absolute)) : 'missing';
|
|
105
|
-
}
|
|
106
|
-
return out;
|
|
107
|
-
}
|
|
108
|
-
function normalizeRelPath(value) {
|
|
109
|
-
const normalized = path.posix.normalize(String(value || '').replace(/\\/g, '/').replace(/^\.\/+/, ''));
|
|
110
|
-
return normalized === '.' ? '' : normalized;
|
|
111
|
-
}
|
|
@@ -7,7 +7,6 @@ const OFFICIAL_SUBAGENT_ROUTE_KEYS = new Set([
|
|
|
7
7
|
'work', '$work'
|
|
8
8
|
]);
|
|
9
9
|
const EXPLICIT_SUBAGENT_RE = /\$(Naruto|Work)\b/i;
|
|
10
|
-
const PARALLELIZABLE_RE = /\b(parallel|subagents?|fan out|one agent per|independent|disjoint|multiple files|all files)\b|병렬|하위\s*에이전트|서브\s*에이전트|독립|분리된|여러\s*파일|모든\s*파일|분담/i;
|
|
11
10
|
function routeKey(route) {
|
|
12
11
|
return String(route?.id || route?.command || route?.name || route || '').trim().toLowerCase();
|
|
13
12
|
}
|
|
@@ -101,9 +100,6 @@ function capacityOptions(options) {
|
|
|
101
100
|
['marginalUsefulThroughputPositive', options.marginalUsefulThroughputPositive]
|
|
102
101
|
].filter(([, value]) => value !== undefined));
|
|
103
102
|
}
|
|
104
|
-
export function explicitlyParallelizable(prompt) {
|
|
105
|
-
return PARALLELIZABLE_RE.test(String(prompt || ''));
|
|
106
|
-
}
|
|
107
103
|
function taskProfile(value, task) {
|
|
108
104
|
return isTaskProfile(value) ? value : classifyTaskProfile(task);
|
|
109
105
|
}
|