Skip to content

docs(blueprints): add product blueprint guide#148

Merged
drewstone merged 6 commits into
mainfrom
chore/tnt-core-v0.13.0-doc-updates
Jun 14, 2026
Merged

docs(blueprints): add product blueprint guide#148
drewstone merged 6 commits into
mainfrom
chore/tnt-core-v0.13.0-doc-updates

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Summary

  • add a top-level Blueprints nav item
  • document the Tangle blueprint protocol model without conflating blueprint templates and service instances
  • add rich pages for AI Agent Sandbox, AI Trading, and Surplus Market, including operator requirements, dapp/indexer notes, and runtime details

Validation

  • yarn build
  • git merge-tree --write-tree origin/main HEAD

drewstone added 6 commits May 8, 2026 15:07
…iceManager (v0.13.0)

- ITangleSlashing: align with the actual SlashingLib events. SlashProposed
  is 8 fields, SlashExecuted is 4. Add SlashDisputed, SlashCancelled,
  SlashConfigUpdated event sections. proposeSlash takes uint16 slashBps
  (was uint256 amount). disputeSlash is external payable. setSlashConfig
  is the 6-arg form. Add getSlashConfig view.
- IMBSMRegistry.pinBlueprint: add a paragraph documenting the deprecation
  grace-window rejection (revisions in the grace window are refused so
  pinning cannot defeat the deprecation flow).
- IBlueprintServiceManager: document forceRemoveAllowsBelowMin (default
  false; custom BSMs not inheriting BlueprintServiceManagerBase MUST
  implement) and getNonPaymentTerminationPolicy (added in v0.11.1, never
  documented).

Mirrored to generated/ copies; tnt-core sync check still passes.
QuoteDetails and JobQuoteDetails now carry address requester as the FIRST
field of the EIP-712 typed data. The contract enforces
requester == msg.sender and rejects wildcard requester == address(0).

- pricing-and-payments: reorder field lists (requester first), add a
  copyable Solidity struct literal and JSON typed-data example, and a
  Quote-binding key-property bullet covering both QuoteDetails and
  JobQuoteDetails (with the new typehash strings).
- pricing-engine: add Security Notes bullet on requester binding and a
  Best Practices entry on always populating requester.
- operators/pricing/overview: RFQ section gains a requester-binding
  callout for operator quote-server implementations.
- execution-confidentiality: append a customer-request bullet noting
  that confidential quotes are bound to a specific consumer via
  requester so they cannot be lifted from the mempool.
… self-dispute (v0.13.0)

- slashing: proposeSlash and disputeSlash now nonReentrant. proposeSlash
  rejects bytes32(0) evidence. executeSlash for a Disputed proposal uses
  disputeDeadline + TIMESTAMP_BUFFER (15s symmetric with the Pending
  branch). SLASH_ADMIN_ROLE that is also the proposer of a slash cannot
  self-dispute their own proposal.
- service-lifecycle: new "Exit Gates (v0.13.0)" section covering the
  Active-status gate on every operator-exit entrypoint, nonReentrant on
  terminateService, approveService rejecting past-grace requests, and
  rejection of duplicate operators. force-remove paragraph now mentions
  the forceRemoveAllowsBelowMin opt-in.
- auth-surface: append "(admin cannot self-dispute their own proposal)"
  to the disputeSlash row. Mark terminateService and forceRemoveOperator
  as nonReentrant. Note that pinBlueprint reverts inside the deprecation
  grace window.
- network/metrics-and-scoring: list the full slashing event names
  (Proposed, Disputed, Executed, Cancelled, ConfigUpdated) so indexers
  know to subscribe to all five.
…slasher rotation

infrastructure/protocol-deployment runbook now reminds operators that
bootstrap setMessenger / setSlasher (current = address(0)) takes effect
immediately on L2SlashingReceiver, but subsequent rotations are
timelocked: queue the new address with setMessenger / setSlasher, then
call activateMessenger() / activateSlasher() after SENDER_ACTIVATION_DELAY
(2 days) elapses. Document the queue/activate pair as two transactions
in the runbook so operators know to schedule the activation tx before
the delay window closes.

(The L2SlashingReceiver auth-surface table was already updated in the
previous commit on this branch.)
New /release-notes/0.13.0 page documenting the v0.12.0/v0.13.0 BREAKING
changes (EIP-712 quote requester binding, ITangleSlashing event reshape,
Types.ServiceRequest.activated reorder, forceRemoveAllowsBelowMin BSM
hook), the round-2 hardening fixes (slashing nonReentrant + admin
self-dispute, service lifecycle gates, MBSM grace-window pinning, L2
slashing receiver timelock + CEI revert, beacon SSZ canonical
endianness, TNTLockFactory beneficiary gate), and a migration checklist
for operator quote servers, indexers, custom BSMs, MBSM operators, L2
receiver operators, beacon proof builders, and SLASH_ADMIN holders.

Cites tnt-core PRs #124 and #125 and links the bindings CHANGELOG.

Adds top-level "Release Notes" entry to pages/_meta.ts so the section
is discoverable from the global navigation.
@netlify

netlify Bot commented Jun 14, 2026

Copy link
Copy Markdown

Deploy Preview for tangle-docs ready!

Name Link
🔨 Latest commit 6c9d32a
🔍 Latest deploy log https://app.netlify.com/projects/tangle-docs/deploys/6a2f1ecebe37c100089afc22
😎 Deploy Preview https://deploy-preview-148--tangle-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@tangletools tangletools left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved PR — 6c9d32a3

Blanket team auto-approval is enabled for this reviewer service.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

tangletools · auto-approval · reason: blanket_auto_approve · 2026-06-14T21:36:18Z

@drewstone drewstone merged commit 55128a0 into main Jun 14, 2026
7 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants