feat: Add support for Jira-linked work management and enhance standup generation context

This commit is contained in:
2026-04-09 15:18:51 -06:00
parent 22198a6c6f
commit d40d82bacd
12 changed files with 65 additions and 4 deletions

View File

@@ -18,6 +18,7 @@ Behavior rules:
- Promote information carefully:
- daily facts go to `ai/logs/YYYY-MM-DD.md`
- current priorities go to `ai/state/current.md`
- active Jira-linked work goes to `ai/state/work-items.md`
- durable project knowledge goes to `ai/context/project.md`
- confirmed team or manager communication preferences go to `ai/context/people/jeff.md`
- confirmed decisions go to `ai/context/decisions/`

View File

@@ -22,6 +22,7 @@ Then:
- automatically promote explicit, project-relevant, high-confidence facts
- default destination is `ai/logs/$(date +%F).md`
- update `ai/state/current.md` only for facts that materially change the current work window
- update `ai/state/work-items.md` for explicit Jira IDs, approved titles, points, scope, and status notes
- do not write tooling noise, sync status, or generic chat chatter into project memory
- if a fact is ambiguous, skip it rather than asking the user what to do

View File

@@ -9,6 +9,7 @@ Read:
@ai/AGENTS.md
@ai/context/project.md
@ai/state/current.md
@ai/state/work-items.md
@knowledge/workspace-model.md
@knowledge/communication-rules.md
@knowledge/memory-promotion-rules.md
@@ -32,6 +33,7 @@ Instructions:
- Update the smallest correct set of files among:
- `ai/logs/$(date +%F).md`
- `ai/state/current.md`
- `ai/state/work-items.md`
- `ai/context/project.md`
- `ai/context/decisions/*.md`
- Prefer concrete project updates over broad summaries

View File

@@ -4,21 +4,31 @@ description: Draft a standup from the latest Fidelity workspace context
Generate a standup update using the latest workspace state.
First, refresh Mattermost context before drafting:
!`if [ -n "$FIDELITY_MATTERMOST_SYNC_CMD" ]; then bash -lc "$FIDELITY_MATTERMOST_SYNC_CMD" >/dev/null 2>&1 || true; elif [ -f scripts/mattermost/sync.sh ]; then bash scripts/mattermost/sync.sh >/dev/null 2>&1 || true; fi`
Read:
@prompts/standup.md
@ai/AGENTS.md
@ai/context/project.md
@ai/state/current.md
@ai/state/work-items.md
@knowledge/communication-rules.md
@knowledge/agent-memory-rules.md
Yesterday's log, if present:
!`y=$(date -v-1d +%F 2>/dev/null || python3 - <<'PY'\nfrom datetime import datetime, timedelta\nprint((datetime.now().astimezone() - timedelta(days=1)).strftime('%Y-%m-%d'))\nPY\n); if [ -f "ai/logs/$y.md" ]; then echo "$y"; cat "ai/logs/$y.md"; else echo "No log exists for yesterday."; fi`
Today's log, if present:
!`if [ -f ai/logs/$(date +%F).md ]; then cat ai/logs/$(date +%F).md; else echo "No log exists for today yet."; fi`
If no log exists for today, also inspect the most recent previous log:
Latest Mattermost context, preferring inbox and falling back to generated JSONL:
!`latest=$(ls -1 ai/logs 2>/dev/null | sort | tail -n 1); if [ -n "$latest" ]; then echo "$latest"; cat "ai/logs/$latest"; else echo "No logs available."; fi`
!`if [ -s ai/inbox/mattermost-latest.md ]; then cat ai/inbox/mattermost-latest.md; elif [ -s scripts/mattermost/generated/mattermost_context.jsonl ]; then cat scripts/mattermost/generated/mattermost_context.jsonl; else echo "No Mattermost context available."; fi`
Return a standup that is:

View File

@@ -11,6 +11,7 @@ Read:
@ai/context/project.md
@ai/context/people/jeff.md
@ai/state/current.md
@ai/state/work-items.md
@knowledge/workspace-model.md
@knowledge/communication-rules.md
@knowledge/agent-memory-rules.md
@@ -29,6 +30,7 @@ Instructions:
- Decide whether the new information belongs in:
- today's log
- `ai/state/current.md`
- `ai/state/work-items.md`
- `ai/context/project.md`
- `ai/context/people/jeff.md`
- `ai/context/decisions/`

View File

@@ -17,6 +17,7 @@ The detailed operating rules live in:
- `ai/context/project.md`
- `ai/context/people/jeff.md`
- `ai/state/current.md`
- `ai/state/work-items.md`
- `knowledge/workspace-model.md`
- `knowledge/communication-rules.md`
@@ -33,6 +34,7 @@ These are also loaded through `opencode.json`.
- `mattermost-sync` should automatically promote high-confidence project facts without asking what to promote.
- Prefer `ai/logs/` as the default destination for new Mattermost-derived facts.
- Promote to `ai/state/current.md` only when the fact materially changes active work over the next few days.
- Keep explicit Jira IDs and approved titles in `ai/state/work-items.md` when they are useful for future standups or manager updates.
- Promote to `ai/context/project.md` only when the fact changes durable project understanding.
- Never promote tooling chatter, sync status, or generic conversation noise.
- Direct user prompts are also memory sources. Do not limit memory updates to explicit sync commands.

View File

@@ -70,6 +70,7 @@ When drafting messages for Jeff:
- Auto-promote direct user-provided project facts when they are clearly project-relevant, explicit, and useful for future sessions
- Default promotion target is today's log
- Promote to `ai/state/current.md` only when the fact changes the active work window
- Maintain `ai/state/work-items.md` with explicit Jira IDs, approved titles, and currently relevant scope/status notes
- Promote to `ai/context/project.md` only when the fact is durable beyond the current work window
- Update existing memory when the new information is a correction, clarification, or refinement of something already stored
- Prefer updating stable project context over appending generic operational summaries

16
ai/state/work-items.md Normal file
View File

@@ -0,0 +1,16 @@
# Active Work Items
Use this file to keep current Jira-linked work visible across sessions.
Update it only with explicit, project-relevant information that is useful for future standups, status updates, or debugging context.
## Current
- `PDIAP-15765` - AO DOB field error not showing investigation
Current note: issue was moved back to In Progress temporarily and should move to Done after the new sprint starts.
- `PDIAP-15836` - Modernize dismissal delegate lifecycle sequencing for pure SwiftUI environment
Current note: story created, sized at 8 points, and aligned with epic `26Q2 - Updating XFlowSDK to Decouple and Fix ApexKit Dependencies (Split Part 2)`.
- `PDIAP-15838`
Current note: REST deprecation work item approved at 8 points to remove Apollo, GraphQL-specific networking code, related tests and mocks, and transport feature flags so REST remains.

View File

@@ -78,6 +78,17 @@ Use when the fact changes the active work window, including:
- current blockers or debugging constraints
- manager direction that changes the next few days of work
### `ai/state/work-items.md`
Use for current Jira-linked work that should remain easy to reference across sessions, especially:
- Jira IDs
- approved or explicit titles
- currently relevant status notes
- current points or scope notes
This file should help standups and manager updates mention work items precisely.
### `ai/context/project.md`
Use for durable project knowledge that should survive beyond the current work window.

View File

@@ -41,6 +41,18 @@ Use current state only for facts that materially affect active work over the nex
Do not copy every daily update into current state.
### Promote to `ai/state/work-items.md`
Use this file for:
- explicit Jira IDs
- approved or explicit story titles
- current story points
- current scope notes
- active status notes that still matter for future updates
If a Jira item is likely to appear again in standups or Jeff updates, it belongs here.
### Promote to `ai/context/project.md`
Use project context only for durable project knowledge that should survive beyond the current work window, such as:

View File

@@ -44,6 +44,7 @@
"./ai/context/project.md",
"./ai/context/people/jeff.md",
"./ai/state/current.md",
"./ai/state/work-items.md",
"./ai/context/decisions/rest-vs-graphql.md",
"./ai/context/decisions/discourse-handling.md",
"./ai/AGENTS.md",

View File

@@ -1,15 +1,17 @@
# Standup Prompt
Use the latest files in `ai/state/current.md`, `ai/context/project.md`, `ai/context/people/jeff.md`, and today's log.
Use `ai/state/current.md`, `ai/state/work-items.md`, `ai/context/project.md`, `ai/context/people/jeff.md`, yesterday's log, today's log if present, and the latest available Mattermost context.
Generate a standup update for an iOS engineer working on Fidelity.
Requirements:
- Use the most recent context only
- Be specific about what was worked on
- Be specific about what was worked on yesterday
- Mention debugging findings only if they materially changed understanding
- Clarify auth-dependent behavior when relevant
- Mention Jira IDs and approved titles when they are available and clearly tied to the reported work
- Prefer story-based reporting when the work maps clearly to a Jira item
- Avoid vague phrases and generic progress language
- Keep it concise and ready to send