Notion — HoEN Product Board¶
Reference for the apply-work-tracking Notion adapter. Draft — refine as automation lands.
Board¶
| Item | Value |
|---|---|
| Name | HoEN Product Board |
| URL | https://app.notion.com/p/wue/263e0376fa44807dbd4bc9c61619c52b |
| Data source ID | 263e0376-fa44-80e9-8a68-000b4b277092 |
| Default active view | Active board (263e0376-fa44-80be-817f-000c2727d807) |
Component type vs Product¶
| Field | Meaning | Examples |
|---|---|---|
| Component type | Which git repo / codebase owns the work | WUE Website, ImpactStack, HoEN Library, HoEN Explorer, engineeringneeds.io, HoEN API |
| Product | Product line or module (especially ImpactStack) | Workshop, Coordinated Assessment, Self Service SaaS; legacy tags may include repo names |
One card per tracked plan/ADR. Filter views by Component type when working in a single repo.
Schema (plan sync)¶
Properties added for git ↔ Notion sync (names as shown in Notion UI):
| Property | Type | Purpose |
|---|---|---|
| Task name | title | Human title (Epic name, ADR title) |
| Status | status | Not started · In progress · In review · Done |
| Work type | select | Epic · Story · Task · Bug · ADR |
| Component type | select | Repo / component (see table above) |
| Product | multi_select | ImpactStack modules or product tags |
| Priority | select | Team priority |
| Assignee | person | Optional owner |
| Description | text | Short summary |
| Plan ID | rich_text | Stable slug — lookup key (articles-migration-from-wix, adr-001-…) |
| Plan doc | url | Full GitHub blob URL to plan/ADR markdown |
| Effort JSON | rich_text | Optional snapshot of sidecar (automation) |
| Pct complete | number | From summarize-effort.mjs |
| Effort done / Effort total | number | Fibonacci rollups |
| Steps done / Steps total | number | Step counts |
| Phases done / Phases total | number | Phase counts |
| Effort remaining | number | Remaining Fibonacci points |
| Progress headline | rich_text | 👀 one-liner from script or ADR status |
| Current plan phase | rich_text | Active phase label |
| Ship note | rich_text | Cutover / ship notes when done |
| Plan synced at | date | Last agent/script sync |
| Keep on board | checkbox | Keep Done cards visible |
| Last edited | last_edited_time | For 60-day Done filter |
Field mapping from summarize-effort.mjs¶
Run from hoen-library path (or equivalent in global skills install):
node library/skills/plan-effort-estimate/scripts/summarize-effort.mjs \
--input path/to/plan.effort.json --pretty
Map JSON keys to Notion properties (exact key names depend on script version — prefer
--pretty output as the contract):
| Script / plan source | Notion property |
|---|---|
pctComplete or equivalent |
Pct complete |
| Effort done / total | Effort done, Effort total |
| Step counts | Steps done, Steps total |
| Phase counts | Phases done, Phases total |
| Remaining effort | Effort remaining |
| Markdown headline / phase line | Progress headline, Current plan phase |
| All steps Done | Status → Done |
| Any step in progress | Status → In progress |
| Plan file path on GitHub | Plan doc |
| Basename without extension | Plan ID |
Never hand-sum Fibonacci points for the board.
ADR cards (no effort JSON)¶
Example: ADR-001 card
- Work type: ADR
- Component type: WUE Website (or repo’s value)
- Plan ID:
adr-001-article-rendering-and-ssr - Plan doc: GitHub URL to
docs/planning/adr-001-article-rendering-and-ssr.md - Progress headline: Derived from ADR Status table
- Keep on board: Often checked — ADRs stay referenceable while related epics run
Page body can mirror the ADR Status table; Plan doc on the card remains the source link.
Views¶
| View | Intent |
|---|---|
| Active board | Kanban by Status; primary working view |
| Epics & Stories | Filter Work type ∈ |
| ADRs | Filter Work type = ADR (create when needed) |
| All Tasks | Includes Task/Bug |
| Recent done | Table of Done in last ~60 days (optional) |
Active board filter (60-day Done)¶
Desired logic (may require manual Notion UI — MCP struggled with compound OR):
Cards shown early in view: Task name, Work type, Component type, Product, Priority, Progress headline, Current plan phase, Assignee.
MCP notes¶
- Schema changes:
notion-update-data-sourcewith collection/data source ID above. - Create card:
notion-create-pageswithparent.data_source_id. - View filters with OR + relative dates may need human confirmation in Notion UI.
- After creating ADR work type, extend select:
ALTER COLUMN "Work type" SET SELECT(..., 'ADR':yellow).
Future script¶
sync-plan-to-notion.mjs (not yet in library) should:
- Accept
--plan path/to/plan.mdand optional--effort path/to/plan.effort.json - Run validate + summarize internally
- Upsert by Plan ID + Component type
- Set Plan synced at
Until then, agents follow Part B in SKILL.md manually or via Notion MCP.