Repository navigation
docs: fix broken install path, wrong commands and stale status in participant guides - #294
Abidoyesimze wants to merge 6 commits into
Conversation
…rticipant guides Works through the issue InfiniteZeroFoundation#290 checklist: setup.md's broken wheel/dist install links (featuring the already-working `pip install -e .` path and noting the real fix is tracked in InfiniteZeroFoundation#282), 8 wrong dincli command names across roles/model-owner.md, manifest.md and workflows/model-workflow.md, the fake sepolia_devnet/mainnet network options listed in setup.md, cli-reference.md and roles/clients.md, a malformed [!NOTE] rendering inside a code fence, getting-started.md's stale GI status and commit-reveal-vs-live-deployment mismatch plus its internal trust/economics contradiction, "DAO approval" wording that should read DIN-Representative, Infinite Zero/InfiniteZero and sepolia-op-devnet/sepolia_op_devnet naming drift, a dead Telegram invite link, a thin DEVELOPMENT_SETUP.md, an empty CODE_STANDARDS.md, a stale completed-task listing in GOOD_FIRST_ISSUES.md, and a file path sitting inside a bash block in CONTRIBUTING.md. README.md's own wording fix (checklist item 7) is left to the already-open PR InfiniteZeroFoundation#280 rather than duplicated here. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Santiagocetran
left a comment
There was a problem hiding this comment.
Thanks, Abidoye. Reviewed c663209 against develop 954fbf8 and #290. Several onboarding instructions still need correction:
1. P2: Explicitly select develop during installation.
The new source-install instructions use a bare git clone, which currently selects main, while the following text promises develop. Please select develop explicitly and explain that editable installation follows the checkout; it doesn’t automatically track upstream updates. Also distinguish this unreleased code from the live DevNet setup, as clarified in #282.
2. P2: Separate the basic Python test command from integration testing.
The basic setup uses pip install -e . and then recommends bare pytest. There is a general dependency note for ML/DP work, but no explicit installation of the test extras for this command.
Once its prerequisites are available, bare pytest also selects the integration harness, whose autouse fixtures compile contracts and manage local chain/IPFS services, including restarting local chain processes in non-isolated mode.
Please install the test extras and use the non-integration selection for the basic workflow, consistent with CI. Link full integration runs separately with their prerequisites and disposable-environment guidance.
3. P2: Qualify the newly advertised registration --manifestCID route.
The example reaches an existing CLI defect: supplying a CID skips registry initialization, then the fee lookup uses that unbound local.
Please document the manifest-file route or flag the limitation pending a separate fix. The manifest-file route avoids this particular defect; I have not verified it end to end. This finding applies to registration, not manifest updates, and does not require a runtime-code fix in this documentation PR.
4. P2: Correct the retained boolean-option syntax.
The renamed registration command still shows --isOpenSource [true/false]. It is a switch: include --isOpenSource for true and omit it for false.
5. P2: Remove the automatic manifest-creation promise.
The manifest note still says genesis creation automatically supplies a missing manifest, but the implementation exits when it is absent. Explain preparation explicitly. Default-artifact caching requires an existing task directory and configured network defaults; the bundled sepolia_op_devnet configuration lacks default_manifest, so caching is not a universal recovery path.
Items 4 and 5 are retained documentation errors in the examples this PR edits, not newly introduced code regressions.
Please reconcile the overlapping changes with #291 before final verification. CI passed for this head/base pair, but its link checks don’t establish that onboarding commands work. This review is based on source inspection and observed CI, not execution of the setup or live-network commands.
|
Thanks @Abidoyesimze, this covers more of #290 than my #291, so let's go with yours and I'll close #291. On top of @Santiagocetran's review, a few fixes from #291 that aren't in here yet:
The |
- setup.md: explicitly checkout develop after cloning (a bare clone lands on main), clarify that an editable install doesn't auto-track upstream, and frame the source install as unreleased develop code rather than implying it already matches a release. - DEVELOPMENT_SETUP.md: install the `[test]` extra and select `-m "not integration"` for the basic unit-test workflow, matching CI; bare `pytest` was pulling in the tests/dincli/ integration harness, whose autouse fixtures manage local chain/IPFS processes. Link the full integration suite separately. - roles/model-owner.md: drop --manifestCID from the register-request example and flag it as broken (issue InfiniteZeroFoundation#295 — crashes with UnboundLocalError since the registry contract is only initialised on the manifestpath branch); --manifestpath still works. - workflows/model-workflow.md: --isOpenSource is a flag, not a --option [true/false] pair. - manifest.md: the "manifest auto-created from a default CID" note was wrong on two counts — create-genesis-model exits with an error if the manifest is missing rather than creating one, and the actual default-CID recovery path (cache-default-artifacts) only has a default_manifest configured for the local network, not sepolia_op_devnet or mainnet. - Dropped "(later DIN-DAO)" from din-workflow.md and model-workflow.md, and fixed two more DAO-admin wordings (cli-reference.md, model-owner.md's fee withdrawal) to DIN-Representative, which is what currently holds that role. - whitepaper-summary.md: updated the source link now that the paper is published as a PDF rather than a zip. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Pushed 31bb970 addressing both reviews:
@abrahamnash: dropped "(later DIN-DAO)" from din-workflow.md and model-workflow.md, fixed cli-reference.md's "DAO administrators" and model-owner.md's "DAO admin" (fee withdrawal) to DIN-Representative, and updated the whitepaper-summary.md source link to the PDF.
|
…ights (BL-23) Addresses PR InfiniteZeroFoundation#294/InfiniteZeroFoundation#293 review feedback: PR InfiniteZeroFoundation#263 already lands the scoped manifest fix (clipping_norm 1.0 -> 10.0) for BL-23, so this PR no longer touches cache_model_0/manifest.json — it's now just the investigation writeup. Adds Documentation/technical/audits/dp-clipping-norm-verification.md, quantifying how destructive the old clipping_norm: 1.0 default was against the reference model's real trained weights (not the synthetic tensors tests/test_cache_client_dp.py uses) and recommending any value >= 4.0, noting InfiniteZeroFoundation#263's 10.0 already satisfies that with margin. Also documents a related but separate, still-unfixed finding: the default noise_multiplier: 0.5 independently collapses accuracy regardless of clipping_norm, left for a future epsilon/accounting decision rather than fixed here without that context. Updates BL-23's status in Developer/BACK_LOG.md to resolved, crediting PR InfiniteZeroFoundation#263 for the actual default change. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Closing keyword: please change We're about to make This PR deliberately leaves two of issue No. 290's checklist items for later: item 1 (packaged install, deferred to issue No. 282) and item 7 (README wording, deferred to issue No. 280). Merging it with |
|
Heads-up on Before this merges, could you:
Please check |
|
Reviewed against CI on The PR's own work is two commits: Claimed — broken install path in Claimed — 8 wrong command names corrected. Verified each against source:
Claimed — network options corrected to Claimed — Claimed — naming drift fixed ( Claimed — Claimed — Claimed — Claimed — Claimed — stale hardcoded GI state removed from Claimed — dead Telegram link replaced. Verified: placeholder link removed, GitHub Discussions link substituted. Claimed — "fully verifiable" claim softened. Verified: qualified language used, avoiding an unsubstantiated protocol claim in public-facing docs. 573 links all resolve. CI docs link-check confirms ✓. No findings. Merge-ready; branch needs |
|
Head at review:
|
| Key | Value |
|---|---|
| Change | +21/-15 lines: broken wheel/git+https install replaced with git clone + pip install -e .; [!NOTE] code fence fixed; network options updated to [local | sepolia_op_devnet] |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Documentation/public/workflows/model-workflow.md
| Key | Value |
|---|---|
| Change | +7/-9 lines: create-genesis → create-genesis-model, submit-genesis → submit-genesis-model, register → register-request, manisfest/Protocolat typos, Infinite Zero → InfiniteZero, (later DIN-DAO) removed |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Documentation/public/roles/model-owner.md
| Key | Value |
|---|---|
| Change | +16/-12 lines: 8 wrong command names corrected, DAO → DIN-Representative, get-fees → get-registry-fee, [!WARNING] about --manifestCID crash added |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Documentation/public/getting-started.md
| Key | Value |
|---|---|
| Change | +7/-6 lines: Infinite Zero → InfiniteZero, sepolia-op-devnet → sepolia_op_devnet, hardcoded GI state replaced with dincli task gi show-state 0, dead Telegram link replaced, "fully verifiable" softened |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Documentation/public/manifest.md
| Key | Value |
|---|---|
| Change | +3/-3 lines: create-genesis → create-genesis-model, manifest creation note corrected, update-manifest → update-manifest-request |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Documentation/public/cli-reference.md
| Key | Value |
|---|---|
| Change | +2/-4 lines: network options corrected; DAO → DIN-Representative |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Documentation/public/roles/clients.md
| Key | Value |
|---|---|
| Change | +1/-3 lines: network options corrected |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Documentation/public/workflows/din-workflow.md
| Key | Value |
|---|---|
| Change | +1/-1 lines: DIN-Representative (later DIN-DAO) → DIN-Representative |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Developer/DEVELOPMENT_SETUP.md
| Key | Value |
|---|---|
| Change | +48/-3 lines: Requirements block added (Python >=3.12, Foundry, Node.js); pip install -e ".[test]" with rationale; pytest -m "not integration" command; Foundry setup section; testing reference section |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Developer/CODE_STANDARDS.md
| Key | Value |
|---|---|
| Change | +47/-0 lines (was empty): Python, Solidity, and general standards documented; consistent with CLAUDE.md and foundry/foundry.toml; cross-references CONTRIBUTING.md contract-size budget section |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Developer/CONTRIBUTING.md
| Key | Value |
|---|---|
| Change | +2/-4 lines: broken raw path /Developer/DEVELOPMENT_SETUP.md replaced with proper relative markdown link |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Developer/GOOD_FIRST_ISSUES.md
| Key | Value |
|---|---|
| Change | +4/-7 lines: Task 0 marked completed; PR No. 89 link and dp-mechanism-review.md audit link added; good first issue label search link for new contributors |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
Developer/design/whitepaper-summary.md
| Key | Value |
|---|---|
| Change | +1/-1 lines: whitepaper URL fixed (.pdf.zip → .pdf with URL-encoded parentheses) |
| Pending proposal | None |
| Recommended merge proposal | Merge as-is |
| Actual merge proposal | Soon |
robertocarlous
left a comment
There was a problem hiding this comment.
Docs-only fix — all 8 wrong command names, broken install path, network options, DAO→DIN-Representative naming drift, and stale status all verified against source at 31bb970
…InfiniteZeroFoundation#297) Issue InfiniteZeroFoundation#295's UnboundLocalError was fixed by PR InfiniteZeroFoundation#297 (develop@e9424af) and the issue is closed, so the WARNING block telling readers to avoid --manifestCID is now stale. Document both --manifestpath/--manifestCID routes in register-request's usage block instead, matching how update-manifest-request already shows them, with a one-line note on what --manifestCID does differently (skips the IPFS upload). cli-reference.md and workflows/model-workflow.md were checked for the same warning; neither has one. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Pushed 5a1c00b addressing both outstanding items:
Checked
|
|
Reviewed against CI on Claimed: every renamed command exists with the options shown: Verified — all exist as documented: Claimed: Verified — matches the code: Claimed ( Verified — correct: Claimed ( Verified — correct: Claimed ( Verified — the checkout and the old lines, yes; the new note goes further than the facts (No. 1): the old wheel URL Claimed: the smaller fixes Abraham and Umer asked for (DIN-Representative naming, white-paper PDF link, Verified: "(later DIN-DAO)", "DAO administrators" and "the DAO admin" are gone. The new white-paper URL resolves: the Two corrections, both short:
Nit, optional: Not independently re-verified: the Santiago's five items from Oct 28, Abraham's three, and both of mine (Oct 29: closing keyword, stale |
Files changed (13) — as of
|
| Field | Value |
|---|---|
| Change | Modified |
| Lines | +25/-11 |
| Diff (what exactly is in this PR) | Replaces Option A (the 0.1.0 wheel) and Option B (git+…@main#subdirectory=dist) with a source install: git clone → git checkout develop → pip install -e .. Adds a note on editable installs and a [!NOTE] on unreleased code. Trims the network list to local/sepolia_op_devnet and fixes a code fence that swallowed the network note. |
| Functionality — how & why | How: pip install -e . installs from the repo-root pyproject.toml of whatever is checked out, so the explicit develop checkout decides which CLI the reader gets. A git pull updates it with no reinstall. Why: both removed lines were dead. The 0.1.0 wheel URL returns 404, and main's dist/ has no pyproject.toml to build from. These guides describe develop. |
Diff vs current develop HEAD |
None. Untouched since the merge-base. |
| Recommended merge proposal | Needs a small fix (verification comment No. 1). The [!NOTE] says installing a packaged wheel or "directly from GitHub" is broken today, but the 0.2.0 wheel on main returns 200 and git+…@main builds from main's root pyproject.toml. Reword it to: the old lines pointed at files that don't exist, and main's 0.2.0 is behind develop. |
| Actual merge proposal | Soon |
| Pending proposal | No. 1 wording, then the network-note nit (cross-check with cli-reference.md). |
| Local merge conflict | No |
| GitHub merge conflict | No |
Developer/DEVELOPMENT_SETUP.md
| Field | Value |
|---|---|
| Change | Modified |
| Lines | +50/-2 |
| Diff (what exactly is in this PR) | Adds Requirements (Python ≥ 3.12, Foundry, Node only for foundry//hardhat/), pip install -e ".[test]", the -m "not integration" unit-test commands, a pointer to the integration guide, Foundry install/build/test with the npm ci FFI explanation, and a Testing Reference section. |
| Functionality — how & why | How: the [test] extra (pyproject.toml:36) pulls in pytest>=8.0 and torch>=2.6. -m "not integration" deselects tests/dincli/, whose autouse fixtures start and restart chain/IPFS processes, and it's the same selection as ci.yml:142. Why: bare pytest after a bare pip install -e . either failed on missing torch or collected the integration harness (Santiago's No. 2). |
Diff vs current develop HEAD |
None. Untouched since the merge-base. |
| Recommended merge proposal | Needs a small fix (verification comment No. 2): "needs a live Hardhat node" should be "a local chain (Anvil by default)". tests/dincli/conftest.py:2–:13 uses Anvil unless PLATFORM_DEPLOY_TOOLCHAIN=hardhat. |
| Actual merge proposal | Soon |
| Pending proposal | No. 2 wording. |
| Local merge conflict | No |
| GitHub merge conflict | No |
Documentation/public/roles/model-owner.md, Documentation/public/workflows/model-workflow.md, Documentation/public/manifest.md
| Field | Value |
|---|---|
| Change | Modified (all three) |
| Lines | +16/-17, +10/-10, +9/-3 |
| Diff (what exactly is in this PR) | Command renames: get-fees → get-registry-fee, model-owner registry … (TODO placeholders) → task model-owner register-request / show-registration-request / update-manifest-request, create-genesis/submit-genesis → …-genesis-model, register --isOpenSource [true/false] → register-request [--isOpenSource]. "DAO" becomes DIN-Representative. Both manifest routes are documented, with a line on what --manifestCID skips. The manifest.md note now says the manifest must already exist, and that cache-default-artifacts only works where default_manifest is set (just local). Typo fixes in model-workflow.md §8. |
| Functionality — how & why | How: every name and option matches the Typer decorators on this branch (--help output, system.py:1955, modelownerd/model.py:46/:162, task.py:191/:298). --manifestCID bypasses the upload block (task.py:210–:234). create-genesis-model exits 1 without a manifest (model.py:99–:102). Only local in din_info.json has default_manifest. Why: a model owner copying the old commands got "No such command" or a wrong flag syntax, and the old manifest note promised an automatic creation that never happens (Santiago's No. 3–5, Umer's Oct 29 request). |
Diff vs current develop HEAD |
None. Untouched since the merge-base. |
| Recommended merge proposal | Merge as-is. Every command and option was checked against the CLI, and a grep finds no old names left. |
| Actual merge proposal | Soon |
| Pending proposal | None. |
| Local merge conflict | No |
| GitHub merge conflict | No |
Documentation/public/cli-reference.md, Documentation/public/roles/clients.md, Documentation/public/workflows/din-workflow.md
| Field | Value |
|---|---|
| Change | Modified (all three) |
| Lines | +5/-4, +1/-1, +1/-1 |
| Diff (what exactly is in this PR) | Network lists drop sepolia_devnet/mainnet. "DAO administrators" and "(later DIN-DAO)" become DIN-Representative. cli-reference.md gets a new network note (live DevNet / local anvil / mainnet not yet). |
| Functionality — how & why | How: these are wording changes only. ALLOWED_NETWORKS (dincli/cli/utils.py:185) still accepts all four names, but din_info.json has no sepolia_devnet entry and mainnet has no deployment. Why: governance stays off-chain until mainnet, so DIN-DAO isn't a planned near-term role (Abraham's Oct 28 list), and the docs shouldn't advertise networks that can't be used. |
Diff vs current develop HEAD |
None. Untouched since the merge-base. |
| Recommended merge proposal | Merge as-is. The only open point is the optional nit: the cli-reference.md note leaves out sepolia_devnet, while setup.md names it. |
| Actual merge proposal | Soon |
| Pending proposal | Optional nit on consistent network-note wording. |
| Local merge conflict | No |
| GitHub merge conflict | No |
Documentation/public/getting-started.md
| Field | Value |
|---|---|
| Change | Modified |
| Lines | +27/-18 |
| Diff (what exactly is in this PR) | "Infinite Zero" → "InfiniteZero", and sepolia-op-devnet → sepolia_op_devnet. The hard-coded "GI 1 completed / GI 2 in progress" status becomes a [!NOTE] pointing to dincli task gi show-state 0. "Fully verifiable" is softened, and the economic-enforcement claim is qualified with a pointer to "Current Devnet Scope". The Telegram link is updated. |
| Functionality — how & why | How: task gi show-state takes a positional model_id (--help on this branch). The Telegram link now matches model-workflow.md. The "Current Devnet Scope" heading exists at line 175. Why: a static GI status goes stale as soon as it's written, sepolia-op-devnet isn't a valid --network value, and rewards/slashing aren't a live guarantee yet. |
Diff vs current develop HEAD |
None. Untouched since the merge-base. |
| Recommended merge proposal | Merge as-is. |
| Actual merge proposal | Soon |
| Pending proposal | None. |
| Local merge conflict | No |
| GitHub merge conflict | No |
Developer/CODE_STANDARDS.md, Developer/CONTRIBUTING.md
| Field | Value |
|---|---|
| Change | Modified (CODE_STANDARDS.md was an empty file on develop) |
| Lines | +47/-0, +2/-3 |
| Diff (what exactly is in this PR) | Fills in CODE_STANDARDS.md (Python PEP 8 / no committed ruff config / test patterns, Solidity custom errors + NatSpec + ABI regeneration, general scoping). In CONTRIBUTING.md, a bare /Developer/DEVELOPMENT_SETUP.md line inside a bash fence becomes a real relative link. |
| Functionality — how & why | How: CODE_STANDARDS.md links to CONTRIBUTING.md#code-standards and #submitting-prs, and both headings exist. It also points to the contract-size-budget bullet under Submitting PRs, which exists. Why: CONTRIBUTING.md's Code Standards section pointed to an empty file, and the old setup "link" was a shell line nobody could click. |
Diff vs current develop HEAD |
None. Untouched since the merge-base. |
| Recommended merge proposal | Merge as-is. The "close to EIP-170" wording wasn't re-measured here; CI's size gate enforces it. |
| Actual merge proposal | Soon |
| Pending proposal | None. |
| Local merge conflict | No |
| GitHub merge conflict | No |
Developer/GOOD_FIRST_ISSUES.md, Developer/design/whitepaper-summary.md
| Field | Value |
|---|---|
| Change | Modified (both) |
| Lines | +2/-4, +1/-1 |
| Diff (what exactly is in this PR) | Starter Task 0 is marked ✅ Completed (PR No. 89), its pitch is replaced with a pointer to the good first issue label, and the white-paper source now links the PDF instead of the removed zip. |
| Functionality — how & why | How: the good first issue label exists, and the PDF exists in White-Paper (Decentralized Intelligence Network (DIN).pdf, 846,334 B). Why: a finished task was still pitched as open, and the zip link was dead (Abraham's Oct 28 list). |
Diff vs current develop HEAD |
None. Untouched since the merge-base. |
| Recommended merge proposal | Merge as-is. |
| Actual merge proposal | Soon |
| Pending proposal | None. |
| Local merge conflict | No |
| GitHub merge conflict | No |
Verification
CI OK and Docs are green at 376783e. Every command, option and config claim was checked against the CLI on this branch, and both wheel URLs were checked with HTTP requests. Details are in the verification comment above. Two short wording fixes remain (setup.md No. 1, DEVELOPMENT_SETUP.md No. 2). Everything else merges as-is.
Ordering: this should merge before PR No. 315, which rewrites seven of the same Documentation/public/ files (setup.md, getting-started.md, manifest.md, roles/clients.md, roles/model-owner.md, workflows/din-workflow.md, workflows/model-workflow.md).
Local vs. GitHub agree: clean merge on both.
…review setup.md's install note claimed installing a packaged wheel or from GitHub's dist/ subdirectory is broken today. Verified: main's dist/ dincli-0.2.0-py3-none-any.whl returns 200 and main's root pyproject.toml (version 0.2.0) builds via `pip install git+...@main`. What's actually broken is the two specific lines this PR removed (the 0.1.0 wheel filename and the #subdirectory=dist layout, both gone from main). Reworded to say that instead, while still steering readers to the source install since main's packaged release is behind develop. DEVELOPMENT_SETUP.md said the integration harness "needs a live Hardhat node" unconditionally. tests/dincli/conftest.py defaults PLATFORM_DEPLOY_TOOLCHAIN to "foundry", which starts Anvil, not Hardhat — Hardhat only runs when that env var is set to "hardhat". Reworded to "a local chain (Anvil by default)". Also aligned cli-reference.md's network note with setup.md's — both now list sepolia_devnet and mainnet as unavailable (ALLOWED_NETWORKS accepts all four names, but only local/sepolia_op_devnet have real entries in din_info.json). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Pushed 436e87c fixing both:
Also took the optional nit:
@Santiagocetran your Oct 28 changes-requested review is still the open one blocking merge — everything from it, Abraham's list, and both of Umer's rounds should now be addressed. Would appreciate a re-review at 436e87c when you get a chance. |
|
Re-review of the fix commit:
Nothing else changed. The other 10 files are byte-identical to Merge state: Approving on merit at |
umeradl
left a comment
There was a problem hiding this comment.
Approved on merit at 436e87c: both fixes from my review are in (setup.md install note, Anvil default in DEVELOPMENT_SETUP.md), plus the network-note nit. Every documented command and option was checked against the CLI source, CI is green, and it merges cleanly. Details in the re-review comment above.
|
@Santiagocetran, your Oct 28 changes-requested review (at
The PR No. 291 overlap is moot, because No. 291 was closed without merging. CI is green, and the PR merges cleanly. If these fixes look right to you, could you re-review, or dismiss the changes-requested review, so @Abidoyesimze can queue it? |
Summary
Part of #290. Works through the full checklist posted there — items 1 (packaged install) and 7 (README wording) are deliberately left for #282 and #280 respectively, so this PR doesn't close #290 on its own.
Blocks newcomers:
setup.md: both install options (wheel download, GitHubdist/subdirectory) were broken. Replaced withgit clone+pip install -e .(the method CLAUDE.md already documents as working) and added a note that a packaged-release install is tracked in Before next release: bring main's 0.2.0 changes into develop and fix the setup guide's broken install link #282, so this PR doesn't duplicate that larger version/release fix.dinclicommand names acrossroles/model-owner.md,manifest.md, andworkflows/model-workflow.md(verified each against the currentdincli/cli/task.pyanddincli/cli/modelownerd/model.py), e.g.registry request-registration→task model-owner register-request,model create-genesis→model create-genesis-model,system get-fees→system get-registry-fee.sepolia_devnetand non-functionalmainnetfrom the network-option lists insetup.md,cli-reference.md, androles/clients.md(verified againstdincli/config/din_info.json, which only haslocal/sepolia_op_devnetreal entries and literal0x...placeholders formainnet).getting-started.md: added a note clarifying this guide documentsdevelop's protocol flow (including the aggregator/auditor commit-then-reveal steps, added after the initial devnet deployment) which can be ahead of what's live onsepolia_op_devnet, and pointed readers atdincli task gi show-state 0to check the real state instead of trusting a hardcoded "GI 2 in progress".Stale or misleading:
GOOD_FIRST_ISSUES.md: the DP governance review starter task was listed as open; it was completed in PR docs(dp): governance review of DevNet DP baseline (starter task) #89. Updated the listing to point at the result and thegood first issuelabel instead.getting-started.md: softened the "fully verifiable end-to-end" / "cryptographic and economic enforcement" claim to not contradict the page's own later note that reward/slashing economics are still under active development.roles/model-owner.md: "DAO Approval" → "DIN-Representative Approval" (DAO governance is deferred to post-mainnet; today'sapproveModel/approveManifestUpdatecalls areonlyOwner, held by the DIN-Representative).Infinite Zero→InfiniteZeroingetting-started.mdandmodel-workflow.mdto match the canonical form used in README.md and everywhere else in the repo;sepolia-op-devnet→sepolia_op_devnet(the real config value) ingetting-started.md.getting-started.mdwith the current one (already used correctly inmodel-workflow.md).din-workflow.mdandmodel-workflow.md: dropped "(later DIN-DAO)" after "DIN-Representative" — governance is out of scope for now.cli-reference.mdandroles/model-owner.md: "DAO administrators"/"the DAO admin" → DIN-Representative, matching the fee-withdrawal calls which areonlyOwner.Developer/design/whitepaper-summary.md: the white paper zip was replaced by a PDF upstream; updated the source link.roles/model-owner.md: dropped the--manifestCIDregister-request warning now that dincli:task model-owner register-request --manifestCIDfails because the registry contract isn't initialised #295 is fixed (PR fix(dincli): initialize the registry contract on the register-request --manifestCID route #297, develop@e9424af); documented both--manifestpath/--manifestCIDroutes the wayupdate-manifest-requestalready does.Thin or unclear:
Developer/DEVELOPMENT_SETUP.md: Python 3.12+ requirement, Foundry install, how to run the Python and Solidity test suites (pip install -e ".[test]"+pytest -m "not integration", matching CI), and a link toDocumentation/technical/testing/.Developer/CODE_STANDARDS.md.Developer/CONTRIBUTING.md: a file path was sitting inside a bash code block as if it were a shell command — moved it out as a plain link.[!NOTE]rendering as raw text inside an unclosed code fence insetup.md.workflows/model-workflow.md("manisfest", "Protocolat").manifest.md: corrected the false claim thatcreate-genesis-modelauto-creates a missingmanifest.json— it exits with an error instead; the real recovery path (cache-default-artifacts) only has a configureddefault_manifestCID forlocal, notsepolia_op_devnet/mainnet.Verification
python3 .github/scripts/check_doc_links.py Documentation Developer— all 573 inline relative links resolve.dinclicommand verified against the actual registered Typer commands indincli/cli/task.pyanddincli/cli/modelownerd/model.py, not just the issue's text.dincli/config/din_info.json.--manifestCIDfix verified against currentdincli/cli/task.py(dinregistry_contractnow assigned unconditionally) and issue dincli:task model-owner register-request --manifestCIDfails because the registry contract isn't initialised #295's closed state.🤖 Generated with Claude Code