- Migration c5d6e7f8a9b0: domain_goals and repo_goals tables, repo_goal_id FK on workstreams - DomainGoal: one active per domain (partial unique index), status active/archived/superseded - RepoGoal: integer priority, status active/paused/completed/archived, optional domain_goal_id link - WorkstreamUpdate schema and router extended with repo_goal_id and repo_goal_id filter - 6 new MCP goal tools: create_domain_goal, get_domain_goals, activate_domain_goal, create_repo_goal, get_repo_goals, update_repo_goal - update_workstream MCP tool: patch any subset of workstream fields (title, description, owner, due_date, repo_goal_id, status) - get_domain_summary extended with goal_guidance (needs_workplan, alignment_warnings) signals - Dashboard goals.md page and docs/goals.md reference page - CLAUDE.md template updated to act on goal_guidance signals at session start - CUST-WP-0010 workplan for this feature Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
78 lines
2.4 KiB
Markdown
78 lines
2.4 KiB
Markdown
---
|
|
id: CUST-WP-0010
|
|
type: workstream
|
|
title: Domain and Repository Goals
|
|
domain: custodian
|
|
status: completed
|
|
owner: custodian
|
|
topic_slug: the-custodian
|
|
state_hub_workstream_id: ""
|
|
created: 2026-03-08
|
|
updated: 2026-03-08
|
|
state_hub_workstream_id: "def8455a-9de4-4891-a15a-5b09ca98ab1e"
|
|
---
|
|
|
|
# Domain and Repository Goals
|
|
|
|
## Purpose
|
|
|
|
Capture strategic intent at two levels — domain and repository — as first-class
|
|
entities in the State Hub. Domain goals express the high-level direction for a
|
|
domain; repository goals refine that into actionable targets for a specific repo.
|
|
Workstreams can be linked to a repo goal so the goal hierarchy is visible when
|
|
planning and reviewing progress.
|
|
|
|
## Schema
|
|
|
|
### `domain_goals`
|
|
- One active goal per domain at a time (partial unique index enforced by DB)
|
|
- `status`: active | archived | superseded
|
|
- Activating a new goal auto-supersedes the previous active one
|
|
|
|
### `repo_goals`
|
|
- Multiple active goals per repo, ordered by `priority` (integer, lower = higher)
|
|
- Optional FK to `domain_goal_id` — traces which domain goal drove this repo goal
|
|
- `status`: active | paused | completed | archived
|
|
|
|
### `workstreams.repo_goal_id`
|
|
- Nullable FK added so workstreams can be tagged to a specific repo goal
|
|
|
|
## MCP Tools Added
|
|
|
|
- `create_domain_goal(domain_slug, title, description)`
|
|
- `get_domain_goals(domain_slug, status?)`
|
|
- `activate_domain_goal(goal_id)`
|
|
- `create_repo_goal(repo_slug, title, description, domain_goal_id?, priority?)`
|
|
- `get_repo_goals(repo_slug, status?)`
|
|
- `update_repo_goal(goal_id, ...)`
|
|
|
|
## Seed Data
|
|
|
|
**railiance domain goal** (active):
|
|
> "Improve the railiance repositories so that I can securely set up a three
|
|
> phoenix server setup to provide for the coulomb infrastructure with proper
|
|
> IT-Security, Backup and Update management in a fully automated way."
|
|
|
|
**railiance-bootstrap repo goal** (active, priority 10):
|
|
> "Bootstrap a new server securely at hosteurope that can function as the
|
|
> second kubernetes host for the railiance setup. Focus on security and single
|
|
> server; defer automated provisioning (railiance-hosts) for now."
|
|
|
|
## Tasks
|
|
|
|
### Implement Goals schema, API, and MCP tools
|
|
```task
|
|
id: T01
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "051fd9e1-d15c-4665-adc9-704c4d2b24ea"
|
|
```
|
|
|
|
### Seed railiance example goals
|
|
```task
|
|
id: T02
|
|
status: done
|
|
priority: high
|
|
state_hub_task_id: "103b46d9-6241-4ef1-9063-054478900b5c"
|
|
```
|