@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.
- package/LICENSE +1 -1
- package/README.md +32 -31
- package/bin/wheat.js +47 -36
- package/compiler/detect-sprints.js +126 -92
- package/compiler/generate-manifest.js +116 -69
- package/compiler/wheat-compiler.js +789 -468
- package/lib/compiler.js +11 -6
- package/lib/connect.js +273 -134
- package/lib/disconnect.js +61 -40
- package/lib/guard.js +20 -17
- package/lib/index.js +8 -8
- package/lib/init.js +217 -142
- package/lib/install-prompt.js +26 -26
- package/lib/load-claims.js +88 -0
- package/lib/quickstart.js +225 -111
- package/lib/serve-mcp.js +495 -180
- package/lib/server.js +198 -111
- package/lib/stats.js +65 -39
- package/lib/status.js +65 -34
- package/lib/update.js +13 -11
- package/package.json +8 -4
- package/templates/claude.md +31 -17
- package/templates/commands/blind-spot.md +9 -2
- package/templates/commands/brief.md +11 -1
- package/templates/commands/calibrate.md +3 -1
- package/templates/commands/challenge.md +4 -1
- package/templates/commands/connect.md +12 -1
- package/templates/commands/evaluate.md +4 -0
- package/templates/commands/feedback.md +3 -1
- package/templates/commands/handoff.md +11 -7
- package/templates/commands/init.md +4 -1
- package/templates/commands/merge.md +4 -1
- package/templates/commands/next.md +1 -0
- package/templates/commands/present.md +3 -0
- package/templates/commands/prototype.md +2 -0
- package/templates/commands/pull.md +103 -0
- package/templates/commands/replay.md +8 -0
- package/templates/commands/research.md +1 -0
- package/templates/commands/resolve.md +4 -1
- package/templates/commands/status.md +4 -0
- package/templates/commands/sync.md +94 -0
- 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]
|
|
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
|
|
8
|
-
|
|
9
|
-
| `/brief`
|
|
10
|
-
| `/present` | External audiences | Persuasion
|
|
11
|
-
| `/status`
|
|
12
|
-
| `/handoff` | Successor
|
|
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
|