@anthropologies/claudestory 0.1.49 → 0.1.51

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/cli.js CHANGED
@@ -8358,7 +8358,7 @@ function getInstalledVersion() {
8358
8358
  }
8359
8359
  }
8360
8360
  function getRunningVersion() {
8361
- return "0.1.49";
8361
+ return "0.1.51";
8362
8362
  }
8363
8363
  var init_version_check = __esm({
8364
8364
  "src/autonomous/version-check.ts"() {
@@ -10923,7 +10923,7 @@ var init_mcp = __esm({
10923
10923
  init_init();
10924
10924
  ENV_VAR2 = "CLAUDESTORY_PROJECT_ROOT";
10925
10925
  CONFIG_PATH2 = ".story/config.json";
10926
- version = "0.1.49";
10926
+ version = "0.1.51";
10927
10927
  main().catch((err) => {
10928
10928
  process.stderr.write(`Fatal: ${err instanceof Error ? err.message : String(err)}
10929
10929
  `);
@@ -14354,7 +14354,7 @@ async function runCli() {
14354
14354
  registerSessionCommand: registerSessionCommand2,
14355
14355
  registerRepairCommand: registerRepairCommand2
14356
14356
  } = await Promise.resolve().then(() => (init_register(), register_exports));
14357
- const version2 = "0.1.49";
14357
+ const version2 = "0.1.51";
14358
14358
  class HandledError extends Error {
14359
14359
  constructor() {
14360
14360
  super("HANDLED_ERROR");
package/dist/mcp.js CHANGED
@@ -7816,7 +7816,7 @@ function getInstalledVersion() {
7816
7816
  }
7817
7817
  }
7818
7818
  function getRunningVersion() {
7819
- return "0.1.49";
7819
+ return "0.1.51";
7820
7820
  }
7821
7821
 
7822
7822
  // src/autonomous/guide.ts
@@ -10055,7 +10055,7 @@ async function ensureGitignoreEntries(gitignorePath, entries) {
10055
10055
  // src/mcp/index.ts
10056
10056
  var ENV_VAR2 = "CLAUDESTORY_PROJECT_ROOT";
10057
10057
  var CONFIG_PATH2 = ".story/config.json";
10058
- var version = "0.1.49";
10058
+ var version = "0.1.51";
10059
10059
  function tryDiscoverRoot() {
10060
10060
  const envRoot = process.env[ENV_VAR2];
10061
10061
  if (envRoot) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anthropologies/claudestory",
3
- "version": "0.1.49",
3
+ "version": "0.1.51",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Cross-session context persistence for AI coding projects. Tracks tickets, issues, roadmap, and handovers so every session builds on the last.",
6
6
  "keywords": [
@@ -129,7 +129,6 @@ Example: "Rules: integer cents for money, billing engine is pure logic, TDD for
129
129
 
130
130
  ```
131
131
  Tip: You can also use these modes anytime:
132
- /story auto I work through tickets autonomously -- plan, review, build, commit, loop
133
132
  /story guided T-XXX One ticket end-to-end with planning and code review
134
133
  /story review T-XXX Review code you already wrote
135
134
  ```
@@ -144,10 +143,10 @@ End with `AskUserQuestion`:
144
143
  - options:
145
144
  - "Work on [first recommended ticket ID + title] (Recommended)" -- the top ticket from the Ready table
146
145
  - "Something else" -- I'll ask what you have in mind
147
- - "Autonomous mode" -- I'll work through tickets on my own
146
+ - "Autonomous mode" -- I'll pick tickets, plan, review, build, commit, and loop until done
148
147
  - (Other always available for free-text input)
149
148
 
150
- Most users want the recommended ticket -- make that one tap.
149
+ Autonomous mode is last -- most users want to collaborate, not hand off control.
151
150
 
152
151
  ## Session Lifecycle
153
152
 
@@ -370,26 +370,28 @@ If "Adjust first": ask what they want to change, iterate, then re-show this same
370
370
 
371
371
  If "Create as-is" and no brief exists: warn "Note: tickets will have titles only -- you can add descriptions later." Then proceed to **1e. Execute on Approval**.
372
372
 
373
- #### 1d2. Refinement and Review (internal -- user does not see intermediate steps)
373
+ #### 1d2. Refinement and Review
374
374
 
375
- **This section runs silently.** The user already chose their depth. Do the work, then present the final result ONCE.
375
+ **IMPORTANT: Do NOT skip this section. Do NOT go straight to creating tickets.** The user chose refinement and/or review. You must complete all steps below before moving to 1e (Execute).
376
376
 
377
- If a brief/PRD was found in step 1b, use those structured notes. If no brief exists (e.g., the user came through step 1c interview), infer descriptions from the interview answers and propose standard dependencies based on the tech stack.
377
+ **Step A: Refine the proposal internally.** Do not show intermediate work to the user. Use brief/PRD notes from 1b, or infer from interview answers if no brief.
378
378
 
379
- **What refinement does (internally):**
380
- - Extract specs from the brief into ticket descriptions (3-4 sentences each, actionable)
381
- - Infer `blockedBy` from phase ordering and domain logic (schema before CRUD, auth before protected routes, CRUD before business logic, API before UI)
382
- - Flag and split oversized tickets (3+ entities, API+UI in one ticket, 3+ models)
379
+ What to do:
380
+ - Add 3-4 sentence descriptions to each ticket
381
+ - Infer `blockedBy` from phase ordering and domain logic
382
+ - Flag and split oversized tickets (3+ entities, API+UI in one, 3+ models)
383
383
  - Cross-reference brief entities against tickets, add missing ones
384
384
  - Detect core differentiator -- decompose if single ticket
385
385
  - Surface undecided tech choices
386
386
 
387
- **If "Refine + review":** After refinement, also run an independent review:
388
- - If `review_plan` MCP tool is available, use it. Otherwise spawn an independent Claude agent. If neither available, skip with a note.
387
+ **Step B: Run independent review (if user chose "Refine + review").** This step is REQUIRED when the user selected the review option. Do NOT skip it.
388
+ - If `review_plan` MCP tool is available, call it with the full refined proposal.
389
+ - Otherwise spawn an independent Claude agent to audit for gaps.
390
+ - If neither is available, note "Review skipped -- no review backends available."
389
391
  - Maximum 2 review rounds.
390
- - Incorporate all findings into the proposal. The user sees the final result, not the review process.
392
+ - Incorporate findings into the proposal.
391
393
 
392
- **Present the final result ONCE.** Do NOT show every ticket with its description. Show a compact summary of what changed:
394
+ **Step C: Show the compact summary to the user.** This is REQUIRED. Do NOT go to 1e without showing this. Do NOT show every ticket with its description -- show a summary of what changed:
393
395
 
394
396
  ```
395
397
  Refinement complete. Here's what changed:
@@ -413,7 +415,9 @@ Updated proposal:
413
415
  | ... | ... | ... | ... |
414
416
  ```
415
417
 
416
- Then use `AskUserQuestion`:
418
+ **Step D: Ask user to approve before creating.** This is REQUIRED. Do NOT proceed to 1e without this approval.
419
+
420
+ Use `AskUserQuestion`:
417
421
  - question: "Ready to create?"
418
422
  - header: "Create"
419
423
  - options:
@@ -421,6 +425,8 @@ Then use `AskUserQuestion`:
421
425
  - "Let me adjust first" -- iterate, then re-ask
422
426
  - "Show me the full details" -- expand all ticket descriptions (for users who want to inspect)
423
427
 
428
+ Only proceed to **1e. Execute on Approval** after the user selects "Create everything."
429
+
424
430
  #### 1e. Execute on Approval
425
431
 
426
432
  **Two-pass ticket creation:**