Add planning spec template and expanded project backlog pack
This commit is contained in:
20
docs/planning/README.md
Normal file
20
docs/planning/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Planning Workspace
|
||||
|
||||
This directory is for real project planning and backlog management.
|
||||
|
||||
## Files
|
||||
- `professional_project_spec_v1.md`: canonical project spec template.
|
||||
- `project_backlog_schema_v1.json`: JSON schema for backlog records.
|
||||
- `project_backlog_starter_2026-02-27.json`: starter backlog with high-significance fields.
|
||||
- `specs/`: one spec per project (`<project_id>.md`).
|
||||
|
||||
## Workflow
|
||||
1. Add or update a project in `project_backlog_starter_2026-02-27.json`.
|
||||
2. Create its spec in `specs/<project_id>.md` using the v1 template.
|
||||
3. Raise `execution_readiness` to `execution_ready` only when checklist is complete.
|
||||
4. During burst month, execute by priority + dependency order while preserving `personal_significance_tier`.
|
||||
|
||||
## Priority Policy
|
||||
- `priority_tier` decides urgency.
|
||||
- `personal_significance_tier` prevents mission-critical personal projects from being deprioritized by short-term throughput goals.
|
||||
- If conflict exists, treat `core_life_work` as protected unless explicitly overridden.
|
||||
110
docs/planning/professional_project_spec_v1.md
Normal file
110
docs/planning/professional_project_spec_v1.md
Normal file
@@ -0,0 +1,110 @@
|
||||
# Professional Project Spec v1
|
||||
|
||||
Use this template for projects intended for production execution.
|
||||
|
||||
## 0) Project Identity
|
||||
- `project_id`:
|
||||
- `project_name`:
|
||||
- `owner`:
|
||||
- `status`: (`draft` | `ready_for_execution` | `in_progress` | `shipped`)
|
||||
- `version`:
|
||||
- `created_at`:
|
||||
- `updated_at`:
|
||||
|
||||
## 1) Why This Matters
|
||||
- `mission_summary`: one paragraph
|
||||
- `personal_significance`: why this matters to you specifically
|
||||
- `must_not_fail_outcomes`: what failure would be unacceptable
|
||||
- `non_goals`: what this project will explicitly not try to solve
|
||||
|
||||
## 2) Users and Use Cases
|
||||
- `primary_users`:
|
||||
- `secondary_users`:
|
||||
- `critical_user_journeys`:
|
||||
- `success_moments`:
|
||||
|
||||
## 3) Product Scope
|
||||
- `in_scope_capabilities`:
|
||||
- `out_of_scope_capabilities`:
|
||||
- `milestones`:
|
||||
- `M1`:
|
||||
- `M2`:
|
||||
- `M3`:
|
||||
|
||||
## 4) Environment and Constraints
|
||||
- `target_platforms`: (web, desktop, mobile, server, embedded, edge, etc.)
|
||||
- `runtime_environments`: (OS/runtime/container)
|
||||
- `hardware_constraints`: CPU, RAM, storage, device class, special hardware
|
||||
- `latency_constraints`: p50/p95/p99 targets
|
||||
- `throughput_constraints`: req/s, jobs/hour, etc.
|
||||
- `availability_constraints`: uptime/SLA targets
|
||||
- `dependency_constraints`: required/prohibited libraries/services
|
||||
- `security_constraints`: auth, encryption, secrets handling, threat model notes
|
||||
- `compliance_constraints`: legal/regulatory requirements
|
||||
- `budget_constraints`: cost ceilings for infra/services
|
||||
|
||||
## 5) Architecture Intent
|
||||
- `system_context`:
|
||||
- `major_components`:
|
||||
- `data_flows`:
|
||||
- `integration_points`:
|
||||
- `migration_strategy`: if replacing existing system
|
||||
- `rollback_strategy`: precise rollback triggers and playbook
|
||||
|
||||
## 6) API and Data Contracts
|
||||
- `external_api_contracts`:
|
||||
- `internal_contracts`:
|
||||
- `data_models`:
|
||||
- `versioning_policy`:
|
||||
- `backward_compatibility_requirements`:
|
||||
|
||||
## 7) Quality and Determinism Requirements
|
||||
- `determinism_requirements`:
|
||||
- `replay_requirements`:
|
||||
- `auditability_requirements`:
|
||||
- `observability_requirements`: logs/metrics/traces + required dashboards
|
||||
- `error_budget_and_alerting`:
|
||||
|
||||
## 8) Acceptance Criteria (Executable)
|
||||
- Every criterion should be pass/fail and testable.
|
||||
- `functional_acceptance_criteria`:
|
||||
- `performance_acceptance_criteria`:
|
||||
- `security_acceptance_criteria`:
|
||||
- `resilience_acceptance_criteria`:
|
||||
- `operational_acceptance_criteria`:
|
||||
|
||||
## 9) Test and Validation Plan
|
||||
- `unit_test_scope`:
|
||||
- `integration_test_scope`:
|
||||
- `e2e_test_scope`:
|
||||
- `load_test_plan`:
|
||||
- `failure_injection_plan`:
|
||||
- `release_readiness_gate`:
|
||||
|
||||
## 10) Delivery Plan
|
||||
- `execution_order`:
|
||||
- `dependency_graph`:
|
||||
- `release_plan`: canary/staged rollout details
|
||||
- `owner_checkpoints`:
|
||||
|
||||
## 11) Risk Register
|
||||
- `top_risks`:
|
||||
- `risk_mitigations`:
|
||||
- `contingency_plans`:
|
||||
|
||||
## 12) Project Memory (For Future Agents)
|
||||
- `decision_log`:
|
||||
- `known_tradeoffs`:
|
||||
- `open_questions`:
|
||||
- `handoff_notes`:
|
||||
|
||||
---
|
||||
|
||||
## Minimum Ready-for-Execution Checklist
|
||||
Mark all as true before queueing this project for build:
|
||||
- [ ] Personal significance and must-not-fail outcomes are explicit.
|
||||
- [ ] Constraints are quantified (latency, throughput, hardware, budget).
|
||||
- [ ] Acceptance criteria are executable pass/fail checks.
|
||||
- [ ] Rollback and migration strategy are concrete.
|
||||
- [ ] API/data contracts are versioned and compatibility expectations are clear.
|
||||
- [ ] Risk register includes mitigations and contingency plans.
|
||||
537
docs/planning/project_backlog_expanded_2026-02-27.json
Normal file
537
docs/planning/project_backlog_expanded_2026-02-27.json
Normal file
@@ -0,0 +1,537 @@
|
||||
{
|
||||
"schema_version": "project_backlog_v1",
|
||||
"generated_at": "2026-02-27",
|
||||
"projects": [
|
||||
{
|
||||
"project_id": "core-001",
|
||||
"project_name": "Whetstone Constructive Execution Hardening",
|
||||
"priority_tier": "P0",
|
||||
"personal_significance_tier": "core_life_work",
|
||||
"execution_readiness": "execution_ready",
|
||||
"domain_tags": ["developer-tools", "codegen", "determinism"],
|
||||
"platform_tags": ["linux", "cli", "mcp"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 300, "throughput_target": "100 taskitems/hour", "hardware_target": "consumer desktop", "availability_target": "99.9%", "cost_ceiling_monthly_usd": 300},
|
||||
"risk_level": "critical",
|
||||
"estimated_size": "XL",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/core-001.md",
|
||||
"notes": "Primary platform core."
|
||||
},
|
||||
{
|
||||
"project_id": "core-002",
|
||||
"project_name": "Hivemind Orchestration Finish and Hardening",
|
||||
"priority_tier": "P0",
|
||||
"personal_significance_tier": "core_life_work",
|
||||
"execution_readiness": "spec_draft",
|
||||
"domain_tags": ["orchestration", "tool-contracts", "reliability"],
|
||||
"platform_tags": ["cli", "api", "server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 400, "throughput_target": "500 routed ops/hour", "hardware_target": "consumer desktop + small server", "availability_target": "99.9%", "cost_ceiling_monthly_usd": 500},
|
||||
"risk_level": "critical",
|
||||
"estimated_size": "XL",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/core-002.md",
|
||||
"notes": "Top priority override from portfolio doc."
|
||||
},
|
||||
{
|
||||
"project_id": "core-003",
|
||||
"project_name": "Whetstone Editor Release Stabilization",
|
||||
"priority_tier": "P0",
|
||||
"personal_significance_tier": "core_life_work",
|
||||
"execution_readiness": "execution_ready",
|
||||
"domain_tags": ["editor", "mcp", "determinism"],
|
||||
"platform_tags": ["linux", "desktop", "cli"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 250, "throughput_target": "interactive", "hardware_target": "consumer desktop", "availability_target": "99.5%", "cost_ceiling_monthly_usd": 150},
|
||||
"risk_level": "critical",
|
||||
"estimated_size": "L",
|
||||
"depends_on": ["core-001"],
|
||||
"spec_path": "docs/planning/specs/core-003.md",
|
||||
"notes": "Finish/hardening before broad expansion."
|
||||
},
|
||||
{
|
||||
"project_id": "core-004",
|
||||
"project_name": "Phills Skills Intake and Stabilization",
|
||||
"priority_tier": "P0",
|
||||
"personal_significance_tier": "core_life_work",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["product", "aws", "ui", "multi-language"],
|
||||
"platform_tags": ["web", "server", "aws"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 300, "throughput_target": "1k req/s", "hardware_target": "cloud managed", "availability_target": "99.9%", "cost_ceiling_monthly_usd": 2000},
|
||||
"risk_level": "critical",
|
||||
"estimated_size": "XL",
|
||||
"depends_on": ["core-002", "core-003"],
|
||||
"spec_path": "docs/planning/specs/core-004.md",
|
||||
"notes": "Personal high-care project; preserve baseline before refactors."
|
||||
},
|
||||
{
|
||||
"project_id": "core-005",
|
||||
"project_name": "Portfolio Execution Engine",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "high",
|
||||
"execution_readiness": "spec_draft",
|
||||
"domain_tags": ["planning", "automation", "operations"],
|
||||
"platform_tags": ["cli", "api"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 500, "throughput_target": "200 project-updates/hour", "hardware_target": "consumer desktop", "availability_target": "99.5%", "cost_ceiling_monthly_usd": 200},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "L",
|
||||
"depends_on": ["core-001", "core-002"],
|
||||
"spec_path": "docs/planning/specs/core-005.md",
|
||||
"notes": "Burst-month throughput multiplier."
|
||||
},
|
||||
|
||||
{
|
||||
"project_id": "borg-001",
|
||||
"project_name": "Borgswarm System Context Runtime",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "high",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["orchestration", "context", "knowledge"],
|
||||
"platform_tags": ["server", "api"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 500, "throughput_target": "200 context ops/s", "hardware_target": "cloud", "availability_target": "99.9%", "cost_ceiling_monthly_usd": 800},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "L",
|
||||
"depends_on": ["core-002"],
|
||||
"spec_path": "docs/planning/specs/borg-001.md",
|
||||
"notes": "Cluster B anchor project."
|
||||
},
|
||||
{
|
||||
"project_id": "borg-002",
|
||||
"project_name": "WordPress Conflict Scanner",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "high",
|
||||
"execution_readiness": "spec_draft",
|
||||
"domain_tags": ["wordpress", "static-analysis", "conflict-detection"],
|
||||
"platform_tags": ["web", "cli"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 1200, "throughput_target": "scan 100 plugins/hour", "hardware_target": "consumer desktop", "availability_target": "99.0%", "cost_ceiling_monthly_usd": 200},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "L",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/borg-002.md",
|
||||
"notes": "From BorgWP roadmap + scanner requirements."
|
||||
},
|
||||
{
|
||||
"project_id": "borg-003",
|
||||
"project_name": "WP Hypergraph Conflict Schema Runtime",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["schema", "graph", "wordpress"],
|
||||
"platform_tags": ["cli", "server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 1500, "throughput_target": "10k edge ops/min", "hardware_target": "consumer desktop", "availability_target": "99.0%", "cost_ceiling_monthly_usd": 150},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["borg-002"],
|
||||
"spec_path": "docs/planning/specs/borg-003.md",
|
||||
"notes": "Schema/productization layer."
|
||||
},
|
||||
{
|
||||
"project_id": "borg-004",
|
||||
"project_name": "Conflict Bridge Resolver",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["resolver", "policy", "wordpress"],
|
||||
"platform_tags": ["server", "api"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 1000, "throughput_target": "200 resolutions/hour", "hardware_target": "cloud", "availability_target": "99.5%", "cost_ceiling_monthly_usd": 300},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["borg-002", "borg-003"],
|
||||
"spec_path": "docs/planning/specs/borg-004.md",
|
||||
"notes": "Bridge between detection and mitigation."
|
||||
},
|
||||
|
||||
{
|
||||
"project_id": "doc-001",
|
||||
"project_name": "Universal Document Ingestion",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "high",
|
||||
"execution_readiness": "spec_draft",
|
||||
"domain_tags": ["ingestion", "document-ai", "pipeline"],
|
||||
"platform_tags": ["server", "cli"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 1000, "throughput_target": "5k docs/day", "hardware_target": "cloud", "availability_target": "99.5%", "cost_ceiling_monthly_usd": 700},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "L",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/doc-001.md",
|
||||
"notes": "Cluster C core project."
|
||||
},
|
||||
{
|
||||
"project_id": "doc-002",
|
||||
"project_name": "Advanced GDrive Sentinel",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["google-drive", "ingestion", "monitoring"],
|
||||
"platform_tags": ["server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 1200, "throughput_target": "event-driven", "hardware_target": "cloud", "availability_target": "99.5%", "cost_ceiling_monthly_usd": 300},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["doc-001"],
|
||||
"spec_path": "docs/planning/specs/doc-002.md",
|
||||
"notes": "Monitors and triggers document workflows."
|
||||
},
|
||||
{
|
||||
"project_id": "doc-003",
|
||||
"project_name": "Universal Doc Sorter",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["classification", "routing", "documents"],
|
||||
"platform_tags": ["server", "cli"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 600, "throughput_target": "2k docs/hour", "hardware_target": "cloud", "availability_target": "99.0%", "cost_ceiling_monthly_usd": 250},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["doc-001"],
|
||||
"spec_path": "docs/planning/specs/doc-003.md",
|
||||
"notes": "Downstream routing after ingestion."
|
||||
},
|
||||
|
||||
{
|
||||
"project_id": "fab-001",
|
||||
"project_name": "Project Fabricate Core",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "high",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["cad", "fabrication", "geometry"],
|
||||
"platform_tags": ["desktop", "cli"],
|
||||
"constraint_profile": {"latency_ms_p95_max": null, "throughput_target": "interactive geometry < 100ms ops", "hardware_target": "desktop with GPU optional", "availability_target": null, "cost_ceiling_monthly_usd": 150},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "XL",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/fab-001.md",
|
||||
"notes": "Cluster D anchor."
|
||||
},
|
||||
{
|
||||
"project_id": "fab-002",
|
||||
"project_name": "LLM-Driven Constructive CAD Toolkit",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "high",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["cad", "codegen", "fabrication"],
|
||||
"platform_tags": ["desktop", "server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 800, "throughput_target": "50 model ops/min", "hardware_target": "desktop", "availability_target": "99.0%", "cost_ceiling_monthly_usd": 400},
|
||||
"risk_level": "critical",
|
||||
"estimated_size": "XL",
|
||||
"depends_on": ["fab-001", "core-001"],
|
||||
"spec_path": "docs/planning/specs/fab-002.md",
|
||||
"notes": "High-value greenfield lane."
|
||||
},
|
||||
{
|
||||
"project_id": "fab-003",
|
||||
"project_name": "Adaptive Mechanical Intelligence Platform",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "high",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["mechanical-intelligence", "simulation", "cad"],
|
||||
"platform_tags": ["desktop", "server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": null, "throughput_target": "batch simulation", "hardware_target": "desktop GPU preferred", "availability_target": null, "cost_ceiling_monthly_usd": 500},
|
||||
"risk_level": "critical",
|
||||
"estimated_size": "XL",
|
||||
"depends_on": ["fab-001", "fab-002"],
|
||||
"spec_path": "docs/planning/specs/fab-003.md",
|
||||
"notes": "Long-range strategic build."
|
||||
},
|
||||
|
||||
{
|
||||
"project_id": "infra-001",
|
||||
"project_name": "Deterministic Benchmark Corpus Expansion",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "execution_ready",
|
||||
"domain_tags": ["benchmark", "evaluation", "quality"],
|
||||
"platform_tags": ["cli"],
|
||||
"constraint_profile": {"latency_ms_p95_max": null, "throughput_target": "50 benchmark projects/day", "hardware_target": "consumer desktop", "availability_target": null, "cost_ceiling_monthly_usd": 100},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["core-001"],
|
||||
"spec_path": "docs/planning/specs/infra-001.md",
|
||||
"notes": "Generalization proof workload."
|
||||
},
|
||||
{
|
||||
"project_id": "infra-002",
|
||||
"project_name": "ML Data Pipeline Strategy Implementation",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["ml", "data-pipeline", "ops"],
|
||||
"platform_tags": ["server", "cloud"],
|
||||
"constraint_profile": {"latency_ms_p95_max": null, "throughput_target": "daily batch + streaming", "hardware_target": "cloud", "availability_target": "99.0%", "cost_ceiling_monthly_usd": 1200},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "L",
|
||||
"depends_on": ["core-002"],
|
||||
"spec_path": "docs/planning/specs/infra-002.md",
|
||||
"notes": "Infrastructure + applied R&D cluster."
|
||||
},
|
||||
{
|
||||
"project_id": "infra-003",
|
||||
"project_name": "Remote Terminal and GPU Monitoring Stack",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["monitoring", "gpu", "ops"],
|
||||
"platform_tags": ["linux", "server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 2000, "throughput_target": "poll 100 hosts/min", "hardware_target": "mixed", "availability_target": "99.5%", "cost_ceiling_monthly_usd": 150},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "M",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/infra-003.md",
|
||||
"notes": "Ops reliability helper."
|
||||
},
|
||||
{
|
||||
"project_id": "infra-004",
|
||||
"project_name": "Universal Logic Database (Monolith)",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "high",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["database", "logic", "knowledge"],
|
||||
"platform_tags": ["server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 500, "throughput_target": "10k queries/min", "hardware_target": "cloud", "availability_target": "99.9%", "cost_ceiling_monthly_usd": 900},
|
||||
"risk_level": "critical",
|
||||
"estimated_size": "XL",
|
||||
"depends_on": ["core-002"],
|
||||
"spec_path": "docs/planning/specs/infra-004.md",
|
||||
"notes": "High ambition; stage carefully."
|
||||
},
|
||||
|
||||
{
|
||||
"project_id": "bench-001",
|
||||
"project_name": "Financial Invariants Replay Engine",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["finance", "replay", "determinism"],
|
||||
"platform_tags": ["cli", "server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 200, "throughput_target": "5k tx/s simulated", "hardware_target": "consumer desktop", "availability_target": "99.5%", "cost_ceiling_monthly_usd": 100},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["infra-001"],
|
||||
"spec_path": "docs/planning/specs/bench-001.md",
|
||||
"notes": "From challenging deterministic catalog."
|
||||
},
|
||||
{
|
||||
"project_id": "bench-002",
|
||||
"project_name": "Distributed Lock Semantics Verifier",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["concurrency", "distributed-systems", "verification"],
|
||||
"platform_tags": ["cli", "server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 500, "throughput_target": "1k lock events/s", "hardware_target": "consumer desktop", "availability_target": "99.0%", "cost_ceiling_monthly_usd": 100},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["infra-001"],
|
||||
"spec_path": "docs/planning/specs/bench-002.md",
|
||||
"notes": "Targets missing concurrency signal classes."
|
||||
},
|
||||
{
|
||||
"project_id": "bench-003",
|
||||
"project_name": "CRDT Convergence and Causal Ordering Suite",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["crdt", "distributed-systems", "determinism"],
|
||||
"platform_tags": ["cli", "server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": null, "throughput_target": "simulation batch", "hardware_target": "consumer desktop", "availability_target": null, "cost_ceiling_monthly_usd": 100},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["infra-001"],
|
||||
"spec_path": "docs/planning/specs/bench-003.md",
|
||||
"notes": "High semantic complexity."
|
||||
},
|
||||
{
|
||||
"project_id": "bench-004",
|
||||
"project_name": "Saga Compensation Timeout Recovery Harness",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["saga", "transactions", "resilience"],
|
||||
"platform_tags": ["server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 400, "throughput_target": "500 saga runs/min", "hardware_target": "consumer desktop", "availability_target": "99.0%", "cost_ceiling_monthly_usd": 120},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["infra-001"],
|
||||
"spec_path": "docs/planning/specs/bench-004.md",
|
||||
"notes": "Transactional recovery stressor."
|
||||
},
|
||||
{
|
||||
"project_id": "bench-005",
|
||||
"project_name": "Policy Explainability and Precedence Evaluator",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["policy", "explainability", "rules-engine"],
|
||||
"platform_tags": ["cli", "server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 350, "throughput_target": "2k policy eval/min", "hardware_target": "consumer desktop", "availability_target": "99.0%", "cost_ceiling_monthly_usd": 80},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["infra-001"],
|
||||
"spec_path": "docs/planning/specs/bench-005.md",
|
||||
"notes": "Good for semantic reasoning checks."
|
||||
},
|
||||
{
|
||||
"project_id": "bench-006",
|
||||
"project_name": "Streaming Out-of-Order Replay Determinism Lab",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["streaming", "replay", "ordering"],
|
||||
"platform_tags": ["server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 250, "throughput_target": "10k events/s", "hardware_target": "cloud", "availability_target": "99.5%", "cost_ceiling_monthly_usd": 200},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "L",
|
||||
"depends_on": ["infra-001"],
|
||||
"spec_path": "docs/planning/specs/bench-006.md",
|
||||
"notes": "Ordering + replay determinism."
|
||||
},
|
||||
{
|
||||
"project_id": "bench-007",
|
||||
"project_name": "Schema Evolution CDC Checkpoint Validator",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["schema-evolution", "cdc", "data"],
|
||||
"platform_tags": ["server", "data"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 500, "throughput_target": "hourly migration validation", "hardware_target": "cloud", "availability_target": "99.0%", "cost_ceiling_monthly_usd": 120},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["infra-001", "infra-002"],
|
||||
"spec_path": "docs/planning/specs/bench-007.md",
|
||||
"notes": "Data contract migration robustness."
|
||||
},
|
||||
{
|
||||
"project_id": "bench-008",
|
||||
"project_name": "High-Contention Rate Limiter Proof Suite",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "low",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["rate-limiting", "concurrency", "performance"],
|
||||
"platform_tags": ["server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 100, "throughput_target": "50k req/s simulated", "hardware_target": "cloud", "availability_target": "99.9%", "cost_ceiling_monthly_usd": 150},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["infra-001"],
|
||||
"spec_path": "docs/planning/specs/bench-008.md",
|
||||
"notes": "Performance constraint stressor."
|
||||
},
|
||||
{
|
||||
"project_id": "bench-009",
|
||||
"project_name": "Transactional Build Graph Executor",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["build-systems", "transactions", "tooling"],
|
||||
"platform_tags": ["cli"],
|
||||
"constraint_profile": {"latency_ms_p95_max": null, "throughput_target": "1k graph edges/min", "hardware_target": "consumer desktop", "availability_target": null, "cost_ceiling_monthly_usd": 50},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "L",
|
||||
"depends_on": ["core-001"],
|
||||
"spec_path": "docs/planning/specs/bench-009.md",
|
||||
"notes": "Long-range edit and dependency semantics."
|
||||
},
|
||||
{
|
||||
"project_id": "bench-010",
|
||||
"project_name": "Secure Staged Rollout and Rollback Workflow",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "high",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["security", "rollout", "operations"],
|
||||
"platform_tags": ["server", "cloud"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 400, "throughput_target": "deployment pipeline", "hardware_target": "cloud", "availability_target": "99.9%", "cost_ceiling_monthly_usd": 250},
|
||||
"risk_level": "critical",
|
||||
"estimated_size": "L",
|
||||
"depends_on": ["core-002"],
|
||||
"spec_path": "docs/planning/specs/bench-010.md",
|
||||
"notes": "Professional release hardening baseline."
|
||||
},
|
||||
|
||||
{
|
||||
"project_id": "tmpl-001",
|
||||
"project_name": "High-Reliability Node API Gateway",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["node", "api", "gateway"],
|
||||
"platform_tags": ["server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 200, "throughput_target": "2k req/s", "hardware_target": "2 vCPU / 4GB", "availability_target": "99.9%", "cost_ceiling_monthly_usd": 120},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "S",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/tmpl-001.md",
|
||||
"notes": "From example_projects seed."
|
||||
},
|
||||
{
|
||||
"project_id": "tmpl-002",
|
||||
"project_name": "Rust Metrics Agent Pro",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["rust", "metrics", "agent"],
|
||||
"platform_tags": ["linux", "cli", "server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 100, "throughput_target": "1k metrics/s", "hardware_target": "edge", "availability_target": "99.9%", "cost_ceiling_monthly_usd": 60},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "S",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/tmpl-002.md",
|
||||
"notes": "Good medium complexity starter."
|
||||
},
|
||||
{
|
||||
"project_id": "tmpl-003",
|
||||
"project_name": "Go Worker Pool with Deterministic Replay",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["go", "concurrency", "replay"],
|
||||
"platform_tags": ["server", "cli"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 150, "throughput_target": "10k jobs/min", "hardware_target": "consumer desktop", "availability_target": "99.5%", "cost_ceiling_monthly_usd": 70},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "S",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/tmpl-003.md",
|
||||
"notes": "Targets concurrency failure classes."
|
||||
},
|
||||
{
|
||||
"project_id": "tmpl-004",
|
||||
"project_name": "C++ Cache Indexer with Multi-File Consistency",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["cpp", "indexing", "multifile"],
|
||||
"platform_tags": ["linux", "cli"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 300, "throughput_target": "index 100k files/hour", "hardware_target": "consumer desktop", "availability_target": "99.0%", "cost_ceiling_monthly_usd": 50},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "M",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/tmpl-004.md",
|
||||
"notes": "Good C++ reliability gate project."
|
||||
},
|
||||
{
|
||||
"project_id": "tmpl-005",
|
||||
"project_name": "React Admin Panel Accessibility Hardening",
|
||||
"priority_tier": "P3",
|
||||
"personal_significance_tier": "low",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["react", "ui", "accessibility"],
|
||||
"platform_tags": ["web"],
|
||||
"constraint_profile": {"latency_ms_p95_max": 120, "throughput_target": "interactive UI", "hardware_target": "browser", "availability_target": null, "cost_ceiling_monthly_usd": 40},
|
||||
"risk_level": "low",
|
||||
"estimated_size": "S",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/tmpl-005.md",
|
||||
"notes": "UI quality slice."
|
||||
},
|
||||
{
|
||||
"project_id": "tmpl-006",
|
||||
"project_name": "SQL ETL Pipeline Idempotency and Drift Guard",
|
||||
"priority_tier": "P2",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["sql", "etl", "data-quality"],
|
||||
"platform_tags": ["data", "server"],
|
||||
"constraint_profile": {"latency_ms_p95_max": null, "throughput_target": "hourly batch", "hardware_target": "cloud", "availability_target": "99.0%", "cost_ceiling_monthly_usd": 80},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "S",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/tmpl-006.md",
|
||||
"notes": "Data reliability starter."
|
||||
}
|
||||
]
|
||||
}
|
||||
77
docs/planning/project_backlog_schema_v1.json
Normal file
77
docs/planning/project_backlog_schema_v1.json
Normal file
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "whetstone/planning/project_backlog_schema_v1",
|
||||
"title": "Project Backlog Schema v1",
|
||||
"type": "object",
|
||||
"required": ["schema_version", "generated_at", "projects"],
|
||||
"properties": {
|
||||
"schema_version": { "const": "project_backlog_v1" },
|
||||
"generated_at": { "type": "string" },
|
||||
"projects": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": [
|
||||
"project_id",
|
||||
"project_name",
|
||||
"priority_tier",
|
||||
"personal_significance_tier",
|
||||
"execution_readiness",
|
||||
"domain_tags",
|
||||
"spec_path"
|
||||
],
|
||||
"properties": {
|
||||
"project_id": { "type": "string" },
|
||||
"project_name": { "type": "string" },
|
||||
"priority_tier": {
|
||||
"type": "string",
|
||||
"enum": ["P0", "P1", "P2", "P3"]
|
||||
},
|
||||
"personal_significance_tier": {
|
||||
"type": "string",
|
||||
"enum": ["core_life_work", "high", "medium", "low"]
|
||||
},
|
||||
"execution_readiness": {
|
||||
"type": "string",
|
||||
"enum": ["spec_needed", "spec_draft", "spec_ready", "execution_ready", "done"]
|
||||
},
|
||||
"domain_tags": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
},
|
||||
"platform_tags": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
},
|
||||
"constraint_profile": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"latency_ms_p95_max": { "type": ["number", "null"] },
|
||||
"throughput_target": { "type": ["string", "null"] },
|
||||
"hardware_target": { "type": ["string", "null"] },
|
||||
"availability_target": { "type": ["string", "null"] },
|
||||
"cost_ceiling_monthly_usd": { "type": ["number", "null"] }
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"risk_level": {
|
||||
"type": "string",
|
||||
"enum": ["low", "medium", "high", "critical"]
|
||||
},
|
||||
"estimated_size": {
|
||||
"type": "string",
|
||||
"enum": ["XS", "S", "M", "L", "XL"]
|
||||
},
|
||||
"depends_on": {
|
||||
"type": "array",
|
||||
"items": { "type": "string" }
|
||||
},
|
||||
"spec_path": { "type": "string" },
|
||||
"notes": { "type": "string" }
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
111
docs/planning/project_backlog_starter_2026-02-27.json
Normal file
111
docs/planning/project_backlog_starter_2026-02-27.json
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"schema_version": "project_backlog_v1",
|
||||
"generated_at": "2026-02-27",
|
||||
"projects": [
|
||||
{
|
||||
"project_id": "core-001",
|
||||
"project_name": "Whetstone Constructive Execution Hardening",
|
||||
"priority_tier": "P0",
|
||||
"personal_significance_tier": "core_life_work",
|
||||
"execution_readiness": "spec_ready",
|
||||
"domain_tags": ["developer-tools", "codegen", "determinism"],
|
||||
"platform_tags": ["linux", "cli", "mcp"],
|
||||
"constraint_profile": {
|
||||
"latency_ms_p95_max": 300,
|
||||
"throughput_target": "100 taskitems/hour",
|
||||
"hardware_target": "consumer desktop",
|
||||
"availability_target": "99.9%",
|
||||
"cost_ceiling_monthly_usd": 300
|
||||
},
|
||||
"risk_level": "critical",
|
||||
"estimated_size": "XL",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/core-001.md",
|
||||
"notes": "Primary strategic project. Protect quality over speed."
|
||||
},
|
||||
{
|
||||
"project_id": "core-002",
|
||||
"project_name": "Project Portfolio Execution Engine",
|
||||
"priority_tier": "P0",
|
||||
"personal_significance_tier": "high",
|
||||
"execution_readiness": "spec_draft",
|
||||
"domain_tags": ["planning", "automation", "productivity"],
|
||||
"platform_tags": ["cli", "api"],
|
||||
"constraint_profile": {
|
||||
"latency_ms_p95_max": 500,
|
||||
"throughput_target": "200 project-updates/hour",
|
||||
"hardware_target": "consumer desktop",
|
||||
"availability_target": "99.5%",
|
||||
"cost_ceiling_monthly_usd": 200
|
||||
},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "L",
|
||||
"depends_on": ["core-001"],
|
||||
"spec_path": "docs/planning/specs/core-002.md",
|
||||
"notes": "Optimize for your burst-month throughput."
|
||||
},
|
||||
{
|
||||
"project_id": "domain-001",
|
||||
"project_name": "High-Reliability Full-Stack Service Template",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "high",
|
||||
"execution_readiness": "spec_needed",
|
||||
"domain_tags": ["fullstack", "api", "observability"],
|
||||
"platform_tags": ["server", "web"],
|
||||
"constraint_profile": {
|
||||
"latency_ms_p95_max": 250,
|
||||
"throughput_target": "1k req/s",
|
||||
"hardware_target": "2 vCPU / 4GB",
|
||||
"availability_target": "99.9%",
|
||||
"cost_ceiling_monthly_usd": 500
|
||||
},
|
||||
"risk_level": "high",
|
||||
"estimated_size": "L",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/domain-001.md",
|
||||
"notes": "Use as baseline for multiple professional projects."
|
||||
},
|
||||
{
|
||||
"project_id": "domain-002",
|
||||
"project_name": "Compose Multiplatform Product Core",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "core_life_work",
|
||||
"execution_readiness": "spec_draft",
|
||||
"domain_tags": ["mobile", "desktop", "kotlin", "shared-core"],
|
||||
"platform_tags": ["android", "ios", "desktop"],
|
||||
"constraint_profile": {
|
||||
"latency_ms_p95_max": null,
|
||||
"throughput_target": "UI interactions < 16ms budget",
|
||||
"hardware_target": "mid-range mobile + desktop",
|
||||
"availability_target": null,
|
||||
"cost_ceiling_monthly_usd": null
|
||||
},
|
||||
"risk_level": "critical",
|
||||
"estimated_size": "XL",
|
||||
"depends_on": [],
|
||||
"spec_path": "docs/planning/specs/domain-002.md",
|
||||
"notes": "Explicitly separate shared behavior from platform-exclusive behavior."
|
||||
},
|
||||
{
|
||||
"project_id": "infra-001",
|
||||
"project_name": "Deterministic Benchmark Corpus Expansion",
|
||||
"priority_tier": "P1",
|
||||
"personal_significance_tier": "medium",
|
||||
"execution_readiness": "execution_ready",
|
||||
"domain_tags": ["benchmark", "quality", "evaluation"],
|
||||
"platform_tags": ["cli"],
|
||||
"constraint_profile": {
|
||||
"latency_ms_p95_max": null,
|
||||
"throughput_target": "50 benchmark projects/day",
|
||||
"hardware_target": "consumer desktop",
|
||||
"availability_target": null,
|
||||
"cost_ceiling_monthly_usd": 100
|
||||
},
|
||||
"risk_level": "medium",
|
||||
"estimated_size": "M",
|
||||
"depends_on": ["core-001"],
|
||||
"spec_path": "docs/planning/specs/infra-001.md",
|
||||
"notes": "Needed to prove generalization, not just single-path wins."
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user