Skip to content

Commit

Permalink
DC Definitions adding capabilities concept
Browse files Browse the repository at this point in the history
  • Loading branch information
TartanMalcolm committed Oct 6, 2024
1 parent 7bfb1e2 commit 66f22d5
Showing 1 changed file with 191 additions and 0 deletions.
191 changes: 191 additions & 0 deletions info/DC Definitions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
# Dreamcatcher Framework Rules

# TABLE OF CONTENTS

1. ENTITIES
2. DEFINITIONS OF ACTIONS AVAILABLE
3. NOUN DEFINITIONS
4. SYSTEM FRAMEWORK
5. TEMPLATES


## ENTITIES
- DAVE: The human user.
**Actions Available**
- PROMPT
- TASK HAL
- Receive RESPONSE from HAL
- Take a STATEBOARD_ACTION

- HAL: A privileged AGENT that directly interacts with DAVE.
**Actions Available**
- PROMPT AGENTS or DRONES
- Send RESPONSES directly to DAVE and STATEBOARD.
- SEND RESPONSES to AGENTS and DRONES
- Can trigger COMMAND_EXECUTION available from their BOT_DEFINITION

- AGENT: An INSTANTIATION of a BOT_DEFINITION that, having been INSTANTIATED, can be uniquely identified.
**Actions Available**
- PROMPT AGENTS or DRONES
- Complete TASKS
- TASK AGENTS and DRONES (within the limits of their system prompt)
- SEND RESPONSES to other AGENTS and DRONES
- Can trigger COMMAND_EXECUTION available from their BOT_DEFINITION

- DRONE: A INSTANTIATION of a BOT_DEFINITION that, having been INSTANTIATED, can be uniquely identified.
**Actions Available**
- SEND RESPONSES to other AGENTS and DRONES that have TASKed them.
- Can trigger COMMAND_EXECUTION available from their BOT_DEFINITION

- ISOLATE: Traditional code executed by HAL, an AGENT, or a DRONE. COMMANDS are sent to ISOLATES for execution.
**Actions Available**
- Run COMMANDS.

- AI_MODEL: An external service used to INSTANTIATE and RUN HAL, AGENTS and DRONES, and RUN TASKS.
**Actions Available**
- INSTANTIATE HAL, an AGENT, or a DRONE using a BOT_DEFINITION.

- ARTIFACT: The operating system.
**Actions Available**
- Grant or deny PERMISSION for an ACTION AVAILABLE to an ENTITY.
- RUN COMMAND_EXECUTIONS.


## DEFINITIONS OF ACTIONS AVAILABLE

- PROMPT: Input via voice, text, or uploaded files.

- RESPONSE: An output following a call to AI_MODEL. from an AGENT, HAL or DRONE sent back to the AGENT, HAL or DRONE that gave it that TASK.

- STATEBOARD_ACTION: An action initiated by interacting with the STATEBOARD. STATEBOARD_ACTIONS can call COMMAND_EXECUTION or TASKS.

- COMMAND_EXECUTION: The request to an ISOLATE to run a piece of code.

- INSTANTIATE: The creation of an running instance of HAL, an AGENT or a DRONE by creating a BOT_DEFINITION, using the BOT_TEMPLATE, based on the intended use.

- DEINSTANTIATE: to delete an INSTANTIATED AGENT or DRONE. Generally used when BOT_TEMPLATES are updated while INSTANTIATED AGENTS or DRONES are extant, and when DRONES complete their TASK.

- TASK: A request for INFO, an ACTION or an TRANSMISSION.



## NOUN DEFINITIONS:

- PERMISSION: On HAL, AGENTS and DRONES requesting a TASK, PERMISSION is a yes/no returned by ARTIFACT.

- INTENT: The high-level outcome that DAVE wants HAL to achieve. HAL generates INTENT based on the THREAD conversation. INTENT can be used to gain additional context beyond the last PROMPT.

- INFO: A RESPONSE, in natural language, that does not result in a STATE_CHANGE.

- ACTION: A COMMAND_EXECUTION that results in a STATE_CHANGE.

- TRANSMISSION: A RESPONSE, typically in a set format such as JSON or Markdown, that is intended to be consumed and presented by HAL, an AGENT or a DRONE.

- STATE_CHANGE: A file operation (create, read, update, delete) on files within the SYSTEM FRAMEWORK that DAVE has PERMISSION to access.

- COMMAND: Within a BOT_TEMPLATE or BOT_DEFINITION, a COMMAND is a link to a piece of executable software available to HAL, and AGENT or DRONE that carries out a COMMAND_EXECUTION when called on. COMMANDS carry out a single purpose, typically a STATE_CHANGE.


## SYSTEM FRAMEWORK:

- HAL_TEMPLATE: A text file that defines the structure of HAL. See below for more details.

- BOT_TEMPLATE: A text file that defines the structure of an AGENT or DRONE, to which CAPABILITIES can be added. See below for more details.

- BOT_DEFINITION: A text file containing instructions that define the behavior of HAL, AGENTS and DRONES, guiding their operations, interactions, and RESPONSES.

- FOLDER_STRUCTURE: A description of which folders and files are available, a description of what each type of file or folder is for, and which can be used to discern the data to act on. The FOLDER_STRUCTURE is controled by ARTIFACT.

- STATEBOARD: A visual interface that helps DAVE understand HAL's RESPONSES, enabling STATEBOARD_ACTIONS or facilitating PROMPTS.

- CAPABILITY: A text file, which can only be used as a sub-section of a BOT_DEFINITION, that when included with a BOT_DEFINITION provides the INSTANTIATED AGENT or DRONE with additional functions. Note, the presence of a CAPABILITY within a BOT_DEFINITION does not imply PERMISSION to use it.

- CAPABILITY_TEMPLATE: A text file denoting the template to use when creating a new CAPABILITY.

- PREFERENCES: A list or natural language collection of preferences as to how DAVE would like to interact with HAL. Note, PREFERENCES cannot override PERMISSION or PRIORITY.

- THREAD: The PROMPT/RESPONSE record of interaction between DAVE and HAL.

- LIBRARY: A list of CAPABILITIES available to be used in the construction of a BOT_DEFINITION.

- STUCK: A bug, problem or request by DAVE for a CAPABILITY that doesn't exist. Once solved, a STUCK becomes a CAPABILITY.

- STUCK LIBRARY: A list of STUCKS yet to be solved.





## TEMPLATES


### TERMS USED in TEMPLATES

The following are additional definitions used within a BOT_DEFINITION.

- CONFIG: ARTIFACT level control over how this INSTANTIATED AGENT, HAL or DRONE calls COMMANDS.
- GLOBAL_DEFINITIONS: A list of Definitions that supercede any other definitions you may have. The HAL, the AGENT or DRONE must use these at all times.
- GLOBAL_RULES: A list of Rules that must always be adhered to, and supersede any other rules.
- LOCAL_DEFINITIONS: A list of Definitions that have specific meaning when used within this BOT. They are overridden by PRIORITY_DEFINITIONS. If similar words are used that match the descriptions of the words in LOCAL_DEFINITIONS, then use the specific word that matches and carry on.
- LOCAL_RULES: A list of Rules that the AGENT or DRONE must follow, unless they interfere or are inconsistent with GLOBAL_RULES.
- OVERVIEW: A Natural Langugage description of what this AGENT or DRONE does
- IDENTITY: A description of who this AGENT or DRONE is and how it should behave.
- OBJECTIVE: A description of what this AGENT or DRONE is to do.
- PROCESS: A description of how this AGENT or DRONE should acheive its OBJECTIVE
- RESULT: What is expected after the AGENT or DRONE has a RESPONSE. May include example formats to constrain the syntax. May also include guidelines on handling errors.
- EXAMPLES: A helpful example of the output required if given a TASK.


### BOT_TEMPLATE

When HAL, an AGENT or a BOT is INSTANTIATED, a BOT_DEFINITION is compiled and stored as a file. The structure of that file is as follows:

- BOT_ID
- CONFIG: <Required>
- COMMANDS: <Required>
- OVERVIEW: <Optional>
- PRIORITY_DEFINITIONS <Required>
- LOCAL_DEFINITIONS <Optional>
- GLOBAL_RULES: <Required>
- LOCAL_RULES <Optional>
- IDENTITY <Required>
- OBJECTIVE: <Required>
- PROCESS: <Required>
- RESULT: <Required>
- EXAMPLES: <Optional>
- CAPABILITY: <Optional> If no CAPABILITIES are provided, the AGENT uses the bare AI_MODEL without further system prompting. NOTE: a BOT_DEFINITION can have more than one CAPABILITY.


### DAVE_TEMPLATE:

- ID: <Required> Unique ID within the Dreamcatcher System
- Identity: <Required> E.g. Dave's personal account details
- Preferences: <optional>
- Personal Folder Structure: <Required>

### HAL_TEMPLATE:
- ID: <Required>
- DAVE_ID: <Required> The owner of this HAL. A link to the ID of DAVE who has sole control over this particular HAL.
- THREAD: <Required> Provided by ARTIFACT, a list of hashs that link to previous conversations and STATES between HAL and DAVE.
- INSTANTIATED AGENT list: <Optional> A list of running AGENTS generated by HAL on DAVE's requests.
- LIBRARY: <Required> See above.
- STUCK LIBRARY: <Required> See above
- Live AGENTS: List of previously INSTANTIATED AGENTS that were INSTANTIATED by this DAVE identified through DAVE_ID.


### CAPABILITY_TEMPLATE:
- CAPABILITY_ID
- CONFIG: <Required>
- COMMANDS: <Required>
- OVERVIEW: <Optional>
- PRIORITY_DEFINITIONS <Required>
- LOCAL_DEFINITIONS <Optional>
- GLOBAL_RULES: <Required>
- LOCAL_RULES <Optional>
- IDENTITY <Required>
- OBJECTIVE: <Required>
- PROCESS: <Required>
- RESULT: <Required>
- EXAMPLES: <Optional>


0 comments on commit 66f22d5

Please sign in to comment.