Skip to content

Commit

Permalink
Merge pull request #232 from Phuire-Research/StatusUpdates
Browse files Browse the repository at this point in the history
Status Update
  • Loading branch information
REllEK-IO committed Jun 5, 2024
2 parents bbbc05e + b16d655 commit 62d4a33
Showing 1 changed file with 23 additions and 17 deletions.
40 changes: 23 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,30 +64,36 @@ When in doubt simplify.
* With this change you may now have strategies jump all lines upon creation, ensuring some change prior to other action's taking effect.
* Unless a ActionNode or incoming Action created by createActionNode has its own priority, then that takes precedents. But does not effect the Strategy's overall priority.

## Road Map (*Updated* 5/31/24)
## Road Map (*Updated* 6/05/24)
### Beyond v0.2.0
* Will be focusing on parallel development of Stratimux and Huirth in order to create developer tools and scaffolding.
* Planned
* Action Graph
* Project Scaffolding
* *Spoilers*
### Developer Experience Update v0.2.0
* The have moved the need to set semaphores across the board.
* This imposes two breaking changes:
* **Set Interfaces**: Add the ability to access primed Actions(**done**), KeyedSelectors(*pending*), and new isTypeValidator(*pending*) helper functions for action comparisons directly in principles, plans, and qualities.
* { a: Actions, s: KeyedSelectors, t: Ists }
* This will be accomplished via a specific type cast of a Actions, KeyedSelectors, and IsTypeValidators (IsT via semaphore comparison) properties access directly from Principles, Plans, and Stages, or new **Access** helper that accepts Concepts.
* Selectors will be created dynamically, but you may create advanced selectors that will be primed.
* You may also create new deeply nested array/record look up via a supplied creator assigned to **s**.
* Will be adding default selectors to the Set Interface
* s.getS<State>(concepts) that will return the unified state from that observation.
* s.getC<Qualities>(concepts) will return the current unified concept.
* Same logic applies for IsT functions (e.g. t.axiumKick(action): true | false)
* Will not be extending this feature to Qualities. As you may already access the new Set Interface via the new *access* via a method supplied the most recent Concepts.
* **Access** - Is a new concept being unified into the Axium that can restrict what actions a foreign Axium may have access to.
* This is being implemented with Authentication in mind, since the only true vulnerability is the ability to load and unload concepts on an Axium. **Note** that currently your Axiums are only accessible within scope when implementing the advanced project template via Huirth. With this change will create the option to have varying degrees of access that is defined at the time of creation per Axium.
* Create an access function that returns ActionCreators and Selectors
* These bundles will also feature a toJSON functionality so that they be hydrated on a Foreign Axium.
* (**DONE**) Extended type safety throughout the Axium.
* In Qualities you no longer have to use selector methods to access an action's payload and state slots in where needed.
* Example: createQualitySetWithPayload<State, Qualities>({etc...})
* reducer: (state, action) => ({ ...state, someProp: action.payload.someProp })
* (*Progressing*) Removed the need to handle semaphores across the board.
* This imposes several breaking changes:
* Qualities and Concepts are now passed in as an Record versus an Array.
* You will now have to name each concept as it exists in your Axium
* Qualities will only return a Quality Record versus returning the actionCreator, type, and quality as an array. (*Pending*)
* This enforces that all accessed actions in an Axium will be primed by default alongside the *Deck Interface*
* **Deck Interface**: Add the ability to access primed Actions, KeyedSelectors, and new isTypeValidator helper functions for action comparisons directly in principles, plans, and qualities.
* { a: Actions(**DONE**), ax: AxiumActions(**DONE**), s: KeyedSelectors(*Progressing*), ist: Ists(*Progressing*), d: Deck(*Pending*) }
* This will be accomplished via a specific type cast of a Actions, KeyedSelectors, and IsTypeValidators (IsT via semaphore comparison) properties access directly from Principles, Plans, and Stages, or new **Access** helper that accepts Concepts.
* Selectors will be created dynamically, but you may create advanced selectors that will be primed.
* However you will need to prime new expert selectors for some deeply nested array/record look up via the same conceptSemaphore.
* Same applies for IsT functions
* Will not be extending this feature to Qualities. As you may already access the new Deck Interfaces via the new *Access* via a method supplied the most recent Concepts.
* The **Deck** Interface is a collection of actions categorized by you chosen Concept names. (*Pending*)
* **Access** - Is a new concept being unified into the Axium that can restrict what actions a foreign Axium may have access to.
* This is being implemented with Authentication in mind, since the only true vulnerability is the ability to load and unload concepts on an Axium. **Note** that currently your Axiums are only accessible within scope when implementing the advanced project template via Huirth. With this change will create the option to have varying degrees of access that is defined at the time of creation per Axium.
* Create an access function that returns ActionCreators and Selectors
* These bundles will also feature a toJSON functionality so that they be hydrated on a Foreign Axium.
* **Dynamic Axium** - Made the add and remove functionality an opt in by default to improve security. Enabled via the createAxium options by setting *dynamic* to true
* **strategyDetermine(action: Action, options)** Helper function that will return an action with a strategy attached. This is to reduce the amount of boilerplate when handling actions in methods. As we are forcing all actions returned by the method to have a strategy attached to ensure halting.
* Origin, Override, Hard Override
Expand Down

0 comments on commit 62d4a33

Please sign in to comment.