Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
02c8502
feat(overlay): define optional admission and recovery contracts
sirdeggen Sep 8, 2026
0e5586b
feat(overlay): add opt-in Mongo payload and schema foundation
sirdeggen Sep 8, 2026
fc83b6b
fix(overlay): compare Mongo uint32 indexes as integers
sirdeggen Sep 8, 2026
d836611
feat(overlay): add opt-in Mongo admission commit and Engine submit path
sirdeggen Sep 8, 2026
f961482
fix(overlay): close S03 admission STEAK, history pin, and hydration gaps
sirdeggen Sep 8, 2026
f8a6cac
fix(sonar): overlay S03 admission complexity and empty method
sirdeggen Sep 9, 2026
f2c6e48
fix(sonar): overlay mongo and admission findings
sirdeggen Sep 9, 2026
779b69a
Merge remote-tracking branch 'origin/main' into codex/overlay-mongo-s02
sirdeggen Sep 9, 2026
4daf07f
fix(ci): align sdk 2.5.0 health baseline and stack facts
sirdeggen Sep 9, 2026
16c0ec4
fix(ci): override js-yaml 3.15.2 for GHSA-2883
sirdeggen Sep 9, 2026
5865ac7
Merge remote-tracking branch 'origin/codex/overlay-mongo-s02' into co…
sirdeggen Sep 9, 2026
9fe97d2
fix(ci): record js-yaml override removal rehearsal
sirdeggen Sep 9, 2026
1a143ce
fix(ci): record js-yaml override removal rehearsal
sirdeggen Sep 9, 2026
75c8c5c
fix(ci): ratchet override count for js-yaml 3.15.2
sirdeggen Sep 9, 2026
02497c5
fix(ci): ratchet override count for js-yaml 3.15.2
sirdeggen Sep 9, 2026
7520bd2
fix(overlay): brand StorageUint64 at admission write sites
sirdeggen Sep 9, 2026
87deaeb
fix(ci): raise SDK and wallet platform bundle budgets
sirdeggen Sep 9, 2026
c97476d
fix(ci): raise SDK and wallet platform bundle budgets
sirdeggen Sep 9, 2026
81a0464
fix(ci): raise remaining SDK-consumer bundle budgets
sirdeggen Sep 9, 2026
d1fd459
fix(ci): raise remaining SDK-consumer bundle budgets
sirdeggen Sep 9, 2026
f171957
fix(ci): raise wallet client esbuild brotli budget
sirdeggen Sep 9, 2026
be980a9
fix(ci): raise wallet client esbuild brotli budget
sirdeggen Sep 9, 2026
8f4d32c
fix(ci): raise did-client UMD budget for SDK helper growth
sirdeggen Sep 9, 2026
1c50352
fix(ci): raise did-client UMD budget for SDK helper growth
sirdeggen Sep 9, 2026
3198c69
fix(ci): prettier browser budget JSON
sirdeggen Sep 9, 2026
e679684
fix(ci): prettier browser budget JSON
sirdeggen Sep 9, 2026
270c82a
fix(ci): raise did-client esbuild budget
sirdeggen Sep 9, 2026
a965b7d
fix(ci): raise did-client esbuild budget
sirdeggen Sep 9, 2026
d546333
fix(ci): raise did-client vite budget
sirdeggen Sep 9, 2026
a53c830
fix(ci): raise did-client vite budget
sirdeggen Sep 9, 2026
922c5d4
fix(ci): raise SDK vite and esbuild compressed budgets
sirdeggen Sep 9, 2026
a4c97ab
fix(ci): raise SDK vite and esbuild compressed budgets
sirdeggen Sep 9, 2026
f305890
fix(overlay): retry Mongo write conflicts as transient admission errors
sirdeggen Sep 9, 2026
0a847b5
test(overlay): cover mongo storage helpers for patch coverage
sirdeggen Sep 9, 2026
b03108f
fix(overlay): retry Mongo write conflicts on claim as well as body
sirdeggen Sep 9, 2026
9ba2527
fix(overlay): retry admission commits on Mongo write conflicts
sirdeggen Sep 9, 2026
8a3ec78
fix(sonar): extract admission write-conflict retry helper
sirdeggen Sep 9, 2026
5e80a72
Merge remote-tracking branch 'origin/codex/overlay-mongo-s02' into co…
sirdeggen Sep 9, 2026
d63befd
test(overlay): cover mongo admission commit for patch coverage
sirdeggen Sep 9, 2026
3e59bb8
fix(sonar): use toHaveLength in Engine admission tests
sirdeggen Sep 9, 2026
bb3614e
fix(overlay): reject unsafe Mongo GASP cursor values
sirdeggen Sep 10, 2026
0217e99
fix(ci): parent and finalize Codecov coverage reports
sirdeggen Sep 10, 2026
61d4446
docs: reverify resource and TTN rollout gates
sirdeggen Sep 10, 2026
9916e89
fix(ci): require HTTPS for Codecov polling
sirdeggen Sep 10, 2026
a204c5b
test(overlay): cover admission output-index bound
sirdeggen Sep 10, 2026
a176896
Merge latest main and resolve PR #525 integration conflicts
sirdeggen Sep 10, 2026
d893ff1
Merge origin/main into overlay admission branch
sirdeggen Sep 14, 2026
d591fce
fix overlay replay identity and evicted output reads
sirdeggen Sep 14, 2026
46f62e3
Merge remote S03 updates
sirdeggen Sep 14, 2026
2108286
fix(ci): synchronize admission lockfile overrides
sirdeggen Sep 14, 2026
6cfc0e6
fix: make overlay admission runtime portable
sirdeggen Sep 14, 2026
fc0a3d9
fix: defer unavailable fetch failure until send
sirdeggen Sep 14, 2026
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
34 changes: 33 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1115,11 +1115,43 @@ jobs:
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ${{ steps.cov.outputs.files }}
name: ts-stack
# Make the current attempt distinguishable from a previous rerun of
# the same commit when waiting for Codecov to finish processing it.
name: ts-stack-${{ github.run_id }}-${{ github.run_attempt }}
slug: bsv-blockchain/ts-stack
# CI checks out GitHub's synthetic PR merge commit but Codecov
# reports against the branch head. Give Codecov the actual base
# parent so it does not fall back to its last covered main commit.
commit_parent: ${{ github.event.pull_request.base.sha || github.event.before }}
# Coverage upload is non-blocking: Codecov CLI GPG-verify/outages must not gate CI.
fail_ci_if_error: false

- name: Wait for Codecov to merge the uploaded report
if: steps.cov.outputs.has-coverage == 'true' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
env:
CODECOV_COMMIT: ${{ github.event.pull_request.head.sha || github.sha }}
CODECOV_BUILD_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
CODECOV_UPLOAD_NAME: ts-stack-${{ github.run_id }}-${{ github.run_attempt }}
run: |
deadline=$((SECONDS + 300))
commit_url="https://api.codecov.io/api/v2/github/bsv-blockchain/repos/ts-stack/commits/${CODECOV_COMMIT}/"
uploads_url="${commit_url}uploads/"
while true; do
if commit=$(curl --fail --silent --show-error --location --proto '=https' --proto-redir '=https' --connect-timeout 5 --max-time 15 "$commit_url") &&
[ "$(jq --raw-output '.state // empty' <<<"$commit")" = 'complete' ] &&
uploads=$(curl --fail --silent --show-error --location --proto '=https' --proto-redir '=https' --connect-timeout 5 --max-time 15 "$uploads_url") &&
[ "$(jq --arg build_url "$CODECOV_BUILD_URL" --arg name "$CODECOV_UPLOAD_NAME" '[.results[]? | select(.build_url == $build_url and .name == $name and .state_name == "MERGED")] | length' <<<"$uploads")" -gt 0 ]; then
echo "Codecov merged ${CODECOV_UPLOAD_NAME} for ${CODECOV_COMMIT}."
break
fi

if [ "$SECONDS" -ge "$deadline" ]; then
echo "::error::Codecov did not merge coverage for ${CODECOV_COMMIT} within five minutes."
exit 1
fi
sleep 5
done

- name: Publish finalized Codecov notifications
if: steps.cov.outputs.has-coverage == 'true' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
Expand Down
6 changes: 3 additions & 3 deletions docs/packages/overlays/overlay-discovery-services.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ title: '@bsv/overlay-discovery-services'
kind: package
domain: overlays
npm: '@bsv/overlay-discovery-services'
version: '2.2.1'
last_updated: '2026-08-27'
last_verified: '2026-08-27'
version: '2.2.2'
last_updated: '2026-09-08'
last_verified: '2026-09-08'
review_cadence_days: 30
repo: 'https://github.com/bsv-blockchain/ts-stack/tree/main/packages/overlays/overlay-discovery-services'
status: stable
Expand Down
6 changes: 3 additions & 3 deletions docs/packages/overlays/overlay-express.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ title: '@bsv/overlay-express'
kind: package
domain: overlays
npm: '@bsv/overlay-express'
version: '2.6.1'
last_updated: '2026-08-27'
last_verified: '2026-08-27'
version: '2.6.2'
last_updated: '2026-09-08'
last_verified: '2026-09-08'
review_cadence_days: 30
repo: 'https://github.com/bsv-blockchain/ts-stack/tree/main/packages/overlays/overlay-express'
status: stable
Expand Down
6 changes: 3 additions & 3 deletions docs/packages/overlays/overlay-topics.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ title: '@bsv/overlay-topics'
kind: package
domain: overlays
npm: '@bsv/overlay-topics'
version: '1.7.1'
last_updated: '2026-08-27'
last_verified: '2026-08-27'
version: '1.7.2'
last_updated: '2026-09-08'
last_verified: '2026-09-08'
review_cadence_days: 30
repo: 'https://github.com/bsv-blockchain/ts-stack/tree/main/packages/overlays/topics'
status: stable
Expand Down
37 changes: 34 additions & 3 deletions docs/packages/overlays/overlay.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ title: '@bsv/overlay'
kind: package
domain: overlays
npm: '@bsv/overlay'
version: '2.3.1'
last_updated: '2026-08-27'
last_verified: '2026-08-27'
version: '2.4.0'
last_updated: '2026-09-09'
last_verified: '2026-09-09'
review_cadence_days: 30
repo: 'https://github.com/bsv-blockchain/ts-stack/tree/main/packages/overlays/overlay'
status: stable
Expand Down Expand Up @@ -76,6 +76,37 @@ const result = await engine.lookup({
- **BASM support** — BRC-136 topic anchors, TAC computation, reorg reconciliation,
proof refresh, and unproven transaction maintenance

## Optional persistence contracts

The package exports an additive `AdmissionStorage` capability, semantic identity
helpers and recovery fence/cursor predicates. `storageHasAdmission` reports
whether the optional `Storage.admission` field is present; `getAdmissionStorage`
additionally requires the v1 protocol and both commit and reconciliation
methods. These define the local durable receipt and pending index/propagation
boundary for future adapters. Current `Engine.submit`, its early STEAK callback
and Knex storage do not use the capability. See the [persistence v1
specification](https://github.com/bsv-blockchain/ts-stack/blob/main/specs/overlay/persistence-v1.md)
for the shared fixtures and explicit limits. No consumer migration is required.

## Optional Mongo foundation

The package also contains an opt-in MongoDB foundation for schema bootstrap,
content-addressed payload publication, reference guards, and payload collection.
It is not an Engine integration, an `AdmissionStorage` implementation, or a
default storage selection; importing `@bsv/overlay` does not load MongoDB.

Applications using a Mongo deep entry point install the optional peer first:

```sh
npm install @bsv/overlay mongodb@^7.5.0
```

The initial entry points are `@bsv/overlay/storage/mongo/MongoSchema` and
`@bsv/overlay/storage/mongo/MongoPayloadStore`. They require an explicitly
operated unsharded replica set; the supported deployment profile is three
members. See the [Mongo v1
foundation](https://github.com/bsv-blockchain/ts-stack/blob/main/specs/overlay/mongo-v1.md).

## Common patterns

### Implementing a TopicManager
Expand Down
Loading
Loading