harnessed 4.3.0 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cli.mjs +62 -27
- package/dist/cli.mjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/workflows/capabilities.yaml +8 -0
- package/workflows/disciplines/doc-discipline.yaml +49 -0
package/dist/index.mjs
CHANGED
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";AAAA,IAAA,eAAA,GAAA;AAAA,EAEE,OAAA,EAAW,OAgGb,CAAA;;;AC7FO,IAAM,UAAU,eAAA,CAAI","file":"index.mjs","sourcesContent":["{\n \"name\": \"harnessed\",\n \"version\": \"4.
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";AAAA,IAAA,eAAA,GAAA;AAAA,EAEE,OAAA,EAAW,OAgGb,CAAA;;;AC7FO,IAAM,UAAU,eAAA,CAAI","file":"index.mjs","sourcesContent":["{\n \"name\": \"harnessed\",\n \"version\": \"4.4.0\",\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 \"messages\",\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"]}
|
package/package.json
CHANGED
|
@@ -574,6 +574,14 @@ capabilities:
|
|
|
574
574
|
description: cc-handoff Ideation→Onboarding + Plan→Execute + file-ownership-strict 跨 CC instance 协议
|
|
575
575
|
discipline_ref: workflows/disciplines/protocols.yaml
|
|
576
576
|
|
|
577
|
+
doc-discipline:
|
|
578
|
+
impl: harnessed-bundled
|
|
579
|
+
cmd: '<not-applicable-behavioral>'
|
|
580
|
+
since: v6.0
|
|
581
|
+
category: behavioral
|
|
582
|
+
description: STATE digest <100L halt + one-fact-per-file + overview-pointer-no-inline-narrative + transient-archive + status-from-artifacts + responsibility-one-home (6 rules)
|
|
583
|
+
discipline_ref: workflows/disciplines/doc-discipline.yaml
|
|
584
|
+
|
|
577
585
|
# ============================================================================
|
|
578
586
|
# Bucket 7 — gstack 33 optional registry-only (D-12 NEW v3)
|
|
579
587
|
# ============================================================================
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# workflows/disciplines/doc-discipline.yaml
|
|
2
|
+
# 文档纪律 — bundled discipline (STATE digest line-limit + one-fact-per-file +
|
|
3
|
+
# overview-pointer-no-inline-narrative + transient-consume-then-archive +
|
|
4
|
+
# status-derived-from-artifacts + responsibility-matrix-one-home)
|
|
5
|
+
# Phase v6.0 T11.1 — 7th L0 Discipline Substrate per D-09
|
|
6
|
+
# Codifies CLAUDE.md 文档纪律 section (三层渐进式结构 + 反腐防膨胀铁律)
|
|
7
|
+
|
|
8
|
+
schema_version: harnessed.discipline.v1
|
|
9
|
+
discipline: doc
|
|
10
|
+
enforcement_layer: commit
|
|
11
|
+
auto_enforce: true
|
|
12
|
+
|
|
13
|
+
rules:
|
|
14
|
+
- id: state-digest-line-limit
|
|
15
|
+
description: STATE.md >100 lines triggers halt; override via `HARNESSED_ALLOW_LONG_STATE=1`
|
|
16
|
+
enforcement: halt
|
|
17
|
+
trigger: "phase.type == 'commit' AND changed_files contains '.planning/STATE.md'"
|
|
18
|
+
check_method: external-cmd
|
|
19
|
+
# No auto_fix_cmd — halt rules do not auto-fix; override is env-based in TS
|
|
20
|
+
|
|
21
|
+
- id: one-fact-per-file
|
|
22
|
+
description: Decision docs must be single-topic; duplicate fact spread across files violates one-fact-per-file
|
|
23
|
+
enforcement: warn
|
|
24
|
+
trigger: "phase.type == 'commit' AND changed_files matches '\\.planning/'"
|
|
25
|
+
check_method: heuristic
|
|
26
|
+
|
|
27
|
+
- id: overview-pointer-no-inline-narrative
|
|
28
|
+
description: ROADMAP/overview docs must not inline closing narrative (叙事进 SUMMARY, not ROADMAP)
|
|
29
|
+
enforcement: warn
|
|
30
|
+
trigger: "phase.type == 'commit' AND changed_files matches 'ROADMAP\\.md|STATE\\.md'"
|
|
31
|
+
check_method: heuristic
|
|
32
|
+
|
|
33
|
+
- id: transient-consume-then-archive
|
|
34
|
+
description: HANDOFF and other transient artifacts must be archived after consumption, not accumulated at .planning/ root
|
|
35
|
+
enforcement: warn
|
|
36
|
+
trigger: "phase.type == 'commit' AND changed_files matches 'HANDOFF'"
|
|
37
|
+
check_method: heuristic
|
|
38
|
+
|
|
39
|
+
- id: status-derived-from-artifacts
|
|
40
|
+
description: Phase status must derive from VERIFICATION artifacts + test results, not hand-maintained booleans in STATE/ROADMAP
|
|
41
|
+
enforcement: warn
|
|
42
|
+
trigger: "phase.type == 'commit' AND changed_files contains '.planning/STATE.md'"
|
|
43
|
+
check_method: heuristic
|
|
44
|
+
|
|
45
|
+
- id: responsibility-matrix-one-home
|
|
46
|
+
description: Each fact has exactly one home per responsibility matrix (decision→ADR, requirement→REQUIREMENTS, etc.); cross-file duplication is a violation
|
|
47
|
+
enforcement: info
|
|
48
|
+
trigger: "phase.type == 'commit' AND changed_files matches '\\.planning/'"
|
|
49
|
+
check_method: heuristic
|