@skyf0xx/hedgehog 3.0.10 → 3.0.12

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 CHANGED
@@ -48,6 +48,18 @@ The build order is encoded into the project. The AI does not have to remember wh
48
48
 
49
49
  ![Small steps, big leverage: small context loops, continuous verification, traceable evolution, sustainable velocity](https://raw.githubusercontent.com/skyf0xx/hedgehog/master/docs/images/small-steps.png)
50
50
 
51
+ ## Your build order is a graph
52
+
53
+ **Every task** Hedgehog generates **is a node** with explicit dependencies in sqlite.
54
+
55
+ Unlike stories and epics, **the graph locks build order** into an **signal-dense, context-light** path the agents can use.
56
+
57
+ ```bash
58
+ npx @skyf0xx/hedgehog graph
59
+ ```
60
+
61
+ ![The Hedgehog build graph](https://raw.githubusercontent.com/skyf0xx/hedgehog/master/docs/images/graph.png)
62
+
51
63
  ## What Hedgehog builds
52
64
 
53
65
  ### Full-stack applications
@@ -156,15 +168,6 @@ from them. It never touches the instructions file, the build graph, the
156
168
  core workspace, or `skills/BMAD`, since those carry project-specific or
157
169
  write-once content.
158
170
 
159
- To see the build graph:
160
-
161
- ``` bash
162
- npx @skyf0xx/hedgehog graph
163
- ```
164
-
165
- Starts a small local server and opens a live, read-only diagram of every
166
- task, status and its dependencies.
167
-
168
171
  ## Why Hedgehog
169
172
 
170
173
  Most AI coding tools improve prompting.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyf0xx/hedgehog",
3
- "version": "3.0.10",
3
+ "version": "3.0.12",
4
4
  "description": "Install the Hedgehog build discipline (agents + skills) into a repo, for Claude Code, Cursor, or Gemini CLI.",
5
5
  "type": "module",
6
6
  "repository": {
@@ -15,9 +15,16 @@ schedule — the orchestration wiring: what runs when, retries, backfill entry
15
15
 
16
16
  ## Adaptation points
17
17
 
18
- - Merge `schedule` into `load` when the pipeline is invoked externally
19
- (cron calling a script, an orchestrator defined outside this repo)
20
- there's no orchestration surface here to build.
18
+ - On the Dagster stack, `schedule` is Dagster's own schedule/sensor
19
+ definitions plus the retry policy on each op real orchestration
20
+ surface that belongs in this repo and earns its own layer.
21
+ - On the stdlib/argparse stack, or when a pipeline is invoked externally
22
+ regardless of stack (cron calling a script, an orchestrator defined
23
+ outside this repo), there is no in-repo orchestrator to retry or
24
+ backfill through: merge `schedule` into `load` and scope it to
25
+ whatever the script itself can do (an idempotent upsert key, a
26
+ `--since`/`--backfill` flag `load` reads), and record retries/
27
+ scheduling as owned by the caller rather than as a gap in this layer.
21
28
  - Split `extract` per source (`extract/{module}`) when the pipeline pulls
22
29
  from several genuinely different systems with independent failure modes
23
30
  and auth; keep one `extract` layer for a single source.
@@ -15,9 +15,16 @@ cli — argv, output rendering, and the confirmation gate in front of apply
15
15
 
16
16
  ## Adaptation points
17
17
 
18
- - Merge `plan` into `apply` only for a tool that is genuinely fire-and-forget
19
- (a one-shot bootstrap script) and note that this gives up the dry-run
20
- surface, which is the main reason to reach for this shape.
18
+ - On the TypeScript substitute (a thin wrapper generating config/manifests
19
+ with no systems-level need), `provider` isn't a live target system
20
+ there's no observed state to read, so `plan` and `apply` collapse into
21
+ one `render` layer producing the config/manifest text, and `provider`
22
+ drops entirely. The dry-run safety property below doesn't apply: the
23
+ tool's output *is* the printable, diffable artifact, so there's nothing
24
+ further to preview.
25
+ - Merge `plan` into `apply` only for a Go-stack tool that is genuinely
26
+ fire-and-forget (a one-shot bootstrap script) — and note that this gives
27
+ up the dry-run surface, which is the main reason to reach for this shape.
21
28
  - Split `provider` per target (`provider/{module}`) when the tool spans
22
29
  several systems with independent auth and failure modes; keep one layer
23
30
  for a single target.
@@ -31,4 +38,6 @@ what a plan named. A tool that mutates during planning can't offer a
31
38
  trustworthy dry run, and dry run is the safety property this shape exists
32
39
  to provide — an infra tool without it is a script that edits production
33
40
  with no preview. `plan` must be printable and diffable on its own, with
34
- no credentials required beyond reading observed state.
41
+ no credentials required beyond reading observed state. This boundary is
42
+ moot on the TS/`render`-collapsed substitute above, where there's no live
43
+ target to mutate in the first place.