@esneiderbravo/speclaw 0.1.9 → 0.1.10

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
@@ -93,26 +93,38 @@ Compass is inspired by [CodeGraph](https://github.com/colbymchenry/codegraph) an
93
93
  ## <img src="https://raw.githubusercontent.com/esneiderbravo/speclaw/main/brand/diamond.png" height="20" alt="◆" align="absmiddle">&nbsp; The spec-driven workflow (Lawbook)
94
94
 
95
95
  Lawbook is speclaw's answer to the biggest risk with AI agents: **code that
96
- drifts from intent.** No non-trivial change lands without a spec change the
97
- intent is written first, the code is made to match it, and the spec is promoted
98
- to the project's canonical record. It's a loop of five steps:
96
+ drifts from intent.** The intent is written first, the code is made to match it,
97
+ and the spec is promoted to the project's canonical record so nothing
98
+ non-trivial lands without a spec change. It's a loop of five steps:
99
99
 
100
100
  ```
101
- explore → draft → build → sync → archive
101
+ ┌─────────┐ ┌───────┐ ┌───────┐ ┌──────┐ ┌─────────┐
102
+ │ explore │ ─▶ │ draft │ ─▶ │ build │ ─▶ │ sync │ ─▶ │ archive │
103
+ └─────────┘ └───────┘ └───────┘ └──────┘ └─────────┘
102
104
  ```
103
105
 
104
106
  | Step | What happens |
105
107
  | :-- | :-- |
106
108
  | **explore** | Think an idea through *before* committing to it — should we do this, and how. Writes nothing. |
107
- | **draft** | Create the change under `lawbook/changes/<name>/`: a `proposal.md` (why · what · non-goals), **delta specs** in `specs/<capability>/spec.md`, an optional `design.md`, and a `tasks.md` checklist. |
109
+ | **draft** | Capture the intent as a change under `lawbook/changes/<name>/` four artifacts, always (see below). |
108
110
  | **build** | Implement the tasks in order, keeping code and spec in agreement. |
109
111
  | **sync** | Promote the change's delta specs into the canonical `lawbook/specs/` — the always-true description of how the system behaves. |
110
112
  | **archive** | Validate, promote, and move the change to `lawbook/changes/archive/` — **in the same PR**, never a post-merge chore. |
111
113
 
112
- **Delta specs are normative and testable.** Requirements use `SHALL`/`MUST`
113
- under `### Requirement:` headers, each with one or more `#### Scenario:` blocks
114
- whose acceptance criteria hold without production integrations. `lawbook_validate`
115
- checks that the code matches what the spec promises before you sync or archive.
114
+ **Every `draft` writes four artifacts under `lawbook/changes/<name>/` none optional:**
115
+
116
+ | Artifact | What it captures |
117
+ | :-- | :-- |
118
+ | `proposal.md` | The **why** — motivation, what changes, non-goals, and whether migrations are needed. |
119
+ | `specs/<capability>/spec.md` | The **delta specs** — one per affected capability, normative and testable. |
120
+ | `design.md` | The **how** — approach, alternatives weighed, and the trade-offs behind the decision. |
121
+ | `tasks.md` | The **plan** — ordered, checkable steps, including the mandatory ones from `config.yaml`. |
122
+
123
+ > [!NOTE]
124
+ > **Delta specs are normative and testable.** Requirements use `SHALL`/`MUST`
125
+ > under `### Requirement:` headers, each with one or more `#### Scenario:` blocks
126
+ > whose acceptance criteria hold without production integrations. `lawbook_validate`
127
+ > checks that the code matches what the spec promises before you sync or archive.
116
128
 
117
129
  **Three ways to drive it — same engine, no external CLI:**
118
130
 
@@ -10,7 +10,7 @@ No non-trivial change lands without a spec change:
10
10
 
11
11
  1. **explore** — think an idea through before committing (writes nothing).
12
12
  2. **draft** — create `lawbook/changes/<name>/`: `proposal.md`, delta specs under
13
- `specs/<capability>/spec.md`, optional `design.md`, and `tasks.md`.
13
+ `specs/<capability>/spec.md`, `design.md`, and `tasks.md`.
14
14
  3. **build** — implement the tasks in order, keeping code and spec in
15
15
  agreement.
16
16
  4. **sync** — promote the change's delta specs into the canonical
@@ -7,6 +7,6 @@ Draft a new change under `lawbook/changes/<name>/` for: $ARGUMENTS
7
7
  Follow the `draft` skill: ensure `lawbook/` exists (`lawbook_init`), investigate the
8
8
  code with `compass_explore`/`compass_recall`, read the governing
9
9
  `docs/standards/`, then write `proposal.md`, `specs/<capability>/spec.md`
10
- (normative `SHALL`/`MUST` + `#### Scenario:`), optional `design.md`, and
10
+ (normative `SHALL`/`MUST` + `#### Scenario:`), `design.md`, and
11
11
  `tasks.md` (with the mandatory steps from `lawbook/config.yaml`). Finish by
12
12
  running `lawbook_validate` and fixing every issue.
@@ -46,8 +46,8 @@ Create under `lawbook/changes/<name>/`:
46
46
  - When <action>
47
47
  - Then <observable outcome>
48
48
  ```
49
- - **design.md** (optional) for non-trivial changes: approach, alternatives,
50
- trade-offs.
49
+ - **design.md** — always: approach, alternatives weighed, and the trade-offs
50
+ behind the decision. For a small change, keep it short — but write it.
51
51
  - **tasks.md** — ordered, checkable steps. MUST include the mandatory steps
52
52
  from `lawbook/config.yaml` (feature branch first; tests reviewed and run;
53
53
  manual verification executed by the agent; docs updated; archive within the
@@ -38,7 +38,7 @@ This directory is managed by speclaw's **lawbook** module.
38
38
 
39
39
  - \`specs/\` — the canonical specifications (the current source of truth).
40
40
  - \`changes/<name>/\` — an in-flight change: \`proposal.md\`, \`tasks.md\`,
41
- optional \`design.md\`, and \`specs/<capability>/spec.md\` delta specs.
41
+ \`design.md\`, and \`specs/<capability>/spec.md\` delta specs.
42
42
  - \`changes/archive/\` — completed, archived changes.
43
43
  - \`config.yaml\` — mandatory task steps and workflow rules.
44
44
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esneiderbravo/speclaw",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },