mandrel 1.94.0 → 2.0.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/README.md +59 -73
- package/.agents/agents/story-worker.md +12 -13
- package/.agents/docs/SDLC.md +489 -1285
- package/.agents/docs/agentrc-reference.json +177 -67
- package/.agents/docs/configuration.md +104 -138
- package/.agents/docs/execution-reference.md +17 -20
- package/.agents/docs/quality-gates.md +13 -19
- package/.agents/docs/workflows.md +3 -3
- package/.agents/instructions.md +70 -81
- package/.agents/rules/ci-remediation.md +8 -12
- package/.agents/rules/git-conventions-reference.md +6 -7
- package/.agents/rules/git-conventions.md +16 -22
- package/.agents/schemas/acceptance-eval-verdict.schema.json +1 -1
- package/.agents/schemas/agentrc.schema.json +54 -214
- package/.agents/schemas/lifecycle/ledger-record.schema.json +1 -1
- package/.agents/schemas/lifecycle/retro.end.schema.json +1 -1
- package/.agents/schemas/risk-verdict.schema.json +0 -13
- package/.agents/scripts/analyze-execution.js +1 -1
- package/.agents/scripts/audit-to-stories.js +7 -7
- package/.agents/scripts/boot-sweep.js +1 -1
- package/.agents/scripts/check-lifecycle-lint.js +6 -9
- package/.agents/scripts/check-prepush-recovery.js +1 -1
- package/.agents/scripts/cleanup-repo-test-temp.js +6 -1
- package/.agents/scripts/lib/Logger.js +6 -10
- package/.agents/scripts/lib/audit-suite/runner.js +2 -2
- package/.agents/scripts/lib/audit-suite/selector.js +5 -5
- package/.agents/scripts/lib/audit-to-stories/{seed-epic-from-findings.js → seed-from-findings.js} +9 -9
- package/.agents/scripts/lib/baselines/kernel.js +206 -18
- package/.agents/scripts/lib/baselines/kinds/maintainability.js +0 -4
- package/.agents/scripts/lib/baselines/reader.js +1 -6
- package/.agents/scripts/lib/bdd-runner-detect.js +5 -9
- package/.agents/scripts/lib/bootstrap/issue-forms-template.js +32 -33
- package/.agents/scripts/lib/checks/core-bare-clean.js +2 -2
- package/.agents/scripts/lib/checks/index.js +2 -1
- package/.agents/scripts/lib/checks/story-init-not-backgrounded.js +23 -21
- package/.agents/scripts/lib/cli/standard-args.js +13 -22
- package/.agents/scripts/lib/cli-args.js +16 -7
- package/.agents/scripts/lib/close-validation/gates.js +2 -2
- package/.agents/scripts/lib/config/ci.js +6 -31
- package/.agents/scripts/lib/config/delivery-routing.js +45 -29
- package/.agents/scripts/lib/config/explain.js +55 -36
- package/.agents/scripts/lib/config/limits.js +17 -58
- package/.agents/scripts/lib/config/paths.js +0 -2
- package/.agents/scripts/lib/config/quality.js +1 -1
- package/.agents/scripts/lib/config/runners.js +17 -50
- package/.agents/scripts/lib/config/temp-paths.js +19 -14
- package/.agents/scripts/lib/config/worktree-isolation.js +0 -5
- package/.agents/scripts/lib/config-resolver.js +2 -7
- package/.agents/scripts/lib/config-settings-schema-delivery.js +24 -148
- package/.agents/scripts/lib/config-settings-schema-quality.js +8 -14
- package/.agents/scripts/lib/config-settings-schema.js +52 -38
- package/.agents/scripts/lib/dependency-parser.js +3 -2
- package/.agents/scripts/lib/doc-tiers.js +2 -2
- package/.agents/scripts/lib/duplicate-search.js +211 -41
- package/.agents/scripts/lib/feedback-loop/retro-proposals-graduator.js +1 -1
- package/.agents/scripts/lib/findings/promote-finding.js +5 -5
- package/.agents/scripts/lib/framework-version.js +2 -3
- package/.agents/scripts/lib/git-branch-cleanup.js +1 -10
- package/.agents/scripts/lib/git-branch-lifecycle.js +17 -22
- package/.agents/scripts/lib/git-utils.js +32 -6
- package/.agents/scripts/lib/github/framework-repo.js +6 -0
- package/.agents/scripts/lib/label-constants.js +10 -23
- package/.agents/scripts/lib/label-taxonomy.js +9 -43
- package/.agents/scripts/lib/observability/active-story-env.js +1 -1
- package/.agents/scripts/lib/observability/hook-heartbeat.js +20 -52
- package/.agents/scripts/lib/observability/source-classifier.js +3 -3
- package/.agents/scripts/lib/onboard/init-tail.js +1 -3
- package/.agents/scripts/lib/orchestration/audit-lens-routing.js +128 -0
- package/.agents/scripts/lib/orchestration/bookkeeping-outbox.js +8 -5
- package/.agents/scripts/lib/orchestration/ceremony-routing.js +83 -20
- package/.agents/scripts/lib/orchestration/code-review.js +20 -268
- package/.agents/scripts/lib/orchestration/column-sync.js +1 -1
- package/.agents/scripts/lib/orchestration/consolidation-precondition.js +1 -1
- package/.agents/scripts/lib/orchestration/context-envelope.js +2 -5
- package/.agents/scripts/lib/orchestration/docs-digest.js +8 -8
- package/.agents/scripts/lib/orchestration/file-assumptions.js +7 -13
- package/.agents/scripts/lib/orchestration/git-cleanup/phases/cli.js +1 -1
- package/.agents/scripts/lib/orchestration/lifecycle/emit-loop-tick.js +8 -8
- package/.agents/scripts/lib/orchestration/lifecycle/emit-story-heartbeat.js +2 -2
- package/.agents/scripts/lib/orchestration/lifecycle/ledger-writer.js +6 -3
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/README.md +17 -43
- package/.agents/scripts/lib/orchestration/lint-baseline-service.js +4 -4
- package/.agents/scripts/lib/orchestration/merge-block-class.js +1 -1
- package/.agents/scripts/lib/orchestration/phase-runner.js +3 -2
- package/.agents/scripts/lib/orchestration/plan-context.js +248 -266
- package/.agents/scripts/lib/orchestration/plan-critics-evaluate.js +1 -1
- package/.agents/scripts/lib/orchestration/plan-navigation.js +92 -0
- package/.agents/scripts/lib/orchestration/plan-persist/fan-out-gate.js +61 -0
- package/.agents/scripts/lib/orchestration/plan-persist/persist-helpers.js +97 -0
- package/.agents/scripts/lib/orchestration/plan-persist/run-plan-persist.js +223 -854
- package/.agents/scripts/lib/orchestration/plan-persist/story-ops.js +361 -0
- package/.agents/scripts/lib/orchestration/plan-persist/summary.js +35 -108
- package/.agents/scripts/lib/orchestration/plan-reachability.js +9 -14
- package/.agents/scripts/lib/orchestration/plan-runner/worktree-sweep.js +1 -1
- package/.agents/scripts/lib/orchestration/{epic-plan-spec/phases → planning}/authoring-context.js +13 -13
- package/.agents/scripts/lib/orchestration/planning/decomposer-context.js +27 -0
- package/.agents/scripts/lib/orchestration/{epic-plan-spec/phases → planning}/risk-verdict.js +3 -4
- package/.agents/scripts/lib/orchestration/post-merge/phases/branch-cleanup.js +2 -2
- package/.agents/scripts/lib/orchestration/post-merge/phases/dashboard-refresh.js +8 -20
- package/.agents/scripts/lib/orchestration/post-merge/phases/worktree-reap.js +3 -2
- package/.agents/scripts/lib/orchestration/pr-base-guard.js +18 -28
- package/.agents/scripts/lib/orchestration/preflight-cache.js +5 -5
- package/.agents/scripts/lib/orchestration/remote-verifier.js +1 -1
- package/.agents/scripts/lib/orchestration/resolve-plan-run.js +155 -0
- package/.agents/scripts/lib/orchestration/resolves-token.js +1 -1
- package/.agents/scripts/lib/orchestration/retro-perf-heuristics.js +8 -8
- package/.agents/scripts/lib/orchestration/retro-proposals.js +140 -79
- package/.agents/scripts/lib/orchestration/review-depth.js +26 -12
- package/.agents/scripts/lib/orchestration/review-providers/codex.js +2 -2
- package/.agents/scripts/lib/orchestration/review-providers/review-provider-factory.js +21 -56
- package/.agents/scripts/lib/orchestration/run-epilogue.js +426 -0
- package/.agents/scripts/lib/orchestration/single-story-close/phases/auto-merge.js +1 -1
- package/.agents/scripts/lib/orchestration/single-story-close/phases/code-review.js +95 -41
- package/.agents/scripts/lib/orchestration/single-story-close/phases/options.js +16 -13
- package/.agents/scripts/lib/orchestration/single-story-close/phases/review-block.js +40 -0
- package/.agents/scripts/lib/orchestration/single-story-close/runner.js +11 -3
- package/.agents/scripts/lib/orchestration/spec-freshness.js +14 -205
- package/.agents/scripts/lib/orchestration/spec-section-validator.js +4 -5
- package/.agents/scripts/lib/orchestration/spec-spill.js +60 -0
- package/.agents/scripts/lib/orchestration/split-policy-validator.js +188 -0
- package/.agents/scripts/lib/orchestration/story-close/emit-blocked.js +49 -0
- package/.agents/scripts/lib/orchestration/story-close/phases/code-review.js +15 -12
- package/.agents/scripts/lib/orchestration/story-follow-ups.js +237 -0
- package/.agents/scripts/lib/orchestration/story-init-remote.js +47 -0
- package/.agents/scripts/lib/orchestration/story-plan-state.js +48 -0
- package/.agents/scripts/lib/orchestration/{epic-runner → story-progress}/story-run-progress-writer.js +3 -3
- package/.agents/scripts/lib/orchestration/structured-comment-parser.js +1 -1
- package/.agents/scripts/lib/orchestration/task-body-validator.js +8 -18
- package/.agents/scripts/lib/orchestration/ticket-validator-conflicts.js +11 -61
- package/.agents/scripts/lib/orchestration/ticket-validator-sizing.js +189 -373
- package/.agents/scripts/lib/orchestration/ticket-validator.js +2 -7
- package/.agents/scripts/lib/orchestration/ticketing/bulk.js +0 -25
- package/.agents/scripts/lib/orchestration/ticketing/reads.js +29 -26
- package/.agents/scripts/lib/orchestration/ticketing/transition.js +5 -5
- package/.agents/scripts/lib/planning-corpus.js +16 -11
- package/.agents/scripts/lib/preflight-runner.js +2 -2
- package/.agents/scripts/lib/qa/coverage-verdict.js +5 -5
- package/.agents/scripts/lib/single-story/confirm-merge-follow-ups.js +36 -0
- package/.agents/scripts/lib/single-story-sweep/protection-ctx.js +1 -1
- package/.agents/scripts/lib/story-adjacency.js +11 -14
- package/.agents/scripts/lib/story-body/story-body.js +124 -70
- package/.agents/scripts/lib/story-plan.js +2 -4
- package/.agents/scripts/lib/templates/decomposer-prompts.js +46 -45
- package/.agents/scripts/lib/templates/spec-author-prompts.js +47 -45
- package/.agents/scripts/lib/{epic-body-sections.js → ticket-body-sections.js} +26 -26
- package/.agents/scripts/lib/validation-evidence.js +1 -1
- package/.agents/scripts/lib/wave-runner/ready-set.js +6 -6
- package/.agents/scripts/lib/workspace-provisioner.js +1 -1
- package/.agents/scripts/lib/worktree/lifecycle/reap.js +5 -7
- package/.agents/scripts/lint-issue-body.js +71 -40
- package/.agents/scripts/mandrel-update-preflight.js +1 -1
- package/.agents/scripts/notify.js +4 -3
- package/.agents/scripts/plan-context.js +64 -74
- package/.agents/scripts/plan-persist.js +121 -280
- package/.agents/scripts/plan-run-epilogue.js +97 -0
- package/.agents/scripts/providers/github/issues.js +17 -33
- package/.agents/scripts/providers/github/mappers.js +0 -12
- package/.agents/scripts/providers/github/tickets.js +2 -5
- package/.agents/scripts/resolve-plan-run.js +117 -0
- package/.agents/scripts/signals-view.js +24 -19
- package/.agents/scripts/single-story-close.js +11 -14
- package/.agents/scripts/single-story-confirm-merge.js +39 -23
- package/.agents/scripts/single-story-init.js +29 -20
- package/.agents/scripts/stories-wave-tick.js +6 -6
- package/.agents/scripts/story-plan.js +26 -47
- package/.agents/scripts/update-ticket-state.js +6 -15
- package/.agents/skills/core/analyze-execution/SKILL.md +21 -18
- package/.agents/skills/core/idea-refinement/SKILL.md +6 -6
- package/.agents/skills/core/scope-triage/SKILL.md +28 -172
- package/.agents/skills/skills.index.json +3 -43
- package/.agents/starter-agentrc.json +0 -5
- package/.agents/templates/agent-protocol.md +9 -10
- package/.agents/workflows/audit-architecture.md +3 -3
- package/.agents/workflows/audit-clean-code.md +3 -3
- package/.agents/workflows/audit-dependencies.md +3 -3
- package/.agents/workflows/audit-devops.md +3 -3
- package/.agents/workflows/audit-documentation.md +5 -5
- package/.agents/workflows/audit-lighthouse.md +3 -3
- package/.agents/workflows/audit-navigability.md +3 -2
- package/.agents/workflows/audit-performance.md +3 -3
- package/.agents/workflows/audit-privacy.md +3 -3
- package/.agents/workflows/audit-quality.md +3 -3
- package/.agents/workflows/audit-security.md +3 -3
- package/.agents/workflows/audit-seo.md +3 -3
- package/.agents/workflows/audit-sre.md +3 -3
- package/.agents/workflows/audit-to-stories.md +20 -20
- package/.agents/workflows/audit-ux-ui.md +3 -3
- package/.agents/workflows/deliver.md +122 -174
- package/.agents/workflows/git-cleanup.md +3 -4
- package/.agents/workflows/helpers/_merge-conflict-template.md +1 -1
- package/.agents/workflows/helpers/acceptance-self-eval.md +16 -29
- package/.agents/workflows/helpers/code-review.md +70 -193
- package/.agents/workflows/helpers/{single-story-deliver-reference.md → deliver-story-reference.md} +12 -14
- package/.agents/workflows/helpers/{single-story-deliver.md → deliver-story.md} +113 -139
- package/.agents/workflows/helpers/diagnose.md +10 -10
- package/.agents/workflows/helpers/parallel-tooling.md +1 -1
- package/.agents/workflows/helpers/signals.md +16 -16
- package/.agents/workflows/helpers/worktree-lifecycle.md +48 -64
- package/.agents/workflows/mandrel-update.md +2 -1
- package/.agents/workflows/plan.md +112 -145
- package/.agents/workflows/qa-assist.md +24 -30
- package/.agents/workflows/qa-explore.md +29 -38
- package/.agents/workflows/qa-run.md +2 -2
- package/README.md +9 -8
- package/docs/CHANGELOG.md +30 -0
- package/lib/migrations/index.js +6 -5
- package/package.json +2 -2
- package/.agents/agents/retro.md +0 -42
- package/.agents/personas/architect.md +0 -113
- package/.agents/personas/devops-engineer.md +0 -38
- package/.agents/personas/engineer.md +0 -33
- package/.agents/personas/project-manager.md +0 -114
- package/.agents/personas/qa-engineer.md +0 -95
- package/.agents/personas/security-engineer.md +0 -111
- package/.agents/personas/technical-writer.md +0 -101
- package/.agents/schemas/dispatch-manifest.json +0 -232
- package/.agents/schemas/epic-spec.schema.json +0 -153
- package/.agents/schemas/lifecycle/slice.end.schema.json +0 -21
- package/.agents/schemas/lifecycle/slice.heartbeat.schema.json +0 -20
- package/.agents/schemas/lifecycle/slice.start.schema.json +0 -17
- package/.agents/scripts/acceptance-spec-reconciler.js +0 -642
- package/.agents/scripts/bookkeeping-reconcile.js +0 -117
- package/.agents/scripts/dispatcher.js +0 -295
- package/.agents/scripts/epic-audit-prepare.js +0 -497
- package/.agents/scripts/epic-audit-recheck.js +0 -274
- package/.agents/scripts/epic-deliver-note-intervention.js +0 -192
- package/.agents/scripts/epic-deliver-preflight.js +0 -462
- package/.agents/scripts/epic-deliver-prepare.js +0 -852
- package/.agents/scripts/epic-execute-record-wave.js +0 -449
- package/.agents/scripts/epic-plan-clarity.js +0 -211
- package/.agents/scripts/epic-plan-healthcheck.js +0 -581
- package/.agents/scripts/epic-reconcile.js +0 -625
- package/.agents/scripts/lib/baseline-snapshot.js +0 -979
- package/.agents/scripts/lib/checks/epic-merge-lock-stale.js +0 -54
- package/.agents/scripts/lib/checks/stale-origin-epic.js +0 -49
- package/.agents/scripts/lib/config/lifecycle.js +0 -40
- package/.agents/scripts/lib/config/preflight.js +0 -58
- package/.agents/scripts/lib/config/retro.js +0 -77
- package/.agents/scripts/lib/epic-merge-lock.js +0 -322
- package/.agents/scripts/lib/epic-plan-clarity.js +0 -181
- package/.agents/scripts/lib/epic-plan-ideation.js +0 -261
- package/.agents/scripts/lib/orchestration/context-hydration-engine.js +0 -539
- package/.agents/scripts/lib/orchestration/deliver-route.js +0 -173
- package/.agents/scripts/lib/orchestration/dispatch-engine.js +0 -134
- package/.agents/scripts/lib/orchestration/dispatch-pipeline.js +0 -183
- package/.agents/scripts/lib/orchestration/epic-cleanup.js +0 -801
- package/.agents/scripts/lib/orchestration/epic-deliver-lease-guard.js +0 -310
- package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/context.js +0 -163
- package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/creation.js +0 -140
- package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/dag.js +0 -64
- package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/diagnostics.js +0 -72
- package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/persist-helpers.js +0 -156
- package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/persist.js +0 -345
- package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/planning-artifacts.js +0 -41
- package/.agents/scripts/lib/orchestration/epic-plan-decompose/phases/reconcile-spawn.js +0 -86
- package/.agents/scripts/lib/orchestration/epic-plan-lease-guard.js +0 -391
- package/.agents/scripts/lib/orchestration/epic-plan-spec/phases/drain.js +0 -94
- package/.agents/scripts/lib/orchestration/epic-plan-spec/phases/plan-epic.js +0 -236
- package/.agents/scripts/lib/orchestration/epic-plan-spec/phases/run-spec-phase.js +0 -307
- package/.agents/scripts/lib/orchestration/epic-plan-spec/phases/spec-freshness.js +0 -117
- package/.agents/scripts/lib/orchestration/epic-plan-state-store.js +0 -117
- package/.agents/scripts/lib/orchestration/epic-run-state-store.js +0 -621
- package/.agents/scripts/lib/orchestration/epic-runner/concurrency-gate.js +0 -186
- package/.agents/scripts/lib/orchestration/epic-runner/deliver-phases.js +0 -50
- package/.agents/scripts/lib/orchestration/epic-runner/phases/build-wave-dag.js +0 -129
- package/.agents/scripts/lib/orchestration/epic-runner/phases/snapshot.js +0 -103
- package/.agents/scripts/lib/orchestration/epic-runner/progress-reporter/composition.js +0 -267
- package/.agents/scripts/lib/orchestration/epic-runner/progress-reporter/signals.js +0 -210
- package/.agents/scripts/lib/orchestration/epic-runner/progress-reporter/transport.js +0 -238
- package/.agents/scripts/lib/orchestration/epic-runner/progress-signals/_bullet-format.js +0 -32
- package/.agents/scripts/lib/orchestration/epic-runner/progress-signals/component-drift.js +0 -203
- package/.agents/scripts/lib/orchestration/epic-runner/progress-signals/crap-drift.js +0 -227
- package/.agents/scripts/lib/orchestration/epic-runner/progress-signals/maintainability-drift.js +0 -117
- package/.agents/scripts/lib/orchestration/epic-runner/progress-signals/stalled-worktree.js +0 -37
- package/.agents/scripts/lib/orchestration/epic-runner/story-launcher.js +0 -127
- package/.agents/scripts/lib/orchestration/epic-runner/sub-agent-return.js +0 -276
- package/.agents/scripts/lib/orchestration/epic-runner/wave-scheduler.js +0 -66
- package/.agents/scripts/lib/orchestration/epic-spec-reconciler-apply.js +0 -789
- package/.agents/scripts/lib/orchestration/epic-spec-reconciler-diff.js +0 -676
- package/.agents/scripts/lib/orchestration/epic-spec-reconciler-discriminator.js +0 -389
- package/.agents/scripts/lib/orchestration/epic-spec-reconciler-format.js +0 -230
- package/.agents/scripts/lib/orchestration/epic-spec-reconciler-ops.js +0 -361
- package/.agents/scripts/lib/orchestration/finalize/open-or-locate-pr.js +0 -306
- package/.agents/scripts/lib/orchestration/finalize/post-handoff-comment.js +0 -489
- package/.agents/scripts/lib/orchestration/finalize/sanitize-skip-ci.js +0 -88
- package/.agents/scripts/lib/orchestration/lifecycle/emit-slice-lifecycle.js +0 -270
- package/.agents/scripts/lib/orchestration/lifecycle/emit-story-dispatch-end.js +0 -147
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/acceptance-reconciler.js +0 -465
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/automerge-armer.js +0 -501
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/automerge-predicate.js +0 -984
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/branch-cleaner.js +0 -264
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/checkpoint-pointer-writer.js +0 -284
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/cleaner.js +0 -355
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/finalizer.js +0 -673
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/index.js +0 -378
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/intervention-recorder.js +0 -140
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/label-transitioner.js +0 -144
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/notify-dispatcher.js +0 -174
- package/.agents/scripts/lib/orchestration/manifest-builder.js +0 -222
- package/.agents/scripts/lib/orchestration/plan-persist/amend.js +0 -359
- package/.agents/scripts/lib/orchestration/plan-persist/delivery-mode.js +0 -127
- package/.agents/scripts/lib/orchestration/post-merge-pipeline.js +0 -205
- package/.agents/scripts/lib/orchestration/recurring-failure-detector.js +0 -152
- package/.agents/scripts/lib/orchestration/retro/phases/checks.js +0 -94
- package/.agents/scripts/lib/orchestration/retro/phases/compose-body.js +0 -571
- package/.agents/scripts/lib/orchestration/retro/phases/gather-signals.js +0 -450
- package/.agents/scripts/lib/orchestration/retro/phases/post-and-mirror.js +0 -191
- package/.agents/scripts/lib/orchestration/retro-heuristics.js +0 -57
- package/.agents/scripts/lib/orchestration/retro-runner.js +0 -197
- package/.agents/scripts/lib/orchestration/spec-renderer.js +0 -447
- package/.agents/scripts/lib/orchestration/story-close/auto-refresh-runner.js +0 -747
- package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/gate-failure.js +0 -211
- package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/pre-merge-attribution.js +0 -158
- package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/refresh-commit.js +0 -446
- package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/regression-projection.js +0 -297
- package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/scope-discovery.js +0 -48
- package/.agents/scripts/lib/orchestration/story-close/baseline-attribution-wiring.js +0 -67
- package/.agents/scripts/lib/orchestration/story-close/baseline-attribution.js +0 -161
- package/.agents/scripts/lib/orchestration/story-close/baseline-friction-body.js +0 -117
- package/.agents/scripts/lib/orchestration/story-close/cd-out-guard.js +0 -86
- package/.agents/scripts/lib/orchestration/story-close/cleanup-reconciler.js +0 -147
- package/.agents/scripts/lib/orchestration/story-close/close-inputs.js +0 -142
- package/.agents/scripts/lib/orchestration/story-close/comment-bodies.js +0 -62
- package/.agents/scripts/lib/orchestration/story-close/merge-runner.js +0 -658
- package/.agents/scripts/lib/orchestration/story-close/merge-subject.js +0 -198
- package/.agents/scripts/lib/orchestration/story-close/phases/branch-restore.js +0 -105
- package/.agents/scripts/lib/orchestration/story-close/phases/close.js +0 -222
- package/.agents/scripts/lib/orchestration/story-close/phases/gates.js +0 -292
- package/.agents/scripts/lib/orchestration/story-close/phases/locked-pipeline.js +0 -270
- package/.agents/scripts/lib/orchestration/story-close/phases/preflight.js +0 -110
- package/.agents/scripts/lib/orchestration/story-close/phases/refresh.js +0 -86
- package/.agents/scripts/lib/orchestration/story-close/phases/timeout-blocked-emitter.js +0 -112
- package/.agents/scripts/lib/orchestration/story-close/phases/timeout-blocked.js +0 -157
- package/.agents/scripts/lib/orchestration/story-close/post-merge-close.js +0 -421
- package/.agents/scripts/lib/orchestration/story-close/pre-merge-validation.js +0 -302
- package/.agents/scripts/lib/orchestration/story-close/shared-checkout-guard.js +0 -163
- package/.agents/scripts/lib/orchestration/story-close-recovery.js +0 -690
- package/.agents/scripts/lib/orchestration/wave-marker.js +0 -28
- package/.agents/scripts/lib/orchestration/wave-record-io.js +0 -218
- package/.agents/scripts/lib/orchestration/wave-record-notifications.js +0 -145
- package/.agents/scripts/lib/orchestration/wave-record-projection.js +0 -212
- package/.agents/scripts/lib/presentation/dispatch-manifest-render.js +0 -111
- package/.agents/scripts/lib/presentation/manifest-builder.js +0 -239
- package/.agents/scripts/lib/presentation/manifest-formatter.js +0 -242
- package/.agents/scripts/lib/presentation/manifest-helpers.js +0 -213
- package/.agents/scripts/lib/presentation/manifest-persistence.js +0 -261
- package/.agents/scripts/lib/presentation/manifest-procedures.js +0 -55
- package/.agents/scripts/lib/presentation/manifest-render-waves.js +0 -306
- package/.agents/scripts/lib/presentation/manifest-renderer.js +0 -188
- package/.agents/scripts/lib/presentation/manifest-story-views.js +0 -110
- package/.agents/scripts/lib/push-epic-retry.js +0 -209
- package/.agents/scripts/lib/spec/index.js +0 -36
- package/.agents/scripts/lib/spec/loader.js +0 -425
- package/.agents/scripts/lib/spec/state.js +0 -208
- package/.agents/scripts/lib/story-init/blocker-validator.js +0 -68
- package/.agents/scripts/lib/story-init/branch-initializer.js +0 -408
- package/.agents/scripts/lib/story-init/context-resolver.js +0 -92
- package/.agents/scripts/lib/story-init/donor-precheck.js +0 -207
- package/.agents/scripts/lib/story-init/state-transitioner.js +0 -80
- package/.agents/scripts/lib/story-init/task-graph-builder.js +0 -124
- package/.agents/scripts/lib/story-init/transition-summary.js +0 -34
- package/.agents/scripts/lib/test-reserved-epic-temp-ids.js +0 -35
- package/.agents/scripts/lib/wave-runner/tick.js +0 -754
- package/.agents/scripts/lib/wave-runner/wave-runner-error.js +0 -20
- package/.agents/scripts/lifecycle-emit-story-dispatch.js +0 -194
- package/.agents/scripts/lifecycle-emit.js +0 -510
- package/.agents/scripts/retro-run.js +0 -218
- package/.agents/scripts/slice-phase.js +0 -361
- package/.agents/scripts/standalone-feedback-rollup.js +0 -188
- package/.agents/scripts/story-close.js +0 -294
- package/.agents/scripts/story-init.js +0 -599
- package/.agents/scripts/story-phase.js +0 -369
- package/.agents/scripts/wave-tick.js +0 -464
- package/.agents/skills/core/epic-plan-consolidate/SKILL.md +0 -172
- package/.agents/skills/core/epic-plan-consolidate/examples.md +0 -51
- package/.agents/skills/core/epic-plan-decompose-author/SKILL.md +0 -441
- package/.agents/skills/core/epic-plan-decompose-author/examples.md +0 -47
- package/.agents/skills/core/epic-plan-premortem/SKILL.md +0 -146
- package/.agents/skills/core/epic-plan-premortem/examples.md +0 -53
- package/.agents/skills/core/epic-plan-spec-author/SKILL.md +0 -383
- package/.agents/skills/core/epic-plan-spec-author/examples.md +0 -91
- package/.agents/workflows/helpers/deliver-epic-reference.md +0 -547
- package/.agents/workflows/helpers/deliver-epic-single.md +0 -331
- package/.agents/workflows/helpers/deliver-epic.md +0 -998
- package/.agents/workflows/helpers/deliver-stories.md +0 -450
- package/.agents/workflows/helpers/epic-audit.md +0 -189
- package/.agents/workflows/helpers/epic-deliver-story.md +0 -436
- package/.agents/workflows/helpers/epic-testing.md +0 -125
- package/.agents/workflows/helpers/plan-epic-reference.md +0 -160
- package/.agents/workflows/helpers/plan-epic.md +0 -353
- package/.agents/workflows/helpers/plan-story.md +0 -251
- package/.agents/workflows/helpers/scope-triage-gate.md +0 -108
- /package/.agents/scripts/lib/orchestration/{epic-plan-spec/phases → planning}/spec-authoring-grounding.js +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-07-
|
|
2
|
+
"generatedAt": "2026-07-14T21:42:10.296Z",
|
|
3
3
|
"generator": "generate-skills-index.js@1",
|
|
4
4
|
"skills": [
|
|
5
5
|
{
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"tier": "core",
|
|
8
8
|
"category": "core",
|
|
9
9
|
"path": ".agents/skills/core/analyze-execution/SKILL.md",
|
|
10
|
-
"description": "Aggregate per-Story or per-
|
|
10
|
+
"description": "Aggregate per-Story or per-plan-run execution signals into a structured perf-summary or perf-report and upsert it onto the corresponding GitHub ticket. Use after a Story closes (Story mode) or during run closeout (plan-run mode). Reads NDJSON via `lib/signals/read` and writes a single structured comment.",
|
|
11
11
|
"policyCapsuleBullets": 8,
|
|
12
12
|
"allowedTools": ["Read", "Bash"],
|
|
13
13
|
"vendor": null
|
|
@@ -72,46 +72,6 @@
|
|
|
72
72
|
"allowedTools": null,
|
|
73
73
|
"vendor": null
|
|
74
74
|
},
|
|
75
|
-
{
|
|
76
|
-
"name": "epic-plan-consolidate",
|
|
77
|
-
"tier": "core",
|
|
78
|
-
"category": "core",
|
|
79
|
-
"path": ".agents/skills/core/epic-plan-consolidate/SKILL.md",
|
|
80
|
-
"description": "Run a holistic, pre-persist consolidation pass over the draft Story ticket array an Epic's decompose phase produced. Use during Phase 8 of `/plan`, after `epic-plan-decompose-author` writes `temp/epic-<Epic_ID>/tickets.json` and before `plan-persist.js` validates and persists it. Reconciles the draft against the Tech Spec \"Delivery Slicing\" ceiling via scope-preserving operations only.",
|
|
81
|
-
"policyCapsuleBullets": 9,
|
|
82
|
-
"allowedTools": ["Read", "Write", "Bash"],
|
|
83
|
-
"vendor": null
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
"name": "epic-plan-decompose-author",
|
|
87
|
-
"tier": "core",
|
|
88
|
-
"category": "core",
|
|
89
|
-
"path": ".agents/skills/core/epic-plan-decompose-author/SKILL.md",
|
|
90
|
-
"description": "Author the Story ticket JSON for an Epic from the decomposer authoring context emitted by `plan-context.js --epic <Epic_ID>`. Use during Phase 8 of `/plan` when the host LLM needs to write the ticket array before `plan-persist.js` validates and persists it.",
|
|
91
|
-
"policyCapsuleBullets": 15,
|
|
92
|
-
"allowedTools": ["Read", "Write", "Bash"],
|
|
93
|
-
"vendor": null
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
"name": "epic-plan-premortem",
|
|
97
|
-
"tier": "core",
|
|
98
|
-
"category": "core",
|
|
99
|
-
"path": ".agents/skills/core/epic-plan-premortem/SKILL.md",
|
|
100
|
-
"description": "Run a fresh-context, code-reading pre-mortem critic over the draft Story ticket array an Epic's decompose phase produced. Use during Phase 8 of `/plan`, after `epic-plan-decompose-author` / `epic-plan-consolidate` write `temp/epic-<Epic_ID>/tickets.json` and before `plan-persist.js` validates and persists it. Reads the sectioned Epic body AND the cited code surfaces, then emits predicted-rework findings before any GitHub write.",
|
|
101
|
-
"policyCapsuleBullets": 7,
|
|
102
|
-
"allowedTools": ["Read", "Write", "Bash", "Grep"],
|
|
103
|
-
"vendor": null
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
"name": "epic-plan-spec-author",
|
|
107
|
-
"tier": "core",
|
|
108
|
-
"category": "core",
|
|
109
|
-
"path": ".agents/skills/core/epic-plan-spec-author/SKILL.md",
|
|
110
|
-
"description": "Author the Tech Spec, Acceptance Table markdown, and risk-verdict JSON for an Epic from the planner authoring context emitted by `plan-context.js --epic <Epic_ID>`. Use during Phase 7 of `/plan` when the host LLM needs to write the three artifacts before `plan-persist.js` folds them into the Epic body's managed sections.",
|
|
111
|
-
"policyCapsuleBullets": 14,
|
|
112
|
-
"allowedTools": ["Read", "Write", "Bash"],
|
|
113
|
-
"vendor": null
|
|
114
|
-
},
|
|
115
75
|
{
|
|
116
76
|
"name": "gates-and-baselines",
|
|
117
77
|
"tier": "core",
|
|
@@ -157,7 +117,7 @@
|
|
|
157
117
|
"tier": "core",
|
|
158
118
|
"category": "core",
|
|
159
119
|
"path": ".agents/skills/core/scope-triage/SKILL.md",
|
|
160
|
-
"description": "
|
|
120
|
+
"description": "Optional split-advisory for `/plan`. Under v2 there is no epic|story routing verdict — `/plan` always authors Stories. Use this skill only when judging whether a draft should stay one Story or legitimately split (near-zero overlap or an architectural seam).",
|
|
161
121
|
"policyCapsuleBullets": 1,
|
|
162
122
|
"allowedTools": null,
|
|
163
123
|
"vendor": null
|
|
@@ -5,14 +5,14 @@ Version: {{PROTOCOL_VERSION}}
|
|
|
5
5
|
You are an AI coding assistant. This protocol governs your execution of the
|
|
6
6
|
current work unit. You must follow these rules strictly.
|
|
7
7
|
|
|
8
|
-
> **Hierarchy shape.** Mandrel uses a **
|
|
9
|
-
>
|
|
10
|
-
>
|
|
11
|
-
>
|
|
8
|
+
> **Hierarchy shape.** Mandrel uses a **Story-only** model. The work unit
|
|
9
|
+
> is the `type::story` issue itself, with acceptance criteria and
|
|
10
|
+
> verification inlined on the Story body and the folded Tech Spec in
|
|
11
|
+
> `## Spec`. There is no per-Task sub-loop; the agent authors commit
|
|
12
12
|
> subjects directly per `.agents/rules/git-conventions.md` and
|
|
13
|
-
> references the
|
|
14
|
-
> (`{{BRANCH_NAME}}` from `{{EPIC_BRANCH}}`), the
|
|
15
|
-
>
|
|
13
|
+
> references the Story via `(refs #<storyId>)`. Branch naming
|
|
14
|
+
> (`{{BRANCH_NAME}}` from `{{EPIC_BRANCH}}` / base), the PR target
|
|
15
|
+
> (`main`), and the close protocol are as documented below.
|
|
16
16
|
|
|
17
17
|
## 1. Pre-Flight Verification
|
|
18
18
|
|
|
@@ -50,9 +50,8 @@ When your implementation is complete and verified:
|
|
|
50
50
|
`{{TEST_CMD}}`) here. The close script's lint/test/format/maintainability
|
|
51
51
|
chain is the authoritative gate, run at Story closure (`story-close.js`).
|
|
52
52
|
Exception: you may run them interactively while iterating on a fix.
|
|
53
|
-
3. The Story branch is
|
|
54
|
-
|
|
55
|
-
manually.
|
|
53
|
+
3. The Story branch is opened as a PR to `main` by `helpers/deliver-story`
|
|
54
|
+
(via `single-story-close.js`) — do **not** merge manually.
|
|
56
55
|
|
|
57
56
|
## 6. Definition of Done
|
|
58
57
|
|
|
@@ -70,10 +70,10 @@ degrade to the sequential path.
|
|
|
70
70
|
> read/search tools (`Read`, `Grep`, `Glob`) — no write/edit/shell-mutation
|
|
71
71
|
> tools. The single write in an orchestrated run is the final report artifact.
|
|
72
72
|
|
|
73
|
-
## Scope (
|
|
73
|
+
## Scope (Story / plan-run mode)
|
|
74
74
|
|
|
75
|
-
When this lens is invoked from `/deliver`
|
|
76
|
-
following block is populated with the
|
|
75
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
76
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
77
77
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
78
78
|
renders the literal substitution token and you MUST treat it as **no
|
|
79
79
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -15,10 +15,10 @@ quality. Your objective is to identify "code smells," technical debt, and
|
|
|
15
15
|
violations of clean code principles (SOLID, DRY, KISS) that hinder long-term
|
|
16
16
|
velocity.
|
|
17
17
|
|
|
18
|
-
## Scope (
|
|
18
|
+
## Scope (Story / plan-run mode)
|
|
19
19
|
|
|
20
|
-
When this lens is invoked from `/deliver`
|
|
21
|
-
following block is populated with the
|
|
20
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
21
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
22
22
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
23
23
|
renders the literal substitution token and you MUST treat it as **no
|
|
24
24
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -14,10 +14,10 @@ Manage the lifecycle of project dependencies. Your goal is to identify outdated,
|
|
|
14
14
|
vulnerable, or bloated packages and suggest a safe upgrade path that maintains
|
|
15
15
|
system stability.
|
|
16
16
|
|
|
17
|
-
## Scope (
|
|
17
|
+
## Scope (Story / plan-run mode)
|
|
18
18
|
|
|
19
|
-
When this lens is invoked from `/deliver`
|
|
20
|
-
following block is populated with the
|
|
19
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
20
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
21
21
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
22
22
|
renders the literal substitution token and you MUST treat it as **no
|
|
23
23
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -15,10 +15,10 @@ infrastructure, developer experience (DX) tooling, and CI/CD pipelines. Your
|
|
|
15
15
|
goal is to identify inefficiencies, security risks, and areas for modernization
|
|
16
16
|
without making any immediate changes.
|
|
17
17
|
|
|
18
|
-
## Scope (
|
|
18
|
+
## Scope (Story / plan-run mode)
|
|
19
19
|
|
|
20
|
-
When this lens is invoked from `/deliver`
|
|
21
|
-
following block is populated with the
|
|
20
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
21
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
22
22
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
23
23
|
renders the literal substitution token and you MUST treat it as **no
|
|
24
24
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -47,10 +47,10 @@ generator", not "edit the doc". Auto-generated changelog files
|
|
|
47
47
|
(`docs/CHANGELOG.md`, release-please-owned) are likewise excluded from
|
|
48
48
|
semantic review beyond Step 1's deterministic checks.
|
|
49
49
|
|
|
50
|
-
## Scope (
|
|
50
|
+
## Scope (Story / plan-run mode)
|
|
51
51
|
|
|
52
|
-
When this lens is invoked from `/deliver`
|
|
53
|
-
following block is populated with the
|
|
52
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
53
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
54
54
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
55
55
|
renders the literal substitution token and you MUST treat it as **no
|
|
56
56
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -174,7 +174,7 @@ and check each one:
|
|
|
174
174
|
renames).
|
|
175
175
|
3. **Workflow & Contract Descriptions:** Described workflows, label
|
|
176
176
|
taxonomies (`agent::*`, `type::*`, `meta::*`), branch shapes
|
|
177
|
-
(`story-<id
|
|
177
|
+
(`story-<id>`), and artifact contracts match how the
|
|
178
178
|
current scripts actually behave — read the implementation when the
|
|
179
179
|
prose makes a behavioural claim.
|
|
180
180
|
4. **Version & Topology Claims:** Version numbers, package names, release
|
|
@@ -293,7 +293,7 @@ recurring cadence so the drift is caught before it compounds:
|
|
|
293
293
|
Route the resulting `audit-documentation-results.md` through
|
|
294
294
|
[`/audit-to-stories`](audit-to-stories.md), which groups the findings,
|
|
295
295
|
deduplicates them against existing Issues by fingerprint, and opens
|
|
296
|
-
remediation Stories (or chains into `/plan --
|
|
296
|
+
remediation Stories (or chains into `/plan --seed`) so the Context-Economy
|
|
297
297
|
findings land as actionable, tracked work rather than a report nobody reads.
|
|
298
298
|
|
|
299
299
|
## Constraint
|
|
@@ -30,10 +30,10 @@ inflate Performance scores misleadingly.
|
|
|
30
30
|
(check `viewport` meta, responsive CSS, or operator instruction), run
|
|
31
31
|
**Mobile** instead and note the choice in the report.
|
|
32
32
|
|
|
33
|
-
## Scope (
|
|
33
|
+
## Scope (Story / plan-run mode)
|
|
34
34
|
|
|
35
|
-
When this lens is invoked from `/deliver`
|
|
36
|
-
following block is populated with the
|
|
35
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
36
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
37
37
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
38
38
|
renders the literal substitution token and you MUST treat it as **no
|
|
39
39
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -61,8 +61,9 @@ Read the consumer's navigability config (resolved from `.agentrc.json`):
|
|
|
61
61
|
|
|
62
62
|
- `delivery.quality.navigability.routeGlobs` — globs identifying the
|
|
63
63
|
route-adding files / route tree (e.g. `pages/**`, `app/**/route.ts`). Drives
|
|
64
|
-
both the route-tree enumeration here and the
|
|
65
|
-
|
|
64
|
+
both the route-tree enumeration here and the plan-persist draft
|
|
65
|
+
reachability gate
|
|
66
|
+
([`plan-reachability.js`](../scripts/lib/orchestration/plan-reachability.js)).
|
|
66
67
|
- `delivery.quality.navigability.navRegistry` — path(s) to the consumer's
|
|
67
68
|
nav-registry SSOT this lens reads.
|
|
68
69
|
|
|
@@ -14,10 +14,10 @@ Analyze the application for performance regressions, bottlenecks, and efficiency
|
|
|
14
14
|
gaps. Your goal is to identify why a system is slow or where it might fail under
|
|
15
15
|
load.
|
|
16
16
|
|
|
17
|
-
## Scope (
|
|
17
|
+
## Scope (Story / plan-run mode)
|
|
18
18
|
|
|
19
|
-
When this lens is invoked from `/deliver`
|
|
20
|
-
following block is populated with the
|
|
19
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
20
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
21
21
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
22
22
|
renders the literal substitution token and you MUST treat it as **no
|
|
23
23
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -15,10 +15,10 @@ Personally Identifiable Information (PII) and ensure compliance with data
|
|
|
15
15
|
protection standards (GDPR, CCPA). Your goal is to find accidental logging,
|
|
16
16
|
insecure storage, or unnecessary collection of sensitive data.
|
|
17
17
|
|
|
18
|
-
## Scope (
|
|
18
|
+
## Scope (Story / plan-run mode)
|
|
19
19
|
|
|
20
|
-
When this lens is invoked from `/deliver`
|
|
21
|
-
following block is populated with the
|
|
20
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
21
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
22
22
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
23
23
|
renders the literal substitution token and you MUST treat it as **no
|
|
24
24
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -24,10 +24,10 @@ and integration test coverage alongside their feature implementations. The QA
|
|
|
24
24
|
Engineering function focuses on End-to-End (E2E) testing, complex system
|
|
25
25
|
integrations, and test environment stability.
|
|
26
26
|
|
|
27
|
-
## Scope (
|
|
27
|
+
## Scope (Story / plan-run mode)
|
|
28
28
|
|
|
29
|
-
When this lens is invoked from `/deliver`
|
|
30
|
-
following block is populated with the
|
|
29
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
30
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
31
31
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
32
32
|
renders the literal substitution token and you MUST treat it as **no
|
|
33
33
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -15,10 +15,10 @@ Conduct a comprehensive security review of the codebase. Your goal is to
|
|
|
15
15
|
identify common vulnerabilities (OWASP Top 10), insecure configurations, and
|
|
16
16
|
potential attack vectors.
|
|
17
17
|
|
|
18
|
-
## Scope (
|
|
18
|
+
## Scope (Story / plan-run mode)
|
|
19
19
|
|
|
20
|
-
When this lens is invoked from `/deliver`
|
|
21
|
-
following block is populated with the
|
|
20
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
21
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
22
22
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
23
23
|
renders the literal substitution token and you MUST treat it as **no
|
|
24
24
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -18,10 +18,10 @@ codebase. Your goal is to surface structural, semantic, and content-level
|
|
|
18
18
|
improvements that will increase discoverability in both traditional search
|
|
19
19
|
indexes and AI-powered answer engines — without making any immediate changes.
|
|
20
20
|
|
|
21
|
-
## Scope (
|
|
21
|
+
## Scope (Story / plan-run mode)
|
|
22
22
|
|
|
23
|
-
When this lens is invoked from `/deliver`
|
|
24
|
-
following block is populated with the
|
|
23
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
24
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
25
25
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
26
26
|
renders the literal substitution token and you MUST treat it as **no
|
|
27
27
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -15,10 +15,10 @@ release candidate. Your goal is to surface critical risks across configuration
|
|
|
15
15
|
integrity, security, observability, and code quality — providing a prioritized,
|
|
16
16
|
actionable report that can be handed off for remediation before deployment.
|
|
17
17
|
|
|
18
|
-
## Scope (
|
|
18
|
+
## Scope (Story / plan-run mode)
|
|
19
19
|
|
|
20
|
-
When this lens is invoked from `/deliver`
|
|
21
|
-
following block is populated with the
|
|
20
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
21
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
22
22
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
23
23
|
renders the literal substitution token and you MUST treat it as **no
|
|
24
24
|
scope filter — run the lens codebase-wide** exactly as you would have
|
|
@@ -3,7 +3,7 @@ description:
|
|
|
3
3
|
Convert findings produced by the audit-* workflows into actionable
|
|
4
4
|
GitHub Stories. Reads temp/audits/audit-*-results.md, groups findings
|
|
5
5
|
cross-audit, deduplicates against existing Issues by fingerprint, and
|
|
6
|
-
either chains into /plan --
|
|
6
|
+
either chains into /plan --seed-file or opens standalone Stories.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
# /audit-to-stories [audit-file-or-glob]
|
|
@@ -22,8 +22,8 @@ Dimension / Category, Current State, Recommendation, Agent Prompt).
|
|
|
22
22
|
`/audit-to-stories` closes the loop: it parses those reports, groups
|
|
23
23
|
related findings (including across audit dimensions), classifies each
|
|
24
24
|
group as eligible-to-create or already-tracked, and — at the operator's
|
|
25
|
-
choice — either chains into `/plan --
|
|
26
|
-
|
|
25
|
+
choice — either chains into `/plan --seed-file` for a planned Story
|
|
26
|
+
(or N>1 under the split policy) or opens standalone Stories directly.
|
|
27
27
|
|
|
28
28
|
The audit producers themselves are **not modified** by this workflow.
|
|
29
29
|
They remain read-only emitters of audit reports.
|
|
@@ -117,23 +117,23 @@ Ask:
|
|
|
117
117
|
|
|
118
118
|
> How would you like these `<M>` Stories created?
|
|
119
119
|
>
|
|
120
|
-
> - **Single
|
|
121
|
-
>
|
|
122
|
-
>
|
|
123
|
-
>
|
|
120
|
+
> - **Single plan via `/plan`** **[Recommended]** — chains into
|
|
121
|
+
> `/plan --seed-file <emitted.md>` so the standard Story authoring
|
|
122
|
+
> handles the seed. Prefer one Story; split only under the
|
|
123
|
+
> default-single policy.
|
|
124
124
|
> - **Individual standalone Stories** — opens one GitHub Issue per
|
|
125
|
-
> group directly
|
|
125
|
+
> group directly (no plan ceremony).
|
|
126
126
|
|
|
127
127
|
**STOP** until the operator picks.
|
|
128
128
|
|
|
129
|
-
## Phase 5a — Single-
|
|
129
|
+
## Phase 5a — Single-plan path
|
|
130
130
|
|
|
131
|
-
Build the `/plan`
|
|
131
|
+
Build the `/plan` seed from the filtered plan envelope:
|
|
132
132
|
|
|
133
133
|
```bash
|
|
134
|
-
node .agents/scripts/audit-to-stories.js --emit-
|
|
134
|
+
node .agents/scripts/audit-to-stories.js --emit-plan-seed \
|
|
135
135
|
--plan temp/audits/audit-to-stories-plan.json \
|
|
136
|
-
--out "temp/audits/audit-
|
|
136
|
+
--out "temp/audits/audit-plan-seed-$(date +%Y%m%dT%H%M%S).md"
|
|
137
137
|
```
|
|
138
138
|
|
|
139
139
|
The seed renders the canonical one-pager sections — Problem Statement,
|
|
@@ -144,11 +144,11 @@ authoring step has concrete anchors), Not Doing.
|
|
|
144
144
|
Chain into the existing planning entrypoint:
|
|
145
145
|
|
|
146
146
|
```text
|
|
147
|
-
/plan --
|
|
147
|
+
/plan --seed-file <path-to-seed>
|
|
148
148
|
```
|
|
149
149
|
|
|
150
|
-
`/plan
|
|
151
|
-
persist
|
|
150
|
+
(`/plan --seed "$(cat <path>)"` also works for small seeds). `/plan`
|
|
151
|
+
then runs its author → persist path, as documented in its workflow.
|
|
152
152
|
Each Story it spawns from the seed carries `context::audit:
|
|
153
153
|
<reportLink>` and `audit-fingerprint: <sha>` in its body so future
|
|
154
154
|
Phase 6 idempotency works on the next run.
|
|
@@ -220,13 +220,13 @@ Persist `temp/audits/audit-to-stories-$(date +%Y%m%dT%H%M%S).md`
|
|
|
220
220
|
summarising the run:
|
|
221
221
|
|
|
222
222
|
- Per-group breakdown: which findings merged, fingerprints, dependency
|
|
223
|
-
edges, created/skipped Issue link (or
|
|
223
|
+
edges, created/skipped Issue link (or plan-run / Story links).
|
|
224
224
|
- The severity threshold and grouping mode the operator chose.
|
|
225
225
|
- Final tally: `"<M> groups planned · <K> created · <J> skipped (open)
|
|
226
226
|
· <L> skipped (re-occurring)"`.
|
|
227
227
|
|
|
228
|
-
When the
|
|
229
|
-
opened. When the Standalone-Stories path ran, list every Issue URL.
|
|
228
|
+
When the single-plan path ran, link the Story (or plan-run) the chained
|
|
229
|
+
`/plan` opened. When the Standalone-Stories path ran, list every Issue URL.
|
|
230
230
|
|
|
231
231
|
## Constraints
|
|
232
232
|
|
|
@@ -261,8 +261,8 @@ issue 4482.)
|
|
|
261
261
|
|
|
262
262
|
## See also
|
|
263
263
|
|
|
264
|
-
- [`/plan`](
|
|
265
|
-
chains into for
|
|
264
|
+
- [`/plan`](plan.md) — the planning pipeline `/audit-to-stories`
|
|
265
|
+
chains into for Story creation.
|
|
266
266
|
- [`lib/findings/route-finding.js`](../scripts/lib/findings/route-finding.js) —
|
|
267
267
|
the shared fingerprint/dedup/route helper this workflow and `qa-explore`
|
|
268
268
|
both consume. There is no second dedup implementation.
|
|
@@ -14,10 +14,10 @@ Evaluate the frontend implementation for UI consistency, UX best practices, and
|
|
|
14
14
|
adherence to the project's design system. Ensure the application feels premium
|
|
15
15
|
and cohesive.
|
|
16
16
|
|
|
17
|
-
## Scope (
|
|
17
|
+
## Scope (Story / plan-run mode)
|
|
18
18
|
|
|
19
|
-
When this lens is invoked from `/deliver`
|
|
20
|
-
following block is populated with the
|
|
19
|
+
When this lens is invoked from `/deliver` close lenses (or a plan-run audit), the
|
|
20
|
+
following block is populated with the Story (or plan-run) change-set file list.
|
|
21
21
|
Otherwise — for any manual `/audit-<dimension>` invocation — the block
|
|
22
22
|
renders the literal substitution token and you MUST treat it as **no
|
|
23
23
|
scope filter — run the lens codebase-wide** exactly as you would have
|