Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion contents/AzureBlobConfiguration.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ For the archiver to work the calling credential will require the role **Storage
- message_type
- timestamp
- content_type
* **StorageLocationFunc** : The function to provide the location to store the message inside of the Blob container, default location : The Id of the message at the root of the **BlobContainerUri**
* **StorageLocationFunc** : The function to provide the location to store the message inside of the Blob container, default location : The Id of the message at the root of the **BlobContainerUri**
2 changes: 1 addition & 1 deletion contents/AzureServiceBusConfiguration.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,4 +127,4 @@ We use ASB's *Subscription* to surscribe to a Topic on a namespace.

When we Complete a message, in response to a handler chain completing, we Complete the message on ASB using **messageReceiver.CompleteMessageAsync**. Note that we only Complete a message once we have completed running the chain and only if AckOnRead is set to false (as the messages is removed from the queue otherwise).

When we Dead Letter a message (see [Handler Failure](/contents/HandlerFailure.md) for more on failure) then we use **messageReceiver.DeadLetterMessageAsync** to delete the message, and move it to a DLQ.
When we Dead Letter a message (see [Handler Failure](/contents/HandlerFailure.md) for more on failure) then we use **messageReceiver.DeadLetterMessageAsync** to delete the message, and move it to a DLQ.
2 changes: 1 addition & 1 deletion contents/ClaimCheck.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,4 +72,4 @@ The *luggage store* is where we store the body of the message for later retrieva

We provide the following implementations of **IAmAStorageProviderAsync:

* [S3LuggageStore](/contents/S3LuggageStore.md)
* [S3LuggageStore](/contents/S3LuggageStore.md)
2 changes: 1 addition & 1 deletion contents/CustomScheduler.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,4 +168,4 @@ The **request scheduler** is used by `IAmACommandProcessor` when methods like `S
Use a consistent format (e.g., JSON) for `RequestData` in `FireRequestMessage`.


**Note**: Replace `CustomSchedulerAPI`, `CustomSchedulerObject`, and serialization logic with your actual implementation details.
**Note**: Replace `CustomSchedulerAPI`, `CustomSchedulerObject`, and serialization logic with your actual implementation details.
2 changes: 1 addition & 1 deletion contents/DynamoInbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,4 @@ private static void ConfigureBrighter(HostBuilderContext hostContext, IServiceCo
}
...

```
```
2 changes: 1 addition & 1 deletion contents/HealthChecks.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,4 @@ The following will be produced
| Some Message Pumps are running | Degraded |
| No Message Pumps are running | Unhealthy |

In the event on a Degraded status the /health/details page can be used to find out which Dispatchers have failed pumps
In the event on a Degraded status the /health/details page can be used to find out which Dispatchers have failed pumps
2 changes: 1 addition & 1 deletion contents/ImplementingExternalBus.md
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,4 @@ public class MailTaskReminderHandler : RequestHandler<TaskReminderCommand>
return base.Handle(command);
}
}
```
```
2 changes: 1 addition & 1 deletion contents/MSSQLOutbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,4 +170,4 @@ public void ConfigureServices(IServiceCollection services)
}
```

> **Running more than one instance?** Configure a [distributed lock](/contents/DistributedLock.md) so only one Sweeper (and Archiver) runs at a time — see [MS SQL Distributed Lock](/contents/MsSqlDistributedLock.md).
> **Running more than one instance?** Configure a [distributed lock](/contents/DistributedLock.md) so only one Sweeper (and Archiver) runs at a time — see [MS SQL Distributed Lock](/contents/MsSqlDistributedLock.md).
2 changes: 1 addition & 1 deletion contents/MongoDBInbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,4 +180,4 @@ The MongoDB Inbox requires the following NuGet packages:
````powershell
dotnet add package Paramore.Brighter.Inbox.MongoDb
dotnet add package Paramore.Brighter.MongoDb
````
````
2 changes: 1 addition & 1 deletion contents/MySQLOutbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,4 +171,4 @@ public void ConfigureServices(IServiceCollection services)
}
```

> **Running more than one instance?** Configure a [distributed lock](/contents/DistributedLock.md) so only one Sweeper (and Archiver) runs at a time — see [MySQL Distributed Lock](/contents/MySqlDistributedLock.md).
> **Running more than one instance?** Configure a [distributed lock](/contents/DistributedLock.md) so only one Sweeper (and Archiver) runs at a time — see [MySQL Distributed Lock](/contents/MySqlDistributedLock.md).
2 changes: 1 addition & 1 deletion contents/PostgresOutbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,4 +171,4 @@ public void ConfigureServices(IServiceCollection services)
}
```

> **Running more than one instance?** Configure a [distributed lock](/contents/DistributedLock.md) so only one Sweeper (and Archiver) runs at a time — see [Postgres Distributed Lock](/contents/PostgresDistributedLock.md).
> **Running more than one instance?** Configure a [distributed lock](/contents/DistributedLock.md) so only one Sweeper (and Archiver) runs at a time — see [Postgres Distributed Lock](/contents/PostgresDistributedLock.md).
2 changes: 1 addition & 1 deletion contents/S3LuggageStore.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@ In addition we set the following properties on the bucket, which can be controll

We set *Tags* on the bucket if they are provided in the **Tags** property.

We default the **ACLs** for the bucket to **S3CannedACL.Private, but you can choose to override this with another policy as described in [**S3CannedACL**](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html#RESTCannedAccessPolicies).
We default the **ACLs** for the bucket to **S3CannedACL.Private, but you can choose to override this with another policy as described in [**S3CannedACL**](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html#RESTCannedAccessPolicies).
2 changes: 1 addition & 1 deletion contents/SqliteOutbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,4 +168,4 @@ public void ConfigureServices(IServiceCollection services)
.UseOutboxSweeper() // Optionally add the background sweeper service
.AutoFromAssemblies(); // Scan for handlers and mappers
}
```
```
2 changes: 1 addition & 1 deletion contents/TickerQScheduler.md
Original file line number Diff line number Diff line change
Expand Up @@ -238,4 +238,4 @@ TickerQ integration for Brighter offers a modern, high-performance scheduling op
- **Standard**: Fully implements Brighter's `IMessageScheduler` interface.

Use TickerQ when you want a lightweight, modern scheduler without the legacy footprint of older libraries.


17 changes: 16 additions & 1 deletion spec/010-information_architecture/tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -2881,13 +2881,28 @@ unchecked rather than approved.
**Gates after:** linkcheck **144 files, clean**; pagelint 0 errors / **791** warnings / 142
pages; `--check-shape` 0; `--check-redirects` 0 at 77 entries.

- [ ] **Task 11.2:** P2-1 — normalise the files with no trailing newline — **14**, re-derived
- [x] **Task 11.2:** P2-1 — normalise the files with no trailing newline — **14**, re-derived
- Input: the 14 files (measured at `3178d68`; it was 18 of 105 before the Phase 6 splits,
and 17 when this task was written)
- Output: every file under `contents/` ends with a newline
- Notes: Deliberately deferred from 011 so the banner diff contained nothing but banners.
It lands here for the same reason in reverse — a whitespace-only sweep is safe once no
content PR is in flight. **Re-derive the count**; it has moved once already.
- **Done 2026-08-22.** **14 files**, re-derived twice: once when the phase opened and again
at the head the sweep cut from, because the phase's own five PRs had edited 17 pages in
between. Both returned 14 — the edits were to link targets and headings, none of which is
a file's last line.

**The diff is provably nothing but newlines.** Each file grew by **exactly one byte**,
asserted as `after == before + b"\n"` before the next file was touched, and `git diff -U0`
re-adds all 14 removed lines verbatim — 14 removed, 14 added, compared as lists and equal.
A whitespace sweep is the one change nobody reads closely, which is the argument for
asserting it rather than reviewing it.

**No line count in this document moves**, and that is a property of the convention rather
than luck: a page's length is `len(text.splitlines())`, which is unchanged by a trailing
newline. Asserted per file during the sweep. Under `wc -l` all 14 would have gained a line,
which is exactly the instrument design §16 finding 1 ruled against.

- [x] **Task 11.3:** P2-3 — echo the changed-range count from `docs.yml`
- Input: `.github/workflows/docs.yml`
Expand Down
Loading