@harness-forge/cli 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/recursive-structured-analysis/SKILL.md +26 -0
- package/.agents/skills/recursive-structured-analysis/agents/openai.yaml +3 -0
- package/AGENTS.md +6 -0
- package/CHANGELOG.md +3 -0
- package/README.md +22 -2
- package/dist/application/install/agent-manifest.d.ts +9 -0
- package/dist/application/install/agent-manifest.d.ts.map +1 -1
- package/dist/application/install/agent-manifest.js +42 -1
- package/dist/application/install/agent-manifest.js.map +1 -1
- package/dist/application/install/apply-install.d.ts +1 -1
- package/dist/application/install/apply-install.d.ts.map +1 -1
- package/dist/application/install/apply-install.js +5 -5
- package/dist/application/install/apply-install.js.map +1 -1
- package/dist/application/install/generate-guidance.d.ts.map +1 -1
- package/dist/application/install/generate-guidance.js +1 -0
- package/dist/application/install/generate-guidance.js.map +1 -1
- package/dist/application/install/refresh-workspace-runtime.js +1 -1
- package/dist/application/install/refresh-workspace-runtime.js.map +1 -1
- package/dist/application/install/shared-runtime.d.ts +1 -1
- package/dist/application/install/shared-runtime.d.ts.map +1 -1
- package/dist/application/install/shared-runtime.js +11 -5
- package/dist/application/install/shared-runtime.js.map +1 -1
- package/dist/application/install/update-workspace.d.ts +21 -0
- package/dist/application/install/update-workspace.d.ts.map +1 -0
- package/dist/application/install/update-workspace.js +132 -0
- package/dist/application/install/update-workspace.js.map +1 -0
- package/dist/application/recursive/derive-language-capabilities.d.ts +4 -0
- package/dist/application/recursive/derive-language-capabilities.d.ts.map +1 -0
- package/dist/application/recursive/derive-language-capabilities.js +182 -0
- package/dist/application/recursive/derive-language-capabilities.js.map +1 -0
- package/dist/application/recursive/plan-task.d.ts.map +1 -1
- package/dist/application/recursive/plan-task.js +30 -1
- package/dist/application/recursive/plan-task.js.map +1 -1
- package/dist/application/recursive/run-structured-analysis.d.ts +17 -0
- package/dist/application/recursive/run-structured-analysis.d.ts.map +1 -0
- package/dist/application/recursive/run-structured-analysis.js +261 -0
- package/dist/application/recursive/run-structured-analysis.js.map +1 -0
- package/dist/application/runtime/command-catalog.d.ts +16 -0
- package/dist/application/runtime/command-catalog.d.ts.map +1 -1
- package/dist/application/runtime/command-catalog.js +155 -48
- package/dist/application/runtime/command-catalog.js.map +1 -1
- package/dist/cli/commands/maintenance.d.ts.map +1 -1
- package/dist/cli/commands/maintenance.js +20 -15
- package/dist/cli/commands/maintenance.js.map +1 -1
- package/dist/cli/commands/recursive.d.ts.map +1 -1
- package/dist/cli/commands/recursive.js +103 -1
- package/dist/cli/commands/recursive.js.map +1 -1
- package/dist/domain/recursive/adr-candidate.d.ts +2 -2
- package/dist/domain/recursive/asr.d.ts +2 -2
- package/dist/domain/recursive/execution-policy.d.ts +57 -0
- package/dist/domain/recursive/execution-policy.d.ts.map +1 -0
- package/dist/domain/recursive/execution-policy.js +26 -0
- package/dist/domain/recursive/execution-policy.js.map +1 -0
- package/dist/domain/recursive/language-capabilities.d.ts +95 -0
- package/dist/domain/recursive/language-capabilities.d.ts.map +1 -0
- package/dist/domain/recursive/language-capabilities.js +24 -0
- package/dist/domain/recursive/language-capabilities.js.map +1 -0
- package/dist/domain/recursive/structured-run-result.d.ts +34 -0
- package/dist/domain/recursive/structured-run-result.d.ts.map +1 -0
- package/dist/domain/recursive/structured-run-result.js +16 -0
- package/dist/domain/recursive/structured-run-result.js.map +1 -0
- package/dist/domain/recursive/structured-run.d.ts +51 -0
- package/dist/domain/recursive/structured-run.d.ts.map +1 -0
- package/dist/domain/recursive/structured-run.js +30 -0
- package/dist/domain/recursive/structured-run.js.map +1 -0
- package/dist/domain/recursive/template-registry.d.ts +12 -12
- package/dist/domain/runtime/decision-record.d.ts +4 -4
- package/dist/domain/runtime/task-pack.d.ts +2 -2
- package/dist/domain/runtime/template-registry.d.ts +6 -6
- package/dist/domain/state/install-state.d.ts +1 -1
- package/dist/domain/state/install-state.d.ts.map +1 -1
- package/dist/infrastructure/recursive/session-store.d.ts +28 -0
- package/dist/infrastructure/recursive/session-store.d.ts.map +1 -1
- package/dist/infrastructure/recursive/session-store.js +96 -3
- package/dist/infrastructure/recursive/session-store.js.map +1 -1
- package/dist/shared/constants.d.ts +10 -0
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +10 -0
- package/dist/shared/constants.js.map +1 -1
- package/docs/agents.md +13 -0
- package/docs/commands.md +33 -3
- package/docs/generated-artifacts.md +13 -0
- package/docs/install/targets.md +3 -0
- package/docs/installation.md +9 -0
- package/docs/maintenance-lifecycle.md +8 -3
- package/docs/quickstart.md +5 -2
- package/docs/release-process.md +2 -0
- package/docs/target-support-matrix.md +7 -4
- package/manifests/catalog/capability-taxonomy.json +6 -0
- package/manifests/catalog/compatibility-matrix.json +103 -1
- package/manifests/catalog/flow-artifacts.json +40 -0
- package/manifests/catalog/harness-capability-matrix.json +61 -1
- package/manifests/catalog/package-surface.json +8 -0
- package/manifests/targets/core.json +8 -4
- package/package.json +1 -1
- package/schemas/runtime/recursive-execution-policy.schema.json +47 -0
- package/schemas/runtime/recursive-language-capabilities.schema.json +46 -0
- package/schemas/runtime/recursive-run-meta.schema.json +28 -0
- package/schemas/runtime/recursive-run-result.schema.json +36 -0
- package/scripts/ci/release-smoke.mjs +4 -0
- package/scripts/ci/smoke-runner.mjs +12 -0
- package/scripts/ci/validate-doc-command-alignment.mjs +19 -2
- package/scripts/ci/validate-manifest-runtime-consistency.mjs +12 -1
- package/scripts/ci/validate-packed-install-surface.mjs +14 -0
- package/skills/recursive-structured-analysis/SKILL.md +48 -0
- package/targets/claude-code/adapter.json +3 -2
- package/targets/codex/adapter.json +3 -2
- package/targets/cursor/adapter.json +3 -2
- package/targets/opencode/adapter.json +3 -2
package/docs/agents.md
CHANGED
|
@@ -14,6 +14,9 @@ AI content into the hidden `.hforge/` layer.
|
|
|
14
14
|
- `.hforge/library/rules/` and `.hforge/library/knowledge/` for hidden installed rule and knowledge surfaces
|
|
15
15
|
- `.hforge/runtime/recursive/sessions/` for optional hard-task recursive
|
|
16
16
|
sessions that stay hidden alongside the rest of the AI layer
|
|
17
|
+
- `.hforge/runtime/recursive/language-capabilities.json` for the canonical
|
|
18
|
+
recursive structured-analysis capability map before deeper recursive
|
|
19
|
+
investigation begins
|
|
17
20
|
- `docs/authoring/enhanced-skill-import.md` for curated research and validation provenance behind imported skill upgrades
|
|
18
21
|
- `RESEARCH-SOURCES.md` and `VALIDATION.md` for optional pack-level provenance detail
|
|
19
22
|
|
|
@@ -29,6 +32,8 @@ AI content into the hidden `.hforge/` layer.
|
|
|
29
32
|
- when the application repo should stay clean and treat AI-only content as a hidden support layer
|
|
30
33
|
- when a task is multi-hop, ambiguous, or architecture-heavy enough to justify
|
|
31
34
|
an explicit recursive session instead of growing the prompt
|
|
35
|
+
- when a recursive session needs one bounded structured analysis step with a
|
|
36
|
+
durable run record instead of chat-only reasoning
|
|
32
37
|
|
|
33
38
|
## Discovery rule
|
|
34
39
|
|
|
@@ -39,6 +44,14 @@ AI content into the hidden `.hforge/` layer.
|
|
|
39
44
|
- in installed workspaces, recursive runtime state lives under
|
|
40
45
|
`.hforge/runtime/recursive/sessions/<sessionId>/` and should be treated as
|
|
41
46
|
hidden operational state rather than product code
|
|
47
|
+
- use recursive structured analysis as the promoted execution surface for
|
|
48
|
+
recursive investigation, and treat the REPL as optional rather than
|
|
49
|
+
authoritative
|
|
50
|
+
- treat `.hforge/runtime/recursive/language-capabilities.json` as the honest
|
|
51
|
+
recursive support contract before claiming a language has deep or native
|
|
52
|
+
structured-analysis support
|
|
53
|
+
- treat Cursor and OpenCode recursive promotion as translated shared-runtime
|
|
54
|
+
guidance, not native parity with Codex or Claude Code
|
|
42
55
|
- for custom agents that do not want to parse prose only, load
|
|
43
56
|
`.hforge/agent-manifest.json` first and treat every surface it marks
|
|
44
57
|
`treatAsProductCode: false` as AI-layer content rather than application code
|
package/docs/commands.md
CHANGED
|
@@ -23,6 +23,7 @@ maintenance commands through the `hforge` CLI.
|
|
|
23
23
|
- `shell setup` and `shell status` for optional PATH integration without forcing a global npm install
|
|
24
24
|
- `status` for current workspace state
|
|
25
25
|
- `refresh` for shared runtime regeneration after install or maintenance work
|
|
26
|
+
- `update` and `upgrade` for non-destructive package refresh from the latest published Harness Forge version while preserving gathered runtime state
|
|
26
27
|
- `task` for task-runtime inspection
|
|
27
28
|
- `pack` for task-pack inspection
|
|
28
29
|
- `review` for runtime and decision-health summaries
|
|
@@ -36,9 +37,11 @@ maintenance commands through the `hforge` CLI.
|
|
|
36
37
|
Cursor, and OpenCode support inspection
|
|
37
38
|
- `template validate` and `template suggest` for template and workflow flows
|
|
38
39
|
- `flow status` for recoverable Speckit state
|
|
39
|
-
- `recursive plan`, `recursive
|
|
40
|
-
`recursive
|
|
41
|
-
recursive
|
|
40
|
+
- `recursive plan`, `recursive capabilities`, `recursive run`,
|
|
41
|
+
`recursive runs`, `recursive inspect-run`, `recursive inspect`,
|
|
42
|
+
`recursive adr`, `recursive resume`, `recursive finalize`,
|
|
43
|
+
`recursive compact`, and `recursive repl` for optional recursive-runtime
|
|
44
|
+
operation on difficult work
|
|
42
45
|
- `observability summarize` and `observability report` for local metrics and
|
|
43
46
|
effectiveness review
|
|
44
47
|
- `parallel plan`, `parallel status`, and `parallel merge-check` for shard
|
|
@@ -53,6 +56,12 @@ maintenance commands through the `hforge` CLI.
|
|
|
53
56
|
Use bare `hforge` after `shell setup`, after a global install, or by replacing
|
|
54
57
|
it with the workspace-local launcher under `.hforge/generated/bin/`.
|
|
55
58
|
|
|
59
|
+
For agents inside an installed workspace, the safest execution order is:
|
|
60
|
+
|
|
61
|
+
1. `.hforge/generated/bin/hforge.cmd` or `.ps1` on Windows, or `./.hforge/generated/bin/hforge` on POSIX
|
|
62
|
+
2. bare `hforge`
|
|
63
|
+
3. `npx @harness-forge/cli`
|
|
64
|
+
|
|
56
65
|
```bash
|
|
57
66
|
npx @harness-forge/cli
|
|
58
67
|
npx @harness-forge/cli shell setup --yes
|
|
@@ -63,6 +72,8 @@ hforge shell status --json
|
|
|
63
72
|
hforge init --root . --json
|
|
64
73
|
hforge bootstrap --root . --yes
|
|
65
74
|
hforge refresh --root . --json
|
|
75
|
+
hforge update --root . --dry-run --yes
|
|
76
|
+
hforge update --root . --yes
|
|
66
77
|
hforge task list --root . --json
|
|
67
78
|
hforge task inspect TASK-001 --root . --json
|
|
68
79
|
hforge pack inspect TASK-001 --root . --json
|
|
@@ -81,6 +92,10 @@ hforge template validate --json
|
|
|
81
92
|
hforge template suggest bugfix
|
|
82
93
|
hforge flow status --json
|
|
83
94
|
hforge recursive plan "investigate billing retry behavior" --task-id TASK-001 --json
|
|
95
|
+
hforge recursive capabilities --root . --json
|
|
96
|
+
hforge recursive run RS-123 --file analyze-billing.mjs --json
|
|
97
|
+
hforge recursive runs RS-123 --json
|
|
98
|
+
hforge recursive inspect-run RS-123 RUN-001 --json
|
|
84
99
|
hforge recursive inspect RS-123 --json
|
|
85
100
|
hforge observability summarize --json
|
|
86
101
|
hforge observability report . --json
|
|
@@ -95,6 +110,12 @@ hforge upgrade-surface --json
|
|
|
95
110
|
hforge prune --json
|
|
96
111
|
```
|
|
97
112
|
|
|
113
|
+
The `update` and `upgrade` commands download the requested published package
|
|
114
|
+
version or dist-tag, reapply managed surfaces, write an install-state backup
|
|
115
|
+
under `.hforge/state/`, and intentionally preserve gathered runtime state such
|
|
116
|
+
as task artifacts, decision records, recursive sessions, and observability
|
|
117
|
+
signals.
|
|
118
|
+
|
|
98
119
|
## Maintainer source-checkout examples
|
|
99
120
|
|
|
100
121
|
When developing Harness Forge itself from a source checkout, the equivalent
|
|
@@ -177,6 +198,10 @@ hforge parallel merge-check --json
|
|
|
177
198
|
|
|
178
199
|
```bash
|
|
179
200
|
hforge recursive plan "investigate billing retry behavior across the route and service" --task-id TASK-001 --json
|
|
201
|
+
hforge recursive capabilities --root . --json
|
|
202
|
+
hforge recursive run RS-123 --file analyze-billing.mjs --json
|
|
203
|
+
hforge recursive runs RS-123 --json
|
|
204
|
+
hforge recursive inspect-run RS-123 RUN-001 --json
|
|
180
205
|
hforge recursive inspect RS-123 --json
|
|
181
206
|
hforge recursive compact RS-123 --json
|
|
182
207
|
hforge recursive finalize RS-123 --json
|
|
@@ -187,6 +212,11 @@ The `recursive plan` entrypoint writes a durable draft session under
|
|
|
187
212
|
budget policy, the seeded handles, and the current promotion state, and leaves
|
|
188
213
|
ordinary non-recursive task/runtime flows untouched.
|
|
189
214
|
|
|
215
|
+
The promoted recursive structured-analysis path uses
|
|
216
|
+
`.hforge/runtime/recursive/language-capabilities.json` as the canonical
|
|
217
|
+
workspace capability map and records run artifacts under
|
|
218
|
+
`.hforge/runtime/recursive/sessions/<sessionId>/runs/`.
|
|
219
|
+
|
|
190
220
|
### Inspect the hidden runtime after initialization
|
|
191
221
|
|
|
192
222
|
```bash
|
|
@@ -85,8 +85,19 @@ explicit and recoverable.
|
|
|
85
85
|
template registry for task-time artifacts
|
|
86
86
|
- `.hforge/runtime/recursive/sessions/RS-XXX/session.json` is the durable draft
|
|
87
87
|
or active recursive session identity, budget, handles, and tool surface
|
|
88
|
+
- `.hforge/runtime/recursive/language-capabilities.json` is the canonical
|
|
89
|
+
recursive structured-analysis capability map for language adapter depth,
|
|
90
|
+
degraded states, and native-execution posture
|
|
91
|
+
- `.hforge/runtime/recursive/sessions/RS-XXX/execution-policy.json` is the
|
|
92
|
+
session-scoped structured-execution posture for recursive analysis runs
|
|
93
|
+
- `.hforge/runtime/recursive/sessions/RS-XXX/capabilities.json` is the
|
|
94
|
+
session-visible recursive capability snapshot used by structured runs
|
|
88
95
|
- `.hforge/runtime/recursive/sessions/RS-XXX/memory.json` is compact
|
|
89
96
|
recursive-session working memory for the current investigation
|
|
97
|
+
- `.hforge/runtime/recursive/sessions/RS-XXX/runs/RUN-XXX/meta.json` is the
|
|
98
|
+
durable metadata record for one structured recursive analysis run
|
|
99
|
+
- `.hforge/runtime/recursive/sessions/RS-XXX/runs/RUN-XXX/result.json` is the
|
|
100
|
+
machine-readable result for one structured recursive analysis run
|
|
90
101
|
- `.hforge/runtime/recursive/sessions/RS-XXX/trace.jsonl` is append-only
|
|
91
102
|
recursive trace output for operator auditability
|
|
92
103
|
- `.hforge/runtime/recursive/sessions/RS-XXX/summary.json` is the deterministic
|
|
@@ -94,6 +105,8 @@ explicit and recoverable.
|
|
|
94
105
|
- `.specify/state/flow-state.json` is runtime state, not an authored source
|
|
95
106
|
- `.hforge/state/install-state.json` is generated install-state and runtime-version metadata, not authored product content
|
|
96
107
|
- `.hforge/state/post-install-guidance.txt` is generated operator guidance for init, install, and recovery flows
|
|
108
|
+
- `.hforge/state/update-backup-*.json` is the pre-update install-state snapshot
|
|
109
|
+
written before a non-destructive `hforge update` or `hforge upgrade` apply run
|
|
97
110
|
|
|
98
111
|
## Artifact lineage rules
|
|
99
112
|
|
package/docs/install/targets.md
CHANGED
|
@@ -17,6 +17,7 @@ The runtime now hydrates baseline repo-intelligence artifacts during bootstrap:
|
|
|
17
17
|
- `.hforge/runtime/repo/recommendations.json`
|
|
18
18
|
- `.hforge/runtime/repo/instruction-plan.json`
|
|
19
19
|
- `.hforge/runtime/findings/risk-signals.json`
|
|
20
|
+
- `.hforge/runtime/recursive/language-capabilities.json`
|
|
20
21
|
|
|
21
22
|
Canonical target support truth lives in
|
|
22
23
|
`manifests/catalog/harness-capability-matrix.json`.
|
|
@@ -27,3 +28,5 @@ Use it when you need to answer:
|
|
|
27
28
|
- what fallback behavior degraded support requires
|
|
28
29
|
- whether a support claim is still aligned with the generated
|
|
29
30
|
`docs/target-support-matrix.md` surface
|
|
31
|
+
- whether recursive structured analysis is promoted natively or only through
|
|
32
|
+
translated shared-runtime guidance for the selected target
|
package/docs/installation.md
CHANGED
|
@@ -47,8 +47,15 @@ After install changes, use:
|
|
|
47
47
|
|
|
48
48
|
```bash
|
|
49
49
|
hforge refresh --root /path/to/your/workspace --json
|
|
50
|
+
hforge update --root /path/to/your/workspace --dry-run --yes
|
|
51
|
+
hforge update --root /path/to/your/workspace --yes
|
|
50
52
|
```
|
|
51
53
|
|
|
54
|
+
The non-destructive updater downloads the requested published Harness Forge
|
|
55
|
+
version or dist-tag, reapplies managed surfaces, writes an install-state backup
|
|
56
|
+
under `.hforge/state/`, and preserves gathered runtime state such as task
|
|
57
|
+
artifacts, decision records, recursive sessions, and observability outputs.
|
|
58
|
+
|
|
52
59
|
Every successful install also writes a shared runtime summary under
|
|
53
60
|
`.hforge/runtime/` and materializes the canonical hidden AI layer under
|
|
54
61
|
`.hforge/library/` and `.hforge/templates/`:
|
|
@@ -76,6 +83,8 @@ Every successful install also writes a shared runtime summary under
|
|
|
76
83
|
- `.hforge/runtime/recursive/sessions/RS-XXX/session.json` appears only when an
|
|
77
84
|
operator explicitly escalates hard work into recursive mode and records the
|
|
78
85
|
durable draft session, budget, handles, and promotion state
|
|
86
|
+
- `.hforge/runtime/recursive/language-capabilities.json` records the canonical
|
|
87
|
+
recursive structured-analysis capability truth for the workspace
|
|
79
88
|
|
|
80
89
|
## Shell integration vs global install
|
|
81
90
|
|
|
@@ -14,6 +14,7 @@ Harness Forge maintenance should answer three questions quickly:
|
|
|
14
14
|
| `audit` | detailed install-state summary |
|
|
15
15
|
| `diff-install` | compare recorded managed files against what still exists |
|
|
16
16
|
| `refresh` | rewrite shared runtime summaries and baseline repo-intelligence artifacts |
|
|
17
|
+
| `update` / `upgrade` | download the requested published Harness Forge version and reapply managed surfaces while preserving gathered runtime state |
|
|
17
18
|
| `sync` | normalize duplicated install-state entries |
|
|
18
19
|
| `upgrade-surface` | explain how to refresh an older install safely |
|
|
19
20
|
| `prune` | identify duplicate recorded writes before cleanup |
|
|
@@ -24,9 +25,10 @@ Harness Forge maintenance should answer three questions quickly:
|
|
|
24
25
|
1. run `doctor` to spot obvious drift
|
|
25
26
|
2. run `audit` for the full install-state summary
|
|
26
27
|
3. use `refresh` when installed targets are correct but shared runtime summaries drifted
|
|
27
|
-
4. use `
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
4. use `update --dry-run --yes` to preview a non-destructive package refresh when you want newer managed content
|
|
29
|
+
5. use `diff-install` and `sync` to understand state mismatch
|
|
30
|
+
6. use `upgrade-surface` before refreshing an older install if you only need guidance
|
|
31
|
+
7. use `prune` only after reviewing the candidates
|
|
30
32
|
|
|
31
33
|
## Example commands
|
|
32
34
|
|
|
@@ -34,6 +36,8 @@ Harness Forge maintenance should answer three questions quickly:
|
|
|
34
36
|
hforge doctor --json
|
|
35
37
|
hforge audit --json
|
|
36
38
|
hforge refresh --root . --json
|
|
39
|
+
hforge update --root . --dry-run --yes
|
|
40
|
+
hforge update --root . --yes
|
|
37
41
|
hforge diff-install --json
|
|
38
42
|
hforge sync --json
|
|
39
43
|
hforge upgrade-surface --json
|
|
@@ -44,6 +48,7 @@ hforge prune --json
|
|
|
44
48
|
|
|
45
49
|
- maintenance commands should be diagnostic first and destructive second
|
|
46
50
|
- drift should point to concrete files or bundle ids
|
|
51
|
+
- update should preserve gathered runtime state such as task artifacts, decision indexes, recursive sessions, and observability signals
|
|
47
52
|
- upgrade guidance should tell the operator what to rerun next
|
|
48
53
|
- prune should never remove state silently without explicit opt-in
|
|
49
54
|
- refresh should be safe to rerun and should not require reinstalling bundles just to regenerate runtime summaries
|
package/docs/quickstart.md
CHANGED
|
@@ -8,6 +8,8 @@ npx @harness-forge/cli init --root . --agent codex --dry-run
|
|
|
8
8
|
npx @harness-forge/cli bootstrap --root .
|
|
9
9
|
npx @harness-forge/cli init --root . --json
|
|
10
10
|
hforge commands --json
|
|
11
|
+
hforge recursive capabilities --root . --json
|
|
12
|
+
hforge update --root . --dry-run --yes
|
|
11
13
|
npm run validate:release
|
|
12
14
|
```
|
|
13
15
|
|
|
@@ -37,5 +39,6 @@ npm run validate:release
|
|
|
37
39
|
6. choose a target (`claude-code` or `codex`)
|
|
38
40
|
7. preview the install plan for the language and capability bundles you need
|
|
39
41
|
8. inspect an existing repository with `recommend` when the right pack is not obvious
|
|
40
|
-
9. use `refresh`, `task`, `pack`, `review`, and `
|
|
41
|
-
10. use
|
|
42
|
+
9. use `refresh`, `task`, `pack`, `review`, `export`, and `recursive capabilities` to inspect the hidden runtime once work is in flight
|
|
43
|
+
10. use `update --dry-run --yes` before refreshing to the latest published Harness Forge package in place
|
|
44
|
+
11. use `.specify/` and the promoted skills for real work
|
package/docs/release-process.md
CHANGED
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
- `npm run validate:doc-command-alignment`
|
|
17
17
|
- `npm run validate:runtime-consistency`
|
|
18
18
|
- `npm run validate:release`
|
|
19
|
+
- confirm recursive structured-analysis docs and generated-artifact surfaces stay aligned
|
|
20
|
+
- confirm `hforge update --root <repo> --dry-run --yes` still previews a safe non-destructive refresh path
|
|
19
21
|
|
|
20
22
|
## Publish posture
|
|
21
23
|
|
|
@@ -24,10 +24,10 @@ cross-surface relationships.
|
|
|
24
24
|
|
|
25
25
|
| Target | Overall support | Strengths | Gaps |
|
|
26
26
|
| --- | --- | --- | --- |
|
|
27
|
-
| `codex` | full | Templates and docs, Workflow validation, Repo intelligence, Flow orchestration, Maintenance commands, Local observability | Typed hooks |
|
|
28
|
-
| `claude-code` | full | Templates and docs, Workflow validation, Repo intelligence, Flow orchestration, Typed hooks, Maintenance commands, Local observability | none |
|
|
29
|
-
| `cursor` | partial | none | Templates and docs, Workflow validation, Repo intelligence, Flow orchestration, Typed hooks, Maintenance commands, Local observability |
|
|
30
|
-
| `opencode` | partial | none | Templates and docs, Workflow validation, Repo intelligence, Flow orchestration, Typed hooks, Maintenance commands, Local observability |
|
|
27
|
+
| `codex` | full | Templates and docs, Workflow validation, Repo intelligence, Recursive structured analysis, Flow orchestration, Maintenance commands, Local observability | Typed hooks |
|
|
28
|
+
| `claude-code` | full | Templates and docs, Workflow validation, Repo intelligence, Recursive structured analysis, Flow orchestration, Typed hooks, Maintenance commands, Local observability | none |
|
|
29
|
+
| `cursor` | partial | none | Templates and docs, Workflow validation, Repo intelligence, Recursive structured analysis, Flow orchestration, Typed hooks, Maintenance commands, Local observability |
|
|
30
|
+
| `opencode` | partial | none | Templates and docs, Workflow validation, Repo intelligence, Recursive structured analysis, Flow orchestration, Typed hooks, Maintenance commands, Local observability |
|
|
31
31
|
|
|
32
32
|
## Capability honesty
|
|
33
33
|
|
|
@@ -36,6 +36,7 @@ cross-surface relationships.
|
|
|
36
36
|
| Templates and docs | full (native) | full (native) | partial (documentation-only) | partial (documentation-only) |
|
|
37
37
|
| Workflow validation | full (native) | full (native) | partial (documentation-only) | partial (documentation-only) |
|
|
38
38
|
| Repo intelligence | full (native) | full (native) | partial (translated) | partial (translated) |
|
|
39
|
+
| Recursive structured analysis | full (native) | full (native) | partial (translated) | partial (translated) |
|
|
39
40
|
| Flow orchestration | full (native) | full (native) | unsupported (unsupported) | unsupported (unsupported) |
|
|
40
41
|
| Typed hooks | partial (documentation-only) | full (native) | unsupported (unsupported) | unsupported (unsupported) |
|
|
41
42
|
| Maintenance commands | full (native) | full (native) | partial (documentation-only) | partial (documentation-only) |
|
|
@@ -56,6 +57,7 @@ cross-surface relationships.
|
|
|
56
57
|
- Templates and docs: partial via documentation-only. Fallback: Use generated docs and manifests as the support surface instead of expecting a native Cursor runtime install. Cursor can consume packaged docs and portable guidance, but not a first-class runtime mapping.
|
|
57
58
|
- Workflow validation: partial via documentation-only. Fallback: Run the validators from the repository rather than relying on a Cursor-specific runtime integration. Validation guidance is portable, but no Cursor-native runtime wiring is shipped.
|
|
58
59
|
- Repo intelligence: partial via translated. Fallback: Inspect `.hforge/runtime/index.json` and `.hforge/library/`, then run the intelligence scripts directly and treat the output as operator guidance. Repo intelligence is available as thin bridges, portable scripts, and generated hidden `.hforge/` state rather than a native Cursor runtime surface.
|
|
60
|
+
- Recursive structured analysis: partial via translated. Fallback: Use `.hforge/runtime/recursive/language-capabilities.json` and recursive session artifacts as the honest support surface instead of claiming native Cursor parity. Cursor receives recursive structured-analysis promotion through shared-runtime capability maps and durable session artifacts rather than a native target runtime payload.
|
|
59
61
|
- Flow orchestration: unsupported via unsupported. Fallback: Do not rely on packaged flow recovery for Cursor; use `.hforge/runtime/index.json` and the thin bridge surfaces only. No first-class Cursor flow-state recovery surface is shipped beyond the hidden `.hforge/` runtime summary and bridge surfaces.
|
|
60
62
|
- Typed hooks: unsupported via unsupported. Fallback: Use hook docs as references only; do not claim native Cursor hook execution. Cursor does not have a packaged native hook runtime in this repository.
|
|
61
63
|
- Maintenance commands: partial via documentation-only. Fallback: Run the maintenance commands from the repository rather than expecting Cursor-specific runtime integration. Maintenance guidance is portable, but a Cursor-native runtime surface is not shipped.
|
|
@@ -66,6 +68,7 @@ cross-surface relationships.
|
|
|
66
68
|
- Templates and docs: partial via documentation-only. Fallback: Use generated docs and manifests as the support surface instead of expecting a native OpenCode runtime install. OpenCode can consume packaged docs and portable guidance, but not a first-class runtime mapping.
|
|
67
69
|
- Workflow validation: partial via documentation-only. Fallback: Run the validators from the repository rather than relying on an OpenCode-specific runtime integration. Validation guidance is portable, but no OpenCode-native runtime wiring is shipped.
|
|
68
70
|
- Repo intelligence: partial via translated. Fallback: Inspect `.hforge/runtime/index.json` and `.hforge/library/`, then run the intelligence scripts directly and treat the output as operator guidance. Repo intelligence is available as thin bridges, portable scripts, and generated hidden `.hforge/` state rather than a native OpenCode runtime surface.
|
|
71
|
+
- Recursive structured analysis: partial via translated. Fallback: Use `.hforge/runtime/recursive/language-capabilities.json` and recursive session artifacts as the honest support surface instead of claiming native OpenCode parity. OpenCode receives recursive structured-analysis promotion through shared-runtime capability maps and durable session artifacts rather than a native target runtime payload.
|
|
69
72
|
- Flow orchestration: unsupported via unsupported. Fallback: Do not rely on packaged flow recovery for OpenCode; use `.hforge/runtime/index.json` and the thin bridge surfaces only. No first-class OpenCode flow-state recovery surface is shipped beyond the hidden `.hforge/` runtime summary and bridge surfaces.
|
|
70
73
|
- Typed hooks: unsupported via unsupported. Fallback: Use hook docs as references only; do not claim native OpenCode hook execution. OpenCode does not have a packaged native hook runtime in this repository.
|
|
71
74
|
- Maintenance commands: partial via documentation-only. Fallback: Run the maintenance commands from the repository rather than expecting OpenCode-specific runtime integration. Maintenance guidance is portable, but an OpenCode-native runtime surface is not shipped.
|
|
@@ -19,6 +19,12 @@
|
|
|
19
19
|
"displayName": "Repo intelligence",
|
|
20
20
|
"description": "Repository scanning, framework detection, and evidence-backed recommendation output."
|
|
21
21
|
},
|
|
22
|
+
{
|
|
23
|
+
"id": "recursive-structured-analysis",
|
|
24
|
+
"family": "orchestration",
|
|
25
|
+
"displayName": "Recursive structured analysis",
|
|
26
|
+
"description": "Session-scoped structured recursive analysis, capability truth, durable run records, and related bridge guidance."
|
|
27
|
+
},
|
|
22
28
|
{
|
|
23
29
|
"id": "flow-orchestration",
|
|
24
30
|
"family": "orchestration",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generatedAt": "2026-03-
|
|
2
|
+
"generatedAt": "2026-03-28T21:42:25.027Z",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
5
|
"subjectType": "language",
|
|
@@ -775,6 +775,23 @@
|
|
|
775
775
|
"fallbackBehavior": "Inspect .hforge/observability artifacts directly.",
|
|
776
776
|
"notes": "Local observability is available for Claude Code workflows."
|
|
777
777
|
},
|
|
778
|
+
{
|
|
779
|
+
"subjectType": "target",
|
|
780
|
+
"subjectId": "claude-code",
|
|
781
|
+
"relationType": "supports-capability",
|
|
782
|
+
"relatedType": "capability",
|
|
783
|
+
"relatedId": "recursive-structured-analysis",
|
|
784
|
+
"supportLevel": "full",
|
|
785
|
+
"supportMode": "native",
|
|
786
|
+
"confidence": 0.96,
|
|
787
|
+
"evidenceSource": [
|
|
788
|
+
"src/cli/commands/recursive.ts",
|
|
789
|
+
"src/application/recursive/run-structured-analysis.ts",
|
|
790
|
+
"targets/claude-code/adapter.json"
|
|
791
|
+
],
|
|
792
|
+
"fallbackBehavior": "Use `.hforge/runtime/recursive/language-capabilities.json`, recursive session artifacts, and the promoted recursive CLI surfaces.",
|
|
793
|
+
"notes": "Claude Code promotes recursive structured analysis through the shared runtime capability map, structured run commands, and durable session artifacts."
|
|
794
|
+
},
|
|
778
795
|
{
|
|
779
796
|
"subjectType": "target",
|
|
780
797
|
"subjectId": "claude-code",
|
|
@@ -1055,6 +1072,14 @@
|
|
|
1055
1072
|
"relatedId": "python-engineering",
|
|
1056
1073
|
"supportLevel": "full"
|
|
1057
1074
|
},
|
|
1075
|
+
{
|
|
1076
|
+
"subjectType": "target",
|
|
1077
|
+
"subjectId": "claude-code",
|
|
1078
|
+
"relationType": "supports",
|
|
1079
|
+
"relatedType": "skill",
|
|
1080
|
+
"relatedId": "recursive-structured-analysis",
|
|
1081
|
+
"supportLevel": "full"
|
|
1082
|
+
},
|
|
1058
1083
|
{
|
|
1059
1084
|
"subjectType": "target",
|
|
1060
1085
|
"subjectId": "claude-code",
|
|
@@ -1545,6 +1570,23 @@
|
|
|
1545
1570
|
"fallbackBehavior": "Inspect .hforge/observability artifacts directly.",
|
|
1546
1571
|
"notes": "Local observability is available for Codex workflows."
|
|
1547
1572
|
},
|
|
1573
|
+
{
|
|
1574
|
+
"subjectType": "target",
|
|
1575
|
+
"subjectId": "codex",
|
|
1576
|
+
"relationType": "supports-capability",
|
|
1577
|
+
"relatedType": "capability",
|
|
1578
|
+
"relatedId": "recursive-structured-analysis",
|
|
1579
|
+
"supportLevel": "full",
|
|
1580
|
+
"supportMode": "native",
|
|
1581
|
+
"confidence": 0.95,
|
|
1582
|
+
"evidenceSource": [
|
|
1583
|
+
"src/cli/commands/recursive.ts",
|
|
1584
|
+
"src/application/recursive/run-structured-analysis.ts",
|
|
1585
|
+
"targets/codex/adapter.json"
|
|
1586
|
+
],
|
|
1587
|
+
"fallbackBehavior": "Use `.hforge/runtime/recursive/language-capabilities.json`, recursive session artifacts, and the promoted recursive CLI surfaces.",
|
|
1588
|
+
"notes": "Codex promotes recursive structured analysis through the shared runtime capability map, structured run commands, and durable session artifacts."
|
|
1589
|
+
},
|
|
1548
1590
|
{
|
|
1549
1591
|
"subjectType": "target",
|
|
1550
1592
|
"subjectId": "codex",
|
|
@@ -1825,6 +1867,14 @@
|
|
|
1825
1867
|
"relatedId": "python-engineering",
|
|
1826
1868
|
"supportLevel": "full"
|
|
1827
1869
|
},
|
|
1870
|
+
{
|
|
1871
|
+
"subjectType": "target",
|
|
1872
|
+
"subjectId": "codex",
|
|
1873
|
+
"relationType": "supports",
|
|
1874
|
+
"relatedType": "skill",
|
|
1875
|
+
"relatedId": "recursive-structured-analysis",
|
|
1876
|
+
"supportLevel": "full"
|
|
1877
|
+
},
|
|
1828
1878
|
{
|
|
1829
1879
|
"subjectType": "target",
|
|
1830
1880
|
"subjectId": "codex",
|
|
@@ -2349,6 +2399,23 @@
|
|
|
2349
2399
|
"fallbackBehavior": "Inspect the local observability artifacts directly from the repository.",
|
|
2350
2400
|
"notes": "Observability artifacts are portable, but no native Cursor runtime surface is shipped."
|
|
2351
2401
|
},
|
|
2402
|
+
{
|
|
2403
|
+
"subjectType": "target",
|
|
2404
|
+
"subjectId": "cursor",
|
|
2405
|
+
"relationType": "supports-capability",
|
|
2406
|
+
"relatedType": "capability",
|
|
2407
|
+
"relatedId": "recursive-structured-analysis",
|
|
2408
|
+
"supportLevel": "partial",
|
|
2409
|
+
"supportMode": "translated",
|
|
2410
|
+
"confidence": 0.84,
|
|
2411
|
+
"evidenceSource": [
|
|
2412
|
+
"targets/cursor/adapter.json",
|
|
2413
|
+
"src/cli/commands/recursive.ts",
|
|
2414
|
+
"docs/agents.md"
|
|
2415
|
+
],
|
|
2416
|
+
"fallbackBehavior": "Use `.hforge/runtime/recursive/language-capabilities.json` and recursive session artifacts as the honest support surface instead of claiming native Cursor parity.",
|
|
2417
|
+
"notes": "Cursor receives recursive structured-analysis promotion through shared-runtime capability maps and durable session artifacts rather than a native target runtime payload."
|
|
2418
|
+
},
|
|
2352
2419
|
{
|
|
2353
2420
|
"subjectType": "target",
|
|
2354
2421
|
"subjectId": "cursor",
|
|
@@ -2656,6 +2723,15 @@
|
|
|
2656
2723
|
"supportLevel": "partial",
|
|
2657
2724
|
"notes": "Cursor only provides partial skill support for python-engineering."
|
|
2658
2725
|
},
|
|
2726
|
+
{
|
|
2727
|
+
"subjectType": "target",
|
|
2728
|
+
"subjectId": "cursor",
|
|
2729
|
+
"relationType": "supports",
|
|
2730
|
+
"relatedType": "skill",
|
|
2731
|
+
"relatedId": "recursive-structured-analysis",
|
|
2732
|
+
"supportLevel": "partial",
|
|
2733
|
+
"notes": "Cursor only provides partial skill support for recursive-structured-analysis."
|
|
2734
|
+
},
|
|
2659
2735
|
{
|
|
2660
2736
|
"subjectType": "target",
|
|
2661
2737
|
"subjectId": "cursor",
|
|
@@ -3199,6 +3275,23 @@
|
|
|
3199
3275
|
"fallbackBehavior": "Inspect the local observability artifacts directly from the repository.",
|
|
3200
3276
|
"notes": "Observability artifacts are portable, but no native OpenCode runtime surface is shipped."
|
|
3201
3277
|
},
|
|
3278
|
+
{
|
|
3279
|
+
"subjectType": "target",
|
|
3280
|
+
"subjectId": "opencode",
|
|
3281
|
+
"relationType": "supports-capability",
|
|
3282
|
+
"relatedType": "capability",
|
|
3283
|
+
"relatedId": "recursive-structured-analysis",
|
|
3284
|
+
"supportLevel": "partial",
|
|
3285
|
+
"supportMode": "translated",
|
|
3286
|
+
"confidence": 0.84,
|
|
3287
|
+
"evidenceSource": [
|
|
3288
|
+
"targets/opencode/adapter.json",
|
|
3289
|
+
"src/cli/commands/recursive.ts",
|
|
3290
|
+
"docs/agents.md"
|
|
3291
|
+
],
|
|
3292
|
+
"fallbackBehavior": "Use `.hforge/runtime/recursive/language-capabilities.json` and recursive session artifacts as the honest support surface instead of claiming native OpenCode parity.",
|
|
3293
|
+
"notes": "OpenCode receives recursive structured-analysis promotion through shared-runtime capability maps and durable session artifacts rather than a native target runtime payload."
|
|
3294
|
+
},
|
|
3202
3295
|
{
|
|
3203
3296
|
"subjectType": "target",
|
|
3204
3297
|
"subjectId": "opencode",
|
|
@@ -3506,6 +3599,15 @@
|
|
|
3506
3599
|
"supportLevel": "partial",
|
|
3507
3600
|
"notes": "OpenCode only provides partial skill support for python-engineering."
|
|
3508
3601
|
},
|
|
3602
|
+
{
|
|
3603
|
+
"subjectType": "target",
|
|
3604
|
+
"subjectId": "opencode",
|
|
3605
|
+
"relationType": "supports",
|
|
3606
|
+
"relatedType": "skill",
|
|
3607
|
+
"relatedId": "recursive-structured-analysis",
|
|
3608
|
+
"supportLevel": "partial",
|
|
3609
|
+
"notes": "OpenCode only provides partial skill support for recursive-structured-analysis."
|
|
3610
|
+
},
|
|
3509
3611
|
{
|
|
3510
3612
|
"subjectType": "target",
|
|
3511
3613
|
"subjectId": "opencode",
|
|
@@ -288,6 +288,30 @@
|
|
|
288
288
|
"required": false,
|
|
289
289
|
"lineageRole": "recursive-session"
|
|
290
290
|
},
|
|
291
|
+
{
|
|
292
|
+
"id": "recursive-runtime-language-capabilities",
|
|
293
|
+
"stage": "shared",
|
|
294
|
+
"pathPattern": ".hforge/runtime/recursive/language-capabilities.json",
|
|
295
|
+
"generatedBy": "recursive-runtime",
|
|
296
|
+
"required": false,
|
|
297
|
+
"lineageRole": "recursive-language-capabilities"
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
"id": "recursive-runtime-execution-policy",
|
|
301
|
+
"stage": "shared",
|
|
302
|
+
"pathPattern": ".hforge/runtime/recursive/sessions/*/execution-policy.json",
|
|
303
|
+
"generatedBy": "recursive-runtime",
|
|
304
|
+
"required": false,
|
|
305
|
+
"lineageRole": "recursive-execution-policy"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"id": "recursive-runtime-session-capabilities",
|
|
309
|
+
"stage": "shared",
|
|
310
|
+
"pathPattern": ".hforge/runtime/recursive/sessions/*/capabilities.json",
|
|
311
|
+
"generatedBy": "recursive-runtime",
|
|
312
|
+
"required": false,
|
|
313
|
+
"lineageRole": "recursive-session-capabilities"
|
|
314
|
+
},
|
|
291
315
|
{
|
|
292
316
|
"id": "recursive-runtime-memory",
|
|
293
317
|
"stage": "shared",
|
|
@@ -312,6 +336,22 @@
|
|
|
312
336
|
"required": false,
|
|
313
337
|
"lineageRole": "recursive-summary"
|
|
314
338
|
},
|
|
339
|
+
{
|
|
340
|
+
"id": "recursive-runtime-run-meta",
|
|
341
|
+
"stage": "shared",
|
|
342
|
+
"pathPattern": ".hforge/runtime/recursive/sessions/*/runs/*/meta.json",
|
|
343
|
+
"generatedBy": "recursive-runtime",
|
|
344
|
+
"required": false,
|
|
345
|
+
"lineageRole": "recursive-structured-run"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"id": "recursive-runtime-run-result",
|
|
349
|
+
"stage": "shared",
|
|
350
|
+
"pathPattern": ".hforge/runtime/recursive/sessions/*/runs/*/result.json",
|
|
351
|
+
"generatedBy": "recursive-runtime",
|
|
352
|
+
"required": false,
|
|
353
|
+
"lineageRole": "recursive-structured-run-result"
|
|
354
|
+
},
|
|
315
355
|
{
|
|
316
356
|
"id": "flow-state",
|
|
317
357
|
"stage": "shared",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "../../schemas/manifests/harness-capability-matrix.schema.json",
|
|
3
3
|
"version": 1,
|
|
4
|
-
"generatedAt": "2026-03-
|
|
4
|
+
"generatedAt": "2026-03-28T00:00:00.000Z",
|
|
5
5
|
"targets": [
|
|
6
6
|
{
|
|
7
7
|
"targetId": "codex",
|
|
@@ -50,6 +50,21 @@
|
|
|
50
50
|
"notes": "Repo intelligence is a first-class Codex surface and compiles into the hidden `.hforge/` AI layer.",
|
|
51
51
|
"fallbackBehavior": "Inspect `.hforge/runtime/index.json` and `.hforge/library/`, or run the intelligence scripts directly if the CLI is unavailable."
|
|
52
52
|
},
|
|
53
|
+
{
|
|
54
|
+
"capabilityId": "recursive-structured-analysis",
|
|
55
|
+
"supportLevel": "full",
|
|
56
|
+
"supportMode": "native",
|
|
57
|
+
"evidenceSource": [
|
|
58
|
+
"src/cli/commands/recursive.ts",
|
|
59
|
+
"src/application/recursive/run-structured-analysis.ts",
|
|
60
|
+
"targets/codex/adapter.json"
|
|
61
|
+
],
|
|
62
|
+
"lastValidatedAt": "2026-03-28T00:00:00.000Z",
|
|
63
|
+
"validationMethod": "recursive-runtime-and-adapter-review",
|
|
64
|
+
"confidence": 0.95,
|
|
65
|
+
"notes": "Codex promotes recursive structured analysis through the shared runtime capability map, structured run commands, and durable session artifacts.",
|
|
66
|
+
"fallbackBehavior": "Use `.hforge/runtime/recursive/language-capabilities.json`, recursive session artifacts, and the promoted recursive CLI surfaces."
|
|
67
|
+
},
|
|
53
68
|
{
|
|
54
69
|
"capabilityId": "flow-orchestration",
|
|
55
70
|
"supportLevel": "full",
|
|
@@ -156,6 +171,21 @@
|
|
|
156
171
|
"notes": "Repo intelligence is a first-class Claude Code surface and compiles into the hidden `.hforge/` AI layer.",
|
|
157
172
|
"fallbackBehavior": "Inspect `.hforge/runtime/index.json` and `.hforge/library/`, or run the intelligence scripts directly if the CLI is unavailable."
|
|
158
173
|
},
|
|
174
|
+
{
|
|
175
|
+
"capabilityId": "recursive-structured-analysis",
|
|
176
|
+
"supportLevel": "full",
|
|
177
|
+
"supportMode": "native",
|
|
178
|
+
"evidenceSource": [
|
|
179
|
+
"src/cli/commands/recursive.ts",
|
|
180
|
+
"src/application/recursive/run-structured-analysis.ts",
|
|
181
|
+
"targets/claude-code/adapter.json"
|
|
182
|
+
],
|
|
183
|
+
"lastValidatedAt": "2026-03-28T00:00:00.000Z",
|
|
184
|
+
"validationMethod": "recursive-runtime-and-adapter-review",
|
|
185
|
+
"confidence": 0.96,
|
|
186
|
+
"notes": "Claude Code promotes recursive structured analysis through the shared runtime capability map, structured run commands, and durable session artifacts.",
|
|
187
|
+
"fallbackBehavior": "Use `.hforge/runtime/recursive/language-capabilities.json`, recursive session artifacts, and the promoted recursive CLI surfaces."
|
|
188
|
+
},
|
|
159
189
|
{
|
|
160
190
|
"capabilityId": "flow-orchestration",
|
|
161
191
|
"supportLevel": "full",
|
|
@@ -262,6 +292,21 @@
|
|
|
262
292
|
"notes": "Repo intelligence is available as thin bridges, portable scripts, and generated hidden `.hforge/` state rather than a native Cursor runtime surface.",
|
|
263
293
|
"fallbackBehavior": "Inspect `.hforge/runtime/index.json` and `.hforge/library/`, then run the intelligence scripts directly and treat the output as operator guidance."
|
|
264
294
|
},
|
|
295
|
+
{
|
|
296
|
+
"capabilityId": "recursive-structured-analysis",
|
|
297
|
+
"supportLevel": "partial",
|
|
298
|
+
"supportMode": "translated",
|
|
299
|
+
"evidenceSource": [
|
|
300
|
+
"targets/cursor/adapter.json",
|
|
301
|
+
"src/cli/commands/recursive.ts",
|
|
302
|
+
"docs/agents.md"
|
|
303
|
+
],
|
|
304
|
+
"lastValidatedAt": "2026-03-28T00:00:00.000Z",
|
|
305
|
+
"validationMethod": "shared-runtime-promotion-review",
|
|
306
|
+
"confidence": 0.84,
|
|
307
|
+
"notes": "Cursor receives recursive structured-analysis promotion through shared-runtime capability maps and durable session artifacts rather than a native target runtime payload.",
|
|
308
|
+
"fallbackBehavior": "Use `.hforge/runtime/recursive/language-capabilities.json` and recursive session artifacts as the honest support surface instead of claiming native Cursor parity."
|
|
309
|
+
},
|
|
265
310
|
{
|
|
266
311
|
"capabilityId": "flow-orchestration",
|
|
267
312
|
"supportLevel": "unsupported",
|
|
@@ -367,6 +412,21 @@
|
|
|
367
412
|
"notes": "Repo intelligence is available as thin bridges, portable scripts, and generated hidden `.hforge/` state rather than a native OpenCode runtime surface.",
|
|
368
413
|
"fallbackBehavior": "Inspect `.hforge/runtime/index.json` and `.hforge/library/`, then run the intelligence scripts directly and treat the output as operator guidance."
|
|
369
414
|
},
|
|
415
|
+
{
|
|
416
|
+
"capabilityId": "recursive-structured-analysis",
|
|
417
|
+
"supportLevel": "partial",
|
|
418
|
+
"supportMode": "translated",
|
|
419
|
+
"evidenceSource": [
|
|
420
|
+
"targets/opencode/adapter.json",
|
|
421
|
+
"src/cli/commands/recursive.ts",
|
|
422
|
+
"docs/agents.md"
|
|
423
|
+
],
|
|
424
|
+
"lastValidatedAt": "2026-03-28T00:00:00.000Z",
|
|
425
|
+
"validationMethod": "shared-runtime-promotion-review",
|
|
426
|
+
"confidence": 0.84,
|
|
427
|
+
"notes": "OpenCode receives recursive structured-analysis promotion through shared-runtime capability maps and durable session artifacts rather than a native target runtime payload.",
|
|
428
|
+
"fallbackBehavior": "Use `.hforge/runtime/recursive/language-capabilities.json` and recursive session artifacts as the honest support surface instead of claiming native OpenCode parity."
|
|
429
|
+
},
|
|
370
430
|
{
|
|
371
431
|
"capabilityId": "flow-orchestration",
|
|
372
432
|
"supportLevel": "unsupported",
|