feat: Refactor communication context to generalize from Jeff to current manager and enhance people management structure
This commit is contained in:
@@ -20,7 +20,8 @@ Behavior rules:
|
||||
- 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 team or manager communication preferences go to `ai/context/people/manager.md`
|
||||
- role-to-person mapping and recurring stakeholders go to `ai/context/people/`
|
||||
- confirmed decisions go to `ai/context/decisions/`
|
||||
- Default to writing new same-day information to today's log unless a more durable destination is clearly better.
|
||||
- Update preexisting memory when a new prompt clarifies or corrects something already stored.
|
||||
|
||||
@@ -9,7 +9,8 @@ Use these files as the baseline context:
|
||||
@README.md
|
||||
@ai/AGENTS.md
|
||||
@ai/context/project.md
|
||||
@ai/context/people/jeff.md
|
||||
@ai/context/people/manager.md
|
||||
@ai/context/people/index.md
|
||||
@ai/state/current.md
|
||||
@ai/state/work-items.md
|
||||
@ai/context/decisions/rest-vs-graphql.md
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
---
|
||||
description: Draft or polish a Mattermost update for Jeff
|
||||
description: Draft or polish a Mattermost update for the current manager or stakeholder
|
||||
---
|
||||
|
||||
Draft a concise Mattermost message for Jeff in natural US English.
|
||||
Draft a concise Mattermost message for the current manager or stakeholder in natural professional English.
|
||||
|
||||
Read:
|
||||
|
||||
@prompts/manager-update.md
|
||||
@ai/AGENTS.md
|
||||
@ai/context/project.md
|
||||
@ai/context/people/jeff.md
|
||||
@ai/context/people/manager.md
|
||||
@ai/context/people/index.md
|
||||
@ai/state/current.md
|
||||
@ai/state/work-items.md
|
||||
@knowledge/communication-rules.md
|
||||
@@ -9,7 +9,8 @@ Read:
|
||||
@README.md
|
||||
@ai/AGENTS.md
|
||||
@ai/context/project.md
|
||||
@ai/context/people/jeff.md
|
||||
@ai/context/people/manager.md
|
||||
@ai/context/people/index.md
|
||||
@ai/state/current.md
|
||||
@ai/state/work-items.md
|
||||
@knowledge/workspace-model.md
|
||||
@@ -32,7 +33,9 @@ Instructions:
|
||||
- `ai/state/current.md`
|
||||
- `ai/state/work-items.md`
|
||||
- `ai/context/project.md`
|
||||
- `ai/context/people/jeff.md`
|
||||
- `ai/context/people/manager.md`
|
||||
- `ai/context/people/index.md`
|
||||
- `ai/context/people/*.md`
|
||||
- `ai/context/decisions/`
|
||||
- Update the appropriate files directly
|
||||
- If an existing statement became stale, replace or refine it
|
||||
|
||||
@@ -11,7 +11,8 @@ Read:
|
||||
@prompts/mattermost-translation.md
|
||||
@ai/AGENTS.md
|
||||
@ai/context/project.md
|
||||
@ai/context/people/jeff.md
|
||||
@ai/context/people/manager.md
|
||||
@ai/context/people/index.md
|
||||
@knowledge/communication-rules.md
|
||||
|
||||
If relevant, use today's log for context:
|
||||
|
||||
@@ -15,8 +15,10 @@ export const FidelityCompaction = async ({ directory }) => {
|
||||
const baseFiles = [
|
||||
"README.md",
|
||||
"ai/context/project.md",
|
||||
"ai/context/people/jeff.md",
|
||||
"ai/context/people/manager.md",
|
||||
"ai/context/people/index.md",
|
||||
"ai/state/current.md",
|
||||
"ai/state/work-items.md",
|
||||
"ai/context/decisions/rest-vs-graphql.md",
|
||||
"ai/context/decisions/discourse-handling.md",
|
||||
"knowledge/workspace-model.md",
|
||||
|
||||
@@ -7,7 +7,7 @@ OpenCode should treat this project as a persistent context layer used to:
|
||||
- keep current project state accurate
|
||||
- capture durable information from daily work
|
||||
- draft standups and Mattermost messages
|
||||
- improve communication for Jeff in natural US English
|
||||
- improve communication for the current manager or stakeholder in natural professional English
|
||||
|
||||
## Always-Loaded Context
|
||||
|
||||
@@ -15,7 +15,8 @@ The detailed operating rules live in:
|
||||
|
||||
- `ai/AGENTS.md`
|
||||
- `ai/context/project.md`
|
||||
- `ai/context/people/jeff.md`
|
||||
- `ai/context/people/manager.md`
|
||||
- `ai/context/people/index.md`
|
||||
- `ai/state/current.md`
|
||||
- `ai/state/work-items.md`
|
||||
- `knowledge/workspace-model.md`
|
||||
@@ -36,6 +37,8 @@ These are also loaded through `opencode.json`.
|
||||
- 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.
|
||||
- When a repeatedly mentioned person becomes relevant to project flow, create or update a file under `ai/context/people/`.
|
||||
- Keep role-to-person mapping explicit in `ai/context/people/manager.md` and the roster in `ai/context/people/index.md`.
|
||||
- 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.
|
||||
- If a new prompt corrects prior understanding, update the canonical file directly instead of keeping both versions alive.
|
||||
|
||||
11
README.md
11
README.md
@@ -2,7 +2,7 @@
|
||||
|
||||
AI-native companion workspace for daily iOS engineering on Fidelity.
|
||||
|
||||
This repository is not the product codebase. It is the operational context layer used from this machine to keep project state current, capture communication from Mattermost, prepare standups, and draft clear updates for Jeff in polished US English.
|
||||
This repository is not the product codebase. It is the operational context layer used from this machine to keep project state current, capture communication from Mattermost, prepare standups, and draft clear updates for a manager or stakeholder in polished professional English.
|
||||
|
||||
---
|
||||
|
||||
@@ -24,7 +24,7 @@ This workspace is used to:
|
||||
- record what happened during implementation and debugging
|
||||
- sync relevant communication from Mattermost
|
||||
- preserve current project context between sessions
|
||||
- draft messages for Jeff with the right tone and scope
|
||||
- draft messages for the current manager or stakeholder with the right tone and scope
|
||||
- translate rough notes into concise native-sounding English
|
||||
|
||||
Core principle:
|
||||
@@ -95,7 +95,8 @@ Read:
|
||||
|
||||
- `ai/state/current.md`
|
||||
- `ai/context/project.md`
|
||||
- `ai/context/people/jeff.md`
|
||||
- `ai/context/people/manager.md`
|
||||
- `ai/context/people/index.md`
|
||||
- latest file under `ai/logs/`
|
||||
|
||||
### During the day
|
||||
@@ -127,7 +128,7 @@ Update:
|
||||
|
||||
- today log
|
||||
- current state
|
||||
- next communication needs for Jeff
|
||||
- next communication needs for the current manager or stakeholder
|
||||
|
||||
---
|
||||
|
||||
@@ -159,7 +160,7 @@ Project commands live under `.opencode/commands/` and are intended to:
|
||||
- load the baseline Fidelity context
|
||||
- sync Mattermost context into the workspace inbox
|
||||
- draft standups
|
||||
- draft Jeff updates
|
||||
- draft manager updates
|
||||
- convert rough notes into daily log updates
|
||||
|
||||
This keeps AI output tied to the latest workspace state instead of relying on chat memory alone.
|
||||
|
||||
@@ -13,7 +13,7 @@ This workspace is used to maintain context, organize communication, and draft ac
|
||||
- Keep project context current
|
||||
- Convert Mattermost communication into structured notes
|
||||
- Draft standups and manager updates
|
||||
- Improve technical messages before sending them to Jeff
|
||||
- Improve technical messages before sending them to the current manager or stakeholder
|
||||
- Translate rough notes into concise US English without changing meaning
|
||||
|
||||
---
|
||||
@@ -36,7 +36,7 @@ Always structure technical updates as:
|
||||
2. Observation
|
||||
3. Action
|
||||
|
||||
When drafting messages for Jeff:
|
||||
When drafting messages for a manager or stakeholder:
|
||||
|
||||
- be concise
|
||||
- be specific
|
||||
@@ -72,6 +72,7 @@ When drafting messages for Jeff:
|
||||
- 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
|
||||
- Maintain `ai/context/people/` when repeated names, roles, or stakeholder relationships become useful for future sessions
|
||||
- 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
|
||||
- Do not create daily log entries for tooling activity, sync status, or generic chat noise
|
||||
@@ -80,7 +81,9 @@ When drafting messages for Jeff:
|
||||
- When the user corrects or changes stable context, update the canonical file directly:
|
||||
- `ai/state/current.md` for current focus or active concerns
|
||||
- `ai/context/project.md` for durable project knowledge
|
||||
- `ai/context/people/jeff.md` for communication preferences
|
||||
- `ai/context/people/manager.md` for communication preferences
|
||||
- `ai/context/people/index.md` for active roster mapping
|
||||
- `ai/context/people/<person>.md` for person-specific context
|
||||
- `ai/context/decisions/*.md` for confirmed decisions
|
||||
- Prefer updating stale context over leaving conflicting statements in different files
|
||||
- If context is still uncertain, record it in the daily log rather than promoting it to a stable context file
|
||||
|
||||
19
ai/context/people/README.md
Normal file
19
ai/context/people/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# People Context
|
||||
|
||||
Store reusable human context here.
|
||||
|
||||
Use this directory for:
|
||||
|
||||
- who is who
|
||||
- current role ownership
|
||||
- communication preferences
|
||||
- recurring stakeholders
|
||||
- stable relationship between people and project work
|
||||
|
||||
Guidelines:
|
||||
|
||||
- use one file per named person when that person matters repeatedly
|
||||
- keep `manager.md` as the role mapping for the current active manager
|
||||
- keep `index.md` as the quick roster for the active project
|
||||
- do not put secrets here
|
||||
- do not invent roles; use qualifiers when uncertain
|
||||
23
ai/context/people/index.md
Normal file
23
ai/context/people/index.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# People Index
|
||||
|
||||
## Active Roles
|
||||
|
||||
- Manager: [jeff-dewitte.md](./jeff-dewitte.md)
|
||||
|
||||
## Known People
|
||||
|
||||
- [jeff-dewitte.md](./jeff-dewitte.md)
|
||||
Current direct manager for the active Fidelity project.
|
||||
|
||||
- [santosh.md](./santosh.md)
|
||||
Project-related contact seen in issue discussions. Exact formal role should be clarified if it becomes important for repeated communication.
|
||||
|
||||
## Usage
|
||||
|
||||
When a person appears repeatedly in project communication, create or update their file here so the agent can reuse:
|
||||
|
||||
- name
|
||||
- role
|
||||
- relationship to the project
|
||||
- communication expectations
|
||||
- important context about how they influence work
|
||||
@@ -1,8 +1,8 @@
|
||||
# Jeff
|
||||
# Jeff DeWitte
|
||||
|
||||
## Role
|
||||
|
||||
Direct supervisor.
|
||||
Current direct manager for the active Fidelity project.
|
||||
|
||||
---
|
||||
|
||||
@@ -11,7 +11,7 @@ Direct supervisor.
|
||||
- Native US English
|
||||
- Prefers clear, concise updates
|
||||
- Needs accurate scope, not vague reassurance
|
||||
- Should be informed of meaningful progress from this machine through Mattermost
|
||||
- Frequently asks for precise reproducibility, auth context, and regression scope
|
||||
|
||||
---
|
||||
|
||||
@@ -31,10 +31,8 @@ Good updates usually clarify:
|
||||
|
||||
---
|
||||
|
||||
## AI Usage
|
||||
## Influence On Work
|
||||
|
||||
AI should help:
|
||||
|
||||
- translate rough Spanish notes into natural US English
|
||||
- tighten wording before sending
|
||||
- remove ambiguity without changing technical meaning
|
||||
- Story titles, points, and scope discussions with Jeff are often worth remembering
|
||||
- Jeff approvals can change what belongs in current state or work-item memory
|
||||
- Jeff feedback is often a signal to tighten wording before communicating externally
|
||||
30
ai/context/people/manager.md
Normal file
30
ai/context/people/manager.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Manager
|
||||
|
||||
## Current Holder
|
||||
|
||||
- Name: Jeff DeWitte
|
||||
- Profile: [jeff-dewitte.md](./jeff-dewitte.md)
|
||||
|
||||
---
|
||||
|
||||
## Role
|
||||
|
||||
Direct supervisor or primary reporting manager for the active project.
|
||||
|
||||
---
|
||||
|
||||
## Usage
|
||||
|
||||
This file maps the current project role to the actual person.
|
||||
|
||||
If the active manager changes in a future project, update this file to point to the new person while preserving their person-specific profile separately.
|
||||
|
||||
---
|
||||
|
||||
## Default Communication Requirements
|
||||
|
||||
- Clear written English
|
||||
- Concise updates
|
||||
- Explicit scope
|
||||
- No vague reassurance
|
||||
- Useful next action when relevant
|
||||
24
ai/context/people/santosh.md
Normal file
24
ai/context/people/santosh.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Santosh
|
||||
|
||||
## Role
|
||||
|
||||
Project-related contact involved in issue discussions.
|
||||
|
||||
The exact formal role is not yet confirmed in workspace memory.
|
||||
|
||||
---
|
||||
|
||||
## Known Context
|
||||
|
||||
- Mentioned in relation to AO or externally reported issue discussion
|
||||
- Relevant when tracking whether a reported issue needs more investigation or can be closed
|
||||
|
||||
---
|
||||
|
||||
## Guidance
|
||||
|
||||
If future communication makes Santosh's role explicit, update this file with:
|
||||
|
||||
- team or function
|
||||
- relationship to Fidelity work
|
||||
- whether the person is a reporter, tester, partner, or stakeholder
|
||||
@@ -53,13 +53,21 @@ This machine is used to:
|
||||
- maintain current project context
|
||||
- record findings from work performed elsewhere
|
||||
- capture Mattermost communication that changes understanding
|
||||
- prepare polished updates for Jeff
|
||||
- prepare polished updates for the current manager or stakeholder
|
||||
- generate standups with better context coverage
|
||||
|
||||
This means logs must capture both technical findings and communication context.
|
||||
|
||||
---
|
||||
|
||||
## People Context
|
||||
|
||||
- The current manager role is mapped in `ai/context/people/manager.md`
|
||||
- The active people roster lives in `ai/context/people/index.md`
|
||||
- Repeatedly relevant named people should have individual files under `ai/context/people/`
|
||||
|
||||
---
|
||||
|
||||
## Communication Expectations
|
||||
|
||||
All important updates should clarify:
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
- Keep Fidelity context current from daily work performed on another machine
|
||||
- Track REST migration findings
|
||||
- Debug Discourse and AO issues
|
||||
- Prepare better updates for Jeff through Mattermost
|
||||
- Prepare better updates for the current manager or stakeholder through Mattermost
|
||||
- Follow up on `PDIAP-15765`, `PDIAP-15836`, and `PDIAP-15838`
|
||||
|
||||
---
|
||||
|
||||
@@ -41,6 +41,7 @@ Examples:
|
||||
- approved manager guidance that changes work direction
|
||||
- confirmed version, dependency, or rollout facts tied to current work
|
||||
- corrections to previously stored project context
|
||||
- repeated named people with stable roles or communication relevance
|
||||
|
||||
---
|
||||
|
||||
@@ -93,10 +94,18 @@ This file should help standups and manager updates mention work items precisely.
|
||||
|
||||
Use for durable project knowledge that should survive beyond the current work window.
|
||||
|
||||
### `ai/context/people/jeff.md`
|
||||
### `ai/context/people/manager.md`
|
||||
|
||||
Use only when a communication preference or manager expectation becomes stable enough to reuse repeatedly.
|
||||
|
||||
### `ai/context/people/index.md` and `ai/context/people/*.md`
|
||||
|
||||
Use these files for:
|
||||
|
||||
- mapping roles to actual people
|
||||
- keeping named stakeholders recognizable across sessions
|
||||
- storing stable communication or responsibility context per person
|
||||
|
||||
### `ai/context/decisions/*.md`
|
||||
|
||||
Use for explicit confirmed decisions with ongoing impact.
|
||||
|
||||
@@ -51,7 +51,7 @@ Use this file for:
|
||||
- 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.
|
||||
If a Jira item is likely to appear again in standups or manager updates, it belongs here.
|
||||
|
||||
### Promote to `ai/context/project.md`
|
||||
|
||||
@@ -68,6 +68,20 @@ Do not promote story-specific daily movement into project context unless it chan
|
||||
|
||||
Use decisions only for explicit confirmed decisions with medium or long-term impact.
|
||||
|
||||
### Promote to `ai/context/people/index.md` and `ai/context/people/*.md`
|
||||
|
||||
Use these files when:
|
||||
|
||||
- a person's identity matters repeatedly
|
||||
- a role becomes associated with a specific person
|
||||
- a stakeholder's communication or approval patterns affect future work
|
||||
|
||||
Prefer:
|
||||
|
||||
- `manager.md` for role mapping
|
||||
- `index.md` for active roster
|
||||
- one file per person for person-specific context
|
||||
|
||||
---
|
||||
|
||||
## Do Not Promote
|
||||
@@ -88,7 +102,7 @@ Do not record these as project memory:
|
||||
|
||||
Auto-promote when the signal is high-confidence, for example:
|
||||
|
||||
- Jeff explicitly approves something
|
||||
- the manager explicitly approves something
|
||||
- a Jira story number, title, points, or scope is explicitly confirmed
|
||||
- a version is stated directly and tied to the active project
|
||||
- a reproduction condition is clearly stated with scope qualifiers
|
||||
@@ -106,7 +120,7 @@ If confidence is mixed:
|
||||
Given Mattermost updates like:
|
||||
|
||||
- PDIAP-15836 created and sized at 8 points
|
||||
- Jeff approved a story title
|
||||
- the manager approved a story title
|
||||
- REST-removal scope was approved
|
||||
- XFlowViewMaker 0.5.0 is already in Fid4
|
||||
- AO DOB validation issue appears auth-only in TeenIdentityCheck
|
||||
|
||||
@@ -42,7 +42,8 @@
|
||||
"instructions": [
|
||||
"./README.md",
|
||||
"./ai/context/project.md",
|
||||
"./ai/context/people/jeff.md",
|
||||
"./ai/context/people/manager.md",
|
||||
"./ai/context/people/index.md",
|
||||
"./ai/state/current.md",
|
||||
"./ai/state/work-items.md",
|
||||
"./ai/context/decisions/rest-vs-graphql.md",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Manager Update Prompt
|
||||
|
||||
Use the current state, today's log, and `ai/context/people/jeff.md`.
|
||||
Use the current state, today's log, and `ai/context/people/manager.md`.
|
||||
|
||||
Draft a Mattermost update for Jeff in concise US English.
|
||||
Draft a Mattermost update for the current manager or stakeholder in concise professional English.
|
||||
|
||||
Requirements:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Standup Prompt
|
||||
|
||||
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.
|
||||
Use `ai/state/current.md`, `ai/state/work-items.md`, `ai/context/project.md`, `ai/context/people/manager.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.
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Goal
|
||||
|
||||
Prepare a concise, accurate Mattermost update for Jeff.
|
||||
Prepare a concise, accurate Mattermost update for the current manager or stakeholder.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ Use OpenCode as the daily AI entry point for this workspace without losing proje
|
||||
1. Run `/fidelity-context` at the start of the day.
|
||||
2. If Mattermost sync is configured, let the inbox refresh automatically or run `/mattermost-sync`.
|
||||
3. When new work happens on the main development machine, run `/sync-context ...` or `/log-note ...`.
|
||||
4. When you need a supervisor update, run `/jeff-update ...`.
|
||||
4. When you need a supervisor update, run `/manager-update ...`.
|
||||
5. When you need polished English for Mattermost, run `/translate ...`.
|
||||
6. When you need a standup, run `/standup`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user