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,740 @@
|
|
|
1
|
+
# Provenance for canonical content derived from external sources. Every file listed here was
|
|
2
|
+
# rewritten in the FreeHarness style (English, no-bold prose, our tool-routing contract, Google
|
|
3
|
+
# docstrings / JSDoc in code); none is a verbatim copy. `upstream_path` is the file whose ideas
|
|
4
|
+
# the entry derives from; `commit` is the pinned upstream revision at harvest time.
|
|
5
|
+
# `upstream_sha256` is the hash of the upstream file (or, for a directory, of its sorted
|
|
6
|
+
# file names + contents) at that commit; the test asserts our file never hashes to it.
|
|
7
|
+
# Harvest classifications and rationale: canonical/HARVEST.yaml.
|
|
8
|
+
|
|
9
|
+
sources:
|
|
10
|
+
claude-code:
|
|
11
|
+
repo: https://github.com/anthropics/claude-code
|
|
12
|
+
fork: https://github.com/anegrelli/claude-code
|
|
13
|
+
baseline_commit: "b3f0e50"
|
|
14
|
+
caveman:
|
|
15
|
+
repo: https://github.com/JuliusBrussee/caveman
|
|
16
|
+
baseline_commit: "367fdb7f"
|
|
17
|
+
license: MIT (skills/ only; engine, proxy, mcp, shrink, mem are BSL-1.1 and ship nothing)
|
|
18
|
+
pi:
|
|
19
|
+
repo: https://github.com/badlogic/pi-mono
|
|
20
|
+
baseline_commit: "4cc339f5"
|
|
21
|
+
license: MIT
|
|
22
|
+
deepseek-harness:
|
|
23
|
+
repo: https://github.com/deepseek-ai/deepseek-harness
|
|
24
|
+
baseline_commit: "d347e703"
|
|
25
|
+
license: MIT
|
|
26
|
+
superpowers:
|
|
27
|
+
repo: https://github.com/obra/superpowers
|
|
28
|
+
baseline_commit: "b36e0829"
|
|
29
|
+
license: MIT
|
|
30
|
+
ecc:
|
|
31
|
+
repo: https://github.com/affaan-m/ECC
|
|
32
|
+
baseline_commit: "68e926bf"
|
|
33
|
+
license: MIT
|
|
34
|
+
openspec:
|
|
35
|
+
repo: https://github.com/Fission-AI/OpenSpec
|
|
36
|
+
fork: https://github.com/anegrelli/OpenSpec
|
|
37
|
+
baseline_commit: "e062b957"
|
|
38
|
+
license: MIT
|
|
39
|
+
|
|
40
|
+
files:
|
|
41
|
+
- path: agents/explorer-ai-engineer-analyst.md
|
|
42
|
+
source: claude-code
|
|
43
|
+
upstream_path: plugins/feature-dev/agents/code-explorer.md
|
|
44
|
+
upstream_sha256: "3b277703de7458988ec3b8021c716f79f642e174950ed332629310f68322029a"
|
|
45
|
+
commit: "b3f0e50"
|
|
46
|
+
rewritten: true
|
|
47
|
+
note: "Only the feature_trace_mode section derives from upstream (entry points -> call chain -> layers -> essential-files list, file:line discipline); the agent itself predates the harvest (local-code angle). Former agents/code-explorer.md folded here."
|
|
48
|
+
|
|
49
|
+
- path: openspec/schema.spec-driven.yaml
|
|
50
|
+
source: claude-code
|
|
51
|
+
upstream_path: plugins/feature-dev/agents/code-architect.md
|
|
52
|
+
upstream_sha256: "c50fb08d59a4bbd19660860626a049e44cf1a2b0c1cf782e6c7a99ba7e71b0c3"
|
|
53
|
+
commit: "b3f0e50"
|
|
54
|
+
rewritten: true
|
|
55
|
+
note: "Only the design artifact instruction derives from upstream (compare 2-3 approaches grounded in codebase patterns, commit with rationale, file-level blueprint with interfaces, data flow and test points); the schema predates the harvest. Former agents/code-architect.md and agents/planner.md folded here; /opsx:propose writes the artifacts."
|
|
56
|
+
|
|
57
|
+
- path: openspec/templates/design.md
|
|
58
|
+
source: claude-code
|
|
59
|
+
upstream_path: plugins/feature-dev/commands/feature-dev.md
|
|
60
|
+
upstream_sha256: "652e5d6264fd253fcb70c2f84de986a88d77109a02410aacd90230a6ab4bf557"
|
|
61
|
+
commit: "b3f0e50"
|
|
62
|
+
rewritten: true
|
|
63
|
+
note: "Only the Open Questions Resolved, Candidate Approaches and Blueprint sections derive from upstream (clarify + architect phases); implement/review phases are subagent-driven-development + TDD + code-review. Former skills/feature-dev/SKILL.md folded here."
|
|
64
|
+
|
|
65
|
+
- path: agents/pr-reviewer.md
|
|
66
|
+
source: claude-code
|
|
67
|
+
upstream_path: plugins/pr-review-toolkit/agents
|
|
68
|
+
upstream_sha256: "1828c969ec52ea8542fb98fad6f57cde3103e8039056d0a88571ab0c14cc56b7"
|
|
69
|
+
commit: "b3f0e50"
|
|
70
|
+
rewritten: true
|
|
71
|
+
note: "Six upstream agents (comment-analyzer, pr-test-analyzer, silent-failure-hunter, type-design-analyzer, code-simplifier, code-reviewer) folded into one agent with lens sections and P0/P1/P2 output; project-specific logging references dropped."
|
|
72
|
+
|
|
73
|
+
- path: skills/code-review/SKILL.md
|
|
74
|
+
source: claude-code
|
|
75
|
+
upstream_path: plugins/code-review/commands/code-review.md
|
|
76
|
+
upstream_sha256: "2b0837c5ec0b2e75f8ba4565bdafd76fa916b0dc146608c5733af7ba5802012c"
|
|
77
|
+
commit: "b3f0e50"
|
|
78
|
+
rewritten: true
|
|
79
|
+
note: "Only the parallel-lens dispatch and validate-before-consolidate paragraph derives from upstream; the diff-driven lens selection paragraph derives from plugins/pr-review-toolkit/commands/review-pr.md (former skills/pr-review/SKILL.md, folded here); the rest of the skill predates the harvest (Superpowers-derived, rewritten in v1)."
|
|
80
|
+
|
|
81
|
+
- path: hooks/freeharness-security-guidance.mjs
|
|
82
|
+
source: claude-code
|
|
83
|
+
upstream_path: plugins/security-guidance/hooks/patterns.py
|
|
84
|
+
upstream_sha256: "7870f5cac17034e9bfff829a2bba283bbcb47b416c915d8c8a1ab7ec02c5b4aa"
|
|
85
|
+
commit: "b3f0e50"
|
|
86
|
+
rewritten: true
|
|
87
|
+
note: "Node rewrite of the pattern catalogue with reworded reminders; adds SQL string building, path traversal, hardcoded secrets, prompt interpolation, and model-output-to-sink rules; advisory only (additionalContext, exit 0)."
|
|
88
|
+
|
|
89
|
+
- path: hooks/hooks.security-guidance.claude-code.json
|
|
90
|
+
source: claude-code
|
|
91
|
+
upstream_path: plugins/security-guidance/hooks/hooks.json
|
|
92
|
+
upstream_sha256: "37181aea2a1ccd4efa88c427d4cd194fac48ab1ca67779c14edf8de375809181"
|
|
93
|
+
commit: "b3f0e50"
|
|
94
|
+
rewritten: true
|
|
95
|
+
note: "PreToolUse fragment only; the upstream SessionStart/UserPromptSubmit/Stop LLM-review events are not adopted."
|
|
96
|
+
|
|
97
|
+
- path: skills/git-workflow/SKILL.md
|
|
98
|
+
source: claude-code
|
|
99
|
+
upstream_path: plugins/commit-commands/commands
|
|
100
|
+
upstream_sha256: "00b7e943b9737f1cbf3e4d08db412370862728972b27b70c1cef9e54d5d3cac7"
|
|
101
|
+
commit: "b3f0e50"
|
|
102
|
+
rewritten: true
|
|
103
|
+
note: "commit.md, commit-push-pr.md, clean_gone.md merged into one skill with conventional messages and non-negotiable safety rules."
|
|
104
|
+
|
|
105
|
+
- path: agents/python-reviewer.md
|
|
106
|
+
source: claude-code
|
|
107
|
+
upstream_path: plugins/pr-review-toolkit/agents/silent-failure-hunter.md
|
|
108
|
+
upstream_sha256: "fa9b0daec5a267e7e66435cc48b3328301fc9f70c3af259fe248881327a1babc"
|
|
109
|
+
commit: "b3f0e50"
|
|
110
|
+
rewritten: true
|
|
111
|
+
note: "Only the appended checklist_harvested section derives from upstream (silent failures, comment accuracy, type invariants)."
|
|
112
|
+
|
|
113
|
+
- path: agents/security-reviewer.md
|
|
114
|
+
source: claude-code
|
|
115
|
+
upstream_path: plugins/security-guidance/hooks/patterns.py
|
|
116
|
+
upstream_sha256: "7870f5cac17034e9bfff829a2bba283bbcb47b416c915d8c8a1ab7ec02c5b4aa"
|
|
117
|
+
commit: "b3f0e50"
|
|
118
|
+
rewritten: true
|
|
119
|
+
note: "Only the appended checklist_harvested section derives from upstream (execution sinks, deserialization, transport and crypto)."
|
|
120
|
+
|
|
121
|
+
# ---- v4 (freeharness-v4, P1 harness-intelligence). Concept rewrites: the upstream file is
|
|
122
|
+
# the source of the idea, the FreeHarness paragraph is authored from scratch (English,
|
|
123
|
+
# no bold, XML-tag sections). One entry per (target, upstream) pair; a target with several
|
|
124
|
+
# upstream sources has several entries.
|
|
125
|
+
|
|
126
|
+
- path: rules/CLAUDE.md
|
|
127
|
+
source: caveman
|
|
128
|
+
upstream_path: skills/caveman/SKILL.md
|
|
129
|
+
upstream_sha256: "c4d7354b4b063d54601fcdd5097a5b1713d1a1a2e386ac39efa438aa1ffef8ce"
|
|
130
|
+
commit: "367fdb7f"
|
|
131
|
+
license: MIT
|
|
132
|
+
rewritten: true
|
|
133
|
+
note: "Only the three <output_rules> lines derive from upstream (terse default with the keep-list, auto-clarity triggers, boundaries for persisted artifacts); levels, wenyan variants and the /caveman command are not adopted (P1.1)."
|
|
134
|
+
|
|
135
|
+
- path: rules/CLAUDE.md
|
|
136
|
+
source: caveman
|
|
137
|
+
upstream_path: skills/cavecrew/SKILL.md
|
|
138
|
+
upstream_sha256: "c05f8e8d16bd8ae1c8d0b0abf6e8b9671051bde61653c4986304c2de3a1cf5d4"
|
|
139
|
+
commit: "367fdb7f"
|
|
140
|
+
license: MIT
|
|
141
|
+
rewritten: true
|
|
142
|
+
note: "Only the Delegation paragraph in <orchestration_contract> derives from upstream (subagent when the caller needs facts or results and the return is compressed by contract; inline otherwise); no cavecrew agents shipped (P1.1)."
|
|
143
|
+
|
|
144
|
+
- path: rules/CLAUDE.md
|
|
145
|
+
source: pi
|
|
146
|
+
upstream_path: AGENTS.md
|
|
147
|
+
upstream_sha256: "9aa976721907c0e705333516969abe57163c8ac1895e920883380367a86af12e"
|
|
148
|
+
commit: "4cc339f5"
|
|
149
|
+
license: MIT
|
|
150
|
+
rewritten: true
|
|
151
|
+
note: "Two rule lines: state agree or disagree before stating what changed (<communication_and_language>); dependency and lockfile changes are reviewed code (<code_quality_and_comments>) (P1.1)."
|
|
152
|
+
|
|
153
|
+
- path: rules/CLAUDE.md
|
|
154
|
+
source: deepseek-harness
|
|
155
|
+
upstream_path: .agents/skills/dsh-trim-cot-leakage/SKILL.md
|
|
156
|
+
upstream_sha256: "d81b60699eec7413183b4fbb7a26a940bedde2f816dba0eccbfa453549292dcc"
|
|
157
|
+
commit: "d347e703"
|
|
158
|
+
license: MIT
|
|
159
|
+
rewritten: true
|
|
160
|
+
note: "HEAD-reader test, the eight leak classes in one line, restate-then-delete and the not-leakage keep list in <code_quality_and_comments> (P1.5)."
|
|
161
|
+
|
|
162
|
+
- path: rules/CLAUDE.md
|
|
163
|
+
source: deepseek-harness
|
|
164
|
+
upstream_path: .agents/skills/dsh-prose-standard/SKILL.md
|
|
165
|
+
upstream_sha256: "df56be84f9ee917a34055c9e229d06c409bce478de7bb0deb233240c1887f2eb"
|
|
166
|
+
commit: "d347e703"
|
|
167
|
+
license: MIT
|
|
168
|
+
rewritten: true
|
|
169
|
+
note: "Complete-proposition rule for docs (enumerate propositions before trimming; keep obligations, invariants, provenance; word count alone is not an improvement) (P1.5)."
|
|
170
|
+
|
|
171
|
+
- path: rules/CLAUDE.md
|
|
172
|
+
source: deepseek-harness
|
|
173
|
+
upstream_path: .agents/notes/README.md
|
|
174
|
+
upstream_sha256: "722a3ed38f137a08121bdd807c1841d7d6bd142ed5bce8033123c7a9247ffd75"
|
|
175
|
+
commit: "d347e703"
|
|
176
|
+
license: MIT
|
|
177
|
+
rewritten: true
|
|
178
|
+
note: "Only the <spec_first_opsx> non-trivial definition (behavior, architecture, cross-file contract, process or tooling, on-disk/wire/config format) and the rule 'no OpenSpec change = no non-trivial code change' derive from the Agent Notes when-to-write-one rule (P1.4)."
|
|
179
|
+
|
|
180
|
+
- path: skills/code-review/SKILL.md
|
|
181
|
+
source: deepseek-harness
|
|
182
|
+
upstream_path: .agents/skills/dsh-trim-cot-leakage/SKILL.md
|
|
183
|
+
upstream_sha256: "d81b60699eec7413183b4fbb7a26a940bedde2f816dba0eccbfa453549292dcc"
|
|
184
|
+
commit: "d347e703"
|
|
185
|
+
license: MIT
|
|
186
|
+
rewritten: true
|
|
187
|
+
note: "Only the stage-2 CoT-leakage lens paragraph derives from upstream (HEAD-reader test, eight classes, restated replacement, keep list); the rest of the skill is claude-code-derived (entry above) and pre-harvest (P1.5)."
|
|
188
|
+
|
|
189
|
+
# Skill description discipline (P1.11): only the front-matter `description:` form (at most
|
|
190
|
+
# 500 characters, trigger-worded 'Use when ...') derives from the deepseek-harness skill
|
|
191
|
+
# catalog convention; every description text is ours.
|
|
192
|
+
|
|
193
|
+
- path: skills/agent-evaluation/SKILL.md
|
|
194
|
+
source: deepseek-harness
|
|
195
|
+
upstream_path: packages/skill/README.md
|
|
196
|
+
upstream_sha256: "1c9a960d4d9a5fe22b70ead5528d568190642d5de51d2759ca5f2df18288a086"
|
|
197
|
+
commit: "d347e703"
|
|
198
|
+
license: MIT
|
|
199
|
+
rewritten: true
|
|
200
|
+
note: "Description form only (P1.11)."
|
|
201
|
+
|
|
202
|
+
- path: skills/agentic-architecture/SKILL.md
|
|
203
|
+
source: deepseek-harness
|
|
204
|
+
upstream_path: packages/skill/README.md
|
|
205
|
+
upstream_sha256: "1c9a960d4d9a5fe22b70ead5528d568190642d5de51d2759ca5f2df18288a086"
|
|
206
|
+
commit: "d347e703"
|
|
207
|
+
license: MIT
|
|
208
|
+
rewritten: true
|
|
209
|
+
note: "Description form only (P1.11)."
|
|
210
|
+
|
|
211
|
+
- path: skills/code-review/SKILL.md
|
|
212
|
+
source: deepseek-harness
|
|
213
|
+
upstream_path: packages/skill/README.md
|
|
214
|
+
upstream_sha256: "1c9a960d4d9a5fe22b70ead5528d568190642d5de51d2759ca5f2df18288a086"
|
|
215
|
+
commit: "d347e703"
|
|
216
|
+
license: MIT
|
|
217
|
+
rewritten: true
|
|
218
|
+
note: "Description form only (P1.11)."
|
|
219
|
+
|
|
220
|
+
- path: skills/git-workflow/SKILL.md
|
|
221
|
+
source: deepseek-harness
|
|
222
|
+
upstream_path: packages/skill/README.md
|
|
223
|
+
upstream_sha256: "1c9a960d4d9a5fe22b70ead5528d568190642d5de51d2759ca5f2df18288a086"
|
|
224
|
+
commit: "d347e703"
|
|
225
|
+
license: MIT
|
|
226
|
+
rewritten: true
|
|
227
|
+
note: "Description form only (P1.11)."
|
|
228
|
+
|
|
229
|
+
- path: skills/local-code/SKILL.md
|
|
230
|
+
source: deepseek-harness
|
|
231
|
+
upstream_path: packages/skill/README.md
|
|
232
|
+
upstream_sha256: "1c9a960d4d9a5fe22b70ead5528d568190642d5de51d2759ca5f2df18288a086"
|
|
233
|
+
commit: "d347e703"
|
|
234
|
+
license: MIT
|
|
235
|
+
rewritten: true
|
|
236
|
+
note: "Description form only (P1.11)."
|
|
237
|
+
|
|
238
|
+
- path: skills/report-formatting/SKILL.md
|
|
239
|
+
source: deepseek-harness
|
|
240
|
+
upstream_path: packages/skill/README.md
|
|
241
|
+
upstream_sha256: "1c9a960d4d9a5fe22b70ead5528d568190642d5de51d2759ca5f2df18288a086"
|
|
242
|
+
commit: "d347e703"
|
|
243
|
+
license: MIT
|
|
244
|
+
rewritten: true
|
|
245
|
+
note: "Description form only (P1.11)."
|
|
246
|
+
|
|
247
|
+
- path: skills/subagent-driven-development/SKILL.md
|
|
248
|
+
source: deepseek-harness
|
|
249
|
+
upstream_path: packages/skill/README.md
|
|
250
|
+
upstream_sha256: "1c9a960d4d9a5fe22b70ead5528d568190642d5de51d2759ca5f2df18288a086"
|
|
251
|
+
commit: "d347e703"
|
|
252
|
+
license: MIT
|
|
253
|
+
rewritten: true
|
|
254
|
+
note: "Description form only (P1.11)."
|
|
255
|
+
|
|
256
|
+
- path: skills/systematic-debugging/SKILL.md
|
|
257
|
+
source: deepseek-harness
|
|
258
|
+
upstream_path: packages/skill/README.md
|
|
259
|
+
upstream_sha256: "1c9a960d4d9a5fe22b70ead5528d568190642d5de51d2759ca5f2df18288a086"
|
|
260
|
+
commit: "d347e703"
|
|
261
|
+
license: MIT
|
|
262
|
+
rewritten: true
|
|
263
|
+
note: "Description form only (P1.11)."
|
|
264
|
+
|
|
265
|
+
- path: skills/test-driven-development/SKILL.md
|
|
266
|
+
source: deepseek-harness
|
|
267
|
+
upstream_path: packages/skill/README.md
|
|
268
|
+
upstream_sha256: "1c9a960d4d9a5fe22b70ead5528d568190642d5de51d2759ca5f2df18288a086"
|
|
269
|
+
commit: "d347e703"
|
|
270
|
+
license: MIT
|
|
271
|
+
rewritten: true
|
|
272
|
+
note: "Description form only (P1.11)."
|
|
273
|
+
|
|
274
|
+
- path: skills/verification-before-completion/SKILL.md
|
|
275
|
+
source: deepseek-harness
|
|
276
|
+
upstream_path: packages/skill/README.md
|
|
277
|
+
upstream_sha256: "1c9a960d4d9a5fe22b70ead5528d568190642d5de51d2759ca5f2df18288a086"
|
|
278
|
+
commit: "d347e703"
|
|
279
|
+
license: MIT
|
|
280
|
+
rewritten: true
|
|
281
|
+
note: "Description form only (P1.11)."
|
|
282
|
+
|
|
283
|
+
- path: agents/explorer-ai-engineer-analyst.md
|
|
284
|
+
source: pi
|
|
285
|
+
upstream_path: packages/coding-agent/examples/extensions/subagent/agents/scout.md
|
|
286
|
+
upstream_sha256: "3b84e8e01c6e05c8dfbff1c845c0c6371f4f16350735d4d1dbd02bfa98b1d4e6"
|
|
287
|
+
commit: "4cc339f5"
|
|
288
|
+
license: MIT
|
|
289
|
+
rewritten: true
|
|
290
|
+
note: "Only the <scout_handoff> contract derives from upstream (handoff for an agent that has not seen the files, essential files with line ranges, key code, start-here order); section names and rules are ours (P1.6)."
|
|
291
|
+
|
|
292
|
+
- path: agents/pr-reviewer.md
|
|
293
|
+
source: caveman
|
|
294
|
+
upstream_path: agents/cavecrew-reviewer.md
|
|
295
|
+
upstream_sha256: "e302fce4e8012b25031427fb076ced3c79b03438c8e0f01cb6fb10f1f5857086"
|
|
296
|
+
commit: "367fdb7f"
|
|
297
|
+
license: MIT
|
|
298
|
+
rewritten: true
|
|
299
|
+
note: "Only the <output_contract> derives from upstream (one line per finding path:line: severity: problem. fix., file order, totals line, clean marker); P0/P1/P2 replace the emoji tiers and the lenses/checklists are ours (P1.6). mle-reviewer folded into pr-reviewer's mle lens; this entry also covers that checklist section, attributed to the same caveman upstream as the rest of the reviewer contracts."
|
|
300
|
+
|
|
301
|
+
- path: agents/python-reviewer.md
|
|
302
|
+
source: caveman
|
|
303
|
+
upstream_path: agents/cavecrew-reviewer.md
|
|
304
|
+
upstream_sha256: "e302fce4e8012b25031427fb076ced3c79b03438c8e0f01cb6fb10f1f5857086"
|
|
305
|
+
commit: "367fdb7f"
|
|
306
|
+
license: MIT
|
|
307
|
+
rewritten: true
|
|
308
|
+
note: "Only the <output_contract> derives from upstream (one line per finding path:line: severity: problem. fix., file order, totals line, clean marker); P0/P1/P2 replace the emoji tiers and the lenses/checklists are ours (P1.6)."
|
|
309
|
+
|
|
310
|
+
- path: agents/database-reviewer.md
|
|
311
|
+
source: caveman
|
|
312
|
+
upstream_path: agents/cavecrew-reviewer.md
|
|
313
|
+
upstream_sha256: "e302fce4e8012b25031427fb076ced3c79b03438c8e0f01cb6fb10f1f5857086"
|
|
314
|
+
commit: "367fdb7f"
|
|
315
|
+
license: MIT
|
|
316
|
+
rewritten: true
|
|
317
|
+
note: "Only the <output_contract> derives from upstream (one line per finding path:line: severity: problem. fix., file order, totals line, clean marker); P0/P1/P2 replace the emoji tiers and the lenses/checklists are ours (P1.6)."
|
|
318
|
+
|
|
319
|
+
- path: agents/security-reviewer.md
|
|
320
|
+
source: caveman
|
|
321
|
+
upstream_path: agents/cavecrew-reviewer.md
|
|
322
|
+
upstream_sha256: "e302fce4e8012b25031427fb076ced3c79b03438c8e0f01cb6fb10f1f5857086"
|
|
323
|
+
commit: "367fdb7f"
|
|
324
|
+
license: MIT
|
|
325
|
+
rewritten: true
|
|
326
|
+
note: "Only the <output_contract> derives from upstream (one line per finding path:line: severity: problem. fix., file order, totals line, clean marker); P0/P1/P2 replace the emoji tiers and the lenses/checklists are ours (P1.6)."
|
|
327
|
+
|
|
328
|
+
- path: agents/python-reviewer.md
|
|
329
|
+
source: deepseek-harness
|
|
330
|
+
upstream_path: docs/defensive-patterns.md
|
|
331
|
+
upstream_sha256: "919d27a033c655ea6187496872caa4aa9babf08d87179562ca23545301108bb1"
|
|
332
|
+
commit: "d347e703"
|
|
333
|
+
license: MIT
|
|
334
|
+
rewritten: true
|
|
335
|
+
note: "<checklist_defensive_patterns>: orthogonal outcomes, async state, quiescent teardown, contained callbacks, scrubbed subprocess environment; error = code + next action from the structured-error note (P1.6, P1.7)."
|
|
336
|
+
|
|
337
|
+
- path: agents/security-reviewer.md
|
|
338
|
+
source: deepseek-harness
|
|
339
|
+
upstream_path: docs/defensive-patterns.md
|
|
340
|
+
upstream_sha256: "919d27a033c655ea6187496872caa4aa9babf08d87179562ca23545301108bb1"
|
|
341
|
+
commit: "d347e703"
|
|
342
|
+
license: MIT
|
|
343
|
+
rewritten: true
|
|
344
|
+
note: "<checklist_defensive_patterns>: scrubbed environment, private temp paths, link-shaped path removal, safe error text, independent outcomes (P1.6)."
|
|
345
|
+
|
|
346
|
+
- path: skills/agentic-architecture/reference/reliability-observability.md
|
|
347
|
+
source: deepseek-harness
|
|
348
|
+
upstream_path: docs/defensive-patterns.md
|
|
349
|
+
upstream_sha256: "919d27a033c655ea6187496872caa4aa9babf08d87179562ca23545301108bb1"
|
|
350
|
+
commit: "d347e703"
|
|
351
|
+
license: MIT
|
|
352
|
+
rewritten: true
|
|
353
|
+
note: "Only the 'Error contract: code + next action' section derives from upstream (orthogonal outcomes, async state, boundary normalization) plus the structured-error taxonomy note; the rest of the reference predates the harvest (P1.7)."
|
|
354
|
+
|
|
355
|
+
- path: skills/verification-before-completion/SKILL.md
|
|
356
|
+
source: deepseek-harness
|
|
357
|
+
upstream_path: packages/goal/goal-round-driver/src/prompt.ts
|
|
358
|
+
upstream_sha256: "48410d77077e88053cded777736a425534e91b36402ab46dc151ea9867a3db97"
|
|
359
|
+
commit: "d347e703"
|
|
360
|
+
license: MIT
|
|
361
|
+
rewritten: true
|
|
362
|
+
note: "<grounding> authoritative-state, evidence-before-completion and three-round blocked lines derive from the goal-round prompt (P1.9)."
|
|
363
|
+
|
|
364
|
+
- path: skills/verification-before-completion/SKILL.md
|
|
365
|
+
source: deepseek-harness
|
|
366
|
+
upstream_path: docs/postmortem/0003-web-agent-gui-feedback-loop.md
|
|
367
|
+
upstream_sha256: "b3127e3b387e95dc167a85edb5a2c97f73a3b1029fb81f3dfad16709d5586b0a"
|
|
368
|
+
commit: "d347e703"
|
|
369
|
+
license: MIT
|
|
370
|
+
rewritten: true
|
|
371
|
+
note: "Acceptance names the exact origin; replacement service, build success and bare HTTP 200 prove nothing; the port 3081 rationalization row and eval fixture (P1.9, P1.15)."
|
|
372
|
+
|
|
373
|
+
- path: skills/verification-before-completion/SKILL.md
|
|
374
|
+
source: superpowers
|
|
375
|
+
upstream_path: skills/verification-before-completion/SKILL.md
|
|
376
|
+
upstream_sha256: "2befe7fc55bcadaa3d97dd9e8efeb633d2561c0ebe74c5a8b17c4d9e7e4520b3"
|
|
377
|
+
commit: "b36e0829"
|
|
378
|
+
license: MIT
|
|
379
|
+
rewritten: true
|
|
380
|
+
note: "Rationalization table shape (claim, why not evidence, what counts) and the gate-then-claim order; rows and stop conditions are ours (P1.9)."
|
|
381
|
+
|
|
382
|
+
- path: skills/subagent-driven-development/SKILL.md
|
|
383
|
+
source: superpowers
|
|
384
|
+
upstream_path: skills/subagent-driven-development/SKILL.md
|
|
385
|
+
upstream_sha256: "8dd1b8e698edec3700c6d89517dbe96febd3bacd3f6ea21c1a3569c62ea104b5"
|
|
386
|
+
commit: "b36e0829"
|
|
387
|
+
license: MIT
|
|
388
|
+
rewritten: true
|
|
389
|
+
note: "File-based briefs and review packages, explicit tier per dispatch, one combined task reviewer, final branch review, no finding suppression, batching of same-shape tasks, no nested subagents, 5-round breaker with rulings, the four stop classes; re-expressed on .freeharness/sdd/<change>/ and the OpenSpec change id as Spec pointer (P1.8)."
|
|
390
|
+
|
|
391
|
+
- path: skills/subagent-driven-development/SKILL.md
|
|
392
|
+
source: deepseek-harness
|
|
393
|
+
upstream_path: packages/experimental/tool-agent-team/src/index.ts
|
|
394
|
+
upstream_sha256: "dc3030fe8ee7c5262e5d4bd435fdf2499b0687138487336b81639c7a88c7d180"
|
|
395
|
+
commit: "d347e703"
|
|
396
|
+
license: MIT
|
|
397
|
+
rewritten: true
|
|
398
|
+
note: "Team lessons from the collaboration policy: disjoint write scopes, the lead reviews the final diff and runs the tests, a member's success report is not acceptance; the JSON handoff with completed|partial|blocked and a labeled partial output is ours (P1.8)."
|
|
399
|
+
|
|
400
|
+
- path: skills/subagent-driven-development/SKILL.md
|
|
401
|
+
source: caveman
|
|
402
|
+
upstream_path: skills/cavecrew/SKILL.md
|
|
403
|
+
upstream_sha256: "c05f8e8d16bd8ae1c8d0b0abf6e8b9671051bde61653c4986304c2de3a1cf5d4"
|
|
404
|
+
commit: "367fdb7f"
|
|
405
|
+
license: MIT
|
|
406
|
+
rewritten: true
|
|
407
|
+
note: "Work-pattern stop tokens as terminal first tokens (too-big, needs-confirm, ambiguous, regressed) in the handoff blocked_reason (P1.8)."
|
|
408
|
+
|
|
409
|
+
- path: skills/subagent-driven-development/reference/handoff.md
|
|
410
|
+
source: caveman
|
|
411
|
+
upstream_path: skills/cavecrew/SKILL.md
|
|
412
|
+
upstream_sha256: "c05f8e8d16bd8ae1c8d0b0abf6e8b9671051bde61653c4986304c2de3a1cf5d4"
|
|
413
|
+
commit: "367fdb7f"
|
|
414
|
+
license: MIT
|
|
415
|
+
rewritten: true
|
|
416
|
+
note: "Stop-condition tokens only; the schema and the lead-evaluation section are ours (P1.8)."
|
|
417
|
+
|
|
418
|
+
- path: skills/subagent-driven-development/reference/brief.md
|
|
419
|
+
source: superpowers
|
|
420
|
+
upstream_path: skills/subagent-driven-development/SKILL.md
|
|
421
|
+
upstream_sha256: "8dd1b8e698edec3700c6d89517dbe96febd3bacd3f6ea21c1a3569c62ea104b5"
|
|
422
|
+
commit: "b36e0829"
|
|
423
|
+
license: MIT
|
|
424
|
+
rewritten: true
|
|
425
|
+
note: "Brief as the single source of requirements, report path named after the brief, batching rule; header lines and the write scope are ours (P1.8)."
|
|
426
|
+
|
|
427
|
+
- path: skills/test-driven-development/reference/writing-good-tests.md
|
|
428
|
+
source: superpowers
|
|
429
|
+
upstream_path: skills/test-driven-development/writing-good-tests.md
|
|
430
|
+
upstream_sha256: "51471c853306ff92ca8bb41dcaea05f31c0e46b03651f8f3c99754b7172f4ae1"
|
|
431
|
+
commit: "b36e0829"
|
|
432
|
+
license: MIT
|
|
433
|
+
rewritten: true
|
|
434
|
+
note: "Falsifiability, independent expectations, string-presence and change-detector traps, mock discipline, the mutation check; condensed to six rules with our content-test exception (P1.10)."
|
|
435
|
+
|
|
436
|
+
- path: skills/test-driven-development/SKILL.md
|
|
437
|
+
source: superpowers
|
|
438
|
+
upstream_path: skills/test-driven-development/writing-good-tests.md
|
|
439
|
+
upstream_sha256: "51471c853306ff92ca8bb41dcaea05f31c0e46b03651f8f3c99754b7172f4ae1"
|
|
440
|
+
commit: "b36e0829"
|
|
441
|
+
license: MIT
|
|
442
|
+
rewritten: true
|
|
443
|
+
note: "<reference> pointer and the five-row rationalization table (P1.10)."
|
|
444
|
+
|
|
445
|
+
- path: skills/systematic-debugging/SKILL.md
|
|
446
|
+
source: superpowers
|
|
447
|
+
upstream_path: skills/systematic-debugging/SKILL.md
|
|
448
|
+
upstream_sha256: "808fc5717aa88ad65efff312b11c186294d3e6ee301afb584e2f86599b137787"
|
|
449
|
+
commit: "b36e0829"
|
|
450
|
+
license: MIT
|
|
451
|
+
rewritten: true
|
|
452
|
+
note: "Stop conditions (three failed hypotheses question the architecture, scope growth, no reproduction) and the trigger check; phases predate the harvest (P1.10)."
|
|
453
|
+
|
|
454
|
+
- path: rules/safety.md
|
|
455
|
+
source: ecc
|
|
456
|
+
upstream_path: skills/safety-guard/SKILL.md
|
|
457
|
+
upstream_sha256: "9247b4a05dde847b93d28997477fd3be53dfed967a6279f5d0fc9fab104528ee"
|
|
458
|
+
commit: "68e926bf"
|
|
459
|
+
license: MIT
|
|
460
|
+
rewritten: true
|
|
461
|
+
note: "Invariants 6-8 (destructive command patterns, credential file globs, network egress review) extend the careful-mode watch list; no hook, freeze mode or log shipped (P1.12)."
|
|
462
|
+
|
|
463
|
+
- path: skills/git-workflow/SKILL.md
|
|
464
|
+
source: superpowers
|
|
465
|
+
upstream_path: skills/using-git-worktrees/SKILL.md
|
|
466
|
+
upstream_sha256: "8cfb86f121269e8f7f12361e6795c4f6738828340e28964c9229d365666c9edd"
|
|
467
|
+
commit: "b36e0829"
|
|
468
|
+
license: MIT
|
|
469
|
+
rewritten: true
|
|
470
|
+
note: "<worktrees>: in-project .worktrees/ verified ignored before creation; the never-delete-dirty and never-discard lines are ours (P1.12)."
|
|
471
|
+
|
|
472
|
+
- path: skills/git-workflow/SKILL.md
|
|
473
|
+
source: pi
|
|
474
|
+
upstream_path: AGENTS.md
|
|
475
|
+
upstream_sha256: "9aa976721907c0e705333516969abe57163c8ac1895e920883380367a86af12e"
|
|
476
|
+
commit: "4cc339f5"
|
|
477
|
+
license: MIT
|
|
478
|
+
rewritten: true
|
|
479
|
+
note: "<worktrees>: never move the worktree to another branch or PR unless asked, inspect PRs against fetched refs, resolve rebase conflicts only in files this branch modified (P1.12)."
|
|
480
|
+
|
|
481
|
+
- path: hooks/freeharness-output-pruner.mjs
|
|
482
|
+
source: pi
|
|
483
|
+
upstream_path: packages/coding-agent/src/core/tools/truncate.ts
|
|
484
|
+
upstream_sha256: "104e61ea602c7f7894097b2771dad8c68de75c5a10ea6222e615c4ad144451c7"
|
|
485
|
+
commit: "4cc339f5"
|
|
486
|
+
license: MIT
|
|
487
|
+
rewritten: true
|
|
488
|
+
note: "Dual byte/line limit, whole lines only, size formatting in the marker; the PostToolUse updatedToolOutput mechanism, the disk copy, the failure-block grammars and the cost-log record are ours (P2.1)."
|
|
489
|
+
|
|
490
|
+
- path: hooks/hooks.output-pruner.claude-code.json
|
|
491
|
+
source: pi
|
|
492
|
+
upstream_path: packages/coding-agent/src/core/tools/truncate.ts
|
|
493
|
+
upstream_sha256: "104e61ea602c7f7894097b2771dad8c68de75c5a10ea6222e615c4ad144451c7"
|
|
494
|
+
commit: "4cc339f5"
|
|
495
|
+
license: MIT
|
|
496
|
+
rewritten: true
|
|
497
|
+
note: "Only the 8 KB / 200-line defaults derive from the dual-limit idea; the fragment shape is our settings.json merge (P2.1)."
|
|
498
|
+
|
|
499
|
+
- path: hooks/freeharness-output-pruner.mjs
|
|
500
|
+
source: deepseek-harness
|
|
501
|
+
upstream_path: packages/compaction/compaction-tool-result-pruner/src/index.ts
|
|
502
|
+
upstream_sha256: "f39bfdd135c9d22c82c426c276eda1d467035c316bb88e7b76145bfec0a1dd25"
|
|
503
|
+
commit: "d347e703"
|
|
504
|
+
license: MIT
|
|
505
|
+
rewritten: true
|
|
506
|
+
note: "Head + marker + tail replacement of an over-budget tool result and the spill of the full text to a session-scoped file (dsh-spill's saveText contract) are the shape; the line-based budget, the protected failure blocks and the hook wiring are ours (P2.1)."
|
|
507
|
+
|
|
508
|
+
- path: hooks/freeharness-repeat-tool.mjs
|
|
509
|
+
source: deepseek-harness
|
|
510
|
+
upstream_path: packages/guard/repeat-tool-reminder/src/index.ts
|
|
511
|
+
upstream_sha256: "5cd612ff3b24eef3febb1b8b4ac6b76b0f431de3def509a9a7021ec2d51d9363"
|
|
512
|
+
commit: "d347e703"
|
|
513
|
+
license: MIT
|
|
514
|
+
rewritten: true
|
|
515
|
+
note: "Deep key-sort canonicalization, the 3/5/8 escalation (gentle then detailed with a capped argument preview), denied calls counted, user prompt resets, fail-loud threshold validation; the per-session ring file, the sha256 key, the stderr-and-defaults fallback and the PreToolUse/UserPromptSubmit wiring are ours (P2.4)."
|
|
516
|
+
|
|
517
|
+
- path: hooks/hooks.repeat-tool.claude-code.json
|
|
518
|
+
source: deepseek-harness
|
|
519
|
+
upstream_path: packages/guard/repeat-tool-reminder/src/index.ts
|
|
520
|
+
upstream_sha256: "5cd612ff3b24eef3febb1b8b4ac6b76b0f431de3def509a9a7021ec2d51d9363"
|
|
521
|
+
commit: "d347e703"
|
|
522
|
+
license: MIT
|
|
523
|
+
rewritten: true
|
|
524
|
+
note: "Only the default thresholds and preview cap derive from upstream's Config defaults (P2.4)."
|
|
525
|
+
|
|
526
|
+
- path: hooks/freeharness-session-start
|
|
527
|
+
source: deepseek-harness
|
|
528
|
+
upstream_path: packages/compaction/compaction-basic/src/summarizer.ts
|
|
529
|
+
upstream_sha256: "3589f95a1b63d882d3907752d369c641a1f473b49e538a071f8a3604dda9789c"
|
|
530
|
+
commit: "d347e703"
|
|
531
|
+
license: MIT
|
|
532
|
+
rewritten: true
|
|
533
|
+
note: "The fixed checkpoint section list (Primary Request, Files and Code, Errors and Fixes, Pending Jobs, Current Work, Next Step, Critical Context; Corrections is ours), '(none)' for empty sections and the verbatim-identifiers rule; the SessionStart(compact|resume) re-injection, the active change, dogfood tail and file-operation list are ours (P2.5)."
|
|
534
|
+
|
|
535
|
+
- path: hooks/hooks.claude-code.json
|
|
536
|
+
source: deepseek-harness
|
|
537
|
+
upstream_path: packages/compaction/compaction-basic/src/summarizer.ts
|
|
538
|
+
upstream_sha256: "3589f95a1b63d882d3907752d369c641a1f473b49e538a071f8a3604dda9789c"
|
|
539
|
+
commit: "d347e703"
|
|
540
|
+
license: MIT
|
|
541
|
+
rewritten: true
|
|
542
|
+
note: "The fragment only widens the SessionStart matcher to compact|resume|fork so the checkpoint re-injection fires (P2.5)."
|
|
543
|
+
|
|
544
|
+
- path: rules/project-CLAUDE.template.md
|
|
545
|
+
source: deepseek-harness
|
|
546
|
+
upstream_path: packages/compaction/compaction-basic/src/summarizer.ts
|
|
547
|
+
upstream_sha256: "3589f95a1b63d882d3907752d369c641a1f473b49e538a071f8a3604dda9789c"
|
|
548
|
+
commit: "d347e703"
|
|
549
|
+
license: MIT
|
|
550
|
+
rewritten: true
|
|
551
|
+
note: "The `# Compact instructions` block names what a checkpoint keeps verbatim (paths, error strings, identifiers, the next step), the summarizer's preservation rule; the template itself predates the harvest (P2.5)."
|
|
552
|
+
|
|
553
|
+
- path: hooks/freeharness-config-guard.mjs
|
|
554
|
+
source: ecc
|
|
555
|
+
upstream_path: scripts/hooks/config-protection.js
|
|
556
|
+
upstream_sha256: "04e6c0fbe1f3e9ef1dcfe3c015464838ad9045571efa443259e46bfaa1da4ea3"
|
|
557
|
+
commit: "e04ea0b9"
|
|
558
|
+
license: MIT
|
|
559
|
+
rewritten: true
|
|
560
|
+
note: "PreToolUse deny on a protected-file list read from tool_input.file_path; our list is the harness configuration (settings, .mcp.json, hooks, CLAUDE.md), the TTL allow marker, the Bash write-construct rule and the JSON permissionDecision are ours (P2.3)."
|
|
561
|
+
|
|
562
|
+
- path: hooks/hooks.config-guard.claude-code.json
|
|
563
|
+
source: ecc
|
|
564
|
+
upstream_path: scripts/hooks/config-protection.js
|
|
565
|
+
upstream_sha256: "04e6c0fbe1f3e9ef1dcfe3c015464838ad9045571efa443259e46bfaa1da4ea3"
|
|
566
|
+
commit: "e04ea0b9"
|
|
567
|
+
license: MIT
|
|
568
|
+
rewritten: true
|
|
569
|
+
note: "Matcher and deny shape only; the 30-minute TTL flag is ours (P2.3)."
|
|
570
|
+
|
|
571
|
+
- path: hooks/freeharness-context-monitor.mjs
|
|
572
|
+
source: ecc
|
|
573
|
+
upstream_path: scripts/hooks/suggest-compact.js
|
|
574
|
+
upstream_sha256: "e031a96b7d05b689a457eb4c2c02dd8e1171cd5e68633f30b60a3f0f6ce4471a"
|
|
575
|
+
commit: "e04ea0b9"
|
|
576
|
+
license: MIT
|
|
577
|
+
rewritten: true
|
|
578
|
+
note: "Context-size signal from the latest assistant usage and a per-session state file so a reminder fires once per bucket; our thresholds are 60/85% of a budget read from the cost snapshot, delivered as a Stop systemMessage (P2.2)."
|
|
579
|
+
|
|
580
|
+
- path: hooks/hooks.context-monitor.claude-code.json
|
|
581
|
+
source: ecc
|
|
582
|
+
upstream_path: scripts/hooks/suggest-compact.js
|
|
583
|
+
upstream_sha256: "e031a96b7d05b689a457eb4c2c02dd8e1171cd5e68633f30b60a3f0f6ce4471a"
|
|
584
|
+
commit: "e04ea0b9"
|
|
585
|
+
license: MIT
|
|
586
|
+
rewritten: true
|
|
587
|
+
note: "Stop registration with the budget/threshold flags; upstream runs on PreToolUse (P2.2)."
|
|
588
|
+
|
|
589
|
+
- path: openspec/templates/design.md
|
|
590
|
+
source: deepseek-harness
|
|
591
|
+
upstream_path: .agents/notes/README.md
|
|
592
|
+
upstream_sha256: "722a3ed38f137a08121bdd807c1841d7d6bd142ed5bce8033123c7a9247ffd75"
|
|
593
|
+
commit: "d347e703"
|
|
594
|
+
license: MIT
|
|
595
|
+
rewritten: true
|
|
596
|
+
note: "Agent Notes loop: the Consequences (cost and bought) section after Decisions, the recorded-not-invented alternatives line and the Supersedes: link; the template itself predates the harvest (P4.3)."
|
|
597
|
+
|
|
598
|
+
- path: openspec/schema.spec-driven.yaml
|
|
599
|
+
source: deepseek-harness
|
|
600
|
+
upstream_path: .agents/notes/AGENTS.md
|
|
601
|
+
upstream_sha256: "1c1b4a6d771ed1a7b0e4fd83776dd0cfb0567f4e89f2c7b3bc8b61b73e9a01d2"
|
|
602
|
+
commit: "d347e703"
|
|
603
|
+
license: MIT
|
|
604
|
+
rewritten: true
|
|
605
|
+
note: "Design instruction: per-decision cost and bought lines, alternatives recorded from what was considered, the Supersedes: convention; proposal instruction: the supersession check over openspec/specs and openspec/changes/archive (P4.3, P4.4)."
|
|
606
|
+
|
|
607
|
+
- path: packages/sdd/vendor/openspec/generation/templates/workflows/propose.ts
|
|
608
|
+
source: openspec
|
|
609
|
+
upstream_path: src/core/templates/workflows/propose.ts
|
|
610
|
+
upstream_sha256: "21cafd6eb89936b02d510e46ca3250d9a7e1c7b4eae32fd2ebd7b2a8563626cd"
|
|
611
|
+
commit: "e062b957"
|
|
612
|
+
license: MIT
|
|
613
|
+
rewritten: true
|
|
614
|
+
note: "Upstream 1.12 inspect-before-drafting step (#1737) ported verbatim; the supersession-check step is ours (dsh Agent Notes loop, P4.2/P4.4). The /opsx:propose skill is generated from this module."
|
|
615
|
+
|
|
616
|
+
- path: packages/sdd/vendor/openspec/generation/templates/workflows/archive-change.ts
|
|
617
|
+
source: openspec
|
|
618
|
+
upstream_path: src/core/templates/workflows/archive-change.ts
|
|
619
|
+
upstream_sha256: "6dfb4c6ba31698935bc1090051271e83c26b75b3940bb0604ae690f85ad17044"
|
|
620
|
+
commit: "e062b957"
|
|
621
|
+
license: MIT
|
|
622
|
+
rewritten: true
|
|
623
|
+
note: "Upstream template plus our supersession check before the archive step (Supersedes: link, reverse link, in-place edit refusal) (P4.4)."
|
|
624
|
+
|
|
625
|
+
- path: packages/sdd/vendor/openspec/generation/templates/workflows/explore.ts
|
|
626
|
+
source: openspec
|
|
627
|
+
upstream_path: src/core/templates/workflows/explore.ts
|
|
628
|
+
upstream_sha256: "82ec21c11241b58002998702336201748db62511f09786f2a8fe7e04dd8899f0"
|
|
629
|
+
commit: "e062b957"
|
|
630
|
+
license: MIT
|
|
631
|
+
rewritten: true
|
|
632
|
+
note: "Upstream 1.12 explore confirmation before the first write, dependency-ordered single discovery questions and ASCII-only diagrams (#1716/#1017/#1010) ported as the upstream diff; header note ours (P4.2)."
|
|
633
|
+
|
|
634
|
+
- path: packages/sdd/vendor/openspec/generation/templates/workflows/ff-change.ts
|
|
635
|
+
source: openspec
|
|
636
|
+
upstream_path: src/core/templates/workflows/ff-change.ts
|
|
637
|
+
upstream_sha256: "de0c3b1b28ed7289adea2bf58f1a179528218f22dcf7e895765bc726727710f0"
|
|
638
|
+
commit: "e062b957"
|
|
639
|
+
license: MIT
|
|
640
|
+
rewritten: true
|
|
641
|
+
note: "Upstream 1.12 inspect-before-drafting step (#1737) ported as the upstream diff; header note ours (P4.2)."
|
|
642
|
+
|
|
643
|
+
- path: openspec/templates/proposal.md
|
|
644
|
+
source: openspec
|
|
645
|
+
upstream_path: schemas/spec-driven/templates/proposal.md
|
|
646
|
+
upstream_sha256: "ea0879a322bb1a3c6e3002c67b5a29e31120dcb17219e3000d43775f48481284"
|
|
647
|
+
commit: "e062b957"
|
|
648
|
+
license: MIT
|
|
649
|
+
rewritten: true
|
|
650
|
+
note: "Override template (predates the port); the scope/depth dial line (AI-DLC) is ours (P4.5)."
|
|
651
|
+
|
|
652
|
+
- path: openspec/templates/tasks.md
|
|
653
|
+
source: openspec
|
|
654
|
+
upstream_path: schemas/spec-driven/templates/tasks.md
|
|
655
|
+
upstream_sha256: "b2a6a4c08c15f347a1d8c3e2d43e0c8fb066dc5cc0feb795f47555f176f9c421"
|
|
656
|
+
commit: "e062b957"
|
|
657
|
+
license: MIT
|
|
658
|
+
rewritten: true
|
|
659
|
+
note: "Per-task verification wording (#1660) from upstream; the Global Constraints block and the Verify/Interfaces/Boundary/Depends lines are ours (P4.2, P4.5)."
|
|
660
|
+
|
|
661
|
+
- path: packages/sdd/vendor/openspec/validation/validator.ts
|
|
662
|
+
source: openspec
|
|
663
|
+
upstream_path: src/core/validation/validator.ts
|
|
664
|
+
upstream_sha256: "cfbecc2e8b6b9386d22bac75dba01ac75bfc2e606521640335833ae520e10c27"
|
|
665
|
+
commit: "e062b957"
|
|
666
|
+
license: MIT
|
|
667
|
+
rewritten: true
|
|
668
|
+
note: "Purpose-placeholder warning (#1671) and findArchiveBlockers INFO pass (#1710) ported into the trimmed vendored Validator (P4.1)."
|
|
669
|
+
|
|
670
|
+
- path: packages/sdd/vendor/openspec/validation/purpose-placeholder.ts
|
|
671
|
+
source: openspec
|
|
672
|
+
upstream_path: src/core/validation/purpose-placeholder.ts
|
|
673
|
+
upstream_sha256: "b9ab338ab62adf261336a577c54ead115773e5b413bc97b8fa5c22b1164846e0"
|
|
674
|
+
commit: "e062b957"
|
|
675
|
+
license: MIT
|
|
676
|
+
rewritten: true
|
|
677
|
+
note: "Verbatim except the code-fence import path (P4.1)."
|
|
678
|
+
|
|
679
|
+
- path: packages/sdd/vendor/openspec/apply/specs-apply.ts
|
|
680
|
+
source: openspec
|
|
681
|
+
upstream_path: src/core/specs-apply.ts
|
|
682
|
+
upstream_sha256: "e2c296f31166e7b201941a3c1945085c19dc382a7671184660bb94791538fd3d"
|
|
683
|
+
commit: "e062b957"
|
|
684
|
+
license: MIT
|
|
685
|
+
rewritten: true
|
|
686
|
+
note: "RENAMED keeps its position (#1712), ENOENT/ENOTDIR guard (#1710), placeholder constants (#1671) ported; chalk dropped, import paths rebased (P4.1)."
|
|
687
|
+
|
|
688
|
+
- path: packages/sdd/src/shim/archive.ts
|
|
689
|
+
source: openspec
|
|
690
|
+
upstream_path: src/core/archive.ts
|
|
691
|
+
upstream_sha256: "a38c46f05f9a1d04787b7118e29d880dc1158b6ed38649d8cdd1b0921c9b2a94"
|
|
692
|
+
commit: "e062b957"
|
|
693
|
+
license: MIT
|
|
694
|
+
rewritten: true
|
|
695
|
+
note: "Store-free archive orchestration; blockers gate (unchecked tasks + validator INFO, refused without --yes) and the Supersedes: convention are ours (P4.1, P4.4)."
|
|
696
|
+
|
|
697
|
+
- path: packages/sdd/src/shim/context.ts
|
|
698
|
+
source: openspec
|
|
699
|
+
upstream_path: src/core/planning-home.ts
|
|
700
|
+
upstream_sha256: "637754bd0eb56e7e861402bd155115ef4a5e4281289183af3f4f0c077d71e676"
|
|
701
|
+
commit: "e062b957"
|
|
702
|
+
license: MIT
|
|
703
|
+
rewritten: true
|
|
704
|
+
note: "planningHome stub { kind: local, root, changesDir, defaultSchema } in context/status/instructions/new-change --json (#1703 shape, no store) (P4.1)."
|
|
705
|
+
|
|
706
|
+
- path: packages/sdd/src/shim/new-change.ts
|
|
707
|
+
source: openspec
|
|
708
|
+
upstream_path: src/core/planning-home.ts
|
|
709
|
+
upstream_sha256: "637754bd0eb56e7e861402bd155115ef4a5e4281289183af3f4f0c077d71e676"
|
|
710
|
+
commit: "e062b957"
|
|
711
|
+
license: MIT
|
|
712
|
+
rewritten: true
|
|
713
|
+
note: "planningHome stub + changeRoot in the new-change --json payload (P4.1)."
|
|
714
|
+
|
|
715
|
+
- path: packages/sdd/PROVENANCE.yaml
|
|
716
|
+
source: openspec
|
|
717
|
+
upstream_path: schemas/spec-driven/schema.yaml
|
|
718
|
+
upstream_sha256: "8a71d362e3ee54b5c978578ac226266bc86cb9fcb9a21fd1dcaa67807862e327"
|
|
719
|
+
commit: "e062b957"
|
|
720
|
+
license: MIT
|
|
721
|
+
rewritten: true
|
|
722
|
+
note: "Baseline bumped to e062b957 / 1.12.0 by `sync adopt sdd` (tracked assets adopted verbatim: assets/schema.upstream.yaml, assets/skills) plus the V4-P4 port list (P4.7)."
|
|
723
|
+
|
|
724
|
+
- path: hooks/freeharness-converge.mjs
|
|
725
|
+
source: claude-code
|
|
726
|
+
upstream_path: plugins/ralph-wiggum/hooks/stop-hook.sh
|
|
727
|
+
upstream_sha256: "c8760febc22ed5e2dd322df277647b7d8fb094a41d590d59236a5a6264c7c9bc"
|
|
728
|
+
commit: "b3f0e50"
|
|
729
|
+
license: "Apache-2.0 (plugin, per design.md; fork LICENSE.md: Anthropic Commercial Terms; shape only)"
|
|
730
|
+
rewritten: true
|
|
731
|
+
note: "Stop-hook loop shape only: block with a reason until a completion condition, bounded rounds. Ours: tasks.md unchecked tasks as the criterion, the Verify line in the reason, .freeharness/converge.json opt-in, converge.log, self-disable on a malformed tasks.md (P4.6)."
|
|
732
|
+
|
|
733
|
+
- path: hooks/hooks.converge.claude-code.json
|
|
734
|
+
source: claude-code
|
|
735
|
+
upstream_path: plugins/ralph-wiggum/hooks/hooks.json
|
|
736
|
+
upstream_sha256: "01180e972a5f6b5c8fa0edcd352ab79b4f8490718fe9c2faac9bfa738f3caa21"
|
|
737
|
+
commit: "b3f0e50"
|
|
738
|
+
license: Apache-2.0 (plugin, per design.md; shape only)
|
|
739
|
+
rewritten: true
|
|
740
|
+
note: "Stop registration; the command path and the opt-in file are ours (P4.6)."
|