- Updated work items with new statuses, notes, and dependencies: - `PDIAP-15838` moved to Done, draft PR remains unmerged. - `PDIAP-15836` status updated to backlog-ready, sequenced after `PDIAP-15838`. - `PDIAP-12284` reopened for UIKit removal, dependency for `PDIAP-15836`. - Added new backlog items: `PDIAP-11961`, `PDIAP-11962`, `PDIAP-11562`, `PDIAP-12226`, `PDIAP-12227`, `PDIAP-12228`. - Completed `PDIAP-16167`, documented findings in Confluence. - Created daily log for 2026-05-05 summarizing work item updates and backlog triage. - Added diagnostic script for workspace analysis.
AI Workspace - Fidelity Profile
Reusable AI-native companion workspace with Fidelity configured as the first real project profile.
This repository is not the product codebase. It is an operational context layer used to keep project state current, capture communication evidence, prepare standups, draft clear stakeholder updates, and generate self-contained prompts for another AI that has access to the implementation codebase.
The reusable logic lives in core/. The clean project second brain lives in project-knowledge/. Agent operating memory lives in agent-memory/. Fidelity-specific setup lives in the active profile under profiles/fidelity/.
Shared cross-platform workflow/rule content lives in .agents/. OpenCode reads that content through .opencode/ compatibility paths, and Gemini-compatible entry context starts at GEMINI.md.
Purpose
- Provide a reusable file-based AI workspace pattern
- Keep Fidelity context current outside the main development machine
- Turn fragmented daily work into reusable AI-ready context
- Support standups, manager updates, Jira notes, and debugging summaries
- Generate high-quality prompts for GitHub Copilot or another AI on the Fidelity development machine
- Improve communication quality without losing technical accuracy
Operating Model
You work on Fidelity from a different machine.
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 the current manager or stakeholder with the right tone and scope
- translate rough notes into concise native-sounding English
- generate self-contained prompts for another AI that does have access to the product codebase
Core principle:
Context must be updated before asking AI to write.
Reusable principle:
Integrations extract evidence. The agent promotes memory.
Reusable Architecture
/project-knowledge
Canonical Obsidian second brain and transferable project knowledge.
00-start/-> onboarding, glossary, and start-here01-current/-> current work and active work-item summary02-work-items/-> ticket/task notes with metadata properties03-context/-> systems, workstreams, project-facing process, and iOS context04-people/-> people, roles, and collaboration context05-decisions/-> durable decisions06-daily/-> daily notes07-maps/-> graph hubs and semantic maps08-bases/-> Obsidian Bases09-templates/-> Obsidian templatesattachments/-> vault assets
/agent-memory
Agent operating memory.
behavior/-> agent learning and self-maintenance rulesmemory/-> promotion, correction, and context-maintenance rulesintegrations/-> memory interface, Obsidian adapter, communication sources, and technical verificationworkflows/-> AI-to-AI prompting and workspace behavior modelmaps/-> agent-side navigation maps
/.agents
Shared cross-platform workflow and rule source.
workflows/-> reusable workflow definitions used by OpenCode-compatible commands and Antigravity-compatible workflow viewsrules/-> reusable skill/rule contentskills/-> skill-path compatibility layer pointing atrules/
/.opencode
OpenCode runtime surface.
commands/-> OpenCode slash commands, currently linked to.agents/workflows/skills/-> OpenCode skills, currently linked to shared.agents/contentagents/-> OpenCode agent definitionsplugins/-> OpenCode-specific plugins
/core
Project-independent workspace logic.
README.md-> reusable operating modelmemory/operational-memory.md-> reusable memory classes, promotion rules, correction rules, self-maintenance rulesintegrations/communication-model.md-> live communication and historical archive connector contractprofiles/create-project-profile.md-> checklist for adapting the workspace to another project
/profiles
Project-specific configuration.
profiles/fidelity/-> active Fidelity implementation profileprofiles/example/-> non-sensitive example profile for new projects
Profiles declare project assumptions, communication sources, work-item system, stakeholders, enabled commands, and enabled skills.
Project Scope
Fidelity iOS ecosystem:
- Fid4
- XFlowSDK
- FTFrameworks
- REST migration replacing GraphQL over time
- Discourse and AO issues that require careful classification
Runtime Structure
/ai
Runtime inbox for communication evidence.
inbox/-> communication evidence and transient inbox files before promotion intoproject-knowledge/
/prompts
Reusable prompts for:
- standups
- Mattermost updates
- manager communication
- issue clarification
/workflows
Repeatable working guides for:
- daily context sync
- flow debugging
- external issue analysis
/scripts
Helpers for automation around memory access, context generation, communication drafting, and imports.
scripts/memory/-> project-agnostic interface for canonical memoryscripts/obsidian/-> current Obsidian adapter and URI helpersscripts/mattermost/-> live communication connectorscripts/slack/-> historical archive importer
/project-knowledge/.obsidian
Optional Obsidian vault configuration.
Open project-knowledge/ as the Obsidian vault. Do not open the repository root as the vault.
Portable vault configuration can be versioned, while local layout and plugin runtime files are ignored.
Obsidian is the current visual interface over canonical memory. The reusable memory access layer is scripts/memory/, so the workspace can later swap Obsidian for another Markdown knowledge tool without changing the memory model.
Daily Usage
Start of day
Read:
project-knowledge/00-start/start-here.mdproject-knowledge/01-current/current-work.mdproject-knowledge/01-current/work-items.mdproject-knowledge/03-context/project.mdproject-knowledge/04-people/manager.mdproject-knowledge/04-people/index.md- latest file under
project-knowledge/06-daily/
During the day
Capture:
- implementation progress from the main development machine
- Mattermost conversations that change scope or priorities
- debugging findings
- open questions, blockers, and follow-ups
Write updates in:
project-knowledge/06-daily/YYYY-MM-DD.md
Before sending a message
Confirm:
- context
- current observation
- requested or implied action
- whether the issue is external behavior or regression
- whether the flow is authenticated or non-authenticated
End of day
Update:
- today log
- current state
- next communication needs for the current manager or stakeholder
Expected Output
This workspace should help produce:
- high-signal standups
- clearer Mattermost updates
- concise supervisor communication
- better issue framing
- more reliable AI-generated English
OpenCode Entry Point
This workspace is designed to work well with the OpenCode VS Code extension.
Recommended usage:
- Open this repository as its own VS Code workspace.
- Start OpenCode from the integrated terminal at the repository root.
- Begin each session with
/workspace-contextor the Fidelity alias/fidelity-context. - As new information appears during the day, update context before asking for drafting help.
Project commands live under .opencode/commands/ and are intended to:
- load the reusable core plus active project profile
- sync live communication context into the workspace inbox
- draft standups
- draft manager updates
- draft prompts for another AI on the implementation machine
- force-refresh and inspect latest communication messages
- convert rough notes into daily log updates
This keeps AI output tied to the latest workspace state instead of relying on chat memory alone.
Cross-platform note:
.agents/is the shared source of truth for reusable workflows/rules.opencode/is the OpenCode execution layer.agent/may exist as a naming alias for tools that look for singular agent directoriesGEMINI.mdis the Gemini CLI entrypoint for shared workspace context
Generic Commands
/workspace-context-> load core plus active profile/memory-health-> check canonical memory and adapter health/memory-create-> create a typed canonical note through the memory interface/communication-sync-> sync live communication evidence and promote high-confidence memory/archive-import-> import historical archive evidence/ai-prompt-> generate a self-contained prompt for another AI/standup-> generate a work-item-aware daily standup/manager-update-> draft stakeholder-ready status/translate-> rewrite rough notes into professional English/sync-context-> incorporate new facts or corrections into memory
Compatibility aliases remain available for the Fidelity profile:
/fidelity-context/mattermost-sync/slack-import/copilot-prompt/swift-help
Communication Memory Flow
This workspace supports a live-memory pattern for communication sources such as Mattermost.
Recommended setup:
- Use the workspace-local script at
scripts/mattermost/sync.sh, or override it withAIW_MATTERMOST_SYNC_CMD. - Let OpenCode run with the project plugins enabled.
- The Mattermost inbox plugin will periodically refresh
ai/inbox/mattermost-latest.md. - Promote durable facts from the inbox into
project-knowledge/06-daily/,project-knowledge/01-current/,project-knowledge/02-work-items/, andproject-knowledge/03-context/.
Use /communication-sync or /mattermost-sync when you want to force a refresh manually.
Generic environment variables:
AIW_PROJECT_PROFILEAIW_CHANNEL_PREFIXAIW_MATTERMOST_SYNC_CMDAIW_MATTERMOST_SYNC_INTERVAL_MINUTESAIW_SLACK_EXPORT_PATH
The FIDELITY_* variables remain supported as Fidelity-profile aliases, but new reusable setup should prefer AIW_*.
Project Knowledge Vault
Open project-knowledge/ as the Obsidian vault. The repository root remains the technical workspace for OpenCode, scripts, profiles, runtime inboxes, and generated evidence.
Recommended entry point:
project-knowledge/00-start/start-here.mdproject-knowledge/00-start/onboarding.mdfor new membersproject-knowledge/00-start/glossary.mdfor terminologyproject-knowledge/07-maps/for graph hubs
Use Obsidian for:
- visual navigation
- graph/backlink review
- manual review of work items, people, decisions, and logs
- lightweight editing of the same Markdown memory files
Do not use Obsidian as a second memory database. The source of truth remains the versioned Markdown files under project-knowledge/.
Runtime/evidence stays outside the vault:
.opencode/scripts/core/profiles/ai/inbox/scripts/*/generated/
Ignored Obsidian runtime files include workspace layout, plugin cache, snippets, and local plugin installs.
Project-agnostic memory helpers live under scripts/memory/:
scripts/memory/memory.sh create <type> <slug> [title]scripts/memory/memory.sh search <query> [folder]scripts/memory/memory.sh base-query <base-name> [format]scripts/memory/memory.sh health
Obsidian adapter helpers live under scripts/obsidian/:
scripts/obsidian/cli.sh <obsidian-cli-command>scripts/obsidian/open.sh <vault-relative-path>scripts/obsidian/daily.shscripts/obsidian/search.sh <query>scripts/obsidian/uri.sh <action> key=value
Creating Another Project
- Copy
profiles/example/toprofiles/<project>/. - Fill in
profiles/<project>/profile.md. - Set
AIW_PROJECT_PROFILE=<project>. - Configure any communication connector with
AIW_*variables. - Create or adapt
project-knowledge/for the project-specific canonical memory. - Use
/workspace-contextto load the core plus active profile.
See core/profiles/create-project-profile.md for the full checklist.