Aha Studio Implementation Plan¶
Scope¶
This plan covers remaining and upcoming work only. Completed phases (1 through 10a, and most of 10b) are recorded in ROADMAP.md, which remains the authoritative per-phase status tracker. Update ROADMAP.md status tables as items below land.
Workstream 1: Phase 12 — Feature-Release Query Support (In Progress)¶
Enable querying features by release date or name from the local cache. Sync-side capture of release_id is complete; the query layer remains.
| Item | Package | Notes |
|---|---|---|
| Feature→Release relationship rows | sync/ |
Insert BELONGS_TO rows into the relationships table during sync |
GetFeaturesByReleaseDate |
sync/db.go |
Date-indexed lookup joining features to releases |
GetFeaturesByReleaseName |
sync/db.go |
Name-based lookup |
AQL release.date support |
planner/, executor/ |
Qualifier syntax already exists for custom.*; extend to release.* |
AQL release.name support |
planner/, executor/ |
Same mechanism |
list_features_by_release_date MCP tool |
mcp/ |
Thin wrapper over the db methods |
Depends on aha-go returning release details with features (in place as of v0.7.0 usage).
Workstream 2: Phase 11 — HTTP API Remainder (In Progress)¶
Core server, saved filters, search, and graph endpoints are complete.
| Item | Priority | Notes |
|---|---|---|
| OpenAPI 3.0 specification | Medium | Generate or hand-author; serve at /api/openapi.json; enables client generation |
/metrics Prometheus endpoint |
Low | Query counts, latencies, cache hit rate |
| WebSocket streaming | Low | Stream large result sets; defer until a concrete consumer exists |
Workstream 3: Phase 10b Gaps — Remaining Write Tools¶
Small, independent items; good batch for a single release.
| Tool | Notes |
|---|---|
create_idea |
aha-go CreateIdea() exists per ROADMAP dependency table |
create_release |
Pair with existing update_release |
add_goal_to_feature / remove_goal_from_feature |
Goal-feature linking |
get_feature_ideas |
Ideas promoted to a feature |
list_idea_categories |
Category lookup with caching |
delete_idea |
Low priority; destructive, require confirmation semantics |
Workstream 4: Phase 10c — Analytics and Statistics Tools¶
Aggregated metrics without fetching all records to the client.
| Item | Notes |
|---|---|
get_ideas_statistics |
Counts by status/category, vote stats, top ideas per group |
get_features_statistics |
Counts by release/status, requirements summary |
get_idea_voter_domains |
Unique voter domain analytics |
Prefer computing from the SQLite cache when synced (fast, no API quota); fall back to API aggregation.
Workstream 5: OmniSignal Adapter (New)¶
Bridges Aha Studio into the ProductContext ecosystem. See TRD.md for the IR contract.
| Step | Deliverable |
|---|---|
| 1 | Adapter package (e.g., omnisignal/ in this repo) mapping Aha Idea → enhancement signal IR |
| 2 | Product/category normalization: map Aha products and idea categories to canonical IDs |
| 3 | Metrics extraction: votes, subscribers, organizations, named customers, opportunities, estimated ARR |
| 4 | Lifecycle mapping: Aha workflow status → normalized status, plus ageDays from created date |
| 5 | Batch export command (aha-studio signals export) and/or provider registration with plexusone/omnisignal |
| 6 | Round-trip tests against recorded fixtures; no live API in unit tests |
Coordinate the IR schema with plexusone/omnisignal (runtime) and plexusone/signal-spec (canonical model) before implementing step 1 — the signal schema is owned there, not here.
Workstream 6: Phase 13 — DuckDB Migration (Planned, Last)¶
Columnar engine for analytical queries. Deliberately sequenced after Phases 10c and 12 so real query patterns inform the design.
| Step | Notes |
|---|---|
| 1 | Benchmark current SQLite performance on representative analytics queries |
| 2 | Feature-flagged DuckDB backend for entity data; SQLite retained for sync metadata |
| 3 | Parquet export support |
| 4 | Validate and flip default, or drop if SQLite proves sufficient |
Workstream 7: Phase 10d — External Integrations (Planned)¶
Jira fetch/search, Confluence read/search, and AI workflow tools (review_idea, triage_new_ideas, groom_feature). Lowest priority; revisit scope after the OmniSignal adapter ships, since some cross-system use cases may be better served at the OmniSignal layer than inside Aha Studio.
Sequencing Summary¶
- Phase 12 completion (small, unblocks release-based reporting)
- Phase 10b gap tools (small batch release)
- OmniSignal adapter (strategic; needs schema coordination first)
- Phase 11 remainder (OpenAPI spec first)
- Phase 10c analytics tools
- Phase 13 DuckDB evaluation
- Phase 10d integrations
Release Discipline¶
Each workstream should ship as its own tagged release following the pre-push checklist: no local replace directives (one currently exists in go.mod for aha-go and must be resolved before pushing), tests and lint green, CI passing before tagging, conventional commits throughout.