@hassangameryt/freeflow 0.1.0 → 0.2.0
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/.claude-plugin/marketplace.json +1 -1
- package/README.md +8 -4
- package/package.json +15 -2
- package/plugins/freeflow/.claude-plugin/plugin.json +1 -1
- package/plugins/freeflow/.codex-plugin/plugin.json +1 -1
- package/plugins/freeflow/command-surface.json +2 -10
- package/plugins/freeflow/docs/README.md +3 -2
- package/plugins/freeflow/docs/adr/0002-evals-before-hooks.md +1 -1
- package/plugins/freeflow/docs/adr/0003-release-boundary.md +1 -1
- package/plugins/freeflow/docs/adr/0004-research-replaces-shallow-discovery-skills.md +26 -0
- package/plugins/freeflow/docs/adr/README.md +2 -1
- package/plugins/freeflow/docs/architecture.md +3 -3
- package/plugins/freeflow/docs/output-router.md +212 -0
- package/plugins/freeflow/docs/release-evidence.md +25 -5
- package/plugins/freeflow/docs/skills.md +6 -7
- package/plugins/freeflow/docs/workflow.md +1 -1
- package/plugins/freeflow/hooks/freeflow-runtime-context.mjs +23 -6
- package/plugins/freeflow/pi-extension/index.js +941 -15
- package/plugins/freeflow/router/dist/benchmark-harness.d.ts +32 -0
- package/plugins/freeflow/router/dist/benchmark-harness.js +92 -0
- package/plugins/freeflow/router/dist/benchmarks.d.ts +102 -0
- package/plugins/freeflow/router/dist/benchmarks.js +880 -0
- package/plugins/freeflow/router/dist/bounded-evidence.d.ts +40 -0
- package/plugins/freeflow/router/dist/bounded-evidence.js +310 -0
- package/plugins/freeflow/router/dist/codex-qa-benchmarks.d.ts +91 -0
- package/plugins/freeflow/router/dist/codex-qa-benchmarks.js +461 -0
- package/plugins/freeflow/router/dist/command-benchmarks.d.ts +128 -0
- package/plugins/freeflow/router/dist/command-benchmarks.js +652 -0
- package/plugins/freeflow/router/dist/config.d.ts +22 -0
- package/plugins/freeflow/router/dist/config.js +114 -0
- package/plugins/freeflow/router/dist/evidence-range-selector.d.ts +22 -0
- package/plugins/freeflow/router/dist/evidence-range-selector.js +180 -0
- package/plugins/freeflow/router/dist/evidence-search.d.ts +25 -0
- package/plugins/freeflow/router/dist/evidence-search.js +450 -0
- package/plugins/freeflow/router/dist/evidence.d.ts +38 -0
- package/plugins/freeflow/router/dist/evidence.js +196 -0
- package/plugins/freeflow/router/dist/experimental-local-index.d.ts +1 -0
- package/plugins/freeflow/router/dist/experimental-local-index.js +1 -0
- package/plugins/freeflow/router/dist/experiments/local-index.d.ts +58 -0
- package/plugins/freeflow/router/dist/experiments/local-index.js +562 -0
- package/plugins/freeflow/router/dist/index-benchmarks.d.ts +84 -0
- package/plugins/freeflow/router/dist/index-benchmarks.js +458 -0
- package/plugins/freeflow/router/dist/index.d.ts +12 -0
- package/plugins/freeflow/router/dist/index.js +12 -0
- package/plugins/freeflow/router/dist/line-ranges.d.ts +22 -0
- package/plugins/freeflow/router/dist/line-ranges.js +22 -0
- package/plugins/freeflow/router/dist/parsers.d.ts +16 -0
- package/plugins/freeflow/router/dist/parsers.js +473 -0
- package/plugins/freeflow/router/dist/repo-traversal.d.ts +18 -0
- package/plugins/freeflow/router/dist/repo-traversal.js +242 -0
- package/plugins/freeflow/router/dist/retrieve.d.ts +33 -0
- package/plugins/freeflow/router/dist/retrieve.js +855 -0
- package/plugins/freeflow/router/dist/router-contract.d.ts +10 -0
- package/plugins/freeflow/router/dist/router-contract.js +54 -0
- package/plugins/freeflow/router/dist/run.d.ts +26 -0
- package/plugins/freeflow/router/dist/run.js +356 -0
- package/plugins/freeflow/router/dist/schema.d.ts +18 -0
- package/plugins/freeflow/router/dist/schema.js +354 -0
- package/plugins/freeflow/router/dist/types.d.ts +234 -0
- package/plugins/freeflow/router/dist/types.js +9 -0
- package/plugins/freeflow/router/dist/vault.d.ts +80 -0
- package/plugins/freeflow/router/dist/vault.js +484 -0
- package/plugins/freeflow/skills/commit-work/SKILL.md +17 -16
- package/plugins/freeflow/skills/commit-work/references/staging-decisions.md +3 -3
- package/plugins/freeflow/skills/execute-plan/SKILL.md +70 -5
- package/plugins/freeflow/skills/execute-plan/references/execution-map.md +122 -0
- package/plugins/freeflow/skills/mode-contract/SKILL.md +1 -1
- package/plugins/freeflow/skills/output-router/SKILL.md +69 -0
- package/plugins/freeflow/skills/output-router/references/safety-policy.md +33 -0
- package/plugins/freeflow/skills/research/ARTIFACT-DESTINATIONS.md +58 -0
- package/plugins/freeflow/skills/research/CHECKPOINTS.md +74 -0
- package/plugins/freeflow/skills/research/LANGUAGE.md +61 -0
- package/plugins/freeflow/skills/research/SKILL.md +128 -0
- package/plugins/freeflow/skills/review-artifact/SKILL.md +34 -1
- package/plugins/freeflow/skills/review-artifact/references/reviewer-prompt.md +12 -1
- package/plugins/freeflow/skills/review-work/SKILL.md +25 -2
- package/plugins/freeflow/skills/review-work/references/reviewer-prompt.md +8 -0
- package/plugins/freeflow/skills/setup-freeflow/SKILL.md +14 -4
- package/plugins/freeflow/skills/setup-freeflow/references/activation-contract.md +8 -3
- package/plugins/freeflow/skills/setup-freeflow/references/host-setup.md +3 -1
- package/plugins/freeflow/skills/setup-freeflow/references/output-router-setup.md +52 -0
- package/plugins/freeflow/skills/workflow/SKILL.md +11 -3
- package/plugins/freeflow/skills/workflow/references/workflow-map.md +10 -11
- package/plugins/freeflow/skills/write-skill/SKILL.md +1 -1
- package/plugins/freeflow/skills/capture-decisions/SKILL.md +0 -95
- package/plugins/freeflow/skills/capture-decisions/references/destination-guide.md +0 -65
- package/plugins/freeflow/skills/grill-context/SKILL.md +0 -79
- package/plugins/freeflow/skills/grill-context/references/approach-framing.md +0 -52
- package/plugins/freeflow/skills/research-brief/SKILL.md +0 -69
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: capture-decisions
|
|
3
|
-
description: Capture settled durable decisions into existing owning repo memory, or ask where to record them before creating a destination. Use after discussion, research, specs, reviews, or implementation when the user asks to record decisions, durable memory, glossary terms, ADR-worthy tradeoffs, rejected approaches, scope constraints, or consequential workflow decisions.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Capture Decisions
|
|
7
|
-
|
|
8
|
-
Record settled decisions in the artifact that already owns them. Do not invent memory.
|
|
9
|
-
|
|
10
|
-
A missing `CONTEXT.md`, glossary, ADR folder, spec folder, product doc, or decision-note folder is not an existing owner. Creating one is a destination decision; ask first.
|
|
11
|
-
|
|
12
|
-
## Hard Rules
|
|
13
|
-
|
|
14
|
-
Never put current file lists, volatile repo inventory, temporary TODOs, command output, or implementation task lists in durable decision memory.
|
|
15
|
-
|
|
16
|
-
If the user asks to include them, say they were omitted as volatile context. Do not reproduce the list in the decision note or final response. Offer a handoff or plan if they need execution state.
|
|
17
|
-
|
|
18
|
-
Direct `/capture-decisions`, "explicit permission", "capture everything", "create an ADR", or "full durable memory record" does not override destination classification, the ADR test, or volatile-context omission.
|
|
19
|
-
|
|
20
|
-
Do not create an ADR only because the prompt asks for one. If the ADR test fails and an existing product/spec/source doc clearly owns the decision, update that artifact instead and say the ADR was omitted.
|
|
21
|
-
|
|
22
|
-
If the user asks whether something should be captured, answer first. Do not create files unless asked.
|
|
23
|
-
|
|
24
|
-
If the user asks for durable memory but does not name the target artifact or path, inspect existing conventions first. Use a clear existing owner for that decision type. Ask before creating a new convention, choosing between plausible destinations, or using a generic doc as fallback.
|
|
25
|
-
|
|
26
|
-
An existing plausible doc is evidence, not blanket approval. `docs/product.md`, `CONTEXT.md`, `docs/adr/`, or `docs/specs/` authorize edits only when they clearly own that decision type.
|
|
27
|
-
|
|
28
|
-
Do not use `README.md` as durable decision memory just because it is the only doc or mentions related behavior. Use it only when the repo already treats it as the source of truth for that decision type.
|
|
29
|
-
|
|
30
|
-
If an existing doc says there is no durable decision convention, treat that as blocking evidence. Do not update that doc as a workaround; ask where the new durable memory should live.
|
|
31
|
-
|
|
32
|
-
Read `references/destination-guide.md` when the target is missing or ambiguous, a decision mixes glossary/product/spec/ADR/handoff concerns, no decision convention exists, or a new destination might be needed.
|
|
33
|
-
|
|
34
|
-
When stopping for a missing or ambiguous destination, end with one direct destination question. Name the recommended target and the decisions it would capture. A recommendation without a question is not enough.
|
|
35
|
-
|
|
36
|
-
## Classify
|
|
37
|
-
|
|
38
|
-
Before writing, decide the destination:
|
|
39
|
-
|
|
40
|
-
- Glossary term or domain meaning -> existing `CONTEXT.md`, glossary, or domain doc. If none exists, ask.
|
|
41
|
-
- Hard-to-reverse, surprising tradeoff -> ADR.
|
|
42
|
-
- Product, scope, compatibility, or workflow decision -> decision note.
|
|
43
|
-
- Requirements for future build -> spec.
|
|
44
|
-
- Immediate continuation state -> handoff.
|
|
45
|
-
|
|
46
|
-
If no durable value exists, say so and do not write.
|
|
47
|
-
|
|
48
|
-
Creating a new decision-note convention is a destination decision. If the repo has no existing decision-note convention, ask before creating `docs/decisions/`.
|
|
49
|
-
|
|
50
|
-
If no existing artifact clearly owns the decision, ask before writing. If more than one destination could fit, ask before writing. This includes choosing between an existing product/spec doc, a new decision note, a glossary, README, or an ADR.
|
|
51
|
-
|
|
52
|
-
## ADR Test
|
|
53
|
-
|
|
54
|
-
Use an ADR only when all are true:
|
|
55
|
-
|
|
56
|
-
- Hard to reverse.
|
|
57
|
-
- Surprising without context.
|
|
58
|
-
- Chosen from real alternatives.
|
|
59
|
-
|
|
60
|
-
Otherwise use a lighter decision note or update the relevant existing artifact.
|
|
61
|
-
|
|
62
|
-
## Write Shape
|
|
63
|
-
|
|
64
|
-
When creating a durable decision artifact, follow the compact identity guidance in `../write-spec/references/artifact-standards.md` if future agents or teammates will rely on it.
|
|
65
|
-
|
|
66
|
-
Keep decision notes short:
|
|
67
|
-
|
|
68
|
-
```text
|
|
69
|
-
# Decision: ...
|
|
70
|
-
|
|
71
|
-
Date: ...
|
|
72
|
-
|
|
73
|
-
## Decision
|
|
74
|
-
...
|
|
75
|
-
|
|
76
|
-
## Rationale
|
|
77
|
-
...
|
|
78
|
-
|
|
79
|
-
## Consequences
|
|
80
|
-
...
|
|
81
|
-
|
|
82
|
-
## Not Captured
|
|
83
|
-
...
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Link to live evidence. Do not duplicate volatile facts.
|
|
87
|
-
|
|
88
|
-
## Stop Conditions
|
|
89
|
-
|
|
90
|
-
Stop and ask before writing when:
|
|
91
|
-
|
|
92
|
-
- The decision is not actually settled.
|
|
93
|
-
- The destination is ambiguous.
|
|
94
|
-
- Capturing would change product, scope, policy, ADRs, specs, or source truth.
|
|
95
|
-
- The user asks for memory but not its durability or location.
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# Destination Guide
|
|
2
|
-
|
|
3
|
-
Use this when the durable-memory destination is not obvious.
|
|
4
|
-
|
|
5
|
-
## Destination Test
|
|
6
|
-
|
|
7
|
-
Before writing, answer:
|
|
8
|
-
|
|
9
|
-
- What settled decision is being recorded?
|
|
10
|
-
- Which existing artifact is already the source of truth for that kind of decision?
|
|
11
|
-
- Would this edit create a new documentation convention or source of truth?
|
|
12
|
-
- Would a future agent treat the target as authority for this decision?
|
|
13
|
-
|
|
14
|
-
If the owner is unclear, ask before writing.
|
|
15
|
-
|
|
16
|
-
## Common Destinations
|
|
17
|
-
|
|
18
|
-
| Decision type | Prefer | Do not use |
|
|
19
|
-
| --- | --- | --- |
|
|
20
|
-
| Domain term or glossary meaning | Existing `CONTEXT.md`, glossary, or domain doc; otherwise ask | README as a fallback glossary; creating `CONTEXT.md` without asking |
|
|
21
|
-
| Product behavior, scope, compatibility, billing, privacy, or policy | Existing product/spec/policy doc; otherwise ask where to capture | ADR unless the ADR test passes |
|
|
22
|
-
| Hard-to-reverse, surprising tradeoff chosen from alternatives | ADR | Product notes for architecture that needs rationale |
|
|
23
|
-
| Future build requirements | Existing or requested spec | Handoff or decision note as a hidden spec |
|
|
24
|
-
| Immediate continuation state, next steps, file inventory, commands, partial progress | Handoff or plan | Durable decision memory |
|
|
25
|
-
| Rejected approach | ADR if tradeoff-heavy; otherwise decision note or relevant spec section | Changelog or README by default |
|
|
26
|
-
| Workflow/process convention | Existing agent/process doc | New global standard without asking |
|
|
27
|
-
|
|
28
|
-
## Ambiguity Rules
|
|
29
|
-
|
|
30
|
-
- No destination convention means ask; it does not authorize `docs/decisions/`.
|
|
31
|
-
- A missing `CONTEXT.md`, glossary, ADR directory, spec directory, product doc, or decision-note folder is not a destination convention.
|
|
32
|
-
- The only existing doc is not automatically the right doc.
|
|
33
|
-
- `README.md` is a project overview unless the repo clearly treats it as the authoritative product/domain/process source.
|
|
34
|
-
- If `README.md` or another doc says there is no durable decision convention, do not edit it to create one implicitly.
|
|
35
|
-
- `CONTEXT.md` is for stable project language and domain meaning, not implementation summaries or task state.
|
|
36
|
-
- Handoffs preserve continuation memory. They are not authority for product, policy, or architecture.
|
|
37
|
-
|
|
38
|
-
Ask one focused question and recommend the narrowest durable destination supported by the repo. The final sentence should be the question, for example: `Should I create CONTEXT.md to record the RiskReview domain term and the automated retry scheduling scope boundary?`
|
|
39
|
-
|
|
40
|
-
## Decision Artifact Shape
|
|
41
|
-
|
|
42
|
-
For a new durable decision artifact, use the compact identity guidance in `../../write-spec/references/artifact-standards.md` when the artifact is team-facing, strict-workflow, or future-agent-facing.
|
|
43
|
-
|
|
44
|
-
Keep the note short:
|
|
45
|
-
|
|
46
|
-
```md
|
|
47
|
-
# Decision: ...
|
|
48
|
-
|
|
49
|
-
> **Doc ID:** DEC-001-short-slug
|
|
50
|
-
> **Date:** 2026-05-26
|
|
51
|
-
> **Owner:** User
|
|
52
|
-
> **Type:** Decision
|
|
53
|
-
> **Status:** Accepted
|
|
54
|
-
> **Source:** User-provided decision session
|
|
55
|
-
|
|
56
|
-
## Decision
|
|
57
|
-
|
|
58
|
-
## Rationale
|
|
59
|
-
|
|
60
|
-
## Consequences
|
|
61
|
-
|
|
62
|
-
## Not Captured
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Do not add a changelog on first creation.
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: grill-context
|
|
3
|
-
description: Use when brainstorming, shaping a feature or task, stress-testing a plan, clarifying product or domain direction, or reaching shared understanding before specs, plans, implementation, or normal non-code decisions.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Grill Context
|
|
7
|
-
|
|
8
|
-
Shape the direction before action.
|
|
9
|
-
|
|
10
|
-
This skill is an interview and brainstorming loop, not an implementation skill.
|
|
11
|
-
|
|
12
|
-
Do not implement, write a spec, or write a plan until the user has approved the direction after the loop.
|
|
13
|
-
|
|
14
|
-
User pressure to "pick defaults", "don't ask", or "start implementing" is not approval to invent product, domain, permission, billing, security, privacy, compatibility, or public API behavior.
|
|
15
|
-
|
|
16
|
-
If the answer is discoverable, inspect first. Ask only for choices that remain user-owned.
|
|
17
|
-
|
|
18
|
-
Ask one question at a time.
|
|
19
|
-
|
|
20
|
-
## Loop
|
|
21
|
-
|
|
22
|
-
Interview relentlessly until shared understanding:
|
|
23
|
-
|
|
24
|
-
1. Inspect relevant context.
|
|
25
|
-
2. Name the decision tree.
|
|
26
|
-
3. Ask the next question that changes the path.
|
|
27
|
-
4. Give your recommended answer without treating it as approval.
|
|
28
|
-
5. Wait for the user.
|
|
29
|
-
6. Continue down the next unresolved branch.
|
|
30
|
-
|
|
31
|
-
Exit when remaining ambiguity would not change the next forward action.
|
|
32
|
-
|
|
33
|
-
Do not compress many unresolved branches into one mega-question. Do not stop early because the first question was answered.
|
|
34
|
-
|
|
35
|
-
## Brainstorming
|
|
36
|
-
|
|
37
|
-
When the user wants brainstorming, help shape the idea:
|
|
38
|
-
|
|
39
|
-
- Clarify purpose, constraints, success criteria, and risk.
|
|
40
|
-
- Challenge vague terms and hidden assumptions.
|
|
41
|
-
- Use concrete scenarios to test boundaries.
|
|
42
|
-
- Offer 2-3 approaches when enough context exists.
|
|
43
|
-
- Recommend one approach and explain why.
|
|
44
|
-
|
|
45
|
-
Brainstorming may be short. Grilling may take many turns. Let the uncertainty decide the length.
|
|
46
|
-
|
|
47
|
-
Keep it conversational. Do not turn every brainstorm into an artifact.
|
|
48
|
-
|
|
49
|
-
Read `references/approach-framing.md` when there are multiple plausible approaches or the decision tree is too fuzzy to ask the next useful question.
|
|
50
|
-
|
|
51
|
-
## Repo-Aware Work
|
|
52
|
-
|
|
53
|
-
In a codebase, inspect relevant code, docs, tests, ADRs, or existing behavior before asking.
|
|
54
|
-
|
|
55
|
-
Do not ask the user to restate facts the repo can answer.
|
|
56
|
-
|
|
57
|
-
If live evidence conflicts with the user's idea, name the conflict and ask which path should win.
|
|
58
|
-
|
|
59
|
-
## Non-Code Work
|
|
60
|
-
|
|
61
|
-
Use the same loop for normal decisions:
|
|
62
|
-
|
|
63
|
-
- Clarify the goal.
|
|
64
|
-
- Surface tradeoffs.
|
|
65
|
-
- Offer options.
|
|
66
|
-
- Ask the next useful question.
|
|
67
|
-
|
|
68
|
-
Do not pretend repo workflow is required when there is no repo-shaped task.
|
|
69
|
-
|
|
70
|
-
## Output
|
|
71
|
-
|
|
72
|
-
Prefer one focused question:
|
|
73
|
-
|
|
74
|
-
```text
|
|
75
|
-
I found ...
|
|
76
|
-
The key decision is ...
|
|
77
|
-
Question: ...
|
|
78
|
-
Recommendation: ...
|
|
79
|
-
```
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Approach Framing
|
|
2
|
-
|
|
3
|
-
Use this when brainstorming or grilling needs options before the next question can be useful.
|
|
4
|
-
|
|
5
|
-
Do not use this to avoid asking. Use it to make the next decision sharper.
|
|
6
|
-
|
|
7
|
-
## Frame The Decision
|
|
8
|
-
|
|
9
|
-
Start with:
|
|
10
|
-
|
|
11
|
-
- Goal: what outcome the user is trying to reach.
|
|
12
|
-
- Constraint: what limits the solution space.
|
|
13
|
-
- Risk: what would be expensive to get wrong.
|
|
14
|
-
- Unknown: what must be inspected or decided before action.
|
|
15
|
-
- Owner: who owns the next user-owned decision.
|
|
16
|
-
|
|
17
|
-
If the answer is discoverable in repo evidence, inspect before asking.
|
|
18
|
-
|
|
19
|
-
## Offer Approaches
|
|
20
|
-
|
|
21
|
-
Offer 2-3 approaches only when they are meaningfully different.
|
|
22
|
-
|
|
23
|
-
For each approach, keep it short:
|
|
24
|
-
|
|
25
|
-
```text
|
|
26
|
-
Approach: ...
|
|
27
|
-
Best when: ...
|
|
28
|
-
Tradeoff: ...
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Then ask the next decision-changing question and give the recommended approach without treating it as approval.
|
|
32
|
-
|
|
33
|
-
## Useful Approach Types
|
|
34
|
-
|
|
35
|
-
- Lightweight patch: best for small reversible work with clear source truth.
|
|
36
|
-
- Spec-first: best when requirements, scope, or acceptance criteria need durable agreement.
|
|
37
|
-
- Research-first: best when repo behavior, external facts, or evidence are unknown.
|
|
38
|
-
- Diagnostic-first: best when the request is a bug, regression, failed check, flaky behavior, or performance issue.
|
|
39
|
-
- Strict-workflow: best for security, privacy, billing, data loss, public API, compatibility, migrations, permissions, or hard-to-reverse architecture.
|
|
40
|
-
|
|
41
|
-
## Question Shape
|
|
42
|
-
|
|
43
|
-
Prefer:
|
|
44
|
-
|
|
45
|
-
```text
|
|
46
|
-
I found ...
|
|
47
|
-
The decision tree is ...
|
|
48
|
-
Question: ...
|
|
49
|
-
Recommendation: ...
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Ask one question. Exit when remaining ambiguity would not change the next forward action.
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: research-brief
|
|
3
|
-
description: Use when gathering evidence before a decision, summarizing repo or external facts, checking whether context supports a proposed path, or preparing a brief before specs, plans, brainstorming, or implementation.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Research Brief
|
|
7
|
-
|
|
8
|
-
Gather evidence before deciding.
|
|
9
|
-
|
|
10
|
-
## Target Gate
|
|
11
|
-
|
|
12
|
-
Before researching, identify the exact target: artifact, URL, repo, product, paper, package, model, organization, or source.
|
|
13
|
-
|
|
14
|
-
Use provided context first: links, screenshots, attached files, browser or page context, repo paths, issue numbers, and named artifacts.
|
|
15
|
-
|
|
16
|
-
If multiple plausible targets would change the research path, stop and ask for the source. Do not choose by search ranking, source richness, name similarity, or an "I assume..." caveat.
|
|
17
|
-
|
|
18
|
-
Research is not approval to follow the latest request.
|
|
19
|
-
|
|
20
|
-
If the request is biased, stale, or asks you to skip relevant sources, inspect the evidence anyway.
|
|
21
|
-
|
|
22
|
-
Do not edit implementation files. Do not create a durable brief unless asked.
|
|
23
|
-
|
|
24
|
-
## Evidence First
|
|
25
|
-
|
|
26
|
-
Start with the smallest sources that can answer the question:
|
|
27
|
-
|
|
28
|
-
- Code.
|
|
29
|
-
- Tests.
|
|
30
|
-
- Docs, specs, policies, ADRs.
|
|
31
|
-
- Logs, issues, traces, or prior reports.
|
|
32
|
-
- External sources when current facts matter.
|
|
33
|
-
|
|
34
|
-
Prefer live evidence over summaries, handoffs, or the user's framing.
|
|
35
|
-
|
|
36
|
-
## Brief Shape
|
|
37
|
-
|
|
38
|
-
Keep the brief short:
|
|
39
|
-
|
|
40
|
-
```text
|
|
41
|
-
Question: ...
|
|
42
|
-
Evidence: ...
|
|
43
|
-
Conflict: ...
|
|
44
|
-
Unknowns: ...
|
|
45
|
-
Decision needed: ...
|
|
46
|
-
Recommendation: ...
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Omit sections that do not apply.
|
|
50
|
-
|
|
51
|
-
## Stop Conditions
|
|
52
|
-
|
|
53
|
-
Stop and surface the decision when evidence reveals:
|
|
54
|
-
|
|
55
|
-
- Ambiguous research target or source identity.
|
|
56
|
-
- Source-of-truth conflict.
|
|
57
|
-
- Missing product, scope, domain, compatibility, or public API choice.
|
|
58
|
-
- Security, privacy, billing, data-loss, permissions, or migration behavior.
|
|
59
|
-
- Enough uncertainty that more research would not pick the path.
|
|
60
|
-
|
|
61
|
-
Ask only after checking discoverable evidence.
|
|
62
|
-
|
|
63
|
-
## Handoff
|
|
64
|
-
|
|
65
|
-
If the brief will guide later work, link to evidence instead of copying volatile repo inventory.
|
|
66
|
-
|
|
67
|
-
If the next step is collaborative direction-setting, route to `grill-context`.
|
|
68
|
-
|
|
69
|
-
If the next step is durable requirements, route to `write-spec`.
|