@harness-forge/cli 0.1.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/api-contract-review/SKILL.md +23 -0
- package/.agents/skills/architecture-decision-records/SKILL.md +23 -0
- package/.agents/skills/cloud-architect/SKILL.md +21 -0
- package/.agents/skills/cpp-engineering/SKILL.md +21 -0
- package/.agents/skills/db-migration-review/SKILL.md +23 -0
- package/.agents/skills/documentation-lookup/SKILL.md +8 -0
- package/.agents/skills/dotnet-engineering/SKILL.md +29 -0
- package/.agents/skills/go-engineering/SKILL.md +21 -0
- package/.agents/skills/java-engineering/SKILL.md +24 -0
- package/.agents/skills/javascript-engineering/SKILL.md +31 -0
- package/.agents/skills/kotlin-engineering/SKILL.md +21 -0
- package/.agents/skills/lua-engineering/SKILL.md +28 -0
- package/.agents/skills/parallel-worktree-supervisor/SKILL.md +23 -0
- package/.agents/skills/perl-engineering/SKILL.md +21 -0
- package/.agents/skills/php-engineering/SKILL.md +21 -0
- package/.agents/skills/powershell-engineering/SKILL.md +24 -0
- package/.agents/skills/python-engineering/SKILL.md +22 -0
- package/.agents/skills/release-readiness/SKILL.md +8 -0
- package/.agents/skills/repo-modernization/SKILL.md +23 -0
- package/.agents/skills/repo-onboarding/SKILL.md +23 -0
- package/.agents/skills/rust-engineering/SKILL.md +21 -0
- package/.agents/skills/security-scan/SKILL.md +8 -0
- package/.agents/skills/shell-engineering/SKILL.md +21 -0
- package/.agents/skills/speckit-analyze/SKILL.md +190 -0
- package/.agents/skills/speckit-checklist/SKILL.md +301 -0
- package/.agents/skills/speckit-clarify/SKILL.md +183 -0
- package/.agents/skills/speckit-constitution/SKILL.md +86 -0
- package/.agents/skills/speckit-implement/SKILL.md +204 -0
- package/.agents/skills/speckit-plan/SKILL.md +151 -0
- package/.agents/skills/speckit-specify/SKILL.md +304 -0
- package/.agents/skills/speckit-tasks/SKILL.md +197 -0
- package/.agents/skills/speckit-taskstoissues/SKILL.md +35 -0
- package/.agents/skills/swift-engineering/SKILL.md +21 -0
- package/.agents/skills/typescript-engineering/SKILL.md +28 -0
- package/.specify/README.md +3 -0
- package/.specify/extensions.yml +3 -0
- package/.specify/init-options.json +5 -0
- package/.specify/memory/constitution.md +5 -0
- package/.specify/scripts/powershell/check-prerequisites.ps1 +54 -0
- package/.specify/scripts/powershell/common.ps1 +263 -0
- package/.specify/scripts/powershell/create-new-feature.ps1 +23 -0
- package/.specify/scripts/powershell/setup-plan.ps1 +10 -0
- package/.specify/scripts/powershell/update-agent-context.ps1 +6 -0
- package/.specify/state/agent-context.md +1 -0
- package/.specify/state/flow-state.json +21 -0
- package/.specify/templates/agent-file-template.md +40 -0
- package/.specify/templates/checklist-template.md +5 -0
- package/.specify/templates/commands/plan.md +1 -0
- package/.specify/templates/commands/specify.md +1 -0
- package/.specify/templates/commands/tasks.md +1 -0
- package/.specify/templates/constitution-template.md +5 -0
- package/.specify/templates/plan-template.md +9 -0
- package/.specify/templates/spec-template.md +9 -0
- package/.specify/templates/tasks-template.md +5 -0
- package/AGENTS.md +75 -0
- package/CHANGELOG.md +15 -0
- package/CONTRIBUTING.md +38 -0
- package/LICENSE +674 -0
- package/README.md +386 -0
- package/RESEARCH-SOURCES.md +75 -0
- package/VALIDATION.md +32 -0
- package/agents/planner.md +49 -0
- package/commands/plan.md +41 -0
- package/commands/test.md +41 -0
- package/contexts/dev.md +25 -0
- package/dist/application/flow/load-flow-state.d.ts +17 -0
- package/dist/application/flow/load-flow-state.d.ts.map +1 -0
- package/dist/application/flow/load-flow-state.js +123 -0
- package/dist/application/flow/load-flow-state.js.map +1 -0
- package/dist/application/flow/save-flow-state.d.ts +3 -0
- package/dist/application/flow/save-flow-state.d.ts.map +1 -0
- package/dist/application/flow/save-flow-state.js +13 -0
- package/dist/application/flow/save-flow-state.js.map +1 -0
- package/dist/application/install/agent-manifest.d.ts +42 -0
- package/dist/application/install/agent-manifest.d.ts.map +1 -0
- package/dist/application/install/agent-manifest.js +144 -0
- package/dist/application/install/agent-manifest.js.map +1 -0
- package/dist/application/install/apply-install.d.ts +6 -0
- package/dist/application/install/apply-install.d.ts.map +1 -0
- package/dist/application/install/apply-install.js +83 -0
- package/dist/application/install/apply-install.js.map +1 -0
- package/dist/application/install/bootstrap-workspace.d.ts +33 -0
- package/dist/application/install/bootstrap-workspace.d.ts.map +1 -0
- package/dist/application/install/bootstrap-workspace.js +123 -0
- package/dist/application/install/bootstrap-workspace.js.map +1 -0
- package/dist/application/install/discover-workspace-targets.d.ts +9 -0
- package/dist/application/install/discover-workspace-targets.d.ts.map +1 -0
- package/dist/application/install/discover-workspace-targets.js +61 -0
- package/dist/application/install/discover-workspace-targets.js.map +1 -0
- package/dist/application/install/generate-guidance.d.ts +3 -0
- package/dist/application/install/generate-guidance.d.ts.map +1 -0
- package/dist/application/install/generate-guidance.js +25 -0
- package/dist/application/install/generate-guidance.js.map +1 -0
- package/dist/application/install/initialize-workspace.d.ts +16 -0
- package/dist/application/install/initialize-workspace.d.ts.map +1 -0
- package/dist/application/install/initialize-workspace.js +165 -0
- package/dist/application/install/initialize-workspace.js.map +1 -0
- package/dist/application/install/plan-install.d.ts +9 -0
- package/dist/application/install/plan-install.d.ts.map +1 -0
- package/dist/application/install/plan-install.js +123 -0
- package/dist/application/install/plan-install.js.map +1 -0
- package/dist/application/install/reconcile-state.d.ts +6 -0
- package/dist/application/install/reconcile-state.d.ts.map +1 -0
- package/dist/application/install/reconcile-state.js +39 -0
- package/dist/application/install/reconcile-state.js.map +1 -0
- package/dist/application/install/refresh-workspace-runtime.d.ts +9 -0
- package/dist/application/install/refresh-workspace-runtime.d.ts.map +1 -0
- package/dist/application/install/refresh-workspace-runtime.js +69 -0
- package/dist/application/install/refresh-workspace-runtime.js.map +1 -0
- package/dist/application/install/rewrite-installed-ai-layer.d.ts +3 -0
- package/dist/application/install/rewrite-installed-ai-layer.d.ts.map +1 -0
- package/dist/application/install/rewrite-installed-ai-layer.js +72 -0
- package/dist/application/install/rewrite-installed-ai-layer.js.map +1 -0
- package/dist/application/install/shared-runtime.d.ts +5 -0
- package/dist/application/install/shared-runtime.d.ts.map +1 -0
- package/dist/application/install/shared-runtime.js +388 -0
- package/dist/application/install/shared-runtime.js.map +1 -0
- package/dist/application/install/shell-integration.d.ts +40 -0
- package/dist/application/install/shell-integration.d.ts.map +1 -0
- package/dist/application/install/shell-integration.js +232 -0
- package/dist/application/install/shell-integration.js.map +1 -0
- package/dist/application/install/validate-environment.d.ts +2 -0
- package/dist/application/install/validate-environment.d.ts.map +1 -0
- package/dist/application/install/validate-environment.js +19 -0
- package/dist/application/install/validate-environment.js.map +1 -0
- package/dist/application/install/workspace-launcher.d.ts +7 -0
- package/dist/application/install/workspace-launcher.d.ts.map +1 -0
- package/dist/application/install/workspace-launcher.js +45 -0
- package/dist/application/install/workspace-launcher.js.map +1 -0
- package/dist/application/maintenance/audit-install.d.ts +17 -0
- package/dist/application/maintenance/audit-install.d.ts.map +1 -0
- package/dist/application/maintenance/audit-install.js +31 -0
- package/dist/application/maintenance/audit-install.js.map +1 -0
- package/dist/application/maintenance/diff-install.d.ts +7 -0
- package/dist/application/maintenance/diff-install.d.ts.map +1 -0
- package/dist/application/maintenance/diff-install.js +20 -0
- package/dist/application/maintenance/diff-install.js.map +1 -0
- package/dist/application/maintenance/doctor-workspace.d.ts +6 -0
- package/dist/application/maintenance/doctor-workspace.d.ts.map +1 -0
- package/dist/application/maintenance/doctor-workspace.js +12 -0
- package/dist/application/maintenance/doctor-workspace.js.map +1 -0
- package/dist/application/maintenance/prune-install.d.ts +5 -0
- package/dist/application/maintenance/prune-install.d.ts.map +1 -0
- package/dist/application/maintenance/prune-install.js +30 -0
- package/dist/application/maintenance/prune-install.js.map +1 -0
- package/dist/application/maintenance/sync-install.d.ts +6 -0
- package/dist/application/maintenance/sync-install.d.ts.map +1 -0
- package/dist/application/maintenance/sync-install.js +24 -0
- package/dist/application/maintenance/sync-install.js.map +1 -0
- package/dist/application/maintenance/upgrade-surface.d.ts +7 -0
- package/dist/application/maintenance/upgrade-surface.d.ts.map +1 -0
- package/dist/application/maintenance/upgrade-surface.js +18 -0
- package/dist/application/maintenance/upgrade-surface.js.map +1 -0
- package/dist/application/migration/scan-reference-install.d.ts +9 -0
- package/dist/application/migration/scan-reference-install.d.ts.map +1 -0
- package/dist/application/migration/scan-reference-install.js +17 -0
- package/dist/application/migration/scan-reference-install.js.map +1 -0
- package/dist/application/planning/resolve-bundles.d.ts +8 -0
- package/dist/application/planning/resolve-bundles.d.ts.map +1 -0
- package/dist/application/planning/resolve-bundles.js +40 -0
- package/dist/application/planning/resolve-bundles.js.map +1 -0
- package/dist/application/recommendations/recommend-bundles.d.ts +2 -0
- package/dist/application/recommendations/recommend-bundles.d.ts.map +1 -0
- package/dist/application/recommendations/recommend-bundles.js +89 -0
- package/dist/application/recommendations/recommend-bundles.js.map +1 -0
- package/dist/application/recommendations/recommend-from-intelligence.d.ts +3 -0
- package/dist/application/recommendations/recommend-from-intelligence.d.ts.map +1 -0
- package/dist/application/recommendations/recommend-from-intelligence.js +38 -0
- package/dist/application/recommendations/recommend-from-intelligence.js.map +1 -0
- package/dist/application/recommendations/recommend-templates.d.ts +2 -0
- package/dist/application/recommendations/recommend-templates.d.ts.map +1 -0
- package/dist/application/recommendations/recommend-templates.js +11 -0
- package/dist/application/recommendations/recommend-templates.js.map +1 -0
- package/dist/application/recursive/build-environment.d.ts +12 -0
- package/dist/application/recursive/build-environment.d.ts.map +1 -0
- package/dist/application/recursive/build-environment.js +91 -0
- package/dist/application/recursive/build-environment.js.map +1 -0
- package/dist/application/recursive/compact-session.d.ts +6 -0
- package/dist/application/recursive/compact-session.d.ts.map +1 -0
- package/dist/application/recursive/compact-session.js +10 -0
- package/dist/application/recursive/compact-session.js.map +1 -0
- package/dist/application/recursive/finalize-session.d.ts +6 -0
- package/dist/application/recursive/finalize-session.d.ts.map +1 -0
- package/dist/application/recursive/finalize-session.js +10 -0
- package/dist/application/recursive/finalize-session.js.map +1 -0
- package/dist/application/recursive/plan-task.d.ts +16 -0
- package/dist/application/recursive/plan-task.d.ts.map +1 -0
- package/dist/application/recursive/plan-task.js +115 -0
- package/dist/application/recursive/plan-task.js.map +1 -0
- package/dist/application/runtime/assess-architecture-significance.d.ts +13 -0
- package/dist/application/runtime/assess-architecture-significance.d.ts.map +1 -0
- package/dist/application/runtime/assess-architecture-significance.js +65 -0
- package/dist/application/runtime/assess-architecture-significance.js.map +1 -0
- package/dist/application/runtime/command-catalog.d.ts +17 -0
- package/dist/application/runtime/command-catalog.d.ts.map +1 -0
- package/dist/application/runtime/command-catalog.js +99 -0
- package/dist/application/runtime/command-catalog.js.map +1 -0
- package/dist/application/runtime/create-asr-record.d.ts +18 -0
- package/dist/application/runtime/create-asr-record.d.ts.map +1 -0
- package/dist/application/runtime/create-asr-record.js +105 -0
- package/dist/application/runtime/create-asr-record.js.map +1 -0
- package/dist/application/runtime/decision-runtime-store.d.ts +13 -0
- package/dist/application/runtime/decision-runtime-store.d.ts.map +1 -0
- package/dist/application/runtime/decision-runtime-store.js +60 -0
- package/dist/application/runtime/decision-runtime-store.js.map +1 -0
- package/dist/application/runtime/derive-impact-analysis.d.ts +5 -0
- package/dist/application/runtime/derive-impact-analysis.d.ts.map +1 -0
- package/dist/application/runtime/derive-impact-analysis.js +78 -0
- package/dist/application/runtime/derive-impact-analysis.js.map +1 -0
- package/dist/application/runtime/select-files-of-interest.d.ts +29 -0
- package/dist/application/runtime/select-files-of-interest.d.ts.map +1 -0
- package/dist/application/runtime/select-files-of-interest.js +162 -0
- package/dist/application/runtime/select-files-of-interest.js.map +1 -0
- package/dist/application/runtime/task-runtime-store.d.ts +37 -0
- package/dist/application/runtime/task-runtime-store.d.ts.map +1 -0
- package/dist/application/runtime/task-runtime-store.js +84 -0
- package/dist/application/runtime/task-runtime-store.js.map +1 -0
- package/dist/application/validation/validate-templates.d.ts +19 -0
- package/dist/application/validation/validate-templates.d.ts.map +1 -0
- package/dist/application/validation/validate-templates.js +142 -0
- package/dist/application/validation/validate-templates.js.map +1 -0
- package/dist/cli/commands/audit.d.ts +3 -0
- package/dist/cli/commands/audit.d.ts.map +1 -0
- package/dist/cli/commands/audit.js +37 -0
- package/dist/cli/commands/audit.js.map +1 -0
- package/dist/cli/commands/catalog.d.ts +3 -0
- package/dist/cli/commands/catalog.d.ts.map +1 -0
- package/dist/cli/commands/catalog.js +142 -0
- package/dist/cli/commands/catalog.js.map +1 -0
- package/dist/cli/commands/commands.d.ts +3 -0
- package/dist/cli/commands/commands.d.ts.map +1 -0
- package/dist/cli/commands/commands.js +32 -0
- package/dist/cli/commands/commands.js.map +1 -0
- package/dist/cli/commands/diff-install.d.ts +3 -0
- package/dist/cli/commands/diff-install.d.ts.map +1 -0
- package/dist/cli/commands/diff-install.js +31 -0
- package/dist/cli/commands/diff-install.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +33 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/export.d.ts +3 -0
- package/dist/cli/commands/export.d.ts.map +1 -0
- package/dist/cli/commands/export.js +37 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/flow.d.ts +3 -0
- package/dist/cli/commands/flow.d.ts.map +1 -0
- package/dist/cli/commands/flow.js +27 -0
- package/dist/cli/commands/flow.js.map +1 -0
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +91 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/install.d.ts +3 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +119 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/intelligence.d.ts +3 -0
- package/dist/cli/commands/intelligence.d.ts.map +1 -0
- package/dist/cli/commands/intelligence.js +63 -0
- package/dist/cli/commands/intelligence.js.map +1 -0
- package/dist/cli/commands/maintenance.d.ts +3 -0
- package/dist/cli/commands/maintenance.d.ts.map +1 -0
- package/dist/cli/commands/maintenance.js +81 -0
- package/dist/cli/commands/maintenance.js.map +1 -0
- package/dist/cli/commands/observability.d.ts +3 -0
- package/dist/cli/commands/observability.d.ts.map +1 -0
- package/dist/cli/commands/observability.js +33 -0
- package/dist/cli/commands/observability.js.map +1 -0
- package/dist/cli/commands/pack.d.ts +3 -0
- package/dist/cli/commands/pack.d.ts.map +1 -0
- package/dist/cli/commands/pack.js +25 -0
- package/dist/cli/commands/pack.js.map +1 -0
- package/dist/cli/commands/parallel.d.ts +3 -0
- package/dist/cli/commands/parallel.d.ts.map +1 -0
- package/dist/cli/commands/parallel.js +45 -0
- package/dist/cli/commands/parallel.js.map +1 -0
- package/dist/cli/commands/prune.d.ts +3 -0
- package/dist/cli/commands/prune.d.ts.map +1 -0
- package/dist/cli/commands/prune.js +25 -0
- package/dist/cli/commands/prune.js.map +1 -0
- package/dist/cli/commands/recommend.d.ts +3 -0
- package/dist/cli/commands/recommend.d.ts.map +1 -0
- package/dist/cli/commands/recommend.js +25 -0
- package/dist/cli/commands/recommend.js.map +1 -0
- package/dist/cli/commands/recursive.d.ts +3 -0
- package/dist/cli/commands/recursive.d.ts.map +1 -0
- package/dist/cli/commands/recursive.js +138 -0
- package/dist/cli/commands/recursive.js.map +1 -0
- package/dist/cli/commands/refresh.d.ts +3 -0
- package/dist/cli/commands/refresh.d.ts.map +1 -0
- package/dist/cli/commands/refresh.js +33 -0
- package/dist/cli/commands/refresh.js.map +1 -0
- package/dist/cli/commands/review.d.ts +3 -0
- package/dist/cli/commands/review.d.ts.map +1 -0
- package/dist/cli/commands/review.js +53 -0
- package/dist/cli/commands/review.js.map +1 -0
- package/dist/cli/commands/script-runner.d.ts +2 -0
- package/dist/cli/commands/script-runner.d.ts.map +1 -0
- package/dist/cli/commands/script-runner.js +21 -0
- package/dist/cli/commands/script-runner.js.map +1 -0
- package/dist/cli/commands/shell.d.ts +3 -0
- package/dist/cli/commands/shell.d.ts.map +1 -0
- package/dist/cli/commands/shell.js +91 -0
- package/dist/cli/commands/shell.js.map +1 -0
- package/dist/cli/commands/status.d.ts +3 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +31 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/sync.d.ts +3 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +25 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/commands/target.d.ts +3 -0
- package/dist/cli/commands/target.d.ts.map +1 -0
- package/dist/cli/commands/target.js +78 -0
- package/dist/cli/commands/target.js.map +1 -0
- package/dist/cli/commands/task.d.ts +3 -0
- package/dist/cli/commands/task.d.ts.map +1 -0
- package/dist/cli/commands/task.js +57 -0
- package/dist/cli/commands/task.js.map +1 -0
- package/dist/cli/commands/template.d.ts +3 -0
- package/dist/cli/commands/template.d.ts.map +1 -0
- package/dist/cli/commands/template.js +81 -0
- package/dist/cli/commands/template.js.map +1 -0
- package/dist/cli/commands/upgrade-surface.d.ts +3 -0
- package/dist/cli/commands/upgrade-surface.d.ts.map +1 -0
- package/dist/cli/commands/upgrade-surface.js +24 -0
- package/dist/cli/commands/upgrade-surface.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +86 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/interactive/default-recommendations.d.ts +9 -0
- package/dist/cli/interactive/default-recommendations.d.ts.map +1 -0
- package/dist/cli/interactive/default-recommendations.js +19 -0
- package/dist/cli/interactive/default-recommendations.js.map +1 -0
- package/dist/cli/interactive/entry-router.d.ts +5 -0
- package/dist/cli/interactive/entry-router.d.ts.map +1 -0
- package/dist/cli/interactive/entry-router.js +30 -0
- package/dist/cli/interactive/entry-router.js.map +1 -0
- package/dist/cli/interactive/invocation-context.d.ts +16 -0
- package/dist/cli/interactive/invocation-context.d.ts.map +1 -0
- package/dist/cli/interactive/invocation-context.js +33 -0
- package/dist/cli/interactive/invocation-context.js.map +1 -0
- package/dist/cli/interactive/onboarding-flow.d.ts +3 -0
- package/dist/cli/interactive/onboarding-flow.d.ts.map +1 -0
- package/dist/cli/interactive/onboarding-flow.js +81 -0
- package/dist/cli/interactive/onboarding-flow.js.map +1 -0
- package/dist/cli/interactive/project-hub.d.ts +3 -0
- package/dist/cli/interactive/project-hub.d.ts.map +1 -0
- package/dist/cli/interactive/project-hub.js +159 -0
- package/dist/cli/interactive/project-hub.js.map +1 -0
- package/dist/cli/interactive/prompt-io.d.ts +23 -0
- package/dist/cli/interactive/prompt-io.d.ts.map +1 -0
- package/dist/cli/interactive/prompt-io.js +144 -0
- package/dist/cli/interactive/prompt-io.js.map +1 -0
- package/dist/cli/interactive/prompts/folder-selection.d.ts +3 -0
- package/dist/cli/interactive/prompts/folder-selection.d.ts.map +1 -0
- package/dist/cli/interactive/prompts/folder-selection.js +25 -0
- package/dist/cli/interactive/prompts/folder-selection.js.map +1 -0
- package/dist/cli/interactive/prompts/module-selection.d.ts +4 -0
- package/dist/cli/interactive/prompts/module-selection.d.ts.map +1 -0
- package/dist/cli/interactive/prompts/module-selection.js +21 -0
- package/dist/cli/interactive/prompts/module-selection.js.map +1 -0
- package/dist/cli/interactive/prompts/setup-profile.d.ts +4 -0
- package/dist/cli/interactive/prompts/setup-profile.d.ts.map +1 -0
- package/dist/cli/interactive/prompts/setup-profile.js +20 -0
- package/dist/cli/interactive/prompts/setup-profile.js.map +1 -0
- package/dist/cli/interactive/prompts/target-selection.d.ts +3 -0
- package/dist/cli/interactive/prompts/target-selection.d.ts.map +1 -0
- package/dist/cli/interactive/prompts/target-selection.js +28 -0
- package/dist/cli/interactive/prompts/target-selection.js.map +1 -0
- package/dist/cli/interactive/recovery-notices.d.ts +3 -0
- package/dist/cli/interactive/recovery-notices.d.ts.map +1 -0
- package/dist/cli/interactive/recovery-notices.js +13 -0
- package/dist/cli/interactive/recovery-notices.js.map +1 -0
- package/dist/cli/interactive/renderers/choice-list.d.ts +2 -0
- package/dist/cli/interactive/renderers/choice-list.d.ts.map +1 -0
- package/dist/cli/interactive/renderers/choice-list.js +9 -0
- package/dist/cli/interactive/renderers/choice-list.js.map +1 -0
- package/dist/cli/interactive/renderers/completion-screen.d.ts +4 -0
- package/dist/cli/interactive/renderers/completion-screen.d.ts.map +1 -0
- package/dist/cli/interactive/renderers/completion-screen.js +16 -0
- package/dist/cli/interactive/renderers/completion-screen.js.map +1 -0
- package/dist/cli/interactive/renderers/hub-screen.d.ts +3 -0
- package/dist/cli/interactive/renderers/hub-screen.d.ts.map +1 -0
- package/dist/cli/interactive/renderers/hub-screen.js +12 -0
- package/dist/cli/interactive/renderers/hub-screen.js.map +1 -0
- package/dist/cli/interactive/renderers/progress.d.ts +3 -0
- package/dist/cli/interactive/renderers/progress.d.ts.map +1 -0
- package/dist/cli/interactive/renderers/progress.js +5 -0
- package/dist/cli/interactive/renderers/progress.js.map +1 -0
- package/dist/cli/interactive/renderers/screen-layout.d.ts +9 -0
- package/dist/cli/interactive/renderers/screen-layout.d.ts.map +1 -0
- package/dist/cli/interactive/renderers/screen-layout.js +27 -0
- package/dist/cli/interactive/renderers/screen-layout.js.map +1 -0
- package/dist/cli/interactive/renderers/step-frame.d.ts +3 -0
- package/dist/cli/interactive/renderers/step-frame.d.ts.map +1 -0
- package/dist/cli/interactive/renderers/step-frame.js +7 -0
- package/dist/cli/interactive/renderers/step-frame.js.map +1 -0
- package/dist/cli/interactive/renderers/text-style.d.ts +10 -0
- package/dist/cli/interactive/renderers/text-style.d.ts.map +1 -0
- package/dist/cli/interactive/renderers/text-style.js +52 -0
- package/dist/cli/interactive/renderers/text-style.js.map +1 -0
- package/dist/cli/interactive/renderers/welcome-screen.d.ts +3 -0
- package/dist/cli/interactive/renderers/welcome-screen.d.ts.map +1 -0
- package/dist/cli/interactive/renderers/welcome-screen.js +22 -0
- package/dist/cli/interactive/renderers/welcome-screen.js.map +1 -0
- package/dist/cli/interactive/review-plan.d.ts +19 -0
- package/dist/cli/interactive/review-plan.d.ts.map +1 -0
- package/dist/cli/interactive/review-plan.js +151 -0
- package/dist/cli/interactive/review-plan.js.map +1 -0
- package/dist/cli/interactive/review-summary.d.ts +4 -0
- package/dist/cli/interactive/review-summary.d.ts.map +1 -0
- package/dist/cli/interactive/review-summary.js +20 -0
- package/dist/cli/interactive/review-summary.js.map +1 -0
- package/dist/cli/interactive/session-state.d.ts +35 -0
- package/dist/cli/interactive/session-state.d.ts.map +1 -0
- package/dist/cli/interactive/session-state.js +11 -0
- package/dist/cli/interactive/session-state.js.map +1 -0
- package/dist/cli/interactive/setup-intent.d.ts +32 -0
- package/dist/cli/interactive/setup-intent.d.ts.map +1 -0
- package/dist/cli/interactive/setup-intent.js +54 -0
- package/dist/cli/interactive/setup-intent.js.map +1 -0
- package/dist/cli/interactive/terminal-capabilities.d.ts +20 -0
- package/dist/cli/interactive/terminal-capabilities.d.ts.map +1 -0
- package/dist/cli/interactive/terminal-capabilities.js +69 -0
- package/dist/cli/interactive/terminal-capabilities.js.map +1 -0
- package/dist/domain/capabilities/capability-record.d.ts +25 -0
- package/dist/domain/capabilities/capability-record.d.ts.map +1 -0
- package/dist/domain/capabilities/capability-record.js +2 -0
- package/dist/domain/capabilities/capability-record.js.map +1 -0
- package/dist/domain/capabilities/capability-taxonomy.d.ts +11 -0
- package/dist/domain/capabilities/capability-taxonomy.d.ts.map +1 -0
- package/dist/domain/capabilities/capability-taxonomy.js +2 -0
- package/dist/domain/capabilities/capability-taxonomy.js.map +1 -0
- package/dist/domain/intelligence/instruction-plan.d.ts +26 -0
- package/dist/domain/intelligence/instruction-plan.d.ts.map +1 -0
- package/dist/domain/intelligence/instruction-plan.js +2 -0
- package/dist/domain/intelligence/instruction-plan.js.map +1 -0
- package/dist/domain/intelligence/repo-intelligence.d.ts +1007 -0
- package/dist/domain/intelligence/repo-intelligence.d.ts.map +1 -0
- package/dist/domain/intelligence/repo-intelligence.js +102 -0
- package/dist/domain/intelligence/repo-intelligence.js.map +1 -0
- package/dist/domain/intelligence/repo-map.d.ts +30 -0
- package/dist/domain/intelligence/repo-map.d.ts.map +1 -0
- package/dist/domain/intelligence/repo-map.js +2 -0
- package/dist/domain/intelligence/repo-map.js.map +1 -0
- package/dist/domain/manifests/index.d.ts +154 -0
- package/dist/domain/manifests/index.d.ts.map +1 -0
- package/dist/domain/manifests/index.js +37 -0
- package/dist/domain/manifests/index.js.map +1 -0
- package/dist/domain/observability/benchmark-expectation.d.ts +11 -0
- package/dist/domain/observability/benchmark-expectation.d.ts.map +1 -0
- package/dist/domain/observability/benchmark-expectation.js +2 -0
- package/dist/domain/observability/benchmark-expectation.js.map +1 -0
- package/dist/domain/observability/event.d.ts +17 -0
- package/dist/domain/observability/event.d.ts.map +1 -0
- package/dist/domain/observability/event.js +2 -0
- package/dist/domain/observability/event.js.map +1 -0
- package/dist/domain/observability/summary.d.ts +10 -0
- package/dist/domain/observability/summary.d.ts.map +1 -0
- package/dist/domain/observability/summary.js +2 -0
- package/dist/domain/observability/summary.js.map +1 -0
- package/dist/domain/operations/install-plan.d.ts +85 -0
- package/dist/domain/operations/install-plan.d.ts.map +1 -0
- package/dist/domain/operations/install-plan.js +2 -0
- package/dist/domain/operations/install-plan.js.map +1 -0
- package/dist/domain/parallel/merge-readiness.d.ts +10 -0
- package/dist/domain/parallel/merge-readiness.d.ts.map +1 -0
- package/dist/domain/parallel/merge-readiness.js +2 -0
- package/dist/domain/parallel/merge-readiness.js.map +1 -0
- package/dist/domain/parallel/parallel-plan.d.ts +24 -0
- package/dist/domain/parallel/parallel-plan.d.ts.map +1 -0
- package/dist/domain/parallel/parallel-plan.js +2 -0
- package/dist/domain/parallel/parallel-plan.js.map +1 -0
- package/dist/domain/parallel/shard-state.d.ts +11 -0
- package/dist/domain/parallel/shard-state.d.ts.map +1 -0
- package/dist/domain/parallel/shard-state.js +2 -0
- package/dist/domain/parallel/shard-state.js.map +1 -0
- package/dist/domain/recursive/adr-candidate.d.ts +45 -0
- package/dist/domain/recursive/adr-candidate.d.ts.map +1 -0
- package/dist/domain/recursive/adr-candidate.js +20 -0
- package/dist/domain/recursive/adr-candidate.js.map +1 -0
- package/dist/domain/recursive/asr.d.ts +41 -0
- package/dist/domain/recursive/asr.d.ts.map +1 -0
- package/dist/domain/recursive/asr.js +19 -0
- package/dist/domain/recursive/asr.js.map +1 -0
- package/dist/domain/recursive/budget.d.ts +47 -0
- package/dist/domain/recursive/budget.d.ts.map +1 -0
- package/dist/domain/recursive/budget.js +41 -0
- package/dist/domain/recursive/budget.js.map +1 -0
- package/dist/domain/recursive/session-summary.d.ts +56 -0
- package/dist/domain/recursive/session-summary.d.ts.map +1 -0
- package/dist/domain/recursive/session-summary.js +21 -0
- package/dist/domain/recursive/session-summary.js.map +1 -0
- package/dist/domain/recursive/session.d.ts +181 -0
- package/dist/domain/recursive/session.d.ts.map +1 -0
- package/dist/domain/recursive/session.js +41 -0
- package/dist/domain/recursive/session.js.map +1 -0
- package/dist/domain/recursive/template-registry.d.ts +83 -0
- package/dist/domain/recursive/template-registry.d.ts.map +1 -0
- package/dist/domain/recursive/template-registry.js +28 -0
- package/dist/domain/recursive/template-registry.js.map +1 -0
- package/dist/domain/recursive/trace-event.d.ts +61 -0
- package/dist/domain/recursive/trace-event.d.ts.map +1 -0
- package/dist/domain/recursive/trace-event.js +36 -0
- package/dist/domain/recursive/trace-event.js.map +1 -0
- package/dist/domain/runtime/architecture-significance.d.ts +35 -0
- package/dist/domain/runtime/architecture-significance.d.ts.map +1 -0
- package/dist/domain/runtime/architecture-significance.js +20 -0
- package/dist/domain/runtime/architecture-significance.js.map +1 -0
- package/dist/domain/runtime/decision-coverage-summary.d.ts +29 -0
- package/dist/domain/runtime/decision-coverage-summary.d.ts.map +1 -0
- package/dist/domain/runtime/decision-coverage-summary.js +14 -0
- package/dist/domain/runtime/decision-coverage-summary.js.map +1 -0
- package/dist/domain/runtime/decision-record.d.ts +482 -0
- package/dist/domain/runtime/decision-record.d.ts.map +1 -0
- package/dist/domain/runtime/decision-record.js +78 -0
- package/dist/domain/runtime/decision-record.js.map +1 -0
- package/dist/domain/runtime/file-interest.d.ts +148 -0
- package/dist/domain/runtime/file-interest.d.ts.map +1 -0
- package/dist/domain/runtime/file-interest.js +42 -0
- package/dist/domain/runtime/file-interest.js.map +1 -0
- package/dist/domain/runtime/impact-analysis.d.ts +122 -0
- package/dist/domain/runtime/impact-analysis.d.ts.map +1 -0
- package/dist/domain/runtime/impact-analysis.js +24 -0
- package/dist/domain/runtime/impact-analysis.js.map +1 -0
- package/dist/domain/runtime/task-pack.d.ts +278 -0
- package/dist/domain/runtime/task-pack.d.ts.map +1 -0
- package/dist/domain/runtime/task-pack.js +61 -0
- package/dist/domain/runtime/task-pack.js.map +1 -0
- package/dist/domain/runtime/template-registry.d.ts +100 -0
- package/dist/domain/runtime/template-registry.d.ts.map +1 -0
- package/dist/domain/runtime/template-registry.js +35 -0
- package/dist/domain/runtime/template-registry.js.map +1 -0
- package/dist/domain/runtime/working-memory.d.ts +44 -0
- package/dist/domain/runtime/working-memory.d.ts.map +1 -0
- package/dist/domain/runtime/working-memory.js +19 -0
- package/dist/domain/runtime/working-memory.js.map +1 -0
- package/dist/domain/state/install-state.d.ts +28 -0
- package/dist/domain/state/install-state.d.ts.map +1 -0
- package/dist/domain/state/install-state.js +15 -0
- package/dist/domain/state/install-state.js.map +1 -0
- package/dist/domain/targets/adapter.d.ts +18 -0
- package/dist/domain/targets/adapter.d.ts.map +1 -0
- package/dist/domain/targets/adapter.js +16 -0
- package/dist/domain/targets/adapter.js.map +1 -0
- package/dist/infrastructure/diagnostics/recommendation-reporter.d.ts +3 -0
- package/dist/infrastructure/diagnostics/recommendation-reporter.d.ts.map +1 -0
- package/dist/infrastructure/diagnostics/recommendation-reporter.js +44 -0
- package/dist/infrastructure/diagnostics/recommendation-reporter.js.map +1 -0
- package/dist/infrastructure/diagnostics/reporter.d.ts +6 -0
- package/dist/infrastructure/diagnostics/reporter.d.ts.map +1 -0
- package/dist/infrastructure/diagnostics/reporter.js +35 -0
- package/dist/infrastructure/diagnostics/reporter.js.map +1 -0
- package/dist/infrastructure/filesystem/apply-operation.d.ts +3 -0
- package/dist/infrastructure/filesystem/apply-operation.d.ts.map +1 -0
- package/dist/infrastructure/filesystem/apply-operation.js +75 -0
- package/dist/infrastructure/filesystem/apply-operation.js.map +1 -0
- package/dist/infrastructure/filesystem/normalize-target-path.d.ts +2 -0
- package/dist/infrastructure/filesystem/normalize-target-path.d.ts.map +1 -0
- package/dist/infrastructure/filesystem/normalize-target-path.js +11 -0
- package/dist/infrastructure/filesystem/normalize-target-path.js.map +1 -0
- package/dist/infrastructure/observability/local-metrics-store.d.ts +18 -0
- package/dist/infrastructure/observability/local-metrics-store.d.ts.map +1 -0
- package/dist/infrastructure/observability/local-metrics-store.js +35 -0
- package/dist/infrastructure/observability/local-metrics-store.js.map +1 -0
- package/dist/infrastructure/recursive/session-store.d.ts +45 -0
- package/dist/infrastructure/recursive/session-store.d.ts.map +1 -0
- package/dist/infrastructure/recursive/session-store.js +62 -0
- package/dist/infrastructure/recursive/session-store.js.map +1 -0
- package/dist/infrastructure/recursive/template-loader.d.ts +3 -0
- package/dist/infrastructure/recursive/template-loader.d.ts.map +1 -0
- package/dist/infrastructure/recursive/template-loader.js +19 -0
- package/dist/infrastructure/recursive/template-loader.js.map +1 -0
- package/dist/infrastructure/recursive/trace-logger.d.ts +3 -0
- package/dist/infrastructure/recursive/trace-logger.d.ts.map +1 -0
- package/dist/infrastructure/recursive/trace-logger.js +8 -0
- package/dist/infrastructure/recursive/trace-logger.js.map +1 -0
- package/dist/shared/constants.d.ts +97 -0
- package/dist/shared/constants.d.ts.map +1 -0
- package/dist/shared/constants.js +111 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/errors.d.ts +8 -0
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/shared/errors.js +14 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/fs.d.ts +8 -0
- package/dist/shared/fs.d.ts.map +1 -0
- package/dist/shared/fs.js +35 -0
- package/dist/shared/fs.js.map +1 -0
- package/dist/shared/index.d.ts +5 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +5 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/seeded-knowledge.d.ts +8 -0
- package/dist/shared/seeded-knowledge.d.ts.map +1 -0
- package/dist/shared/seeded-knowledge.js +49 -0
- package/dist/shared/seeded-knowledge.js.map +1 -0
- package/docs/agents.md +45 -0
- package/docs/authoring/engineering-assistant-port.md +108 -0
- package/docs/authoring/enhanced-skill-import.md +89 -0
- package/docs/authoring/skills.md +53 -0
- package/docs/benchmark-scenarios.md +29 -0
- package/docs/catalog/framework-packs.md +22 -0
- package/docs/catalog/frameworks/aspnet-core.md +18 -0
- package/docs/catalog/frameworks/django.md +18 -0
- package/docs/catalog/frameworks/express.md +18 -0
- package/docs/catalog/frameworks/fastapi.md +18 -0
- package/docs/catalog/frameworks/gin.md +18 -0
- package/docs/catalog/frameworks/ktor.md +18 -0
- package/docs/catalog/frameworks/laravel.md +14 -0
- package/docs/catalog/frameworks/nextjs.md +14 -0
- package/docs/catalog/frameworks/react.md +18 -0
- package/docs/catalog/frameworks/spring-boot.md +18 -0
- package/docs/catalog/frameworks/symfony.md +18 -0
- package/docs/catalog/frameworks/vite.md +18 -0
- package/docs/catalog/language-packs.md +39 -0
- package/docs/catalog/languages/cpp.md +25 -0
- package/docs/catalog/languages/dotnet.md +59 -0
- package/docs/catalog/languages/go.md +29 -0
- package/docs/catalog/languages/java.md +60 -0
- package/docs/catalog/languages/kotlin.md +29 -0
- package/docs/catalog/languages/lua.md +59 -0
- package/docs/catalog/languages/perl.md +25 -0
- package/docs/catalog/languages/php.md +30 -0
- package/docs/catalog/languages/powershell.md +59 -0
- package/docs/catalog/languages/python.md +30 -0
- package/docs/catalog/languages/rust.md +25 -0
- package/docs/catalog/languages/shell.md +25 -0
- package/docs/catalog/languages/swift.md +25 -0
- package/docs/catalog/languages/typescript.md +60 -0
- package/docs/commands.md +202 -0
- package/docs/content-architecture.md +3 -0
- package/docs/flow-orchestration/parallel-execution.md +7 -0
- package/docs/flow-orchestration.md +63 -0
- package/docs/generated-artifacts.md +129 -0
- package/docs/hooks/catalog.md +44 -0
- package/docs/install/targets.md +29 -0
- package/docs/installation.md +98 -0
- package/docs/languages.md +31 -0
- package/docs/maintenance-lifecycle.md +62 -0
- package/docs/manifests.md +16 -0
- package/docs/migration/reference-project.md +18 -0
- package/docs/observability/benchmark-authoring.md +6 -0
- package/docs/observability/eval-model.md +7 -0
- package/docs/observability/event-taxonomy.md +12 -0
- package/docs/observability.md +44 -0
- package/docs/pack-authoring.md +19 -0
- package/docs/parallel-worktrees.md +6 -0
- package/docs/profile-guide.md +63 -0
- package/docs/quality-gates.md +56 -0
- package/docs/quickstart.md +41 -0
- package/docs/release-process.md +30 -0
- package/docs/repo-cartography.md +12 -0
- package/docs/style-guides/agent-style-guide.md +21 -0
- package/docs/style-guides/command-style-guide.md +21 -0
- package/docs/style-guides/rule-style-guide.md +20 -0
- package/docs/target-support-matrix.md +73 -0
- package/docs/targets/capability-families.md +13 -0
- package/docs/targets/translation-vs-emulation.md +11 -0
- package/docs/targets.md +20 -0
- package/docs/templates/authoring.md +23 -0
- package/docs/troubleshooting.md +53 -0
- package/docs/versioning-and-migration.md +25 -0
- package/examples/README.md +12 -0
- package/examples/knowledge-bases/README.md +12 -0
- package/examples/production-readiness-demo/README.md +16 -0
- package/hooks/README.md +3 -0
- package/hooks/shared/PostChangeSummary.ps1 +1 -0
- package/hooks/shared/PreChangeQualityGate.ps1 +1 -0
- package/hooks/shared/post-change-summary.sh +3 -0
- package/hooks/shared/pre-change-quality-gate.sh +3 -0
- package/install.ps1 +28 -0
- package/install.sh +24 -0
- package/knowledge-bases/operations/observability-and-evals/README.md +7 -0
- package/knowledge-bases/seeded/README.md +33 -0
- package/knowledge-bases/seeded/dotnet/README.md +18 -0
- package/knowledge-bases/seeded/dotnet/docs/examples-guide.md +15 -0
- package/knowledge-bases/seeded/dotnet/docs/frameworks.md +11 -0
- package/knowledge-bases/seeded/dotnet/docs/overview.md +33 -0
- package/knowledge-bases/seeded/dotnet/docs/review-checklist.md +27 -0
- package/knowledge-bases/seeded/dotnet/examples/01-aspnet-core-crud-api.md +13 -0
- package/knowledge-bases/seeded/dotnet/examples/02-background-worker-with-queue-processing.md +13 -0
- package/knowledge-bases/seeded/dotnet/examples/03-shared-domain-library.md +13 -0
- package/knowledge-bases/seeded/dotnet/examples/04-cli-automation-tool.md +13 -0
- package/knowledge-bases/seeded/dotnet/knowledge-base.json +8 -0
- package/knowledge-bases/seeded/dotnet/legacy-seed/csharp/coding-style.md +72 -0
- package/knowledge-bases/seeded/dotnet/legacy-seed/csharp/hooks.md +25 -0
- package/knowledge-bases/seeded/dotnet/legacy-seed/csharp/patterns.md +50 -0
- package/knowledge-bases/seeded/dotnet/legacy-seed/csharp/security.md +58 -0
- package/knowledge-bases/seeded/dotnet/legacy-seed/csharp/testing.md +46 -0
- package/knowledge-bases/seeded/dotnet/rules/common/agents.md +50 -0
- package/knowledge-bases/seeded/dotnet/rules/common/coding-style.md +48 -0
- package/knowledge-bases/seeded/dotnet/rules/common/development-workflow.md +38 -0
- package/knowledge-bases/seeded/dotnet/rules/common/git-workflow.md +24 -0
- package/knowledge-bases/seeded/dotnet/rules/common/hooks.md +30 -0
- package/knowledge-bases/seeded/dotnet/rules/common/patterns.md +31 -0
- package/knowledge-bases/seeded/dotnet/rules/common/performance.md +55 -0
- package/knowledge-bases/seeded/dotnet/rules/common/security.md +29 -0
- package/knowledge-bases/seeded/dotnet/rules/common/testing.md +29 -0
- package/knowledge-bases/seeded/dotnet/rules/dotnet/coding-style.md +38 -0
- package/knowledge-bases/seeded/dotnet/rules/dotnet/hooks.md +24 -0
- package/knowledge-bases/seeded/dotnet/rules/dotnet/patterns.md +30 -0
- package/knowledge-bases/seeded/dotnet/rules/dotnet/security.md +28 -0
- package/knowledge-bases/seeded/dotnet/rules/dotnet/testing.md +31 -0
- package/knowledge-bases/seeded/java/README.md +18 -0
- package/knowledge-bases/seeded/java/docs/examples-guide.md +15 -0
- package/knowledge-bases/seeded/java/docs/frameworks.md +11 -0
- package/knowledge-bases/seeded/java/docs/overview.md +34 -0
- package/knowledge-bases/seeded/java/docs/review-checklist.md +27 -0
- package/knowledge-bases/seeded/java/examples/01-spring-boot-rest-api.md +13 -0
- package/knowledge-bases/seeded/java/examples/02-event-consumer-service.md +13 -0
- package/knowledge-bases/seeded/java/examples/03-gradle-multi-module-backend.md +13 -0
- package/knowledge-bases/seeded/java/examples/04-library-module-with-strong-domain-tests.md +13 -0
- package/knowledge-bases/seeded/java/knowledge-base.json +8 -0
- package/knowledge-bases/seeded/java/legacy-seed/java/coding-style.md +114 -0
- package/knowledge-bases/seeded/java/legacy-seed/java/hooks.md +18 -0
- package/knowledge-bases/seeded/java/legacy-seed/java/patterns.md +146 -0
- package/knowledge-bases/seeded/java/legacy-seed/java/security.md +100 -0
- package/knowledge-bases/seeded/java/legacy-seed/java/testing.md +131 -0
- package/knowledge-bases/seeded/java/rules/common/agents.md +50 -0
- package/knowledge-bases/seeded/java/rules/common/coding-style.md +48 -0
- package/knowledge-bases/seeded/java/rules/common/development-workflow.md +38 -0
- package/knowledge-bases/seeded/java/rules/common/git-workflow.md +24 -0
- package/knowledge-bases/seeded/java/rules/common/hooks.md +30 -0
- package/knowledge-bases/seeded/java/rules/common/patterns.md +31 -0
- package/knowledge-bases/seeded/java/rules/common/performance.md +55 -0
- package/knowledge-bases/seeded/java/rules/common/security.md +29 -0
- package/knowledge-bases/seeded/java/rules/common/testing.md +29 -0
- package/knowledge-bases/seeded/java/rules/java/coding-style.md +22 -0
- package/knowledge-bases/seeded/java/rules/java/hooks.md +23 -0
- package/knowledge-bases/seeded/java/rules/java/patterns.md +22 -0
- package/knowledge-bases/seeded/java/rules/java/security.md +21 -0
- package/knowledge-bases/seeded/java/rules/java/testing.md +23 -0
- package/knowledge-bases/seeded/lua/README.md +18 -0
- package/knowledge-bases/seeded/lua/docs/examples-guide.md +15 -0
- package/knowledge-bases/seeded/lua/docs/frameworks.md +11 -0
- package/knowledge-bases/seeded/lua/docs/overview.md +30 -0
- package/knowledge-bases/seeded/lua/docs/review-checklist.md +27 -0
- package/knowledge-bases/seeded/lua/examples/01-neovim-plugin.md +13 -0
- package/knowledge-bases/seeded/lua/examples/02-openresty-request-handler.md +13 -0
- package/knowledge-bases/seeded/lua/examples/03-l/303/266ve-gameplay-module.md +13 -0
- package/knowledge-bases/seeded/lua/examples/04-embedded-automation-script.md +13 -0
- package/knowledge-bases/seeded/lua/knowledge-base.json +8 -0
- package/knowledge-bases/seeded/lua/rules/common/agents.md +50 -0
- package/knowledge-bases/seeded/lua/rules/common/coding-style.md +48 -0
- package/knowledge-bases/seeded/lua/rules/common/development-workflow.md +38 -0
- package/knowledge-bases/seeded/lua/rules/common/git-workflow.md +24 -0
- package/knowledge-bases/seeded/lua/rules/common/hooks.md +30 -0
- package/knowledge-bases/seeded/lua/rules/common/patterns.md +31 -0
- package/knowledge-bases/seeded/lua/rules/common/performance.md +55 -0
- package/knowledge-bases/seeded/lua/rules/common/security.md +29 -0
- package/knowledge-bases/seeded/lua/rules/common/testing.md +29 -0
- package/knowledge-bases/seeded/lua/rules/lua/coding-style.md +27 -0
- package/knowledge-bases/seeded/lua/rules/lua/hooks.md +21 -0
- package/knowledge-bases/seeded/lua/rules/lua/patterns.md +23 -0
- package/knowledge-bases/seeded/lua/rules/lua/security.md +20 -0
- package/knowledge-bases/seeded/lua/rules/lua/testing.md +23 -0
- package/knowledge-bases/seeded/powershell/README.md +18 -0
- package/knowledge-bases/seeded/powershell/docs/examples-guide.md +15 -0
- package/knowledge-bases/seeded/powershell/docs/frameworks.md +11 -0
- package/knowledge-bases/seeded/powershell/docs/overview.md +30 -0
- package/knowledge-bases/seeded/powershell/docs/review-checklist.md +27 -0
- package/knowledge-bases/seeded/powershell/examples/01-script-module.md +13 -0
- package/knowledge-bases/seeded/powershell/examples/02-ci-admin-automation-script.md +13 -0
- package/knowledge-bases/seeded/powershell/examples/03-remote-fleet-maintenance-command.md +13 -0
- package/knowledge-bases/seeded/powershell/examples/04-developer-bootstrap-utility.md +13 -0
- package/knowledge-bases/seeded/powershell/knowledge-base.json +8 -0
- package/knowledge-bases/seeded/powershell/rules/common/agents.md +50 -0
- package/knowledge-bases/seeded/powershell/rules/common/coding-style.md +48 -0
- package/knowledge-bases/seeded/powershell/rules/common/development-workflow.md +38 -0
- package/knowledge-bases/seeded/powershell/rules/common/git-workflow.md +24 -0
- package/knowledge-bases/seeded/powershell/rules/common/hooks.md +30 -0
- package/knowledge-bases/seeded/powershell/rules/common/patterns.md +31 -0
- package/knowledge-bases/seeded/powershell/rules/common/performance.md +55 -0
- package/knowledge-bases/seeded/powershell/rules/common/security.md +29 -0
- package/knowledge-bases/seeded/powershell/rules/common/testing.md +29 -0
- package/knowledge-bases/seeded/powershell/rules/powershell/coding-style.md +25 -0
- package/knowledge-bases/seeded/powershell/rules/powershell/hooks.md +24 -0
- package/knowledge-bases/seeded/powershell/rules/powershell/patterns.md +23 -0
- package/knowledge-bases/seeded/powershell/rules/powershell/security.md +23 -0
- package/knowledge-bases/seeded/powershell/rules/powershell/testing.md +24 -0
- package/knowledge-bases/seeded/typescript/README.md +18 -0
- package/knowledge-bases/seeded/typescript/docs/examples-guide.md +15 -0
- package/knowledge-bases/seeded/typescript/docs/frameworks.md +11 -0
- package/knowledge-bases/seeded/typescript/docs/overview.md +34 -0
- package/knowledge-bases/seeded/typescript/docs/review-checklist.md +27 -0
- package/knowledge-bases/seeded/typescript/examples/01-node-api.md +13 -0
- package/knowledge-bases/seeded/typescript/examples/02-react-component-library.md +13 -0
- package/knowledge-bases/seeded/typescript/examples/03-nextjs-app.md +13 -0
- package/knowledge-bases/seeded/typescript/examples/04-monorepo-shared-types-and-validation.md +13 -0
- package/knowledge-bases/seeded/typescript/knowledge-base.json +8 -0
- package/knowledge-bases/seeded/typescript/legacy-seed/typescript/coding-style.md +199 -0
- package/knowledge-bases/seeded/typescript/legacy-seed/typescript/hooks.md +22 -0
- package/knowledge-bases/seeded/typescript/legacy-seed/typescript/patterns.md +52 -0
- package/knowledge-bases/seeded/typescript/legacy-seed/typescript/security.md +28 -0
- package/knowledge-bases/seeded/typescript/legacy-seed/typescript/testing.md +18 -0
- package/knowledge-bases/seeded/typescript/rules/common/agents.md +50 -0
- package/knowledge-bases/seeded/typescript/rules/common/coding-style.md +48 -0
- package/knowledge-bases/seeded/typescript/rules/common/development-workflow.md +38 -0
- package/knowledge-bases/seeded/typescript/rules/common/git-workflow.md +24 -0
- package/knowledge-bases/seeded/typescript/rules/common/hooks.md +30 -0
- package/knowledge-bases/seeded/typescript/rules/common/patterns.md +31 -0
- package/knowledge-bases/seeded/typescript/rules/common/performance.md +55 -0
- package/knowledge-bases/seeded/typescript/rules/common/security.md +29 -0
- package/knowledge-bases/seeded/typescript/rules/common/testing.md +29 -0
- package/knowledge-bases/seeded/typescript/rules/typescript/coding-style.md +30 -0
- package/knowledge-bases/seeded/typescript/rules/typescript/hooks.md +25 -0
- package/knowledge-bases/seeded/typescript/rules/typescript/patterns.md +23 -0
- package/knowledge-bases/seeded/typescript/rules/typescript/security.md +23 -0
- package/knowledge-bases/seeded/typescript/rules/typescript/testing.md +22 -0
- package/knowledge-bases/structured/README.md +3 -0
- package/knowledge-bases/structured/cpp/README.md +3 -0
- package/knowledge-bases/structured/cpp/docs/frameworks.md +3 -0
- package/knowledge-bases/structured/cpp/docs/overview.md +12 -0
- package/knowledge-bases/structured/cpp/docs/review-checklist.md +6 -0
- package/knowledge-bases/structured/cpp/examples/01-reference-scenario.md +3 -0
- package/knowledge-bases/structured/cpp/knowledge-base.json +13 -0
- package/knowledge-bases/structured/go/README.md +3 -0
- package/knowledge-bases/structured/go/docs/frameworks.md +3 -0
- package/knowledge-bases/structured/go/docs/overview.md +12 -0
- package/knowledge-bases/structured/go/docs/review-checklist.md +6 -0
- package/knowledge-bases/structured/go/examples/01-reference-scenario.md +3 -0
- package/knowledge-bases/structured/go/knowledge-base.json +13 -0
- package/knowledge-bases/structured/kotlin/README.md +3 -0
- package/knowledge-bases/structured/kotlin/docs/frameworks.md +3 -0
- package/knowledge-bases/structured/kotlin/docs/overview.md +12 -0
- package/knowledge-bases/structured/kotlin/docs/review-checklist.md +6 -0
- package/knowledge-bases/structured/kotlin/examples/01-reference-scenario.md +3 -0
- package/knowledge-bases/structured/kotlin/knowledge-base.json +13 -0
- package/knowledge-bases/structured/perl/README.md +3 -0
- package/knowledge-bases/structured/perl/docs/frameworks.md +3 -0
- package/knowledge-bases/structured/perl/docs/overview.md +12 -0
- package/knowledge-bases/structured/perl/docs/review-checklist.md +6 -0
- package/knowledge-bases/structured/perl/examples/01-reference-scenario.md +3 -0
- package/knowledge-bases/structured/perl/knowledge-base.json +13 -0
- package/knowledge-bases/structured/php/README.md +3 -0
- package/knowledge-bases/structured/php/docs/frameworks.md +3 -0
- package/knowledge-bases/structured/php/docs/overview.md +12 -0
- package/knowledge-bases/structured/php/docs/review-checklist.md +6 -0
- package/knowledge-bases/structured/php/examples/01-reference-scenario.md +3 -0
- package/knowledge-bases/structured/php/knowledge-base.json +13 -0
- package/knowledge-bases/structured/python/README.md +3 -0
- package/knowledge-bases/structured/python/docs/frameworks.md +3 -0
- package/knowledge-bases/structured/python/docs/overview.md +12 -0
- package/knowledge-bases/structured/python/docs/review-checklist.md +6 -0
- package/knowledge-bases/structured/python/examples/01-reference-scenario.md +3 -0
- package/knowledge-bases/structured/python/knowledge-base.json +13 -0
- package/knowledge-bases/structured/rust/README.md +3 -0
- package/knowledge-bases/structured/rust/docs/frameworks.md +3 -0
- package/knowledge-bases/structured/rust/docs/overview.md +12 -0
- package/knowledge-bases/structured/rust/docs/review-checklist.md +6 -0
- package/knowledge-bases/structured/rust/examples/01-reference-scenario.md +3 -0
- package/knowledge-bases/structured/rust/knowledge-base.json +13 -0
- package/knowledge-bases/structured/shell/README.md +3 -0
- package/knowledge-bases/structured/shell/docs/frameworks.md +3 -0
- package/knowledge-bases/structured/shell/docs/overview.md +12 -0
- package/knowledge-bases/structured/shell/docs/review-checklist.md +6 -0
- package/knowledge-bases/structured/shell/examples/01-reference-scenario.md +3 -0
- package/knowledge-bases/structured/shell/knowledge-base.json +13 -0
- package/knowledge-bases/structured/swift/README.md +3 -0
- package/knowledge-bases/structured/swift/docs/frameworks.md +3 -0
- package/knowledge-bases/structured/swift/docs/overview.md +12 -0
- package/knowledge-bases/structured/swift/docs/review-checklist.md +6 -0
- package/knowledge-bases/structured/swift/examples/01-reference-scenario.md +3 -0
- package/knowledge-bases/structured/swift/knowledge-base.json +13 -0
- package/manifests/bundles/core.json +384 -0
- package/manifests/bundles/frameworks.json +196 -0
- package/manifests/bundles/languages-seeded.json +136 -0
- package/manifests/bundles/languages-v1.json +317 -0
- package/manifests/catalog/capability-taxonomy.json +47 -0
- package/manifests/catalog/compatibility-matrix.json +4259 -0
- package/manifests/catalog/engineering-assistant-import-inventory.json +215 -0
- package/manifests/catalog/enhanced-skill-import-inventory.json +402 -0
- package/manifests/catalog/flow-artifacts.json +324 -0
- package/manifests/catalog/framework-assets.json +124 -0
- package/manifests/catalog/harness-capability-matrix.json +429 -0
- package/manifests/catalog/index.json +56 -0
- package/manifests/catalog/language-assets.json +616 -0
- package/manifests/catalog/package-surface.json +426 -0
- package/manifests/catalog/seeded-knowledge-files.json +1094 -0
- package/manifests/hooks/index.json +70 -0
- package/manifests/profiles/ai-runtime.json +24 -0
- package/manifests/profiles/core.json +24 -0
- package/manifests/profiles/developer.json +24 -0
- package/manifests/profiles/game-dev-native.json +24 -0
- package/manifests/profiles/legacy-modernization.json +24 -0
- package/manifests/profiles/rapid-prototyping.json +24 -0
- package/manifests/profiles/release-manager.json +24 -0
- package/manifests/profiles/research-first.json +24 -0
- package/manifests/profiles/reviewer.json +24 -0
- package/manifests/profiles/security.json +24 -0
- package/manifests/targets/core.json +125 -0
- package/mcp/README.md +3 -0
- package/mcp/servers/context7.codex.toml +3 -0
- package/mcp/servers/context7.md +3 -0
- package/mcp/servers/openai-developer-docs.codex.toml +3 -0
- package/mcp/servers/openai-developer-docs.md +3 -0
- package/mcp/servers/playwright.codex.toml +3 -0
- package/mcp/servers/playwright.md +3 -0
- package/mcp/servers/semgrep.md +3 -0
- package/package.json +126 -0
- package/profiles/README.md +3 -0
- package/profiles/claude-code.md +3 -0
- package/profiles/codex.md +3 -0
- package/profiles/core.md +3 -0
- package/profiles/developer.md +3 -0
- package/profiles/release-manager.md +3 -0
- package/rules/README.md +58 -0
- package/rules/common/README.md +37 -0
- package/rules/common/agents.md +50 -0
- package/rules/common/coding-style.md +48 -0
- package/rules/common/development-workflow.md +38 -0
- package/rules/common/git-workflow.md +24 -0
- package/rules/common/hooks.md +30 -0
- package/rules/common/patterns.md +31 -0
- package/rules/common/performance.md +55 -0
- package/rules/common/security.md +29 -0
- package/rules/common/testing.md +29 -0
- package/rules/cpp/README.md +19 -0
- package/rules/cpp/coding-style.md +3 -0
- package/rules/cpp/patterns.md +3 -0
- package/rules/cpp/security.md +3 -0
- package/rules/cpp/testing.md +3 -0
- package/rules/cpp/tooling.md +3 -0
- package/rules/dotnet/README.md +41 -0
- package/rules/dotnet/coding-style.md +38 -0
- package/rules/dotnet/hooks.md +24 -0
- package/rules/dotnet/patterns.md +30 -0
- package/rules/dotnet/security.md +28 -0
- package/rules/dotnet/testing.md +31 -0
- package/rules/golang/README.md +19 -0
- package/rules/golang/coding-style.md +3 -0
- package/rules/golang/patterns.md +3 -0
- package/rules/golang/security.md +3 -0
- package/rules/golang/testing.md +3 -0
- package/rules/golang/tooling.md +3 -0
- package/rules/java/README.md +41 -0
- package/rules/java/coding-style.md +22 -0
- package/rules/java/hooks.md +23 -0
- package/rules/java/patterns.md +22 -0
- package/rules/java/security.md +21 -0
- package/rules/java/testing.md +23 -0
- package/rules/kotlin/README.md +19 -0
- package/rules/kotlin/coding-style.md +3 -0
- package/rules/kotlin/patterns.md +3 -0
- package/rules/kotlin/security.md +3 -0
- package/rules/kotlin/testing.md +3 -0
- package/rules/kotlin/tooling.md +3 -0
- package/rules/lua/README.md +41 -0
- package/rules/lua/coding-style.md +27 -0
- package/rules/lua/hooks.md +21 -0
- package/rules/lua/patterns.md +23 -0
- package/rules/lua/security.md +20 -0
- package/rules/lua/testing.md +23 -0
- package/rules/perl/README.md +19 -0
- package/rules/perl/coding-style.md +3 -0
- package/rules/perl/patterns.md +3 -0
- package/rules/perl/security.md +3 -0
- package/rules/perl/testing.md +3 -0
- package/rules/perl/tooling.md +3 -0
- package/rules/php/README.md +19 -0
- package/rules/php/coding-style.md +3 -0
- package/rules/php/patterns.md +3 -0
- package/rules/php/security.md +3 -0
- package/rules/php/testing.md +3 -0
- package/rules/php/tooling.md +3 -0
- package/rules/powershell/README.md +41 -0
- package/rules/powershell/coding-style.md +25 -0
- package/rules/powershell/hooks.md +24 -0
- package/rules/powershell/patterns.md +23 -0
- package/rules/powershell/security.md +23 -0
- package/rules/powershell/testing.md +24 -0
- package/rules/python/README.md +19 -0
- package/rules/python/coding-style.md +3 -0
- package/rules/python/patterns.md +3 -0
- package/rules/python/security.md +3 -0
- package/rules/python/testing.md +3 -0
- package/rules/python/tooling.md +3 -0
- package/rules/rust/README.md +19 -0
- package/rules/rust/coding-style.md +3 -0
- package/rules/rust/patterns.md +3 -0
- package/rules/rust/security.md +3 -0
- package/rules/rust/testing.md +3 -0
- package/rules/rust/tooling.md +3 -0
- package/rules/shell/README.md +19 -0
- package/rules/shell/coding-style.md +3 -0
- package/rules/shell/patterns.md +3 -0
- package/rules/shell/security.md +3 -0
- package/rules/shell/testing.md +3 -0
- package/rules/shell/tooling.md +3 -0
- package/rules/swift/README.md +19 -0
- package/rules/swift/coding-style.md +3 -0
- package/rules/swift/patterns.md +3 -0
- package/rules/swift/security.md +3 -0
- package/rules/swift/testing.md +3 -0
- package/rules/swift/tooling.md +3 -0
- package/rules/typescript/README.md +41 -0
- package/rules/typescript/coding-style.md +30 -0
- package/rules/typescript/hooks.md +25 -0
- package/rules/typescript/patterns.md +23 -0
- package/rules/typescript/security.md +23 -0
- package/rules/typescript/testing.md +22 -0
- package/schemas/content/content-metadata.schema.json +100 -0
- package/schemas/hooks/hook.schema.json +57 -0
- package/schemas/manifests/catalog.schema.json +22 -0
- package/schemas/manifests/harness-capability-matrix.schema.json +127 -0
- package/schemas/manifests/package-surface.schema.json +63 -0
- package/schemas/manifests/seeded-knowledge-files.schema.json +69 -0
- package/schemas/runtime/architecture-significance.schema.json +45 -0
- package/schemas/runtime/benchmark-expectation.schema.json +33 -0
- package/schemas/runtime/decision-coverage-summary.schema.json +46 -0
- package/schemas/runtime/decision-record.schema.json +266 -0
- package/schemas/runtime/file-interest.schema.json +78 -0
- package/schemas/runtime/flow-state.schema.json +39 -0
- package/schemas/runtime/impact-analysis.schema.json +83 -0
- package/schemas/runtime/instruction-plan.schema.json +63 -0
- package/schemas/runtime/observability-event.schema.json +40 -0
- package/schemas/runtime/observability-summary.schema.json +32 -0
- package/schemas/runtime/recursive-adr-candidate.schema.json +57 -0
- package/schemas/runtime/recursive-budget.schema.json +40 -0
- package/schemas/runtime/recursive-session-summary.schema.json +49 -0
- package/schemas/runtime/recursive-session.schema.json +65 -0
- package/schemas/runtime/recursive-trace-event.schema.json +43 -0
- package/schemas/runtime/repo-map.schema.json +65 -0
- package/schemas/runtime/task-pack.schema.json +172 -0
- package/schemas/runtime/working-memory.schema.json +52 -0
- package/schemas/runtime/worktree-plan.schema.json +72 -0
- package/schemas/runtime/worktree-state.schema.json +41 -0
- package/schemas/templates/recursive-template-registry.schema.json +43 -0
- package/schemas/templates/runtime-template-registry.schema.json +55 -0
- package/schemas/templates/template-catalog.schema.json +38 -0
- package/scripts/ci/capability-matrix-shared.mjs +263 -0
- package/scripts/ci/generate-compatibility-matrix.mjs +189 -0
- package/scripts/ci/generate-target-support-docs.mjs +27 -0
- package/scripts/ci/release-smoke.mjs +121 -0
- package/scripts/ci/smoke-runner.mjs +90 -0
- package/scripts/ci/validate-capability-matrix.mjs +30 -0
- package/scripts/ci/validate-content-metadata.mjs +188 -0
- package/scripts/ci/validate-doc-command-alignment.mjs +146 -0
- package/scripts/ci/validate-framework-coverage.mjs +52 -0
- package/scripts/ci/validate-generated-sync.mjs +122 -0
- package/scripts/ci/validate-manifest-runtime-consistency.mjs +134 -0
- package/scripts/ci/validate-no-placeholders.mjs +86 -0
- package/scripts/ci/validate-pack-dependencies.mjs +78 -0
- package/scripts/ci/validate-packed-install-surface.mjs +77 -0
- package/scripts/ci/validate-seeded-knowledge-coverage.mjs +89 -0
- package/scripts/ci/validate-skill-depth.mjs +88 -0
- package/scripts/codex/apply-home-config.mjs +39 -0
- package/scripts/intelligence/cartograph-repo.mjs +15 -0
- package/scripts/intelligence/classify-boundaries.mjs +15 -0
- package/scripts/intelligence/detect-frameworks.mjs +16 -0
- package/scripts/intelligence/scan-repo.mjs +16 -0
- package/scripts/intelligence/score-recommendations.mjs +16 -0
- package/scripts/intelligence/shared/cartography.mjs +129 -0
- package/scripts/intelligence/shared.mjs +660 -0
- package/scripts/intelligence/synthesize-instructions.mjs +90 -0
- package/scripts/knowledge/import-pack.mjs +56 -0
- package/scripts/knowledge/normalize-pack.mjs +49 -0
- package/scripts/knowledge/report-coverage.mjs +82 -0
- package/scripts/knowledge/report-drift.mjs +67 -0
- package/scripts/runtime/check-merge-readiness.mjs +44 -0
- package/scripts/runtime/check-parallel-status.mjs +39 -0
- package/scripts/runtime/create-parallel-plan.mjs +61 -0
- package/scripts/runtime/flow-status.mjs +114 -0
- package/scripts/runtime/record-event.mjs +44 -0
- package/scripts/runtime/recursive-plan.mjs +25 -0
- package/scripts/runtime/render-observability-report.mjs +50 -0
- package/scripts/runtime/report-effectiveness.mjs +35 -0
- package/scripts/runtime/summarize-observability.mjs +57 -0
- package/scripts/templates/README.md +40 -0
- package/scripts/templates/config/required-sections.json +37 -0
- package/scripts/templates/powershell/Check-TemplateFrontmatter.ps1 +54 -0
- package/scripts/templates/powershell/Check-TemplateLinks.ps1 +22 -0
- package/scripts/templates/powershell/Get-MissingTemplateSections.ps1 +21 -0
- package/scripts/templates/powershell/New-TemplateIndex.ps1 +19 -0
- package/scripts/templates/powershell/Test-WorkflowContracts.ps1 +26 -0
- package/scripts/templates/shell/check-template-frontmatter.sh +39 -0
- package/scripts/templates/shell/check-template-links.sh +25 -0
- package/scripts/templates/shell/generate-template-index.sh +17 -0
- package/scripts/templates/shell/list-missing-template-sections.sh +36 -0
- package/scripts/templates/shell/verify-workflow-contracts.sh +21 -0
- package/skills/README.md +94 -0
- package/skills/api-contract-review/SKILL.md +56 -0
- package/skills/api-contract-review/references/event-and-async-contracts.md +16 -0
- package/skills/api-contract-review/references/examples.md +15 -0
- package/skills/api-contract-review/references/http-contract-checklist.md +24 -0
- package/skills/api-contract-review/references/protobuf-and-buf.md +12 -0
- package/skills/api-contract-review/references/review-template.md +19 -0
- package/skills/api-contract-review/references/schema-compatibility.md +20 -0
- package/skills/api-contract-review/references/style-and-linting.md +15 -0
- package/skills/architecture-decision-records/SKILL.md +53 -0
- package/skills/architecture-decision-records/references/adr-anti-patterns.md +10 -0
- package/skills/architecture-decision-records/references/adr-template.md +31 -0
- package/skills/architecture-decision-records/references/decision-rubric.md +22 -0
- package/skills/architecture-decision-records/references/examples.md +15 -0
- package/skills/architecture-decision-records/references/madr-style-guide.md +17 -0
- package/skills/cloud-architect/SKILL.md +61 -0
- package/skills/cloud-architect/references/agent-patterns.md +23 -0
- package/skills/cloud-architect/references/debugging-playbook.md +24 -0
- package/skills/cloud-architect/references/distributed-systems.md +13 -0
- package/skills/cloud-architect/references/examples.md +19 -0
- package/skills/cloud-architect/references/output-templates.md +35 -0
- package/skills/cloud-architect/references/platform-and-deployment.md +13 -0
- package/skills/cloud-architect/references/reliability-security-cost.md +17 -0
- package/skills/cloud-architect/references/repo-exploration.md +42 -0
- package/skills/cpp-engineering/SKILL.md +43 -0
- package/skills/db-migration-review/SKILL.md +56 -0
- package/skills/db-migration-review/references/engine-specific-hotspots.md +21 -0
- package/skills/db-migration-review/references/examples.md +16 -0
- package/skills/db-migration-review/references/expand-contract.md +19 -0
- package/skills/db-migration-review/references/review-template.md +25 -0
- package/skills/db-migration-review/references/risk-taxonomy.md +30 -0
- package/skills/db-migration-review/references/rollout-and-backfill.md +23 -0
- package/skills/db-migration-review/references/tooling-signals.md +21 -0
- package/skills/dependency-upgrade-safety/SKILL.md +36 -0
- package/skills/documentation-lookup/SKILL.md +45 -0
- package/skills/documentation-lookup/references/source-priority.md +6 -0
- package/skills/dotnet-engineering/SKILL.md +76 -0
- package/skills/dotnet-engineering/references/agent-patterns.md +30 -0
- package/skills/dotnet-engineering/references/architecture-and-di.md +28 -0
- package/skills/dotnet-engineering/references/aspnet-and-efcore.md +22 -0
- package/skills/dotnet-engineering/references/cloud-native-and-aspire.md +21 -0
- package/skills/dotnet-engineering/references/debugging-playbook.md +21 -0
- package/skills/dotnet-engineering/references/examples.md +22 -0
- package/skills/dotnet-engineering/references/output-templates.md +33 -0
- package/skills/dotnet-engineering/references/repo-exploration.md +38 -0
- package/skills/dotnet-engineering/references/testing-and-performance.md +25 -0
- package/skills/engineering-assistant/SKILL.md +59 -0
- package/skills/engineering-assistant/references/architecture.md +47 -0
- package/skills/engineering-assistant/references/change-discipline.md +37 -0
- package/skills/engineering-assistant/references/project-notes.md +36 -0
- package/skills/engineering-assistant/references/skill-composition.md +33 -0
- package/skills/engineering-assistant/references/solid-and-patterns.md +34 -0
- package/skills/go-engineering/SKILL.md +43 -0
- package/skills/incident-triage/SKILL.md +36 -0
- package/skills/java-engineering/SKILL.md +48 -0
- package/skills/java-engineering/references/agent-patterns.md +23 -0
- package/skills/java-engineering/references/build-and-structure.md +14 -0
- package/skills/java-engineering/references/debugging-playbook.md +24 -0
- package/skills/java-engineering/references/examples.md +15 -0
- package/skills/java-engineering/references/output-templates.md +35 -0
- package/skills/java-engineering/references/repo-exploration.md +42 -0
- package/skills/java-engineering/references/spring-patterns.md +12 -0
- package/skills/java-engineering/references/testing-concurrency-performance.md +11 -0
- package/skills/javascript-engineering/SKILL.md +66 -0
- package/skills/javascript-engineering/references/agent-patterns.md +22 -0
- package/skills/javascript-engineering/references/browser-and-bundler-patterns.md +14 -0
- package/skills/javascript-engineering/references/debugging-playbook.md +17 -0
- package/skills/javascript-engineering/references/ecosystem-guide.md +19 -0
- package/skills/javascript-engineering/references/examples.md +15 -0
- package/skills/javascript-engineering/references/node-service-patterns.md +15 -0
- package/skills/javascript-engineering/references/output-templates.md +17 -0
- package/skills/javascript-engineering/references/package-contracts.md +12 -0
- package/skills/javascript-engineering/references/repo-exploration.md +24 -0
- package/skills/javascript-engineering/references/testing-and-debugging.md +13 -0
- package/skills/kotlin-engineering/SKILL.md +43 -0
- package/skills/lua-engineering/SKILL.md +78 -0
- package/skills/lua-engineering/references/agent-patterns.md +22 -0
- package/skills/lua-engineering/references/debugging-and-testing.md +13 -0
- package/skills/lua-engineering/references/debugging-playbook.md +17 -0
- package/skills/lua-engineering/references/examples.md +15 -0
- package/skills/lua-engineering/references/game-and-addon-patterns.md +15 -0
- package/skills/lua-engineering/references/language-idioms.md +16 -0
- package/skills/lua-engineering/references/neovim-and-editor-patterns.md +17 -0
- package/skills/lua-engineering/references/openresty-patterns.md +15 -0
- package/skills/lua-engineering/references/output-templates.md +17 -0
- package/skills/lua-engineering/references/repo-exploration.md +25 -0
- package/skills/lua-engineering/references/runtime-profiles.md +12 -0
- package/skills/lua-engineering/references/tooling-and-quality.md +16 -0
- package/skills/observability-and-eval/SKILL.md +6 -0
- package/skills/observability-setup/SKILL.md +35 -0
- package/skills/parallel-worktree-supervisor/SKILL.md +55 -0
- package/skills/parallel-worktree-supervisor/references/examples.md +14 -0
- package/skills/parallel-worktree-supervisor/references/merge-readiness.md +15 -0
- package/skills/parallel-worktree-supervisor/references/output-template.md +16 -0
- package/skills/parallel-worktree-supervisor/references/stacked-diffs-and-review.md +17 -0
- package/skills/parallel-worktree-supervisor/references/task-sharding-rules.md +22 -0
- package/skills/parallel-worktree-supervisor/references/worktree-operations.md +16 -0
- package/skills/performance-profiling/SKILL.md +36 -0
- package/skills/perl-engineering/SKILL.md +43 -0
- package/skills/php-engineering/SKILL.md +43 -0
- package/skills/powershell-engineering/SKILL.md +48 -0
- package/skills/powershell-engineering/references/agent-patterns.md +23 -0
- package/skills/powershell-engineering/references/debugging-playbook.md +24 -0
- package/skills/powershell-engineering/references/examples.md +17 -0
- package/skills/powershell-engineering/references/output-templates.md +35 -0
- package/skills/powershell-engineering/references/remoting-and-ops.md +12 -0
- package/skills/powershell-engineering/references/repo-exploration.md +42 -0
- package/skills/powershell-engineering/references/scripting-and-modules.md +14 -0
- package/skills/powershell-engineering/references/testing-and-ci.md +11 -0
- package/skills/pr-triage-and-summary/SKILL.md +35 -0
- package/skills/python-engineering/SKILL.md +56 -0
- package/skills/python-engineering/references/agent-patterns.md +23 -0
- package/skills/python-engineering/references/async-and-concurrency.md +19 -0
- package/skills/python-engineering/references/debugging-playbook.md +24 -0
- package/skills/python-engineering/references/ecosystem-guide.md +32 -0
- package/skills/python-engineering/references/examples.md +19 -0
- package/skills/python-engineering/references/output-templates.md +35 -0
- package/skills/python-engineering/references/repo-exploration.md +42 -0
- package/skills/python-engineering/references/testing-and-quality.md +16 -0
- package/skills/release-readiness/SKILL.md +45 -0
- package/skills/release-readiness/references/release-report-template.md +7 -0
- package/skills/repo-cartographer/SKILL.md +10 -0
- package/skills/repo-modernization/SKILL.md +56 -0
- package/skills/repo-modernization/references/automation-candidates.md +19 -0
- package/skills/repo-modernization/references/dependency-and-build-modernization.md +16 -0
- package/skills/repo-modernization/references/examples.md +15 -0
- package/skills/repo-modernization/references/modernization-layers.md +21 -0
- package/skills/repo-modernization/references/roadmap-template.md +25 -0
- package/skills/repo-modernization/references/safety-rails.md +15 -0
- package/skills/repo-modernization/references/strangler-and-seams.md +18 -0
- package/skills/repo-onboarding/SKILL.md +56 -0
- package/skills/repo-onboarding/references/command-discovery.md +13 -0
- package/skills/repo-onboarding/references/discovery-checklist.md +24 -0
- package/skills/repo-onboarding/references/examples.md +13 -0
- package/skills/repo-onboarding/references/monorepo-signals.md +17 -0
- package/skills/repo-onboarding/references/output-template.md +26 -0
- package/skills/repo-onboarding/references/ownership-and-health-signals.md +21 -0
- package/skills/repo-onboarding/references/repo-archetypes.md +13 -0
- package/skills/rust-engineering/SKILL.md +43 -0
- package/skills/security-scan/SKILL.md +45 -0
- package/skills/security-scan/references/review-checklist.md +7 -0
- package/skills/shell-engineering/SKILL.md +43 -0
- package/skills/speckit-analyze/SKILL.md +190 -0
- package/skills/speckit-checklist/SKILL.md +301 -0
- package/skills/speckit-clarify/SKILL.md +183 -0
- package/skills/speckit-constitution/SKILL.md +86 -0
- package/skills/speckit-implement/SKILL.md +204 -0
- package/skills/speckit-plan/SKILL.md +151 -0
- package/skills/speckit-specify/SKILL.md +304 -0
- package/skills/speckit-tasks/SKILL.md +197 -0
- package/skills/speckit-taskstoissues/SKILL.md +35 -0
- package/skills/swift-engineering/SKILL.md +43 -0
- package/skills/test-strategy-and-coverage/SKILL.md +35 -0
- package/skills/typescript-engineering/SKILL.md +77 -0
- package/skills/typescript-engineering/references/agent-patterns.md +23 -0
- package/skills/typescript-engineering/references/debugging-playbook.md +21 -0
- package/skills/typescript-engineering/references/examples.md +22 -0
- package/skills/typescript-engineering/references/frontend-and-backend-patterns.md +19 -0
- package/skills/typescript-engineering/references/output-templates.md +25 -0
- package/skills/typescript-engineering/references/repo-exploration.md +25 -0
- package/skills/typescript-engineering/references/runtime-validation-and-boundaries.md +20 -0
- package/skills/typescript-engineering/references/tsconfig-and-build.md +25 -0
- package/skills/typescript-engineering/references/type-system-patterns.md +20 -0
- package/skills/typescript-engineering/references/workspace-and-monorepo.md +23 -0
- package/targets/claude-code/adapter.json +56 -0
- package/targets/claude-code/runtime/.claude/CLAUDE.md +3 -0
- package/targets/claude-code/runtime/.claude/agents/documentation-lookup.md +3 -0
- package/targets/claude-code/runtime/.claude/agents/release-readiness.md +3 -0
- package/targets/claude-code/runtime/.claude/agents/repo-onboarding.md +3 -0
- package/targets/claude-code/runtime/.claude/agents/security-scan.md +3 -0
- package/targets/claude-code/runtime/.claude/hooks/post-tool-use.sh +4 -0
- package/targets/claude-code/runtime/.claude/hooks/pre-tool-use.sh +4 -0
- package/targets/claude-code/runtime/.claude/settings.json +26 -0
- package/targets/codex/adapter.json +56 -0
- package/targets/codex/runtime/.codex/README.md +3 -0
- package/targets/codex/runtime/.codex/config.toml +15 -0
- package/targets/cursor/adapter.json +56 -0
- package/targets/opencode/adapter.json +56 -0
- package/templates/instructions/cursor-rule-template.mdc +7 -0
- package/templates/instructions/root-agents-template.md +88 -0
- package/templates/instructions/scoped-agents-template.md +90 -0
- package/templates/tasks/fix-bug.md +93 -0
- package/templates/tasks/implement-feature.md +95 -0
- package/templates/workflows/implement-cpp-change.md +175 -0
- package/templates/workflows/implement-dotnet-change.md +175 -0
- package/templates/workflows/implement-go-change.md +175 -0
- package/templates/workflows/implement-java-change.md +175 -0
- package/templates/workflows/implement-kotlin-change.md +175 -0
- package/templates/workflows/implement-lua-change.md +175 -0
- package/templates/workflows/implement-perl-change.md +175 -0
- package/templates/workflows/implement-php-change.md +175 -0
- package/templates/workflows/implement-powershell-change.md +175 -0
- package/templates/workflows/implement-python-change.md +175 -0
- package/templates/workflows/implement-rust-change.md +175 -0
- package/templates/workflows/implement-shell-change.md +175 -0
- package/templates/workflows/implement-swift-change.md +175 -0
- package/templates/workflows/implement-typescript-change.md +176 -0
- package/templates/workflows/parallel-implement-and-merge.md +191 -0
- package/templates/workflows/research-plan-implement-validate.md +187 -0
- package/templates/workflows/triage-reproduce-fix-verify.md +167 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
|
|
5
|
+
const root = process.cwd();
|
|
6
|
+
const summaryPath = path.join(root, ".hforge", "observability", "summary.json");
|
|
7
|
+
|
|
8
|
+
let summary;
|
|
9
|
+
try {
|
|
10
|
+
summary = JSON.parse(await fs.readFile(summaryPath, "utf8"));
|
|
11
|
+
} catch {
|
|
12
|
+
summary = {
|
|
13
|
+
generatedAt: new Date().toISOString(),
|
|
14
|
+
totalEvents: 0,
|
|
15
|
+
byEventType: {},
|
|
16
|
+
byResult: {},
|
|
17
|
+
driftFindings: []
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const lines = [
|
|
22
|
+
"# Observability Report",
|
|
23
|
+
"",
|
|
24
|
+
`Generated: ${summary.generatedAt}`,
|
|
25
|
+
`Total events: ${summary.totalEvents}`,
|
|
26
|
+
`Acceptance rate: ${summary.recommendationAcceptanceRate ?? "n/a"}`,
|
|
27
|
+
`Benchmark pass rate: ${summary.benchmarkPassRate ?? "n/a"}`,
|
|
28
|
+
"",
|
|
29
|
+
"## Event types"
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
for (const [eventType, count] of Object.entries(summary.byEventType ?? {})) {
|
|
33
|
+
lines.push(`- ${eventType}: ${count}`);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
lines.push("", "## Results");
|
|
37
|
+
for (const [result, count] of Object.entries(summary.byResult ?? {})) {
|
|
38
|
+
lines.push(`- ${result}: ${count}`);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
lines.push("", "## Drift findings");
|
|
42
|
+
if ((summary.driftFindings ?? []).length === 0) {
|
|
43
|
+
lines.push("- none");
|
|
44
|
+
} else {
|
|
45
|
+
for (const finding of summary.driftFindings) {
|
|
46
|
+
lines.push(`- ${finding}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
console.log(lines.join("\n"));
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
|
|
5
|
+
const args = process.argv.slice(2);
|
|
6
|
+
const json = args.includes("--json");
|
|
7
|
+
const root = path.resolve(args.find((value) => !value.startsWith("--")) ?? ".");
|
|
8
|
+
const filePath = path.join(root, ".hforge", "observability", "effectiveness-signals.json");
|
|
9
|
+
|
|
10
|
+
let signals = [];
|
|
11
|
+
try {
|
|
12
|
+
signals = JSON.parse(await fs.readFile(filePath, "utf8"));
|
|
13
|
+
} catch {
|
|
14
|
+
signals = [];
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const bySignalType = {};
|
|
18
|
+
const byResult = {};
|
|
19
|
+
for (const signal of signals) {
|
|
20
|
+
bySignalType[signal.signalType] = (bySignalType[signal.signalType] ?? 0) + 1;
|
|
21
|
+
byResult[signal.result] = (byResult[signal.result] ?? 0) + 1;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const summary = {
|
|
25
|
+
total: signals.length,
|
|
26
|
+
bySignalType,
|
|
27
|
+
byResult,
|
|
28
|
+
latest: signals[signals.length - 1] ?? null
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
if (json) {
|
|
32
|
+
console.log(JSON.stringify(summary, null, 2));
|
|
33
|
+
} else {
|
|
34
|
+
console.log(JSON.stringify(summary, null, 2));
|
|
35
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
|
|
5
|
+
const args = process.argv.slice(2);
|
|
6
|
+
const json = args.includes("--json");
|
|
7
|
+
const root = process.cwd();
|
|
8
|
+
const eventsPath = path.join(root, ".hforge", "observability", "events.json");
|
|
9
|
+
const effectivenessPath = path.join(root, ".hforge", "observability", "effectiveness-signals.json");
|
|
10
|
+
const summaryPath = path.join(root, ".hforge", "observability", "summary.json");
|
|
11
|
+
|
|
12
|
+
async function readJson(targetPath, fallback) {
|
|
13
|
+
try {
|
|
14
|
+
return JSON.parse(await fs.readFile(targetPath, "utf8"));
|
|
15
|
+
} catch {
|
|
16
|
+
return fallback;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const [events, effectivenessSignals] = await Promise.all([
|
|
21
|
+
readJson(eventsPath, []),
|
|
22
|
+
readJson(effectivenessPath, [])
|
|
23
|
+
]);
|
|
24
|
+
|
|
25
|
+
const byEventType = {};
|
|
26
|
+
const byResult = {};
|
|
27
|
+
for (const event of events) {
|
|
28
|
+
byEventType[event.eventType] = (byEventType[event.eventType] ?? 0) + 1;
|
|
29
|
+
byResult[event.result] = (byResult[event.result] ?? 0) + 1;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const accepted = (byResult.accepted ?? 0) + (byResult.success ?? 0);
|
|
33
|
+
const rejected = (byResult.rejected ?? 0) + (byResult.failed ?? 0) + (byResult.blocked ?? 0);
|
|
34
|
+
const benchmarkSignals = effectivenessSignals.filter((signal) => String(signal.signalType ?? "").includes("benchmark"));
|
|
35
|
+
const benchmarkPasses = benchmarkSignals.filter((signal) => signal.result === "success").length;
|
|
36
|
+
|
|
37
|
+
const summary = {
|
|
38
|
+
generatedAt: new Date().toISOString(),
|
|
39
|
+
totalEvents: events.length,
|
|
40
|
+
byEventType,
|
|
41
|
+
byResult,
|
|
42
|
+
recommendationAcceptanceRate: accepted + rejected > 0 ? Number((accepted / (accepted + rejected)).toFixed(2)) : undefined,
|
|
43
|
+
benchmarkPassRate:
|
|
44
|
+
benchmarkSignals.length > 0 ? Number((benchmarkPasses / benchmarkSignals.length).toFixed(2)) : undefined,
|
|
45
|
+
driftFindings: events
|
|
46
|
+
.filter((event) => event.eventType === "capability-drift" || event.result === "blocked")
|
|
47
|
+
.map((event) => `${event.eventType}:${event.result}`)
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
await fs.mkdir(path.dirname(summaryPath), { recursive: true });
|
|
51
|
+
await fs.writeFile(summaryPath, `${JSON.stringify(summary, null, 2)}\n`, "utf8");
|
|
52
|
+
|
|
53
|
+
if (json) {
|
|
54
|
+
console.log(JSON.stringify(summary, null, 2));
|
|
55
|
+
} else {
|
|
56
|
+
console.log(JSON.stringify(summary, null, 2));
|
|
57
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Template Validator Bundle
|
|
2
|
+
|
|
3
|
+
Harness Forge ships the full task and workflow validator bundle inside `scripts/templates/`.
|
|
4
|
+
|
|
5
|
+
## Included assets
|
|
6
|
+
|
|
7
|
+
- shell validators in `scripts/templates/shell/`
|
|
8
|
+
- PowerShell validators in `scripts/templates/powershell/`
|
|
9
|
+
- shared config in `scripts/templates/config/required-sections.json`
|
|
10
|
+
|
|
11
|
+
## Supported content
|
|
12
|
+
|
|
13
|
+
- `templates/tasks/*.md`
|
|
14
|
+
- `templates/workflows/*.md`
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
### PowerShell
|
|
19
|
+
|
|
20
|
+
```powershell
|
|
21
|
+
pwsh ./scripts/templates/powershell/Check-TemplateFrontmatter.ps1 -Root .
|
|
22
|
+
pwsh ./scripts/templates/powershell/Check-TemplateLinks.ps1 -Root .
|
|
23
|
+
pwsh ./scripts/templates/powershell/Get-MissingTemplateSections.ps1 -Root .
|
|
24
|
+
pwsh ./scripts/templates/powershell/Test-WorkflowContracts.ps1 -Root .
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### POSIX shell
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
./scripts/templates/shell/check-template-frontmatter.sh .
|
|
31
|
+
./scripts/templates/shell/check-template-links.sh .
|
|
32
|
+
./scripts/templates/shell/list-missing-template-sections.sh .
|
|
33
|
+
./scripts/templates/shell/verify-workflow-contracts.sh .
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Packaging expectations
|
|
37
|
+
|
|
38
|
+
- these files are part of the published package surface
|
|
39
|
+
- template docs and workflows must only reference these shipped paths
|
|
40
|
+
- bundle completeness is enforced by release validation
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"task-template": [
|
|
3
|
+
"## Purpose",
|
|
4
|
+
"## When to Use",
|
|
5
|
+
"## Inputs",
|
|
6
|
+
"## Optional Inputs",
|
|
7
|
+
"## Constraints",
|
|
8
|
+
"## Expected Outputs",
|
|
9
|
+
"## Acceptance Criteria",
|
|
10
|
+
"## Quality Gates",
|
|
11
|
+
"## Suggested Workflow",
|
|
12
|
+
"## Related Commands",
|
|
13
|
+
"## Related Agents",
|
|
14
|
+
"## Examples"
|
|
15
|
+
],
|
|
16
|
+
"workflow-template": [
|
|
17
|
+
"## Purpose",
|
|
18
|
+
"## When to Use",
|
|
19
|
+
"## Entry Conditions",
|
|
20
|
+
"## Workflow Stages",
|
|
21
|
+
"## Handoff Contracts",
|
|
22
|
+
"## Exit Conditions",
|
|
23
|
+
"## Failure Modes",
|
|
24
|
+
"## Escalation Rules",
|
|
25
|
+
"## Artifacts Produced",
|
|
26
|
+
"## Human Approval Points",
|
|
27
|
+
"## Examples"
|
|
28
|
+
],
|
|
29
|
+
"workflow-stage-fields": [
|
|
30
|
+
"**Goal**",
|
|
31
|
+
"**Consumes**",
|
|
32
|
+
"**Produces**",
|
|
33
|
+
"**Exit Criteria**",
|
|
34
|
+
"**Failure Conditions**",
|
|
35
|
+
"**Next Trigger**"
|
|
36
|
+
]
|
|
37
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
param(
|
|
2
|
+
[string]$Root = "."
|
|
3
|
+
)
|
|
4
|
+
|
|
5
|
+
$TemplateDir = Join-Path $Root "templates"
|
|
6
|
+
if (-not (Test-Path $TemplateDir)) {
|
|
7
|
+
Write-Error "Template directory not found: $TemplateDir"
|
|
8
|
+
exit 2
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
$requiredCommonFields = @(
|
|
12
|
+
'id','kind','title','status','version',
|
|
13
|
+
'supported_targets','supported_languages','owner','generated'
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
$requiredTaskFields = @('category','recommended_agents','recommended_commands')
|
|
17
|
+
$requiredWorkflowFields = @('mode','default_agents')
|
|
18
|
+
|
|
19
|
+
$failed = $false
|
|
20
|
+
Get-ChildItem -Path $TemplateDir -Recurse -Filter *.md | Sort-Object FullName | ForEach-Object {
|
|
21
|
+
$file = $_
|
|
22
|
+
$content = Get-Content -Path $file.FullName
|
|
23
|
+
if ($content.Count -lt 3 -or $content[0] -ne '---') {
|
|
24
|
+
Write-Host "[FAIL] Missing front matter start: $($file.FullName)"
|
|
25
|
+
$failed = $true
|
|
26
|
+
return
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
$closing = ($content | Select-Object -Skip 1 | Select-String '^---$' | Select-Object -First 1)
|
|
30
|
+
if (-not $closing) {
|
|
31
|
+
Write-Host "[FAIL] Missing front matter end: $($file.FullName)"
|
|
32
|
+
$failed = $true
|
|
33
|
+
return
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
$requiredFields = @($requiredCommonFields)
|
|
37
|
+
$normalizedPath = $file.FullName -replace '\\', '/'
|
|
38
|
+
if ($normalizedPath -like "*/templates/tasks/*") {
|
|
39
|
+
$requiredFields += $requiredTaskFields
|
|
40
|
+
} elseif ($normalizedPath -like "*/templates/workflows/*") {
|
|
41
|
+
$requiredFields += $requiredWorkflowFields
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
foreach ($field in $requiredFields) {
|
|
45
|
+
$pattern = '^\s*' + [regex]::Escape($field) + ':'
|
|
46
|
+
if (-not ($content | Select-String $pattern -Quiet)) {
|
|
47
|
+
Write-Host "[FAIL] Missing front matter field '$field': $($file.FullName)"
|
|
48
|
+
$failed = $true
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if ($failed) { exit 1 }
|
|
54
|
+
Write-Host "Front matter validation passed."
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
param(
|
|
2
|
+
[string]$Root = "."
|
|
3
|
+
)
|
|
4
|
+
|
|
5
|
+
$failed = $false
|
|
6
|
+
Get-ChildItem -Path (Join-Path $Root "templates") -Recurse -Filter *.md | ForEach-Object {
|
|
7
|
+
$file = $_
|
|
8
|
+
$content = Get-Content $file.FullName -Raw
|
|
9
|
+
[regex]::Matches($content, '\[[^\]]+\]\(([^)]+)\)') | ForEach-Object {
|
|
10
|
+
$match = $_
|
|
11
|
+
$target = $match.Groups[1].Value
|
|
12
|
+
if ($target -match '^(https?:|mailto:|#)') { return }
|
|
13
|
+
$candidate = Join-Path $file.DirectoryName $target
|
|
14
|
+
if (-not (Test-Path $candidate) -and -not (Test-Path (Join-Path $Root $target))) {
|
|
15
|
+
Write-Host "[FAIL] Broken link in $($file.FullName): $target"
|
|
16
|
+
$failed = $true
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if ($failed) { exit 1 }
|
|
22
|
+
Write-Host "Template link validation passed."
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
param(
|
|
2
|
+
[string]$Root = "."
|
|
3
|
+
)
|
|
4
|
+
|
|
5
|
+
$config = Get-Content (Join-Path $Root "scripts/templates/config/required-sections.json") -Raw | ConvertFrom-Json
|
|
6
|
+
$failed = $false
|
|
7
|
+
|
|
8
|
+
Get-ChildItem -Path (Join-Path $Root "templates") -Recurse -Filter *.md | ForEach-Object {
|
|
9
|
+
$content = Get-Content $_.FullName -Raw
|
|
10
|
+
$normalizedPath = $_.FullName -replace '\\', '/'
|
|
11
|
+
$kind = if ($normalizedPath -like "*/workflows/*") { 'workflow-template' } else { 'task-template' }
|
|
12
|
+
foreach ($section in $config.$kind) {
|
|
13
|
+
if ($content -notmatch [regex]::Escape($section)) {
|
|
14
|
+
Write-Host "[FAIL] Missing section '$section' in $($_.FullName)"
|
|
15
|
+
$failed = $true
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if ($failed) { exit 1 }
|
|
21
|
+
Write-Host "All required template sections are present."
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
param(
|
|
2
|
+
[string]$Root = ".",
|
|
3
|
+
[string]$OutPath = ""
|
|
4
|
+
)
|
|
5
|
+
|
|
6
|
+
if (-not $OutPath) {
|
|
7
|
+
$OutPath = Join-Path $Root "docs/templates/index.md"
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
$lines = @("# Template Index", "")
|
|
11
|
+
Get-ChildItem -Path (Join-Path $Root "templates") -Recurse -Filter *.md | Sort-Object FullName | ForEach-Object {
|
|
12
|
+
$rel = $_.FullName.Replace("$Root\", "")
|
|
13
|
+
$lines += "- `$rel`"
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
$dir = Split-Path -Parent $OutPath
|
|
17
|
+
if (-not (Test-Path $dir)) { New-Item -ItemType Directory -Force -Path $dir | Out-Null }
|
|
18
|
+
Set-Content -Path $OutPath -Value $lines -Encoding utf8
|
|
19
|
+
Write-Host "Wrote template index to $OutPath"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
param(
|
|
2
|
+
[string]$Root = "."
|
|
3
|
+
)
|
|
4
|
+
|
|
5
|
+
$fields = @(
|
|
6
|
+
'**Goal**',
|
|
7
|
+
'**Consumes**',
|
|
8
|
+
'**Produces**',
|
|
9
|
+
'**Exit Criteria**',
|
|
10
|
+
'**Failure Conditions**',
|
|
11
|
+
'**Next Trigger**'
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
$failed = $false
|
|
15
|
+
Get-ChildItem -Path (Join-Path $Root "templates/workflows") -Filter *.md | ForEach-Object {
|
|
16
|
+
$content = Get-Content $_.FullName -Raw
|
|
17
|
+
foreach ($field in $fields) {
|
|
18
|
+
if ($content -notmatch [regex]::Escape($field)) {
|
|
19
|
+
Write-Host "[FAIL] Missing workflow stage field '$field' in $($_.FullName)"
|
|
20
|
+
$failed = $true
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if ($failed) { exit 1 }
|
|
26
|
+
Write-Host "Workflow contracts look valid."
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
ROOT="${1:-.}"
|
|
5
|
+
TEMPLATE_DIR="$ROOT/templates"
|
|
6
|
+
FAIL=0
|
|
7
|
+
|
|
8
|
+
if [ ! -d "$TEMPLATE_DIR" ]; then
|
|
9
|
+
echo "Template directory not found: $TEMPLATE_DIR" >&2
|
|
10
|
+
exit 2
|
|
11
|
+
fi
|
|
12
|
+
|
|
13
|
+
while IFS= read -r file; do
|
|
14
|
+
first_line="$(head -n 1 "$file" || true)"
|
|
15
|
+
if [ "$first_line" != "---" ]; then
|
|
16
|
+
echo "[FAIL] Missing front matter start: $file"
|
|
17
|
+
FAIL=1
|
|
18
|
+
continue
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
if ! awk 'NR>1 && /^---$/ { found=1; exit } END { exit found ? 0 : 1 }' "$file"; then
|
|
22
|
+
echo "[FAIL] Missing front matter end: $file"
|
|
23
|
+
FAIL=1
|
|
24
|
+
continue
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
for field in id kind title status version supported_targets supported_languages owner generated; do
|
|
28
|
+
if ! sed -n '/^---$/,/^---$/p' "$file" | grep -Eq "^[[:space:]]*$field:"; then
|
|
29
|
+
echo "[FAIL] Missing front matter field '$field': $file"
|
|
30
|
+
FAIL=1
|
|
31
|
+
fi
|
|
32
|
+
done
|
|
33
|
+
done < <(find "$TEMPLATE_DIR" -type f -name '*.md' | sort)
|
|
34
|
+
|
|
35
|
+
if [ "$FAIL" -ne 0 ]; then
|
|
36
|
+
exit 1
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
echo "Front matter validation passed."
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
ROOT="${1:-.}"
|
|
5
|
+
FAIL=0
|
|
6
|
+
|
|
7
|
+
while IFS= read -r file; do
|
|
8
|
+
while IFS= read -r link; do
|
|
9
|
+
target="$(printf '%s' "$link" | sed -E 's/.*\(([^)]+)\)/\1/')"
|
|
10
|
+
case "$target" in
|
|
11
|
+
http*|mailto:*|'#'*) continue ;;
|
|
12
|
+
esac
|
|
13
|
+
dir="$(dirname "$file")"
|
|
14
|
+
if [ ! -e "$dir/$target" ] && [ ! -e "$ROOT/$target" ]; then
|
|
15
|
+
echo "[FAIL] Broken link in $file -> $target"
|
|
16
|
+
FAIL=1
|
|
17
|
+
fi
|
|
18
|
+
done < <(grep -o '\[[^]]*\]([^)]*)' "$file" || true)
|
|
19
|
+
done < <(find "$ROOT/templates" -type f -name '*.md' | sort)
|
|
20
|
+
|
|
21
|
+
if [ "$FAIL" -ne 0 ]; then
|
|
22
|
+
exit 1
|
|
23
|
+
fi
|
|
24
|
+
|
|
25
|
+
echo "Template link validation passed."
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
ROOT="${1:-.}"
|
|
5
|
+
OUT="${2:-$ROOT/docs/templates/index.md}"
|
|
6
|
+
|
|
7
|
+
mkdir -p "$(dirname "$OUT")"
|
|
8
|
+
{
|
|
9
|
+
echo "# Template Index"
|
|
10
|
+
echo
|
|
11
|
+
find "$ROOT/templates" -type f -name '*.md' | sort | while IFS= read -r file; do
|
|
12
|
+
rel="${file#$ROOT/}"
|
|
13
|
+
echo "- \`$rel\`"
|
|
14
|
+
done
|
|
15
|
+
} > "$OUT"
|
|
16
|
+
|
|
17
|
+
echo "Wrote template index to $OUT"
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
ROOT="${1:-.}"
|
|
5
|
+
CONFIG="$ROOT/scripts/templates/config/required-sections.json"
|
|
6
|
+
FAIL=0
|
|
7
|
+
|
|
8
|
+
for file in "$ROOT"/templates/tasks/*.md "$ROOT"/templates/workflows/*.md; do
|
|
9
|
+
[ -f "$file" ] || continue
|
|
10
|
+
kind="task-template"
|
|
11
|
+
case "$file" in
|
|
12
|
+
*"/workflows/"*) kind="workflow-template" ;;
|
|
13
|
+
esac
|
|
14
|
+
|
|
15
|
+
python - "$CONFIG" "$kind" "$file" <<'PY'
|
|
16
|
+
import json, sys, pathlib
|
|
17
|
+
config = pathlib.Path(sys.argv[1])
|
|
18
|
+
kind = sys.argv[2]
|
|
19
|
+
file = pathlib.Path(sys.argv[3])
|
|
20
|
+
required = json.loads(config.read_text(encoding="utf-8"))[kind]
|
|
21
|
+
content = file.read_text(encoding="utf-8")
|
|
22
|
+
missing = [section for section in required if section not in content]
|
|
23
|
+
if missing:
|
|
24
|
+
print(f"[FAIL] {file}: missing sections -> {', '.join(missing)}")
|
|
25
|
+
sys.exit(1)
|
|
26
|
+
PY
|
|
27
|
+
if [ $? -ne 0 ]; then
|
|
28
|
+
FAIL=1
|
|
29
|
+
fi
|
|
30
|
+
done
|
|
31
|
+
|
|
32
|
+
if [ "$FAIL" -ne 0 ]; then
|
|
33
|
+
exit 1
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
echo "All required template sections are present."
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
ROOT="${1:-.}"
|
|
5
|
+
FAIL=0
|
|
6
|
+
|
|
7
|
+
for file in "$ROOT"/templates/workflows/*.md; do
|
|
8
|
+
[ -f "$file" ] || continue
|
|
9
|
+
for field in "**Goal**" "**Consumes**" "**Produces**" "**Exit Criteria**" "**Failure Conditions**" "**Next Trigger**"; do
|
|
10
|
+
if ! grep -qF "$field" "$file"; then
|
|
11
|
+
echo "[FAIL] Missing workflow stage field '$field' in $file"
|
|
12
|
+
FAIL=1
|
|
13
|
+
fi
|
|
14
|
+
done
|
|
15
|
+
done
|
|
16
|
+
|
|
17
|
+
if [ "$FAIL" -ne 0 ]; then
|
|
18
|
+
exit 1
|
|
19
|
+
fi
|
|
20
|
+
|
|
21
|
+
echo "Workflow contracts look valid."
|
package/skills/README.md
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Skills
|
|
2
|
+
|
|
3
|
+
Harness Forge ships four major skill families.
|
|
4
|
+
|
|
5
|
+
## Discovery model
|
|
6
|
+
|
|
7
|
+
- `.agents/skills/` wrappers are the lightweight discovery layer for supported agent runtimes
|
|
8
|
+
- `skills/` directories are the canonical execution layer
|
|
9
|
+
- `references/` directories hold deeper runtime-facing guidance
|
|
10
|
+
- `docs/authoring/enhanced-skill-import.md` preserves maintainer-facing provenance for imported upgrades
|
|
11
|
+
|
|
12
|
+
## Seeded language skills
|
|
13
|
+
|
|
14
|
+
- `skills/typescript-engineering/`
|
|
15
|
+
- `skills/java-engineering/`
|
|
16
|
+
- `skills/dotnet-engineering/`
|
|
17
|
+
- `skills/lua-engineering/`
|
|
18
|
+
- `skills/powershell-engineering/`
|
|
19
|
+
|
|
20
|
+
## Structured language skills
|
|
21
|
+
|
|
22
|
+
- `skills/python-engineering/`
|
|
23
|
+
- `skills/go-engineering/`
|
|
24
|
+
- `skills/kotlin-engineering/`
|
|
25
|
+
- `skills/rust-engineering/`
|
|
26
|
+
- `skills/cpp-engineering/`
|
|
27
|
+
- `skills/php-engineering/`
|
|
28
|
+
- `skills/perl-engineering/`
|
|
29
|
+
- `skills/swift-engineering/`
|
|
30
|
+
- `skills/shell-engineering/`
|
|
31
|
+
|
|
32
|
+
Several of these language skills now also ship supplemental `references/`
|
|
33
|
+
packs so agents can pull repo-exploration, debugging, output-template, and
|
|
34
|
+
ecosystem heuristics without leaving the project package.
|
|
35
|
+
|
|
36
|
+
The March 2026 enhanced-skills import also deepened the TypeScript, .NET, Lua,
|
|
37
|
+
and JavaScript packs with additional runtime-boundary, packaging, onboarding,
|
|
38
|
+
and modernization guidance sourced into project-owned `references/` directories.
|
|
39
|
+
|
|
40
|
+
## Workflow orchestration skills
|
|
41
|
+
|
|
42
|
+
- `skills/speckit-analyze/`
|
|
43
|
+
- `skills/speckit-checklist/`
|
|
44
|
+
- `skills/speckit-clarify/`
|
|
45
|
+
- `skills/speckit-constitution/`
|
|
46
|
+
- `skills/speckit-implement/`
|
|
47
|
+
- `skills/speckit-plan/`
|
|
48
|
+
- `skills/speckit-specify/`
|
|
49
|
+
- `skills/speckit-tasks/`
|
|
50
|
+
- `skills/speckit-taskstoissues/`
|
|
51
|
+
|
|
52
|
+
## Operational helper skills
|
|
53
|
+
|
|
54
|
+
- `skills/engineering-assistant/`
|
|
55
|
+
- `skills/repo-onboarding/`
|
|
56
|
+
- `skills/documentation-lookup/`
|
|
57
|
+
- `skills/security-scan/`
|
|
58
|
+
- `skills/release-readiness/`
|
|
59
|
+
- `skills/architecture-decision-records/`
|
|
60
|
+
|
|
61
|
+
## Workload-specialized skills
|
|
62
|
+
|
|
63
|
+
- `skills/incident-triage/`
|
|
64
|
+
- `skills/dependency-upgrade-safety/`
|
|
65
|
+
- `skills/performance-profiling/`
|
|
66
|
+
- `skills/test-strategy-and-coverage/`
|
|
67
|
+
- `skills/api-contract-review/`
|
|
68
|
+
- `skills/db-migration-review/`
|
|
69
|
+
- `skills/pr-triage-and-summary/`
|
|
70
|
+
- `skills/observability-setup/`
|
|
71
|
+
- `skills/parallel-worktree-supervisor/`
|
|
72
|
+
- `skills/repo-modernization/`
|
|
73
|
+
- `skills/cloud-architect/`
|
|
74
|
+
|
|
75
|
+
## Supplemental engineering reference skills
|
|
76
|
+
|
|
77
|
+
- `skills/javascript-engineering/`
|
|
78
|
+
|
|
79
|
+
## Depth expectations
|
|
80
|
+
|
|
81
|
+
Operational and workload skills should expose:
|
|
82
|
+
|
|
83
|
+
- trigger signals
|
|
84
|
+
- the repo surfaces to inspect first
|
|
85
|
+
- a stable output contract
|
|
86
|
+
- clear failure modes
|
|
87
|
+
- escalation behavior
|
|
88
|
+
|
|
89
|
+
Imported upgrades should also keep an auditable inventory record and preserve
|
|
90
|
+
maintainer-facing provenance instead of shipping duplicate skill identities.
|
|
91
|
+
|
|
92
|
+
Single-skill ports such as `engineering-assistant` should preserve the same
|
|
93
|
+
discipline through `manifests/catalog/engineering-assistant-import-inventory.json`
|
|
94
|
+
and `docs/authoring/engineering-assistant-port.md`.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-contract-review
|
|
3
|
+
description: review request, response, event, and schema contracts for compatibility and consumer safety. use when http, openapi, asyncapi, protobuf, json schema, generated clients, or external integration behavior changes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# API Contract Review
|
|
7
|
+
|
|
8
|
+
## Trigger Signals
|
|
9
|
+
|
|
10
|
+
- the task changes HTTP routes, request or response shapes, headers, auth semantics, examples, or client SDKs
|
|
11
|
+
- the repo edits OpenAPI, AsyncAPI, Protobuf, JSON Schema, or generated contract code
|
|
12
|
+
- a versioning, deprecation, or compatibility question exists across providers and consumers
|
|
13
|
+
|
|
14
|
+
## Inspect First
|
|
15
|
+
|
|
16
|
+
- source-of-truth specs and the runtime handlers that implement them
|
|
17
|
+
- schema validators, generated clients, examples, docs, and error-shape helpers
|
|
18
|
+
- versioning and deprecation notes, auth requirements, and pagination or idempotency behavior
|
|
19
|
+
- consumer code, integration tests, and release notes when a public contract changed
|
|
20
|
+
|
|
21
|
+
## Workflow
|
|
22
|
+
|
|
23
|
+
1. identify the canonical contract surface and compare it to the implementation
|
|
24
|
+
2. classify the change by protocol: HTTP, event, schema-only, or wire-level
|
|
25
|
+
3. evaluate backward compatibility for required fields, enums, defaults, errors, and behavior semantics
|
|
26
|
+
4. verify examples, validation rules, and generated artifacts stay in sync
|
|
27
|
+
5. emit a consumer-centered review with specific remediation or rollout guidance
|
|
28
|
+
|
|
29
|
+
## Output Contract
|
|
30
|
+
|
|
31
|
+
- changed contract summary grouped by endpoint, message, or schema
|
|
32
|
+
- compatibility verdict with the precise breaking edges called out
|
|
33
|
+
- consumer impact notes covering clients, codegen, docs, and deployment sequencing
|
|
34
|
+
- follow-up actions for linting, versioning, deprecation, migration guides, or tests
|
|
35
|
+
|
|
36
|
+
## Failure Modes
|
|
37
|
+
|
|
38
|
+
- the runtime contract diverges from the checked-in spec and the source of truth is unclear
|
|
39
|
+
- examples, docs, or generated clients are stale enough that contract behavior cannot be trusted
|
|
40
|
+
- behavior semantics changed without any schema diff to explain it
|
|
41
|
+
|
|
42
|
+
## Escalation
|
|
43
|
+
|
|
44
|
+
- escalate when a breaking change lacks versioning, deprecation, or migration guidance
|
|
45
|
+
- escalate when error semantics, auth requirements, or event-delivery guarantees change silently
|
|
46
|
+
- escalate when wire compatibility for protobuf or event consumers is uncertain
|
|
47
|
+
|
|
48
|
+
## References
|
|
49
|
+
|
|
50
|
+
- `skills/api-contract-review/references/http-contract-checklist.md`
|
|
51
|
+
- `skills/api-contract-review/references/schema-compatibility.md`
|
|
52
|
+
- `skills/api-contract-review/references/event-and-async-contracts.md`
|
|
53
|
+
- `skills/api-contract-review/references/protobuf-and-buf.md`
|
|
54
|
+
- `skills/api-contract-review/references/style-and-linting.md`
|
|
55
|
+
- `skills/api-contract-review/references/review-template.md`
|
|
56
|
+
- `skills/api-contract-review/references/examples.md`
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Event And Async Contracts
|
|
2
|
+
|
|
3
|
+
## Review points
|
|
4
|
+
|
|
5
|
+
- topic or channel name stability
|
|
6
|
+
- message key or partitioning semantics
|
|
7
|
+
- delivery guarantees that affect idempotency or ordering assumptions
|
|
8
|
+
- schema evolution rules for consumers that may lag behind producers
|
|
9
|
+
- replay and dead-letter behavior when validation tightens
|
|
10
|
+
|
|
11
|
+
## Good async contract hygiene
|
|
12
|
+
|
|
13
|
+
- keep envelope metadata stable
|
|
14
|
+
- version payloads explicitly when semantics change
|
|
15
|
+
- document whether consumers should ignore unknown fields
|
|
16
|
+
- state ordering, duplication, and retry expectations clearly
|