Open paulfryer opened 16 hours ago
Property | Value |
---|---|
Proposed Branch Name | feature/update-system-definitions-and-stacks |
Total Files in Scope | 1 |
Estimated Input Tokens | 2818 |
```text .system/* ```
| File | Estimated Tokens | |------|------------------| | .system/definitions/stacks/analytics-stack.md | 479 |
File Name | Action | Summary of Changes |
---|---|---|
.system/definitions/capabilities/configuration-management.md | CREATE | Created a new file for Configuration Management capability |
.system/definitions/capabilities/web-analytics-reporting.md | CREATE | Created a new file for Web Analytics Reporting capability |
.system/definitions/capabilities/order-history.md | CREATE | Created a new file for Order History capability |
.system/definitions/capabilities/object-storage.md | CREATE | Created a new file for Object Storage capability |
.system/definitions/capabilities/eventing.md | CREATE | Created a new file for Eventing capability |
.system/definitions/processes/sync-latest-analytics-and-order-data.md | CREATE | Created a new file for Sync Latest Analytics and Order Data process |
File Name | Action | Summary of Changes |
---|---|---|
.system/definitions/integrations/google-analytics.md | CREATE | Created a new file for Google Analytics integration |
.system/definitions/integrations/shopify.md | CREATE | Created a new file for Shopify integration |
.system/definitions/stacks/analytics-stack.md | UPDATE | Updated the analytics stack definition with capability and integration mappings |
File Name | Action | Summary of Changes |
---|---|---|
.system/definitions/integrations/aws.md | CREATE | Created a new file for AWS integration |
Processing Instructions
Use the
.system/definitions/stacks/
files as the source information to guide you on this task. I need you to create or update (if needed) a series of markdown definition files for the following concepts:Capabilities
This is a document that defines a capability. A capability is a set of operations that provide the ability to do something. For each capability you discover in the seed README file you should create a new README.md file that describes the requirements for the capability. Capability operations a generally similar to Create, Read, Update, Delete (CRUD) operations. Later we will build OpenAPI specs for the capabilities, but for now we are just documenting everything in Markdown. Store each of these files in
.system/definitions/capabilities/{capability-code}.md
where {capability-code} is a unique code for the capability.Processes
These are descriptions of how orchestration of operations from capabilities happens. You should write out a {process-code}.md for each process that describes how the process should flow. What operations on the capabilities it should use, and any conditional logic it should use. When a process is started it can take in an optional request object, with properties. If you think the process should take in some parameters in the request object, be sure to document these. Also if a process raises events be sure to document what the events are, under which conditions they would be raised, and the properties of each event. Processes are generally similar to async methods that are started then run in the background, working and raising events as they do work. Later we will build AsyncAPI specs for the processes, but for now we are just documenting everything in Markdown. Generate embedded mermaid diagrams of the process flow if you think it would be helpful. Store each of these process files in
.system/definitions/processes/{process-code}.md
where {process-code} is a unique generated code for the process.Integrations
These are descriptions of integration providers that can power the capabilities. You need to generate a README for each integration that describes things like the authentication/authorization requirements to authenticate with their system. For each capability the integration intends to provide an implementation of you should describe how the integration should work when implementing a given capability. Store each file in
.system/definitions/integrations/{integration-code}.md
where {integration-code} is a generated unique code for the integration.Stacks
A stack should describe what integrations should be wired up to capability models. This is how we provide the a provider for a service interface. You can provide a table in readme like so:
Where {capability-a}, etc. is the
{capability-code}
used in capability definitions, and {integration-z}, etc. is the{integration-code}
used in the integration definitions. This will be used to build a server that connects the integration implementations to the capability models. Since you can see all the definitions for capabilities and implementations you can actually hyperlink the capability codes and integraion code in the mapping table, using markdown hyperlinks.In addition to the capability integration mapping table, you should also list the processes that should be included in the stack. This is important because the server generation process will need to expose both the capabilities as well as the processes. Since you can see all the definitions for processes you can hyperlink the process code, use markdown hyperlinks.
For each stack you should build a
.system/definitions/stacks/{stack-code}.md
where{stack-code}
is a generated unique code for the stack.Scope Patterns
Source Branch
main