{
  "base_url": "https://talk.nervos.org",
  "generated_at": "2026-05-03T17:44:55.593609+00:00",
  "since": "2026-05-02T17:44:49.988061+00:00",
  "until": "2026-05-03T17:44:49.988061+00:00",
  "window_hours": 24,
  "topics": [
    {
      "topic_id": 10193,
      "title": "CellScript - A DSL for Cell-Based Contracts",
      "slug": "cellscript-a-dsl-for-cell-based-contracts",
      "url": "https://talk.nervos.org/t/cellscript-a-dsl-for-cell-based-contracts/10193",
      "created_at": "2026-04-21T04:43:38.654000+00:00",
      "last_posted_at": "2026-05-03T17:39:54.554000+00:00",
      "category_id": 49,
      "tags": [
        "CKB-VM",
        "CellScript",
        "DSL"
      ],
      "posters": [
        "Original Poster, Most Recent Poster",
        "Frequent Poster",
        "Frequent Poster",
        "Frequent Poster",
        "Frequent Poster"
      ],
      "recent_posts": [
        {
          "post_id": 24119,
          "post_number": 20,
          "topic_id": 10193,
          "topic_title": "CellScript - A DSL for Cell-Based Contracts",
          "topic_slug": "cellscript-a-dsl-for-cell-based-contracts",
          "author": "ArthurZhang",
          "created_at": "2026-05-03T17:39:54.554000+00:00",
          "updated_at": "2026-05-03T17:39:54.554000+00:00",
          "reply_to_post_number": null,
          "url": "https://talk.nervos.org/t/cellscript-a-dsl-for-cell-based-contracts/10193/20",
          "content_text": "CellScript v0.13.2: closing the 0.13 stable line with strict CKB acceptance evidence\nCellScript v0.13.2 is now ready as the stable closing release for the 0.13 line.\nThis release is not only a compiler update. The main focus of 0.13.2 is release hardening: making the syntax surface more stable, keeping Cell effects audit-visible, and strengthening the CKB acceptance evidence behind the bundled production examples.\nWhat changed in 0.13?\nThe 0.13 line introduced and stabilised several important areas:\nbounded stack-backed Vec<T: FixedWidth> helper support;\ncanonical action/update syntax with named outputs, where proof blocks, and explicit move state edges;\nvisible lock-boundary data sources through protected, witness, and fixed-width lock_args;\nstdlib lifecycle and Cell metadata helpers that lower to explicit verifier obligations;\nsyntax-combination audit gates across parser, formatter, type checking, lowering, metadata, and codegen;\nstronger local CKB production acceptance for the bundled examples.\nA core design rule in this release is:\nSugar may shorten source code, but it must not hide Cell movement, ownership, or authorisation.\nFor example, helpers such as lifecycle transfer/claim/settle patterns and Cell metadata helpers are intended to be audit-visible shorthand. They lower to explicit verifier obligations rather than silently inventing protocol policy.\nStateful CKB acceptance\nThe biggest release-evidence improvement in v0.13.2 is the new strict stateful acceptance layer.\nPreviously, the acceptance suite already covered individual production actions and builder-backed local CKB transaction checks. In 0.13.2, the stateful runner now exercises committed multi-transaction flows where live outputs from earlier actions become real inputs to later actions.\nThe current release evidence includes:\n7 production bundled examples\n43/43 production acceptance actions covered\n16 builder-backed lock valid/invalid spend cases\n27 stateful local CKB scenarios\n46 committed stateful steps\n7 end-to-end business-flow scenarios\n20 stateful action-branch scenarios\nThe stateful scenarios cover the main bundled example families:\ntoken.mint-transfer-mint-merge-burn\nnft.mint-list-transfer-by-listing\ntimelock.create-lock-lock-asset-request-release-execute\nlaunch.launch-token-then-mint\namm.seed-add-swap-remove\nvesting.create-config-grant-revoke\nmultisig.create-propose-sign-sign-execute\nAdditional stateful action-branch scenarios cover the remaining production acceptance actions not already exercised by those end-to-end flows.\nThis means the release evidence is no longer just “the examples compile” or “a few happy paths run”. The gate now checks that every production acceptance action appears in the stateful report, with no missing action IDs or missing action artifacts.\nWhat each committed step records\nEach stateful step records concrete execution evidence, including:\ndry-run evidence;\ncommitted transaction evidence;\nmeasured cycles;\nconsensus-serialized transaction size;\noccupied capacity;\ncapacity checks;\nconsumed-input liveness checks;\noutput liveness checks;\nmalformed transaction rejection where applicable.\nUnder-capacity outputs are rejected by the release gate.\nThe release-facing command is:\n./scripts/cellscript_ckb_release_gate.sh full\nThis full gate includes compiler/tooling checks, syntax-combination CI audits, VS Code validation, documentation-boundary checks, builder-backed local CKB acceptance, and stateful scenario/action coverage.\nWhat this proves\nThe current evidence proves that the bundled production CellScript examples compile under the CKB target profile and that the generated artifacts can participate in concrete local CKB devnet transactions.\nMore importantly, it proves that the acceptance gate observes actual Cell lifecycle behaviour:\nvalid transactions dry-run and commit;\nlive outputs can be handed into later transactions;\nconsumed inputs are no longer live;\nexpected outputs remain live;\nmalformed variants are rejected;\ncycles, size, and occupied capacity are measured.\nIn other words, the bundled examples are no longer merely compile-time demonstrations. They now have committed stateful CKB protocol-flow evidence behind them.\nWhat this does not claim though\nCellScript v0.13.2 is not claiming:\nexternal security audit closure;\nmainnet-value certification;\nexhaustive state-space verification;\nformal verification;\nhidden signer authority;\nhidden sighash defaults;\nfull generic maps;\nCell-backed generic collection ownership;\ndeclarative capacity or since/header policy.\nThose remain future work or intentionally out of scope.\nIn particular, witness Address is still just decoded witness data. It is not a cryptographic authorisation proof by itself. First-class signer values and explicit sighash verification need stronger CKB binding semantics and separate release evidence before they should become stable source syntax.\nNext\nThe 0.13 implementation scope is now closed. The remaining CKB semantic work is being kept explicit for the next line, including areas such as structured WitnessArgs, ScriptGroup conformance fixtures, broader Source-view semantics, and explicit signature-verification primitives.\nAs always, comments, criticism, and review are very welcome.\nThank you to everyone who has been following the project and giving feedback.",
          "content_html": "<h1><a name=\"p-24119-cellscript-v0132-closing-the-013-stable-line-with-strict-ckb-acceptance-evidence-1\" class=\"anchor\" href=\"#p-24119-cellscript-v0132-closing-the-013-stable-line-with-strict-ckb-acceptance-evidence-1\" aria-label=\"Heading link\"></a>CellScript v0.13.2: closing the 0.13 stable line with strict CKB acceptance evidence</h1>\n<p><a href=\"https://github.com/tsukifune-kosei/CellScript/releases/tag/v0.13.2\" rel=\"noopener nofollow ugc\"><strong>CellScript v0.13.2</strong></a> is now ready as the stable closing release for the 0.13 line.</p>\n<p>This release is not only a compiler update. The main focus of 0.13.2 is release hardening: making the syntax surface more stable, keeping Cell effects audit-visible, and strengthening the CKB acceptance evidence behind the bundled production examples.</p>\n<h2><a name=\"p-24119-what-changed-in-013-2\" class=\"anchor\" href=\"#p-24119-what-changed-in-013-2\" aria-label=\"Heading link\"></a>What changed in 0.13?</h2>\n<p>The 0.13 line introduced and stabilised several important areas:</p>\n<ul>\n<li>bounded stack-backed <code>Vec&lt;T: FixedWidth&gt;</code> helper support;</li>\n<li>canonical action/update syntax with named outputs, <code>where</code> proof blocks, and explicit <code>move</code> state edges;</li>\n<li>visible lock-boundary data sources through <code>protected</code>, <code>witness</code>, and fixed-width <code>lock_args</code>;</li>\n<li>stdlib lifecycle and Cell metadata helpers that lower to explicit verifier obligations;</li>\n<li>syntax-combination audit gates across parser, formatter, type checking, lowering, metadata, and codegen;</li>\n<li>stronger local CKB production acceptance for the bundled examples.</li>\n</ul>\n<p>A core design rule in this release is:</p>\n<blockquote>\n<p><strong>Sugar may shorten source code, but it must not hide Cell movement, ownership, or authorisation.</strong></p>\n</blockquote>\n<p>For example, helpers such as lifecycle transfer/claim/settle patterns and Cell metadata helpers are intended to be audit-visible shorthand. They lower to explicit verifier obligations rather than silently inventing protocol policy.</p>\n<h2><a name=\"p-24119-stateful-ckb-acceptance-3\" class=\"anchor\" href=\"#p-24119-stateful-ckb-acceptance-3\" aria-label=\"Heading link\"></a>Stateful CKB acceptance</h2>\n<p>The biggest release-evidence improvement in v0.13.2 is the new strict stateful acceptance layer.</p>\n<p>Previously, the acceptance suite already covered individual production actions and builder-backed local CKB transaction checks. In 0.13.2, the stateful runner now exercises committed multi-transaction flows where live outputs from earlier actions become real inputs to later actions.</p>\n<p>The current release evidence includes:</p>\n<pre><code class=\"lang-plaintext\">7 production bundled examples\n43/43 production acceptance actions covered\n16 builder-backed lock valid/invalid spend cases\n27 stateful local CKB scenarios\n46 committed stateful steps\n7 end-to-end business-flow scenarios\n20 stateful action-branch scenarios\n</code></pre>\n<p>The stateful scenarios cover the main bundled example families:</p>\n<pre><code class=\"lang-plaintext\">token.mint-transfer-mint-merge-burn\nnft.mint-list-transfer-by-listing\ntimelock.create-lock-lock-asset-request-release-execute\nlaunch.launch-token-then-mint\namm.seed-add-swap-remove\nvesting.create-config-grant-revoke\nmultisig.create-propose-sign-sign-execute\n</code></pre>\n<p>Additional stateful action-branch scenarios cover the remaining production acceptance actions not already exercised by those end-to-end flows.</p>\n<p>This means the release evidence is no longer just “the examples compile” or “a few happy paths run”. The gate now checks that every production acceptance action appears in the stateful report, with no missing action IDs or missing action artifacts.</p>\n<h2><a name=\"p-24119-what-each-committed-step-records-4\" class=\"anchor\" href=\"#p-24119-what-each-committed-step-records-4\" aria-label=\"Heading link\"></a>What each committed step records</h2>\n<p>Each stateful step records concrete execution evidence, including:</p>\n<ul>\n<li>dry-run evidence;</li>\n<li>committed transaction evidence;</li>\n<li>measured cycles;</li>\n<li>consensus-serialized transaction size;</li>\n<li>occupied capacity;</li>\n<li>capacity checks;</li>\n<li>consumed-input liveness checks;</li>\n<li>output liveness checks;</li>\n<li>malformed transaction rejection where applicable.</li>\n</ul>\n<p>Under-capacity outputs are rejected by the release gate.</p>\n<p>The release-facing command is:</p>\n<pre data-code-wrap=\"bash\"><code class=\"lang-bash\">./scripts/cellscript_ckb_release_gate.sh full\n</code></pre>\n<p>This full gate includes compiler/tooling checks, syntax-combination CI audits, VS Code validation, documentation-boundary checks, builder-backed local CKB acceptance, and stateful scenario/action coverage.</p>\n<h2><a name=\"p-24119-what-this-proves-5\" class=\"anchor\" href=\"#p-24119-what-this-proves-5\" aria-label=\"Heading link\"></a>What this proves</h2>\n<p>The current evidence proves that the bundled production CellScript examples compile under the CKB target profile and that the generated artifacts can participate in concrete local CKB devnet transactions.</p>\n<p>More importantly, it proves that the acceptance gate observes actual Cell lifecycle behaviour:</p>\n<ul>\n<li>valid transactions dry-run and commit;</li>\n<li>live outputs can be handed into later transactions;</li>\n<li>consumed inputs are no longer live;</li>\n<li>expected outputs remain live;</li>\n<li>malformed variants are rejected;</li>\n<li>cycles, size, and occupied capacity are measured.</li>\n</ul>\n<p>In other words, the bundled examples are no longer merely compile-time demonstrations. They now have committed stateful CKB protocol-flow evidence behind them.</p>\n<h2><a name=\"p-24119-what-this-does-not-claim-though-6\" class=\"anchor\" href=\"#p-24119-what-this-does-not-claim-though-6\" aria-label=\"Heading link\"></a>What this does not claim though</h2>\n<p>CellScript v0.13.2 is <strong>not</strong> claiming:</p>\n<ul>\n<li>external security audit closure;</li>\n<li>mainnet-value certification;</li>\n<li>exhaustive state-space verification;</li>\n<li>formal verification;</li>\n<li>hidden signer authority;</li>\n<li>hidden sighash defaults;</li>\n<li>full generic maps;</li>\n<li>Cell-backed generic collection ownership;</li>\n<li>declarative capacity or since/header policy.</li>\n</ul>\n<p>Those remain future work or intentionally out of scope.</p>\n<p>In particular, <code>witness Address</code> is still just decoded witness data. It is not a cryptographic authorisation proof by itself. First-class signer values and explicit sighash verification need stronger CKB binding semantics and separate release evidence before they should become stable source syntax.</p>\n<h2><a name=\"p-24119-next-7\" class=\"anchor\" href=\"#p-24119-next-7\" aria-label=\"Heading link\"></a>Next</h2>\n<p>The 0.13 implementation scope is now closed. The remaining CKB semantic work is being kept explicit for the next line, including areas such as structured <code>WitnessArgs</code>, ScriptGroup conformance fixtures, broader Source-view semantics, and explicit signature-verification primitives.</p>\n<p>As always, comments, criticism, and review are very welcome.</p>\n<p>Thank you to everyone who has been following the project and giving feedback.</p>",
          "like_count": 0,
          "quote_count": 0
        }
      ]
    },
    {
      "topic_id": 10224,
      "title": "CellScript 0.13 Direction Update: Actions, State, and Syntax",
      "slug": "cellscript-0-13-direction-update-actions-state-and-syntax",
      "url": "https://talk.nervos.org/t/cellscript-0-13-direction-update-actions-state-and-syntax/10224",
      "created_at": "2026-05-01T15:34:27.229000+00:00",
      "last_posted_at": "2026-05-03T13:59:55.397000+00:00",
      "category_id": 49,
      "tags": [
        "CKB-VM",
        "CellScript"
      ],
      "posters": [
        "Original Poster, Most Recent Poster"
      ],
      "recent_posts": [
        {
          "post_id": 24118,
          "post_number": 3,
          "topic_id": 10224,
          "topic_title": "CellScript 0.13 Direction Update: Actions, State, and Syntax",
          "topic_slug": "cellscript-0-13-direction-update-actions-state-and-syntax",
          "author": "ArthurZhang",
          "created_at": "2026-05-03T13:59:55.397000+00:00",
          "updated_at": "2026-05-03T14:02:17.638000+00:00",
          "reply_to_post_number": null,
          "url": "https://talk.nervos.org/t/cellscript-0-13-direction-update-actions-state-and-syntax/10224/3",
          "content_text": "0.13.2 Patch Preview Preview: Standard Library Patterns Arrive\nCellScript 0.13.2 adds the first stable standard-library audit patterns. This is a small but important step for the language. The goal is not to hide CKB Cell semantics behind magic syntax. The goal is to give common verifier patterns a clear, namespaced spelling while keeping their lowering explicit and auditable.\nThe new standard-library surface includes lifecycle helpers:\nstd::lifecycle::transfer(input, output, to) {\namount\nsymbol\n}\nstd::receipt::claim(receipt, output, lock) {\namount\n}\nstd::lifecycle::settle(input, output, lock) {\namount\n}\nIt also includes Cell metadata helpers:\nstd::cell::same_lock(output, input)\nstd::cell::preserve_lock(output, input)\nstd::cell::preserve_capacity(output, input)\nThese helpers are not hidden protocol policy. They lower to explicit verifier obligations such as consuming an input, creating a named output, preserving a whitelisted set of fields, checking lock or capacity continuity, and keeping type continuity visible.\nCore syntax stays small:\naction\nwhere\nmove\nrequire\ncreate\nconsume\nread / protected / witness / lock_args\nThe standard library sits one layer above that: typed, explicit, reusable audit patterns that expand back into the verifier model.\n0.13.2 also hardens the boundary around this feature:\npreserve sugar is type-equivalent to its canonical require expansion;\nanonymous require { ... } blocks remain pure boolean grouping only;\nlifecycle operations cannot hide inside require blocks;\nsyntax-combination audit now checks parser, formatter, type checking, lowering, metadata, and codegen combinations before release.",
          "content_html": "<h1><a name=\"p-24118-h-0132-patch-preview-preview-standard-library-patterns-arrive-1\" class=\"anchor\" href=\"#p-24118-h-0132-patch-preview-preview-standard-library-patterns-arrive-1\" aria-label=\"Heading link\"></a>0.13.2 Patch Preview Preview: Standard Library Patterns Arrive</h1>\n<p>CellScript 0.13.2 adds the first stable standard-library audit patterns. This is a small but important step for the language. The goal is not to hide CKB Cell semantics behind magic syntax. The goal is to give common verifier patterns a clear, namespaced spelling while keeping their lowering explicit and auditable.</p>\n<p>The new standard-library surface includes lifecycle helpers:</p>\n<pre data-code-wrap=\"cellscript\"><code class=\"lang-cellscript\">std::lifecycle::transfer(input, output, to) {\n    amount\n    symbol\n}\n</code></pre>\n<pre data-code-wrap=\"cellscript\"><code class=\"lang-cellscript\">std::receipt::claim(receipt, output, lock) {\n    amount\n}\n</code></pre>\n<pre data-code-wrap=\"cellscript\"><code class=\"lang-cellscript\">std::lifecycle::settle(input, output, lock) {\n    amount\n}\n</code></pre>\n<p>It also includes Cell metadata helpers:</p>\n<pre data-code-wrap=\"cellscript\"><code class=\"lang-cellscript\">std::cell::same_lock(output, input)\nstd::cell::preserve_lock(output, input)\nstd::cell::preserve_capacity(output, input)\n</code></pre>\n<p>These helpers are not hidden protocol policy. They lower to explicit verifier obligations such as consuming an input, creating a named output, preserving a whitelisted set of fields, checking lock or capacity continuity, and keeping type continuity visible.</p>\n<p>Core syntax stays small:</p>\n<pre><code class=\"lang-plaintext\">action\nwhere\nmove\nrequire\ncreate\nconsume\nread / protected / witness / lock_args\n</code></pre>\n<p>The standard library sits one layer above that: typed, explicit, reusable audit patterns that expand back into the verifier model.</p>\n<p>0.13.2 also hardens the boundary around this feature:</p>\n<ul>\n<li><code>preserve</code> sugar is type-equivalent to its canonical <code>require</code> expansion;</li>\n<li>anonymous <code>require { ... }</code> blocks remain pure boolean grouping only;</li>\n<li>lifecycle operations cannot hide inside <code>require</code> blocks;</li>\n<li>syntax-combination audit now checks parser, formatter, type checking, lowering, metadata, and codegen combinations before release.</li>\n</ul>",
          "like_count": 0,
          "quote_count": 0
        }
      ]
    },
    {
      "topic_id": 10131,
      "title": "Spark Program | CKB Developer Onboarding Guide",
      "slug": "spark-program-ckb-developer-onboarding-guide",
      "url": "https://talk.nervos.org/t/spark-program-ckb-developer-onboarding-guide/10131",
      "created_at": "2026-03-26T08:49:26.745000+00:00",
      "last_posted_at": "2026-05-03T06:45:38.142000+00:00",
      "category_id": 49,
      "tags": [
        "In-Progress",
        "Spark-Program"
      ],
      "posters": [
        "Original Poster, Most Recent Poster",
        "Frequent Poster",
        "Frequent Poster"
      ],
      "recent_posts": [
        {
          "post_id": 24117,
          "post_number": 15,
          "topic_id": 10131,
          "topic_title": "Spark Program | CKB Developer Onboarding Guide",
          "topic_slug": "spark-program-ckb-developer-onboarding-guide",
          "author": "Mateja3m",
          "created_at": "2026-05-03T06:45:38.142000+00:00",
          "updated_at": "2026-05-03T11:34:49.841000+00:00",
          "reply_to_post_number": null,
          "url": "https://talk.nervos.org/t/spark-program-ckb-developer-onboarding-guide/10131/15",
          "content_text": "Hello @xingtianchunyan, here is the report for Week 1 (overall week 3) Milestone 2\nWeek 1 Milestone 2 Progress Report\nStatus\nMilestone 1 has been completed.\nMilestone 2 has started, and the Week 1 scope has been completed in the local repository workspace.\nWork Completed\n1. First CKB-Specific Overview Layer Added\nThe existing document at docs/03-quick-start.md was repurposed to fit the current repository structure and now works as the first CKB-specific overview layer.\nThis section now explains:\nwhat CKB is\nwhat Nervos is\nwhat role a CKB node plays\nwhat RPC is\nwhy a developer may use a local node or a public RPC endpoint\nwhat the guide currently covers and does not yet cover\nThis was done without creating duplicate files or breaking the Milestone 1 document ordering.\n2. CKB Node Setup Guidance Expanded\nThe existing document at docs/04-ckb-node-setup.md was expanded from a narrower setup page into a more practical onboarding decision guide.\nThe updated section now covers:\nwhen a local node is needed\nwhen a public or shared RPC endpoint may be enough\nthe repository-validated local setup path\nhigh-level preparation before local node work\ncommon beginner mistakes\na verification checklist\nWhere the repository does not already contain validated evidence for exact broader setup instructions, the page now marks those areas for later verification against official CKB documentation.\n3. RPC Basics Documentation Added In The Existing RPC Section\nThe existing document at docs/05-rpc-setup.md was expanded and reframed as an RPC basics page while keeping the current file structure intact.\nThe updated section now explains:\nwhat RPC means\nwhy RPC matters in CKB development\nthe difference between local RPC and public RPC\nthe health-check concept used during onboarding\nwhat a successful response means\nwhat failure usually means\n4. Local Checkpoint Guidance Folded Into The Existing Milestone 2 Flow\nInstead of creating a new top-level numbered document, the local-check guidance was kept inside the existing Milestone 2 documentation flow so the repository structure remained unchanged.\nThis checkpoint guidance now emphasizes:\nconfirming that the basic local tools still work\nconfirming that terminal handling is no longer a blocker\nconfirming that the node or RPC path is still reachable\nconfirming that the developer knows which endpoint actually worked\nconfirming that official documentation should still be used whenever the repository marks a detail for later verification\nconfirming that a beginner can classify common early failure types before assuming the node is broken\nThis keeps the Milestone 2 readiness checks practical without creating an unplanned structural change in the docs directory.\n5. README Scope Messaging Updated For Milestone 2\nThe top-level README was updated so the repository no longer reads as if only Milestone 1 exists.\nThe updated wording now makes it clear that:\nMilestone 1 remains the completed documentation foundation\nMilestone 2 has started\nthe first Milestone 2 additions are CKB-specific setup, RPC basics, and local verification guidance\nlater sections are still placeholders unless validated\nThis improves project-state clarity without claiming that Milestone 2 is complete.\n6. Commands For Week 1 Milestone 2 Were Kept Explicit\nThe Week 1 Milestone 2 documentation includes the following exact commands where repository validation already existed:\nnpm install -g @offckb/cli\noffckb --help\noffckb node\noffckb clean\nExample local RPC validation command (tested against local CKB node)\nThe documentation did not add new exact commands in areas that are still marked for later verification.\nRemaining Scope For Week 2 Of Milestone 2\nThe second week of Milestone 2 should focus on completing the remaining planned CKB-specific content modules that are still placeholders.\nThe next sections to complete are:\ndocs/06-indexer-setup.md\ndocs/08-first-developer-workflow.md\ndocs/09-common-errors-and-remediation.md\ndocs/10-troubleshooting-matrix.md\ndocs/11-ai-assisted-debugging.md\ndocs/12-ckb-mental-model.md\ndocs/13-common-misconceptions.md\ndocs/13-common-misconceptions.md",
          "content_html": "<p>Hello <a class=\"mention\" href=\"/u/xingtianchunyan\">@xingtianchunyan</a>, here is the report for Week 1 (overall week 3) Milestone 2</p>\n<h1><a name=\"p-24117-week-1-milestone-2-progress-report-1\" class=\"anchor\" href=\"#p-24117-week-1-milestone-2-progress-report-1\" aria-label=\"Heading link\"></a>Week 1 Milestone 2 Progress Report</h1>\n<h2><a name=\"p-24117-status-2\" class=\"anchor\" href=\"#p-24117-status-2\" aria-label=\"Heading link\"></a>Status</h2>\n<p>Milestone 1 has been completed.</p>\n<p>Milestone 2 has started, and the Week 1 scope has been completed in the local repository workspace.</p>\n<h2><a name=\"p-24117-work-completed-3\" class=\"anchor\" href=\"#p-24117-work-completed-3\" aria-label=\"Heading link\"></a>Work Completed</h2>\n<h3><a name=\"p-24117-h-1-first-ckb-specific-overview-layer-added-4\" class=\"anchor\" href=\"#p-24117-h-1-first-ckb-specific-overview-layer-added-4\" aria-label=\"Heading link\"></a>1. First CKB-Specific Overview Layer Added</h3>\n<p>The existing document at docs/03-quick-start.md was repurposed to fit the current repository structure and now works as the first CKB-specific overview layer.</p>\n<p>This section now explains:</p>\n<ul>\n<li>\n<p>what CKB is</p>\n</li>\n<li>\n<p>what Nervos is</p>\n</li>\n<li>\n<p>what role a CKB node plays</p>\n</li>\n<li>\n<p>what RPC is</p>\n</li>\n<li>\n<p>why a developer may use a local node or a public RPC endpoint</p>\n</li>\n<li>\n<p>what the guide currently covers and does not yet cover</p>\n</li>\n</ul>\n<p>This was done without creating duplicate files or breaking the Milestone 1 document ordering.</p>\n<h3><a name=\"p-24117-h-2-ckb-node-setup-guidance-expanded-5\" class=\"anchor\" href=\"#p-24117-h-2-ckb-node-setup-guidance-expanded-5\" aria-label=\"Heading link\"></a>2. CKB Node Setup Guidance Expanded</h3>\n<p>The existing document at docs/04-ckb-node-setup.md was expanded from a narrower setup page into a more practical onboarding decision guide.</p>\n<p>The updated section now covers:</p>\n<ul>\n<li>\n<p>when a local node is needed</p>\n</li>\n<li>\n<p>when a public or shared RPC endpoint may be enough</p>\n</li>\n<li>\n<p>the repository-validated local setup path</p>\n</li>\n<li>\n<p>high-level preparation before local node work</p>\n</li>\n<li>\n<p>common beginner mistakes</p>\n</li>\n<li>\n<p>a verification checklist</p>\n</li>\n</ul>\n<p>Where the repository does not already contain validated evidence for exact broader setup instructions, the page now marks those areas for later verification against official CKB documentation.</p>\n<h3><a name=\"p-24117-h-3-rpc-basics-documentation-added-in-the-existing-rpc-section-6\" class=\"anchor\" href=\"#p-24117-h-3-rpc-basics-documentation-added-in-the-existing-rpc-section-6\" aria-label=\"Heading link\"></a>3. RPC Basics Documentation Added In The Existing RPC Section</h3>\n<p>The existing document at docs/05-rpc-setup.md was expanded and reframed as an RPC basics page while keeping the current file structure intact.</p>\n<p>The updated section now explains:</p>\n<ul>\n<li>\n<p>what RPC means</p>\n</li>\n<li>\n<p>why RPC matters in CKB development</p>\n</li>\n<li>\n<p>the difference between local RPC and public RPC</p>\n</li>\n<li>\n<p>the health-check concept used during onboarding</p>\n</li>\n<li>\n<p>what a successful response means</p>\n</li>\n<li>\n<p>what failure usually means</p>\n</li>\n</ul>\n<h3><a name=\"p-24117-h-4-local-checkpoint-guidance-folded-into-the-existing-milestone-2-flow-7\" class=\"anchor\" href=\"#p-24117-h-4-local-checkpoint-guidance-folded-into-the-existing-milestone-2-flow-7\" aria-label=\"Heading link\"></a>4. Local Checkpoint Guidance Folded Into The Existing Milestone 2 Flow</h3>\n<p>Instead of creating a new top-level numbered document, the local-check guidance was kept inside the existing Milestone 2 documentation flow so the repository structure remained unchanged.</p>\n<p>This checkpoint guidance now emphasizes:</p>\n<ul>\n<li>\n<p>confirming that the basic local tools still work</p>\n</li>\n<li>\n<p>confirming that terminal handling is no longer a blocker</p>\n</li>\n<li>\n<p>confirming that the node or RPC path is still reachable</p>\n</li>\n<li>\n<p>confirming that the developer knows which endpoint actually worked</p>\n</li>\n<li>\n<p>confirming that official documentation should still be used whenever the repository marks a detail for later verification</p>\n</li>\n<li>\n<p>confirming that a beginner can classify common early failure types before assuming the node is broken</p>\n</li>\n</ul>\n<p>This keeps the Milestone 2 readiness checks practical without creating an unplanned structural change in the docs directory.</p>\n<h3><a name=\"p-24117-h-5-readme-scope-messaging-updated-for-milestone-2-8\" class=\"anchor\" href=\"#p-24117-h-5-readme-scope-messaging-updated-for-milestone-2-8\" aria-label=\"Heading link\"></a>5. README Scope Messaging Updated For Milestone 2</h3>\n<p>The top-level README was updated so the repository no longer reads as if only Milestone 1 exists.</p>\n<p>The updated wording now makes it clear that:</p>\n<ul>\n<li>\n<p>Milestone 1 remains the completed documentation foundation</p>\n</li>\n<li>\n<p>Milestone 2 has started</p>\n</li>\n<li>\n<p>the first Milestone 2 additions are CKB-specific setup, RPC basics, and local verification guidance</p>\n</li>\n<li>\n<p>later sections are still placeholders unless validated</p>\n</li>\n</ul>\n<p>This improves project-state clarity without claiming that Milestone 2 is complete.</p>\n<h3><a name=\"p-24117-h-6-commands-for-week-1-milestone-2-were-kept-explicit-9\" class=\"anchor\" href=\"#p-24117-h-6-commands-for-week-1-milestone-2-were-kept-explicit-9\" aria-label=\"Heading link\"></a>6. Commands For Week 1 Milestone 2 Were Kept Explicit</h3>\n<p>The Week 1 Milestone 2 documentation includes the following exact commands where repository validation already existed:</p>\n<ul>\n<li>\n<p><code>npm install -g @offckb/cli</code></p>\n</li>\n<li>\n<p><code>offckb --help</code></p>\n</li>\n<li>\n<p><code>offckb node</code></p>\n</li>\n<li>\n<p><code>offckb clean</code></p>\n</li>\n<li>\n<p>Example local RPC validation command (tested against local CKB node)</p>\n</li>\n</ul>\n<p>The documentation did not add new exact commands in areas that are still marked for later verification.</p>\n<h2><a name=\"p-24117-remaining-scope-for-week-2-of-milestone-2-10\" class=\"anchor\" href=\"#p-24117-remaining-scope-for-week-2-of-milestone-2-10\" aria-label=\"Heading link\"></a>Remaining Scope For Week 2 Of Milestone 2</h2>\n<p>The second week of Milestone 2 should focus on completing the remaining planned CKB-specific content modules that are still placeholders.</p>\n<p>The next sections to complete are:</p>\n<ul>\n<li>\n<p>docs/06-indexer-setup.md</p>\n</li>\n<li>\n<p>docs/08-first-developer-workflow.md</p>\n</li>\n<li>\n<p>docs/09-common-errors-and-remediation.md</p>\n</li>\n<li>\n<p>docs/10-troubleshooting-matrix.md</p>\n</li>\n<li>\n<p>docs/11-ai-assisted-debugging.md</p>\n</li>\n<li>\n<p>docs/12-ckb-mental-model.md</p>\n</li>\n<li>\n<p>docs/13-common-misconceptions.md</p>\n</li>\n<li>\n<p>docs/13-common-misconceptions.md</p>\n</li>\n</ul>",
          "like_count": 0,
          "quote_count": 0
        }
      ]
    }
  ]
}