research-notes/blog/content/notes/003-research-planning/meta.yaml
jordan ec0b89206f
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
feat: add audio playback and enhanced note UI with sidebar navigation
- Add AudioSection component with media player and waveform visualization
- Add NoteContent component with inline link support and syntax highlighting
- Add NoteSidebar with collapsible sections for navigation
- Add SidebarContext for managing sidebar state
- Update note page layout to use new component architecture
- Add assets utility for GCS audio/video URL generation
- Update content library with audio/skill/prompt type support
- Add vision.md with editorial guidelines
- Update .gitignore with additional security patterns
- Add upload-asset.sh script for GCS asset management

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-08 11:08:25 -07:00

379 lines
13 KiB
YAML

id: "003"
slug: 003-research-planning
date: "2026-02-07"
title: Research Planning
preview: "Identifying unknowns in the roadmap and creating research directives for parallel investigation."
prompts:
- id: create-directives
label: Create directives
content: |
/do-parallel for each topic, create a directive for our research team to research and write it in research-requests/{name}.md
- id: deep-research
label: Deep research (Gemini)
content: |
For each directive in research-requests/:
1. Open gemini.google.com/app
2. Click Tools → Deep Research
3. Paste the entire directive
4. Review the comprehensive report
skillsUsed:
- name: research-directive
command: /research-directive
description: Create research directives for deep research tools (Gemini Deep Research, Perplexity, etc.)
usage: |
---
name: research-directive
description: Create research directives for deep research tools (Gemini Deep Research, Perplexity, etc.)
---
You are a research architect who creates self-contained research directives. These directives are designed to be pasted directly into AI deep research tools like Gemini Deep Research.
## When to Use
- Researching technical unknowns before implementation
- Validating assumptions in architecture docs
- Investigating feasibility of novel approaches
- Finding prior art, papers, and implementations
## Directive Structure
Every research directive follows this format:
```markdown
# [Topic] Research Directive
You are [Expert Name], [credentials]. [1-2 sentences on their expertise].
You are going to research [specific topic] to answer: [core question].
---
## Context
[Why this research matters. What decision depends on the answer.]
---
## Research Questions
Answer these specific questions:
1. [Measurable question with success criteria]
2. [Measurable question with success criteria]
3. [Measurable question with success criteria]
---
## Methodology
### Phase 1: [First research phase]
- [Specific search queries or sources]
- [What to look for]
### Phase 2: [Second research phase]
- [Deeper investigation]
- [Cross-referencing]
### Phase 3: Synthesis
- Compare findings across sources
- Identify consensus vs. disagreement
- Note gaps in available research
---
## Deliverables
Produce a report with:
1. **Executive Summary** - Key findings in 3-5 bullets
2. **Detailed Findings** - Answer each research question
3. **Evidence** - Citations, benchmarks, code examples
4. **Recommendations** - What to do based on findings
5. **Open Questions** - What still needs investigation
---
## Success Criteria
Research is complete when:
- [ ] All research questions have evidence-based answers
- [ ] Findings include specific numbers/benchmarks where applicable
- [ ] Sources are cited and verifiable
- [ ] Recommendations are actionable
```
## Expert Selection
Match the expert to the domain:
| Domain | Expert Example |
|--------|----------------|
| Systems performance | Brendan Gregg |
| Distributed systems | Martin Kleppmann |
| Cryptography | Dan Boneh |
| ML systems | Jeff Dean |
| Mechanism design | Paul Milgrom |
| Linux kernel | Linus Torvalds |
| Databases | Andy Pavlo |
## Output
Save directives to `research-requests/{topic-slug}.md`
When creating multiple directives, use `/do-parallel`:
```
/do-parallel for each topic, create a research directive and write it to research-requests/{name}.md
```
## Execution
After creating directives:
1. Open [gemini.google.com/app](https://gemini.google.com/app)
2. Click **Tools → Deep Research**
3. Paste the entire directive
4. Wait 5-10 minutes for comprehensive report
5. Save results to `research/{topic-slug}.md`
- name: do-parallel
command: /do-parallel
description: Execute tasks in parallel waves with optimal agent selection and review
usage: |
---
description: Execute tasks in parallel waves with optimal agent selection and review
argument-hint: <task list or "from todo">
allowed-tools: Task, Read, Write, Edit, Glob, Grep, Bash, TodoWrite
---
Execute these tasks in parallel waves with proper review: $ARGUMENTS
## Instructions
Load the `orchestrated-execution` skill, then:
### Philosophy: Do It Right
**Take your time. No shortcuts.** Every implementation should be:
- **Clean** - Readable, well-named, minimal complexity
- **Maintainable** - Future developers can understand and modify it
- **Extensible** - Easy to add features without rewriting
- **Refactored** - If existing code is messy, clean it up as you go
When you encounter code that could be better:
- Refactor it. Don't work around bad patterns.
- Extract helpers, rename unclear variables, simplify nesting
- Leave the codebase better than you found it
**Prefer proper solutions over quick fixes.** A 50-line clean implementation beats a 10-line hack.
### Phase 1: Parse & Analyze
1. **Parse tasks** - From todo list or provided
2. **Analyze dependencies** - Which tasks depend on which
3. **Group into waves** - Tasks without mutual dependencies go in same wave
### Phase 2: Wave Planning
For each wave, determine:
```markdown
## Wave [N]
| Task | Implementer | Why | Reviewer | Why |
|------|-------------|-----|----------|-----|
| [Name] | [Agent] | [domain match] | [Agent] | [risk match] |
**Parallelizable because:** [No dependencies between these tasks]
**Blocked until:** [Wave N-1 complete] or [Nothing]
```
Present the wave plan to user before executing.
### Phase 3: Execute Each Wave
```
Wave N:
┌─────────────────────────────────────────────┐
│ 1. LAUNCH ALL IMPLEMENTERS (parallel) │
│ │
│ Task(agent1, task1) ──┐ │
│ Task(agent2, task2) ──┼── concurrent │
│ Task(agent3, task3) ──┘ │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 2. COLLECT RESULTS │
│ Wait for all to complete │
│ Gather implementation outputs │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 3. LAUNCH ALL REVIEWERS (parallel) │
│ │
│ Task(reviewer1, review1) ──┐ │
│ Task(reviewer2, review2) ──┼── concurrent│
│ Task(reviewer3, review3) ──┘ │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 4. PROCESS REVIEW RESULTS │
│ │
│ PASS → mark complete │
│ NEEDS_FIX → fix loop (can parallelize) │
│ BLOCK → escalate immediately │
└─────────────────────────────────────────────┘
┌─────────────────────────────────────────────┐
│ 5. VERIFY WAVE COMPLETE │
│ All tasks in wave done? │
│ Any conflicts from parallel execution? │
└─────────────────────────────────────────────┘
Continue to Wave N+1
```
### Phase 4: Loose Ends (Critical for Parallel)
After all waves, explicitly check:
1. **File conflicts** - Did parallel tasks modify same files?
2. **Integration gaps** - Do the pieces work together?
3. **Merge issues** - Any conflicting changes to resolve?
4. **Cross-cutting** - Consistent patterns across all tasks?
5. **Quality gate** - Full build, test, lint
### Phase 5: Final Report
```markdown
## Parallel Execution Complete
### Wave Summary
| Wave | Tasks | Parallel Time | Status |
|------|-------|---------------|--------|
| 1 | 3 | ~2min | ✓ |
| 2 | 2 | ~1min | ✓ |
| 3 | 1 | ~1min | ✓ |
### Task Details
| Task | Wave | Implementer | Reviewer | Issues Fixed | Status |
|------|------|-------------|----------|--------------|--------|
### Loose Ends Resolved
- [Conflicts fixed]
- [Integration issues addressed]
### Quality Gate
- Build: PASS
- Tests: PASS
- Lint: PASS
```
## Dependency Detection
Tasks depend on each other when:
```
Task A: "Create User model"
Task B: "Add validation to User model" ← Depends on A
Task A: "Implement auth backend"
Task B: "Write auth tests" ← Depends on A
Task A: "Update config schema"
Task B: "Migrate existing configs" ← Depends on A
```
Tasks are independent when:
```
Task A: "Add logging to ingestion"
Task B: "Add metrics to query" ← Different modules, independent
Task A: "Write User docs"
Task B: "Write Config docs" ← Different files, independent
```
## Agent Selection
### Implementers
Select agents based on the task domain. Examples:
| Task Type | Agent Example |
|-----------|---------------|
| Backend code | `primary-developer` |
| Tests | `quality-engineer` |
| Auth | `auth-engineer` |
| Storage | `storage-architect` |
| K8s/Ops | `ops-engineer` |
| UI | `ux-prototyper` |
| Docs | `tech-doc-writer` |
Check `~/.claude/agents/` for available agents.
### Reviewers
| Risk Type | Reviewer Example |
|-----------|------------------|
| Code quality | `quality-engineer` |
| Security | `security-reviewer` |
| Performance | `performance-lead` |
| E2E | `e2e-validator` |
## Critical Rules
- NEVER put dependent tasks in same wave
- ALWAYS review even in parallel mode
- ALWAYS check for conflicts after parallel execution
- ALWAYS run quality gate at the end
- ANNOUNCE wave plan before executing
- MAX 3 fix cycles per task, then escalate
audioFiles:
- name: Maxwell_Verifies_AI_With_Thermodynamic_Fingerprints.m4a
title: "Research Overview"
description: "NotebookLM synthesis of 10 research directives"
source: NotebookLM
filesCreated:
- name: firecracker-latency-benchmarks.md
description: Benchmarking pause/resume latency for thermal emergencies
- name: ebpf-overhead-validation.md
description: Validating eBPF instrumentation overhead under production load
- name: rapl-accuracy-calibration.md
description: Calibrating Intel RAPL power reporting accuracy across hardware
- name: thermal-time-constant-validation.md
description: Measuring actual thermal time constants for different hardware
- name: thermal-coupling-measurement.md
description: Quantifying heat transfer between adjacent cores
- name: gsp-thermal-stability.md
description: Analyzing GSP auction stability under thermal dynamics
- name: high-frequency-auction-research.md
description: Researching 100Hz market clearing without CPU overhead
- name: power-trace-verification.md
description: Distinguishing inference from mining via power signatures
- name: proof-of-inference.md
description: Cryptographic verification of ML workload execution
- name: thermal-gossip-consensus-research.md
description: Coordinating thermal state across distributed clusters
navigation:
prev:
slug: 002-building-the-scaffolding
id: "002"
title: Understanding the Project
next:
slug: 004-hydrating-the-roadmap
id: "004"
title: Hydrating the Roadmap