{
  "schema_version": "1.0.0",
  "version": "1.0.12",
  "current_sdk_version": "6.0.0",
  "current_version": "1.0.12",
  "generated": "2026-05-15T00:00:00.000Z",
  "description": "Version history of all /agents/ layer changes, SDK version bumps, and audit passes. Each entry includes the agent-layer content version, affected files, trigger description, and breaking/migration flags. current_version tracks the latest entry; version tracks this file's own schema revision.",
  "entries": [
    {
      "date": "2026-05-15T00:00:00.000Z",
      "version": "1.0.12",
      "changes": [
        "All agent metadata files: bump current_sdk_version 5.1.17 -> 6.0.0 (matches @pushchain/core@6.0.0 and @pushchain/ui-kit@6.0.0 on npm).",
        "static/agents/contract-addresses.json: refreshed CEAFactory addresses on Sepolia / Arbitrum / Base / BNB plus USDT PRC-20 addresses for all chains (live SDK v6 deployments).",
        "static/agents/resources/push-contracts/IUniversalGatewayPC.sol: UniversalOutboundTxRequest struct gained gasPrice and maxPCForGas fields (8 fields total). recipient field kept unchanged (matches canonical TypesUGPC.sol).",
        "docs/chain/01-tutorials/02-power-features/04-Tutorial-Universal-Cross-Chain-Counter.mdx + tutorials/universal-cross-chain-counters READMEs: refreshed reference deployment table with redeployed SDK v6 contracts (MultiChainCounter on Push Donut, ExternalCounter on Sepolia + BNB Testnet)."
      ],
      "files_affected": [
        "static/agents/index.json",
        "static/agents/source-freshness.json",
        "static/agents/contract-addresses.json",
        "static/agents/capabilities.json",
        "static/agents/sdk-capabilities.json",
        "static/agents/constants.json",
        "static/agents/decision-tree.json",
        "static/agents/errors.json",
        "static/agents/feature-matrix.json",
        "static/agents/mcp-candidates.json",
        "static/agents/retrieval-map.json",
        "static/agents/supported-chains.json",
        "static/agents/examples/index.json",
        "static/agents/resources/index.json",
        "static/agents/schemas/index.json",
        "static/agents/skills/index.json",
        "static/agents/workflows/index.json",
        "static/agents/README.md",
        "static/agents/recovery-playbook.md",
        "static/agents/task-router.md",
        "static/agents/resources/push-contracts/IUniversalGatewayPC.sol",
        "docs/chain/01-tutorials/02-power-features/04-Tutorial-Universal-Cross-Chain-Counter.mdx"
      ],
      "sdk_version": "6.0.0",
      "category": "sdk-bump",
      "trigger": "SDK v6 release: UGPC outbound struct gained gasPrice + maxPCForGas; CEAFactory + USDT PRC-20 addresses changed across all destination chains; push-chain-examples contracts redeployed against v6 layout (universal-cross-chain-counters tutorial verified end-to-end).",
      "breaking": true,
      "migration": "Contracts calling UGPC.sendUniversalTxOutbound must populate the two new fields (gasPrice + maxPCForGas). For most flows both default to 0 (UGPC auto-prices and uses the EOA's PC). PRC-20 holders on Sepolia/Arb/Base/BNB testnets should re-derive USDT addresses from contract-addresses.json. App code calling deriveExecutorAccount or factoryAddress should consult the refreshed CEAFactory entries."
    },
    {
      "date": "2026-05-10T00:00:00.000Z",
      "version": "1.0.11",
      "changes": [
        "decision-tree.json: bump 1.2.0 -> 1.3.0. Add new tree `choose_pusd_product` with 3 branches (PUSD = 1:1 stable / PUSD+ = NAV-bearing yield / preview NAV before mint or redeem). Tree marked external:true with external_skill_url pointing at the push-pusd SKILL on pusd.push.org. Each branch documents contract calls, two-mint-routes for PUSD+ (depositToPlus direct vs vault.deposit wrap), 3-tier PUSD+ redemption fulfillment, and the no-fee wrap path. Trees prior to this all routed through SDK capability_ids; this one routes through an external skill.",
        "task-router.md: enhance the 'Mint or Redeem PUSD / PUSD+' section. Add a 'Two products, distinct intents' row that explicitly contrasts PUSD (no yield) vs PUSD+ (NAV-bearing). Add 3 new code examples: B (mint PUSD+ direct from reserves via depositToPlus), C (wrap existing PUSD into PUSD+ via vault.deposit, no wrap fee), D (preview NAV via previewMintPlus / previewBurnPlus, no signature). Cross-link to the new decision tree branch via a comment marker."
      ],
      "files_affected": [
        "static/agents/decision-tree.json",
        "static/agents/task-router.md",
        "static/agents/changelog.json"
      ],
      "sdk_version": "5.1.17",
      "category": "external-product-routing",
      "trigger": "Decision-tree gap from prior audit: PUSD was reachable via skills/index.json, task-router.md, retrieval-map.json, source-freshness.json, and llms.txt, but not via decision-tree.json. Adding a dedicated tree closes the gap and makes PUSD vs PUSD+ a first-class branching decision rather than a single combined entry.",
      "breaking": false
    },
    {
      "date": "2026-05-10T00:00:00.000Z",
      "version": "1.0.10",
      "changes": [
        "All agent metadata files: bump current_sdk_version 5.1.12 -> 5.1.17 and ui-kit 5.2.3 -> 5.2.10 (live npm versions). Affects llms.txt frontmatter as well.",
        "Add push-pusd as the 4th skill (external, hosted on pusd.push.org). Wired into llms.txt (Skills bullet + new 'Products on Push Chain' section), agents/README.md (skills table row marked external), agents/skills/index.json (new entry with external/host/agent_layer/repo fields), agents/task-router.md (new 'Mint or Redeem PUSD / PUSD+' section + Quick Reference row), agents/retrieval-map.json (new entry with external=true), agents/source-freshness.json (new dependency entry tracking the external skill).",
        "skills/index.json: bump schema_version 1.0.0 -> 1.1.0, document new optional fields (external, host, agent_layer, repo) in schema_notes for external skills.",
        "agents/workflows/contract-initiated-multichain-execution.md: fix gasLimit:0 contradiction. Both Minimal Complete Contract examples now use gasLimit: 2_000_000 (matches the round-trip section's hard requirement). Updated Agent Notes wording.",
        "agents/skills/push-contracts/SKILL.md: add 6 new rows to Common Mistakes table covering empirical findings (gasLimit floor, destination CEA prefunding, Solana STF + value sizing, Push -> Sepolia outbound TSS gap, 6-arg-only inbound dispatch, refund accumulation). Added a 'Two distinct UG entry points' callout disambiguating sendUniversalTx (4-param, inbound) vs sendUniversalTxFromCEA (round-trip back-leg)."
      ],
      "files_affected": [
        "static/llms.txt",
        "static/agents/README.md",
        "static/agents/changelog.json",
        "static/agents/index.json",
        "static/agents/capabilities.json",
        "static/agents/sdk-capabilities.json",
        "static/agents/supported-chains.json",
        "static/agents/feature-matrix.json",
        "static/agents/decision-tree.json",
        "static/agents/errors.json",
        "static/agents/retrieval-map.json",
        "static/agents/mcp-candidates.json",
        "static/agents/source-freshness.json",
        "static/agents/recovery-playbook.md",
        "static/agents/task-router.md",
        "static/agents/examples/index.json",
        "static/agents/skills/index.json",
        "static/agents/skills/push-contracts/SKILL.md",
        "static/agents/workflows/index.json",
        "static/agents/workflows/contract-initiated-multichain-execution.md",
        "static/agents/resources/index.json",
        "static/agents/resources/push-frontend/package.json",
        "static/agents/schemas/index.json",
        "static/agents/constants.json",
        "static/agents/contract-addresses.json"
      ],
      "sdk_version": "5.1.17",
      "category": "version-bump+integration+docs-fix",
      "trigger": "Audit cycle 2026-05-10: SDK npm versions had drifted (5.1.12 -> 5.1.17), workflow contradicted itself on gasLimit, push-pusd was a new external product missing from the discovery layer, push-contracts SKILL Common Mistakes table missing empirical findings from Donut Testnet validation",
      "breaking": false
    },
    {
      "date": "2026-04-24T00:00:00.000Z",
      "version": "1.0.9",
      "changes": [
        "contract-addresses.json: update USDC_eth_WPC pool (0x69B21→0x524B9), USDC_arb_WPC pool (0xF3578→0xB3ccb), USDC_base_WPC pool (0x96Ef4→0xC76D2)",
        "contract-addresses.json: update ETH Sepolia gateway impl (0xA787f→0xa594c), Base Sepolia gateway impl (0xd1d25→0x9f63e)",
        "contract-addresses.json: update Base Sepolia USDC source (0x5dd39→0x5c350)",
        "contract-addresses.json: rename BNB testnet native_ETH→native_BNB, remove DAI entry",
        "constants.json: rename MOVEABLE.TOKEN.BNB_TESTNET.ETH→BNB (Native BNB), PUSH_TESTNET_DONUT.pEthBnb→pBnb",
        "llms-full.txt: sync all above changes plus BNB table Native ETH→Native BNB and DAI row removal",
        "All agent metadata files: bump current_sdk_version 5.1.7→5.1.12"
      ],
      "files_affected": [
        "static/agents/contract-addresses.json",
        "static/agents/constants.json",
        "static/llms-full.txt",
        "static/agents/changelog.json",
        "static/agents/index.json",
        "static/agents/capabilities.json",
        "static/agents/sdk-capabilities.json",
        "static/agents/supported-chains.json",
        "static/agents/feature-matrix.json",
        "static/agents/decision-tree.json",
        "static/agents/errors.json",
        "static/agents/retrieval-map.json",
        "static/agents/mcp-candidates.json",
        "static/agents/source-freshness.json",
        "static/agents/recovery-playbook.md",
        "static/agents/README.md",
        "static/agents/task-router.md",
        "static/agents/examples/index.json",
        "static/agents/skills/index.json",
        "static/agents/workflows/index.json",
        "static/agents/resources/index.json",
        "static/agents/schemas/index.json"
      ],
      "sdk_version": "5.1.17",
      "category": "address-sync",
      "trigger": "Sync contract addresses and constants from MDX docs update: AMM pool redeploys, gateway impl upgrades, Base Sepolia USDC source change, BNB native token rename, pEthBnb→pBnb constant rename",
      "breaking": false
    },
    {
      "date": "2026-04-21T17:54:00.000Z",
      "version": "1.0.8",
      "changes": [
        "push-frontend/SKILL.md: added name and description fields to YAML frontmatter (above id) for Anthropic skill-loader compatibility",
        "push-backend/SKILL.md: added name and description fields to YAML frontmatter (above id) for Anthropic skill-loader compatibility",
        "push-contracts/SKILL.md: added name and description fields to YAML frontmatter (above id) for Anthropic skill-loader compatibility"
      ],
      "files_affected": [
        "static/agents/skills/push-frontend/SKILL.md",
        "static/agents/skills/push-backend/SKILL.md",
        "static/agents/skills/push-contracts/SKILL.md",
        "static/agents/changelog.json"
      ],
      "sdk_version": "5.1.7",
      "category": "skill-revision",
      "trigger": "Add name + description frontmatter fields to all three skill files for Anthropic skill-loader compatibility",
      "breaking": false,
      "migration": null
    },
    {
      "date": "2026-04-21T00:00:00.000Z",
      "version": "1.0.7",
      "changes": [
        "decision-tree.json: added capability_ids array to all 28 branches across 9 trees (25 distinct capability references); bumped to v1.2.0",
        "decision-tree.json: added mapping_note to 3 diagnostic-only branches in handle_transaction_failure (capability_ids: [])",
        "task-router.md: added version/schema/sdk/generated header comment at file top",
        "task-router.md: added capability_ids HTML comment block under all 13 section headings (12 problem sections + Quick Reference Table)",
        "Coverage result: 22/25 capabilities now reachable via decision-tree or task-router; 3 intentional gaps documented (contract_initiated_multichain, get_constants, use_contract_helpers)"
      ],
      "files_affected": [
        "static/agents/decision-tree.json",
        "static/agents/task-router.md",
        "static/agents/changelog.json",
        "static/llms.txt"
      ],
      "sdk_version": "5.1.7",
      "category": "capability-linkage",
      "trigger": "Close P3 finding \u2014 cross-file capability linkage from routing layer",
      "breaking": false,
      "migration": null
    },
    {
      "date": "2026-04-21T00:00:00.000Z",
      "version": "1.0.6",
      "changes": [
        "index.json: added schemas/index.json and skills/index.json to the description's sub-index list (were previously omitted)",
        "index.json: added top-level sub_indexes array with category, path, and count fields for all 5 sub-indexes (examples:60, workflows:17, resources:3, schemas:7, skills:3)",
        "index.json: bumped version from 1.0.0 to 1.1.0 (additive field added)",
        "index.json: updated generated timestamp to 2026-04-21"
      ],
      "files_affected": [
        "static/agents/index.json",
        "static/agents/changelog.json",
        "static/llms.txt"
      ],
      "sdk_version": "5.1.7",
      "category": "metadata-normalization",
      "trigger": "Close P3 finding \u2014 clarify index.json manifest scope and expose sub-index references as structured metadata",
      "breaking": false,
      "migration": null
    },
    {
      "date": "2026-04-21T00:00:00.000Z",
      "version": "1.0.5",
      "changes": [
        "recovery-playbook.md: added dedicated recovery entries for unsupported_chain",
        "recovery-playbook.md: added dedicated recovery entry for signature_mismatch",
        "recovery-playbook.md: added dedicated recovery entry for invalid_tx_hash",
        "recovery-playbook.md: added dedicated recovery entry for tx_timeout",
        "recovery-playbook.md: added dedicated recovery entry for uea_not_deployed",
        "recovery-playbook.md: added dedicated recovery entry for chain_not_supported_for_cea",
        "recovery-playbook.md: added dedicated recovery entry for uea_upgrade_required",
        "recovery-playbook.md: added dedicated recovery entry for funds_transfer_failed",
        "recovery-playbook.md: added dedicated recovery entry for multicall_partial_failure",
        "recovery-playbook.md: added YAML front matter with schema_version, version, current_sdk_version, generated",
        "recovery-playbook.md: renumbered General Recovery Patterns → Section 7, Escalation Protocol → Section 8",
        "changelog.json: bumped current_version from 1.0.4 to 1.0.5",
        "llms.txt: added v1.0.5 bullet to Changelog section; bumped header version to v1.0.5"
      ],
      "files_affected": [
        "static/agents/recovery-playbook.md",
        "static/agents/changelog.json",
        "static/llms.txt"
      ],
      "sdk_version": "5.1.7",
      "category": "playbook-completion",
      "trigger": "Close P1 gap — 9 missing errors/recovery-playbook entries",
      "breaking": false,
      "migration": null
    },
    {
      "date": "2026-04-20T00:00:00.000Z",
      "version": "1.0.4",
      "changes": [
        "Metadata normalization sweep across all 16 agent-layer JSON files",
        "Added current_sdk_version: 5.1.7 to all files that lacked it (constants.json, contract-addresses.json, feature-matrix.json, index.json, source-freshness.json, supported-chains.json, schemas/index.json, skills/index.json, workflows/index.json, resources/index.json)",
        "Wrapped 3 bare-array roots in canonical object envelopes: errors.json → {errors:[]}, mcp-candidates.json → {candidates:[]}, examples/index.json → {examples:[]}",
        "Renamed last_generated → generated in source-freshness.json; added description field",
        "Added version + generated + description to changelog.json; added current_sdk_version",
        "Added schema_version + version + current_sdk_version + generated to skills/index.json (had only description)",
        "Added version + current_sdk_version to workflows/index.json",
        "Updated stale generated timestamps to 2026-04-20 in constants.json, feature-matrix.json, supported-chains.json, schemas/index.json"
      ],
      "files_affected": [
        "static/agents/changelog.json",
        "static/agents/constants.json",
        "static/agents/contract-addresses.json",
        "static/agents/errors.json",
        "static/agents/feature-matrix.json",
        "static/agents/index.json",
        "static/agents/mcp-candidates.json",
        "static/agents/source-freshness.json",
        "static/agents/supported-chains.json",
        "static/agents/schemas/index.json",
        "static/agents/examples/index.json",
        "static/agents/skills/index.json",
        "static/agents/workflows/index.json",
        "static/agents/resources/index.json"
      ],
      "sdk_version": "5.1.7",
      "category": "metadata-normalization",
      "trigger": "Metadata normalization audit pass — align all JSON files to capabilities.json canonical shape",
      "breaking": true,
      "migration": "errors.json: was array root, now object — use .errors[N] instead of [N]. mcp-candidates.json: was array root, now object — use .candidates[N] instead of [N]. examples/index.json: was array root, now object — use .examples[N] instead of [N]. Each wrapped file includes a migration_note field with the exact access path change."
    },
    {
      "date": "2026-04-17T17:00:00.000Z",
      "version": "1.0.3",
      "changes": [
        "push-backend SKILL.md: moved Read Blockchain State section to immediately after EVM Compatible (fixes agent context-window retrieval ordering)",
        "push-backend SKILL.md: added ⚠️ read-only client callout near PushChain.initialize read-only block",
        "push-backend SKILL.md: fixed trackTransaction default chain from bare CHAIN.PUSH_TESTNET_DONUT to fully-qualified PushChain.CONSTANTS.CHAIN.PUSH_TESTNET_DONUT",
        "push-backend SKILL.md: fixed formatUnits argument name from options.decimals/options.precision to decimals: number | { decimals, precision? }",
        "push-backend SKILL.md: expanded Route 3 section with CEA explanation, universal vault flow, and ASCII diagram",
        "push-backend SKILL.md: added TxResponse note — external chain fields only available on TxReceipt after tx.wait()",
        "push-backend SKILL.md: expanded CascadedTxResponse table — initialTxHash vs initialTxResponse disambiguation",
        "push-backend SKILL.md: added try/catch + errors.json link to tx.wait() example",
        "push-backend SKILL.md: added security comments on PRIVATE_KEY and SOLANA_KEY env var loading",
        "push-backend SKILL.md: added encodeTxData bigint args example with TypeScript strictness note",
        "push-backend SKILL.md: added Contract Helpers cross-ref to deriveExecutorAccount for off-chain usage",
        "push-backend SKILL.md: added client.orchestrator is internal SDK note",
        "push-backend SKILL.md: added multicall zero-address explanation and External-chain-origin-only constraint",
        "push-backend SKILL.md: fixed LIBRARY comment — SOLANA_WEB3JS is for toUniversalFromKeypair; link to constants-reference.md",
        "push-frontend SKILL.md: expanded Route 3 section with full CEA explanation, vault flow, and diagram",
        "push-frontend SKILL.md: fixed install block — moved CLI comments out of code fence into blockquote",
        "push-frontend SKILL.md: replaced imaginary <ErrorBanner>/<Spinner> in guard pattern with concrete HTML elements",
        "push-frontend SKILL.md: added usePushChain hook-vs-direct-import note",
        "workflows/use-utility-functions.md: fixed formatUnits arg name; added encodeTxData bigint example",
        "workflows/track-transaction.md: fixed CHAIN.PUSH_TESTNET_DONUT to fully-qualified path",
        "workflows/send-multichain-transaction.md: expanded Route 3 section with CEA explanation, vault flow, diagram; fixed initialTxResponse note",
        "workflows/send-universal-transaction.md: added try/catch + receipt.status check + errors.json link to basic send example",
        "workflows/initialize-client.md: added ⚠️ read-only warning; updated PRIVATE_KEY placeholders to process.env; added orchestrator internal note",
        "workflows/create-universal-signer.md: updated PRIVATE_KEY placeholders to process.env; added LIBRARY constants link",
        "workflows/use-contract-helpers.md: added cross-ref to deriveExecutorAccount for off-chain use"
      ],
      "files_affected": [
        "static/agents/skills/push-backend/SKILL.md",
        "static/agents/skills/push-frontend/SKILL.md",
        "static/agents/workflows/use-utility-functions.md",
        "static/agents/workflows/track-transaction.md",
        "static/agents/workflows/send-multichain-transaction.md",
        "static/agents/workflows/send-universal-transaction.md",
        "static/agents/workflows/initialize-client.md",
        "static/agents/workflows/create-universal-signer.md",
        "static/agents/workflows/use-contract-helpers.md",
        "static/agents/changelog.json"
      ],
      "sdk_version": "5.1.7",
      "category": "skill-revision",
      "trigger": "16-issue audit pass — push-backend SKILL.md + propagation to workflows",
      "breaking": false,
      "migration": null
    },
    {
      "date": "2026-04-17T07:20:00.000Z",
      "version": "1.0.2",
      "changes": [
        "Rewrote push-frontend SKILL.md: merged duplicate Hooks sections into single table+note format",
        "Added canonical guard pattern (error → isInitialized → pushChainClient)",
        "Fixed usePushChain() description: removed misleading PushChain.initialize() reference",
        "Enumerated connectionStatus values (NOT_CONNECTED, CONNECTING, CONNECTED)",
        "Added Route 3 section with code example (from: { chain } CEA-origin pattern)",
        "Replaced single-hop cascade with real 2-hop example + progressHook + result.success check",
        "Fixed signMessage example to use Uint8Array (recommended); clarified return type",
        "Added @pushchain/core import clarity note (bundled in ui-kit, no separate install)",
        "Added SSR / Next.js 'use client' warning in Setup section",
        "Surfaced themeMode in top-level walletConfig example",
        "Clarified loginAppOverride vs modalAppOverride (pre/post-auth distinction)",
        "Updated create-universal-dapp description (Next.js or CRA choice)",
        "Replaced thin Notes section with Common Mistakes table (5 rows)",
        "Fixed signMessage signature in sdk-capabilities.json (string | Uint8Array)",
        "Fixed usePushChain description in ui-components.md"
      ],
      "files_affected": [
        "static/agents/skills/push-frontend/SKILL.md",
        "static/agents/skills/push-frontend/references/ui-components.md",
        "static/agents/sdk-capabilities.json",
        "static/agents/changelog.json"
      ],
      "sdk_version": "5.1.7",
      "category": "skill-revision",
      "trigger": "Claude audit pass — push-frontend SKILL.md 13-issue review",
      "breaking": false,
      "migration": null
    },
    {
      "date": "2026-04-17T06:21:28.989Z",
      "version": "1.0.1",
      "changes": [
        "Added Common Mistakes table (7 rows) to llms.txt",
        "Expanded Minimal Example with origin-chain provider variants",
        "Corrected Solana signer hint (Connection → toUniversalFromKeypair pattern)",
        "Added Claude.ai Projects to AI Editor integrations",
        "Faucet rate limits confirmed and documented (1 PC / 6 h, CAPTCHA-gated)",
        "Added Route 1 taxonomy comment to Minimal Example",
        "Added machine-readable changelog.json link to llms.txt Changelog section"
      ],
      "files_affected": [
        "static/llms.txt",
        "build.agents.llms.mjs",
        "static/agents/changelog.json"
      ],
      "sdk_version": "5.1.7",
      "category": "content-polish",
      "trigger": "manual audit pass — llms.txt polish",
      "breaking": false,
      "migration": null
    },
    {
      "date": "2026-04-17T04:23:42.400Z",
      "version": "1.0.0",
      "changes": [
        "Initial /agents/ layer generated",
        "Pinned SDK versions: @pushchain/core@5.1.4, @pushchain/ui-kit@5.2.10",
        "Corrected Route 1/2 descriptions for native Push Chain accounts",
        "Added Route 3 CEA-identity semantics",
        "Added Core / Extended agent layer tiers",
        "Directives expanded to 7 (split ethers/viem rule; added agent key model)",
        "Added Minimal Example section",
        "Grouped canonical workflows by category",
        "Designated contract-addresses.json as authoritative address source",
        "Created mcp-candidates.json with 12 MCP tool candidates",
        "Created source-freshness.json for dependency tracking"
      ],
      "files_affected": [
        "static/llms.txt",
        "build.agents.llms.mjs",
        "static/agents/index.json",
        "static/agents/mcp-candidates.json",
        "static/agents/workflows/index.json",
        "static/agents/changelog.json",
        "static/agents/source-freshness.json"
      ],
      "sdk_version": "5.1.4",
      "category": "initial-generation",
      "trigger": "build.agents.mjs initial run + manual audit pass",
      "breaking": false,
      "migration": null
    }
  ]
}
