session-orchestrator 5.2.0 → 5.4.0
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/.agents/skills/architecture/SKILL.md +3 -1
- package/.agents/skills/autopilot/SKILL.md +5 -1
- package/.agents/skills/autopilot/agents/openai.yaml +5 -0
- package/.agents/skills/bootstrap/SKILL.md +5 -1
- package/.agents/skills/bootstrap/agents/openai.yaml +5 -0
- package/.agents/skills/brainstorm/SKILL.md +5 -1
- package/.agents/skills/brainstorm/agents/openai.yaml +5 -0
- package/.agents/skills/claude-md-drift-check/SKILL.md +4 -2
- package/.agents/skills/close/SKILL.md +5 -1
- package/.agents/skills/close/agents/openai.yaml +5 -0
- package/.agents/skills/convergence-monitoring/SKILL.md +4 -2
- package/.agents/skills/debug/SKILL.md +5 -1
- package/.agents/skills/debug/agents/openai.yaml +5 -0
- package/.agents/skills/discovery/SKILL.md +5 -1
- package/.agents/skills/discovery/agents/openai.yaml +5 -0
- package/.agents/skills/dispatcher/SKILL.md +5 -1
- package/.agents/skills/dispatcher/agents/openai.yaml +5 -0
- package/.agents/skills/docs-orchestrator/SKILL.md +3 -1
- package/.agents/skills/ecosystem-health/SKILL.md +3 -1
- package/.agents/skills/eli5/SKILL.md +5 -1
- package/.agents/skills/eli5/agents/openai.yaml +5 -0
- package/.agents/skills/eval/SKILL.md +6 -2
- package/.agents/skills/eval/agents/openai.yaml +5 -0
- package/.agents/skills/evolve/SKILL.md +6 -2
- package/.agents/skills/evolve/agents/openai.yaml +5 -0
- package/.agents/skills/frontmatter-guard/SKILL.md +3 -1
- package/.agents/skills/gitlab-ops/SKILL.md +3 -1
- package/.agents/skills/gitlab-portfolio/SKILL.md +3 -1
- package/.agents/skills/go/SKILL.md +5 -1
- package/.agents/skills/go/agents/openai.yaml +5 -0
- package/.agents/skills/grill/SKILL.md +5 -1
- package/.agents/skills/grill/agents/openai.yaml +5 -0
- package/.agents/skills/harness-audit/SKILL.md +5 -1
- package/.agents/skills/harness-audit/agents/openai.yaml +5 -0
- package/.agents/skills/hook-development/SKILL.md +3 -1
- package/.agents/skills/mcp-builder/SKILL.md +3 -1
- package/.agents/skills/memory-cleanup/SKILL.md +5 -1
- package/.agents/skills/memory-cleanup/agents/openai.yaml +5 -0
- package/.agents/skills/mode-selector/SKILL.md +3 -1
- package/.agents/skills/navigator/SKILL.md +22 -0
- package/.agents/skills/navigator/agents/openai.yaml +5 -0
- package/.agents/skills/npm-publish/SKILL.md +4 -2
- package/.agents/skills/peekaboo-driver/SKILL.md +3 -1
- package/.agents/skills/persona-panel/SKILL.md +5 -1
- package/.agents/skills/persona-panel/agents/openai.yaml +5 -0
- package/.agents/skills/plan/SKILL.md +5 -1
- package/.agents/skills/plan/agents/openai.yaml +5 -0
- package/.agents/skills/playwright-driver/SKILL.md +3 -1
- package/.agents/skills/portfolio/SKILL.md +5 -1
- package/.agents/skills/portfolio/agents/openai.yaml +5 -0
- package/.agents/skills/quality-gates/SKILL.md +3 -1
- package/.agents/skills/reconcile/SKILL.md +5 -1
- package/.agents/skills/reconcile/agents/openai.yaml +5 -0
- package/.agents/skills/release/SKILL.md +5 -1
- package/.agents/skills/release/agents/openai.yaml +5 -0
- package/.agents/skills/remote-offload/SKILL.md +3 -1
- package/.agents/skills/repo-audit/SKILL.md +5 -1
- package/.agents/skills/repo-audit/agents/openai.yaml +5 -0
- package/.agents/skills/session/SKILL.md +21 -0
- package/.agents/skills/session/agents/openai.yaml +5 -0
- package/.agents/skills/session-end/SKILL.md +3 -1
- package/.agents/skills/session-plan/SKILL.md +3 -1
- package/.agents/skills/session-start/SKILL.md +3 -1
- package/.agents/skills/spinout/SKILL.md +5 -1
- package/.agents/skills/spinout/agents/openai.yaml +5 -0
- package/.agents/skills/sunset-review/SKILL.md +5 -1
- package/.agents/skills/sunset-review/agents/openai.yaml +5 -0
- package/.agents/skills/templates-ack/SKILL.md +21 -0
- package/.agents/skills/templates-ack/agents/openai.yaml +5 -0
- package/.agents/skills/test/SKILL.md +5 -1
- package/.agents/skills/test/agents/openai.yaml +5 -0
- package/.agents/skills/test-audit/SKILL.md +21 -0
- package/.agents/skills/test-audit/agents/openai.yaml +5 -0
- package/.agents/skills/test-runner/SKILL.md +3 -1
- package/.agents/skills/tmux-layout/SKILL.md +3 -1
- package/.agents/skills/using-orchestrator/SKILL.md +3 -1
- package/.agents/skills/ux-grill/SKILL.md +5 -1
- package/.agents/skills/ux-grill/agents/openai.yaml +5 -0
- package/.agents/skills/vault-mirror/SKILL.md +3 -1
- package/.agents/skills/vault-sync/SKILL.md +3 -1
- package/.agents/skills/wave-executor/SKILL.md +3 -1
- package/.agents/skills/write-executable-plan/SKILL.md +3 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +4 -4
- package/.codex-plugin/skills/claude-md-drift-check/SKILL.md +1 -1
- package/.codex-plugin/skills/convergence-monitoring/SKILL.md +1 -3
- package/.codex-plugin/skills/eval/SKILL.md +1 -1
- package/.codex-plugin/skills/evolve/SKILL.md +1 -1
- package/.codex-plugin/skills/navigator/SKILL.md +22 -0
- package/.codex-plugin/skills/{convergence-monitoring → navigator}/agents/openai.yaml +2 -2
- package/.codex-plugin/skills/npm-publish/SKILL.md +1 -3
- package/.codex-plugin/skills/session/SKILL.md +1 -1
- package/.codex-plugin/skills/test-audit/SKILL.md +21 -0
- package/.codex-plugin/skills/{npm-publish → test-audit}/agents/openai.yaml +1 -1
- package/.cursor/commands/eval.md +1 -1
- package/.cursor/commands/navigator.md +15 -0
- package/.cursor/commands/session.md +1 -1
- package/.cursor/commands/test-audit.md +14 -0
- package/.cursor/rules/000-session-orchestrator.mdc +0 -2
- package/.cursor/rules/050-plan.mdc +1 -1
- package/.cursor/rules/060-evolve.mdc +27 -12
- package/.cursor/skills/claude-md-drift-check/SKILL.md +1 -1
- package/.cursor/skills/convergence-monitoring/SKILL.md +1 -0
- package/.cursor/skills/eval/SKILL.md +1 -1
- package/.cursor/skills/navigator/SKILL.md +13 -0
- package/.cursor/skills/npm-publish/SKILL.md +1 -0
- package/.cursor/skills/test-audit/SKILL.md +12 -0
- package/.cursor-plugin/plugin.json +1 -1
- package/.orchestrator/policy/blocked-commands.json +12 -3
- package/AGENTS.md +9 -30
- package/CHANGELOG.md +206 -0
- package/README.md +13 -9
- package/SECURITY.md +12 -0
- package/agents/dialectic-deriver.md +13 -10
- package/agents/eval-judge.md +67 -45
- package/agents/skill-applied-judge.md +34 -19
- package/commands/session.md +7 -3
- package/docs/agent-authoring.md +2 -2
- package/docs/baseline.md +22 -7
- package/docs/ci-setup.md +57 -4
- package/docs/codex-setup.md +14 -2
- package/docs/components.md +12 -10
- package/docs/events-schema.md +65 -15
- package/docs/persona-panel.md +5 -4
- package/docs/rule-authoring.md +84 -17
- package/docs/scope-collision-guard.md +26 -4
- package/docs/session-config-reference.md +154 -12
- package/docs/session-config-template.md +41 -3
- package/docs/telemetry.md +2 -0
- package/hooks/_lib/hook-import-set.json +87 -6
- package/hooks/_lib/subagent-transcript.mjs +582 -31
- package/hooks/config-protection.mjs +11 -3
- package/hooks/cwd-change-restore.mjs +11 -3
- package/hooks/enforce-commands.mjs +70 -23
- package/hooks/enforce-scope.mjs +143 -33
- package/hooks/hooks-codex.json +1 -1
- package/hooks/hooks-cursor.json +5 -0
- package/hooks/hooks-pi.json +5 -0
- package/hooks/hooks.json +6 -1
- package/hooks/loop-guard.mjs +11 -3
- package/hooks/on-session-end.mjs +58 -23
- package/hooks/on-session-start.mjs +101 -11
- package/hooks/on-stop.mjs +170 -22
- package/hooks/operator-steer.mjs +11 -3
- package/hooks/post-bash-issue-budget-refund.mjs +18 -8
- package/hooks/post-bash-write-verify.mjs +3 -2
- package/hooks/post-edit-import-probe.mjs +17 -9
- package/hooks/post-edit-validate.mjs +13 -5
- package/hooks/post-subagent-discovery-validator.mjs +98 -13
- package/hooks/post-tool-batch-wave-signal.mjs +202 -38
- package/hooks/post-tool-failure-corrective-context.mjs +11 -5
- package/hooks/post-tooluse-frontend-slop.mjs +10 -4
- package/hooks/pre-auq-clarity.mjs +15 -2
- package/hooks/pre-bash-destructive-guard.mjs +80 -9
- package/hooks/pre-bash-issue-budget.mjs +16 -11
- package/hooks/pre-bash-memory-propose-audit.mjs +137 -56
- package/hooks/pre-bash-sessions-ledger-guard.mjs +419 -22
- package/hooks/pre-bash-staging-fence.mjs +335 -31
- package/hooks/pre-bash-templates-first.mjs +19 -14
- package/hooks/pre-edit-sessions-ledger-guard.mjs +162 -0
- package/hooks/pre-task-scope-disjoint.mjs +792 -74
- package/hooks/subagent-telemetry.mjs +111 -38
- package/hooks/wave-scope-commit-guard.mjs +197 -100
- package/monitors/monitors.json +1 -1
- package/output-styles/wave-summary.md +1 -1
- package/package.json +3 -3
- package/pi/prompts/eval.md +1 -1
- package/pi/prompts/navigator.md +12 -0
- package/pi/prompts/session.md +1 -1
- package/pi/prompts/test-audit.md +12 -0
- package/rules/README.md +7 -2
- package/rules/_index.md +3 -3
- package/rules/always-on/bash-harness-pitfalls.md +7 -1
- package/rules/opt-in-domain/prompt-caching.md +6 -2
- package/rules/opt-in-stack/backend-data.md +10 -2
- package/rules/opt-in-stack/backend.md +10 -4
- package/rules/opt-in-stack/frontend.md +7 -2
- package/rules/opt-in-stack/security-web.md +10 -4
- package/rules/opt-in-stack/swift.md +6 -2
- package/scripts/apply-session-learnings.mjs +492 -0
- package/scripts/archive-closed-prds.mjs +2 -1
- package/scripts/autopilot.mjs +70 -53
- package/scripts/backfill-abandoned-sessions.mjs +118 -16
- package/scripts/baseline-archetypes.mjs +1 -1
- package/scripts/check-package-manager.mjs +62 -5
- package/scripts/check-sessions-integrity.mjs +300 -0
- package/scripts/cursor-install.mjs +1 -4
- package/scripts/dialectic-deriver.mjs +50 -13
- package/scripts/emit-session.mjs +371 -31
- package/scripts/eval-session.mjs +65 -3
- package/scripts/export-hw-learnings.mjs +22 -3
- package/scripts/fleet-checkin.mjs +147 -0
- package/scripts/generate-agents-skills.mjs +102 -29
- package/scripts/generate-cursor-adapter.mjs +61 -16
- package/scripts/lib/agent-frontmatter.mjs +3 -3
- package/scripts/lib/agent-status.mjs +2 -31
- package/scripts/lib/auq/clarity.mjs +10 -2
- package/scripts/lib/auq/parse.mjs +12 -31
- package/scripts/lib/auq/schema.mjs +56 -41
- package/scripts/lib/auto-dialectic.mjs +304 -15
- package/scripts/lib/auto-dream.mjs +7 -6
- package/scripts/lib/autopilot/flags.mjs +18 -2
- package/scripts/lib/autopilot/kill-switches.mjs +6 -3
- package/scripts/lib/autopilot/loop.mjs +19 -2
- package/scripts/lib/autopilot/stall-sampler.mjs +80 -23
- package/scripts/lib/baseline-archetypes.mjs +41 -22
- package/scripts/lib/ci-status-banner.mjs +376 -16
- package/scripts/lib/command-blocker.mjs +275 -28
- package/scripts/lib/config/dialectic.mjs +12 -3
- package/scripts/lib/config/gate.mjs +74 -0
- package/scripts/lib/config/host-paths.mjs +79 -0
- package/scripts/lib/config/persona-gate-wave.mjs +3 -3
- package/scripts/lib/config/reaper.mjs +163 -0
- package/scripts/lib/config-schema.mjs +13 -0
- package/scripts/lib/config.mjs +85 -10
- package/scripts/lib/convergence-monitor.mjs +74 -11
- package/scripts/lib/ecosystem-health.mjs +11 -0
- package/scripts/lib/eval/engine.mjs +421 -53
- package/scripts/lib/eval/judge.mjs +463 -40
- package/scripts/lib/eval/schema.mjs +10 -1
- package/scripts/lib/events-rotation.mjs +221 -25
- package/scripts/lib/events-schema.mjs +114 -0
- package/scripts/lib/events.mjs +545 -7
- package/scripts/lib/fleet-protocol.mjs +270 -0
- package/scripts/lib/frontmatter-guard.mjs +21 -10
- package/scripts/lib/gates/gate-baseline.mjs +40 -5
- package/scripts/lib/gates/gate-full.mjs +35 -5
- package/scripts/lib/gates/gate-helpers.mjs +336 -23
- package/scripts/lib/gates/gate-incremental.mjs +49 -23
- package/scripts/lib/gates/gate-per-file.mjs +42 -8
- package/scripts/lib/gitlab-portfolio/markdown-writer.mjs +6 -1
- package/scripts/lib/instruction-budget-guard.mjs +208 -8
- package/scripts/lib/io.mjs +42 -8
- package/scripts/lib/issue-close-strip-labels.mjs +207 -49
- package/scripts/lib/js-mask.mjs +197 -0
- package/scripts/lib/learnings/evolve-telemetry.mjs +11 -7
- package/scripts/lib/learnings/expiry-sweep.mjs +34 -3
- package/scripts/lib/learnings/io.mjs +154 -26
- package/scripts/lib/learnings/schema.mjs +163 -15
- package/scripts/lib/learnings/sizing-subject.mjs +2 -2
- package/scripts/lib/maintenance-due-banner.mjs +53 -88
- package/scripts/lib/memory-proposals/schema.mjs +11 -5
- package/scripts/lib/named-baseline-resolver.mjs +53 -28
- package/scripts/lib/named-vault-resolver.mjs +104 -5
- package/scripts/lib/orphan-reaper/defaults.mjs +41 -0
- package/scripts/lib/orphan-reaper/ps-snapshot.mjs +181 -0
- package/scripts/lib/orphan-reaper/reaper-audit.mjs +291 -0
- package/scripts/lib/orphan-reaper/reaper-decide.mjs +395 -0
- package/scripts/lib/orphan-reaper/scan-throttle.mjs +92 -0
- package/scripts/lib/orphan-reaper/scan.mjs +506 -0
- package/scripts/lib/orphan-reaper.mjs +316 -0
- package/scripts/lib/owner-yaml.mjs +104 -6
- package/scripts/lib/peer-cards/merger.mjs +48 -10
- package/scripts/lib/peer-cards/reader.mjs +78 -2
- package/scripts/lib/persona-panel/catalog-loader.mjs +1 -1
- package/scripts/lib/process-group.mjs +950 -0
- package/scripts/lib/project-hygiene.mjs +21 -1
- package/scripts/lib/quality-gate.mjs +152 -33
- package/scripts/lib/reconcile/backlog.mjs +368 -0
- package/scripts/lib/reconcile/engine.mjs +55 -188
- package/scripts/lib/reconcile/rule-expiry-sweep.mjs +302 -60
- package/scripts/lib/reconcile/sanitize.mjs +69 -3
- package/scripts/lib/reconcile-nudge-banner.mjs +138 -45
- package/scripts/lib/resource-probe/parsers.mjs +31 -0
- package/scripts/lib/resource-probe.mjs +1 -1
- package/scripts/lib/rule-loader.mjs +141 -74
- package/scripts/lib/rules-sync.mjs +27 -12
- package/scripts/lib/scope-baseline.mjs +3 -4
- package/scripts/lib/scope-echo.mjs +39 -2
- package/scripts/lib/scope-gate.mjs +605 -1
- package/scripts/lib/session-close-backfill.mjs +33 -6
- package/scripts/lib/session-id.mjs +9 -20
- package/scripts/lib/session-invocation.mjs +20 -0
- package/scripts/lib/session-record-repair.mjs +183 -26
- package/scripts/lib/session-registry.mjs +27 -2
- package/scripts/lib/session-schema/constants.mjs +56 -2
- package/scripts/lib/session-schema/normalizer.mjs +56 -4
- package/scripts/lib/session-schema/validator.mjs +28 -1
- package/scripts/lib/session-schema.mjs +8 -3
- package/scripts/lib/session-start-probes.mjs +95 -10
- package/scripts/lib/session-token-rollup.mjs +245 -52
- package/scripts/lib/sessions-canonical.mjs +118 -4
- package/scripts/lib/sessions-integrity-banner.mjs +7 -1
- package/scripts/lib/sessions-staleness-banner.mjs +193 -51
- package/scripts/lib/sh-quote.mjs +29 -0
- package/scripts/lib/skill-evidence-window.mjs +891 -0
- package/scripts/lib/skill-evolution/candidate-intake.mjs +133 -12
- package/scripts/lib/skill-evolution/engine.mjs +18 -9
- package/scripts/lib/skill-judge.mjs +45 -3
- package/scripts/lib/subagents-schema.mjs +30 -3
- package/scripts/lib/tail-window.mjs +56 -0
- package/scripts/lib/telemetry/pricing.mjs +118 -71
- package/scripts/lib/telemetry/schema.mjs +30 -0
- package/scripts/lib/telemetry/sync.mjs +61 -6
- package/scripts/lib/telemetry-flush-health-banner.mjs +4 -22
- package/scripts/lib/test-runner/issue-reconcile.mjs +48 -16
- package/scripts/lib/tests-src-ratio.mjs +140 -23
- package/scripts/lib/tmux-layout/layouts.mjs +1 -11
- package/scripts/lib/tmux-layout/telemetry-stats.mjs +72 -13
- package/scripts/lib/tmux-layout/tmux-shell.mjs +2 -11
- package/scripts/lib/user-invocable-skills.mjs +23 -3
- package/scripts/lib/ux-grill/reconcile.mjs +48 -22
- package/scripts/lib/validate/check-agents-skills.mjs +26 -15
- package/scripts/lib/validate/check-agents.mjs +1 -1
- package/scripts/lib/validate/check-cursor-adapter.mjs +1 -0
- package/scripts/lib/validate/check-entry-guard.mjs +13 -50
- package/scripts/lib/validate/check-hook-entry-guards.mjs +636 -0
- package/scripts/lib/validate/check-hooks-symmetry.mjs +5 -0
- package/scripts/lib/validate/check-learnings-shell-writes.mjs +214 -0
- package/scripts/lib/validate/check-pi-prompts.mjs +1 -0
- package/scripts/lib/validate/check-rules.mjs +7 -5
- package/scripts/lib/validate/check-skill-links.mjs +9 -1
- package/scripts/lib/validate/check-skill-script-paths.mjs +239 -27
- package/scripts/lib/validate/check-test-git-config-target.mjs +24 -34
- package/scripts/lib/validate/check-test-value-bans.mjs +87 -14
- package/scripts/lib/validate/check-unicode-safety.mjs +1 -0
- package/scripts/lib/validate/check-untracked-test-deps.mjs +7 -102
- package/scripts/lib/validate/check-unwired-features.mjs +130 -27
- package/scripts/lib/validate/check-validator-registration.mjs +34 -10
- package/scripts/lib/validate/confidential-names.mjs +10 -0
- package/scripts/lib/validate-vendored-rules.mjs +210 -84
- package/scripts/lib/vault-mirror/namespace.mjs +46 -8
- package/scripts/lib/vault-mirror/process.mjs +10 -3
- package/scripts/lib/vault-mirror/render-sessions.mjs +12 -2
- package/scripts/lib/vault-mirror/telemetry.mjs +8 -1
- package/scripts/lib/vault-status/board-writer.mjs +48 -11
- package/scripts/lib/vault-status/narrative-mirror.mjs +71 -16
- package/scripts/lib/vault-yaml.mjs +118 -0
- package/scripts/lib/wave-executor/dispatch-common.mjs +10 -18
- package/scripts/lib/wave-executor/foreign-dispatch.mjs +1 -1
- package/scripts/lib/wave-executor/remote-dispatch.mjs +1 -1
- package/scripts/lib/wave-resource-gate.mjs +34 -8
- package/scripts/lib/worktree/lifecycle.mjs +153 -1
- package/scripts/memory-propose.mjs +18 -5
- package/scripts/release-session-lock.mjs +306 -0
- package/scripts/release.mjs +40 -8
- package/scripts/repair-invalid-sessions.mjs +37 -4
- package/scripts/resolve-session-invocation.mjs +59 -0
- package/scripts/run-migrate-v2-cross-repo.mjs +158 -30
- package/scripts/run-quality-gate.mjs +357 -197
- package/scripts/site-numbers.mjs +163 -5
- package/scripts/sweep-expired-learnings.mjs +56 -5
- package/scripts/sweep-expired-rules.mjs +16 -4
- package/scripts/validate-plugin.mjs +19 -0
- package/scripts/validate-wave-scope.mjs +32 -105
- package/scripts/vault-integration-watcher.mjs +2 -1
- package/scripts/vault-mirror.mjs +81 -47
- package/scripts/wave-scope-binding.mjs +2 -1
- package/skills/_shared/config-reading.md +3 -3
- package/skills/_shared/fleet-protocol.md +131 -0
- package/skills/_shared/platform-tools.md +23 -11
- package/skills/_shared/state-ownership.md +5 -0
- package/skills/autopilot/SKILL.md +47 -18
- package/skills/bootstrap/SKILL.md +1 -1
- package/skills/bootstrap/_shared-template.md +1 -1
- package/skills/bootstrap/fast-template.md +1 -1
- package/skills/bootstrap/private-contract.md +2 -1
- package/skills/bootstrap/public-fallback.md +6 -3
- package/skills/bootstrap/references/bootstrap-retroactive-flow.md +2 -1
- package/skills/claude-md-drift-check/SKILL.md +10 -10
- package/skills/claude-md-drift-check/checker.mjs +26 -18
- package/skills/convergence-monitoring/README.md +8 -1
- package/skills/convergence-monitoring/SIGNALS.md +50 -6
- package/skills/convergence-monitoring/SKILL.md +15 -6
- package/skills/eval/SKILL.md +39 -24
- package/skills/eval/rubric-v1.md +1 -0
- package/skills/eval/rubric-v2.md +457 -0
- package/skills/evolve/SKILL.md +3 -3
- package/skills/evolve/references/evolve-analyze-mode.md +10 -6
- package/skills/evolve/references/evolve-dialectic-mode.md +42 -25
- package/skills/gitlab-ops/SKILL.md +3 -2
- package/skills/memory-cleanup/SKILL.md +1 -1
- package/skills/navigator/SKILL.md +193 -0
- package/skills/navigator/references/account-check.sh +87 -0
- package/skills/navigator/references/fleet-decisions.mjs +231 -0
- package/skills/navigator/references/slot-check.sh +114 -0
- package/skills/npm-publish/SKILL.md +1 -1
- package/skills/persona-panel/SKILL.md +2 -2
- package/skills/persona-panel/persona-format.md +2 -2
- package/skills/persona-panel/presets/designer-lens.md +1 -1
- package/skills/persona-panel/presets/engineer-lens.md +1 -1
- package/skills/persona-panel/presets/pm-lens.md +1 -1
- package/skills/plan/mode-retro.md +19 -4
- package/skills/quality-gates/SKILL.md +6 -4
- package/skills/reconcile/SKILL.md +11 -0
- package/skills/remote-offload/SKILL.md +4 -2
- package/skills/session-end/SKILL.md +13 -16
- package/skills/session-end/discovery-scan.md +1 -1
- package/skills/session-end/learning-patterns.md +22 -12
- package/skills/session-end/metrics-collection.md +5 -6
- package/skills/session-end/phase-3-6-tail.md +55 -9
- package/skills/session-end/references/phase-3-documentation-updates.md +2 -2
- package/skills/session-end/references/phase-4a-worktree-cleanup.md +2 -0
- package/skills/session-end/references/phase-5-issue-cleanup.md +9 -14
- package/skills/session-end/references/session-summary-template.md +1 -1
- package/skills/session-end/session-metrics-write.md +32 -60
- package/skills/session-plan/SKILL.md +17 -8
- package/skills/session-plan/references/session-plan-task-classification.md +2 -2
- package/skills/session-start/SKILL.md +6 -0
- package/skills/session-start/references/operations-contract.md +4 -0
- package/skills/session-start/references/phase-1-7-vault-status-board.md +1 -1
- package/skills/session-start/references/phase-4-ssot-environment-check.md +4 -3
- package/skills/test-audit/SKILL.md +152 -0
- package/skills/test-audit/references/campaign.md +111 -0
- package/skills/test-audit/references/mutate.sh +50 -0
- package/skills/ux-grill/SKILL.md +1 -1
- package/skills/wave-executor/SKILL.md +9 -5
- package/skills/wave-executor/circuit-breaker.md +2 -0
- package/skills/wave-executor/references/wave-executor-state-init.md +8 -3
- package/skills/wave-executor/references/wave-loop-dispatch.md +5 -2
- package/skills/wave-executor/references/wave-loop-review.md +3 -5
- package/templates/personas/README.md +5 -5
- package/templates/personas/accounting-compliance.v1.md +1 -1
- package/templates/personas/accounting-tax-advisor.v1.md +1 -1
- package/templates/personas/buyer-p1-cto.v1.md +1 -1
- package/templates/personas/buyer-p2-kanzlei.v1.md +1 -1
- package/templates/personas/buyer-p3-build.v1.md +1 -1
- package/templates/personas/buyer-p4-tech-veto.v1.md +1 -1
- package/templates/personas/buyer-p5-solo.v1.md +1 -1
- package/templates/personas/buyer-p6-ld.v1.md +1 -1
- package/templates/personas/klima-ai-expert.v1.md +1 -1
- package/templates/personas/klima-physicist.v1.md +1 -1
- package/.cursor/commands/convergence-monitoring.md +0 -13
- package/.cursor/commands/npm-publish.md +0 -13
- package/pi/prompts/convergence-monitoring.md +0 -11
- package/pi/prompts/npm-publish.md +0 -11
|
@@ -410,6 +410,14 @@ The gate never probes the network. Without a readiness witness no host counts as
|
|
|
410
410
|
|
|
411
411
|
Read by: `scripts/lib/config/remote-hosts.mjs`, `scripts/lib/wave-resource-gate.mjs`.
|
|
412
412
|
|
|
413
|
+
`offload-first` (#1465) makes placement the first choice instead of the answer to pressure: with `true`, an offloadable role (`test` / `ui` / `perf`) goes to the first witnessed-ready declared host even when the gate verdict is `proceed`. It needs both a `remote-hosts` entry and a readiness witness to act; without them the wave stays local and the gate names the reason.
|
|
414
|
+
|
|
415
|
+
```yaml
|
|
416
|
+
offload-first: false # true = offloadable roles go to a witnessed-ready remote host even on `proceed`
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
Read by: `scripts/lib/config.mjs`, `scripts/lib/config-schema.mjs`, `scripts/lib/wave-resource-gate.mjs`.
|
|
420
|
+
|
|
413
421
|
## Evolve Extra Sources (#638)
|
|
414
422
|
|
|
415
423
|
Opt-in EXTRA learning sources for `/evolve`. A `domain-regression` measurement (e.g. an eval-learn harness) runs OUT-OF-BAND and writes a sidecar JSON; `/evolve` then READS each declared sidecar and emits a `domain-regression` learning candidate per persistent regression flag. `/evolve` NEVER runs the measurement itself — this is a strict read-only consumption contract. Absent/empty ⇒ `[]` ⇒ no extra sources are read.
|
|
@@ -477,9 +485,11 @@ Opt-in mode for `/evolve --dialectic` and session-end Phase 3.6.7 auto-trigger.
|
|
|
477
485
|
dialectic:
|
|
478
486
|
cadence: 5 # integer ≥ 0; 0 = kill-switch (no critique dispatches)
|
|
479
487
|
model: haiku # haiku | sonnet | opus — fail-fast on unknown value
|
|
480
|
-
budget-tokens:
|
|
488
|
+
budget-tokens: 32000 # integer ≥ 0 — input token CEILING per critique call; the pre-dispatch estimate aborts above it
|
|
481
489
|
```
|
|
482
490
|
|
|
491
|
+
`32000` — card bodies + steering alone estimated ~12k tokens in this repo, a consumer repo measured 30,262 (2026-09-18); the value is a ceiling, the pre-dispatch estimate aborts above it.
|
|
492
|
+
|
|
483
493
|
Read by: `scripts/lib/config/dialectic.mjs`, `scripts/lib/auto-dialectic.mjs`, `skills/session-end/SKILL.md` Phase 3.6.7, `skills/evolve/SKILL.md` Phase 6.
|
|
484
494
|
|
|
485
495
|
## Eval (#803)
|
|
@@ -693,6 +703,8 @@ vcs: gitlab
|
|
|
693
703
|
gitlab-host: gitlab.example.com # only if remote URL doesn't expose it
|
|
694
704
|
mirror: github
|
|
695
705
|
cross-repos: []
|
|
706
|
+
cross-repo:
|
|
707
|
+
projects: [~/Projects/my-app] # block form (#469) — NOT the flat `cross-repos` above; INLINE list only
|
|
696
708
|
pencil: path/to/design.pen # design-code alignment input
|
|
697
709
|
ecosystem-health: true
|
|
698
710
|
health-endpoints: []
|
|
@@ -745,6 +757,7 @@ auto-commit-per-wave: false # opt-in: commit after each wave's Qualit
|
|
|
745
757
|
# Heavy-repo preflight & worktree hygiene (HR-003)
|
|
746
758
|
heavy-repo: false # true clamps the dispatched agent count to agents-per-wave
|
|
747
759
|
worktree-cleanup: default # default | aggressive
|
|
760
|
+
worktree-exclude: [node_modules, dist, build, .next, .nuxt, coverage, .cache, .turbo, .vercel, out] # default; top-level dirs removed from a createWorktree() worktree; null disables
|
|
748
761
|
|
|
749
762
|
# Env-aware
|
|
750
763
|
resource-awareness: true
|
|
@@ -780,6 +793,15 @@ vault-integration:
|
|
|
780
793
|
vault-name: # optional (#660) — per-project vault namespace override; null/absent → deriveRepo()
|
|
781
794
|
gitlab-groups: []
|
|
782
795
|
|
|
796
|
+
# GitLab portfolio dashboard — /portfolio (GH #41); needs vault-integration.vault-dir
|
|
797
|
+
gitlab-portfolio:
|
|
798
|
+
enabled: false # opt-in; only the literal true enables it
|
|
799
|
+
mode: warn # warn | strict | off
|
|
800
|
+
stale-days: 30 # integer ≥ 1
|
|
801
|
+
critical-labels: # BLOCK list only — an inline [a, b] is silently ignored
|
|
802
|
+
- priority::critical
|
|
803
|
+
- priority::high
|
|
804
|
+
|
|
783
805
|
# Vault mirror quality thresholds
|
|
784
806
|
vault-mirror:
|
|
785
807
|
quality:
|
|
@@ -842,7 +864,7 @@ persona-gate-wave:
|
|
|
842
864
|
after: quality # quality | impl-polish
|
|
843
865
|
threshold: all # all | any | <m>-of-<n>
|
|
844
866
|
personas: [] # persona slugs the panel dispatches
|
|
845
|
-
dispatch-model:
|
|
867
|
+
dispatch-model: opus # alias or full model ID — default 'opus'
|
|
846
868
|
mode: off # off | warn | strict — enabled: true with mode: off never fires
|
|
847
869
|
|
|
848
870
|
# Agentic test orchestrator (/test) — run profiles and artifact retention
|
|
@@ -872,6 +894,7 @@ remote-hosts:
|
|
|
872
894
|
roles-allowed: [test, ui, perf] # subset of test|ui|perf (default: all three)
|
|
873
895
|
repo-path: ~/Projects/Alice # optional SAFE path (default: null)
|
|
874
896
|
claude-path: ~/.local/bin/claude # optional SAFE path (default: null)
|
|
897
|
+
offload-first: false # #1465: true = offloadable roles go to a witnessed-ready remote host even on `proceed`
|
|
875
898
|
|
|
876
899
|
# Evolve extra-sources — opt-in EXTRA /evolve learning sources (#638)
|
|
877
900
|
evolve:
|
|
@@ -898,7 +921,7 @@ discovery-validator:
|
|
|
898
921
|
dialectic:
|
|
899
922
|
cadence: 5 # integer ≥ 0; 0 = kill-switch (no critique dispatches)
|
|
900
923
|
model: haiku # haiku | sonnet | opus — fail-fast on unknown value
|
|
901
|
-
budget-tokens:
|
|
924
|
+
budget-tokens: 32000 # integer ≥ 0 — input token ceiling per critique call (aborts above, never truncates)
|
|
902
925
|
|
|
903
926
|
# Eval — Standard v1 harness config surface (#809 / Epic #803)
|
|
904
927
|
eval:
|
|
@@ -995,6 +1018,21 @@ config-protection:
|
|
|
995
1018
|
mode: warn # warn | strict (strict blocks loosening, exit 2)
|
|
996
1019
|
allow-config-weakening: false # per-session bypass (mirrors allow-destructive-ops)
|
|
997
1020
|
|
|
1021
|
+
# Orphan-process watchdog (#1425 / #1432) — DEFAULT OFF; arm only after measuring its firing rate (HR-101)
|
|
1022
|
+
reaper:
|
|
1023
|
+
enabled: false # only an explicit `true` arms it; it can send signals to processes
|
|
1024
|
+
mode: report # report (decide + audit only) | kill (send signals — PRD Stufe 2)
|
|
1025
|
+
min-age-seconds: 300 # DevWatchdog's hard limit for tsgo; the 2026-09-20 orphans were 7–17 min old
|
|
1026
|
+
min-scan-interval-seconds: 30 # throttle; keeps a PostToolBatch storm from taxing every tool call
|
|
1027
|
+
kill-grace-ms: 10000 # DEFAULT_KILL_GRACE_MS from process-group.mjs:52 — repo convention
|
|
1028
|
+
verify-wait-ms: 500 # wait before reading the effect back (a sent signal proves nothing)
|
|
1029
|
+
max-hook-latency-ms: 50 # ceiling a scan may delay a hook by
|
|
1030
|
+
false-alarm-window: 50 # rolling window of audit decisions the HR-101 10 % rate is judged over
|
|
1031
|
+
|
|
1032
|
+
# Quality-gate path B ceiling (#1425 A3) — SO_GATE_TIMEOUT_MS still overrides this per run
|
|
1033
|
+
gate:
|
|
1034
|
+
timeout-path-b-ms: 900000 # 15 min; same cap as GATE_TIMEOUT_MS on path A
|
|
1035
|
+
|
|
998
1036
|
# Agent mapping
|
|
999
1037
|
agent-mapping:
|
|
1000
1038
|
impl: code-implementer
|
package/docs/telemetry.md
CHANGED
|
@@ -58,6 +58,7 @@ projection unit test enforces the drop of any non-whitelisted input field.
|
|
|
58
58
|
| `fleet_self_declared` | Boolean, optional — the client's own claim that this send came from an operator host. **Self-declared, and the name says so on purpose:** the authoritative classification is server-side (see below). Derived from the *resolved consent state* (`enabled-fleet` from an `owner.yaml` opt-in, or `enabled-env` from `SO_TELEMETRY=1`), no longer from a raw `owner.yaml` read. |
|
|
59
59
|
| `session_profile` | Optional — the STATE.md frontmatter `session-profile`, and **whitelisted profile names only** (today exactly `ultradeep`). Anything else — a value your repo invented, a client name, a typo — is **omitted from the ping entirely**: never sent verbatim, and never flattened to `other` either. A SECOND axis beside `session_type`, never a substitute for it: an ultradeep session is `session_type: "deep"` PLUS `session_profile: "ultradeep"`. **Absent when no profile is set or the profile is not on the whitelist** (the key is omitted, never `null`), including on derived pings, which never invent one. The whitelist is enforced twice — client-side before the send, and again server-side, which rejects a record carrying an unlisted profile rather than storing it. |
|
|
60
60
|
| `session_record` | Optional — WHICH source the session facts in this ping came from: `ledger` (a matching `sessions.jsonl` record), `derived` (reconstructed from `events.jsonl`), `absent` (neither). When `absent`, `session_type` is `unknown` and `duration_bucket` is **not a measurement**. |
|
|
61
|
+
| `ledger_complete` | Optional boolean — whether the `events.jsonl` read behind a reconstruction saw every rotation archive (`true`) or measured at least one gap (`false`, e.g. a deleted archive). A SECOND axis beside `session_record`, never a fourth provenance token: it says how whole the SOURCE was, not which source was used. **Absent when nothing was measured** — no read happened, the read threw, or the facts came straight from the ledger (that path never opens `events.jsonl`). The key is omitted, never `null` and never a stand-in `false`. |
|
|
61
62
|
| `session_type` | One of `housekeeping`, `feature`, `deep`, `other`, `unknown`. `other` means MEASURED but not one of the three modes; `unknown` means NOT MEASURED. Before 2026-09-06 both collapsed to `other`. |
|
|
62
63
|
| `duration_bucket` | One of `<15m`, `15-60m`, `1-3h`, `>3h` — a coarse bucket, never an exact duration. |
|
|
63
64
|
| `skills[]` | Names of invoked skills, filtered against the shipped plugin roster — any name not in that roster becomes `"other"`. |
|
|
@@ -359,6 +360,7 @@ generation, then drop the old one.
|
|
|
359
360
|
| `fleet` | deprecated alias, same value | **2027-03-06** |
|
|
360
361
|
| `session_record` | new (`ledger` \| `derived` \| `absent`) | — |
|
|
361
362
|
| `session_profile` | new (STATE.md `session-profile`, whitelisted names only; omitted when unset or unlisted) | — |
|
|
363
|
+
| `ledger_complete` | new 2026-09-21 (boolean; omitted when nothing was measured, incl. every `ledger`-sourced ping) | — |
|
|
362
364
|
|
|
363
365
|
Client-side the frozen whitelist is split in two: `USAGE_PING_FIELDS` (the
|
|
364
366
|
REQUIRED v1 contract, which `tests/telemetry/parity.test.mjs` asserts the
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generated_at": "2026-
|
|
3
|
-
"head": "
|
|
2
|
+
"generated_at": "2026-10-01T17:18:47.118Z",
|
|
3
|
+
"head": "ffc5929f12df0b5fd7c75d9708a3aa1a5dc6fa45",
|
|
4
4
|
"entries": [
|
|
5
5
|
{
|
|
6
6
|
"file": "hooks/_lib/atomic-json.mjs",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"pre-bash-sessions-ledger-guard.mjs",
|
|
62
62
|
"pre-bash-staging-fence.mjs",
|
|
63
63
|
"pre-bash-templates-first.mjs",
|
|
64
|
+
"pre-edit-sessions-ledger-guard.mjs",
|
|
64
65
|
"pre-task-scope-disjoint.mjs",
|
|
65
66
|
"skill-invocation-telemetry.mjs",
|
|
66
67
|
"subagent-telemetry.mjs"
|
|
@@ -239,6 +240,12 @@
|
|
|
239
240
|
"pre-bash-templates-first.mjs"
|
|
240
241
|
]
|
|
241
242
|
},
|
|
243
|
+
{
|
|
244
|
+
"file": "hooks/pre-edit-sessions-ledger-guard.mjs",
|
|
245
|
+
"reachable_from": [
|
|
246
|
+
"pre-edit-sessions-ledger-guard.mjs"
|
|
247
|
+
]
|
|
248
|
+
},
|
|
242
249
|
{
|
|
243
250
|
"file": "hooks/pre-task-scope-disjoint.mjs",
|
|
244
251
|
"reachable_from": [
|
|
@@ -307,6 +314,7 @@
|
|
|
307
314
|
"post-tool-batch-wave-signal.mjs",
|
|
308
315
|
"pre-bash-issue-budget.mjs",
|
|
309
316
|
"pre-bash-memory-propose-audit.mjs",
|
|
317
|
+
"pre-bash-staging-fence.mjs",
|
|
310
318
|
"pre-bash-templates-first.mjs"
|
|
311
319
|
]
|
|
312
320
|
},
|
|
@@ -522,6 +530,14 @@
|
|
|
522
530
|
"post-tooluse-frontend-slop.mjs"
|
|
523
531
|
]
|
|
524
532
|
},
|
|
533
|
+
{
|
|
534
|
+
"file": "scripts/lib/config/gate.mjs",
|
|
535
|
+
"reachable_from": [
|
|
536
|
+
"on-session-end.mjs",
|
|
537
|
+
"on-session-start.mjs",
|
|
538
|
+
"post-edit-validate.mjs"
|
|
539
|
+
]
|
|
540
|
+
},
|
|
525
541
|
{
|
|
526
542
|
"file": "scripts/lib/config/gitlab-portfolio.mjs",
|
|
527
543
|
"reachable_from": [
|
|
@@ -627,6 +643,16 @@
|
|
|
627
643
|
"skill-invocation-telemetry.mjs"
|
|
628
644
|
]
|
|
629
645
|
},
|
|
646
|
+
{
|
|
647
|
+
"file": "scripts/lib/config/reaper.mjs",
|
|
648
|
+
"reachable_from": [
|
|
649
|
+
"on-session-end.mjs",
|
|
650
|
+
"on-session-start.mjs",
|
|
651
|
+
"on-stop.mjs",
|
|
652
|
+
"post-edit-validate.mjs",
|
|
653
|
+
"post-tool-batch-wave-signal.mjs"
|
|
654
|
+
]
|
|
655
|
+
},
|
|
630
656
|
{
|
|
631
657
|
"file": "scripts/lib/config/reconcile.mjs",
|
|
632
658
|
"reachable_from": [
|
|
@@ -844,7 +870,8 @@
|
|
|
844
870
|
"post-tooluse-frontend-slop.mjs",
|
|
845
871
|
"pre-auq-clarity.mjs",
|
|
846
872
|
"pre-bash-memory-propose-audit.mjs",
|
|
847
|
-
"pre-task-scope-disjoint.mjs"
|
|
873
|
+
"pre-task-scope-disjoint.mjs",
|
|
874
|
+
"skill-invocation-telemetry.mjs"
|
|
848
875
|
]
|
|
849
876
|
},
|
|
850
877
|
{
|
|
@@ -866,7 +893,8 @@
|
|
|
866
893
|
"post-tooluse-frontend-slop.mjs",
|
|
867
894
|
"pre-auq-clarity.mjs",
|
|
868
895
|
"pre-bash-memory-propose-audit.mjs",
|
|
869
|
-
"pre-task-scope-disjoint.mjs"
|
|
896
|
+
"pre-task-scope-disjoint.mjs",
|
|
897
|
+
"skill-invocation-telemetry.mjs"
|
|
870
898
|
]
|
|
871
899
|
},
|
|
872
900
|
{
|
|
@@ -925,6 +953,12 @@
|
|
|
925
953
|
"skill-invocation-telemetry.mjs"
|
|
926
954
|
]
|
|
927
955
|
},
|
|
956
|
+
{
|
|
957
|
+
"file": "scripts/lib/fleet-protocol.mjs",
|
|
958
|
+
"reachable_from": [
|
|
959
|
+
"on-session-start.mjs"
|
|
960
|
+
]
|
|
961
|
+
},
|
|
928
962
|
{
|
|
929
963
|
"file": "scripts/lib/frontend-detect/detect.mjs",
|
|
930
964
|
"reachable_from": [
|
|
@@ -994,6 +1028,7 @@
|
|
|
994
1028
|
"pre-bash-sessions-ledger-guard.mjs",
|
|
995
1029
|
"pre-bash-staging-fence.mjs",
|
|
996
1030
|
"pre-bash-templates-first.mjs",
|
|
1031
|
+
"pre-edit-sessions-ledger-guard.mjs",
|
|
997
1032
|
"pre-task-scope-disjoint.mjs",
|
|
998
1033
|
"skill-invocation-telemetry.mjs"
|
|
999
1034
|
]
|
|
@@ -1001,11 +1036,32 @@
|
|
|
1001
1036
|
{
|
|
1002
1037
|
"file": "scripts/lib/is-main-module.mjs",
|
|
1003
1038
|
"reachable_from": [
|
|
1039
|
+
"config-protection.mjs",
|
|
1040
|
+
"cwd-change-restore.mjs",
|
|
1041
|
+
"enforce-commands.mjs",
|
|
1004
1042
|
"enforce-scope.mjs",
|
|
1043
|
+
"loop-guard.mjs",
|
|
1005
1044
|
"on-session-end.mjs",
|
|
1006
1045
|
"on-session-start.mjs",
|
|
1046
|
+
"on-stop.mjs",
|
|
1047
|
+
"operator-steer.mjs",
|
|
1048
|
+
"post-bash-issue-budget-refund.mjs",
|
|
1049
|
+
"post-edit-import-probe.mjs",
|
|
1050
|
+
"post-edit-validate.mjs",
|
|
1051
|
+
"post-subagent-discovery-validator.mjs",
|
|
1052
|
+
"post-tool-batch-wave-signal.mjs",
|
|
1053
|
+
"post-tool-failure-corrective-context.mjs",
|
|
1054
|
+
"post-tooluse-frontend-slop.mjs",
|
|
1055
|
+
"pre-bash-destructive-guard.mjs",
|
|
1056
|
+
"pre-bash-issue-budget.mjs",
|
|
1057
|
+
"pre-bash-memory-propose-audit.mjs",
|
|
1058
|
+
"pre-bash-sessions-ledger-guard.mjs",
|
|
1059
|
+
"pre-bash-staging-fence.mjs",
|
|
1060
|
+
"pre-bash-templates-first.mjs",
|
|
1061
|
+
"pre-edit-sessions-ledger-guard.mjs",
|
|
1007
1062
|
"pre-task-scope-disjoint.mjs",
|
|
1008
|
-
"skill-invocation-telemetry.mjs"
|
|
1063
|
+
"skill-invocation-telemetry.mjs",
|
|
1064
|
+
"subagent-telemetry.mjs"
|
|
1009
1065
|
]
|
|
1010
1066
|
},
|
|
1011
1067
|
{
|
|
@@ -1102,6 +1158,20 @@
|
|
|
1102
1158
|
"post-edit-validate.mjs"
|
|
1103
1159
|
]
|
|
1104
1160
|
},
|
|
1161
|
+
{
|
|
1162
|
+
"file": "scripts/lib/orphan-reaper/defaults.mjs",
|
|
1163
|
+
"reachable_from": [
|
|
1164
|
+
"on-stop.mjs",
|
|
1165
|
+
"post-tool-batch-wave-signal.mjs"
|
|
1166
|
+
]
|
|
1167
|
+
},
|
|
1168
|
+
{
|
|
1169
|
+
"file": "scripts/lib/orphan-reaper/scan-throttle.mjs",
|
|
1170
|
+
"reachable_from": [
|
|
1171
|
+
"on-stop.mjs",
|
|
1172
|
+
"post-tool-batch-wave-signal.mjs"
|
|
1173
|
+
]
|
|
1174
|
+
},
|
|
1105
1175
|
{
|
|
1106
1176
|
"file": "scripts/lib/owner-yaml.mjs",
|
|
1107
1177
|
"reachable_from": [
|
|
@@ -1272,7 +1342,8 @@
|
|
|
1272
1342
|
"post-tooluse-frontend-slop.mjs",
|
|
1273
1343
|
"pre-auq-clarity.mjs",
|
|
1274
1344
|
"pre-bash-memory-propose-audit.mjs",
|
|
1275
|
-
"pre-task-scope-disjoint.mjs"
|
|
1345
|
+
"pre-task-scope-disjoint.mjs",
|
|
1346
|
+
"skill-invocation-telemetry.mjs"
|
|
1276
1347
|
]
|
|
1277
1348
|
},
|
|
1278
1349
|
{
|
|
@@ -1511,6 +1582,16 @@
|
|
|
1511
1582
|
"skill-invocation-telemetry.mjs"
|
|
1512
1583
|
]
|
|
1513
1584
|
},
|
|
1585
|
+
{
|
|
1586
|
+
"file": "scripts/lib/tail-window.mjs",
|
|
1587
|
+
"reachable_from": [
|
|
1588
|
+
"on-session-end.mjs",
|
|
1589
|
+
"on-session-start.mjs",
|
|
1590
|
+
"on-stop.mjs",
|
|
1591
|
+
"post-subagent-discovery-validator.mjs",
|
|
1592
|
+
"subagent-telemetry.mjs"
|
|
1593
|
+
]
|
|
1594
|
+
},
|
|
1514
1595
|
{
|
|
1515
1596
|
"file": "scripts/lib/telemetry/anon-id.mjs",
|
|
1516
1597
|
"reachable_from": [
|