genval-ai / reference

Public facing reference content, used for getting started with a new repository.
Apache License 2.0
0 stars 0 forks source link

Build Stack Definitions #49

Open paulfryer opened 16 hours ago

paulfryer commented 16 hours ago

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:

Capability Code Integration Code
{capability-a} {integration-z}
{capability-r} {integration-b}

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

.system/*

Source Branch

main

genval-github-integration[bot] commented 16 hours ago

Pre Refactor Summary

Property Value
Proposed Branch Name feature/update-system-definitions-and-stacks
Total Files in Scope 1
Estimated Input Tokens 2818

Details

Scope Patterns

```text .system/* ```

Files in Scope

| File | Estimated Tokens | |------|------------------| | .system/definitions/stacks/analytics-stack.md | 479 |

genval-github-integration[bot] commented 16 hours ago
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
genval-github-integration[bot] commented 15 hours ago
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
genval-github-integration[bot] commented 15 hours ago
File Name Action Summary of Changes
.system/definitions/integrations/aws.md CREATE Created a new file for AWS integration