session-orchestrator 5.1.0 → 5.3.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 +6 -1
- package/.agents/skills/autopilot/agents/openai.yaml +5 -0
- package/.agents/skills/bootstrap/SKILL.md +7 -1
- package/.agents/skills/bootstrap/agents/openai.yaml +5 -0
- package/.agents/skills/brainstorm/SKILL.md +8 -1
- package/.agents/skills/brainstorm/agents/openai.yaml +5 -0
- package/.agents/skills/claude-md-drift-check/SKILL.md +3 -1
- package/.agents/skills/close/SKILL.md +21 -0
- package/.agents/skills/close/agents/openai.yaml +5 -0
- package/.agents/skills/convergence-monitoring/SKILL.md +4 -2
- package/.agents/skills/debug/SKILL.md +7 -1
- package/.agents/skills/debug/agents/openai.yaml +5 -0
- package/.agents/skills/discovery/SKILL.md +7 -2
- package/.agents/skills/discovery/agents/openai.yaml +5 -0
- package/.agents/skills/dispatcher/SKILL.md +7 -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 +7 -1
- package/.agents/skills/eli5/agents/openai.yaml +5 -0
- package/.agents/skills/eval/SKILL.md +7 -2
- package/.agents/skills/eval/agents/openai.yaml +5 -0
- package/.agents/skills/evolve/SKILL.md +8 -3
- 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 +22 -0
- package/.agents/skills/go/agents/openai.yaml +5 -0
- package/.agents/skills/grill/SKILL.md +7 -1
- package/.agents/skills/grill/agents/openai.yaml +5 -0
- package/.agents/skills/harness-audit/SKILL.md +20 -0
- 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 +6 -1
- package/.agents/skills/memory-cleanup/agents/openai.yaml +5 -0
- package/.agents/skills/mode-selector/SKILL.md +3 -1
- 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 +6 -1
- package/.agents/skills/persona-panel/agents/openai.yaml +5 -0
- package/.agents/skills/plan/SKILL.md +8 -2
- package/.agents/skills/plan/agents/openai.yaml +5 -0
- package/.agents/skills/playwright-driver/SKILL.md +3 -1
- package/.agents/skills/portfolio/SKILL.md +21 -0
- package/.agents/skills/portfolio/agents/openai.yaml +5 -0
- package/.agents/skills/quality-gates/SKILL.md +3 -1
- package/.agents/skills/reconcile/SKILL.md +6 -1
- package/.agents/skills/reconcile/agents/openai.yaml +5 -0
- package/.agents/skills/release/SKILL.md +22 -0
- 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 +6 -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 +6 -1
- package/.agents/skills/spinout/agents/openai.yaml +5 -0
- package/.agents/skills/sunset-review/SKILL.md +7 -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 +21 -0
- package/.agents/skills/test/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 +7 -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/autopilot/SKILL.md +5 -4
- package/.codex-plugin/skills/bootstrap/SKILL.md +8 -4
- package/.codex-plugin/skills/brainstorm/SKILL.md +11 -4
- package/.codex-plugin/skills/close/SKILL.md +3 -3
- package/.codex-plugin/skills/convergence-monitoring/SKILL.md +1 -1
- package/.codex-plugin/skills/debug/SKILL.md +11 -4
- package/.codex-plugin/skills/discovery/SKILL.md +8 -4
- package/.codex-plugin/skills/dispatcher/SKILL.md +4 -4
- package/.codex-plugin/skills/eli5/SKILL.md +9 -4
- package/.codex-plugin/skills/eval/SKILL.md +9 -4
- package/.codex-plugin/skills/evolve/SKILL.md +9 -4
- package/.codex-plugin/skills/go/SKILL.md +3 -3
- package/.codex-plugin/skills/grill/SKILL.md +11 -4
- package/.codex-plugin/skills/harness-audit/SKILL.md +4 -3
- package/.codex-plugin/skills/memory-cleanup/SKILL.md +9 -4
- package/.codex-plugin/skills/npm-publish/SKILL.md +1 -1
- package/.codex-plugin/skills/persona-panel/SKILL.md +5 -5
- package/.codex-plugin/skills/plan/SKILL.md +8 -4
- package/.codex-plugin/skills/portfolio/SKILL.md +3 -3
- package/.codex-plugin/skills/reconcile/SKILL.md +9 -4
- package/.codex-plugin/skills/release/SKILL.md +3 -3
- package/.codex-plugin/skills/repo-audit/SKILL.md +6 -4
- package/.codex-plugin/skills/session/SKILL.md +1 -1
- package/.codex-plugin/skills/spinout/SKILL.md +4 -4
- package/.codex-plugin/skills/sunset-review/SKILL.md +5 -4
- package/.codex-plugin/skills/test/SKILL.md +3 -3
- package/.codex-plugin/skills/ux-grill/SKILL.md +11 -4
- package/.cursor/commands/autopilot.md +4 -4
- package/.cursor/commands/bootstrap.md +5 -4
- package/.cursor/commands/brainstorm.md +5 -4
- package/.cursor/commands/close.md +4 -3
- package/.cursor/commands/debug.md +4 -4
- package/.cursor/commands/discovery.md +4 -4
- package/.cursor/commands/dispatcher.md +4 -4
- package/.cursor/commands/eli5.md +4 -4
- package/.cursor/commands/eval.md +4 -4
- package/.cursor/commands/evolve.md +4 -4
- package/.cursor/commands/go.md +4 -3
- package/.cursor/commands/grill.md +4 -4
- package/.cursor/commands/harness-audit.md +3 -3
- package/.cursor/commands/memory-cleanup.md +4 -4
- package/.cursor/commands/persona-panel.md +4 -4
- package/.cursor/commands/plan.md +5 -4
- package/.cursor/commands/portfolio.md +3 -3
- package/.cursor/commands/reconcile.md +4 -4
- package/.cursor/commands/release.md +4 -3
- package/.cursor/commands/repo-audit.md +4 -4
- package/.cursor/commands/session.md +1 -1
- package/.cursor/commands/spinout.md +4 -4
- package/.cursor/commands/sunset-review.md +4 -4
- package/.cursor/commands/test.md +3 -3
- package/.cursor/commands/ux-grill.md +4 -4
- package/.cursor/rules/000-session-orchestrator.mdc +0 -2
- package/.cursor/rules/010-session-workflow.mdc +2 -2
- package/.cursor/rules/050-plan.mdc +1 -1
- package/.cursor/skills/bootstrap/SKILL.md +1 -0
- package/.cursor/skills/close/SKILL.md +13 -0
- package/.cursor/skills/convergence-monitoring/SKILL.md +1 -0
- package/.cursor/skills/debug/SKILL.md +0 -1
- package/.cursor/skills/discovery/SKILL.md +0 -1
- package/.cursor/skills/dispatcher/SKILL.md +0 -1
- package/.cursor/skills/eli5/SKILL.md +0 -1
- package/.cursor/skills/eval/SKILL.md +1 -1
- package/.cursor/skills/evolve/SKILL.md +0 -1
- package/.cursor/skills/go/SKILL.md +13 -0
- package/.cursor/skills/grill/SKILL.md +0 -1
- package/.cursor/skills/harness-audit/SKILL.md +12 -0
- package/.cursor/skills/npm-publish/SKILL.md +1 -0
- package/.cursor/skills/portfolio/SKILL.md +12 -0
- package/.cursor/skills/release/SKILL.md +13 -0
- package/.cursor/skills/repo-audit/SKILL.md +0 -1
- package/.cursor/skills/sunset-review/SKILL.md +0 -1
- package/.cursor/skills/test/SKILL.md +12 -0
- package/.cursor/skills/ux-grill/SKILL.md +0 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/.orchestrator/policy/blocked-commands.json +13 -4
- package/AGENTS.md +3 -2
- package/CHANGELOG.md +197 -0
- package/README.md +11 -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 +17 -3
- package/docs/baseline.md +12 -6
- package/docs/ci-setup.md +53 -0
- package/docs/codex-setup.md +15 -3
- package/docs/components.md +13 -6
- package/docs/events-schema.md +59 -9
- package/docs/install.md +16 -0
- package/docs/persona-panel.md +1 -1
- package/docs/pi-setup.md +1 -1
- package/docs/rule-authoring.md +135 -14
- package/docs/scope-collision-guard.md +2 -0
- package/docs/session-config-reference.md +106 -11
- package/docs/session-config-template.md +31 -2
- package/docs/telemetry.md +2 -0
- package/hooks/_lib/hook-import-set.json +125 -8
- package/hooks/_lib/subagent-paths.mjs +15 -0
- package/hooks/_lib/subagent-transcript.mjs +582 -31
- package/hooks/_lib/vcs-create-matcher.mjs +217 -62
- 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.json +1 -1
- package/hooks/loop-guard.mjs +11 -3
- package/hooks/on-session-end.mjs +72 -25
- package/hooks/on-session-start.mjs +48 -11
- package/hooks/on-stop.mjs +211 -23
- package/hooks/operator-steer.mjs +11 -3
- package/hooks/post-bash-issue-budget-refund.mjs +18 -8
- package/hooks/post-bash-write-verify.mjs +6 -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 +200 -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 +18 -2
- package/hooks/pre-bash-destructive-guard.mjs +80 -9
- package/hooks/pre-bash-issue-budget.mjs +119 -28
- package/hooks/pre-bash-memory-propose-audit.mjs +86 -54
- package/hooks/pre-bash-sessions-ledger-guard.mjs +391 -20
- package/hooks/pre-bash-staging-fence.mjs +335 -31
- package/hooks/pre-bash-templates-first.mjs +19 -14
- package/hooks/pre-task-scope-disjoint.mjs +385 -5
- package/hooks/skill-invocation-telemetry.mjs +2 -1
- package/hooks/subagent-telemetry.mjs +15 -19
- 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 +2 -1
- package/pi/prompts/autopilot.md +3 -3
- package/pi/prompts/bootstrap.md +3 -3
- package/pi/prompts/brainstorm.md +3 -3
- package/pi/prompts/close.md +2 -2
- package/pi/prompts/debug.md +3 -3
- package/pi/prompts/discovery.md +3 -3
- package/pi/prompts/dispatcher.md +3 -3
- package/pi/prompts/eli5.md +3 -3
- package/pi/prompts/eval.md +3 -3
- package/pi/prompts/evolve.md +3 -3
- package/pi/prompts/go.md +2 -2
- package/pi/prompts/grill.md +3 -3
- package/pi/prompts/harness-audit.md +2 -3
- package/pi/prompts/memory-cleanup.md +3 -3
- package/pi/prompts/persona-panel.md +3 -3
- package/pi/prompts/plan.md +3 -3
- package/pi/prompts/portfolio.md +2 -2
- package/pi/prompts/reconcile.md +3 -3
- package/pi/prompts/release.md +3 -3
- package/pi/prompts/repo-audit.md +3 -4
- package/pi/prompts/session.md +2 -2
- package/pi/prompts/spinout.md +3 -3
- package/pi/prompts/sunset-review.md +3 -3
- package/pi/prompts/templates-ack.md +1 -1
- package/pi/prompts/test.md +3 -3
- package/pi/prompts/ux-grill.md +3 -3
- package/rules/README.md +1 -1
- package/rules/opt-in-domain/prompt-caching.md +1 -1
- package/rules/opt-in-stack/backend-data.md +1 -1
- package/rules/opt-in-stack/backend.md +3 -3
- package/rules/opt-in-stack/frontend.md +1 -1
- package/rules/opt-in-stack/security-web.md +3 -3
- package/rules/opt-in-stack/swift.md +1 -1
- package/scripts/archive-closed-prds.mjs +2 -2
- package/scripts/auq-audit.mjs +2 -3
- package/scripts/autopilot.mjs +23 -2
- package/scripts/backfill-abandoned-sessions.mjs +171 -15
- package/scripts/backfill-evidence-digest.mjs +2 -1
- package/scripts/backfill-learnings-from-vault.mjs +2 -2
- package/scripts/check-package-manager.mjs +2 -2
- package/scripts/check-sessions-integrity.mjs +300 -0
- package/scripts/ci/assert-vitest-green.mjs +2 -1
- package/scripts/dialectic-deriver.mjs +50 -13
- package/scripts/emit-session.mjs +77 -32
- package/scripts/eval-session.mjs +65 -3
- package/scripts/export-hw-learnings.mjs +2 -1
- package/scripts/express-path.mjs +1 -1
- package/scripts/gc-stale-worktrees.mjs +2 -1
- package/scripts/generate-agents-skills.mjs +102 -29
- package/scripts/generate-codex-skills.mjs +48 -4
- package/scripts/generate-cursor-adapter.mjs +220 -11
- package/scripts/generate-hook-import-set.mjs +12 -27
- package/scripts/generate-pi-prompts.mjs +183 -13
- package/scripts/github-protection-audit.mjs +2 -3
- package/scripts/lib/agent-frontmatter.mjs +23 -1
- 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/autopilot/flags.mjs +12 -1
- package/scripts/lib/autopilot/kill-switches.mjs +6 -3
- package/scripts/lib/autopilot/loop.mjs +14 -1
- package/scripts/lib/autopilot/stall-sampler.mjs +80 -23
- package/scripts/lib/ci-status-banner.mjs +376 -16
- package/scripts/lib/claude-md-budget-lint.mjs +2 -5
- package/scripts/lib/command-blocker.mjs +408 -33
- package/scripts/lib/config/dialectic.mjs +12 -3
- package/scripts/lib/config/drift-check.mjs +19 -0
- package/scripts/lib/config/gate.mjs +74 -0
- package/scripts/lib/config/reaper.mjs +162 -0
- package/scripts/lib/config.mjs +14 -0
- package/scripts/lib/convergence-monitor.mjs +76 -13
- package/scripts/lib/cursor-hook-bridge.mjs +2 -2
- package/scripts/lib/description-surface.mjs +2 -5
- package/scripts/lib/dispatcher/cli.mjs +2 -1
- package/scripts/lib/ecosystem-health.mjs +11 -0
- package/scripts/lib/ecosystem-wizard.mjs +2 -1
- 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 +524 -5
- package/scripts/lib/fetch-baseline.mjs +3 -8
- package/scripts/lib/frontmatter-guard.mjs +21 -10
- package/scripts/lib/gates/gate-baseline.mjs +27 -2
- package/scripts/lib/gates/gate-full.mjs +28 -3
- package/scripts/lib/gates/gate-helpers.mjs +243 -21
- package/scripts/lib/gates/gate-incremental.mjs +28 -3
- package/scripts/lib/gates/gate-per-file.mjs +27 -2
- package/scripts/lib/gitlab-ops/stale-mr-sweep.mjs +2 -1
- package/scripts/lib/gitlab-portfolio/cli.mjs +2 -1
- package/scripts/lib/gitlab-portfolio/markdown-writer.mjs +6 -1
- package/scripts/lib/instruction-budget-guard.mjs +332 -50
- package/scripts/lib/io.mjs +42 -8
- package/scripts/lib/is-main-module.mjs +82 -0
- 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/locks/index.mjs +32 -25
- package/scripts/lib/maintenance-due-banner.mjs +122 -91
- package/scripts/lib/orphan-reaper.mjs +1588 -0
- package/scripts/lib/peer-cards/merger.mjs +48 -10
- package/scripts/lib/peer-cards/reader.mjs +78 -2
- package/scripts/lib/peer-discovery.mjs +2 -5
- package/scripts/lib/playwright-driver/runner.mjs +2 -1
- package/scripts/lib/process-group.mjs +899 -0
- package/scripts/lib/quality-gate.mjs +107 -28
- package/scripts/lib/reconcile/backlog.mjs +368 -0
- package/scripts/lib/reconcile/engine.mjs +55 -188
- package/scripts/lib/reconcile/rule-expiry-sweep.mjs +884 -0
- 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/rule-loader.mjs +41 -12
- package/scripts/lib/rules-sync.mjs +2 -5
- package/scripts/lib/scope-echo.mjs +429 -7
- package/scripts/lib/scope-gate.mjs +605 -1
- package/scripts/lib/session-close-backfill.mjs +91 -12
- package/scripts/lib/session-id.mjs +9 -20
- package/scripts/lib/session-invocation.mjs +20 -0
- package/scripts/lib/session-schema/constants.mjs +30 -2
- package/scripts/lib/session-schema/normalizer.mjs +56 -4
- package/scripts/lib/session-schema.mjs +8 -3
- package/scripts/lib/session-start-probes.mjs +95 -10
- package/scripts/lib/sessions-canonical.mjs +23 -0
- package/scripts/lib/sessions-integrity-banner.mjs +7 -1
- package/scripts/lib/sessions-staleness-banner.mjs +193 -51
- 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/state-md.mjs +84 -3
- package/scripts/lib/sunset/walker.mjs +31 -4
- package/scripts/lib/tail-window.mjs +56 -0
- 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 +2 -6
- package/scripts/lib/tmux-layout/telemetry-stats.mjs +74 -14
- package/scripts/lib/user-invocable-skills.mjs +205 -0
- package/scripts/lib/ux-grill/reconcile.mjs +48 -22
- package/scripts/lib/validate/check-agents-skills.mjs +26 -15
- package/scripts/lib/validate/check-banner-parity.mjs +2 -2
- package/scripts/lib/validate/check-cursor-adapter.mjs +3 -2
- package/scripts/lib/validate/check-dead-bridge.mjs +2 -2
- package/scripts/lib/validate/check-doc-cli-commands.mjs +2 -2
- package/scripts/lib/validate/check-entry-guard.mjs +329 -0
- package/scripts/lib/validate/check-guard-requires-parity.mjs +2 -2
- package/scripts/lib/validate/check-hook-entry-guards.mjs +636 -0
- package/scripts/lib/validate/check-hooks-emit-event-guard.mjs +2 -2
- package/scripts/lib/validate/check-learning-provenance.mjs +2 -2
- 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 +35 -6
- package/scripts/lib/validate/check-skill-script-paths.mjs +241 -29
- package/scripts/lib/validate/check-test-git-config-target.mjs +26 -36
- package/scripts/lib/validate/check-unicode-safety.mjs +2 -2
- package/scripts/lib/validate/check-untracked-test-deps.mjs +9 -104
- package/scripts/lib/validate/check-unwired-features.mjs +220 -33
- package/scripts/lib/validate/check-validator-registration.mjs +36 -12
- package/scripts/lib/validate/check-vcs-repo-flag.mjs +2 -2
- package/scripts/lib/validate/confidential-names.mjs +10 -0
- package/scripts/lib/validate-vendored-rules.mjs +39 -12
- 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-status/narrative-mirror.mjs +31 -7
- package/scripts/lib/vault-yaml.mjs +118 -0
- package/scripts/lib/wave-transcript-tail.mjs +2 -2
- package/scripts/lib/worktree/lifecycle.mjs +153 -1
- package/scripts/lock-reaper.mjs +2 -1
- package/scripts/materialize-wave-scope.mjs +87 -4
- package/scripts/migrate-sessions-jsonl.mjs +2 -1
- package/scripts/migrate-vault-paths.mjs +2 -3
- package/scripts/release-session-lock.mjs +305 -0
- package/scripts/release.mjs +109 -39
- package/scripts/relocate-vault-corpus.mjs +2 -3
- package/scripts/repair-invalid-sessions.mjs +2 -2
- package/scripts/resolve-session-invocation.mjs +59 -0
- package/scripts/run-quality-gate.mjs +156 -17
- package/scripts/session-shape.mjs +2 -2
- package/scripts/site-numbers.mjs +35 -11
- package/scripts/sweep-expired-rules.mjs +227 -0
- package/scripts/validate-plugin.mjs +21 -0
- package/scripts/validate-wave-scope.mjs +32 -105
- package/scripts/vault-consolidate.mjs +2 -2
- package/scripts/vault-mirror.mjs +11 -4
- package/scripts/wave-scope-binding.mjs +2 -3
- package/skills/_shared/bootstrap-gate.md +1 -1
- package/skills/_shared/monitor-patterns.md +1 -1
- package/skills/_shared/platform-tools.md +23 -11
- package/skills/_shared/research-evidence.md +53 -0
- package/skills/_shared/state-ownership.md +3 -0
- package/skills/autopilot/SKILL.md +80 -11
- package/skills/bootstrap/SKILL.md +51 -1
- package/skills/brainstorm/SKILL.md +16 -0
- package/skills/claude-md-drift-check/SKILL.md +1 -1
- package/skills/claude-md-drift-check/checker.mjs +49 -11
- package/{commands/close.md → skills/close/SKILL.md} +9 -3
- 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/debug/SKILL.md +10 -0
- package/skills/discovery/SKILL.md +24 -1
- package/skills/discovery/probes-session.md +2 -2
- package/skills/dispatcher/SKILL.md +38 -7
- package/skills/eli5/SKILL.md +11 -0
- package/skills/eval/SKILL.md +52 -23
- package/skills/eval/rubric-v1.md +1 -0
- package/skills/eval/rubric-v2.md +457 -0
- package/skills/evolve/SKILL.md +9 -2
- package/skills/evolve/references/evolve-dialectic-mode.md +46 -25
- package/skills/gitlab-ops/SKILL.md +3 -2
- package/{commands/go.md → skills/go/SKILL.md} +9 -1
- package/skills/grill/SKILL.md +19 -0
- package/{commands/harness-audit.md → skills/harness-audit/SKILL.md} +7 -2
- package/skills/hook-development/SKILL.md +46 -41
- package/skills/memory-cleanup/SKILL.md +7 -0
- package/skills/npm-publish/SKILL.md +2 -2
- package/skills/persona-panel/SKILL.md +56 -1
- package/skills/persona-panel/persona-format.md +1 -1
- package/skills/plan/SKILL.md +28 -1
- package/{commands/portfolio.md → skills/portfolio/SKILL.md} +8 -2
- package/skills/reconcile/SKILL.md +21 -0
- package/{commands/release.md → skills/release/SKILL.md} +16 -2
- package/skills/repo-audit/SKILL.md +7 -0
- package/skills/session-end/SKILL.md +13 -16
- package/skills/session-end/discovery-scan.md +1 -1
- package/skills/session-end/phase-3-6-tail.md +55 -9
- package/skills/session-end/plan-verification.md +2 -2
- package/skills/session-end/references/phase-5-issue-cleanup.md +9 -14
- package/skills/session-end/session-metrics-write.md +10 -0
- package/skills/session-plan/SKILL.md +18 -6
- package/skills/session-plan/references/session-plan-task-classification.md +2 -2
- package/skills/session-start/SKILL.md +5 -4
- package/skills/session-start/phase-8-5-express-path.md +6 -6
- package/skills/session-start/references/phase-1-5-session-continuity.md +1 -1
- package/skills/session-start/references/phase-2-7-portfolio-snapshot.md +1 -1
- package/skills/session-start/references/phase-4-ssot-environment-check.md +6 -4
- package/skills/spinout/SKILL.md +12 -1
- package/skills/sunset-review/SKILL.md +13 -0
- package/{commands/test.md → skills/test/SKILL.md} +10 -4
- package/skills/ux-grill/SKILL.md +20 -2
- package/skills/wave-executor/SKILL.md +14 -7
- package/skills/wave-executor/circuit-breaker.md +2 -0
- package/skills/wave-executor/references/wave-executor-state-init.md +18 -4
- package/skills/wave-executor/references/wave-loop-dispatch.md +5 -2
- package/skills/wave-executor/references/wave-loop-review.md +17 -1
- package/commands/autopilot.md +0 -80
- package/commands/bootstrap.md +0 -56
- package/commands/brainstorm.md +0 -48
- package/commands/debug.md +0 -36
- package/commands/discovery.md +0 -32
- package/commands/dispatcher.md +0 -59
- package/commands/eli5.md +0 -33
- package/commands/eval.md +0 -28
- package/commands/evolve.md +0 -10
- package/commands/grill.md +0 -45
- package/commands/memory-cleanup.md +0 -26
- package/commands/persona-panel.md +0 -121
- package/commands/plan.md +0 -15
- package/commands/reconcile.md +0 -23
- package/commands/repo-audit.md +0 -24
- package/commands/spinout.md +0 -15
- package/commands/sunset-review.md +0 -27
- package/commands/ux-grill.md +0 -51
package/commands/eli5.md
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Say the last answer again in plain words — same facts, in the order the operator needs them. Optional topic argument.
|
|
3
|
-
argument-hint: "[topic]"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# eli5
|
|
7
|
-
|
|
8
|
-
Invokes the `eli5` skill (`skills/eli5/SKILL.md`). Restates my last substantial output — or the named topic — for someone who knows this project but did not watch the last ten minutes of it.
|
|
9
|
-
|
|
10
|
-
## Argument Validation
|
|
11
|
-
|
|
12
|
-
The optional argument is a topic, in prose. If absent, the target is my own last substantial output in this conversation; if there is none yet, say so rather than picking a topic for him.
|
|
13
|
-
|
|
14
|
-
Examples:
|
|
15
|
-
- `/eli5` — restate what I just said
|
|
16
|
-
- `/eli5 warum ist der Regel-Korpus voll?` — explain that, grounded in what this session measured
|
|
17
|
-
|
|
18
|
-
## Behavior
|
|
19
|
-
|
|
20
|
-
1. **Resolve the target** — last output, or `$ARGUMENTS`.
|
|
21
|
-
2. **Ground it** — prefer what this session already measured over recall, and name where it came from. Never measured here → say so.
|
|
22
|
-
3. **Restate** — consequence first (*must I act, and what if I don't?*), then the facts in the order he needs them.
|
|
23
|
-
4. **Check before sending** — every greppable token from the original still present; every noun the system does not contain gone.
|
|
24
|
-
|
|
25
|
-
## The limit that outranks the command
|
|
26
|
-
|
|
27
|
-
**Simplifying removes words, never facts.** A dropped path, number, error code, identifier, or instruction to act is data loss, not simplification — `skills/session-start/soul.md` § "Never traded for brevity" outranks brevity here as everywhere. And no invented pictures: say what happens, never what it is "like".
|
|
28
|
-
|
|
29
|
-
## Related
|
|
30
|
-
|
|
31
|
-
- `skills/eli5/SKILL.md` — the skill, in full
|
|
32
|
-
- `.claude/rules/ask-via-tool.md` § AUQ-006 — plain words, real things
|
|
33
|
-
- `skills/session-start/soul.md` § Register — the canonical register statement
|
package/commands/eval.md
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Run an honest session-process evaluation (Standard v1, aiat-llm-eval/1.0) — score the last completed session against the pre-registered rubric-v1 dimensions
|
|
3
|
-
argument-hint: "[--session <id>] [--no-write] [--verify <run-id>]"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Eval
|
|
7
|
-
|
|
8
|
-
The user wants to run a session-process evaluation. Invoke the eval skill with arguments: **$ARGUMENTS**.
|
|
9
|
-
|
|
10
|
-
Scores ONE completed orchestrator session against the pre-registered **rubric-v1**
|
|
11
|
-
check set via the deterministic engine (`scripts/eval-session.mjs`), appends a
|
|
12
|
-
`session-eval` record to the journal (`.orchestrator/metrics/eval.jsonl`), and —
|
|
13
|
-
when configured — renders an HTML report and overlays an advisory LLM judge.
|
|
14
|
-
Deterministic-first; **no global score, by construction**; missing data yields an
|
|
15
|
-
honest `cannot-determine` rather than a guess.
|
|
16
|
-
|
|
17
|
-
**Usage:**
|
|
18
|
-
|
|
19
|
-
- `/eval` — evaluate the last completed session (resolution cascade), append the record, render the report
|
|
20
|
-
- `/eval --session <id>` — evaluate a specific session_id
|
|
21
|
-
- `/eval --no-write` — evaluate + report without appending to the journal (dry-run)
|
|
22
|
-
- `/eval --verify <run-id>` — re-score a stored run and diff for drift (the reproducibility proof; exit 1 on drift)
|
|
23
|
-
|
|
24
|
-
**Seams used:** `scripts/eval-session.mjs` (deterministic CLI) · `runEvalJudge` / `mergeJudgeDimensions` (judge.mjs, opt-in) · `writeEvalReport` (report.mjs) · `appendEvalRecord` (sink.mjs) · `eval` config block · `skills/eval/rubric-v1.md` (frozen check set)
|
|
25
|
-
|
|
26
|
-
Reads the `eval` block (`enabled`, `mode`, `judge`, `report`, `handle`) from
|
|
27
|
-
Session Config. On-demand `/eval` runs regardless of `eval.enabled` — that flag
|
|
28
|
-
gates only the automatic session-end eval phase.
|
package/commands/evolve.md
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Extract session patterns into reusable learnings
|
|
3
|
-
argument-hint: "[analyze|review|list|dialectic [--apply]]"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Evolve
|
|
7
|
-
|
|
8
|
-
The user wants to extract and manage session learnings. Invoke the evolve skill with mode: **$ARGUMENTS** (if empty, default to `analyze`).
|
|
9
|
-
|
|
10
|
-
Analyze session history for patterns, review existing learnings, list active intelligence, or derive USER.md/AGENT.md peer-card updates via the dialectic mode. Every learning must be confirmed by the user before persisting. Evidence before assertions.
|
package/commands/grill.md
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Stress-test a plan, design, or PRD before any build — relentless one-question-at-a-time interrogation that hunts contradictions against the code and challenges assumptions. Composable; no HARD-GATE.
|
|
3
|
-
argument-hint: "[file-path-or-topic]"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Grill
|
|
7
|
-
|
|
8
|
-
Invokes the `grill` skill (`skills/grill/SKILL.md`). Relentlessly interrogates a plan/design/PRD one decision at a time, grounds every question in the codebase, and surfaces contradictions before implementation. Optionally writes `docs/specs/YYYY-MM-DD-<slug>-grill.md`.
|
|
9
|
-
|
|
10
|
-
## Argument Validation
|
|
11
|
-
|
|
12
|
-
The optional argument is either a file path to grill (a PRD, spec, `STATE.md`) or a topic/slug. If absent, the skill grills the plan already present in the current conversation; if there is none, it asks the user to state it first.
|
|
13
|
-
|
|
14
|
-
Examples:
|
|
15
|
-
- `/grill` — grills the plan in the current conversation context
|
|
16
|
-
- `/grill docs/prd/2026-06-09-export.md` — grills a specific PRD file
|
|
17
|
-
- `/grill "partial order cancellation"` — grills the named idea, slug pre-set
|
|
18
|
-
|
|
19
|
-
## Behavior
|
|
20
|
-
|
|
21
|
-
1. **Phase 0 — Target Acquisition** — resolve what's being grilled, ground it against the codebase (`CONTEXT.md`, steering docs, ADRs, relevant source), state the target back.
|
|
22
|
-
2. **Phase 1 — Map the Decision Tree** — lay out the dependent decisions root-to-leaf; skip what the code already settles.
|
|
23
|
-
3. **Phase 2 — Grill Loop** — one question per turn via `AskUserQuestion`, applying the Six Tactics (glossary conflict, sharpen fuzzy language, code contradiction, edge-case scenario, assumption audit, pre-mortem); read the repo before asking.
|
|
24
|
-
4. **Phase 3 — Resolved-Decisions Recap** — decisions, contradictions surfaced, open questions, assumptions audited.
|
|
25
|
-
5. **Phase 4 — Hand-off** — AUQ: write grill summary + `/plan feature`, summary only, hand off without a file, or done.
|
|
26
|
-
|
|
27
|
-
## No HARD-GATE
|
|
28
|
-
|
|
29
|
-
Unlike `/brainstorm`, grill imposes no implementation gate — it is a composable thinking tool. It writes no code and never commits; the only write it performs is the optional summary file in Phase 4. What happens after the grill is the user's call.
|
|
30
|
-
|
|
31
|
-
## When to use vs. /brainstorm and /plan feature
|
|
32
|
-
|
|
33
|
-
| Situation | Use |
|
|
34
|
-
|-----------|-----|
|
|
35
|
-
| A settled-feeling plan needs stress-testing before build | `/grill` |
|
|
36
|
-
| The design is still ambiguous and needs narrowing | `/brainstorm` |
|
|
37
|
-
| Scope is clear, need a formal PRD + issues | `/plan feature` |
|
|
38
|
-
| Adversarial pass before formalizing | `/grill` → `/plan feature` |
|
|
39
|
-
|
|
40
|
-
## Related
|
|
41
|
-
|
|
42
|
-
- `skills/grill/SKILL.md` — full skill specification
|
|
43
|
-
- `skills/brainstorm/SKILL.md` — cooperative sibling for ambiguous designs
|
|
44
|
-
- `skills/plan/SKILL.md` — primary hand-off target
|
|
45
|
-
- `.claude/rules/ask-via-tool.md` — AUQ usage convention (AUQ-001..005)
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Manual memory consolidation — review, consolidate, and prune memory files (Dream-equivalent)
|
|
3
|
-
argument-hint: "[--dry-run | --apply-pending]"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Memory Cleanup
|
|
7
|
-
|
|
8
|
-
The user wants to consolidate the project's auto-memory store. Invoke the `memory-cleanup` skill.
|
|
9
|
-
|
|
10
|
-
## Flags
|
|
11
|
-
|
|
12
|
-
The skill accepts two optional, mutually-exclusive flags (see PRD #502):
|
|
13
|
-
|
|
14
|
-
| Flag | Behavior |
|
|
15
|
-
|---|---|
|
|
16
|
-
| `--dry-run` | Run Phases 1-3 read-only. Writes a complete-replacement MEMORY.md proposal (single fenced ` ```markdown ` block; topic-file changes carried as separate `### Topic-file change:` sections after it — never git-style diff hunks, see #717) to `.orchestrator/pending-dream.md` (atomic write). Prints `pending-dream written: <N> lines proposed` (or `no consolidation needed`). Exit 0. <!-- path-check: example --> |
|
|
17
|
-
| `--apply-pending` | Reads `.orchestrator/pending-dream.md`, refuses if older than 14 days or if MEMORY.md changed since the producing `--dry-run` (#788), applies the proposal, deletes the pending file. Prints `auto-dream applied: -<X> lines, +<Y> entries`. Exit 0 on apply; exit 1 when pending file is missing (`no pending dream to apply`), stale (`pending dream is stale (>14d), re-run --dry-run`), index-drifted (`MEMORY.md changed since the producing --dry-run; re-run --dry-run.`), or unsupported-format (`auto-dream NOT applied: pending-dream.md contains git-style diff hunks this applier cannot consume. MEMORY.md left untouched, sidecar preserved. Re-run /memory-cleanup --dry-run to regenerate a complete-body proposal.`). <!-- path-check: example --> |
|
|
18
|
-
|
|
19
|
-
Passing both flags is an error. Absence of both = legacy interactive 4-phase mode.
|
|
20
|
-
|
|
21
|
-
Session-end Phase 3.6.5 (`scripts/lib/auto-dream.mjs`) is nudge-only (#614) — it never dispatches a subagent to write the sidecar.
|
|
22
|
-
The only real producer of `.orchestrator/pending-dream.md` is a manual `/memory-cleanup --dry-run` run; `--apply-pending` is the operator-confirmed consumer in a later session. The sidecar file is single-writer — concurrent sessions cannot collide because the writer holds the session-lock. <!-- path-check: example -->
|
|
23
|
-
|
|
24
|
-
## Default (no flag)
|
|
25
|
-
|
|
26
|
-
Run the 4-phase Dream process (Orient → Gather Signal → Consolidate → Prune & Index) against `~/.claude/projects/<encoded-cwd>/memory/`. Report files changed, `MEMORY.md` line count before/after, contradictions resolved, and any items that need manual attention.
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Run a parallel multi-persona domain-expert review panel against a file, directory, or output range
|
|
3
|
-
argument-hint: "<target> [--personas <names,...>] [--mode <voting|hard-gate|summary>] [--threshold <M-of-N|all|any>] [--grounding <off|re-derive>] [--dry-run]"
|
|
4
|
-
disable-model-invocation: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Persona Panel
|
|
8
|
-
|
|
9
|
-
Dispatches N personas from the per-repo `.claude/personas/` catalog in parallel (one `Agent()` call per persona), consolidates their outputs, persists a sidecar to `.orchestrator/persona-panel/`, and reports the final verdict. Invoke the `persona-panel` skill with arguments: **$ARGUMENTS**
|
|
10
|
-
|
|
11
|
-
## Argument Validation
|
|
12
|
-
|
|
13
|
-
Parse `$ARGUMENTS` before doing anything else.
|
|
14
|
-
|
|
15
|
-
**Positional argument (required):**
|
|
16
|
-
|
|
17
|
-
- `<target>` — file path, directory, or range to review. Must be resolvable via `validatePathInsideProject` against the current project root. Relative paths are resolved from the project root. Globs are accepted (e.g., `src/app/api/*.ts`).
|
|
18
|
-
|
|
19
|
-
**Recognized flags:**
|
|
20
|
-
|
|
21
|
-
- `--personas <names,...>` — comma-separated subset of catalog names to include (e.g., `physicist,ai-expert`). Default: all personas discovered in `.claude/personas/`. Names are matched case-insensitively against `<name>.md` catalog files.
|
|
22
|
-
- `--mode <voting|hard-gate|summary>` — consolidation mode. Default: `voting`.
|
|
23
|
-
- `voting` — M-of-N quorum; deterministic. Requires `--threshold M-of-N` or defaults to `all`.
|
|
24
|
-
- `hard-gate` — all N personas must PASS; deterministic. `--threshold all` is the default; `--threshold N-of-N` is also accepted.
|
|
25
|
-
- `summary` — coordinator LLM-aggregate of heterogeneous outputs. Emits an explicit WARN that this mode adds one additional LLM call.
|
|
26
|
-
- `--threshold <spec>` — quorum spec. Accepted forms: `M-of-N` where M and N are integers 1..20, `all`, or `any`. Parsed by `scripts/lib/persona-panel/threshold.mjs::parseThreshold()`. Default: `all`.
|
|
27
|
-
- `--grounding <off|re-derive>` — Grounding-Review mode (#730 Epic H). `off` (default): personas evaluate the target as-is. `re-derive`: each persona is instructed to independently re-derive supporting sources via Read/Grep/Glob instead of trusting a "Sources" section the target may already assert, and reports them as `derived_sources`. Advisory-only in v1 — never influences `final_verdict`. See `skills/persona-panel/persona-format.md` § "Grounding Mode (optional)".
|
|
28
|
-
- `--dry-run` — resolve catalog, print dispatch plan, do NOT call `Agent()`, do NOT write sidecar. Exit 0 on success.
|
|
29
|
-
|
|
30
|
-
**Validation errors (all exit 1):**
|
|
31
|
-
|
|
32
|
-
- Missing `<target>`: `missing required arg <target>`.
|
|
33
|
-
- Unknown flag (starts with `--` but not in the list above): `unknown flag: --<name>. Valid: --personas, --mode, --threshold, --grounding, --dry-run`.
|
|
34
|
-
- `--mode` value not in enum: `invalid --mode value: '<value>'. Valid: voting, hard-gate, summary`.
|
|
35
|
-
- `--threshold` value fails `parseThreshold()`: echo the parser error verbatim, e.g., `invalid threshold 'foo': expected M-of-N (M,N integers 1..20), 'all', or 'any'`.
|
|
36
|
-
- `--grounding` value not in enum: `invalid --grounding value: '<value>'. Valid: off, re-derive`.
|
|
37
|
-
- `<target>` outside project root: `target path outside project: <path>`.
|
|
38
|
-
|
|
39
|
-
If `<target>` is missing, print the usage line and exit 1 without invoking the skill.
|
|
40
|
-
|
|
41
|
-
## Behavior
|
|
42
|
-
|
|
43
|
-
**Phase 1 — Catalog Discovery**
|
|
44
|
-
|
|
45
|
-
The skill scans `.claude/personas/*.md` in the current repo. Each file must have YAML frontmatter with at minimum `name`, `role`, and `tier`. If `--personas` is given, only matching files are loaded; unmatched names produce a warning but do not abort (the remaining personas proceed). If zero personas are resolved after filtering, exit 1 with: `no personas resolved — check .claude/personas/ or --personas filter`.
|
|
46
|
-
|
|
47
|
-
**Phase 2 — Target Resolution**
|
|
48
|
-
|
|
49
|
-
`<target>` is validated via `validatePathInsideProject`. Globs are expanded; directories are passed as-is for the skill to recurse. The resolved target is attached to each persona's prompt context.
|
|
50
|
-
|
|
51
|
-
**Phase 3 — Parallel Dispatch**
|
|
52
|
-
|
|
53
|
-
One `Agent()` call per resolved persona. Agents run with the persona's `model` frontmatter field (default `claude-opus-4-7`). Each agent receives the persona body as its system prompt and the target file content (or directory listing) as context. Agent outputs are collected in an `outputs[]` array keyed by persona name.
|
|
54
|
-
|
|
55
|
-
**Phase 4 — Consolidation**
|
|
56
|
-
|
|
57
|
-
Mode determines the consolidation strategy:
|
|
58
|
-
|
|
59
|
-
- `voting` — count PASS verdicts. Apply `--threshold` to determine final verdict. Dissenting personas (FAIL or UNCLEAR) are listed explicitly.
|
|
60
|
-
- `hard-gate` — all resolved personas must return PASS. Any single FAIL or UNCLEAR produces a final verdict of FAIL. Dissenting personas are listed.
|
|
61
|
-
- `summary` — coordinator LLM call aggregates heterogeneous outputs into a structured narrative. A WARN is emitted before dispatch: `summary mode adds one additional LLM call`.
|
|
62
|
-
|
|
63
|
-
**Phase 5 — Sidecar Persist + Report**
|
|
64
|
-
|
|
65
|
-
Unless `--dry-run`, a sidecar is written to `.orchestrator/persona-panel/<isoTs>-<run-id>.json` matching the schema at `agents/schemas/persona-panel-sidecar.schema.json`. The sidecar includes `run_id`, `target`, `personas_invoked[]`, `outputs[]`, and `consolidation` (mode, final-verdict, dissenting-personas, audit-reason).
|
|
66
|
-
|
|
67
|
-
The command emits a summary line to stdout:
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
persona-panel: <final-verdict> (<M>/<N> PASS) — sidecar: .orchestrator/persona-panel/<filename>.json
|
|
71
|
-
Dissenting: <name1>, <name2> [omitted when none]
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## Examples
|
|
75
|
-
|
|
76
|
-
**1. Default — all catalog personas, voting mode:**
|
|
77
|
-
|
|
78
|
-
```
|
|
79
|
-
/persona-panel src/app/api/invoices.ts
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
Loads all `.claude/personas/*.md`, dispatches one agent per persona, applies voting with threshold `all`, writes sidecar.
|
|
83
|
-
|
|
84
|
-
**2. Specific personas:**
|
|
85
|
-
|
|
86
|
-
```
|
|
87
|
-
/persona-panel src/app/api/invoices.ts --personas physicist,ai-expert
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Only the `physicist` and `ai-expert` catalog entries are dispatched. Others are skipped.
|
|
91
|
-
|
|
92
|
-
**3. Hard-gate mode, unanimous threshold:**
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
/persona-panel notes/draft.md --mode hard-gate --threshold all
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
All resolved personas must return PASS. A single FAIL produces a final FAIL verdict.
|
|
99
|
-
|
|
100
|
-
**4. Dry-run — inspect dispatch plan without executing:**
|
|
101
|
-
|
|
102
|
-
```
|
|
103
|
-
/persona-panel src/ --dry-run
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
Resolves catalog and target, prints the planned dispatch list (persona names, models, target), exits 0 without calling `Agent()` or writing a sidecar.
|
|
107
|
-
|
|
108
|
-
**5. Grounding-review mode — personas re-derive their own sources:**
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
/persona-panel docs/design-doc.md --grounding re-derive
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
Each dispatched persona is instructed to independently re-derive supporting sources via Read/Grep/Glob rather than trusting a "Sources" section already present in the input document (for example, `docs/design-doc.md`), and reports them as `derived_sources`. Advisory-only — `final_verdict` is unaffected. <!-- path-check: example -->
|
|
115
|
-
|
|
116
|
-
## Related
|
|
117
|
-
|
|
118
|
-
- `skills/persona-panel/SKILL.md` — skill spec: 6 phases, catalog format, dispatch mechanics, consolidation logic, sidecar schema
|
|
119
|
-
- `agents/schemas/persona-panel-sidecar.schema.json` — AJV Draft 2020-12 sidecar schema
|
|
120
|
-
- Issue #458 — wave-hook integration (persona-panel as inter-wave quality gate)
|
|
121
|
-
- Issue #460 — trend tracking across persona-panel runs
|
package/commands/plan.md
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Plan a new project, feature, or retrospective with structured requirement gathering
|
|
3
|
-
disable-model-invocation: true
|
|
4
|
-
argument-hint: "[new|feature|retro]"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Plan
|
|
8
|
-
|
|
9
|
-
You are beginning a structured planning session. The user has invoked `/plan` with mode: **$ARGUMENTS** (if empty, ask the user which mode they want: `new`, `feature`, or `retro`).
|
|
10
|
-
|
|
11
|
-
**Modes:** `new` = project kickoff, `feature` = feature PRD, `retro` = retrospective.
|
|
12
|
-
|
|
13
|
-
**Your job: Guide the user through structured requirement gathering and produce a complete plan document for the chosen mode.**
|
|
14
|
-
|
|
15
|
-
**Invoke the plan skill.** Follow its instructions precisely. Do NOT skip any phase. Do NOT make assumptions — gather requirements interactively.
|
package/commands/reconcile.md
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Reconcile learnings into .claude/rules/ proposals — on-demand version of session-end Phase 3.6.8
|
|
3
|
-
argument-hint: "[--dry-run]"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Reconcile
|
|
7
|
-
|
|
8
|
-
The user wants to reconcile learnings into rule proposals. Invoke the reconcile skill with arguments: **$ARGUMENTS**.
|
|
9
|
-
|
|
10
|
-
Runs the same pipeline as session-end Phase 3.6.8: filters eligible learnings from
|
|
11
|
-
`.orchestrator/metrics/learnings.jsonl`, renders proposed `.claude/rules/<slug>.md` entries,
|
|
12
|
-
and presents them to the operator via AUQ multiSelect (batches of 4) for approval before
|
|
13
|
-
writing. Advisory-only — no rule is ever written without explicit operator confirmation.
|
|
14
|
-
|
|
15
|
-
**Usage:**
|
|
16
|
-
|
|
17
|
-
- `/reconcile` — full approval flow: engine → AUQ → write approved rules
|
|
18
|
-
- `/reconcile --dry-run` — print proposals and rejections without writing anything or rendering the AUQ prompt
|
|
19
|
-
|
|
20
|
-
**Engine seams used:** `runReconcile` (engine.mjs) · `writeApprovedRules` (writer.mjs) · `reconcile` config block · `.claude/rules/` write target
|
|
21
|
-
|
|
22
|
-
Reads `reconcile.rule-expiry-days` and `reconcile.confidence-floor` from Session Config.
|
|
23
|
-
The `reconcile.enabled` flag is NOT checked — this command always runs on-demand.
|
package/commands/repo-audit.md
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Run a 9-category baseline compliance audit on the current repository
|
|
3
|
-
argument-hint: ""
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Repo Audit
|
|
7
|
-
|
|
8
|
-
The user wants to audit the current repository against the ecosystem baseline. There are no arguments.
|
|
9
|
-
|
|
10
|
-
Invoke `skills/repo-audit/SKILL.md` to perform the audit.
|
|
11
|
-
|
|
12
|
-
The skill will:
|
|
13
|
-
1. Read Session Config to resolve `test-command`, `typecheck-command`, and `lint-command` (falls back to `pnpm test --run`, `tsgo --noEmit`, `pnpm lint`)
|
|
14
|
-
2. Detect Clank integration markers (`.clank/`, `clank.config.*`) — Category 8 is skipped if absent
|
|
15
|
-
3. Run all 9 audit categories with status: ✓ pass / ✗ fail / ⚠ warn / skipped
|
|
16
|
-
4. Emit a structured Markdown report to stdout
|
|
17
|
-
5. Write a JSON sidecar to `.orchestrator/metrics/repo-audit-<timestamp>.json`
|
|
18
|
-
|
|
19
|
-
Do NOT skip any category (except Clank when not detected). Do NOT auto-fix findings — report only.
|
|
20
|
-
|
|
21
|
-
Distinguish from related commands:
|
|
22
|
-
- `/discovery` — broad quality probes, interactive triage, creates issues
|
|
23
|
-
- `/harness-audit` — plugin installation health (is session-orchestrator installed correctly?)
|
|
24
|
-
- `/repo-audit` — consuming-repo compliance (does this repo match the ecosystem baseline?)
|
package/commands/spinout.md
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Guided 5-step venture-spinout / sanitized-fork runbook (copy + fresh-init + SNAPSHOT-FREEZE) — interactive, not scripted
|
|
3
|
-
argument-hint: "[--type venture|snapshot] [--dry-run]"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Spinout
|
|
7
|
-
|
|
8
|
-
The user wants to extract this project (or a sub-path of it) into a new standalone repo — a venture spinout or a sanitized content-snapshot fork. Invoke the `spinout` skill.
|
|
9
|
-
|
|
10
|
-
## Flags
|
|
11
|
-
|
|
12
|
-
| Flag | Behavior |
|
|
13
|
-
|---|---|
|
|
14
|
-
| `--type venture\|snapshot` | Skips the extraction-type question in Phase 1 (`AskUserQuestion`) — still asks for destination path and sphere. |
|
|
15
|
-
| `--dry-run` | Runs all 5 phases as a plan-print (target, sanitize checklist, copy plan, freeze-marker draft, remote plan) with no writes. |
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Identify unused / near-zero-use / stale skills, agents, and commands as Demote or Retire candidates (read-only; never deletes)
|
|
3
|
-
argument-hint: "[--kind skill|agent|command] [--window-days N]"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Sunset Review
|
|
7
|
-
|
|
8
|
-
The user wants to identify which skills, agents, and commands in the plugin surface are still in use and which are candidates to demote or retire. Optional arguments narrow the scope: `--kind` limits to one surface kind, `--window-days` overrides the default 90-day dispatch window.
|
|
9
|
-
|
|
10
|
-
Invoke `skills/sunset-review/SKILL.md` to perform the review.
|
|
11
|
-
|
|
12
|
-
The skill will:
|
|
13
|
-
1. Resolve the dispatch window (default 90 days; honour any `--window-days` override)
|
|
14
|
-
2. Run the read-only walker `node scripts/lib/sunset/walker.mjs --json` to combine agent-dispatch telemetry (start-events only) with static reference scanning
|
|
15
|
-
3. Classify every surface item into Active / Investigate / Demote / Retire, grouped for review
|
|
16
|
-
4. Emit a Markdown report + JSON sidecar at `.orchestrator/metrics/sunset-review-<timestamp>.{md,json}`
|
|
17
|
-
5. Record the run time for the quarterly cadence nudge
|
|
18
|
-
|
|
19
|
-
Critical guardrails:
|
|
20
|
-
- The walker is READ-ONLY and NEVER deletes a skill/agent/command. It surfaces candidates for human decision only.
|
|
21
|
-
- Telemetry only spans ~18 days, so the 90-day window cannot be satisfied — every Retire verdict is downgraded to Investigate and `meta.lowConfidence` is set. Do not retire anything while low-confidence.
|
|
22
|
-
- Draft-issue creation for candidates is a coordinator-side AskUserQuestion decision (AUQ-004) — a dispatched agent cannot file issues itself.
|
|
23
|
-
|
|
24
|
-
Distinguish from related commands:
|
|
25
|
-
- `/repo-audit` — does this repo match the ecosystem baseline? (compliance pass/fail)
|
|
26
|
-
- `/sunset-review` — which parts of OUR surface are unused? (prune candidates)
|
|
27
|
-
- `/harness-audit` — is session-orchestrator installed correctly? (plugin health)
|
package/commands/ux-grill.md
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Grill a running web app's UX — a deterministic mechanical pass (axe, target size, overflow, journeys) followed by a screenshot-grounded interrogation of the operator.
|
|
3
|
-
argument-hint: "[url | manifest-path]"
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# UX-Grill
|
|
7
|
-
|
|
8
|
-
Invokes the `ux-grill` skill (`skills/ux-grill/SKILL.md`). Stufe 1 measures a running loopback build route-by-route and viewport-by-viewport without any model judgment, writing `findings.jsonl` plus screenshots under `.orchestrator/metrics/ux-grill/<run-id>/` <!-- path-check: example -->. Stufe 2 then grills the operator journey by journey — one question per journey finding, every claim carrying a screenshot path. The user invoked `/ux-grill` with arguments: **$ARGUMENTS**
|
|
9
|
-
|
|
10
|
-
## Argument Validation
|
|
11
|
-
|
|
12
|
-
Parse `$ARGUMENTS` before anything else. Exactly one positional argument is recognised:
|
|
13
|
-
|
|
14
|
-
- **An absolute `http(s)` URL** (e.g. `http://127.0.0.1:3100`) → bootstrap path. The target repo has no manifest yet; the skill asks for the env names, crawls the navigation and writes one. The URL must be loopback — anything else is refused before a browser starts.
|
|
15
|
-
- **A file path** (ends in `.md`, or resolves to an existing file) → treat it as the manifest path, repo-relative to the target repo.
|
|
16
|
-
- **Empty** → the manifest at `DEFAULT_MANIFEST_PATH` (`.orchestrator/ux-manifest.md` <!-- path-check: example -->). If that file does not exist, say so and name the bootstrap form `/ux-grill <url>` — do not invent a manifest from nothing.
|
|
17
|
-
- **Anything else** → stop with: `ux-grill: argument must be a loopback URL or a manifest path (default .orchestrator/ux-manifest.md)`.
|
|
18
|
-
|
|
19
|
-
Examples:
|
|
20
|
-
- `/ux-grill` — runs against the target repo's existing manifest
|
|
21
|
-
- `/ux-grill http://127.0.0.1:3100` — first run: AUQ for env names, crawl, write the manifest, stop with a fill-in hint
|
|
22
|
-
- `/ux-grill .orchestrator/ux-manifest.md` — explicit manifest path
|
|
23
|
-
|
|
24
|
-
## Behavior
|
|
25
|
-
|
|
26
|
-
1. **Phase 0 — Target + Stufe 1** — resolve the argument, bootstrap or `loadManifest()`, run the mechanical pass as one coordinator-direct Bash call, then compare against the last run with the same `manifest_hash`.
|
|
27
|
-
2. **Phase 1 — Journey map** — understand / decide / act / recover per journey step, from the step screenshots; mechanical findings tabled per route.
|
|
28
|
-
3. **Phase 2 — Grill loop** — at most one `AskUserQuestion` per JOURNEY finding, option 1 `(Recommended)` with its cost, screenshot path in the description.
|
|
29
|
-
4. **Phase 3 — Recap** — resolved decisions, contradictions between screens (the primary output), open questions, mechanical counts including everything skipped.
|
|
30
|
-
5. **Phase 4 — Hand-off** — AUQ: audit dossier in the target repo, vault note, issues only, or done.
|
|
31
|
-
|
|
32
|
-
## No CI, no HARD-GATE
|
|
33
|
-
|
|
34
|
-
Stufe 1 is built CI-shaped (deterministic, exit-coded, LLM-free) but is deliberately not wired into any pipeline — the PRD's dose argument. `/ux-grill` gates nothing: it writes measurement artefacts, an optional dossier and — only through `reconcile.mjs` <!-- path-check: planned #1327 --> — issues. It never commits, never pushes, never edits product code.
|
|
35
|
-
|
|
36
|
-
## When to use vs. /test and /grill
|
|
37
|
-
|
|
38
|
-
| Situation | Use |
|
|
39
|
-
|-----------|-----|
|
|
40
|
-
| A running web app's UX and journeys need measuring and interrogating | `/ux-grill` |
|
|
41
|
-
| A CI-shaped end-to-end run with driver + `ux-evaluator` over an existing profile | `/test` |
|
|
42
|
-
| A plan, PRD or design needs stress-testing before any build | `/grill` |
|
|
43
|
-
| Per-wave design drift against the design source | `design-reviewer` (SO#1300) |
|
|
44
|
-
|
|
45
|
-
## Related
|
|
46
|
-
|
|
47
|
-
- `skills/ux-grill/SKILL.md` — full skill specification (phases, budgets, hand-off)
|
|
48
|
-
- `skills/ux-grill/rubric-v2.md` — check catalogue, severity table, skip reasons
|
|
49
|
-
- `templates/_shared/ux-manifest.template.md` — the manifest a target repo commits
|
|
50
|
-
- `skills/test-runner/SKILL.md` — severity routing and batched AUQ triage, adopted here
|
|
51
|
-
- `.claude/rules/ask-via-tool.md` — AUQ usage convention (AUQ-001..006)
|