Home / Reports / Jun 9, 2026
Tuesday, June 9, 2026
677 commits had been pushed across 59 repos by 79 authors. There were 6,294,584 additions and 266,702 deletions. Official weekly status updates can be found on essentialcardano.io.
Authors
Repos Updated
- ouroboros-consensus117
- mithril74
- hydra-poc50
- dingo44
- amaru37
- ouroboros-leios32
- ouroboros-network30
- developer-portal26
- cardano-node23
- cardano-org15
- bursa14
- cardano-upgrades-gitbook13
- multisig13
- cardano-governance-voting-tool12
- CIPs12
- cardano-token-registry11
- cf-summit-evoting-status11
- gouroboros10
- plutus10
- cf-cip1694-ballot-status9
- ouroboros-leios-sim9
- formal-ledger-specifications9
- cardano-rosetta-java8
- hydra6
- cardano-haskell-packages6
- adder5
- cf-token-metadata-registry-status5
- formal-ledger-specifications5
- cardano-ledger5
- aiken4
- helm-charts4
- cardano-node-antithesis4
- Governance4
- cardano-models3
- cardano-node3
- open-enterprise-agent3
- stdlib2
- cardano-wallet2
- cardano-haskell-package-repo2
- administration-data2
- cardano-db-sync2
- Intersect-knowledge-base2
- plutarch-plutus2
- pallas2
- cdnsd1
- nview1
- koios-java-client1
- pool_groups1
- antithesis1
- atala-prism-building-blocks1
- atala-prism-mediator1
- capkgs1
- cardano-wallet1
- haskell.nix1
- lace1
- stackage.nix1
- budget-documentation1
- cardano-base1
- governance1
Commit Log
00:05:26
[23324913]
fix(database): Changed GetAccountsByCredential to lookup for (credential_tag, staking_key) key.
(dingo)
00:34:17
[7d5367ba]
:card_file_box: Update status summary [skip ci] [upptime]
(cf-token-metadata-registry-status)
00:34:17
[87ecbaa0]
:pencil: Update summary in README [skip ci] [upptime]
(cf-token-metadata-registry-status)
00:53:50
[319f66e1]
feat: add constructors for Conway proposal procedures and governance actions
(gouroboros)
00:55:35
[e38b86af]
:pencil: Update summary in README [skip ci] [upptime]
(cf-cip1694-ballot-status)
00:55:35
[16ab63af]
:card_file_box: Update status summary [skip ci] [upptime]
(cf-cip1694-ballot-status)
01:05:38
[00de2dcb]
:pencil: Update summary in README [skip ci] [upptime]
(cf-summit-evoting-status)
01:05:38
[8988228c]
:card_file_box: Update status summary [skip ci] [upptime]
(cf-summit-evoting-status)
04:27:05
[9694e761]
cardano-api/11.0.0.0: Remove QuickCheck upper bound (#1385)
(cardano-haskell-package-repo)
04:36:39
[9ab9e91a]
Update from 9694e76145913916f85ca2c8621dbc1e5fc10bc8
(cardano-haskell-package-repo)
05:24:27
[3956cfe0]
Leios: hot fix CertRB staging area + emergency fetch + resolve CertRBs in immutable chain (#2058)
(ouroboros-consensus)
05:34:44
[b162a952]
Add HasLeiosVoting and ResolveLeiosBlock instances for Byron/Shelley only HFC compositions
(ouroboros-consensus)
07:29:16
[c07400cb]
Merge pull request #933 from input-output-hk/ch1bo/binaries-and-docker-images
(ouroboros-leios)
07:29:47
[005cb5ce]
fix(bootstrap): honor era-history sidecar when importing testnet tvar snapshots
(amaru)
07:44:15
[ff1539c9]
fix(ci): match new moog release asset name (x86_64-linux-musl)
(cardano-node-antithesis)
07:52:38
[b0612637]
testnet(amaru): retry bootstrap-producer on failure so a fault mid-bootstrap doesnt block the relay gate
(cardano-node-antithesis)
08:00:31
[cb23096b]
fix list view tool icons to show full logo (object-fit contain)
(developer-portal)
08:12:35
[bf9f7bc4]
testnet(amaru): exclude chain+bootstrap+sidecars from faults (moog#107)
(antithesis)
08:18:38
[c39f2519]
docs(website): add explanation for Shelley genesis configuration file setup
(mithril)
08:38:32
[8c06fae8]
Merge pull request #3260 from input-output-hk/jpraynaud/3251-dmq-message-id-enforcement
(mithril)
08:49:58
[6a2b7079]
fix: payloads endpoint be validate min ada value during txn construction
(cardano-rosetta-java)
08:49:58
[de883947]
test: add error code 5060 to network/options golden example
(cardano-rosetta-java)
08:49:58
[dd3308a8]
test: fix broken unit tests and add min ADA validation test coverage
(cardano-rosetta-java)
08:49:58
[be7efa35]
test: update payloads golden examples to pass min ADA validation
(cardano-rosetta-java)
08:50:03
[c902beab]
test: add golden example test cases for the min ADA validation
(cardano-rosetta-java)
08:50:03
[22df43cd]
test: fix pool registration golden example format (cold key hash, stake_test1, relay type)
(cardano-rosetta-java)
08:52:25
[8b852cd5]
fix Conway modules to use new lemmas in Ledger.Prelude
(formal-ledger-specifications)
08:52:25
[14a9cecd]
Bridge CERTS evolution to closed-form cert-deposit accounting
(formal-ledger-specifications)
08:52:25
[404ce22d]
fix Conway PoV module to use new lemmas in Ledger.Prelude
(formal-ledger-specifications)
08:52:25
[7f267f4f]
Add applyWithdrawals-pov and applyDirectDeposits-pov
(formal-ledger-specifications)
09:01:41
[7ab38772]
Add contract tests for CloseAny, CloseInitial mutations, and ContestCommit
(hydra-poc)
09:06:03
[11e4d4f1]
feat(mithril-stm): add off-circuit IVC proof verification (Blake2b transcript)
(mithril)
09:07:44
[22a34bc9]
Artifacts generated from bd56c872c31d0f6c757dc08d3746d3b6b7b0aeb5
(formal-ledger-specifications)
09:24:04
[760fc6cc]
Artifacts generated from 4c7c793714aa2a013ecc2b3e05f38c07eae6bb4b
(formal-ledger-specifications)
09:32:47
[cf4aedef]
refactor: split the chainstore trait to use snapshot as an implementation detail
(amaru)
09:41:13
[523c963f]
Fix expected error code for MutateSnapshotVersion in CloseInitial mutation test
(hydra)
09:42:34
[4d212f6e]
feat(future_snark): stabilize KZG verifier params in IvcVerifierSetup module
(mithril)
09:42:40
[f8cf9bf7]
test(mithril-stm): add off-circuit test for IvcProof::verify against stored Blake2b asset
(mithril)
09:59:00
[0c4187fc]
Move the Filecoin pinning choice to the upload step (#177)
(cardano-governance-voting-tool)
10:02:54
[9a9847fc]
cardano-diffusion:ping - using ouroboros-network and cardano-diffusion
(ouroboros-network)
10:04:55
[c4c2908a]
cardano-diffusion:ping - query tip over node-to-client protocol
(ouroboros-network)
10:06:52
[405d7282]
cardano-diffusion:ping - added standard deviation to JSON output
(ouroboros-network)
10:06:52
[d6032ea8]
cardano-diffusion:ping - apply idle timeout before closing the connection
(ouroboros-network)
10:36:22
[b4b580d4]
feat: revamp the /ambassadors page with interactive map, impact overview, directory and milestones (#665)
(cardano-org)
10:45:40
[63a4dcd6]
Add per-proposal Open Graph cards for shared links
(cardano-governance-voting-tool)
10:50:54
[b3cd5f0e]
cardano-diffusion:ping - last to finish between ping clients
(ouroboros-network)
11:07:14
[bd93eea3]
Change parameters order, and add proposal_id to selection
(cardano-governance-voting-tool)
11:08:20
[52d9ed85]
fix: add epoch_no DESC sort to getLatestEpochInfo and getLatestEpochParameters
(koios-java-client)
11:27:14
[c7361c4a]
Fix a few schema inconsistencies (validated against stored sim traces)
(ouroboros-leios)
12:01:33
[a5b60e34]
chore: update CI to use JDK 21 with setup-java and setup-sbt
(atala-prism-building-blocks)
12:04:11
[3fdc750a]
config.default.yaml: restore vote-threshold for Haskell sim parity
(ouroboros-leios-sim)
12:17:21
[c98b5ada]
ci: publish to crates.io with --isolated to override publish=false (#782)
(pallas)
12:22:20
[2ad9fdaf]
cardano-api removal: migrate unsigned Shelley tx builder (#5292)
(cardano-wallet)
12:29:16
[815ea861]
refactor(e2e): restructure scenarios into `scenario` module and rename for clarity
(mithril)
12:29:17
[246ecb7d]
feat(e2e): introduce `ScenarioToolkit` with modular subcomponents (`CheckToolkit`, `ExecToolkit`, `WaitToolkit`)
(mithril)
12:29:18
[586ae450]
refactor(e2e): split check toolkits into subpart, one for each artificat types + certificate
(mithril)
12:29:18
[f8f02356]
refactor(e2e): promote `check.rs` to module directory for future refactor
(mithril)
12:29:19
[9957878b]
refactor(e2e): integrate `ScenarioToolkit` into scenarios and infrastructure
(mithril)
12:29:19
[6311d9ff]
refactor(e2e): unify certification and verification methods in check toolkits
(mithril)
12:29:20
[6f0ad4ba]
refactor(e2e): move struct and utils from `toolkit/check/mod.rs` to dedicated module
(mithril)
12:29:21
[ba165033]
refactor(e2e): rename `wait_for_artifact` to `wait_for_latest_artifact` across check toolkits
(mithril)
12:29:22
[5fd74593]
refactor(e2e): replace hardcoded durations with context-based delay utilities
(mithril)
12:29:22
[143c5eab]
refactor(e2e): use cardano epoch length in `ScenarioToolkitContext` duration utilities
(mithril)
12:29:23
[65e00975]
refactor(e2e): rename `wait_for_*` methods to improve readability and consistency
(mithril)
12:38:21
[e030577a]
chore: update CI to use JDK 21 with setup-java and setup-sbt (#1807)
(open-enterprise-agent)
13:06:00
[1f89d420]
test(sqlite): isolate in-memory stores so metadata tests run in parallel (#2521)
(dingo)
13:08:17
[fbeda66e]
refactor(aggregator): package only one ledger state snapshot for Cardano node version above 10.4
(mithril)
13:10:33
[b2ea9abd]
fix(blockfrost): compute network locked supply and align network eras schema
(dingo)
13:10:38
[ff1391a8]
fix(blockfrost): cache payment-script backfill sentinel as atomic.Bool to avoid per-call DB query
(dingo)
13:10:39
[b2ab76e3]
fix(blockfrost): solve lint issues and increase test timeout to 15m from 10m
(dingo)
13:13:54
[022e3dc8]
feat: add constructors for Conway proposal procedures and governance actions (#1814)
(gouroboros)
13:16:58
[c9811702]
fix(cardano-node): fix cardano node topology json peersnapshotfile
(helm-charts)
13:17:46
[aa977ec5]
chore(release): cut the Identus Cloud agent 2.2.0 release
(open-enterprise-agent)
13:19:36
[d8dd23fc]
Merge main into preprod: Prisma 7 + mesh 2.0 migration + test-infra fixes (#269)
(multisig)
13:22:08
[0dcfbb9c]
Remove hardcoded fanout chunk/threshold constants; make fanout sizing fully dynamic
(hydra-poc)
13:22:08
[35c4e642]
Consolidate fanout test constants and fix uncaught exception in postTx
(hydra-poc)
13:22:08
[c88e48a4]
Fix tx-cost bench: drop fanoutChunkSize, widen FinalPartialFanout range
(hydra-poc)
13:22:09
[4cda7047]
Small cleanups: nullary IncrementalAction constructors and isG1Generator helper
(hydra-poc)
13:22:10
[d3985aea]
Clean up mutation tests and remove stale hash references after accumulator refactor
(hydra-poc)
13:22:10
[5fd3a35b]
Harden checkPartialFanout: prevent lock attack and zero-output degenerate case
(hydra-poc)
13:22:10
[330664ed]
Fix genFanoutTx and tx-cost bench to correctly evaluate fanout transactions
(hydra-poc)
13:22:11
[9d3833ba]
Fix fanout for pre-settled UTxOs: remove isG1Generator, add headAdaOverhead
(hydra-poc)
13:22:12
[6b06f83e]
Pre-fund head output with worst-case ClosedDatum min-UTxO at init time
(hydra-poc)
13:22:12
[f13dba2e]
Enforce strict value equality in Close/Contest: prevent stuck-head griefing
(hydra-poc)
13:22:13
[e86a47ad]
Fix expected error code for MutateSnapshotVersion in CloseInitial mutation test
(hydra-poc)
13:22:13
[43fd2aa4]
Add contract tests for CloseAny, CloseInitial mutations, and ContestCommit
(hydra-poc)
13:23:29
[1d526566]
fix(cardano-node): fix cardano node topology json peersnapshotfile
(helm-charts)
13:33:09
[57aeee54]
Deploying to gh-pages from @ cardano-scaling/hydra@a8237100e067ce2973b2427dd58558b58fd370ef 🚀
(hydra)
13:50:52
[ef4a2143]
Add per-proposal Open Graph cards for shared links (#178)
(cardano-governance-voting-tool)
13:51:06
[4fe54ada]
Gov property #414: state that GA deposits are eventually refunded
(formal-ledger-specifications)
13:54:06
[f4554f38]
Gov property #417: state that a voter's last vote is applied to the GA
(formal-ledger-specifications)
13:56:20
[e115ce67]
fix(cardano-node): fix cardano node topology json peersnapshotfile (#402)
(helm-charts)
14:03:09
[e83dd165]
move UTxOS to Wallets and Connectivity; tag implementation languages
(developer-portal)
14:04:34
[f5548b22]
Define PerasCrypto and wire up voting committee instance using BLS
(ouroboros-consensus)
14:04:34
[aed3e550]
Add conversions between Peras votes/certs and voting committee types
(ouroboros-consensus)
14:04:34
[c6f3cad7]
Define concrete Peras certs and votes using BLS signatures
(ouroboros-consensus)
14:04:35
[5c6efc59]
Merge `PerasTargetVoteTally` and `ValidatedPerasVotesWithQuorum`
(ouroboros-consensus)
14:04:35
[f4e8e079]
Re-change Peras target to use `Point blk` instead of `PerasBoostedBlock`
(ouroboros-consensus)
14:04:35
[9b44840f]
Consolidate Peras vote and certificate projection type classes
(ouroboros-consensus)
14:04:35
[0ca3480a]
Make Mock{Vote,Cert}+MockCrypto compliant with new interface, using EveryoneVotes scheme
(ouroboros-consensus)
14:04:35
[ca37123b]
Revert "Re-change Peras target to use `Point blk` instead of `PerasBoostedBlock`"
(ouroboros-consensus)
14:04:35
[0bd1a2dd]
Change BlockSupportsPeras instance for ShelleyBlock p DijkstraEra + HardForkBlock to use concrete V1.Peras{Cert,Vote}
(ouroboros-consensus)
14:04:35
[a9bcb0fd]
Update interface `BlockSupportsPeras` and add concrete default implementation properly using committee
(ouroboros-consensus)
14:04:35
[4f27264d]
Working on ledger/header Peras-related state API and implem
(ouroboros-consensus)
14:04:35
[2cb93964]
Extend PerasCertDB.getLatestCertSeen to keep track of cert boosted block status
(ouroboros-consensus)
14:04:35
[b0d6731f]
Define differentiated BlockSupportsPeras instances for ShelleyBlocks
(ouroboros-consensus)
14:04:35
[ab1b772b]
Add serialization roundtrip tests for PerasCert and PerasVote
(ouroboros-consensus)
14:04:35
[13205ee6]
Add conversion roundtrip tests between Peras votes/certs and voting committee types
(ouroboros-consensus)
14:06:16
[685ab110]
feat(ci): activate DMQ node in 'release-mainnet' and 'release-preprod' networks
(mithril)
14:25:40
[d1f0cf8e]
Artifacts generated from 90f4c41e7f7faa587182077f3d100556caeadd83
(formal-ledger-specifications)
14:31:57
[92955df8]
ChainDB: add getLastGcSlot; Leios: late-join cache + GC pruner
(ouroboros-consensus)
15:07:36
[c381e589]
refactor(aggregator): package only one ledger state snapshot for Cardano node version above 10.4
(mithril)
15:09:17
[c41020b3]
Merge pull request #7988 from IndigoProtocol/indigo/ijpy-logo-update
(cardano-token-registry)
15:09:42
[973a426e]
Merge pull request #7989 from IndigoProtocol/indigo/ieur-logo-update
(cardano-token-registry)
15:27:22
[edabba69]
Merge pull request #7990 from Liqwid-Labs/feat/cgold-metadata
(cardano-token-registry)
15:33:18
[905fe2c5]
Merge pull request #3316 from input-output-hk/djo/3151/e2e-refactor-to-prepare-snark-scenario
(mithril)
15:33:44
[bc28ab90]
CIP-0164 | Refine Leios protocols based on buidlerfest discussions (#1167)
(CIPs)
15:34:34
[eaedd4bf]
feat(ci): activate DMQ node in 'release-mainnet' and 'release-preprod' networks
(mithril)
15:35:19
[a1659333]
LeiosStore: bound notifications deque and skip idle eviction sweeps
(ouroboros-leios)
15:41:02
[fb4c342d]
Merge pull request #925 from input-output-hk/cet/memory-telemetry
(ouroboros-leios)
15:52:41
[da38b56f]
testnet(amaru): epoch_length=120, k=5 so bootstrap fits the Antithesis setup budget
(cardano-node-antithesis)
15:52:59
[e6fe8a12]
testnet(amaru): sync amaru from the protected relays, not the producers
(cardano-node-antithesis)
16:02:54
[7d13b76f]
Merge pull request #3318 from input-output-hk/jpraynaud/3303-dmq-node-ledger-peer-support
(mithril)
16:04:29
[3b21cd78]
Merge pull request #6580 from IntersectMBO/remove-iohk-monitoring
(cardano-node)
16:12:37
[53a90f6a]
Merge branch 'cardano-foundation:master' into add-orxu-token
(cardano-token-registry)
16:44:35
[0854972c]
feat(create-snapshots): add --targets-file and --cardano-db-dir for offline/testnet snapshots
(amaru)
16:44:36
[00e375ca]
fix(bootstrap): honor era-history sidecar when importing testnet tvar snapshots
(amaru)
16:52:55
[9099aedb]
wb | new genesis "ripper" backend separating dataset from protocol
(cardano-node)
16:53:04
[8f3d837b]
wb | restore previously removed extra cost models in epoch-timeline.json
(cardano-node)
16:53:44
[efd2d479]
docs: add Lace, Begin Wallet, and Eternl Mobile as CIP-99 implementors (#1209)
(CIPs)
16:54:58
[2d2f5243]
refactor(stm): merge error variands and use protocol message functions instead of epoch data
(mithril)
16:58:18
[3f5bbe96]
fix(database): Fixed teh parseStakeAddress now preserves the credential tag from the parsed stake address: tag 0 for key credentials and tag 1 for script credentials.
(dingo)
17:27:24
[472808b0]
fix(database): Updated account history, delegation & registartion hisotry as well to include credential tag. Also, I have make sure to have existing history methods as compatibility wrapper same as like GetAccount. Uodated database overview as well.
(dingo)
17:52:26
[4e033b84]
docker: move env snapshot to `/tmp`, drop dead topologyUpdater mapping
(cardano-node)
18:19:45
[920ae022]
Merge pull request #6580 from IntersectMBO/remove-iohk-monitoring
(cardano-node)
19:12:55
[0df91769]
Merge pull request #938 from input-output-hk/cet/fix-sim-rs-lottery-api
(ouroboros-leios)
19:25:04
[6459903a]
Merge pull request #6580 from IntersectMBO/remove-iohk-monitoring
(cardano-node)
19:39:31
[5ec7d758]
test(freeUtxos): drop virtual:true from module mocks to fix flakiness
(multisig)
20:04:54
[1fbc0da9]
taxonomy: split node into clients + node-access, drop analog field, add stack model
(developer-portal)
20:05:03
[5a328432]
builder tools: reclassify catalog, add cardano-node, refresh indexer picks, align descriptions
(developer-portal)
20:05:10
[9454ff0e]
builder tools: surface category and intent definitions as hover tooltips
(developer-portal)
20:46:33
[96e20f7d]
feat(governance): in-app Ekklesia/Hydra budget voting for multisig DRep
(multisig)
21:31:03
[9271e7a0]
feat(leios): implement stake-truncated committee voting and stake quorum (#2509)
(dingo)
21:38:54
[95f67d9d]
feat(governance): in-app Ekklesia/Hydra budget voting for multisig DRep (#272)
(multisig)
21:59:33
[293e518c]
builder tools: refresh maintainer picks, rename Guild Operators Suite
(developer-portal)
22:13:35
[86125f08]
chore(deps): bump github.com/blinklabs-io/gouroboros from 0.180.1 to 0.182.0
(adder)
22:43:55
[ade53206]
chore(deps): bump github.com/blinklabs-io/gouroboros from 0.180.1 to 0.182.0 (#748)
(adder)
22:46:13
[f98ec957]
chore(deps): bump github.com/SundaeSwap-finance/kugo from 1.3.0 to 1.3.1
(adder)
22:52:19
[63e9ef13]
chore(deps): bump github.com/SundaeSwap-finance/kugo from 1.3.0 to 1.3.1 (#745)
(adder)
23:07:57
[5ec94d25]
chore(deps): upgrade gouroboros to v0.182.0, adder to v0.41.0, cardano-models to v0.7.1
(cdnsd)
23:30:28
[6e053ad2]
🟩 API (All properties) is up (204 in 716 ms) [skip ci] [upptime]
(cf-token-metadata-registry-status)
23:30:28
[5cf73d45]
🟩 API (Specific property) is up (204 in 135 ms) [skip ci] [upptime]
(cf-token-metadata-registry-status)
23:30:29
[53c13417]
🟩 API (Batch) is up (204 in 136 ms) [skip ci] [upptime]
(cf-token-metadata-registry-status)
23:32:32
[73327141]
docs: builder-tools contribution rules, curation and picks policy; fix stale CONTRIBUTING
(developer-portal)
23:34:03
[a2b76123]
🟥 1694ballot.cardano.org is down (0 in 0 ms) [skip ci] [upptime]
(cf-cip1694-ballot-status)
23:34:24
[2e2d57c9]
🟩 voting.summit.cardano.org is up (200 in 56 ms) [skip ci] [upptime]
(cf-summit-evoting-status)
23:34:25
[91eec119]
🟩 user-verification-api is up (405 in 462 ms) [skip ci] [upptime]
(cf-summit-evoting-status)
23:34:25
[9042347e]
🟥 event-api is down (0 in 0 ms) [skip ci] [upptime]
(cf-cip1694-ballot-status)
23:34:25
[59a5c6b2]
🟩 event-api is up (200 in 499 ms) [skip ci] [upptime]
(cf-summit-evoting-status)
23:34:26
[6944d9c7]
🟩 blockchain-follower-api is up (200 in 559 ms) [skip ci] [upptime]
(cf-summit-evoting-status)
23:34:26
[8d44143c]
🟩 login-api is up (401 in 428 ms) [skip ci] [upptime]
(cf-summit-evoting-status)
23:34:27
[c8aa78a7]
🟩 get-votes-api is up (401 in 546 ms) [skip ci] [upptime]
(cf-summit-evoting-status)
23:34:27
[eb9bed2e]
🟩 cast-vote-api is up (401 in 553 ms) [skip ci] [upptime]
(cf-summit-evoting-status)
23:34:28
[ca485d63]
🟩 get-vote-receipt-api is up (401 in 172 ms) [skip ci] [upptime]
(cf-summit-evoting-status)
23:34:47
[2eeeca85]
🟥 blockchain-follower-api is down (0 in 0 ms) [skip ci] [upptime]
(cf-cip1694-ballot-status)
23:35:08
[87032a48]
🟥 login-api is down (0 in 0 ms) [skip ci] [upptime]
(cf-cip1694-ballot-status)
23:35:29
[1626d7db]
🟥 cast-vote-api is down (0 in 0 ms) [skip ci] [upptime]
(cf-cip1694-ballot-status)
23:35:51
[73745e09]
🟥 get-votes-api is down (0 in 0 ms) [skip ci] [upptime]
(cf-cip1694-ballot-status)
23:36:12
[91793af4]
🟥 get-vote-receipt-api is down (0 in 0 ms) [skip ci] [upptime]
(cf-cip1694-ballot-status)
23:46:44
[0829a83b]
clean up dead showcase components, trim toolStats stubs, document builder-tools architecture
(developer-portal)