freeharness 0.4.1
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/LICENSE +21 -0
- package/NOTICE +108 -0
- package/README.md +134 -0
- package/canonical/HARVEST.yaml +858 -0
- package/canonical/PROVENANCE.yaml +740 -0
- package/canonical/agents/README.md +95 -0
- package/canonical/agents/agentic-architect.md +18 -0
- package/canonical/agents/database-reviewer.md +41 -0
- package/canonical/agents/explorer-ai-engineer-analyst.md +65 -0
- package/canonical/agents/pr-reviewer.md +96 -0
- package/canonical/agents/python-reviewer.md +55 -0
- package/canonical/agents/report-formatter.md +19 -0
- package/canonical/agents/security-reviewer.md +53 -0
- package/canonical/agents/test-writer.md +34 -0
- package/canonical/commands/fh-context.md +37 -0
- package/canonical/evals/promptfoo.redteam.yaml +108 -0
- package/canonical/hooks/cost-prices.json +14 -0
- package/canonical/hooks/freeharness-auto-memory.mjs +158 -0
- package/canonical/hooks/freeharness-config-guard.mjs +162 -0
- package/canonical/hooks/freeharness-context-monitor.mjs +198 -0
- package/canonical/hooks/freeharness-converge.mjs +227 -0
- package/canonical/hooks/freeharness-cost-tracker.mjs +1027 -0
- package/canonical/hooks/freeharness-memory-guard.mjs +57 -0
- package/canonical/hooks/freeharness-output-pruner.mjs +333 -0
- package/canonical/hooks/freeharness-precompact.mjs +323 -0
- package/canonical/hooks/freeharness-repeat-tool.mjs +208 -0
- package/canonical/hooks/freeharness-security-guidance.mjs +164 -0
- package/canonical/hooks/freeharness-session-start +583 -0
- package/canonical/hooks/hooks.auto-memory.claude-code.json +16 -0
- package/canonical/hooks/hooks.claude-code.json +17 -0
- package/canonical/hooks/hooks.config-guard.claude-code.json +16 -0
- package/canonical/hooks/hooks.context-monitor.claude-code.json +15 -0
- package/canonical/hooks/hooks.converge.claude-code.json +15 -0
- package/canonical/hooks/hooks.cost-tracker.claude-code.json +37 -0
- package/canonical/hooks/hooks.memory-guard.claude-code.json +16 -0
- package/canonical/hooks/hooks.output-pruner.claude-code.json +16 -0
- package/canonical/hooks/hooks.precompact.claude-code.json +15 -0
- package/canonical/hooks/hooks.repeat-tool.claude-code.json +25 -0
- package/canonical/hooks/hooks.security-guidance.claude-code.json +16 -0
- package/canonical/mcp/servers.json +20 -0
- package/canonical/openspec/config.base.yaml +89 -0
- package/canonical/openspec/schema.spec-driven.yaml +277 -0
- package/canonical/openspec/templates/data-contract.md +36 -0
- package/canonical/openspec/templates/design.md +84 -0
- package/canonical/openspec/templates/eval-plan.md +33 -0
- package/canonical/openspec/templates/follow-ups.md +2 -0
- package/canonical/openspec/templates/proposal.md +45 -0
- package/canonical/openspec/templates/spec.md +42 -0
- package/canonical/openspec/templates/tasks.md +38 -0
- package/canonical/profiles/local-llamacpp.LOCAL-MODELS.md +47 -0
- package/canonical/profiles/local-llamacpp.json +27 -0
- package/canonical/profiles/local-ollama.json +20 -0
- package/canonical/profiles/mcp.json +91 -0
- package/canonical/rules/CLAUDE.md +78 -0
- package/canonical/rules/project-CLAUDE.template.md +62 -0
- package/canonical/rules/routing.md +20 -0
- package/canonical/rules/safety.md +41 -0
- package/canonical/settings/settings.cache-hygiene.claude-code.json +5 -0
- package/canonical/skills/agent-evaluation/SKILL.md +102 -0
- package/canonical/skills/agent-evaluation/assets/evaluation_report_template.md +206 -0
- package/canonical/skills/agent-evaluation/evals/cases.yaml +106 -0
- package/canonical/skills/agent-evaluation/references/dataset-preparation.md +351 -0
- package/canonical/skills/agent-evaluation/references/scorers-constraints.md +165 -0
- package/canonical/skills/agent-evaluation/references/scorers.md +431 -0
- package/canonical/skills/agent-evaluation/references/setup-guide.md +252 -0
- package/canonical/skills/agent-evaluation/references/tracing-integration.md +164 -0
- package/canonical/skills/agent-evaluation/references/troubleshooting.md +514 -0
- package/canonical/skills/agent-evaluation/scripts/analyze_results.py +462 -0
- package/canonical/skills/agent-evaluation/scripts/create_dataset_template.py +382 -0
- package/canonical/skills/agent-evaluation/scripts/list_datasets.py +273 -0
- package/canonical/skills/agent-evaluation/scripts/run_evaluation_template.py +309 -0
- package/canonical/skills/agent-evaluation/scripts/setup_mlflow.py +353 -0
- package/canonical/skills/agent-evaluation/scripts/utils/__init__.py +27 -0
- package/canonical/skills/agent-evaluation/scripts/utils/env_validation.py +123 -0
- package/canonical/skills/agent-evaluation/scripts/utils/tracing_utils.py +108 -0
- package/canonical/skills/agent-evaluation/scripts/validate_agent_tracing.py +148 -0
- package/canonical/skills/agent-evaluation/scripts/validate_auth.py +240 -0
- package/canonical/skills/agent-evaluation/scripts/validate_environment.py +185 -0
- package/canonical/skills/agent-evaluation/scripts/validate_tracing_runtime.py +318 -0
- package/canonical/skills/agentic-architecture/SKILL.md +41 -0
- package/canonical/skills/agentic-architecture/evals/cases.yaml +94 -0
- package/canonical/skills/agentic-architecture/reference/context-engineering.md +75 -0
- package/canonical/skills/agentic-architecture/reference/patterns.md +76 -0
- package/canonical/skills/agentic-architecture/reference/reliability-observability.md +94 -0
- package/canonical/skills/agentic-architecture/reference/review-framework.md +59 -0
- package/canonical/skills/code-review/SKILL.md +52 -0
- package/canonical/skills/code-review/evals/cases.yaml +197 -0
- package/canonical/skills/git-workflow/SKILL.md +41 -0
- package/canonical/skills/git-workflow/evals/cases.yaml +92 -0
- package/canonical/skills/local-code/SKILL.md +24 -0
- package/canonical/skills/local-code/evals/cases.yaml +85 -0
- package/canonical/skills/local-code/scripts/query_llama.py +68 -0
- package/canonical/skills/report-formatting/SKILL.md +62 -0
- package/canonical/skills/report-formatting/evals/cases.yaml +83 -0
- package/canonical/skills/report-formatting/reference/ARCHITECTURE.md +135 -0
- package/canonical/skills/report-formatting/reference/HELPERS.md +120 -0
- package/canonical/skills/report-formatting/reference/PPTX.md +136 -0
- package/canonical/skills/report-formatting/reference/RELEASE.md +99 -0
- package/canonical/skills/report-formatting/reference/TEMPLATES.md +48 -0
- package/canonical/skills/report-formatting/reference/authoring.md +66 -0
- package/canonical/skills/report-formatting/scripts/architecture-template.md +271 -0
- package/canonical/skills/report-formatting/scripts/assets/claro-logo.png +0 -0
- package/canonical/skills/report-formatting/scripts/assets/claro-wordmark.svg +1 -0
- package/canonical/skills/report-formatting/scripts/build-architecture.js +57 -0
- package/canonical/skills/report-formatting/scripts/build-md-claro.js +224 -0
- package/canonical/skills/report-formatting/scripts/build-release.js +51 -0
- package/canonical/skills/report-formatting/scripts/check-env.js +58 -0
- package/canonical/skills/report-formatting/scripts/docmodel.js +283 -0
- package/canonical/skills/report-formatting/scripts/example-build.js +119 -0
- package/canonical/skills/report-formatting/scripts/example_build_ArchitectureReview_docx.js +195 -0
- package/canonical/skills/report-formatting/scripts/example_build_ExecutiveReport_docx.js +114 -0
- package/canonical/skills/report-formatting/scripts/package.json +17 -0
- package/canonical/skills/report-formatting/scripts/pptx/example_build_StatusReport_pptx.py +223 -0
- package/canonical/skills/report-formatting/scripts/pptx/example_build_WeeklyStatus_pptx.py +245 -0
- package/canonical/skills/report-formatting/scripts/pptx/pptx_office.py +144 -0
- package/canonical/skills/report-formatting/scripts/pptx/requirements.txt +7 -0
- package/canonical/skills/report-formatting/scripts/pptx/status_report_blocks.py +193 -0
- package/canonical/skills/report-formatting/scripts/pptx/theme_claro_pptx.py +473 -0
- package/canonical/skills/report-formatting/scripts/release-template.md +80 -0
- package/canonical/skills/report-formatting/scripts/render-mermaid.js +105 -0
- package/canonical/skills/report-formatting/scripts/theme-claro.js +403 -0
- package/canonical/skills/subagent-driven-development/SKILL.md +60 -0
- package/canonical/skills/subagent-driven-development/evals/cases.yaml +208 -0
- package/canonical/skills/subagent-driven-development/reference/brief.md +91 -0
- package/canonical/skills/subagent-driven-development/reference/handoff.md +118 -0
- package/canonical/skills/subagent-driven-development/scripts/validate-handoff.mjs +850 -0
- package/canonical/skills/systematic-debugging/SKILL.md +44 -0
- package/canonical/skills/systematic-debugging/evals/cases.yaml +90 -0
- package/canonical/skills/test-driven-development/SKILL.md +42 -0
- package/canonical/skills/test-driven-development/evals/cases.yaml +86 -0
- package/canonical/skills/test-driven-development/reference/writing-good-tests.md +52 -0
- package/canonical/skills/verification-before-completion/SKILL.md +53 -0
- package/canonical/skills/verification-before-completion/evals/cases.yaml +107 -0
- package/dist/adapters/content/language-lint.d.ts +46 -0
- package/dist/adapters/content/language-lint.js +191 -0
- package/dist/adapters/harness/claude-code.d.ts +57 -0
- package/dist/adapters/harness/claude-code.js +385 -0
- package/dist/adapters/harness/index.d.ts +3 -0
- package/dist/adapters/harness/index.js +17 -0
- package/dist/adapters/harness/opencode.d.ts +7 -0
- package/dist/adapters/harness/opencode.js +166 -0
- package/dist/adapters/harness/plugin.d.ts +22 -0
- package/dist/adapters/harness/plugin.js +257 -0
- package/dist/adapters/memory/doctor.d.ts +480 -0
- package/dist/adapters/memory/doctor.js +1217 -0
- package/dist/adapters/memory/vendored.d.ts +150 -0
- package/dist/adapters/memory/vendored.js +487 -0
- package/dist/adapters/package/node.d.ts +9 -0
- package/dist/adapters/package/node.js +20 -0
- package/dist/adapters/prompt/readline.d.ts +19 -0
- package/dist/adapters/prompt/readline.js +53 -0
- package/dist/adapters/sync/diff.d.ts +43 -0
- package/dist/adapters/sync/diff.js +380 -0
- package/dist/cli/cleanup.d.ts +86 -0
- package/dist/cli/cleanup.js +382 -0
- package/dist/cli/cost.d.ts +304 -0
- package/dist/cli/cost.js +501 -0
- package/dist/cli/doctor.d.ts +205 -0
- package/dist/cli/doctor.js +654 -0
- package/dist/cli/executor.d.ts +5 -0
- package/dist/cli/executor.js +48 -0
- package/dist/cli/plugin-validate.d.ts +37 -0
- package/dist/cli/plugin-validate.js +256 -0
- package/dist/cli/prefix.d.ts +68 -0
- package/dist/cli/prefix.js +218 -0
- package/dist/cli/profile.d.ts +170 -0
- package/dist/cli/profile.js +285 -0
- package/dist/cli/runner.d.ts +10 -0
- package/dist/cli/runner.js +27 -0
- package/dist/cli/uninstall.d.ts +65 -0
- package/dist/cli/uninstall.js +147 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +989 -0
- package/dist/infra/dogfood.d.ts +31 -0
- package/dist/infra/dogfood.js +51 -0
- package/dist/infra/fsutil.d.ts +40 -0
- package/dist/infra/fsutil.js +143 -0
- package/dist/infra/manifest.d.ts +76 -0
- package/dist/infra/manifest.js +92 -0
- package/dist/infra/paths.d.ts +19 -0
- package/dist/infra/paths.js +74 -0
- package/dist/infra/routing.d.ts +4 -0
- package/dist/infra/routing.js +7 -0
- package/node_modules/@freeharness/core/dist/context.d.ts +30 -0
- package/node_modules/@freeharness/core/dist/context.js +1 -0
- package/node_modules/@freeharness/core/dist/index.d.ts +5 -0
- package/node_modules/@freeharness/core/dist/index.js +6 -0
- package/node_modules/@freeharness/core/dist/planner.d.ts +13 -0
- package/node_modules/@freeharness/core/dist/planner.js +18 -0
- package/node_modules/@freeharness/core/dist/ports.d.ts +90 -0
- package/node_modules/@freeharness/core/dist/ports.js +1 -0
- package/node_modules/@freeharness/core/dist/registry.d.ts +41 -0
- package/node_modules/@freeharness/core/dist/registry.js +124 -0
- package/node_modules/@freeharness/core/dist/tiers.d.ts +30 -0
- package/node_modules/@freeharness/core/dist/tiers.js +99 -0
- package/node_modules/@freeharness/core/package.json +34 -0
- package/node_modules/@freeharness/sdd/PROVENANCE.yaml +175 -0
- package/node_modules/@freeharness/sdd/dist/src/bin/openspec.d.ts +2 -0
- package/node_modules/@freeharness/sdd/dist/src/bin/openspec.js +166 -0
- package/node_modules/@freeharness/sdd/dist/src/index.d.ts +14 -0
- package/node_modules/@freeharness/sdd/dist/src/index.js +11 -0
- package/node_modules/@freeharness/sdd/dist/src/init.d.ts +39 -0
- package/node_modules/@freeharness/sdd/dist/src/init.js +190 -0
- package/node_modules/@freeharness/sdd/dist/src/root-resolver.d.ts +8 -0
- package/node_modules/@freeharness/sdd/dist/src/root-resolver.js +32 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/archive.d.ts +81 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/archive.js +483 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/context.d.ts +4 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/context.js +48 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/follow-up.d.ts +57 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/follow-up.js +279 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/instructions.d.ts +67 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/instructions.js +460 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/list.d.ts +5 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/list.js +95 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/new-change.d.ts +6 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/new-change.js +150 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/schemas.d.ts +4 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/schemas.js +23 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/shared.d.ts +56 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/shared.js +140 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/status.d.ts +8 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/status.js +85 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/validate.d.ts +6 -0
- package/node_modules/@freeharness/sdd/dist/src/shim/validate.js +229 -0
- package/node_modules/@freeharness/sdd/dist/src/validate-change.d.ts +40 -0
- package/node_modules/@freeharness/sdd/dist/src/validate-change.js +114 -0
- package/node_modules/@freeharness/sdd/dist/src/validate.d.ts +24 -0
- package/node_modules/@freeharness/sdd/dist/src/validate.js +72 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/apply/specs-apply.d.ts +130 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/apply/specs-apply.js +981 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/change-metadata.d.ts +46 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/change-metadata.js +128 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/change-status-policy.d.ts +26 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/change-status-policy.js +32 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/file-system.d.ts +50 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/file-system.js +394 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/global-config.d.ts +15 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/global-config.js +49 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/graph.d.ts +71 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/graph.js +164 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/index.d.ts +11 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/index.js +21 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/instruction-loader.d.ts +102 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/instruction-loader.js +230 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/outputs.d.ts +18 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/outputs.js +138 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/resolver.d.ts +82 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/resolver.js +333 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/schema.d.ts +12 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/schema.js +110 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/state.d.ts +11 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/state.js +32 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/task-progress.d.ts +33 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/task-progress.js +149 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/types.d.ts +39 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/engine/types.js +49 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/adapters/claude.d.ts +12 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/adapters/claude.js +31 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/adapters/index.d.ts +10 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/adapters/index.js +10 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/adapters/opencode.d.ts +12 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/adapters/opencode.js +26 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/generator.d.ts +28 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/generator.js +41 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/index.d.ts +23 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/index.js +25 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/invocation.d.ts +72 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/invocation.js +76 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/registry.d.ts +39 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/registry.js +53 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/types.d.ts +62 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/types.js +7 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/yaml.d.ts +35 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-generation/yaml.js +47 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-references.d.ts +33 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/command-references.js +55 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/shared/allowed-tools.d.ts +11 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/shared/allowed-tools.js +11 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/shared/skill-generation.d.ts +48 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/shared/skill-generation.js +99 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/skill-templates.d.ts +19 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/skill-templates.js +18 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/types.d.ts +18 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/types.js +4 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/apply-change.d.ts +19 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/apply-change.js +207 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/archive-change.d.ts +12 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/archive-change.js +409 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/bulk-archive-change.d.ts +9 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/bulk-archive-change.js +673 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/continue-change.d.ts +9 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/continue-change.js +230 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/explore.d.ts +12 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/explore.js +550 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/feedback.d.ts +8 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/feedback.js +107 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/ff-change.d.ts +12 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/ff-change.js +228 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/new-change.d.ts +9 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/new-change.js +147 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/onboard.d.ts +9 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/onboard.js +571 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/propose.d.ts +12 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/propose.js +322 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/store-selection.d.ts +7 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/store-selection.js +7 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/sync-specs.d.ts +9 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/sync-specs.js +518 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/update-change.d.ts +9 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/update-change.js +176 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/verify-change.d.ts +9 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/generation/templates/workflows/verify-change.js +344 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/constants.d.ts +39 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/constants.js +54 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/delta-resolution.d.ts +35 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/delta-resolution.js +171 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/change-parser.d.ts +27 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/change-parser.js +210 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/code-fence.d.ts +14 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/code-fence.js +48 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/markdown-parser.d.ts +22 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/markdown-parser.js +186 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/requirement-blocks.d.ts +65 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/requirement-blocks.js +409 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/requirement-text.d.ts +55 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/requirement-text.js +98 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/spec-structure.d.ts +8 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/parsers/spec-structure.js +77 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/purpose-placeholder.d.ts +44 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/purpose-placeholder.js +116 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/schemas/base.schema.d.ts +12 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/schemas/base.schema.js +17 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/schemas/change.schema.d.ts +72 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/schemas/change.schema.js +30 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/schemas/index.d.ts +3 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/schemas/index.js +3 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/schemas/spec.schema.d.ts +17 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/schemas/spec.schema.js +14 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/spec-discovery.d.ts +39 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/spec-discovery.js +114 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/task-lines.d.ts +45 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/task-lines.js +105 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/task-numbering.d.ts +15 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/task-numbering.js +56 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/types.d.ts +17 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/types.js +1 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/validator.d.ts +94 -0
- package/node_modules/@freeharness/sdd/dist/vendor/openspec/validation/validator.js +756 -0
- package/node_modules/@freeharness/sdd/package.json +57 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/LICENSE.upstream +22 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/schema.upstream.yaml +232 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/README.md +19 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-apply-change/SKILL.md +187 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-archive-change/SKILL.md +181 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-bulk-archive-change/SKILL.md +338 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-continue-change/SKILL.md +117 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-explore/SKILL.md +342 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-ff-change/SKILL.md +116 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-new-change/SKILL.md +76 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-onboard/SKILL.md +560 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-propose/SKILL.md +162 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-sync-specs/SKILL.md +261 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-update-change/SKILL.md +90 -0
- package/node_modules/@freeharness/sdd/vendor/openspec/assets/skills/openspec-verify-change/SKILL.md +174 -0
- package/package.json +70 -0
- package/provenance/canonical.PROVENANCE.yaml +740 -0
- package/provenance/claude-mem.LICENSE.upstream +202 -0
- package/provenance/memory.PROVENANCE.yaml +399 -0
- package/provenance/sdd.PROVENANCE.yaml +175 -0
- package/vendor-licenses/caveman.LICENSE +27 -0
- package/vendor-licenses/deepseek-harness.LICENSE +21 -0
- package/vendor-licenses/ecc.LICENSE +21 -0
- package/vendor-licenses/pi.LICENSE +21 -0
- package/vendor-licenses/superpowers.LICENSE +21 -0
|
@@ -0,0 +1,858 @@
|
|
|
1
|
+
# Harvest manifest for the official anthropics/claude-code plugins (V3-P4 content-harvest).
|
|
2
|
+
# Written before any harvested content lands in canonical; every `rewrite` entry lists the
|
|
3
|
+
# canonical target paths, each of which carries an entry in canonical/PROVENANCE.yaml.
|
|
4
|
+
# Classifications: rewrite (rewritten in FreeHarness style, never verbatim) | adopt-concept
|
|
5
|
+
# (idea recorded, no content shipped) | reference-only (consulted, nothing derived) | ignore.
|
|
6
|
+
# packages/cli/test/harvest.test.ts checks targets exist, differ from upstream, and have
|
|
7
|
+
# provenance.
|
|
8
|
+
#
|
|
9
|
+
# v4 (freeharness-v4 P0.4) extends the manifest to every harvested source. Layout:
|
|
10
|
+
# upstream / plugins / examples the V3-P4 claude-code block (unchanged)
|
|
11
|
+
# sources one block per v4 source: name, repo, fork,
|
|
12
|
+
# baseline_commit, version, license
|
|
13
|
+
# <source-name>: the items of that source
|
|
14
|
+
# Item fields: name, classification (rewrite | adopt-concept | port | reference-only |
|
|
15
|
+
# ignore), status (planned | done), license (item override; defaults to the source's),
|
|
16
|
+
# upstream_paths, target_paths, rationale.
|
|
17
|
+
# Rules enforced by the harvest test:
|
|
18
|
+
# - every source block and every item resolves to a license;
|
|
19
|
+
# - a license containing BSL or ELv2 (non-permissive) means an empty target_paths list:
|
|
20
|
+
# "non-permissive sources land as concepts";
|
|
21
|
+
# - rewrite / port items name at least one target; adopt-concept / reference-only /
|
|
22
|
+
# ignore items name none;
|
|
23
|
+
# - target_paths are existing files: relative to canonical/ by default, relative to the
|
|
24
|
+
# repo root when they start with packages/ (vendored engine ports). A `planned` item
|
|
25
|
+
# may point at a file that exists but is not yet edited; `done` items (and items
|
|
26
|
+
# without status, the V3-P4 block) also need a PROVENANCE entry and must not be
|
|
27
|
+
# byte-identical to upstream. The v4 phase that lands an item flips it to done.
|
|
28
|
+
# Landing assets that do not exist yet (new hooks) are named in the rationale and the item
|
|
29
|
+
# points at the existing file the hook extends until the hook lands.
|
|
30
|
+
|
|
31
|
+
upstream:
|
|
32
|
+
name: "claude-code"
|
|
33
|
+
repo: https://github.com/anthropics/claude-code
|
|
34
|
+
fork: https://github.com/anegrelli/claude-code
|
|
35
|
+
baseline_commit: "b3f0e50"
|
|
36
|
+
license: "Anthropic Commercial Terms (plugins)"
|
|
37
|
+
scanned: "plugins/ (13 plugins), examples/ (hooks, settings, gateway, mdm)"
|
|
38
|
+
|
|
39
|
+
plugins:
|
|
40
|
+
- name: feature-dev
|
|
41
|
+
classification: rewrite
|
|
42
|
+
upstream_paths:
|
|
43
|
+
- plugins/feature-dev/commands/feature-dev.md
|
|
44
|
+
- plugins/feature-dev/agents/code-explorer.md
|
|
45
|
+
- plugins/feature-dev/agents/code-architect.md
|
|
46
|
+
- plugins/feature-dev/agents/code-reviewer.md
|
|
47
|
+
target_paths:
|
|
48
|
+
- agents/explorer-ai-engineer-analyst.md
|
|
49
|
+
- openspec/schema.spec-driven.yaml
|
|
50
|
+
- openspec/templates/design.md
|
|
51
|
+
rationale: "Folded into pre-existing content: code-explorer's trace method is a section of explorer-ai-engineer-analyst; code-architect's compare-and-blueprint and the command's clarify phase live in the spec-driven design artifact (/opsx:propose); implement/review phases are subagent-driven-development + TDD + code-review. No standalone feature-dev skill or planner agent (OpenSpec's job)."
|
|
52
|
+
|
|
53
|
+
- name: pr-review-toolkit
|
|
54
|
+
classification: rewrite
|
|
55
|
+
upstream_paths:
|
|
56
|
+
- plugins/pr-review-toolkit/commands/review-pr.md
|
|
57
|
+
- plugins/pr-review-toolkit/agents/comment-analyzer.md
|
|
58
|
+
- plugins/pr-review-toolkit/agents/pr-test-analyzer.md
|
|
59
|
+
- plugins/pr-review-toolkit/agents/silent-failure-hunter.md
|
|
60
|
+
- plugins/pr-review-toolkit/agents/type-design-analyzer.md
|
|
61
|
+
- plugins/pr-review-toolkit/agents/code-simplifier.md
|
|
62
|
+
- plugins/pr-review-toolkit/agents/code-reviewer.md
|
|
63
|
+
target_paths:
|
|
64
|
+
- agents/pr-reviewer.md
|
|
65
|
+
- skills/code-review/SKILL.md
|
|
66
|
+
rationale: "Six review lenses folded into one agent with lens sections; the command's diff-driven lens selection is a paragraph of the pre-existing code-review skill (no separate pr-review skill); our domain reviewers stay untouched and gain a short harvested checklist."
|
|
67
|
+
|
|
68
|
+
- name: code-review
|
|
69
|
+
classification: rewrite
|
|
70
|
+
upstream_paths:
|
|
71
|
+
- plugins/code-review/commands/code-review.md
|
|
72
|
+
target_paths:
|
|
73
|
+
- skills/code-review/SKILL.md
|
|
74
|
+
rationale: "Parallel independent reviewers + validation pass before consolidation (high-signal only) added as a small edit to our existing two-stage protocol."
|
|
75
|
+
|
|
76
|
+
- name: security-guidance
|
|
77
|
+
classification: rewrite
|
|
78
|
+
upstream_paths:
|
|
79
|
+
- plugins/security-guidance/hooks/patterns.py
|
|
80
|
+
- plugins/security-guidance/hooks/security_reminder_hook.py
|
|
81
|
+
- plugins/security-guidance/hooks/hooks.json
|
|
82
|
+
target_paths:
|
|
83
|
+
- hooks/freeharness-security-guidance.mjs
|
|
84
|
+
- hooks/hooks.security-guidance.claude-code.json
|
|
85
|
+
rationale: "Pattern-based PreToolUse warnings on Edit/Write rewritten in Node (no Python runtime), categories reworded, LLM-app patterns added; the LLM review-on-stop path is not adopted."
|
|
86
|
+
|
|
87
|
+
- name: commit-commands
|
|
88
|
+
classification: rewrite
|
|
89
|
+
upstream_paths:
|
|
90
|
+
- plugins/commit-commands/commands/commit.md
|
|
91
|
+
- plugins/commit-commands/commands/commit-push-pr.md
|
|
92
|
+
- plugins/commit-commands/commands/clean_gone.md
|
|
93
|
+
target_paths:
|
|
94
|
+
- skills/git-workflow/SKILL.md
|
|
95
|
+
rationale: "Commit / push+PR / prune-gone flows become one skill with conventional messages and hard safety rules (no force-push, no hook skipping, no secrets)."
|
|
96
|
+
|
|
97
|
+
- name: hookify
|
|
98
|
+
classification: adopt-concept
|
|
99
|
+
upstream_paths:
|
|
100
|
+
- plugins/hookify/README.md
|
|
101
|
+
target_paths: []
|
|
102
|
+
rationale: "Generating deny/warn hooks from observed conversation patterns is a candidate for a later `freeharness hook add` command; no content now."
|
|
103
|
+
|
|
104
|
+
- name: ralph-wiggum
|
|
105
|
+
classification: adopt-concept
|
|
106
|
+
upstream_paths:
|
|
107
|
+
- plugins/ralph-wiggum/README.md
|
|
108
|
+
target_paths: []
|
|
109
|
+
rationale: "Iterative self-referential loop until a completion condition; relevant to subagent-driven-development retries, evaluated later."
|
|
110
|
+
|
|
111
|
+
- name: agent-sdk-dev
|
|
112
|
+
classification: adopt-concept
|
|
113
|
+
upstream_paths:
|
|
114
|
+
- plugins/agent-sdk-dev/README.md
|
|
115
|
+
target_paths: []
|
|
116
|
+
rationale: "Agent SDK scaffolding and verification; input for the agentic-architecture skill references, not shipped."
|
|
117
|
+
|
|
118
|
+
- name: plugin-dev
|
|
119
|
+
classification: adopt-concept
|
|
120
|
+
upstream_paths:
|
|
121
|
+
- plugins/plugin-dev/README.md
|
|
122
|
+
target_paths: []
|
|
123
|
+
rationale: "Plugin layout, hooks, MCP, and marketplace guidance; reference for the V3-P2.3 `init --target plugin` emitter."
|
|
124
|
+
|
|
125
|
+
- name: explanatory-output-style
|
|
126
|
+
classification: ignore
|
|
127
|
+
upstream_paths:
|
|
128
|
+
- plugins/explanatory-output-style/README.md
|
|
129
|
+
target_paths: []
|
|
130
|
+
rationale: "Verbose educational output style contradicts our telegraphic chat rule and costs tokens."
|
|
131
|
+
|
|
132
|
+
- name: learning-output-style
|
|
133
|
+
classification: ignore
|
|
134
|
+
upstream_paths:
|
|
135
|
+
- plugins/learning-output-style/README.md
|
|
136
|
+
target_paths: []
|
|
137
|
+
rationale: "Same as explanatory-output-style; interactive teaching mode is out of scope."
|
|
138
|
+
|
|
139
|
+
- name: claude-opus-4-5-migration
|
|
140
|
+
classification: ignore
|
|
141
|
+
upstream_paths:
|
|
142
|
+
- plugins/claude-opus-4-5-migration/README.md
|
|
143
|
+
target_paths: []
|
|
144
|
+
rationale: "One-off model migration guide; superseded by neutral model tiers in canonical/agents/README.md."
|
|
145
|
+
|
|
146
|
+
- name: frontend-design
|
|
147
|
+
classification: ignore
|
|
148
|
+
upstream_paths:
|
|
149
|
+
- plugins/frontend-design/README.md
|
|
150
|
+
target_paths: []
|
|
151
|
+
rationale: "UI aesthetics generation is outside the backend / agentic engineering stack."
|
|
152
|
+
|
|
153
|
+
examples:
|
|
154
|
+
- name: hooks
|
|
155
|
+
classification: reference-only
|
|
156
|
+
upstream_paths:
|
|
157
|
+
- examples/hooks/bash_command_validator_example.py
|
|
158
|
+
target_paths: []
|
|
159
|
+
rationale: "Hook payload shape confirmed against our memory-guard and security-guidance hooks; nothing derived."
|
|
160
|
+
|
|
161
|
+
- name: settings
|
|
162
|
+
classification: reference-only
|
|
163
|
+
upstream_paths:
|
|
164
|
+
- examples/settings/settings-strict.json
|
|
165
|
+
- examples/settings/settings-lax.json
|
|
166
|
+
- examples/settings/settings-bash-sandbox.json
|
|
167
|
+
target_paths: []
|
|
168
|
+
rationale: "Permission profiles consulted for doctor hook-conflict checks; FreeHarness does not ship settings profiles."
|
|
169
|
+
|
|
170
|
+
- name: gateway
|
|
171
|
+
classification: ignore
|
|
172
|
+
upstream_paths:
|
|
173
|
+
- examples/gateway
|
|
174
|
+
target_paths: []
|
|
175
|
+
rationale: "Cloud gateway configs (AWS/GCP) are deployment concerns outside the harness."
|
|
176
|
+
|
|
177
|
+
- name: mdm
|
|
178
|
+
classification: ignore
|
|
179
|
+
upstream_paths:
|
|
180
|
+
- examples/mdm
|
|
181
|
+
target_paths: []
|
|
182
|
+
rationale: "Managed-device policy templates are outside the harness."
|
|
183
|
+
|
|
184
|
+
# ---------------------------------------------------------------------------------------
|
|
185
|
+
# v4 sources (freeharness-v4). Baselines are the local clone HEADs observed on 2026-09-06
|
|
186
|
+
# (sources.yaml comments); for openspec and claude-mem the delta is vendored-baseline ->
|
|
187
|
+
# observed HEAD. Every item below is `planned` until its v4 task lands it.
|
|
188
|
+
# ---------------------------------------------------------------------------------------
|
|
189
|
+
|
|
190
|
+
sources:
|
|
191
|
+
- name: deepseek-harness
|
|
192
|
+
repo: https://github.com/deepseek-ai/deepseek-harness
|
|
193
|
+
fork: null
|
|
194
|
+
baseline_commit: "d347e703"
|
|
195
|
+
version: "0.1.3-alpha.1"
|
|
196
|
+
license: MIT
|
|
197
|
+
scanned: "packages/core, packages/goal, packages/compaction, packages/guard, packages/experimental/tool-agent-team, .agents/notes, .agents/skills, docs/defensive-patterns.md, docs/postmortem"
|
|
198
|
+
|
|
199
|
+
- name: caveman
|
|
200
|
+
repo: https://github.com/JuliusBrussee/caveman
|
|
201
|
+
fork: null
|
|
202
|
+
baseline_commit: "367fdb7f" # 0fca50ac was a fork-only bot commit; same content
|
|
203
|
+
version: "2.6.0"
|
|
204
|
+
license: "MIT (skills/agents/commands/packages) + BSL-1.1 (engine/proxy/mcp/shrink/mem/browse/rewriter); LICENSING.md is the per-path source of truth"
|
|
205
|
+
scanned: "skills/, agents/, commands/, packages/ (MIT); engine/, shrink/, mem/, proxy/, mcp/ (BSL-1.1, concepts only)"
|
|
206
|
+
|
|
207
|
+
- name: context-mode
|
|
208
|
+
repo: https://github.com/mksglu/context-mode
|
|
209
|
+
fork: null
|
|
210
|
+
baseline_commit: null
|
|
211
|
+
version: null
|
|
212
|
+
license: ELv2
|
|
213
|
+
scanned: "README and source read on 2026-09-05; no clone kept (concepts only)"
|
|
214
|
+
|
|
215
|
+
- name: pi
|
|
216
|
+
repo: https://github.com/badlogic/pi-mono
|
|
217
|
+
fork: null
|
|
218
|
+
baseline_commit: "4cc339f5"
|
|
219
|
+
version: "0.0.3"
|
|
220
|
+
license: MIT
|
|
221
|
+
scanned: "packages/ai, packages/coding-agent/src/core, packages/coding-agent/examples/extensions/subagent"
|
|
222
|
+
|
|
223
|
+
- name: superpowers
|
|
224
|
+
repo: https://github.com/obra/superpowers
|
|
225
|
+
fork: null
|
|
226
|
+
baseline_commit: "b36e0829"
|
|
227
|
+
version: "6.3.0"
|
|
228
|
+
license: MIT
|
|
229
|
+
scanned: "skills/ (subagent-driven-development, writing-plans, verification-before-completion, systematic-debugging, test-driven-development, using-git-worktrees)"
|
|
230
|
+
|
|
231
|
+
- name: ecc
|
|
232
|
+
repo: https://github.com/affaan-m/ECC
|
|
233
|
+
fork: https://github.com/anegrelli/ECC
|
|
234
|
+
baseline_commit: "e04ea0b9"
|
|
235
|
+
version: "2.2.1"
|
|
236
|
+
license: MIT
|
|
237
|
+
scanned: "skills/ (safety-guard, context-budget, strategic-compact, config-gc), scripts/hooks/ (config-protection, suggest-compact, ecc-context-monitor, pre-compact), rules/common/"
|
|
238
|
+
|
|
239
|
+
- name: ruflo
|
|
240
|
+
repo: https://github.com/ruvnet/ruflo
|
|
241
|
+
fork: null
|
|
242
|
+
baseline_commit: "db499196"
|
|
243
|
+
version: "3.38.21"
|
|
244
|
+
license: MIT
|
|
245
|
+
scanned: ".claude/settings.json (PreCompact hooks), v3/@claude-flow/memory/src (consolidator, smart-retrieval); concept only by decision"
|
|
246
|
+
|
|
247
|
+
- name: ralph-loop
|
|
248
|
+
repo: https://github.com/anthropics/claude-code
|
|
249
|
+
fork: https://github.com/anegrelli/claude-code
|
|
250
|
+
baseline_commit: "b3f0e50"
|
|
251
|
+
version: null
|
|
252
|
+
license: "Apache-2.0 per design.md; the fork's LICENSE.md states Anthropic Commercial Terms, so the plugin is used as a shape only"
|
|
253
|
+
scanned: "plugins/ralph-wiggum/ (stop hook, setup script, commands)"
|
|
254
|
+
|
|
255
|
+
- name: openspec
|
|
256
|
+
repo: https://github.com/Fission-AI/OpenSpec
|
|
257
|
+
fork: https://github.com/anegrelli/OpenSpec
|
|
258
|
+
baseline_commit: "e062b957"
|
|
259
|
+
version: "1.12.0"
|
|
260
|
+
license: MIT
|
|
261
|
+
scanned: "delta 610b78f (1.8.0, vendored) -> e062b957 (1.12.0): src/core, schemas/spec-driven, skills/"
|
|
262
|
+
|
|
263
|
+
- name: claude-mem
|
|
264
|
+
repo: https://github.com/thedotmack/claude-mem
|
|
265
|
+
fork: https://github.com/anegrelli/claude-mem
|
|
266
|
+
baseline_commit: "be44b6c8"
|
|
267
|
+
version: "13.24.0"
|
|
268
|
+
license: Apache-2.0
|
|
269
|
+
scanned: "delta d768ba36 (13.15.0, vendored) -> be44b6c8 (13.24.0): src/services/worker, src/shared, src/sdk, plugin/modes"
|
|
270
|
+
|
|
271
|
+
deepseek-harness:
|
|
272
|
+
- name: agent-notes-loop
|
|
273
|
+
classification: rewrite
|
|
274
|
+
status: done
|
|
275
|
+
license: MIT
|
|
276
|
+
upstream_paths:
|
|
277
|
+
- .agents/notes/AGENTS.md
|
|
278
|
+
- .agents/notes/README.md
|
|
279
|
+
target_paths:
|
|
280
|
+
- openspec/templates/design.md
|
|
281
|
+
- openspec/schema.spec-driven.yaml
|
|
282
|
+
- rules/CLAUDE.md
|
|
283
|
+
- packages/sdd/vendor/openspec/generation/templates/workflows/propose.ts
|
|
284
|
+
- packages/sdd/vendor/openspec/generation/templates/workflows/archive-change.ts
|
|
285
|
+
rationale: "Decision records with consequences (cost and bought), recorded alternatives and a supersession check land on the design template, the generated propose/archive workflow templates (the /opsx skills are generated from these, not from assets/skills) and the spec-first rule; no .agents/notes tree next to openspec/ (P1.4, P4.3, P4.4)."
|
|
286
|
+
|
|
287
|
+
- name: goal-round-grounding
|
|
288
|
+
classification: rewrite
|
|
289
|
+
status: done
|
|
290
|
+
license: MIT
|
|
291
|
+
upstream_paths:
|
|
292
|
+
- packages/goal/goal-round-driver/src/prompt.ts
|
|
293
|
+
- packages/goal/goal-round-driver/src/invariant.ts
|
|
294
|
+
target_paths:
|
|
295
|
+
- skills/verification-before-completion/SKILL.md
|
|
296
|
+
rationale: "Workspace, tool results and durable state are authoritative, never earlier narration; evidence before completion; blocked only after three rounds with the same condition (P1.9)."
|
|
297
|
+
|
|
298
|
+
- name: acceptance-post-mortem
|
|
299
|
+
classification: rewrite
|
|
300
|
+
status: done
|
|
301
|
+
license: MIT
|
|
302
|
+
upstream_paths:
|
|
303
|
+
- docs/postmortem/0003-web-agent-gui-feedback-loop.md
|
|
304
|
+
target_paths:
|
|
305
|
+
- skills/verification-before-completion/SKILL.md
|
|
306
|
+
rationale: "Acceptance names the exact origin (URL, process, file, port) and observes the change there; a replacement service, build success or bare HTTP 200 proves nothing; coverage proves lines ran, not behavior (P1.9)."
|
|
307
|
+
|
|
308
|
+
- name: cot-leakage-standard
|
|
309
|
+
classification: rewrite
|
|
310
|
+
status: done
|
|
311
|
+
license: MIT
|
|
312
|
+
upstream_paths:
|
|
313
|
+
- .agents/skills/dsh-trim-cot-leakage
|
|
314
|
+
- .agents/skills/dsh-prose-standard
|
|
315
|
+
target_paths:
|
|
316
|
+
- rules/CLAUDE.md
|
|
317
|
+
- skills/code-review/SKILL.md
|
|
318
|
+
rationale: "HEAD-reader test, the eight leak classes, restate-then-delete and the complete-proposition rule in <code_quality_and_comments>; code-review stage 2 applies the lens to comments, docstrings and docs in the diff (P1.5)."
|
|
319
|
+
|
|
320
|
+
- name: compaction-checkpoint
|
|
321
|
+
classification: rewrite
|
|
322
|
+
status: done
|
|
323
|
+
license: MIT
|
|
324
|
+
upstream_paths:
|
|
325
|
+
- packages/compaction/compaction-basic/src/summarizer.ts
|
|
326
|
+
target_paths:
|
|
327
|
+
- hooks/freeharness-session-start
|
|
328
|
+
- hooks/hooks.claude-code.json
|
|
329
|
+
- rules/project-CLAUDE.template.md
|
|
330
|
+
rationale: "The fixed eight-section summary (Primary Request, Files and Code, Errors and Fixes, Pending Jobs, Current Work, Next Step, Critical Context, Corrections) is the re-orientation skeleton SessionStart(compact|resume|fork) re-injects, pre-filled from ~/.claude/freeharness/state/<session>.precompact.md; freeharness-precompact.mjs (P3.4) fills that file before compaction (P2.5)."
|
|
331
|
+
|
|
332
|
+
- name: tool-result-pruner
|
|
333
|
+
classification: rewrite
|
|
334
|
+
status: done
|
|
335
|
+
license: MIT
|
|
336
|
+
upstream_paths:
|
|
337
|
+
- packages/compaction/compaction-tool-result-pruner/src/index.ts
|
|
338
|
+
- packages/spill/spill/src/index.ts
|
|
339
|
+
target_paths:
|
|
340
|
+
- hooks/freeharness-output-pruner.mjs
|
|
341
|
+
rationale: "Head + marker + tail replacement of an over-budget tool result with the full text spilled to a session-scoped file is the output pruner's shape; it lands as a PostToolUse Bash hook returning updatedToolOutput, with pi's dual limit and our protected failure blocks (P2.1)."
|
|
342
|
+
|
|
343
|
+
- name: repeat-tool-reminder
|
|
344
|
+
classification: rewrite
|
|
345
|
+
status: done
|
|
346
|
+
license: MIT
|
|
347
|
+
upstream_paths:
|
|
348
|
+
- packages/guard/repeat-tool-reminder/src/index.ts
|
|
349
|
+
target_paths:
|
|
350
|
+
- hooks/freeharness-repeat-tool.mjs
|
|
351
|
+
- hooks/hooks.repeat-tool.claude-code.json
|
|
352
|
+
rationale: "Escalating reminder at 3/5/8 consecutive identical (tool, canonicalized args) hashes, denied calls counted, advisory only, a user prompt resets the chain; hooks/freeharness-repeat-tool.mjs + fragment emitted by the rules capability (PreToolUse + UserPromptSubmit) (P2.4)."
|
|
353
|
+
|
|
354
|
+
- name: defensive-patterns
|
|
355
|
+
classification: rewrite
|
|
356
|
+
status: done
|
|
357
|
+
license: MIT
|
|
358
|
+
upstream_paths:
|
|
359
|
+
- docs/defensive-patterns.md
|
|
360
|
+
target_paths:
|
|
361
|
+
- skills/agentic-architecture/reference/reliability-observability.md
|
|
362
|
+
- agents/python-reviewer.md
|
|
363
|
+
- agents/security-reviewer.md
|
|
364
|
+
rationale: "Error = stable code + next action, orthogonal outcomes as independent fields, async state is not sync state; the checklist lands in the reliability reference and the python and security reviewers (P1.6, P1.7)."
|
|
365
|
+
|
|
366
|
+
- name: team-lessons
|
|
367
|
+
classification: rewrite
|
|
368
|
+
status: done
|
|
369
|
+
license: MIT
|
|
370
|
+
upstream_paths:
|
|
371
|
+
- packages/experimental/tool-agent-team
|
|
372
|
+
- packages/subagent/subagent
|
|
373
|
+
target_paths:
|
|
374
|
+
- skills/subagent-driven-development/SKILL.md
|
|
375
|
+
rationale: "Worker reports are not acceptance (the lead reviews the final diff and runs the tests), disjoint write scopes per brief, compact JSON handoff with status completed|partial|blocked and a labeled partial output (P1.8)."
|
|
376
|
+
|
|
377
|
+
- name: description-discipline
|
|
378
|
+
classification: rewrite
|
|
379
|
+
status: done
|
|
380
|
+
license: MIT
|
|
381
|
+
upstream_paths:
|
|
382
|
+
- packages/skill
|
|
383
|
+
- packages/core/system-prompt
|
|
384
|
+
target_paths:
|
|
385
|
+
- skills/code-review/SKILL.md
|
|
386
|
+
- skills/git-workflow/SKILL.md
|
|
387
|
+
- skills/subagent-driven-development/SKILL.md
|
|
388
|
+
- skills/verification-before-completion/SKILL.md
|
|
389
|
+
- skills/systematic-debugging/SKILL.md
|
|
390
|
+
- skills/test-driven-development/SKILL.md
|
|
391
|
+
- skills/agentic-architecture/SKILL.md
|
|
392
|
+
- skills/agent-evaluation/SKILL.md
|
|
393
|
+
- skills/local-code/SKILL.md
|
|
394
|
+
- skills/report-formatting/SKILL.md
|
|
395
|
+
rationale: "Every skill description at most 500 characters and starting with a trigger phrase (Use when ...); enforced by the harvest test and the eval trigger cases (P1.11)."
|
|
396
|
+
|
|
397
|
+
- name: v5-runtime-concepts
|
|
398
|
+
classification: adopt-concept
|
|
399
|
+
status: planned
|
|
400
|
+
license: MIT
|
|
401
|
+
upstream_paths:
|
|
402
|
+
- packages/core/agent
|
|
403
|
+
- packages/core/tools
|
|
404
|
+
- packages/hooks
|
|
405
|
+
target_paths: []
|
|
406
|
+
rationale: "PTC code mode (run_code as the only wire tool), CAS task ledger, durable retry projection, doc-budget gates and the agent-instructions byte budget with a dropped-X disclosure are v5 (own CLI) runtime concepts; nothing lands in v4."
|
|
407
|
+
|
|
408
|
+
caveman:
|
|
409
|
+
- name: output-levels
|
|
410
|
+
classification: rewrite
|
|
411
|
+
status: done
|
|
412
|
+
license: MIT
|
|
413
|
+
upstream_paths:
|
|
414
|
+
- skills/caveman/SKILL.md
|
|
415
|
+
- skills/caveman/README.md
|
|
416
|
+
target_paths:
|
|
417
|
+
- rules/CLAUDE.md
|
|
418
|
+
rationale: "Terse output levels with auto-clarity (full prose for design rationale, security findings, user-facing documents) and a boundaries block, re-expressed as rule paragraphs, never as a skill the model may skip (P1.1)."
|
|
419
|
+
|
|
420
|
+
- name: reviewer-contracts
|
|
421
|
+
classification: rewrite
|
|
422
|
+
status: done
|
|
423
|
+
license: MIT
|
|
424
|
+
upstream_paths:
|
|
425
|
+
- agents/cavecrew-reviewer.md
|
|
426
|
+
- skills/caveman-review/SKILL.md
|
|
427
|
+
- skills/caveman-evidence-review/SKILL.md
|
|
428
|
+
target_paths:
|
|
429
|
+
- agents/pr-reviewer.md
|
|
430
|
+
- agents/python-reviewer.md
|
|
431
|
+
- agents/database-reviewer.md
|
|
432
|
+
- agents/security-reviewer.md
|
|
433
|
+
rationale: "Compressed reviewer output contract: P0/P1/P2 lines with file:line, one-line evidence and one-line fix, no narrative sections (P1.6). mle-reviewer folded into pr-reviewer's mle lens; its target repoints to the existing agents/pr-reviewer.md entry."
|
|
434
|
+
|
|
435
|
+
- name: cavecrew-delegation
|
|
436
|
+
classification: rewrite
|
|
437
|
+
status: done
|
|
438
|
+
license: MIT
|
|
439
|
+
upstream_paths:
|
|
440
|
+
- skills/cavecrew/SKILL.md
|
|
441
|
+
- agents/cavecrew-builder.md
|
|
442
|
+
- agents/cavecrew-investigator.md
|
|
443
|
+
- agents/cavecrew-reviewer.md
|
|
444
|
+
target_paths:
|
|
445
|
+
- rules/CLAUDE.md
|
|
446
|
+
rationale: "Delegation paragraph in the Tool Routing table (subagent when the caller needs facts or results and the return is compressed by contract, inline when the context is loaded, team only on explicit request); no cavecrew agents shipped (P1.1)."
|
|
447
|
+
|
|
448
|
+
- name: cavecrew-stop-conditions
|
|
449
|
+
classification: rewrite
|
|
450
|
+
status: done
|
|
451
|
+
license: MIT
|
|
452
|
+
upstream_paths:
|
|
453
|
+
- skills/cavecrew/SKILL.md
|
|
454
|
+
- skills/investigate-first/SKILL.md
|
|
455
|
+
- skills/verify-and-stop/SKILL.md
|
|
456
|
+
target_paths:
|
|
457
|
+
- skills/subagent-driven-development/SKILL.md
|
|
458
|
+
- skills/subagent-driven-development/reference/handoff.md
|
|
459
|
+
rationale: "Work-pattern stop conditions (too-big, needs-confirm, ambiguous, regressed as terminal first tokens) in the subagent-driven-development handoff (P1.8)."
|
|
460
|
+
|
|
461
|
+
- name: work-pattern-skills
|
|
462
|
+
classification: reference-only
|
|
463
|
+
status: planned
|
|
464
|
+
license: MIT
|
|
465
|
+
upstream_paths:
|
|
466
|
+
- skills/investigate-first/SKILL.md
|
|
467
|
+
- skills/verify-and-stop/SKILL.md
|
|
468
|
+
- skills/surgical-patch/SKILL.md
|
|
469
|
+
- skills/safe-refactor/SKILL.md
|
|
470
|
+
target_paths: []
|
|
471
|
+
rationale: "Consulted for the stop conditions and the verify-then-stop shape already covered by verification-before-completion and systematic-debugging; nothing derived beyond the cavecrew item."
|
|
472
|
+
|
|
473
|
+
- name: subagent-tax
|
|
474
|
+
classification: reference-only
|
|
475
|
+
status: planned
|
|
476
|
+
license: MIT
|
|
477
|
+
upstream_paths:
|
|
478
|
+
- packages/subagent-tax
|
|
479
|
+
target_paths: []
|
|
480
|
+
rationale: "Zero-provider-call harness-prefix measurement is the shape of `freeharness cost prefix`; our probe is written from the cost tracker log, nothing copied (P2.9)."
|
|
481
|
+
|
|
482
|
+
- name: compression-engine
|
|
483
|
+
classification: adopt-concept
|
|
484
|
+
status: planned
|
|
485
|
+
license: BSL-1.1
|
|
486
|
+
upstream_paths:
|
|
487
|
+
- engine
|
|
488
|
+
- shrink
|
|
489
|
+
- rewriter
|
|
490
|
+
target_paths: []
|
|
491
|
+
rationale: "Tool-schema and output compression are concepts behind the output pruner and a later OutputCompressorPort; BSL-1.1 code never lands in a MIT repository."
|
|
492
|
+
|
|
493
|
+
- name: post-compaction-reinjection
|
|
494
|
+
classification: adopt-concept
|
|
495
|
+
status: done
|
|
496
|
+
license: BSL-1.1
|
|
497
|
+
upstream_paths:
|
|
498
|
+
- mem
|
|
499
|
+
- proxy
|
|
500
|
+
target_paths: []
|
|
501
|
+
rationale: "Re-injecting a session digest after compaction is the shape of the SessionStart(compact) hook; the digest content comes from the dsh skeleton and our own PreCompact hook, not from cavemem."
|
|
502
|
+
|
|
503
|
+
context-mode:
|
|
504
|
+
- name: context-mode-concepts
|
|
505
|
+
classification: adopt-concept
|
|
506
|
+
status: planned
|
|
507
|
+
license: ELv2
|
|
508
|
+
upstream_paths:
|
|
509
|
+
- README.md
|
|
510
|
+
- src
|
|
511
|
+
target_paths: []
|
|
512
|
+
rationale: "Context-budget accounting per tool call and the mode switch on budget pressure inform `doctor --context-budget` and the context monitor hook; ELv2 code stays a concept."
|
|
513
|
+
|
|
514
|
+
pi:
|
|
515
|
+
- name: truncate-dual-limit
|
|
516
|
+
classification: rewrite
|
|
517
|
+
status: done
|
|
518
|
+
license: MIT
|
|
519
|
+
upstream_paths:
|
|
520
|
+
- packages/coding-agent/src/core/tools/truncate.ts
|
|
521
|
+
target_paths:
|
|
522
|
+
- hooks/freeharness-output-pruner.mjs
|
|
523
|
+
- hooks/hooks.output-pruner.claude-code.json
|
|
524
|
+
rationale: "Dual byte/line limit with head and tail kept and a marker line is the output pruner's truncation rule; hooks/freeharness-output-pruner.mjs + fragment next to the cost tracker, which sums the pruned bytes into `pruned_bytes` for `cost report --sinks` (P2.1)."
|
|
525
|
+
|
|
526
|
+
- name: scout-handoff
|
|
527
|
+
classification: rewrite
|
|
528
|
+
status: done
|
|
529
|
+
license: MIT
|
|
530
|
+
upstream_paths:
|
|
531
|
+
- packages/coding-agent/examples/extensions/subagent/agents/scout.md
|
|
532
|
+
- packages/coding-agent/examples/extensions/subagent/prompts/scout-and-plan.md
|
|
533
|
+
target_paths:
|
|
534
|
+
- agents/explorer-ai-engineer-analyst.md
|
|
535
|
+
rationale: "Scout handoff format (essential files with line ranges, entry points, call chain, open questions, nothing else) becomes the explorer's output contract (P1.6)."
|
|
536
|
+
|
|
537
|
+
- name: rule-lines
|
|
538
|
+
classification: rewrite
|
|
539
|
+
status: done
|
|
540
|
+
license: MIT
|
|
541
|
+
upstream_paths:
|
|
542
|
+
- AGENTS.md
|
|
543
|
+
target_paths:
|
|
544
|
+
- rules/CLAUDE.md
|
|
545
|
+
rationale: "Two rule lines (state agree or disagree before stating what changed; dependency and lockfile changes are reviewed code) in the global rules (P1.1)."
|
|
546
|
+
|
|
547
|
+
- name: worktree-safety
|
|
548
|
+
classification: rewrite
|
|
549
|
+
status: done
|
|
550
|
+
license: MIT
|
|
551
|
+
upstream_paths:
|
|
552
|
+
- AGENTS.md
|
|
553
|
+
- packages/coding-agent/src/core/extensions
|
|
554
|
+
target_paths:
|
|
555
|
+
- skills/git-workflow/SKILL.md
|
|
556
|
+
rationale: "Worktree safety lines from the pi git rules and the worktree extension (never delete a worktree with uncommitted changes, never operate on another worktree's branch) in git-workflow (P1.12)."
|
|
557
|
+
|
|
558
|
+
- name: provider-layer
|
|
559
|
+
classification: reference-only
|
|
560
|
+
status: planned
|
|
561
|
+
license: MIT
|
|
562
|
+
upstream_paths:
|
|
563
|
+
- packages/ai
|
|
564
|
+
target_paths: []
|
|
565
|
+
rationale: "pi-ai provider abstraction and extension model are the reference for the v5 own-CLI provider port and the local-model profiles; nothing copied in v4."
|
|
566
|
+
|
|
567
|
+
superpowers:
|
|
568
|
+
- name: subagent-driven-development-6x
|
|
569
|
+
classification: rewrite
|
|
570
|
+
status: done
|
|
571
|
+
license: MIT
|
|
572
|
+
upstream_paths:
|
|
573
|
+
- skills/subagent-driven-development/SKILL.md
|
|
574
|
+
- skills/subagent-driven-development/implementer-prompt.md
|
|
575
|
+
- skills/subagent-driven-development/task-reviewer-prompt.md
|
|
576
|
+
- skills/subagent-driven-development/re-review-prompt.md
|
|
577
|
+
target_paths:
|
|
578
|
+
- skills/subagent-driven-development/SKILL.md
|
|
579
|
+
- skills/subagent-driven-development/reference/brief.md
|
|
580
|
+
rationale: "File-based briefs and review packages under .freeharness/sdd/<change>/, explicit tier per dispatch, one combined task reviewer, one final branch review, no finding suppression, batching of small same-shape tasks, no nested subagents, 5-round circuit breaker with a controller ruling (P1.8)."
|
|
581
|
+
|
|
582
|
+
- name: writing-plans-annotations
|
|
583
|
+
classification: rewrite
|
|
584
|
+
status: planned
|
|
585
|
+
license: MIT
|
|
586
|
+
upstream_paths:
|
|
587
|
+
- skills/writing-plans/SKILL.md
|
|
588
|
+
- skills/writing-plans/plan-document-reviewer-prompt.md
|
|
589
|
+
target_paths:
|
|
590
|
+
- openspec/templates/tasks.md
|
|
591
|
+
- openspec/schema.spec-driven.yaml
|
|
592
|
+
rationale: "Per-task Interfaces/Boundary/Depends/Verify annotations and a Global Constraints block on the tasks template; the validator accepts and ignores them (P4.5)."
|
|
593
|
+
|
|
594
|
+
- name: verification-rationalization-table
|
|
595
|
+
classification: rewrite
|
|
596
|
+
status: done
|
|
597
|
+
license: MIT
|
|
598
|
+
upstream_paths:
|
|
599
|
+
- skills/verification-before-completion/SKILL.md
|
|
600
|
+
target_paths:
|
|
601
|
+
- skills/verification-before-completion/SKILL.md
|
|
602
|
+
rationale: "Rationalization table (claim, why it is not evidence, what counts) and stop conditions replace prose (P1.9)."
|
|
603
|
+
|
|
604
|
+
- name: debugging-stop-conditions
|
|
605
|
+
classification: rewrite
|
|
606
|
+
status: done
|
|
607
|
+
license: MIT
|
|
608
|
+
upstream_paths:
|
|
609
|
+
- skills/systematic-debugging/SKILL.md
|
|
610
|
+
- skills/systematic-debugging/root-cause-tracing.md
|
|
611
|
+
target_paths:
|
|
612
|
+
- skills/systematic-debugging/SKILL.md
|
|
613
|
+
rationale: "Keyword check that triggers the protocol and explicit stop conditions (three failed hypotheses, scope growth, missing reproduction) that hand back to the user (P1.10)."
|
|
614
|
+
|
|
615
|
+
- name: writing-good-tests
|
|
616
|
+
classification: rewrite
|
|
617
|
+
status: done
|
|
618
|
+
license: MIT
|
|
619
|
+
upstream_paths:
|
|
620
|
+
- skills/test-driven-development/writing-good-tests.md
|
|
621
|
+
target_paths:
|
|
622
|
+
- skills/test-driven-development/SKILL.md
|
|
623
|
+
- skills/test-driven-development/reference/writing-good-tests.md
|
|
624
|
+
rationale: "Lands as the new skills/test-driven-development/reference/writing-good-tests.md linked from SKILL.md; rewritten, not copied (P1.10)."
|
|
625
|
+
|
|
626
|
+
- name: git-worktrees
|
|
627
|
+
classification: rewrite
|
|
628
|
+
status: done
|
|
629
|
+
license: MIT
|
|
630
|
+
upstream_paths:
|
|
631
|
+
- skills/using-git-worktrees/SKILL.md
|
|
632
|
+
target_paths:
|
|
633
|
+
- skills/git-workflow/SKILL.md
|
|
634
|
+
rationale: "Worktree safety lines (never delete a worktree with uncommitted changes, never operate on another worktree's branch) in git-workflow (P1.12)."
|
|
635
|
+
|
|
636
|
+
- name: brainstorming-and-receiving-review
|
|
637
|
+
classification: ignore
|
|
638
|
+
status: planned
|
|
639
|
+
license: MIT
|
|
640
|
+
upstream_paths:
|
|
641
|
+
- skills/brainstorming/SKILL.md
|
|
642
|
+
- skills/receiving-code-review/SKILL.md
|
|
643
|
+
- skills/using-superpowers/SKILL.md
|
|
644
|
+
target_paths: []
|
|
645
|
+
rationale: "Brainstorming is /opsx:propose with the explore step; receiving review is covered by code-review stage 2; using-superpowers is a plugin bootstrap we do not need."
|
|
646
|
+
|
|
647
|
+
ecc:
|
|
648
|
+
- name: safety-guard
|
|
649
|
+
classification: rewrite
|
|
650
|
+
status: done
|
|
651
|
+
license: MIT
|
|
652
|
+
upstream_paths:
|
|
653
|
+
- skills/safety-guard/SKILL.md
|
|
654
|
+
- rules/common/security.md
|
|
655
|
+
target_paths:
|
|
656
|
+
- rules/safety.md
|
|
657
|
+
rationale: "Destructive command patterns, credential file globs and network egress review added to safety.md (P1.12)."
|
|
658
|
+
|
|
659
|
+
- name: config-protection
|
|
660
|
+
classification: rewrite
|
|
661
|
+
status: done
|
|
662
|
+
license: MIT
|
|
663
|
+
upstream_paths:
|
|
664
|
+
- scripts/hooks/config-protection.js
|
|
665
|
+
target_paths:
|
|
666
|
+
- hooks/freeharness-config-guard.mjs
|
|
667
|
+
- hooks/hooks.config-guard.claude-code.json
|
|
668
|
+
rationale: "Deny writes to settings.json, .mcp.json, hook scripts and CLAUDE.md unless an allow marker with a TTL is set; hooks/freeharness-config-guard.mjs beside the memory guard, same PreToolUse deny shape, Bash covered for write constructs (P2.3)."
|
|
669
|
+
|
|
670
|
+
- name: context-monitor
|
|
671
|
+
classification: rewrite
|
|
672
|
+
status: done
|
|
673
|
+
license: MIT
|
|
674
|
+
upstream_paths:
|
|
675
|
+
- scripts/hooks/suggest-compact.js
|
|
676
|
+
target_paths:
|
|
677
|
+
- hooks/freeharness-context-monitor.mjs
|
|
678
|
+
- hooks/hooks.context-monitor.claude-code.json
|
|
679
|
+
rationale: "Stop hook reading the cost snapshot (`context_tokens`) and warning the user once at 60% and 85% of the context budget with a /compact suggestion naming the `# Compact instructions` block; hooks/freeharness-context-monitor.mjs emitted with the cost tracker (P2.2)."
|
|
680
|
+
|
|
681
|
+
- name: context-budget
|
|
682
|
+
classification: adopt-concept
|
|
683
|
+
status: done
|
|
684
|
+
license: MIT
|
|
685
|
+
upstream_paths:
|
|
686
|
+
- skills/context-budget/SKILL.md
|
|
687
|
+
- skills/config-gc/SKILL.md
|
|
688
|
+
target_paths: []
|
|
689
|
+
rationale: "A context-budget skill is advisory and costs its own prefix; re-expressed as `doctor --context-budget` checks and rule levels, no skill shipped."
|
|
690
|
+
|
|
691
|
+
- name: pre-compact
|
|
692
|
+
classification: reference-only
|
|
693
|
+
status: planned
|
|
694
|
+
license: MIT
|
|
695
|
+
upstream_paths:
|
|
696
|
+
- scripts/hooks/pre-compact.js
|
|
697
|
+
target_paths: []
|
|
698
|
+
rationale: "Confirms the PreCompact payload shape used by freeharness-precompact.mjs; the summary contract comes from dsh and the worker call from claude-mem."
|
|
699
|
+
|
|
700
|
+
- name: agents-and-rules-catalog
|
|
701
|
+
classification: reference-only
|
|
702
|
+
status: planned
|
|
703
|
+
license: MIT
|
|
704
|
+
upstream_paths:
|
|
705
|
+
- agents
|
|
706
|
+
- rules/common
|
|
707
|
+
target_paths: []
|
|
708
|
+
rationale: "ECC 2.x agent and rule catalog consulted for the Tool Routing review (P1.14); FreeHarness keeps its ten tuned agents and adds none."
|
|
709
|
+
|
|
710
|
+
ruflo:
|
|
711
|
+
- name: precompact-summarize
|
|
712
|
+
classification: adopt-concept
|
|
713
|
+
status: planned
|
|
714
|
+
license: MIT
|
|
715
|
+
upstream_paths:
|
|
716
|
+
- .claude/settings.json
|
|
717
|
+
- .claude/helpers
|
|
718
|
+
target_paths: []
|
|
719
|
+
rationale: "PreCompact -> summarize -> SessionStart re-injection is the concept behind freeharness-precompact.mjs; ruflo is concept-only by decision (P3.4)."
|
|
720
|
+
|
|
721
|
+
- name: memory-consolidation
|
|
722
|
+
classification: adopt-concept
|
|
723
|
+
status: planned
|
|
724
|
+
license: MIT
|
|
725
|
+
upstream_paths:
|
|
726
|
+
- v3/@claude-flow/memory/src/consolidator.ts
|
|
727
|
+
- v3/@claude-flow/memory/src/smart-retrieval.ts
|
|
728
|
+
target_paths: []
|
|
729
|
+
rationale: "Memory garbage collection with dedup is a later MemoryPort concern behind a benchmark gate; recorded, not scheduled."
|
|
730
|
+
|
|
731
|
+
ralph-loop:
|
|
732
|
+
- name: converge-loop
|
|
733
|
+
classification: adopt-concept
|
|
734
|
+
status: done
|
|
735
|
+
license: "Apache-2.0 per design.md; fork LICENSE.md: Anthropic Commercial Terms"
|
|
736
|
+
upstream_paths:
|
|
737
|
+
- plugins/ralph-wiggum/hooks/stop-hook.sh
|
|
738
|
+
- plugins/ralph-wiggum/hooks/hooks.json
|
|
739
|
+
- plugins/ralph-wiggum/scripts/setup-ralph-loop.sh
|
|
740
|
+
- plugins/ralph-wiggum/commands/ralph-loop.md
|
|
741
|
+
target_paths: []
|
|
742
|
+
rationale: "Stop-hook loop until a completion promise is the shape of the new hooks/freeharness-converge.mjs, fitted to tasks.md unchecked tasks with a bounded round count and a round log; shape only, no content copied (P4.6)."
|
|
743
|
+
|
|
744
|
+
openspec:
|
|
745
|
+
- name: engine-ports-1-12
|
|
746
|
+
classification: port
|
|
747
|
+
status: done
|
|
748
|
+
license: MIT
|
|
749
|
+
upstream_paths:
|
|
750
|
+
- src/core/validation/purpose-placeholder.ts
|
|
751
|
+
- src/core/validation/validator.ts
|
|
752
|
+
- src/core/specs-apply.ts
|
|
753
|
+
- src/core/archive.ts
|
|
754
|
+
- src/core/planning-home.ts
|
|
755
|
+
target_paths:
|
|
756
|
+
- packages/sdd/vendor/openspec/validation/validator.ts
|
|
757
|
+
- packages/sdd/vendor/openspec/apply/specs-apply.ts
|
|
758
|
+
- packages/sdd/src/shim/archive.ts
|
|
759
|
+
- packages/sdd/src/shim/context.ts
|
|
760
|
+
- packages/sdd/src/shim/new-change.ts
|
|
761
|
+
- packages/sdd/vendor/openspec/validation/purpose-placeholder.ts
|
|
762
|
+
rationale: "Purpose-placeholder validator (#1671), specs-apply RENAMED/ENOENT (#1712/#1710), findArchiveBlockers and the planningHome stub (#1703) ported into the vendored slice with tests (P4.1)."
|
|
763
|
+
|
|
764
|
+
- name: template-and-schema-1-12
|
|
765
|
+
classification: port
|
|
766
|
+
status: done
|
|
767
|
+
license: MIT
|
|
768
|
+
upstream_paths:
|
|
769
|
+
- schemas/spec-driven/schema.yaml
|
|
770
|
+
- schemas/spec-driven/templates/proposal.md
|
|
771
|
+
- schemas/spec-driven/templates/design.md
|
|
772
|
+
- schemas/spec-driven/templates/tasks.md
|
|
773
|
+
- src/core/templates/workflows/explore.ts
|
|
774
|
+
- src/core/templates/workflows/propose.ts
|
|
775
|
+
- src/core/templates/workflows/ff-change.ts
|
|
776
|
+
target_paths:
|
|
777
|
+
- openspec/schema.spec-driven.yaml
|
|
778
|
+
- openspec/templates/proposal.md
|
|
779
|
+
- openspec/templates/design.md
|
|
780
|
+
- openspec/templates/tasks.md
|
|
781
|
+
- packages/sdd/vendor/openspec/generation/templates/workflows/explore.ts
|
|
782
|
+
- packages/sdd/vendor/openspec/generation/templates/workflows/ff-change.ts
|
|
783
|
+
rationale: "Inspect-before-drafting (#1737), explore confirmation and questions (#1716/#1017/#1010) and per-task verify (#1660) ported into our override schema and templates and into the generated explore/propose/ff-change workflow templates (the /opsx skills are generated from these; assets/skills is only the sync diff baseline) (P4.2)."
|
|
784
|
+
|
|
785
|
+
- name: tracked-assets-adopt
|
|
786
|
+
classification: port
|
|
787
|
+
status: done
|
|
788
|
+
license: MIT
|
|
789
|
+
upstream_paths:
|
|
790
|
+
- schemas/spec-driven
|
|
791
|
+
- skills
|
|
792
|
+
target_paths:
|
|
793
|
+
- packages/sdd/PROVENANCE.yaml
|
|
794
|
+
rationale: "`sync adopt sdd` adopted the tracked assets (assets/schema.upstream.yaml, assets/skills) verbatim at the 1.12 baseline e062b957 after the engine ports; the verbatim copies are recorded by packages/sdd/PROVENANCE.yaml (the target here), the baseline is bumped there and in sources.yaml, and our propose/archive workflow-template overrides survive because they are not tracked assets (P4.7)."
|
|
795
|
+
|
|
796
|
+
claude-mem:
|
|
797
|
+
- name: observer-recycle-and-classifier
|
|
798
|
+
classification: port
|
|
799
|
+
status: planned
|
|
800
|
+
license: Apache-2.0
|
|
801
|
+
upstream_paths:
|
|
802
|
+
- src/shared/observer-recycle.ts
|
|
803
|
+
- src/services/worker/session/recycle-conversation.ts
|
|
804
|
+
- src/sdk/output-classifier.ts
|
|
805
|
+
- src/sdk/prompts.ts
|
|
806
|
+
- src/services/worker/agents/ResponseProcessor.ts
|
|
807
|
+
- src/services/worker/ClaudeProvider.ts
|
|
808
|
+
- src/services/worker-types.ts
|
|
809
|
+
- src/shared/SettingsDefaultsManager.ts
|
|
810
|
+
target_paths:
|
|
811
|
+
- packages/memory/vendor/claude-mem/engine/sdk/output-classifier.ts
|
|
812
|
+
- packages/memory/vendor/claude-mem/engine/sdk/prompts.ts
|
|
813
|
+
- packages/memory/vendor/claude-mem/engine/services/worker/agents
|
|
814
|
+
- packages/memory/vendor/claude-mem/engine/services/worker/ClaudeProvider.ts
|
|
815
|
+
- packages/memory/vendor/claude-mem/engine/services/worker-types.ts
|
|
816
|
+
- packages/memory/vendor/claude-mem/engine/shared/SettingsDefaultsManager.ts
|
|
817
|
+
rationale: "Bounded observer recycle (CLAUDE_MEM_OBSERVER_MAX_CONVERSATION_CHARS), output classifier and the prompt changes that stop unbounded-conversation observer failures (P3.1)."
|
|
818
|
+
|
|
819
|
+
- name: field-optimizer-and-quota
|
|
820
|
+
classification: port
|
|
821
|
+
status: planned
|
|
822
|
+
license: Apache-2.0
|
|
823
|
+
upstream_paths:
|
|
824
|
+
- src/services/worker/field-optimizer.ts
|
|
825
|
+
- src/services/worker/RateLimitStore.ts
|
|
826
|
+
- src/shared/observer-health.ts
|
|
827
|
+
- src/shared/quota-cooldown.ts
|
|
828
|
+
target_paths:
|
|
829
|
+
- packages/memory/vendor/claude-mem/engine/services/worker/RateLimitStore.ts
|
|
830
|
+
- packages/memory/vendor/claude-mem/engine/services/context
|
|
831
|
+
rationale: "Field optimizer, the RateLimitStore quota guard fix (#3838), observer health and quota cooldown with the ContextBuilder warning retargeted to `freeharness memory status` (P3.1, P3.3)."
|
|
832
|
+
|
|
833
|
+
- name: process-and-transcript
|
|
834
|
+
classification: port
|
|
835
|
+
status: planned
|
|
836
|
+
license: Apache-2.0
|
|
837
|
+
upstream_paths:
|
|
838
|
+
- src/shared/uvx-env.ts
|
|
839
|
+
- src/shared/kill-process-tree.ts
|
|
840
|
+
- src/shared/process-identity.ts
|
|
841
|
+
- src/shared/transcript-parser.ts
|
|
842
|
+
- plugin/modes/code.json
|
|
843
|
+
target_paths:
|
|
844
|
+
- packages/memory/vendor/claude-mem/engine/shared/spawn.ts
|
|
845
|
+
- packages/memory/vendor/claude-mem/engine/services/transcripts/processor.ts
|
|
846
|
+
- packages/memory/vendor/claude-mem/plugin/modes/code.json
|
|
847
|
+
rationale: "uvx env and process-tree kill, process identity, single-read transcript parser, code-mode observer role and skip_summary noise; the observer prompt gains the verbatim-identifier rule in compact English (P3.1, P3.2)."
|
|
848
|
+
|
|
849
|
+
- name: installer-pro-telemetry-viewer
|
|
850
|
+
classification: ignore
|
|
851
|
+
status: planned
|
|
852
|
+
license: Apache-2.0
|
|
853
|
+
upstream_paths:
|
|
854
|
+
- src/services/install
|
|
855
|
+
- src/services/telemetry
|
|
856
|
+
- src/services/worker/http
|
|
857
|
+
target_paths: []
|
|
858
|
+
rationale: "Installer, pro, telemetry, viewer and provider changes are outside the slim vendored engine (SLIM-AUDIT.md)."
|