# Status

## 2026-04-29

* *GitBook*: New [Outreach](/safe-clean-architecture/appendices/outreach.md) article — [What if your pattern matching could call functions?](/safe-clean-architecture/appendices/outreach/active-patterns.md) — covering F# Active Patterns illustrated with Shopfoo examples

## 2026-04-14

* *Shopfoo*: Apply `[<CallerMemberName>]` in `IInstructionPreparer` extension methods
* *GitBook*: Update [Program Runner](/safe-clean-architecture/domain-workflows/2-program.md#auto-deriving-instruction-names-with-callermembername) and [Api](/safe-clean-architecture/domain-workflows/3-domain-workflow/4-api.md)

## 2026-03-30

* *GitBook*: New [Outreach](/safe-clean-architecture/appendices/outreach.md) section in Appendices — lists LinkedIn posts promoting the GitBook

## 2026-03-25

* *GitBook*: New [Pattern Variations](/safe-clean-architecture/domain-workflows/2-program/pattern-variations.md) addendum — compares Free Monad and Tagless Final implementation variations (John Azariah's approaches, gitbook V3/V3bis/V4), covering instruction typing, parallelism, combinators, and turnkey vs generic design
* *GitBook*: Update [Algebraic Effects](/safe-clean-architecture/domain-workflows/1-introduction/4-algebraic-effects.md) page — note that V3bis variant enables parallelism in the Free Monad

## 2026-03-12

* ✅ GitBook complete
* ✅ Shopfoo complete, [release 1.4.1](https://github.com/rdeneau/shopfoo/releases/tag/v1.4.1) deployed\
  💡 Eventual improvements:
  * [ ] Integrate and document Playwright
  * [ ] Migrate to .NET 10, Fable 5 (currently in [RC](https://fable.io/blog/2026/2026-02-27-Fable_5_release_candidate.html)), Feliz v3

## 2026-02-10

* *Shopfoo*: Start implementing the [Saga support](/safe-clean-architecture/domain-workflows/2-program.md#saga-support-undo) execution mode for the `Program`, enabling undo of completed instructions when a workflow fails

## 2026-02-07

* *Shopfoo*: Start migrating the `Program` (used in [domain workflows](/safe-clean-architecture/domain-workflows/2-program.md)) to v4—TagLess Final pattern—to support parallel instruction execution
* The last version of *Shopfoo* code with Program v3 is available via the [`program-v3`](https://github.com/rdeneau/shopfoo/tree/program-v3/) tag

## 2025-12-31

* Write [Motivations](/safe-clean-architecture/motivations.md)
* Publish *Shopfoo* [version 1.2](https://github.com/rdeneau/shopfoo/releases/tag/v1.2.0): complete any feature "under construction" (displayed with the 🚧 emoji). There are still some features to implement - see [README.md#features](https://github.com/rdeneau/shopfoo/tree/main#features)

## 2025-12-20

* Announcing the start of writing this book, as an entry to the [F# Advent Calendar in English 2025](https://sergeytihon.com/2025/11/03/f-advent-calendar-in-english-2025/) – Thank you, Sergey Tihon 🙏
* *Shopfoo* is functional and deployed for the playground. Some features are missing and the code can be improved. Still, the code can be explore in preview if needed.

## Changelog

{% hint style="info" %}
This section is auto-generated. It displays the last 10 commits of both repositories.
{% endhint %}

<details>

<summary><i class="fa-book-open">:book-open:</i> GitBook</summary>

* \[Apr 29, 2026] feat: 🔄️ \[GITBOOK-20] fix outreach internal links
* \[Apr 29, 2026] feat: ✨ add active-patterns.md outreach article
* \[Apr 17, 2026] feat: ✨ new outreach article / architecture - add dates
* \[Apr 16, 2026] fix: ✏️ wording around bounded contexts and vertical slices
* \[Apr 14, 2026] feat: ♻️ improve instruction preparation: make their name optional, inferred with CallerMemberName attribute
* \[Apr 08, 2026] feat: ✨ TanStack Query outreach link
* \[Mar 30, 2026] feat: ✨ appendices/outreach page
* \[Mar 25, 2026] feat: 🔄️ \[GITBOOK-19] fix addendum
* \[Mar 25, 2026] feat: ✨ program addendum: pattern variations
* \[Mar 14, 2026] feat: ✨ document migration from program v3 to program v4

</details>

<details>

<summary><i class="fa-tablet-screen">:tablet-screen:</i> Shopfoo</summary>

* \[Apr 14, 2026] tidy: 📐 improve formatting
* \[Apr 14, 2026] refactor: ♻️ improve instruction preparation: make their name optional, inferred with CallerMemberName attribute
* \[Mar 12, 2026] chore: 🏷️ release 1.4.1 \[skip ci]
* \[Mar 12, 2026] fix: 🐛 FakeStore not accessible from Azure
* \[Mar 12, 2026] chore: 🏷️ release 1.4.0 \[skip ci]
* \[Mar 12, 2026] feat: 💄 improve about page disclaimer
* \[Mar 12, 2026] fix: ⛓️‍💥 error 404 on Azure
* \[Mar 12, 2026] feat: 🖼️ add favicon.png
* \[Mar 11, 2026] fix(ManagePrice): 🐛 properly prevent price decrease in case of Increase, and vice versa
* \[Mar 11, 2026] tidy(Client.Tests): 📐 move Scenario up to the root

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rdeneau.gitbook.io/safe-clean-architecture/status.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
