@benzotti/jedi 0.1.19 → 0.1.21

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.js CHANGED
@@ -11403,7 +11403,13 @@ var actionCommand = defineCommand({
11403
11403
  ``,
11404
11404
  `- If the feedback is a **question** ("why did you...", "what about...", "can you explain..."), answer it conversationally first. If the answer implies a change is needed, explain that and then apply it.`,
11405
11405
  `- If the feedback is an **approval** ("approved", "lgtm", "looks good", "ship it"), finalise the current work \u2014 create commits and/or a PR as appropriate.`,
11406
- `- If the feedback is a **refinement** ("change task 2", "use a different approach", "add error handling"), explain what you're changing and why, then apply the changes. Present an updated summary when done.`,
11406
+ `- If the feedback is a **refinement** ("change task 2", "use a different approach", "add error handling"), explain what you're changing and why, then apply the changes. Present an updated summary with the full updated plan in a collapsible block:`,
11407
+ ` <details>`,
11408
+ ` <summary>View full plan</summary>`,
11409
+ ` `,
11410
+ ` [full updated plan content here as markdown]`,
11411
+ ` `,
11412
+ ` </details>`,
11407
11413
  ``,
11408
11414
  `Read state.yaml and any existing plan files to understand what was previously done. Apply changes incrementally \u2014 do not restart from scratch.`
11409
11415
  ].join(`
@@ -11428,6 +11434,14 @@ The above is prior conversation on this issue for context.
11428
11434
  ticketContext ? `
11429
11435
  Use the ClickUp ticket above as the primary requirements source.` : ``,
11430
11436
  ``,
11437
+ `## Scope Rules`,
11438
+ `IMPORTANT: Only plan what was explicitly requested. Do NOT add extras like testing, linting, formatting, CI, or tooling unless the user asked for them.`,
11439
+ `If something is ambiguous, ask \u2014 do not guess.`,
11440
+ ``,
11441
+ `## Learnings`,
11442
+ `Before planning, read .jdi/persistence/learnings.md and .jdi/framework/learnings/ if they exist. Apply any team preferences found.`,
11443
+ ``,
11444
+ `## Presentation`,
11431
11445
  `Follow the planning workflow in your spec. When presenting the plan:`,
11432
11446
  `1. Start with a brief summary of the approach`,
11433
11447
  `2. Include the FULL plan in a collapsible details block using this format:`,
@@ -11437,7 +11451,8 @@ Use the ClickUp ticket above as the primary requirements source.` : ``,
11437
11451
  ` [full plan content here as markdown]`,
11438
11452
  ` `,
11439
11453
  ` </details>`,
11440
- `3. Ask for feedback. The user will respond via another GitHub comment.`
11454
+ `3. After the plan, suggest 3-5 optional additions the user might want (e.g. "Would you also like testing? linting? state management?"). These are NOT part of the plan.`,
11455
+ `4. Ask for feedback. The user will respond via another GitHub comment.`
11441
11456
  ].join(`
11442
11457
  `);
11443
11458
  break;
@@ -11641,7 +11656,7 @@ var setupActionCommand = defineCommand({
11641
11656
  // package.json
11642
11657
  var package_default = {
11643
11658
  name: "@benzotti/jedi",
11644
- version: "0.1.19",
11659
+ version: "0.1.21",
11645
11660
  description: "JDI - Context-efficient AI development framework for Claude Code",
11646
11661
  type: "module",
11647
11662
  bin: {
@@ -13,6 +13,25 @@ You create executable implementation plans with proper task sizing, dependency m
13
13
 
14
14
  ---
15
15
 
16
+ ## CRITICAL: Scope Discipline
17
+
18
+ You MUST only plan what was explicitly requested. Never infer, assume, or add extras.
19
+
20
+ **Rules:**
21
+ 1. **Only include what was asked for.** If the user says "react app with vite and typescript", plan exactly that — scaffold, config, and nothing else.
22
+ 2. **Do not add tooling, testing, linting, formatting, CI, or any other extras** unless the user explicitly requests them.
23
+ 3. **Do not make subjective decisions.** If something is ambiguous (e.g. folder structure, routing library, state management), list it as an open question and ask the user — do not guess.
24
+ 4. **Suggest optional additions separately.** After presenting the plan, list 3-5 common additions the user might want (e.g. "Would you also like: testing (Vitest)? linting (ESLint)? formatting (Prettier)?"). These are suggestions, NOT part of the plan.
25
+ 5. **Same request = same plan.** Two identical requests must produce structurally identical plans. Achieve this by following the templates exactly and not improvising.
26
+
27
+ ## CRITICAL: Read Learnings First
28
+
29
+ Before planning, ALWAYS:
30
+ 1. Read `.jdi/persistence/learnings.md` if it exists
31
+ 2. Read `.jdi/framework/learnings/` files if they exist
32
+ 3. Apply any team preferences found (e.g. "always use path aliases", "prefer Zustand over Redux")
33
+ 4. Learnings override your defaults — if the team has a preference, follow it
34
+
16
35
  ## CRITICAL: File Writing is Mandatory
17
36
 
18
37
  You MUST write files using Write/Edit tools. Returning plan content as text is NOT acceptable.
@@ -39,12 +58,23 @@ Plan files use human-readable slugged names: `{phase}-{plan}-{slug}.{suffix}`
39
58
 
40
59
  ## Task Sizing
41
60
 
61
+ Use t-shirt sizes instead of time estimates:
62
+
63
+ | Size | Scope |
64
+ |------|-------|
65
+ | **S** | Single file change, simple logic |
66
+ | **M** | 2-4 files, moderate logic or integration |
67
+ | **L** | 5+ files, complex logic, multiple subsystems |
68
+ | **XL** | Too large — must be split into multiple tasks |
69
+
42
70
  | Constraint | Value |
43
71
  |------------|-------|
44
- | Duration | 15-60 min per task |
45
72
  | Tasks per plan | 2-4 maximum |
46
73
  | Context target | ~50% of budget |
47
74
  | Each task | Independently verifiable |
75
+ | Max task size | L (split XL into smaller tasks) |
76
+
77
+ Never use time estimates. Use S/M/L sizing in task manifests and plan summaries.
48
78
 
49
79
  ---
50
80
 
@@ -118,7 +148,7 @@ Read `.jdi/config/variables.yaml` (create from template if missing). Update: `fe
118
148
  3. Write each task to `.jdi/plans/{phase}-{plan}-{slug}.T{n}.md` — follow template from `.jdi/framework/templates/PLAN-TASK.md`. One file per task.
119
149
 
120
150
  #### 7b: Update ROADMAP.yaml
121
- Add plan entry to appropriate phase section with wave and duration.
151
+ Add plan entry to appropriate phase section with wave and sizing.
122
152
 
123
153
  #### 7c: Update REQUIREMENTS.yaml Traceability
124
154
  Map requirements to plan tasks.
@@ -134,7 +164,7 @@ task_files:
134
164
  - .jdi/plans/{phase}-{plan}-{slug}.T1.md
135
165
  - .jdi/plans/{phase}-{plan}-{slug}.T2.md
136
166
  task_count: {n}
137
- estimated_duration: {time}
167
+ overall_size: S | M | L
138
168
  wave: {assigned_wave}
139
169
  provides: [what this plan delivers]
140
170
  ```
@@ -62,11 +62,11 @@ tech_stack:
62
62
 
63
63
  ## Tasks
64
64
 
65
- | Task | Name | Type | Wave | File |
66
- |------|------|------|------|------|
67
- | T1 | {Task Name} | auto | 1 | `{X}-{YY}-{plan-slug}.T1.md` |
68
- | T2 | {Task Name} | auto | 1 | `{X}-{YY}-{plan-slug}.T2.md` |
69
- | T3 | {Task Name} | checkpoint:human-verify | 2 | `{X}-{YY}-{plan-slug}.T3.md` |
65
+ | Task | Name | Size | Type | Wave | File |
66
+ |------|------|------|------|------|------|
67
+ | T1 | {Task Name} | S | auto | 1 | `{X}-{YY}-{plan-slug}.T1.md` |
68
+ | T2 | {Task Name} | M | auto | 1 | `{X}-{YY}-{plan-slug}.T2.md` |
69
+ | T3 | {Task Name} | S | checkpoint:human-verify | 2 | `{X}-{YY}-{plan-slug}.T3.md` |
70
70
 
71
71
  > Task details are in individual files. See `task_files` in frontmatter.
72
72
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@benzotti/jedi",
3
- "version": "0.1.19",
3
+ "version": "0.1.21",
4
4
  "description": "JDI - Context-efficient AI development framework for Claude Code",
5
5
  "type": "module",
6
6
  "bin": {