Skip to content

trimmed down v2 - #143

Open
spooktheducks wants to merge 11 commits into
mainfrom
spook/trimmed-down-v2
Open

trimmed down v2#143
spooktheducks wants to merge 11 commits into
mainfrom
spook/trimmed-down-v2

Conversation

@spooktheducks

Copy link
Copy Markdown
Contributor

No description provided.

architavasuki and others added 7 commits July 22, 2025 22:20
- consolidate fragmented get-started guides into streamlined quick-start and network-interaction
- remove outdated separate guides
- update navigation structure across all documentation sections
- refresh content in consumer, reputer, SDK, validator, and topic-creator docs
- add comprehensive topics list (29 active topics) to networking guides
- add new sample-projects section to home
- add better CLI examples and best practices
@spooktheducks
spooktheducks changed the base branch from archi/docs-v2 to main October 30, 2025 12:02
@netlify

netlify Bot commented Oct 30, 2025

Copy link
Copy Markdown

Deploy Preview for alloradocs ready!

Name Link
🔨 Latest commit dd3f96e
🔍 Latest deploy log https://app.netlify.com/projects/alloradocs/deploys/6a5826f811448000080ab3d1
😎 Deploy Preview https://deploy-preview-143--alloradocs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

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

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

40 issues found across 95 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="pages/devs/sdk/allora-sdk-py.mdx">

<violation number="1" location="pages/devs/sdk/allora-sdk-py.mdx:257">
P1: `AlloraService` example calls `time.sleep()` but `time` is not imported — this will raise `NameError` at runtime.</violation>

<violation number="2" location="pages/devs/sdk/allora-sdk-py.mdx:294">
P1: Flask example uses `os.getenv("ALLORA_API_KEY")` but `os` is not imported — this will raise `NameError` at runtime.</violation>
</file>

<file name="pages/devs/reputers.mdx">

<violation number="1" location="pages/devs/reputers.mdx:22">
P1: Link to `/devs/topic-creators/create-deploy-loss-calculation-function` will 404 — no file or section exists at that path. No topic-creators page covers deploying a loss function as a separate guide.</violation>

<violation number="2" location="pages/devs/reputers.mdx:36">
P1: Link to `/home/layers/consensus/reputers` will 404 — actual file is at `pages/home/concepts/layers/consensus/reputers.mdx`, which maps to `/home/concepts/layers/consensus/reputers`. The `concepts` segment is missing from the path.</violation>
</file>

<file name="pages/home/explore.mdx">

<violation number="1" location="pages/home/explore.mdx:72">
P1: The Allora Explorer Studio card links to `http://localhost:4000/allora-explorer-studio`, a local development URL that will not resolve for any user visiting the production docs site. Replace it with the correct production URL (e.g., `https://explorer.allora.network/` or the actual Explorer Studio URL) or remove the card until a live URL is available.</violation>
</file>

<file name="pages/devs/reputers/set-and-adjust-stake.mdx">

<violation number="1" location="pages/devs/reputers/set-and-adjust-stake.mdx:287">
P1: The Next Steps link to `/home/layers/consensus/reputers` won't resolve — the actual page is at `/home/concepts/layers/consensus/reputers`. The route is missing `/concepts/` in the path, so readers clicking this link will hit a 404.</violation>
</file>

<file name="pages/devs/reputers/query-reputer-data.mdx">

<violation number="1" location="pages/devs/reputers/query-reputer-data.mdx:226">
P1: The link to `/home/layers/consensus/reputers#solution-adjusted-stake` will result in a 404. The actual route for this page is `/home/concepts/layers/consensus/reputers#solution-adjusted-stake` (missing `/concepts/` segment). Update the URL to match the correct file path at `pages/home/concepts/layers/consensus/reputers.mdx`.</violation>

<violation number="2" location="pages/devs/reputers/query-reputer-data.mdx:351">
P1: The link to `/home/layers/consensus/reputers` will result in a 404. The correct route is `/home/concepts/layers/consensus/reputers`.</violation>
</file>

<file name="pages/devs/exchanges/exchange-integrations.mdx">

<violation number="1" location="pages/devs/exchanges/exchange-integrations.mdx:39">
P2: The variable `logger` is used in `allora.NewClient(cfg, logger)` but is never defined in this code block. Readers trying this example will hit a compilation error. Consider initializing a logger or using a no-op logger instance in the example code.</violation>

<violation number="2" location="pages/devs/exchanges/exchange-integrations.mdx:160">
P1: The `ValidateAlloraAddress` example won't compile — it uses `strings.HasPrefix` and `fmt.Errorf` without importing `"strings"` or `"fmt"`. Exchanges copying this code verbatim will hit a build failure.</violation>

<violation number="3" location="pages/devs/exchanges/exchange-integrations.mdx:215">
P1: In the "Querying Transaction Parameters" code block, `params` is first declared with `:=` at line 316 (`params, err := allora.NewTxParamsBuilder(...)`), and then redeclared at line 321 with `params := &allora.TxParams{...}` in the same scope. In Go, this is a compilation error because there are no new variables on the left side of `:=`. Since these are presented as Option 1 and Option 2 (mutually exclusive alternatives), the second assignment should use `=` instead of `:=`, or the options should be shown in separate code blocks.</violation>
</file>

<file name="pages/devs/consumers/existing-consumers.mdx">

<violation number="1" location="pages/devs/consumers/existing-consumers.mdx:51">
P1: Relative link `./deploy-consumer` resolves to `/devs/consumers/deploy-consumer` but the target file lives at `consumer-contracts/deploy-consumer.mdx`. Visits will 404.</violation>

<violation number="2" location="pages/devs/consumers/existing-consumers.mdx:130">
P1: Relative link `./deploy-consumer` in Next Steps points to `/devs/consumers/deploy-consumer` but the page is at `/devs/consumers/consumer-contracts/deploy-consumer`. Same broken path as the earlier usage.</violation>

<violation number="3" location="pages/devs/consumers/existing-consumers.mdx:131">
P1: Relative link `./dev-consumers` resolves to `/devs/consumers/dev-consumers` but the target file is at `consumer-contracts/dev-consumers.mdx`. Visits will 404.</violation>
</file>

<file name="pages/devs/reputers/coin-prediction-reputer.mdx">

<violation number="1" location="pages/devs/reputers/coin-prediction-reputer.mdx:114">
P1: The link `devs/topic-creators/topic-life-cycle#nonce` is a relative URL without a leading `/`. From a page served at `/devs/reputers/coin-prediction-reputer`, this resolves to `/devs/reputers/devs/topic-creators/topic-life-cycle#nonce` which would be a 404. Add a leading `/` to make it an absolute path.</violation>
</file>

<file name="pages/devs/workers.mdx">

<violation number="1" location="pages/devs/workers.mdx:81">
P1: The deployment section links to a "build from source" page at `/devs/workers/deploy-worker/from-source`, but no such page exists anywhere in the codebase. The `deploy-worker` directory only contains `using-docker.mdx`, `allora-mdk.mdx`, and `build-and-deploy-worker-with-node-runners.mdx`. Users clicking this link will get a 404. Either remove the reference, create the missing page, or point to one of the existing deployment methods.</violation>
</file>

<file name="pages/devs/workers/query-ema-score.mdx">

<violation number="1" location="pages/devs/workers/query-ema-score.mdx:13">
P2: Link to `/home/layers/consensus/workers` is missing `concepts/` in the path. The actual file lives at `pages/home/concepts/layers/consensus/workers.mdx`, so the correct route is `/home/concepts/layers/consensus/workers`. This appears twice on added lines.</violation>

<violation number="2" location="pages/devs/workers/query-ema-score.mdx:28">
P2: Link to `/home/key-terms#epochs` is missing `concepts/` in the path. The file lives at `pages/home/concepts/key-terms.mdx`, so the correct route is `/home/concepts/key-terms#epochs`.</violation>

<violation number="3" location="pages/devs/workers/query-ema-score.mdx:36">
P2: Link to `/home/release-notes#v030` leads to a 404 — no `release-notes.mdx` file exists anywhere in the `pages/home/` directory tree.</violation>
</file>

<file name="pages/devs/validators/run-full-node.mdx">

<violation number="1" location="pages/devs/validators/run-full-node.mdx:254">
P3: The `version: '3.8'` field is deprecated in Docker Compose V2 (`docker compose`). Modern Docker Compose ignores this field and the official Docker documentation recommends omitting it entirely. While it still works, including it may cause confusion and is unnecessary.</violation>

<violation number="2" location="pages/devs/validators/run-full-node.mdx:267">
P3: The `MONIKER=your-moniker-name` environment variable in the docker-compose example is not consumed by `allorad start` — the moniker is configured through `allorad init` and stored in `config.toml`, not read from an env var. This will mislead users into thinking they can set the moniker via an environment variable. Remove the env var or document how to properly configure the moniker (e.g., via a config volume with a pre-initialized config.toml).</violation>

<violation number="3" location="pages/devs/validators/run-full-node.mdx:291">
P2: The monitoring command `allorar status` references a binary name (`allorar`) that doesn't exist. Every other reference in the document uses `allorad` as the binary name (setup, systemd service, Docker Compose `command` field). This command will fail with a "command not found" error, preventing users from checking sync status. Replace with `allorad status`.</violation>

<violation number="4" location="pages/devs/validators/run-full-node.mdx:369">
P2: The document contains two `## Prerequisites` sections. The first one (near the top) lists System Requirements and Infrastructure Considerations. The second one appears after Best Practices and before Next Steps with different content (technical expertise, infrastructure access, etc.). This is confusing for readers — prerequisites belong at the beginning. Either remove the duplicate section or merge its content into the first Prerequisites section.</violation>
</file>

<file name="pages/devs/reputers/reputers.mdx">

<violation number="1" location="pages/devs/reputers/reputers.mdx:127">
P2: The link `/devs/workers/using-docker` will result in a 404 — no file exists at that route. The correct path is `/devs/workers/deploy-worker/using-docker`, which points to `pages/devs/workers/deploy-worker/using-docker.mdx`.</violation>
</file>

<file name="theme.config.tsx">

<violation number="1" location="theme.config.tsx:82">
P2: The Ask AI control remains fixed at the bottom-right rather than appearing in the navbar, because `AiButton` supplies inline fixed positioning. Override those positioning properties here (or remove them from `AiButton`) so the moved control participates in the navbar layout.</violation>

<violation number="2" location="theme.config.tsx:84">
P2: The newly added `.nav-extras button` CSS rule uses `!important` on `background`, `color`, `border`, `border-radius`, `padding`, `font-size`, and `transition`, which override the `AiButton.js` inline styles (`backgroundColor: "#007bff"`, `color: "#fff"`, `border: "none"`, `borderRadius: "5px"`, `padding: "10px 20px"`, `fontSize: "16px"`, `transition: "background-color 0.3s ease"`). This makes the inline styles deceptive — anyone reading AiButton.js would expect a blue button with white text, but the rendered output is a light gray gradient button with dark text. The inline hover handlers (`onMouseOver`/`onMouseOut` setting `backgroundColor`) become completely dead code because the CSS `background` shorthand with `!important` takes precedence over `e.target.style.backgroundColor`. Consider aligning the button's inline styles with the CSS design or removing the overridden inline properties so the component code reflects reality.</violation>
</file>

<file name="pages/devs/consumers/allora-api-endpoint.mdx">

<violation number="1" location="pages/devs/consumers/allora-api-endpoint.mdx:87">
P2: The example request URL uses `v7` (`/emissions/v7/latest_network_inferences/1`) but the URL Components table directly below it says `v9` is the "Latest emissions API version number". This inconsistency leaves readers unsure which version to use and could lead to integration failures.

Either update the example URL to use `v9` or align the URL Components description to match the example's `v7`.</violation>
</file>

<file name="pages/devs/workers/walkthroughs/walkthrough-hugging-face-worker.mdx">

<violation number="1" location="pages/devs/workers/walkthroughs/walkthrough-hugging-face-worker.mdx:185">
P2: The Dockerfile.inference and docker-compose.yaml present contradictory run commands, which is confusing in a walkthrough and leaves the deployment approach ambiguous.

The Dockerfile.inference sets `CMD ["gunicorn", ...]` (production WSGI server), but the docker-compose.yaml specifies `command: python -u /app/app.py` (Flask development server), which overrides the Dockerfile CMD at runtime. This means:
- **The gunicorn CMD is dead code** — it's never used when deploying via the documented `docker compose up --build` workflow.
- **The gunicorn dependency** (`gunicorn==22.0.0` in requirements.txt) is installed but unused.
- **Flask's dev server** (`app.run()`) is not production-appropriate, yet that's what actually runs.

Recommend aligning both on one approach: either remove the `command` override from docker-compose and use gunicorn (better for production-like setups), or remove the gunicorn CMD from the Dockerfile and gunicorn from requirements if Flask's dev server is intentional for this walkthrough.</violation>

<violation number="2" location="pages/devs/workers/walkthroughs/walkthrough-hugging-face-worker.mdx:198">
P2: The `command: python -u /app/app.py` in docker-compose overrides the Dockerfile's gunicorn CMD. This means the inference service runs Flask's built-in development server (`app.run()`) instead of gunicorn. For consistency and production-readiness, remove the `command` line so the Dockerfile's gunicorn entrypoint is used.</violation>
</file>

<file name="pages/devs/sdk/allora-sdk-ts.mdx">

<violation number="1" location="pages/devs/sdk/allora-sdk-ts.mdx:256">
P2: The React hook example uses `useState([])` and `useState(null)` without type parameters, causing TypeScript to infer `never[]` for `topics` and `null` for `error`. When `setTopics(topics)` receives actual data or `setError(error)` receives an Error object, both will produce type errors. Add explicit type parameters for correct inference.</violation>
</file>

<file name="pages/devs/validators.mdx">

<violation number="1" location="pages/devs/validators.mdx:91">
P2: `[receive rewards]()` on line 91 has an empty link — the URL between the parentheses is missing. This will render as a broken anchor. Either supply the correct URL (e.g., linking to the rewards section or the staking guide) or unwrap the brackets if a link isn't intended here.</violation>
</file>

<file name="pages/home/dev-consumers/_meta.json">

<violation number="1" location="pages/home/dev-consumers/_meta.json:10">
P2: The `consumer-contracts` sidebar entry's `href` points to `/devs/consumers/consumer-contracts`, but there is no page at that route (no `index.mdx` in `pages/devs/consumers/consumer-contracts/`). Clicking this navigation item would result in a 404.

Consider pointing the href to an existing page such as `/devs/consumers/consumer-contracts/dev-consumers`, or remove the entry until a landing page is created.</violation>
</file>

<file name="pages/devs/validators/nop-requirements.mdx">

<violation number="1" location="pages/devs/validators/nop-requirements.mdx:78">
P3: The text says validators do this "in three ways" but the numbered list immediately following only contains **two** items (1. Staking in worker nodes, 2. Operating the appchain). This is a factual mismatch that will confuse readers. Change "three ways" to "two ways" or add the missing third responsibility.</violation>
</file>

<file name="pages/devs/reference/params/chain.mdx">

<violation number="1" location="pages/devs/reference/params/chain.mdx:134">
P3: `reward_cadence` description mixes units: first sentence says duration is 'in blocks' but the second sentence says 'Every `reward_cadence` seconds'. The default value is 600 blocks, not seconds. This contradiction will confuse readers trying to understand the parameter.</violation>

<violation number="2" location="pages/devs/reference/params/chain.mdx:259">
P2: `max_request_cadence` has the exact same description as `max_inference_request_validity` — both say they set the maximum validity time. The parameter name ('cadence') suggests frequency control (like `min_request_cadence` which correctly describes an interval), but the description talks about validity duration. Readers can't tell these two parameters apart, and the identical default values reinforce the confusion.</violation>
</file>

<file name="pages/devs/topic-creators/how-to-create-topic.mdx">

<violation number="1" location="pages/devs/topic-creators/how-to-create-topic.mdx:136">
P3: The `fund-topic` command uses `[sender_address]` but the parameter list below calls it `sender`. A user reading the command will look for what `sender_address` means and find no matching parameter — `sender` doesn't match. Align the names to avoid confusion.</violation>
</file>

<file name="pages/devs/consumers/walkthrough-use-topic-inference.mdx">

<violation number="1" location="pages/devs/consumers/walkthrough-use-topic-inference.mdx:134">
P3: The Field mapping section under Important Notes lists only 3 of the 6 API-to-contract field mappings. Readers also need `topic_id` → `topicId`, `extra_data` → `extraData`, and `timestamp` → `timestamp` to correctly convert the API response into the contract call arguments.

Add the missing mappings for completeness so the field guide is a single self-contained reference.</violation>
</file>

<file name="pages/devs/reference/allorad.mdx">

<violation number="1" location="pages/devs/reference/allorad.mdx:157">
P3: The description for `GetDelegateStakePlacement` was changed from the original specific description to a vague placeholder that doesn't tell users what data the command returns. The original described it as returning the amount of tokens delegated to a specific target, which helps users understand the command's purpose and decide when to use it.</violation>
</file>

<file name="pages/devs/validators/software-upgrades.mdx">

<violation number="1" location="pages/devs/validators/software-upgrades.mdx:134">
P3: The markdown link for Cosmovisor has a stray extra closing parenthesis `))` after the URL. The link `[Cosmovisor](...)` renders fine, but the dangling `)` appears as stray text in the middle of a sentence, making the prose read oddly. Remove the extra `)` to get `[Cosmovisor](...) managing`.</violation>
</file>

<file name="pages/devs/workers/walkthroughs/walkthrough-price-prediction-worker/modelpy.mdx">

<violation number="1" location="pages/devs/workers/walkthroughs/walkthrough-price-prediction-worker/modelpy.mdx:80">
P3: Nested bold (`**`) formatting produces unexpected rendering — Markdown parsers cannot nest `**` delimiters. The inner `**` around `example` will prematurely close the outer bold span, rendering as: **Here's a quick** example **of to adjust...** instead of the intended full-sentence bold.</violation>
</file>
Architecture diagram
sequenceDiagram
    participant User as User (Browser)
    participant Nav as Navbar/Sidebar
    participant AI as AiButton Component
    participant Chat as ChatComponent
    participant Page as Page Content
    participant Theme as Theme Config

    Note over User,Theme: NEW: Navigation & Sidebar Restructure

    User->>Nav: Navigate docs site
    Nav->>Nav: Render sidebar with separators
    Note over Nav: NEW: "DOCUMENTATION" & "DEVELOPERS" section headers
    Nav->>Nav: Collapse menus by default (level 1)
    Nav-->>User: Show reorganized navigation tree

    Note over User,Theme: CHANGED: AiButton positions fixed to viewport

    User->>AI: Click "Ask AI" button
    AI->>AI: Toggle showChat state
    alt Chat hidden
        AI-->>User: Render fixed-position button (bottom-right, z-index 1000)
    else Chat shown
        AI-->>User: Render ChatComponent in fixed container (bottom-right, z-index 1000)
    end

    Note over User,Theme: NEW: Footer and extra content

    User->>Theme: Load page
    Theme->>Theme: NEW: Hide footer component (set to null)
    Theme->>Theme: NEW: Add AiButton to navbar extraContent area
    Theme->>Theme: NEW: Apply custom CSS for nav, sidebar, and AI button styling
    Theme-->>User: Render styled page with new layout

    Note over User,Page: NEW: Page structure changes

    User->>Page: Request page (e.g., /devs/get-started/quick-start)
    Page-->>User: Serve reorganized content
    alt Home/_meta.json
        Page->>Page: NEW: Map "Documentation" and "Developers" separators
        Page->>Page: NEW: Redirect "Concepts", "Sample Projects" under Documentation
        Page->>Page: NEW: Redirect "Get Started", "Topic Creators", etc. under Developers
    else Devs/_meta.json
        Page->>Page: NEW: Add "Exchanges" section
        Page->>Page: CHANGED: Restructure get-started (remove old pages, add quick-start, network-interaction)
        Page->>Page: NEW: Add exchange-integrations.mdx (Go SDK usage)
    end

    Page-->>User: Display updated page content

    Note over User,Theme: CHANGED: Theme configuration and styling

    User->>Theme: Toggle dark mode
    Theme->>Theme: Apply dark mode CSS overrides
    alt Light mode
        Theme->>Theme: Use light color scheme for nav and button
    else Dark mode
        Theme->>Theme: Use dark color scheme for nav and button
    end
    Theme-->>User: Render themed content

    Note over User,Page: NEW: Sample Projects and external links

    User->>Page: Navigate to /home/explore
    Page->>Page: NEW: Show sample project cards (Basic Coin Prediction, MDK)
    Page->>Page: NEW: Show external resource cards (YouTube, X, Discord, email)
    Page-->>User: Present updated home page

    User->>Page: Navigate to /home/sample-projects
    Page-->>User: NEW: Display sample project list with features

    Note over User,Page: NEW: Release notes restructured

    User->>Page: Navigate to /release-notes
    Page->>Page: NEW: Serve from /release-notes/index.mdx
    Page-->>User: Display release notes
Loading

Tip: instead of fixing issues one by one fix them all with cubic

Re-trigger cubic

logger.warning(f"API error on attempt {attempt + 1}: {e}")
if attempt == retries - 1:
raise
time.sleep(2 ** attempt) # Exponential backoff

@cubic-dev-ai cubic-dev-ai Bot Jul 16, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1: AlloraService example calls time.sleep() but time is not imported — this will raise NameError at runtime.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At pages/devs/sdk/allora-sdk-py.mdx, line 257:

<comment>`AlloraService` example calls `time.sleep()` but `time` is not imported — this will raise `NameError` at runtime.</comment>

<file context>
@@ -73,168 +117,218 @@ def __init__(self, chain="testnet", api_key=None, base_api_url=None):
+                logger.warning(f"API error on attempt {attempt + 1}: {e}")
+                if attempt == retries - 1:
+                    raise
+                time.sleep(2 ** attempt)  # Exponential backoff

</file context>


</details>

<a href="https://www.cubic.dev/action/fix/violation/2321efd4-610d-4240-b36d-80b3d31bd73d" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true">
  <picture>
    <source media="(prefers-color-scheme: dark)" srcset="https://cubic.dev/buttons/fix-with-cubic-dark.svg">
    <source media="(prefers-color-scheme: light)" srcset="https://cubic.dev/buttons/fix-with-cubic-light.svg">
    <img alt="Fix with cubic" src="https://cubic.dev/buttons/fix-with-cubic-dark.svg">
  </picture>
</a>

from allora_sdk import AlloraClient

app = Flask(__name__)
client = AlloraClient(chain="mainnet", api_key=os.getenv("ALLORA_API_KEY"))

@cubic-dev-ai cubic-dev-ai Bot Jul 16, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1: Flask example uses os.getenv("ALLORA_API_KEY") but os is not imported — this will raise NameError at runtime.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At pages/devs/sdk/allora-sdk-py.mdx, line 294:

<comment>Flask example uses `os.getenv("ALLORA_API_KEY")` but `os` is not imported — this will raise `NameError` at runtime.</comment>

<file context>
@@ -73,168 +117,218 @@ def __init__(self, chain="testnet", api_key=None, base_api_url=None):
 from allora_sdk import AlloraClient
 
 app = Flask(__name__)
+client = AlloraClient(chain="mainnet", api_key=os.getenv("ALLORA_API_KEY"))
 
-# Initialize the client
</file context>
Fix with cubic

Comment thread pages/devs/reputers.mdx
Comment on lines +22 to 23
Reputers apply the topic's [loss function](/devs/topic-creators/create-deploy-loss-calculation-function) to each worker's inference against ground truth. For instance, if a topic uses L1-norm loss, reputers calculate the absolute difference between each worker's predicted ETH price and the actual price.

@cubic-dev-ai cubic-dev-ai Bot Jul 16, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1: Link to /devs/topic-creators/create-deploy-loss-calculation-function will 404 — no file or section exists at that path. No topic-creators page covers deploying a loss function as a separate guide.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At pages/devs/reputers.mdx, line 22:

<comment>Link to `/devs/topic-creators/create-deploy-loss-calculation-function` will 404 — no file or section exists at that path. No topic-creators page covers deploying a loss function as a separate guide.</comment>

<file context>
@@ -1,32 +1,77 @@
+### 2. Calculate Loss
 
-### Secure Topics with Stake
+Reputers apply the topic's [loss function](/devs/topic-creators/create-deploy-loss-calculation-function) to each worker's inference against ground truth. For instance, if a topic uses L1-norm loss, reputers calculate the absolute difference between each worker's predicted ETH price and the actual price.
 
-Reputers secure topics with their [stake](/devs/reputers/set-and-adjust-stake). The more a reputer stakes in a topic, the greater their influence on the consensus of losses. 
</file context>
Suggested change
Reputers apply the topic's [loss function](/devs/topic-creators/create-deploy-loss-calculation-function) to each worker's inference against ground truth. For instance, if a topic uses L1-norm loss, reputers calculate the absolute difference between each worker's predicted ETH price and the actual price.
Reputers apply the topic's [loss function](/devs/topic-creators/how-to-create-topic#lossmethod) to each worker's inference against ground truth. For instance, if a topic uses L1-norm loss, reputers calculate the absolute difference between each worker's predicted ETH price and the actual price.
Fix with cubic

Comment thread pages/devs/reputers.mdx
Comment on lines +36 to +37
Reputers [receive rewards](/home/layers/consensus/reputers) proportional to how close their reported losses are to the stake-weighted consensus. The network calculates a stake-weighted average of all reported losses per topic per epoch. Reputers whose values are closer to this consensus earn higher rewards.

@cubic-dev-ai cubic-dev-ai Bot Jul 16, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1: Link to /home/layers/consensus/reputers will 404 — actual file is at pages/home/concepts/layers/consensus/reputers.mdx, which maps to /home/concepts/layers/consensus/reputers. The concepts segment is missing from the path.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At pages/devs/reputers.mdx, line 36:

<comment>Link to `/home/layers/consensus/reputers` will 404 — actual file is at `pages/home/concepts/layers/consensus/reputers.mdx`, which maps to `/home/concepts/layers/consensus/reputers`. The `concepts` segment is missing from the path.</comment>

<file context>
@@ -1,32 +1,77 @@
\ No newline at end of file
+### 4. Earn Rewards
+
+Reputers [receive rewards](/home/layers/consensus/reputers) proportional to how close their reported losses are to the stake-weighted consensus. The network calculates a stake-weighted average of all reported losses per topic per epoch. Reputers whose values are closer to this consensus earn higher rewards.
+
+This incentivizes accurate loss calculations that align with other reputers' independent evaluations.
</file context>
Suggested change
Reputers [receive rewards](/home/layers/consensus/reputers) proportional to how close their reported losses are to the stake-weighted consensus. The network calculates a stake-weighted average of all reported losses per topic per epoch. Reputers whose values are closer to this consensus earn higher rewards.
Reputers [receive rewards](/home/concepts/layers/consensus/reputers) proportional to how close their reported losses are to the stake-weighted consensus. The network calculates a stake-weighted average of all reported losses per topic per epoch. Reputers whose values are closer to this consensus earn higher rewards.
Fix with cubic

Comment thread pages/home/explore.mdx
Allora Explorer Studio
</>
}
href="http://localhost:4000/allora-explorer-studio"

@cubic-dev-ai cubic-dev-ai Bot Jul 16, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1: The Allora Explorer Studio card links to http://localhost:4000/allora-explorer-studio, a local development URL that will not resolve for any user visiting the production docs site. Replace it with the correct production URL (e.g., https://explorer.allora.network/ or the actual Explorer Studio URL) or remove the card until a live URL is available.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At pages/home/explore.mdx, line 72:

<comment>The Allora Explorer Studio card links to `http://localhost:4000/allora-explorer-studio`, a local development URL that will not resolve for any user visiting the production docs site. Replace it with the correct production URL (e.g., `https://explorer.allora.network/` or the actual Explorer Studio URL) or remove the card until a live URL is available.</comment>

<file context>
@@ -12,56 +16,119 @@ Examples of intelligence include, but are not limited to:
+        Allora Explorer Studio
+      </>
+    }
+    href="http://localhost:4000/allora-explorer-studio"
+  >
+    Understand your model metrics after you have deployed your model to the network
</file context>
Suggested change
href="http://localhost:4000/allora-explorer-studio"
href="https://explorer.allora.network/"
Fix with cubic


#### min_request_unmet_demand
##### reward_cadence
**The duration of a reward epoch in blocks.** Every `reward_cadence` seconds, rewards are recomputed within `EndBlock`.

@cubic-dev-ai cubic-dev-ai Bot Jul 16, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P3: reward_cadence description mixes units: first sentence says duration is 'in blocks' but the second sentence says 'Every reward_cadence seconds'. The default value is 600 blocks, not seconds. This contradiction will confuse readers trying to understand the parameter.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At pages/devs/reference/params/chain.mdx, line 134:

<comment>`reward_cadence` description mixes units: first sentence says duration is 'in blocks' but the second sentence says 'Every `reward_cadence` seconds'. The default value is 600 blocks, not seconds. This contradiction will confuse readers trying to understand the parameter.</comment>

<file context>
@@ -1,163 +1,357 @@
 
-#### min_request_unmet_demand
+##### reward_cadence
+**The duration of a reward epoch in blocks.** Every `reward_cadence` seconds, rewards are recomputed within `EndBlock`.
 
-Threshold under which the inference requests will be deleted or prevented from being created.
</file context>
Suggested change
**The duration of a reward epoch in blocks.** Every `reward_cadence` seconds, rewards are recomputed within `EndBlock`.
**The duration of a reward epoch in blocks.** Every `reward_cadence` blocks, rewards are recomputed within `EndBlock`.
Fix with cubic

- **RPC Method:** `GetDelegateStakeRemoval`
- **Command:** `delegate-stake-removal [block_height] [topic_id] [delegator] [reputer]`
- **Description:** Get the current state of a pending delegate stake removal.
- **Description:** Get information about delegate stake placement.

@cubic-dev-ai cubic-dev-ai Bot Jul 16, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P3: The description for GetDelegateStakePlacement was changed from the original specific description to a vague placeholder that doesn't tell users what data the command returns. The original described it as returning the amount of tokens delegated to a specific target, which helps users understand the command's purpose and decide when to use it.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At pages/devs/reference/allorad.mdx, line 157:

<comment>The description for `GetDelegateStakePlacement` was changed from the original specific description to a vague placeholder that doesn't tell users what data the command returns. The original described it as returning the amount of tokens delegated to a specific target, which helps users understand the command's purpose and decide when to use it.</comment>

<file context>
@@ -1,451 +1,244 @@
-- **RPC Method:** `GetDelegateStakeRemoval`
-- **Command:** `delegate-stake-removal [block_height] [topic_id] [delegator] [reputer]`
-- **Description:** Get the current state of a pending delegate stake removal.
+- **Description:** Get information about delegate stake placement.
 - **Positional Arguments:**
-  - `block_height` Block height to query.
</file context>
Fix with cubic


#### Step 1: Setup Cosmovisor

1. **Make sure you're running the `allorad` software with [Cosmovisor](https://docs.cosmos.network/main/build/tooling/cosmovisor)) managing the process, `DAEMON_NAME=allorad` and `DAEMON_HOME=/path/to/allorad/data/folder`.** Hopefully you've already run `cosmovisor init /path/to/allorad-binary` and have the `/allorad/data/folder/cosmovisor` set.

@cubic-dev-ai cubic-dev-ai Bot Jul 16, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P3: The markdown link for Cosmovisor has a stray extra closing parenthesis )) after the URL. The link [Cosmovisor](...) renders fine, but the dangling ) appears as stray text in the middle of a sentence, making the prose read oddly. Remove the extra ) to get [Cosmovisor](...) managing.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At pages/devs/validators/software-upgrades.mdx, line 134:

<comment>The markdown link for Cosmovisor has a stray extra closing parenthesis `))` after the URL. The link `[Cosmovisor](...)` renders fine, but the dangling `)` appears as stray text in the middle of a sentence, making the prose read oddly. Remove the extra `)` to get `[Cosmovisor](...) managing`.</comment>

<file context>
@@ -1,67 +1,251 @@
+
+#### Step 1: Setup Cosmovisor
+
+1. **Make sure you're running the `allorad` software with [Cosmovisor](https://docs.cosmos.network/main/build/tooling/cosmovisor)) managing the process, `DAEMON_NAME=allorad` and `DAEMON_HOME=/path/to/allorad/data/folder`.** Hopefully you've already run `cosmovisor init /path/to/allorad-binary` and have the `/allorad/data/folder/cosmovisor` set.
+
+**Cosmovisor Benefits**:
</file context>
Suggested change
1. **Make sure you're running the `allorad` software with [Cosmovisor](https://docs.cosmos.network/main/build/tooling/cosmovisor)) managing the process, `DAEMON_NAME=allorad` and `DAEMON_HOME=/path/to/allorad/data/folder`.** Hopefully you've already run `cosmovisor init /path/to/allorad-binary` and have the `/allorad/data/folder/cosmovisor` set.
1. **Make sure you're running the `allorad` software with [Cosmovisor](https://docs.cosmos.network/main/build/tooling/cosmovisor) managing the process, `DAEMON_NAME=allorad` and `DAEMON_HOME=/path/to/allorad/data/folder`.** Hopefully you've already run `cosmovisor init /path/to/allorad-binary` and have the `/allorad/data/folder/cosmovisor` set.
Fix with cubic

Here’s a quick **example** of how to adjust the script for downloading data for multiple trading pairs:
##### Implementation Example

**Here's a quick **example** of how to adjust the script for downloading data for multiple trading pairs:**

@cubic-dev-ai cubic-dev-ai Bot Jul 16, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P3: Nested bold (**) formatting produces unexpected rendering — Markdown parsers cannot nest ** delimiters. The inner ** around example will prematurely close the outer bold span, rendering as: Here's a quick example of to adjust... instead of the intended full-sentence bold.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At pages/devs/workers/walkthroughs/walkthrough-price-prediction-worker/modelpy.mdx, line 80:

<comment>Nested bold (`**`) formatting produces unexpected rendering — Markdown parsers cannot nest `**` delimiters. The inner `**` around `example` will prematurely close the outer bold span, rendering as: **Here's a quick** example **of to adjust...** instead of the intended full-sentence bold.</comment>

<file context>
@@ -2,44 +2,82 @@ import { Callout } from 'nextra/components'
-Here’s a quick **example** of how to adjust the script for downloading data for multiple trading pairs:
+##### Implementation Example
+
+**Here's a quick **example** of how to adjust the script for downloading data for multiple trading pairs:**
 
 ```python
</file context>
Suggested change
**Here's a quick **example** of how to adjust the script for downloading data for multiple trading pairs:**
**Here's a quick "example" of how to adjust the script for downloading data for multiple trading pairs:**
Fix with cubic

**Create docker-compose.yml:**

```yaml
version: '3.8'

@cubic-dev-ai cubic-dev-ai Bot Jul 16, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P3: The version: '3.8' field is deprecated in Docker Compose V2 (docker compose). Modern Docker Compose ignores this field and the official Docker documentation recommends omitting it entirely. While it still works, including it may cause confusion and is unnecessary.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At pages/devs/validators/run-full-node.mdx, line 254:

<comment>The `version: '3.8'` field is deprecated in Docker Compose V2 (`docker compose`). Modern Docker Compose ignores this field and the official Docker documentation recommends omitting it entirely. While it still works, including it may cause confusion and is unnecessary.</comment>

<file context>
@@ -92,281 +158,224 @@ PEERS=$(curl -s https://raw.githubusercontent.com/allora-network/networks/main/a
+**Create docker-compose.yml:**
+
+```yaml
+version: '3.8'
+services:
+  allora-node:
</file context>
Fix with cubic

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.

3 participants