Motivation
The Product/Instance separation is a central architectural concept in syspilot, but it is not explained anywhere for end users. New users (and the growing number of GitHub stars suggests there will be more) currently have to piece it together from methodology.md, naming conventions, and changelog entries.
Problem
What exists today:
docs/methodology.md — technical mechanics (directories, IDs, write boundaries), not the why
docs/namingconventions.md — mentions INST_<FAMILY>_ prefix, no conceptual explanation
copilot-instructions.md — shows directory layout but doesn't explain the model
- Change document archive — full decision history, but nobody reads that
What's missing: A conceptual overview page that explains why the separation exists and how it works.
Proposed Content (docs/architecture.md)
-
Why the separation?
- Generic agents reusable across projects
- Each project has its own processes (release flow, CI/CD, branching...)
- Product updates don't break project-specific customizations
-
What is Product, what is Instance?
- Product = the agent family as a library/framework (
syspilot/)
- Instance = project-specific configuration (
docs/inst/syspilot/)
- Analogy: Product is the OS, Instance is the configuration
-
How do they relate?
- Instance specs link to Product specs via sphinx-needs
:links:
- Setup Agent installs Product artifacts into
.github/
- Instance overrides/extends, Product stays stable
-
Concrete example — Release Agent: generic product + project-specific instance spec
-
Update safety — How to customize without breaking on updates (configure via INST specs, not by editing .github/agents/ directly)
Placement
docs/architecture.md — framework-level, applies to all families
- Link from
methodology.md: "For the concept behind Product/Instance, see architecture.md"
Scope
Documentation only, no code changes. Should also get a REQ/SPEC under the DOC theme.
Motivation
The Product/Instance separation is a central architectural concept in syspilot, but it is not explained anywhere for end users. New users (and the growing number of GitHub stars suggests there will be more) currently have to piece it together from
methodology.md, naming conventions, and changelog entries.Problem
What exists today:
docs/methodology.md— technical mechanics (directories, IDs, write boundaries), not the whydocs/namingconventions.md— mentionsINST_<FAMILY>_prefix, no conceptual explanationcopilot-instructions.md— shows directory layout but doesn't explain the modelWhat's missing: A conceptual overview page that explains why the separation exists and how it works.
Proposed Content (
docs/architecture.md)Why the separation?
What is Product, what is Instance?
syspilot/)docs/inst/syspilot/)How do they relate?
:links:.github/Concrete example — Release Agent: generic product + project-specific instance spec
Update safety — How to customize without breaking on updates (configure via INST specs, not by editing
.github/agents/directly)Placement
docs/architecture.md— framework-level, applies to all familiesmethodology.md: "For the concept behind Product/Instance, see architecture.md"Scope
Documentation only, no code changes. Should also get a REQ/SPEC under the DOC theme.