harnessed 3.9.7 → 3.9.8

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/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  // package.json
2
2
  var package_default = {
3
- version: "3.9.7"};
3
+ version: "3.9.8"};
4
4
 
5
5
  // src/index.ts
6
6
  var VERSION = package_default.version;
@@ -1 +1 @@
1
- {"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";AAAA,IAAA,eAAA,GAAA;AAAA,EAEE,OAAA,EAAW,OA+Fb,CAAA;;;AC5FO,IAAM,UAAU,eAAA,CAAI","file":"index.mjs","sourcesContent":["{\n \"name\": \"harnessed\",\n \"version\": \"3.9.7\",\n \"description\": \"AI coding harness package manager + composition orchestrator\",\n \"type\": \"module\",\n \"license\": \"Apache-2.0\",\n \"author\": \"easyinplay\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/easyinplay/harnessed.git\"\n },\n \"homepage\": \"https://github.com/easyinplay/harnessed#readme\",\n \"bugs\": \"https://github.com/easyinplay/harnessed/issues\",\n \"keywords\": [\n \"claude-code\",\n \"ai-harness\",\n \"package-manager\",\n \"composition\",\n \"skill-pack\",\n \"mcp\",\n \"orchestrator\"\n ],\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"packageManager\": \"pnpm@10.12.0\",\n \"bin\": {\n \"harnessed\": \"./dist/cli.mjs\"\n },\n \"main\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"default\": \"./dist/index.mjs\"\n },\n \"./schemas\": {\n \"types\": \"./dist/schemas/index.d.ts\",\n \"import\": \"./dist/schemas/index.mjs\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"files\": [\n \"dist\",\n \"manifests\",\n \"workflows\",\n \"routing\",\n \"config-templates\",\n \"schemas\",\n \"README.md\",\n \"LICENSE\",\n \"NOTICE\",\n \"THIRD-PARTY-NOTICES.md\"\n ],\n \"scripts\": {\n \"dev\": \"tsup --watch\",\n \"build\": \"tsc --noEmit && tsup\",\n \"build:schema\": \"node ./scripts/build-schema.mjs\",\n \"validate:schema\": \"node ./scripts/validate-schema.mjs\",\n \"typecheck\": \"tsc --noEmit\",\n \"test\": \"vitest run --passWithNoTests\",\n \"test:watch\": \"vitest\",\n \"test:coverage\": \"vitest run --coverage --passWithNoTests\",\n \"bench\": \"vitest bench --run\",\n \"lint\": \"biome check .\",\n \"lint:fix\": \"biome check --write .\",\n \"format\": \"biome format --write .\"\n },\n \"dependencies\": {\n \"@anthropic-ai/claude-agent-sdk\": \"0.3.142\",\n \"@clack/prompts\": \"^0.10.1\",\n \"@sinclair/typebox\": \"^0.34.49\",\n \"ajv\": \"^8.20.0\",\n \"ajv-errors\": \"^3.0.0\",\n \"ajv-formats\": \"^3.0.1\",\n \"commander\": \"^13.0.0\",\n \"diff\": \"^9.0.0\",\n \"expr-eval\": \"^2.0.2\",\n \"picocolors\": \"^1.1.1\",\n \"proper-lockfile\": \"^4.1.2\",\n \"yaml\": \"^2.9.0\"\n },\n \"devDependencies\": {\n \"@biomejs/biome\": \"^2.0.0\",\n \"@types/node\": \"^22.10.0\",\n \"@types/proper-lockfile\": \"^4.1.4\",\n \"@vitest/coverage-v8\": \"^4.0.0\",\n \"tsup\": \"^8.3.0\",\n \"typescript\": \"^5.6.0\",\n \"vitest\": \"^4.0.0\"\n },\n \"pnpm\": {\n \"onlyBuiltDependencies\": [\n \"esbuild\"\n ]\n }\n}\n","// Main library entry — re-exports public APIs.\n// phase 1.1 batch 1: skeleton only; schema validator wired in batch 2 (T3+).\n\nimport pkg from '../package.json' with { type: 'json' }\n\nexport const VERSION = pkg.version\n"]}
1
+ {"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";AAAA,IAAA,eAAA,GAAA;AAAA,EAEE,OAAA,EAAW,OA+Fb,CAAA;;;AC5FO,IAAM,UAAU,eAAA,CAAI","file":"index.mjs","sourcesContent":["{\n \"name\": \"harnessed\",\n \"version\": \"3.9.8\",\n \"description\": \"AI coding harness package manager + composition orchestrator\",\n \"type\": \"module\",\n \"license\": \"Apache-2.0\",\n \"author\": \"easyinplay\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/easyinplay/harnessed.git\"\n },\n \"homepage\": \"https://github.com/easyinplay/harnessed#readme\",\n \"bugs\": \"https://github.com/easyinplay/harnessed/issues\",\n \"keywords\": [\n \"claude-code\",\n \"ai-harness\",\n \"package-manager\",\n \"composition\",\n \"skill-pack\",\n \"mcp\",\n \"orchestrator\"\n ],\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"packageManager\": \"pnpm@10.12.0\",\n \"bin\": {\n \"harnessed\": \"./dist/cli.mjs\"\n },\n \"main\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"default\": \"./dist/index.mjs\"\n },\n \"./schemas\": {\n \"types\": \"./dist/schemas/index.d.ts\",\n \"import\": \"./dist/schemas/index.mjs\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"files\": [\n \"dist\",\n \"manifests\",\n \"workflows\",\n \"routing\",\n \"config-templates\",\n \"schemas\",\n \"README.md\",\n \"LICENSE\",\n \"NOTICE\",\n \"THIRD-PARTY-NOTICES.md\"\n ],\n \"scripts\": {\n \"dev\": \"tsup --watch\",\n \"build\": \"tsc --noEmit && tsup\",\n \"build:schema\": \"node ./scripts/build-schema.mjs\",\n \"validate:schema\": \"node ./scripts/validate-schema.mjs\",\n \"typecheck\": \"tsc --noEmit\",\n \"test\": \"vitest run --passWithNoTests\",\n \"test:watch\": \"vitest\",\n \"test:coverage\": \"vitest run --coverage --passWithNoTests\",\n \"bench\": \"vitest bench --run\",\n \"lint\": \"biome check .\",\n \"lint:fix\": \"biome check --write .\",\n \"format\": \"biome format --write .\"\n },\n \"dependencies\": {\n \"@anthropic-ai/claude-agent-sdk\": \"0.3.142\",\n \"@clack/prompts\": \"^0.10.1\",\n \"@sinclair/typebox\": \"^0.34.49\",\n \"ajv\": \"^8.20.0\",\n \"ajv-errors\": \"^3.0.0\",\n \"ajv-formats\": \"^3.0.1\",\n \"commander\": \"^13.0.0\",\n \"diff\": \"^9.0.0\",\n \"expr-eval\": \"^2.0.2\",\n \"picocolors\": \"^1.1.1\",\n \"proper-lockfile\": \"^4.1.2\",\n \"yaml\": \"^2.9.0\"\n },\n \"devDependencies\": {\n \"@biomejs/biome\": \"^2.0.0\",\n \"@types/node\": \"^22.10.0\",\n \"@types/proper-lockfile\": \"^4.1.4\",\n \"@vitest/coverage-v8\": \"^4.0.0\",\n \"tsup\": \"^8.3.0\",\n \"typescript\": \"^5.6.0\",\n \"vitest\": \"^4.0.0\"\n },\n \"pnpm\": {\n \"onlyBuiltDependencies\": [\n \"esbuild\"\n ]\n }\n}\n","// Main library entry — re-exports public APIs.\n// phase 1.1 batch 1: skeleton only; schema validator wired in batch 2 (T3+).\n\nimport pkg from '../package.json' with { type: 'json' }\n\nexport const VERSION = pkg.version\n"]}
@@ -1,4 +1,13 @@
1
1
  # yaml-language-server: $schema=../../schemas/manifest.v1.schema.json
2
+ #
3
+ # v3.9.8 — install method changed from `git-clone-with-setup` (broken: cmd was
4
+ # a local `cp -R` migration script that didn't match the installer's required
5
+ # `git clone <url> <dest>` cmd shape, causing Step B to fail every run) to
6
+ # `cc-plugin-marketplace` matching the actual user install path (`claude
7
+ # plugin install andrej-karpathy-skills@karpathy-skills`). The plugin is
8
+ # distributed via forrestchang/andrej-karpathy-skills marketplace; the
9
+ # pre-v3.9.8 yaml intended local-copy from harnessed repo but never worked
10
+ # headlessly.
2
11
  apiVersion: harnessed/v1
3
12
  kind: Manifest
4
13
  metadata:
@@ -11,51 +20,30 @@ metadata:
11
20
  repository: https://github.com/forrestchang/andrej-karpathy-skills.git
12
21
  license: MIT
13
22
  notice: |
14
- rules attributed to Andrej Karpathy; distilled to ~/.claude/skills/karpathy-baseline/SKILL.md
15
- from source-of-truth skills/karpathy-baseline/SKILL.md in this repository. D-02 SKILL-ONLY
16
- injection — CLAUDE.md untouched (replaces prior CLAUDE.md sed-injection path).
23
+ Andrej Karpathy heuristics distilled into a Claude Code plugin by
24
+ forrestchang. Distributed via the karpathy-skills marketplace.
17
25
  spec:
18
- type: cc-skill-pack
26
+ type: cc-plugin
19
27
  component_type: command
20
28
  category: meta
21
- # Phase 2.3 W6 DI-1 hotfix — install_type: git (not skill) per ADR 0007 1:N
22
- # closure (skill ∈ {cc-plugin-marketplace, npx-skill-installer}; git ∈ {git-clone-with-setup}).
23
- # Semantic: karpathy-baseline IS a skill in nature (placed at ~/.claude/skills/),
24
- # but its install method is local-copy from a git-origin upstream (forrestchang/
25
- # andrej-karpathy-skills) — install_type tracks the install method semantics
26
- # (file-system shape), not the runtime artifact placement.
27
- install_type: git
29
+ install_type: skill
28
30
  install:
29
- # Phase 2.3 W6 DI-1 hotfix — git_ref schema pin (Phase 1.1.1 hotfix M1 GIT_REF_PATTERN
30
- # requires 7-40 hex SHA or SemVer tag; "HEAD" is rejected by the manifest schema).
31
- # NOTE: cmd uses local `cp -R skills/karpathy-baseline ~/.claude/skills/` —
32
- # git_ref is semantically UNUSED by this local-copy install path. The all-zeros
33
- # SHA below is a 40-hex schema-compliant placeholder. The canonical upstream
34
- # this SKILL.md derives from is forrestchang/andrej-karpathy-skills (see
35
- # metadata.upstream.repository) — pin to a real SHA when the local-copy path
36
- # is migrated to a true `git clone` install method (deferred to v0.2.4+).
37
- method: git-clone-with-setup
38
- cmd: |
39
- if [ -f ~/.claude/CLAUDE.md ]; then
40
- node scripts/strip-claude-md-section.mjs "<!-- karpathy-skills:start -->" "<!-- karpathy-skills:end -->" ~/.claude/CLAUDE.md \
41
- && echo "[migration] cleaned legacy karpathy-skills CLAUDE.md block (D-02 SKILL-ONLY transition; cross-platform via node script)"
42
- fi
43
- mkdir -p ~/.claude/skills
44
- cp -R skills/karpathy-baseline ~/.claude/skills/
45
- git_ref: "0000000000000000000000000000000000000000"
46
- idempotent_check: "test -f ~/.claude/skills/karpathy-baseline/SKILL.md"
31
+ method: cc-plugin-marketplace
32
+ cmd: "claude plugin marketplace add forrestchang/andrej-karpathy-skills && claude plugin install andrej-karpathy-skills@karpathy-skills"
33
+ git_ref: fb8fdb0aa74ccf587d2b666da7160e0d0eb94e6a
34
+ idempotent_check: "claude plugin list 2>&1 | grep -q andrej-karpathy-skills"
35
+ marketplace_source:
36
+ source: github
37
+ repo: forrestchang/andrej-karpathy-skills
47
38
  verify:
48
- cmd: "test -f ~/.claude/skills/karpathy-baseline/SKILL.md"
49
- timeout_ms: 5000
50
- expected_exit_code: 0
39
+ cmd: "claude plugin list 2>&1 | grep -q andrej-karpathy-skills"
40
+ timeout_ms: 10000
51
41
  uninstall:
52
- cmd: "rm -rf ~/.claude/skills/karpathy-baseline"
53
- cleanup_paths:
54
- - ~/.claude/skills/karpathy-baseline
42
+ cmd: "claude plugin uninstall andrej-karpathy-skills@karpathy-skills"
55
43
  upstream_health:
56
44
  stability: stable
57
- last_check: "2026-05-16"
58
- last_known_good_version: skill-only-v1
45
+ last_check: "2026-05-26"
46
+ last_known_good_version: 1.0.0
59
47
  fallback_action: warn
60
48
  signed_by: easyinplay
61
49
  platforms:
@@ -18,8 +18,10 @@ spec:
18
18
  install_type: skill
19
19
  install:
20
20
  method: npx-skill-installer
21
- cmd: "npx --yes skills@latest add mattpocock/skills"
22
- npm_version: ^1.0.0
21
+ # v3.9.8 pinned skills@1.5.7 per ADR 0001 reproducibility (was @latest;
22
+ # npxSkillInstaller rejects @latest for cross-install determinism).
23
+ cmd: "npx --yes skills@1.5.7 add mattpocock/skills"
24
+ npm_version: ^1.5.7
23
25
  idempotent_check: "test -d ~/.claude/skills/mattpocock-skills"
24
26
  verify:
25
27
  cmd: "test -f ~/.claude/skills/mattpocock-skills/diagnose.md"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "harnessed",
3
- "version": "3.9.7",
3
+ "version": "3.9.8",
4
4
  "description": "AI coding harness package manager + composition orchestrator",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",