Skip to content

Deduplicate global workspace bootstrap across projects without changing the flat schema #127

Description

@Waishnav

PR #125 scopes bootstrap delivery to each canonical project within a ChatGPT conversation. That keeps the common workflow simple, but opening a different project in the same conversation can resend global context such as the global AGENTS.md, global skills, and global agent metadata. This is intentionally non-blocking for #125 and can be optimized later if real usage justifies it.

Keep the existing flat, model-facing open_workspace output schema. Internally, retain enough origin information to claim global bootstrap delivery once per conversation and project bootstrap delivery once per canonical project, then merge only the context due for delivery into the existing agentsFiles, skills, agents, and related arrays. The hidden workspace-card payload should continue receiving the complete effective context.

Acceptance criteria:

  • The first project opened in a ChatGPT conversation receives global and project-specific bootstrap context.
  • The first open of another project in that conversation receives only its project-specific bootstrap context.
  • Repeated checkout or worktree opens continue omitting context already delivered.
  • The model-facing schema remains flat; do not add globalContext or projectContext keys.
  • Existing precedence and collision behavior for global and project skills, agents, and instructions is preserved.
  • Non-ChatGPT clients without conversation metadata retain the current behavior.
  • Tests cover sequential projects, restart persistence, and concurrent first-open claims.

Related PR: #125

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions