trimmed down v2 - #143
Conversation
- 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
✅ Deploy Preview for alloradocs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
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
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 |
There was a problem hiding this comment.
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")) |
There was a problem hiding this comment.
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>
| 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. | ||
|
|
There was a problem hiding this comment.
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>
| 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. |
| 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. | ||
|
|
There was a problem hiding this comment.
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>
| 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. |
| Allora Explorer Studio | ||
| </> | ||
| } | ||
| href="http://localhost:4000/allora-explorer-studio" |
There was a problem hiding this comment.
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>
| href="http://localhost:4000/allora-explorer-studio" | |
| href="https://explorer.allora.network/" |
|
|
||
| #### min_request_unmet_demand | ||
| ##### reward_cadence | ||
| **The duration of a reward epoch in blocks.** Every `reward_cadence` seconds, rewards are recomputed within `EndBlock`. |
There was a problem hiding this comment.
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>
| **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`. |
| - **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. |
There was a problem hiding this comment.
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>
|
|
||
| #### 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. |
There was a problem hiding this comment.
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>
| 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. |
| 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:** |
There was a problem hiding this comment.
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>
| **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:** |
| **Create docker-compose.yml:** | ||
|
|
||
| ```yaml | ||
| version: '3.8' |
There was a problem hiding this comment.
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>
No description provided.