@opellen/scaff 0.1.12 → 0.1.14

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opellen/scaff",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "description": "Agile, goal-centric AI harness. Just markdown.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -46,6 +46,7 @@
46
46
  "@inquirer/core": "^11.1.7",
47
47
  "@inquirer/prompts": "^8.3.2",
48
48
  "chalk": "^5.6.2",
49
+ "scaff": "^0.0.4",
49
50
  "yaml": "^2.8.3"
50
51
  }
51
52
  }
@@ -31,7 +31,7 @@ tags: [workflow, scaff, go]
31
31
  - (PLAN.md absent, task complexity ≥ multi-file) => generate PLAN.md, then report: `"Created [PLAN.md]($DocsDir/PLAN.md)."`
32
32
  - (PLAN.md absent, task complexity < multi-file) => proceed without PLAN.md
33
33
  5. Execute tasks using the Task Outcome loop below.
34
- 6. After multiple tasks completed, suggest `/scaff:goal checkpoint` to save progress.
34
+ 6. Suggest `/scaff:goal checkpoint` only per the checkpoint triggers in the `scaff-flow` skill (context pressure or a natural boundary) — never on task count alone.
35
35
 
36
36
  ## Task Outcome
37
37
 
@@ -33,10 +33,10 @@ Execute when any of:
33
33
  ## Documentation Timing
34
34
 
35
35
  - (implementation plan crystallizes — files, design decisions, execution order) => suggest `/scaff:design init`
36
- - (design changes during implementation) => suggest `/scaff:design sync`
37
- - (project context changes — principles, resources, processes) => suggest `/scaff:context sync`
36
+ - (design changes during implementation) => suggest `/scaff:design sync` if `$DocsDir/DESIGN.md` exists, else `/scaff:design init`
37
+ - (project context changes — principles, resources, processes) => suggest `/scaff:context sync` if `$DocsDir/CONTEXT.md` exists, else `/scaff:context init`
38
38
  - (multiple GOALs need a higher-level plan) => suggest `/scaff:roadmap init`
39
- - (new milestone identified) => suggest `/scaff:roadmap add`
39
+ - (new milestone identified) => suggest `/scaff:roadmap add` if `$DocsDir/ROADMAP.md` exists, else `/scaff:roadmap init`
40
40
  - (DESIGN.md step completed) => suggest `/scaff:design sync`
41
41
  - (multiple design decisions or context changes accumulated but not yet documented) => suggest `/scaff:recap`
42
42
 
@@ -73,10 +73,15 @@ When the trigger fires:
73
73
 
74
74
  ## Checkpoint Triggers
75
75
 
76
- - (analysis/exploration session getting long, compact approaching) => suggest `/scaff:goal checkpoint`
77
- - (context window approaching 80% capacity, if platform supports detection) => suggest `/scaff:goal checkpoint`
78
- - (sequential analysis of multiple functions/modules, intermediate results accumulating) => suggest `/scaff:goal checkpoint`
79
- - (before ending a session) => suggest `/scaff:goal checkpoint`
76
+ A checkpoint exists to survive context loss (compaction). Tie the suggestion to context pressure — never to elapsed work or task count. Read the signal in this priority order:
77
+
78
+ 1. (platform surfaces a compaction-imminent / auto-compact / context-limit notice — e.g. an injected system warning) => suggest `/scaff:goal checkpoint` NOW. Strongest, most reliable signal. Watch for it; don't poll your own context %.
79
+ 2. (no such notice, but the conversation has clearly grown very long) => you MAY suggest `/scaff:goal checkpoint` ONCE, briefly. This is a coarse estimate — if unsure, lean toward NOT suggesting.
80
+ 3. (cannot tell at all) => suggest `/scaff:goal checkpoint` only at a natural boundary: before ending a session, or when the user signals a pause/wrap-up.
81
+
82
+ Always: (user explicitly asks to save/pause) => suggest `/scaff:goal checkpoint`.
83
+
84
+ > Bias control: never trigger on task count or "N tasks done" alone. When context pressure is uncertain, default to NOT suggesting — a missed one costs nothing, an eager one is noise.
80
85
 
81
86
  ## Blocker Handling
82
87