feat: scaffold BuildPulse v0.1 cockpit

This commit is contained in:
OpenClaw Bot
2026-05-07 00:11:35 +02:00
parent 8f0ba43728
commit bdf8773797
18 changed files with 4835 additions and 0 deletions
+146
View File
@@ -0,0 +1,146 @@
import type { AppState } from '../../store/types'
const seedDate = '2026-05-06T00:00:00+02:00'
export const createSeedState = (): AppState => ({
schema_version: '0.1.0',
project: {
id: 'project_buildpulse',
name: 'BuildPulse',
one_line_pitch: 'A local-first planning cockpit for AI-assisted product building.',
description:
'BuildPulse helps capture features, park distracting ideas, log progress as Pulse events, and export clean context for AI coding agents.',
current_goal: 'Ship v0.1 with Feature Plan, Parking Lot, Pulse Log, and Export.',
notes: 'First dogfood project: BuildPulse manages BuildPulse.',
created_at: seedDate,
updated_at: seedDate,
},
features: [
{
id: 'feature_plan_screen',
title: 'Feature Plan screen',
description: 'Show the active build plan in calm Now / Next / Later / Done columns.',
column: 'now',
priority: 'must',
status: 'ready',
acceptance_criteria: [
'User can create a feature card.',
'User can move a feature between columns.',
'User can edit feature details without clutter.',
],
scope_notes: 'This is the home screen. It should answer “what now?” immediately.',
created_at: seedDate,
updated_at: seedDate,
},
{
id: 'parking_lot_screen',
title: 'Parking Lot screen',
description: 'Capture useful distractions without letting them hijack the build.',
column: 'now',
priority: 'must',
status: 'ready',
acceptance_criteria: [
'User can add parked ideas quickly.',
'Risk and future placement are visible.',
],
scope_notes: 'Parking is success behavior, not failure.',
created_at: seedDate,
updated_at: seedDate,
},
{
id: 'pulse_log_screen',
title: 'Pulse Log screen',
description: 'Log intent, action, results, blockers, and decisions in a future-compatible pulse shape.',
column: 'now',
priority: 'must',
status: 'ready',
acceptance_criteria: [
'User can add manual pulse events.',
'Pulses can link to features optionally.',
],
scope_notes: 'Manual in v0.1. No live agent ingestion yet.',
created_at: seedDate,
updated_at: seedDate,
},
{
id: 'export_screen',
title: 'Export screen',
description: 'Generate clean JSON, JSONL, and Markdown handoff context for AI developers.',
column: 'now',
priority: 'must',
status: 'ready',
acceptance_criteria: [
'JSON export works.',
'Markdown export includes CLAUDE_CONTEXT.md.',
],
scope_notes: 'Handoff quality matters more than bells and whistles.',
created_at: seedDate,
updated_at: seedDate,
},
],
parking_lot: [
{
id: 'parked_ai_triage',
title: 'AI idea triage',
description: 'Use AI to classify new ideas into Now, Next, Later, Parking Lot, or Reject.',
reason_parked: 'Manual workflow must prove useful first.',
possible_future_placement: 'v0.2',
risk_level: 'medium',
created_at: seedDate,
updated_at: seedDate,
},
{
id: 'parked_multi_project',
title: 'Multi-project support',
description: 'Track several products from one BuildPulse instance.',
reason_parked: 'Single-project discipline is the whole point of v0.1.',
possible_future_placement: 'v0.6+',
risk_level: 'medium',
created_at: seedDate,
updated_at: seedDate,
},
{
id: 'parked_openclaw_integration',
title: 'OpenClaw / Hermes integration',
description: 'Ingest agent events, task output, and status directly into BuildPulse.',
reason_parked: 'Way too spicy for v0.1. Manual pulse logging first.',
possible_future_placement: 'v1.0+',
risk_level: 'high',
created_at: seedDate,
updated_at: seedDate,
},
],
pulses: [
{
id: 'pulse_seed_001',
timestamp: seedDate,
project_id: 'project_buildpulse',
feature_id: 'feature_plan_screen',
source: 'manual',
agent_id: 'jimmi',
pulse_type: 'INTENT',
message: 'Start BuildPulse as a calm single-project cockpit, not a full agent framework.',
structured_payload: {},
confidence_score: 0.95,
evidence_refs: ['docs/PRODUCT_BRIEF.md', 'docs/SCOPE.md'],
trace_id: 'session_seed',
},
{
id: 'pulse_seed_002',
timestamp: seedDate,
project_id: 'project_buildpulse',
source: 'manual',
agent_id: 'jimmi',
pulse_type: 'DECISION',
message: 'Park AI triage, releases, and integrations until the manual workflow proves itself.',
structured_payload: {},
confidence_score: 0.9,
evidence_refs: ['docs/DECISIONS.md', 'docs/PARKING_LOT.md'],
trace_id: 'session_seed',
},
],
settings: {
theme: 'light',
default_agent_id: 'jimmi',
},
})