@grainulation/wheat 1.0.2 → 1.0.4

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.
Files changed (42) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +32 -31
  3. package/bin/wheat.js +47 -36
  4. package/compiler/detect-sprints.js +126 -92
  5. package/compiler/generate-manifest.js +116 -69
  6. package/compiler/wheat-compiler.js +789 -468
  7. package/lib/compiler.js +11 -6
  8. package/lib/connect.js +273 -134
  9. package/lib/disconnect.js +61 -40
  10. package/lib/guard.js +20 -17
  11. package/lib/index.js +8 -8
  12. package/lib/init.js +217 -142
  13. package/lib/install-prompt.js +26 -26
  14. package/lib/load-claims.js +88 -0
  15. package/lib/quickstart.js +225 -111
  16. package/lib/serve-mcp.js +495 -180
  17. package/lib/server.js +198 -111
  18. package/lib/stats.js +65 -39
  19. package/lib/status.js +65 -34
  20. package/lib/update.js +13 -11
  21. package/package.json +8 -4
  22. package/templates/claude.md +31 -17
  23. package/templates/commands/blind-spot.md +9 -2
  24. package/templates/commands/brief.md +11 -1
  25. package/templates/commands/calibrate.md +3 -1
  26. package/templates/commands/challenge.md +4 -1
  27. package/templates/commands/connect.md +12 -1
  28. package/templates/commands/evaluate.md +4 -0
  29. package/templates/commands/feedback.md +3 -1
  30. package/templates/commands/handoff.md +11 -7
  31. package/templates/commands/init.md +4 -1
  32. package/templates/commands/merge.md +4 -1
  33. package/templates/commands/next.md +1 -0
  34. package/templates/commands/present.md +3 -0
  35. package/templates/commands/prototype.md +2 -0
  36. package/templates/commands/pull.md +103 -0
  37. package/templates/commands/replay.md +8 -0
  38. package/templates/commands/research.md +1 -0
  39. package/templates/commands/resolve.md +4 -1
  40. package/templates/commands/status.md +4 -0
  41. package/templates/commands/sync.md +94 -0
  42. package/templates/commands/witness.md +6 -2
@@ -7,11 +7,13 @@ You are compiling the final decision brief for this Wheat sprint. This is the Br
7
7
  ## Process
8
8
 
9
9
  1. **Run the compiler with check**:
10
+
10
11
  ```bash
11
12
  npx @grainulation/wheat compile --check
12
13
  ```
13
14
 
14
15
  **If the compiler returns an error (exit code 1), STOP.** Do not generate a brief. Instead:
16
+
15
17
  - Show the user the compilation errors
16
18
  - Explain what needs to be resolved
17
19
  - Suggest specific commands to fix each blocker
@@ -32,32 +34,40 @@ You are compiling the final decision brief for this Wheat sprint. This is the Br
32
34
  ```markdown
33
35
  # Decision Brief: [Sprint Question]
34
36
 
35
- **Date**: [date] | **Audience**: [audience] | **Phase**: Compiled
37
+ **Date**: [date] | **Audience**: [audience] | **Phase**: Compiled
36
38
 
37
39
  ## Executive Summary
40
+
38
41
  [2-3 sentences: the recommendation and why]
39
42
 
40
43
  ## Recommendation
44
+
41
45
  [The recommended course of action, with specific next steps]
42
46
 
43
47
  ## Evidence Summary
48
+
44
49
  [For each topic: key findings, evidence tier, source]
45
50
  [Every statement must cite a claim ID]
46
51
 
47
52
  ## Tradeoffs and Risks
53
+
48
54
  [Risks identified, with evidence tier for each]
49
55
 
50
56
  ## Resolved Conflicts
57
+
51
58
  [What disagreed, how it was resolved, what evidence won]
52
59
 
53
60
  ## Appendix: Claim Inventory
61
+
54
62
  [Table of all resolved claims: ID, type, content, evidence, source]
55
63
 
56
64
  ---
65
+
57
66
  Compilation certificate: [hash] | Compiler: wheat v[version] | Claims: [count] | Compiled: [timestamp]
58
67
  ```
59
68
 
60
69
  6. **Generate PDF** (if build-pdf.js exists):
70
+
61
71
  ```bash
62
72
  node build-pdf.js output/brief.md
63
73
  ```
@@ -5,6 +5,7 @@ You are checking what actually happened after a sprint's recommendations were im
5
5
  ## Process
6
6
 
7
7
  1. **Parse the outcome**: The user provides outcome data, either as:
8
+
8
9
  - Free text: `/calibrate --outcome "Shipped Auth0. Took 3 weeks not 2. Costs $18K/year not $15K."`
9
10
  - Claim-specific: `/calibrate e003 "actual: 3 weeks, $18K/year"`
10
11
 
@@ -15,6 +16,7 @@ You are checking what actually happened after a sprint's recommendations were im
15
16
  4. **Compute accuracy scorecard** by evidence tier, source origin, and claim type.
16
17
 
17
18
  5. **Write/update calibration.json** and add claims to claims.json:
19
+
18
20
  ```bash
19
21
  npx @grainulation/wheat compile --summary
20
22
  ```
@@ -36,4 +38,4 @@ Commit: `wheat: /calibrate — scored <N> predictions against outcomes`
36
38
  - Whether the evidence tier hierarchy is predictive
37
39
  - Suggest: future sprints should weight evidence tiers based on this data
38
40
 
39
- $ARGUMENTS
41
+ $ARGUMENTS
@@ -11,6 +11,7 @@ You are stress-testing a specific claim by researching the **strongest possible
11
11
  3. **Research AGAINST the claim**: Use web search to find the strongest counter-evidence. Search for problems, limitations, failure modes, alternatives, and contradictions. Be adversarial — your job is to find what's wrong, not confirm what's right.
12
12
 
13
13
  Guidelines for research:
14
+
14
15
  - Focus on factual counter-evidence, not opinion
15
16
  - Only challenge claims at `web` tier or above (challenging `stated` is pointless — they're already known-weak)
16
17
  - Distinguish "contradicts the claim" from "adds a related concern"
@@ -46,9 +47,11 @@ You are stress-testing a specific claim by researching the **strongest possible
46
47
  ```
47
48
 
48
49
  5. **Run the compiler**:
50
+
49
51
  ```bash
50
52
  npx @grainulation/wheat compile --summary
51
53
  ```
54
+
52
55
  Report whether challenges created new conflicts and whether the compiler auto-resolved any.
53
56
 
54
57
  6. **Assess the outcome**:
@@ -69,4 +72,4 @@ Commit: `wheat: /challenge <claim ID> — added <challenge claim IDs>`
69
72
  - Report compiler status (new conflicts? auto-resolved?)
70
73
  - Suggest: `/resolve` if unresolved conflicts, `/witness` to corroborate survivors, more `/challenge` for other claims
71
74
 
72
- $ARGUMENTS
75
+ $ARGUMENTS
@@ -5,41 +5,51 @@ You are connecting an external tool or data source to this Wheat sprint. Connect
5
5
  ## Connector Types
6
6
 
7
7
  ### GitHub Repository
8
+
8
9
  ```
9
10
  /connect github <org/repo>
10
11
  ```
12
+
11
13
  - Read the repo's README, key source files, architecture
12
14
  - Extract claims about existing infrastructure, patterns, dependencies
13
15
  - Evidence tier: `documented`
14
16
  - Track as connector in claims.json source field
15
17
 
16
18
  ### Atlas File
19
+
17
20
  ```
18
21
  /connect atlas <path-to-atlas.yaml>
19
22
  ```
23
+
20
24
  - Read a RepoAtlas-style YAML file for multi-repo routing intelligence
21
25
  - Extract claims about repo ownership, dependencies, infrastructure
22
26
  - Evidence tier: `documented`
23
27
 
24
28
  ### Jira / Linear (via MCP)
29
+
25
30
  ```
26
31
  /connect jira <project-key>
27
32
  ```
33
+
28
34
  - Read relevant tickets, priorities, blockers
29
35
  - Extract constraint and risk claims
30
36
  - Evidence tier: `stated` (tickets are stakeholder input)
31
37
 
32
38
  ### Monitoring (Datadog, Grafana, etc.)
39
+
33
40
  ```
34
41
  /connect monitoring <dashboard-name>
35
42
  ```
43
+
36
44
  - Pull current metrics if accessible
37
45
  - Evidence tier: `production` (highest tier)
38
46
 
39
47
  ### Confluence / Notion (via MCP)
48
+
40
49
  ```
41
50
  /connect docs <space/page>
42
51
  ```
52
+
43
53
  - Read existing documentation, ADRs, decision records
44
54
  - Evidence tier: `documented`
45
55
 
@@ -78,6 +88,7 @@ You are connecting an external tool or data source to this Wheat sprint. Connect
78
88
  ```
79
89
 
80
90
  4. **Register the connector** in claims.json `meta.connectors`:
91
+
81
92
  ```json
82
93
  { "type": "github", "target": "org/repo", "connected": "<ISO timestamp>" }
83
94
  ```
@@ -101,4 +112,4 @@ Commit: `wheat: /connect <type> <target> — added <claim IDs>`
101
112
  - List the claims extracted
102
113
  - Suggest `/research` to dig deeper into findings, or `/status` to see the updated dashboard
103
114
 
104
- $ARGUMENTS
115
+ $ARGUMENTS
@@ -7,18 +7,22 @@ Read CLAUDE.md for sprint context and claims.json for all existing claims.
7
7
  ## Process
8
8
 
9
9
  1. **Run the compiler first**:
10
+
10
11
  ```bash
11
12
  npx @grainulation/wheat compile --summary
12
13
  ```
14
+
13
15
  Identify conflicts, weak evidence areas, and coverage gaps.
14
16
 
15
17
  2. **Evaluate systematically**: For each topic with weak or conflicting evidence:
18
+
16
19
  - Run benchmarks, cost calculations, feature comparisons
17
20
  - Test prototypes against real conditions
18
21
  - Pull production metrics from connected tools if available
19
22
  - Cross-reference claims against each other
20
23
 
21
24
  3. **Resolve conflicts**: When evaluation produces a clear answer:
25
+
22
26
  - Update the winning claim's evidence tier
23
27
  - Mark the losing claim as `superseded` with `resolved_by`
24
28
  - Add new evaluation claims (evidence: "tested") if needed
@@ -7,6 +7,7 @@ Read CLAUDE.md and claims.json for context.
7
7
  ## Process
8
8
 
9
9
  1. **Parse the feedback**: The user's argument contains stakeholder input. This could be:
10
+
10
11
  - A new constraint ("CTO says prioritize speed over cost")
11
12
  - A correction ("the compliance team says we need SOC2 Type II, not Type I")
12
13
  - A direction change ("skip the custom build option, focus on Auth0 vs Clerk")
@@ -38,6 +39,7 @@ Read CLAUDE.md and claims.json for context.
38
39
  3. **Check for conflicts**: Does this feedback contradict existing claims? If a stakeholder says "budget is $10K max" but existing research shows a solution costing $15K, that's a conflict. Mark it.
39
40
 
40
41
  4. **Run the compiler**:
42
+
41
43
  ```bash
42
44
  npx @grainulation/wheat compile --summary
43
45
  ```
@@ -57,4 +59,4 @@ Commit: `wheat: /feedback "<summary>" — added <claim IDs>`
57
59
  - If compilation is now blocked, explain what needs re-evaluation
58
60
  - Suggest next steps: `/research` for new questions, `/evaluate` to re-test, `/brief` to recompile
59
61
 
60
- $ARGUMENTS
62
+ $ARGUMENTS
@@ -4,33 +4,37 @@ You are generating a self-contained briefing optimized for a **successor** — s
4
4
 
5
5
  ## Key distinction from other output commands
6
6
 
7
- | Command | Audience | Optimized for |
8
- |---------|----------|---------------|
9
- | `/brief` | Decision-makers | "What should we do?" |
10
- | `/present` | External audiences | Persuasion |
11
- | `/status` | Current researcher | Snapshot |
12
- | `/handoff` | Successor | "What do I need to know to continue?" |
7
+ | Command | Audience | Optimized for |
8
+ | ---------- | ------------------ | ------------------------------------- |
9
+ | `/brief` | Decision-makers | "What should we do?" |
10
+ | `/present` | External audiences | Persuasion |
11
+ | `/status` | Current researcher | Snapshot |
12
+ | `/handoff` | Successor | "What do I need to know to continue?" |
13
13
 
14
14
  ## Process
15
15
 
16
16
  1. **Run the compiler**:
17
+
17
18
  ```bash
18
19
  npx @grainulation/wheat compile --summary
19
20
  ```
20
21
 
21
22
  2. **Read all data sources**:
23
+
22
24
  - `compilation.json` — current state
23
25
  - `claims.json` — all claims including superseded ones (the full history)
24
26
  - `git log --oneline claims.json` — the event log
25
27
  - `CLAUDE.md` — sprint context and conventions
26
28
 
27
29
  3. **Build the reasoning chain**: For each topic, reconstruct the narrative:
30
+
28
31
  - What constraint or question initiated work on this topic?
29
32
  - What did research find?
30
33
  - Did prototyping confirm or contradict research?
31
34
  - Were there conflicts? How were they resolved?
32
35
 
33
36
  4. **Identify open questions**: From compilation.json:
37
+
34
38
  - Unresolved conflicts
35
39
  - Coverage gaps
36
40
  - Unmitigated risks
@@ -50,4 +54,4 @@ Commit: `wheat: /handoff — generated sprint handoff document`
50
54
  - Highlight the most important open questions
51
55
  - Suggest: `/replay` for detailed timeline, `/blind-spot` for gap analysis
52
56
 
53
- $ARGUMENTS
57
+ $ARGUMENTS
@@ -16,6 +16,7 @@ Update the Sprint section of CLAUDE.md with the question, audience, constraints,
16
16
  ## Step 2: Seed claims.json
17
17
 
18
18
  Update claims.json with:
19
+
19
20
  - `meta.question` — the sprint question
20
21
  - `meta.initiated` — today's date (ISO format)
21
22
  - `meta.audience` — array of audience labels
@@ -23,6 +24,7 @@ Update claims.json with:
23
24
  - `meta.connectors` — empty array
24
25
 
25
26
  Add constraint claims (type: "constraint") for each hard requirement identified. Use IDs starting with `d001`. Each claim needs:
27
+
26
28
  ```json
27
29
  {
28
30
  "id": "d001",
@@ -61,8 +63,9 @@ Commit with message: `wheat: /init "<sprint question short>" — seeded <claim I
61
63
  ## Step 6: Tell the user what's next
62
64
 
63
65
  Tell them:
66
+
64
67
  - Their problem statement is in `output/problem-statement.html` — they can open it in a browser and share it
65
68
  - Next step: `/research <topic>` to start exploring, or `/connect` to link org tools
66
69
  - Remind them that `/status` shows the dashboard at any time
67
70
 
68
- $ARGUMENTS
71
+ $ARGUMENTS
@@ -5,10 +5,12 @@ You are merging claims from another sprint into the current one. This is for whe
5
5
  ## Process
6
6
 
7
7
  1. **Parse the argument**: The user provides a path to another sprint's claims.json.
8
+
8
9
  - Example: `/merge ../auth-sprint/claims.json`
9
10
  - If no path given, ask for it.
10
11
 
11
12
  2. **Validate both claim sets**:
13
+
12
14
  - Read the current `claims.json`
13
15
  - Read the incoming claims file
14
16
  - Validate both against the compiler schema:
@@ -19,6 +21,7 @@ You are merging claims from another sprint into the current one. This is for whe
19
21
  3. **Determine the sprint slug**: Derive from the incoming sprint's `meta.question`.
20
22
 
21
23
  4. **Resolve ID collisions**: Prefix all incoming claim IDs with the sprint slug:
24
+
22
25
  - `r001` -> `auth-r001`
23
26
  - Also update all `conflicts_with` and `resolved_by` references.
24
27
 
@@ -48,4 +51,4 @@ Commit: `wheat: /merge <slug> — merged <N> claims from <source path>`
48
51
  rm -f /tmp/wheat-merge-*.json
49
52
  ```
50
53
 
51
- $ARGUMENTS
54
+ $ARGUMENTS
@@ -9,6 +9,7 @@ Use AskUserQuestion to present what just happened and what comes next. This is t
9
9
  1. **Summarize** what was just produced in the question text (1-2 sentences -- claim counts, key findings, what changed)
10
10
 
11
11
  2. **Pick 2-4 next steps** based on sprint state. Use this decision tree:
12
+
12
13
  - Unresolved conflicts exist -> suggest `/resolve`
13
14
  - Claim has no corroboration -> suggest `/witness <id> <url>`
14
15
  - Topic has weak evidence -> suggest `/research <topic>` or `/prototype`
@@ -5,6 +5,7 @@ You are generating a presentation for this Wheat sprint. Same Bran compilation g
5
5
  ## Process
6
6
 
7
7
  1. **Run the compiler with check**:
8
+
8
9
  ```bash
9
10
  npx @grainulation/wheat compile --check
10
11
  ```
@@ -16,6 +17,7 @@ You are generating a presentation for this Wheat sprint. Same Bran compilation g
16
17
  3. **Generate presentation HTML**: Create `output/presentation.html` — a self-contained, scroll-snap presentation using a dark theme.
17
18
 
18
19
  Structure the slides as:
20
+
19
21
  1. **Title slide**: Sprint question, date, audience
20
22
  2. **The Problem**: Why this research was needed (from constraint claims)
21
23
  3. **What We Found**: Key research findings (2-3 slides, from factual claims)
@@ -26,6 +28,7 @@ You are generating a presentation for this Wheat sprint. Same Bran compilation g
26
28
  8. **Appendix**: Compilation certificate, claim count, evidence summary
27
29
 
28
30
  Each slide should:
31
+
29
32
  - Be visually clean (use the dark theme, accent colors, cards)
30
33
  - Reference claim IDs subtly (small text at bottom of relevant sections)
31
34
  - Include data visualizations where relevant (CSS-only charts, comparison tables)
@@ -7,6 +7,7 @@ You are building a proof-of-concept for the current Wheat sprint. Read CLAUDE.md
7
7
  1. **Determine what to prototype**: Based on the user's argument and existing research claims. If no argument given, look at the research and suggest the most promising option to test.
8
8
 
9
9
  2. **Build it**: Create a working prototype in `prototypes/<name>/`. This should be:
10
+
10
11
  - Minimal — just enough to test the hypothesis
11
12
  - Runnable — include a README or run script
12
13
  - Measurable — produce output that can be evaluated
@@ -39,6 +40,7 @@ Every prototype finding becomes a claim with evidence tier `tested`:
39
40
  ```
40
41
 
41
42
  **Critical**: Check if any existing research claims (evidence: "web") are contradicted by prototype results. If so:
43
+
42
44
  - Set `conflicts_with` on both claims
43
45
  - The compiler will auto-resolve in favor of `tested` over `web`
44
46
 
@@ -0,0 +1,103 @@
1
+ # /pull — Backfill claims from external sources
2
+
3
+ You are pulling knowledge from external sources into the current Wheat sprint. Read CLAUDE.md for sprint context and claims.json for existing claims.
4
+
5
+ ## Process
6
+
7
+ 1. **Identify the source**: The user's argument tells you where to pull from. Supported sources:
8
+
9
+ - **DeepWiki** (`deepwiki <github-org/repo>`): Pull architecture docs and dependency analysis from deepwiki.com
10
+ - **Confluence** (`confluence <space-key>` or `confluence <page-url>`): Pull content from Confluence pages via Atlassian MCP
11
+ - **Silo** (`silo <pack-name>`): Pull a knowledge pack via the silo MCP server
12
+ - **GitHub** (`github <org/repo>`): Pull README, issues, discussions via GitHub MCP
13
+ - **URL** (`url <url>`): Fetch and extract claims from any web page
14
+ - No argument: scan CLAUDE.md connectors and pull from all configured sources
15
+
16
+ 2. **Fetch content**: Use the appropriate MCP server or web fetch:
17
+
18
+ - **DeepWiki**: Fetch `https://deepwiki.com/<org>/<repo>` — extract architecture overview, component descriptions, dependency graph, and key design decisions. DeepWiki auto-generates structured wiki docs from public GitHub repos. If the silo MCP is available, check `mcp__silo__silo_search` for cached DeepWiki content first.
19
+ - **Confluence**: Use `mcp__atlassian__confluence_search` or `mcp__atlassian__confluence_get_page` to fetch page content
20
+ - **Silo**: Use `mcp__silo__silo_pull` to retrieve the knowledge pack
21
+ - **GitHub**: Use `mcp__github__search_repositories`, `mcp__github__get_file_contents`, `mcp__github__list_issues`
22
+ - **URL**: Use web fetch to retrieve content
23
+
24
+ 3. **Extract claims from content**: Parse the fetched content into typed claims:
25
+
26
+ - Architecture descriptions → `factual` claims about system structure
27
+ - Version numbers, metrics, stats → `factual` claims with evidence tier `documented` (for official sources) or `web` (for community content)
28
+ - Known issues, limitations → `risk` claims
29
+ - Best practices, recommendations → `recommendation` claims
30
+ - Requirements, constraints mentioned → `constraint` claims
31
+ - Estimates, projections → `estimate` claims
32
+
33
+ 4. **Deduplicate against existing claims**: Before adding, check claims.json for:
34
+
35
+ - Exact content matches (skip)
36
+ - Semantic overlaps (flag as potential conflict with `conflicts_with`)
37
+ - Claims that the new data supersedes (mark conflicts)
38
+
39
+ 5. **Add claims**: Append new claims with IDs continuing the `r###` sequence. Set source appropriately:
40
+
41
+ ```json
42
+ {
43
+ "source": {
44
+ "origin": "mcp",
45
+ "artifact": "<source URL or identifier>",
46
+ "connector": "<deepwiki|confluence|silo|github|url>"
47
+ },
48
+ "evidence": "web|documented"
49
+ }
50
+ ```
51
+
52
+ Use `"documented"` evidence for official docs, READMEs, and Confluence pages maintained by the project team. Use `"web"` for community-generated or AI-generated content (including DeepWiki).
53
+
54
+ 6. **Compile**: Run `wheat compile --summary` after adding claims.
55
+
56
+ 7. **Report**: Summarize what was pulled:
57
+ - Number of new claims added
58
+ - Number of duplicates skipped
59
+ - Number of conflicts detected
60
+ - Source attribution
61
+
62
+ ## Arguments
63
+
64
+ - `deepwiki <org/repo>`: Pull from DeepWiki (e.g., `/pull deepwiki grainulation/wheat`)
65
+ - `confluence <space-key|page-url>`: Pull from Confluence
66
+ - `silo <pack-name>`: Pull from a Silo knowledge pack
67
+ - `github <org/repo>`: Pull from GitHub repo metadata
68
+ - `url <url>`: Pull from any web page
69
+ - No argument: pull from all connectors configured in CLAUDE.md
70
+ - `--max <n>`: Limit to n claims (default: 20)
71
+ - `--topic <slug>`: Scope pulled claims to a specific topic
72
+ - `--dry-run`: Show what would be added without modifying claims.json
73
+
74
+ ## DeepWiki integration notes
75
+
76
+ DeepWiki (deepwiki.com) auto-generates structured documentation for any public GitHub repo. It provides:
77
+
78
+ - Architecture overviews with component descriptions
79
+ - Dependency graphs and data flow diagrams
80
+ - API documentation extracted from source code
81
+ - Design decision explanations grounded in actual code
82
+
83
+ To use: replace `github.com` with `deepwiki.com` in any repo URL. For self-hosted repos, DeepWiki-Open can be deployed internally.
84
+
85
+ When pulling from DeepWiki, prioritize:
86
+
87
+ 1. Architecture claims (system structure, component relationships)
88
+ 2. Dependency claims (what depends on what, version requirements)
89
+ 3. API surface claims (public interfaces, protocols)
90
+ 4. Design decision claims (why things are built a certain way)
91
+
92
+ ## Next steps suggestions
93
+
94
+ After pull completes, suggest based on what was found:
95
+
96
+ ```
97
+ Next steps:
98
+ /research <topic> -- deep dive on topics surfaced by pull
99
+ /challenge <id> -- verify pulled claims that seem surprising
100
+ /witness <id> <url> -- corroborate pulled claims from another source
101
+ /blind-spot -- check if pulled content reveals gaps
102
+ /compile -- recompile to see updated coverage
103
+ ```
@@ -5,27 +5,33 @@ You are reconstructing the historical evolution of this sprint by recompiling ev
5
5
  ## Process
6
6
 
7
7
  1. **Get the git history of claims.json**:
8
+
8
9
  ```bash
9
10
  git log --oneline claims.json
10
11
  ```
12
+
11
13
  This gives every commit that touched claims.json — the sprint event log.
12
14
 
13
15
  2. **Extract each historical version**: For each commit hash:
16
+
14
17
  ```bash
15
18
  git show <hash>:claims.json > /tmp/wheat-replay-<N>.json
16
19
  ```
17
20
 
18
21
  3. **Recompile each version** with the current compiler:
22
+
19
23
  ```bash
20
24
  npx @grainulation/wheat compile --input /tmp/wheat-replay-<N>.json --output /tmp/wheat-comp-<N>.json
21
25
  ```
22
26
 
23
27
  4. **Compute deltas** between consecutive compilations:
28
+
24
29
  ```bash
25
30
  npx @grainulation/wheat compile --diff /tmp/wheat-comp-<N-1>.json /tmp/wheat-comp-<N>.json
26
31
  ```
27
32
 
28
33
  5. **Identify interesting moments** in each delta:
34
+
29
35
  - Phase transitions (define -> research -> prototype -> evaluate)
30
36
  - First time compilation went "ready"
31
37
  - Peak conflict count
@@ -33,6 +39,7 @@ You are reconstructing the historical evolution of this sprint by recompiling ev
33
39
  - Claims added then superseded (the sprint changed its mind)
34
40
 
35
41
  6. **Generate replay HTML**: Create `output/replay.html` — a self-contained timeline visualization using a dark scroll-snap template. Include:
42
+
36
43
  - Frame-by-frame scrubbing (each commit = one frame)
37
44
  - Highlighted pivotal moments
38
45
  - Coverage evolution chart
@@ -54,6 +61,7 @@ Commit: `wheat: /replay — generated sprint timeline (N frames)`
54
61
  ## Cleanup
55
62
 
56
63
  Remove temporary files from /tmp after generating the output:
64
+
57
65
  ```bash
58
66
  rm -f /tmp/wheat-replay-*.json /tmp/wheat-comp-*.json
59
67
  ```
@@ -50,6 +50,7 @@ Check for new conflicts introduced. Report them to the user.
50
50
  ## Generate HTML explainer
51
51
 
52
52
  Create `research/<topic-slug>.html` — a self-contained HTML explainer using the dark scroll-snap template style. This should be:
53
+
53
54
  - Beautiful and presentable (stakeholders will see this)
54
55
  - Organized into logical sections (scroll-snap slides)
55
56
  - Include key findings, comparisons, tradeoffs
@@ -5,6 +5,7 @@ You are manually resolving a conflict between claims that the compiler couldn't
5
5
  ## Process
6
6
 
7
7
  1. **Run the compiler** to see current conflicts:
8
+
8
9
  ```bash
9
10
  npx @grainulation/wheat compile --summary
10
11
  ```
@@ -16,11 +17,13 @@ You are manually resolving a conflict between claims that the compiler couldn't
16
17
  4. **Ask the user to decide** (or decide based on additional research if the user asks you to investigate).
17
18
 
18
19
  5. **Update claims.json**:
20
+
19
21
  - Set the winning claim's status to `active`
20
22
  - Set the losing claim's status to `superseded` and `resolved_by` to the winner's ID
21
23
  - Remove the conflict references from `conflicts_with`
22
24
 
23
25
  6. **Run the compiler again**:
26
+
24
27
  ```bash
25
28
  npx @grainulation/wheat compile --summary
26
29
  ```
@@ -39,4 +42,4 @@ Commit: `wheat: /resolve <winner> over <loser> — "<reason>"`
39
42
  - Show updated compilation status
40
43
  - If all conflicts resolved, suggest `/brief` or `/present`
41
44
 
42
- $ARGUMENTS
45
+ $ARGUMENTS
@@ -5,6 +5,7 @@ You are generating the current status dashboard for this Wheat sprint.
5
5
  ## Process
6
6
 
7
7
  1. **Run the compiler**:
8
+
8
9
  ```bash
9
10
  npx @grainulation/wheat compile --summary
10
11
  ```
@@ -12,6 +13,7 @@ You are generating the current status dashboard for this Wheat sprint.
12
13
  2. **Read compilation.json** for all dashboard data.
13
14
 
14
15
  3. **Read git log** for recent activity:
16
+
15
17
  ```bash
16
18
  git log --oneline -20 claims.json
17
19
  ```
@@ -23,12 +25,14 @@ You are generating the current status dashboard for this Wheat sprint.
23
25
  **Phase Progress**: Visual progress through define -> research -> prototype -> evaluate -> compile. Show which phases have claims.
24
26
 
25
27
  **Evidence Strength by Topic**: For each topic in coverage, show:
28
+
26
29
  - Topic name
27
30
  - Number of claims
28
31
  - Highest evidence tier (with color coding: green=tested/production, amber=documented, red=web/stated)
29
32
  - Visual bar representing depth
30
33
 
31
34
  **Conflict Status**:
35
+
32
36
  - Resolved conflicts with winner/loser and reason
33
37
  - Unresolved conflicts highlighted as blockers
34
38
  - "Compilation readiness" indicator