8000 feat: Update all prompts with context from revm evmone geth and execution-specs by roninjin10 · Pull Request #1828 · evmts/tevm-monorepo · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

feat: Update all prompts with context from revm evmone geth and execution-specs #1828

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

roninjin10
Copy link
Collaborator
@roninjin10 roninjin10 commented Jun 11, 2025

Description

Concise description of proposed changes

Testing

Explain the quality checks that have been done on the code changes

Additional Information

Your ENS/address:

Summary by CodeRabbit

  • New Features

    • Added detailed implementation prompts and guides for multiple BLS12-381 precompiles (G1MSM, G2ADD, G2MSM, PAIRING, MAP_FP_TO_G1, MAP_FP2_TO_G2) and EIP-3155 tracing.
    • Introduced a comprehensive mapping document linking prompt specifications to their corresponding implementation and test files.
    • Enhanced documentation with new sections explaining features, workflows, and ELI5 analogies for easier understanding.
  • Documentation

    • Updated README and checklist with links to new and enhanced implementation guides.
    • Expanded several prompt documents with structured explanations, commit message templates, and implementation references.
    • Added or improved context, motivation, and stepwise instructions for various features, including WASM integration, database support, account tracking, and performance optimizations.
  • Chores

    • Updated .gitignore to exclude new directories from version control.
  • Refactor

    • Removed outdated or redundant prompt documents covering complete CALL operations, database interfaces, journaling/state reverting, DoS protection, edge case handling, EIP-7702 delegation, IDENTITY precompile, KZG point evaluation, and others to align with updated specifications and implementation plans.

Copy link
changeset-bot bot commented Jun 11, 2025

⚠️ No Changeset found

Latest commit: 7929542

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Contributor
coderabbitai bot commented Jun 11, 2025

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

💤 Files selected but had no reviewable changes (2)
  • src/evm/prompts/implement-prague-hardfork-support-enhanced.md
  • src/evm/prompts/implement-prague-hardfork-support.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This update introduces a new, comprehensive AI-powered prompt enhancement pipeline for the EVM project. It adds a robust Gemini API client with chunked input handling, resource file discovery utilities, and a full rewrite of the prompt enhancement script to automate multi-resource, multi-prompt processing. Several new implementation prompt documents are also added for BLS12-381 precompiles, EIP-3155 tracing, and gas management, while some outdated or superseded documentation files are removed.

Changes

File(s) Change Summary
.gitignore Added go-ethereum/ directory to ignored paths.
scripts/gemini.ts Completely refactored: now a multi-resource, multi-prompt enhancement pipeline using new GeminiClient and file utils, supporting chunked API calls, context extraction, and enhanced prompt generation.
scripts/lib/GeminiClient.ts New file: Implements a robust Gemini API client with token counting, content generation, chunked input handling, and exponential backoff retries.
scripts/lib/fileUtils.ts New file: Provides file discovery and reading utilities for Zig and resource files, supporting extension filtering and language tagging.
src/evm/prompts/implement-bls12-381-g1msm-precompile.md
src/evm/prompts/implement-bls12-381-g2add-precompile.md
src/evm/prompts/implement-bls12-381-g2msm-precompile.md
src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md
src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md
src/evm/prompts/implement-bls12-381-pairing-precompile.md
Added detailed implementation prompt documents for BLS12-381 precompiles (G1MSM, G2ADD, G2MSM, MAP_FP_TO_G1, MAP_FP2_TO_G2, PAIRING) per EIP-2537, specifying requirements, workflow, and integration details.
src/evm/prompts/implement-call-gas-management.md Added a new markdown document specifying requirements and workflow for implementing the EVM 63/64th gas forwarding rule.
src/evm/prompts/implement-eip3155-tracing.md Added a new prompt for implementing EIP-3155 execution trace format in the EVM, with workflow and specification details.
src/evm/checklist.md
src/evm/README.md
Updated documentation to include links to new/enhanced prompt files for missing features and precompiles.
EVM_PROMPT_MAPPING.md New file: Provides a detailed mapping between prompt specification files and their implementation/test files.
src/evm/prompts/fix-wasm-build-integration.md
src/evm/prompts/implement-account-status-tracking.md
src/evm/prompts/implement-async-database-support.md
src/evm/prompts/implement-blake2f-precompile.md
src/evm/prompts/implement-bls12-381-g1add-precompile.md
src/evm/prompts/implement-branch-prediction-optimization.md
src/evm/prompts/implement-bundle-state-management.md
src/evm/prompts/implement-cache-optimization.md
src/evm/prompts/implement-call-frame-pooling.md
src/evm/prompts/implement-call-gas-stipend.md
src/evm/prompts/implement-cicd-wasm-size-check.md
src/evm/prompts/implement-cli-tools.md
src/evm/prompts/implement-comprehensive-tracing.md
src/evm/prompts/implement-consensus-test-suite.md
src/evm/prompts/implement-custom-chain-framework.md
src/evm/prompts/implement-dynamic-gas-edge-cases.md
src/evm/prompts/implement-ecadd-precompile.md
src/evm/prompts/implement-ecmul-precompile.md
src/evm/prompts/implement-ecpairing-precompile.md
src/evm/prompts/implement-ecrecover-precompile.md
src/evm/prompts/implement-eof-support.md
Enhanced documentation for implementation prompts: added ELI5 explanations, structured commit guidelines, "What/Why/How" sections, file lists, and/or contextual references for clarity and guidance.
src/evm/prompts/complete-call-operations.md
src/evm/prompts/implement-complete-call-operations.md
src/evm/prompts/implement-complete-eip4844-support.md
src/evm/prompts/implement-database-interface-traits.md
src/evm/prompts/implement-database-interface.md
src/evm/prompts/implement-dos-protection.md
src/evm/prompts/implement-edge-case-handling.md
src/evm/prompts/implement-identity-precompile.md
src/evm/prompts/implement-journaling-state-reverting.md
src/evm/prompts/implement-kzg-point-evaluation-precompile.md
src/evm/prompts/implement-eip7702-delegation.md
Deleted outdated or superseded prompt and specification documents for call operations, EIP-4844, database interfaces, DoS protection, edge case handling, identity precompile, journaling, KZG point evaluation, and EIP-7702 delegation.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant GeminiScript (scripts/gemini.ts)
    participant GeminiClient
    participant FileUtils
    participant FileSystem

    User->>GeminiScript: Run enhancement pipeline
    GeminiScript->>FileUtils: Discover Zig and resource files
    FileUtils->>FileSystem: Find and read files
    FileSystem-->>FileUtils: File contents
    FileUtils-->>GeminiScript: File lists and contents

    loop For each prompt file
        GeminiScript->>GeminiScript: Skip if WASM-related
        GeminiScript->>GeminiClient: Generate enhanced context (chunked)
        GeminiClient->>GeminiClient: Chunk input, handle retries
        GeminiClient->>GeminiScript: Enhanced context responses
        GeminiScript->>FileSystem: Write enhanced prompt file
    end
    GeminiScript-->>User: Enhanced prompts generated
Loading

Possibly related PRs

  • evmts/tevm-monorepo#1822: Completely removes the go-ethereum subproject; directly related as this PR adds go-ethereum/ to .gitignore and processes it in prompt enhancement.
  • evmts/tevm-monorepo#1798: Adds debug logging to EVM modules; related through changes to diagnostics and logging, which may interact with new script logging.
  • evmts/tevm-monorepo#1702: Exports Zig EVM functions for FFI use; related through infrastructure changes supporting cross-language integration, which may be relevant for WASM and prompt automation.

Poem

In the warren where prompts are born anew,
A rabbit scurries—scripts and docs in view.
With Gemini’s help, and resourceful delight,
It chunks, enhances, through the digital night.
Old specs hop away, new guides take their place—
The codebase grows stronger, in this bunny’s race!

((\
( -.-)
o_(")(")


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
vercel bot commented Jun 11, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
tevm-monorepo-app ✅ Ready (Inspect) Visit Preview Jun 11, 2025 8:44pm
2 Skipped Deployments
Name Status Preview Updated (UTC)
tevm-monorepo-tevm ⬜️ Ignored (Inspect) Jun 11, 2025 8:44pm
node ⬜️ Skipped (Inspect) Jun 11, 2025 8:44pm

Copy link
Collaborator Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link
Contributor
@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Caution

Inline review comments failed to post. This is likely due to GitHub's limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

🛑 Comments failed to post (10)
src/evm/prompts/implement-ecrecover-precompile-enhanced.md (3)

232-243: ⚠️ Potential issue

Remove EIP-155 logic from extract_recovery_id
The precompile spec only accepts v values 27 or 28; EIP-155 handling belongs at the transaction layer. Simplify to:

fn extract_recovery_id(v: u256) u8 {
    // Ensure high 31 bytes are zero and last byte is 27 or 28
    var v_bytes = v.toBytes(); 
    if (!allZero(v_bytes[0..31]) or (v_bytes[31] != 27 and v_bytes[31] != 28)) return 255;
    return @as(u8, v_bytes[31] - 27);
}
🤖 Prompt for AI Agents
In src/evm/prompts/implement-ecrecover-precompile-enhanced.md around lines 232
to 243, remove the EIP-155 logic from the extract_recovery_id function since the
precompile only accepts v values 27 or 28. Simplify the function to check that
the high 31 bytes of v are zero and the last byte is either 27 or 28; if not,
return 255. Otherwise, return the last byte minus 27 as the recovery id. This
moves EIP-155 handling out of this function to the transaction layer.

155-159: ⚠️ Potential issue

Fix incorrect module imports in Zig code
The imports reference TypeScript files (U256.ts, B256.ts) instead of Zig modules. They should point to Zig files, e.g.:

- const U256 = @import("../Types/U256.ts").U256;
- const B256 = @import("../Types/B256.ts").B256;
+ const U256 = @import("../Types/U256.zig").U256;
+ const B256 = @import("../Types/B256.zig").B256;
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

const PrecompileError = @import("precompile_result.zig").PrecompileError;
const Address = @import("../Address.zig").Address;
const U256 = @import("../Types/U256.zig").U256;
const B256 = @import("../Types/B256.zig").B256;
🤖 Prompt for AI Agents
In src/evm/prompts/implement-ecrecover-precompile-enhanced.md around lines 155
to 159, the import statements incorrectly reference TypeScript files (U256.ts,
B256.ts) instead of Zig modules. Update these import paths to point to the
correct Zig files without the .ts extension, ensuring they import the Zig
modules for U256 and B256 properly.

265-281: 🛠️ Refactor suggestion

Fix @memcpy usage for address bytes
Use the address slice directly rather than taking its pointer:

- @memcpy(output[12..32], &address.bytes);
+ @memcpy(output[12..32], address.bytes[0..20]);

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In src/evm/prompts/implement-ecrecover-precompile-enhanced.md around lines 265
to 281, the @memcpy call incorrectly takes the pointer of the address bytes
slice. Fix this by passing the address.bytes slice directly to @memcpy without
using the address-of operator, ensuring the bytes are copied correctly from the
hash slice.
scripts/lib/fileUtils.ts (2)

75-83: 🛠️ Refactor suggestion

Duplicate find call suffers from same portability / security issue

Refactor both discovery paths to share a cross-platform implementation.

🤖 Prompt for AI Agents
In scripts/lib/fileUtils.ts around lines 75 to 83, the code uses a shell `find`
command which is not portable across platforms and poses security risks.
Refactor the file discovery logic to use a cross-platform Node.js method, such
as the `glob` or `fast-glob` package, to find files matching the patterns.
Replace the shell command with this approach to ensure portability and improve
security by avoiding shell injection vulnerabilities.

24-34: 🛠️ Refactor suggestion

execSync("find …") is Unix-only and risks command-injection

  1. Windows CI or developer machines will fail.
  2. Passing un-sanitised pattern directly into the shell is unsafe.

Prefer a pure-JS/glob solution (e.g. fast-glob) or node:fs recursion.

🤖 Prompt for AI Agents
In scripts/lib/fileUtils.ts around lines 24 to 34, the current use of execSync
with a shell find command is Unix-only and vulnerable to command injection due
to unsanitized pattern input. Replace this approach with a pure JavaScript
solution such as using the fast-glob library or implementing recursive file
search with node:fs to ensure cross-platform compatibility and eliminate shell
injection risks. Refactor the code to gather files matching the extension within
the given patterns using these safer methods.
scripts/lib/GeminiClient.ts (3)

2-2: ⚠️ Potential issue

Remove unused dotenv import from library file

Library files should not import or configure dotenv. Environment variable configuration should be handled by the application entry point.

-import "dotenv";
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.


🤖 Prompt for AI Agents
In scripts/lib/GeminiClient.ts at line 2, remove the import statement for
"dotenv" since this library file should not handle environment variable
configuration. The dotenv setup should be done only in the application entry
point to avoid redundant or misplaced configuration.

58-120: 🛠️ Refactor suggestion

Store and reuse API key consistently

The API key is validated in the constructor but then accessed again from environment variables in generateContent. This could lead to inconsistencies if the environment changes.

 export class GeminiClient {
   private genAI: GoogleGenerativeAI;
   private model: any;
+  private apiKey: string;
   public readonly modelName: string;
   public readonly tokenLimit: number;

   constructor(apiKey?: string, modelName: string = "gemini-2.5-pro-preview-06-05") {
     const key = apiKey || process.env.GEMINI_API_KEY;
     
     if (!key) {
       throw new Error(
         "GEMINI_API_KEY is required. Set it as an environment variable or pass it to the constructor."
       );
     }

+    this.apiKey = key;
     this.modelName = modelName;
     this.tokenLimit = 1000000; // 1M tokens for gemini-2.5-pro
     this.genAI = new GoogleGenerativeAI(key);
     this.model = this.genAI.getGenerativeModel({ model: modelName });
   }

   // ...

   async generateContent(contents: GeminiContent[]): Promise<string> {
-    const apiKey = process.env.GEMINI_API_KEY;
-    
     return retryWithBackoff(async () => {
       const requestBody = {
         contents,
       };

       const response = await fetch(
-        `https://generativelanguage.googleapis.com/v1beta/models/${this.modelName}:generateContent?key=${apiKey}`,
+        `https://generativelanguage.googleapis.com/v1beta/models/${this.modelName}:generateContent?key=${this.apiKey}`,
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

export class GeminiClient {
  private genAI: GoogleGenerativeAI;
  private model: any;
  private apiKey: string;
  public readonly modelName: string;
  public readonly tokenLimit: number;

  constructor(apiKey?: string, modelName: string = "gemini-2.5-pro-preview-06-05") {
    const key = apiKey || process.env.GEMINI_API_KEY;
    
    if (!key) {
      throw new Error(
        "GEMINI_API_KEY is required. Set it as an environment variable or pass it to the constructor."
      );
    }

    this.apiKey = key;
    this.modelName = modelName;
    this.tokenLimit = 1000000; // 1M tokens for gemini-2.5-pro
    this.genAI = new GoogleGenerativeAI(key);
    this.model = this.genAI.getGenerativeModel({ model: modelName });
  }

  /**
   * Count tokens with retry logic
   */
  async countTokens(contents: GeminiContent[]): Promise<number> {
    return retryWithBackoff(async () => {
      const result = await this.model.countTokens({ contents });
      return result.totalTokens;
    });
  }

  /**
   * Generate content with retry logic using fetch API
   */
  async generateContent(contents: GeminiContent[]): Promise<string> {
    return retryWithBackoff(async () => {
      const requestBody = {
        contents,
      };

      const response = await fetch(
        `https://generativelanguage.googleapis.com/v1beta/models/${this.modelName}:generateContent?key=${this.apiKey}`,
        {
          method: "POST",
          headers: {
            "Content-Type": "application/json",
          },
          body: JSON.stringify(requestBody),
        },
      );

      if (!response.ok) {
        const errorText = await response.text();
        console.error(`API Error Details: ${errorText}`);
        throw new Error(`HTTP error! status: ${response.status} - ${errorText}`);
      }

      const data: GenerateContentResult = await response.json();
      return data.candidates?.[0]?.content?.parts?.[0]?.text || "No response received";
    });
  }
}
🧰 Tools
🪛 Biome (1.9.4)

[error] 64-64: This type annotation is trivially inferred from its initialization.

Safe fix: Remove the type annotation.

(lint/style/noInferrableTypes)

🤖 Prompt for AI Agents
In scripts/lib/GeminiClient.ts around lines 58 to 120, the API key is validated
and stored in the constructor but the generateContent method retrieves it again
from environment variables, risking inconsistency. To fix this, store the API
key as a private class property during construction and use this stored key in
generateContent instead of accessing process.env.GEMINI_API_KEY again.

34-52: ⚠️ Potential issue

Remove unreachable code and use modern operators

The error throw at line 52 is unreachable since the loop will always either return a value or throw an error when max retries are exceeded.

-      const delay = baseDelay * Math.pow(2, attempt - 1);
+      const delay = baseDelay * (2 ** (attempt - 1));
       console.log(`    ⏱️  Retrying in ${delay}ms...`);
       await new Promise((resolve) => setTimeout(resolve, delay));
     }
   }
-  throw new Error("Max retries exceeded");
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

  for (let attempt = 1; attempt <= maxRetries; attempt++) {
    try {
      return await operation();
    } catch (error) {
      console.warn(
        `    ⚠️  Attempt ${attempt}/${maxRetries} failed: ${error.message}`,
      );

      if (attempt === maxRetries) {
        throw error;
      }

      // Exponential backoff: 1s, 2s, 4s
-      const delay = baseDelay * Math.pow(2, attempt - 1);
+      const delay = baseDelay * (2 ** (attempt - 1));
      console.log(`    ⏱️  Retrying in ${delay}ms...`);
      await new Promise((resolve) => setTimeout(resolve, delay));
    }
  }
🧰 Tools
🪛 Biome (1.9.4)

[error] 47-48: Use the '**' operator instead of 'Math.pow'.

Unsafe fix: Use the '**' operator instead of 'Math.pow'.

(lint/style/useExponentiationOperator)

🤖 Prompt for AI Agents
In scripts/lib/GeminiClient.ts around lines 34 to 52, the final throw new
Error("Max retries exceeded") is unreachable because the loop either returns a
result or throws an error when max retries are reached. Remove this unreachable
throw statement to clean up the code and rely on the loop's existing control
flow for error handling.
src/evm/prompts/implement-bls12-381-g2add-precompile-enhanced.md (2)

23-29: ⚠️ Potential issue

Raise critical issue: Incorrect gas cost in EIP-2537 spec section
The prompt’s “Basic Operation” block still lists a fixed gas cost of 800, but both the official EIP-2537 spec and reference implementations use 600 gas for G2ADD.
Apply this diff:

 ### Basic Operation
 - **Gas Cost**: 800 (fixed cost)
 + **Gas Cost**: 600 (fixed cost)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

### Basic Operation
- **Address**: `0x000000000000000000000000000000000000000D`
- **Gas Cost**: 600 (fixed cost)
- **Input**: 512 bytes (two G2 points, 256 bytes each)
- **Output**: 256 bytes (single G2 point result)
- **Available**: Post-EIP-2537 hardforks
🤖 Prompt for AI Agents
In src/evm/prompts/implement-bls12-381-g2add-precompile-enhanced.md around lines
23 to 29, the gas cost for the G2ADD operation is incorrectly listed as 800.
Update the gas cost value from 800 to 600 to match the official EIP-2537
specification and reference implementations.

31-42: ⚠️ Potential issue

Raise critical issue: Input byte-ordering does not match EIP-2537
The prompt defines the 256-byte G2 point as (x_c0, x_c1, y_c0, y_c1), but EIP-2537 and the execution-specs use (x_c1, x_c0, y_c1, y_c0). Update the ordering to:

 G2 Point Format (256 bytes):
 - x_c0 (64 bytes): Real part of x coordinate
 - x_c1 (64 bytes): Imaginary part of x coordinate  
 - y_c0 (64 bytes): Real part of y coordinate
 - y_c1 (64 bytes): Imaginary part of y coordinate
 + x_c1 (64 bytes): Imaginary part of x coordinate
 + x_c0 (64 bytes): Real part of x coordinate
 + y_c1 (64 bytes): Imaginary part of y coordinate
 + y_c0 (64 bytes): Real part of y coordinate
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

### Input Format
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

32-32: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In src/evm/prompts/implement-bls12-381-g2add-precompile-enhanced.md around lines
31 to 42, the byte ordering of the 256-byte G2 point is incorrectly defined as
(x_c0, x_c1, y_c0, y_c1). To align with EIP-2537 and execution specifications,
update the ordering to (x_c1, x_c0, y_c1, y_c0) for both the x and y coordinates
in the input format description.

Copy link
Contributor
@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🧹 Nitpick comments (25)
src/evm/prompts/implement-consensus-test-suite.md (1)

22-25: Nit: Add missing comma for clarity in the analogy.

In the ELI5 section, adding a comma after “industry standards” improves readability:

- ...ensure their vehicles meet industry standards we need to run the official Ethereum test suite...
+ ...ensure their vehicles meet industry standards, we need to run the official Ethereum test suite...
🧰 Tools
🪛 LanguageTool

[uncategorized] ~24-~24: Possible missing comma found.
Context: ...nal quality inspection process at a car factory where every vehicle must pass thousands...

(AI_HYDRA_LEO_MISSING_COMMA)

src/evm/prompts/implement-comprehensive-tracing.md (1)

22-24: Refine grammar in the ELI5 section
Add a comma before “or” to clearly separate the two subordinate clauses.

- This is like installing a detailed flight recorder (black box) in an airplane that tracks every single action during flight. For the EVM, it records every instruction executed, what data was on the stack, what changed in memory, and how much gas was consumed at each step. When something goes wrong or you need to understand exactly what happened during execution, you can replay this detailed log to see the complete sequence of events, just like investigators use flight recorders to understand aircraft incidents.
+ This is like installing a detailed flight recorder (black box) in an airplane that tracks every single action during flight. For the EVM, it records every instruction executed, what data was on the stack, what changed in memory, and how much gas was consumed at each step. When something goes wrong, or you need to understand exactly what happened during execution, you can replay this detailed log to see the complete sequence of events, just like investigators use flight recorders to understand aircraft incidents.

Please confirm that the ELI5 formatting and heading level align with other tracing prompt documents for consistency.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~24-~24: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... at each step. When something goes wrong or you need to understand exactly what hap...

(COMMA_COMPOUND_SENTENCE)

src/evm/prompts/implement-async-database-support.md (1)

3-5: Add missing comma for clarity.

A comma after “support” will improve readability and match the intended pause:

- Implement comprehensive async database support enabling non-blocking database operations for state management.
+ Implement comprehensive async database support, enabling non-blocking database operations for state management.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~4-~4: Possible missing comma found.
Context: ... Implement comprehensive async database support enabling non-blocking database operatio...

(AI_HYDRA_LEO_MISSING_COMMA)

src/evm/prompts/implement-cli-tools.md (1)

24-24: Refine punctuation for readability
Replace the dash with a semicolon (or split into two sentences) to avoid a run-on. For example:

- CLI tools are like having a Swiss Army knife for EVM development - they give you different specialized tools you can use from the command line to work with smart contracts and blockchain code.
+ CLI tools are like having a Swiss Army knife for EVM development; they give you different specialized tools you can use from the command line to work with smart contracts and blockchain code.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~24-~24: Possible missing comma found.
Context: ...ife for EVM development - they give you different specialized tools you can use from the ...

(AI_HYDRA_LEO_MISSING_COMMA)

src/evm/prompts/implement-custom-chain-framework.md (1)

24-24: Reduce wordiness: replace “pick and choose”
Consider using a more concise alternative:

- where you can pick and choose different components
+ where you can select different components
🧰 Tools
🪛 LanguageTool

[style] ~24-~24: ‘pick and choose’ might be wordy. Consider a shorter alternative.
Context: ... modular construction kit where you can pick and choose different components (consensus rules, ...

(EN_WORDINESS_PREMIUM_PICK_AND_CHOOSE)

src/evm/prompts/implement-blake2f-precompile.md (1)

3-6: Refine grammar for clarity in the “What” section.

The current phrasing is missing articles and could be split for readability.

Apply this diff:

-## What
-
-Implement the BLAKE2F precompile (address 0x09) providing the BLAKE2b compression function for Ethereum Virtual Machine. This precompile accepts 213 bytes of input (rounds + hash state + message block + counters + final flag) and outputs 64 bytes of compressed hash state, with gas cost of 1 per round.
+## What
+
+Implement the BLAKE2F precompile (address 0x09), which provides the BLAKE2b compression function for the Ethereum Virtual Machine. This precompile accepts 213 bytes of input (rounds, hash state, message block, counters, and final flag) and outputs 64 bytes of compressed hash state, with a gas cost of 1 per round.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...ng the BLAKE2b compression function for Ethereum Virtual Machine. This precompile accept...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~5-~5: You might be missing the article “a” here.
Context: ...64 bytes of compressed hash state, with gas cost of 1 per round. ## Why The BLAKE2...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

src/evm/prompts/implement-cache-optimization.md (3)

3-6: Improve ELI5 formatting and readability

Standard GitHub markdown blockquotes or <details>/<summary> tags will render more consistently than custom <eli5> tags. Also, the sentence on line 5 is quite long—consider splitting it into two shorter sentences and insert a comma before “and” to avoid a run-on.


10-11: Cite source for performance gains

You reference a “15–30% improvement” in cache hit rates—consider linking to benchmark data or studies to substantiate this claim and aid readers in diving deeper.


13-20: Ensure consistent list formatting

The numbered steps under “How” mix fragments and full sentences without consistent punctuation. For clarity, either end each item with a period or convert them into concise bullet points.

src/evm/prompts/fix-wasm-build-integration.md (2)

3-5: Add missing preposition for clarity
The sentence “Fix the broken WASM build system and integrate the high-performance Zig EVM into Tevm’s TypeScript codebase” is missing “to” after “integrate”.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: Possible missing preposition found.
Context: ...tegration into Tevm TypeScript ## What Fix the broken WASM build system and integr...

(AI_HYDRA_LEO_MISSING_TO)


37-39: Standardize “super-fast” spelling
Consider using “superfast” (one word) for consistency, as it’s typically spelled as a single word.

🧰 Tools
🪛 LanguageTool

[misspelling] ~39-~39: This word is normally spelled as one.
Context: ... like the mounting system that lets our super-fast compiled code work seamlessly with Java...

(EN_COMPOUNDS_SUPER_FAST)

src/evm/prompts/implement-call-gas-management.md (1)

35-38: Specify fenced code block language
The mathematical formula is in a fenced block without a language. Add a language identifier (e.g., ```text) for proper syntax highlighting.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

35-35: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-bls12-381-g1add-precompile.md (1)

8-8: Add missing article
Change “with fixed gas cost of 375” to “with a fixed gas cost of 375” for grammatical accuracy.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~8-~8: You might be missing the article “a” here.
Context: ... bytes output (resulting G1 point) with fixed gas cost of 375. ## Why BLS12-381 G1 p...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

src/evm/prompts/implement-bls12-381-g2msm-precompile.md (2)

24-24: Add missing comma for clarity
Insert a comma before “instead of doing each multiplication...” to read “…all at once, instead of doing each multiplication and addition separately.”

🧰 Tools
🪛 LanguageTool

[uncategorized] ~24-~24: Possible missing comma found.
Context: ...nt1 + 7×Point2 + 2×Point3 + ..." all at once ins 8000 tead of doing each multiplication an...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~24-~24: The verb ‘precompile’ does not usually follow articles like ‘The’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...cess many G2 operations simultaneously. The precompile makes this batch operation much more ef...

(A_INFINITIVE)


36-42: Specify fenced block language for input format
The input format block is fenced without a language. Add ```text (or another appropriate identifier) to enable syntax highlighting.

src/evm/prompts/implement-bls12-381-pairing-precompile.md (1)

24-24: Use 'this precompile' instead of 'the precompile'
Replace “the precompile makes it affordable to run on Ethereum” with “this precompile makes it affordable to run on Ethereum” for clearer, more idiomatic phrasing.

🧰 Tools
🪛 LanguageTool

[grammar] ~24-~24: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...ng something called bilinear maps), but the precompile makes it affordable to run on Ethereum,...

(A_INFINITIVE)

src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md (1)

24-24: Add comma before ‘and’ in ELI5 sentence
Insert a comma after “number” to separate the two independent clauses:
“Imagine you have a random number, and you want to convert it into a valid point on the BLS12-381 curve…”

🧰 Tools
🪛 LanguageTool

[uncategorized] ~24-~24: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...# ELI5 Imagine you have a random number and you want to convert it into a valid poi...

(COMMA_COMPOUND_SENTENCE)

src/evm/prompts/implement-bls12-381-g2add-precompile.md (2)

24-24: Use 'this precompile' for clarity
Change “The precompile makes this operation fast and cheap” to “This precompile makes this operation fast and cheap” to improve readability.

🧰 Tools
🪛 LanguageTool

[grammar] ~24-~24: The verb ‘precompile’ does not usually follow articles like ‘The’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...u need to do math with these G2 points. The precompile makes this operation fast and cheap, wh...

(A_INFINITIVE)


36-36: Specify language for fenced code block
The code example under Input Format should include a language identifier (e.g., ```text) to satisfy markdown lint rules.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

36-36: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md (2)

36-36: Specify language for Input Format code block
Add a language tag (e.g., ```text) to the fenced code block starting at line 36 for consistency with markdown lint rules.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

36-36: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


48-48: Specify language for Output Format code block
Include a language identifier (e.g., ```text) on the fenced code block at line 48 to adhere to markdown lint guidelines.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

48-48: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-ecmul-precompile-enhanced.md (4)

175-180: Ensure exhaustive hardfork handling in calculate_gas
The switch covers Istanbul through Cancun but treats all other forks as Byzantine. Consider explicitly listing recent/future forks or adding a default case comment to avoid unintentional gas cost fallback.


256-269: Refine constant-time implementation to eliminate branches
The scalar_multiply_constant_time example uses an if inside the loop, which may leak timing. Consider using branchless operations (e.g., @select or bit-masking) to enforce constant-time behavior.


290-295: Use relative paths for integration file references
Paths like /src/evm/precompiles/precompiles.zig start with a leading slash. It’s clearer to use repository-relative paths (src/evm/precompiles/precompiles.zig) without the initial /.


462-470: Remove duplicate “Prompt Corrections” heading
The file contains multiple “## Prompt Corrections” sections; consolidate them into one to improve readability.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e25fe56 and 8445cda.

📒 Files selected for processing (32)
  • src/evm/README.md (5 hunks)
  • src/evm/checklist.md (4 hunks)
  • src/evm/prompts/fix-wasm-build-integration.md (2 hunks)
  • src/evm/prompts/implement-account-status-tracking.md (2 hunks)
  • src/evm/prompts/implement-async-database-support.md (2 hunks)
  • src/evm/prompts/implement-blake2f-precompile.md (2 hunks)
  • src/evm/prompts/implement-bls12-381-g1add-precompile.md (2 hunks)
  • src/evm/prompts/implement-bls12-381-g1msm-precompile.md (1 hunks)
  • src/evm/prompts/implement-bls12-381-g2add-precompile.md (1 hunks)
  • src/evm/prompts/implement-bls12-381-g2msm-precompile.md (1 hunks)
  • src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md (1 hunks)
  • src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md (1 hunks)
  • src/evm/prompts/implement-bls12-381-pairing-precompile.md (1 hunks)
  • src/evm/prompts/implement-branch-prediction-optimization.md (2 hunks)
  • src/evm/prompts/implement-bundle-state-management.md (1 hunks)
  • src/evm/prompts/implement-cache-optimization.md (2 hunks)
  • src/evm/prompts/implement-call-frame-pooling.md (2 hunks)
  • src/evm/prompts/implement-call-gas-management.md (1 hunks)
  • src/evm/prompts/implement-call-gas-stipend.md (1 hunks)
  • src/evm/prompts/implement-cicd-wasm-size-check.md (1 hunks)
  • src/evm/prompts/implement-cli-tools.md (1 hunks)
  • src/evm/prompts/implement-comprehensive-tracing.md (1 hunks)
  • src/evm/prompts/implement-consensus-test-suite.md (1 hunks)
  • src/evm/prompts/implement-custom-chain-framework.md (1 hunks)
  • src/evm/prompts/implement-dynamic-gas-edge-cases.md (1 hunks)
  • src/evm/prompts/implement-ecadd-precompile.md (1 hunks)
  • src/evm/prompts/implement-ecmul-precompile-enhanced.md (1 hunks)
  • src/evm/prompts/implement-ecmul-precompile.md (1 hunks)
  • src/evm/prompts/implement-ecpairing-precompile.md (1 hunks)
  • src/evm/prompts/implement-ecrecover-precompile.md (2 hunks)
  • src/evm/prompts/implement-eip3155-tracing.md (1 hunks)
  • src/evm/prompts/implement-eof-support.md (1 hunks)
✅ Files skipped from review due to trivial changes (12)
  • src/evm/prompts/implement-call-gas-stipend.md
  • src/evm/prompts/implement-cicd-wasm-size-check.md
  • src/evm/prompts/implement-bundle-state-management.md
  • src/evm/prompts/implement-eof-support.md
  • src/evm/prompts/implement-ecadd-precompile.md
  • src/evm/prompts/implement-account-status-tracking.md
  • src/evm/prompts/implement-branch-prediction-optimization.md
  • src/evm/prompts/implement-dynamic-gas-edge-cases.md
  • src/evm/prompts/implement-ecpairing-precompile.md
  • src/evm/prompts/implement-call-frame-pooling.md
  • src/evm/prompts/implement-eip3155-tracing.md
  • src/evm/README.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/evm/prompts/implement-bls12-381-g1msm-precompile.md
🧰 Additional context used
🪛 LanguageTool
src/evm/prompts/implement-ecmul-precompile-enhanced.md

[duplication] ~32-~32: Possible typo: you repeated a word.
Context: ...te coordinates: x, y) ### Mathematical Operation - Operation: P × s = Q (where P is input point, s...

(ENGLISH_WORD_REPEAT_RULE)


[typographical] ~305-~305: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...ion - Optimize for common scalar sizes (160-256 bits) - Balance between code size and e...

(HYPHEN_TO_EN)


[uncategorized] ~437-~437: Loose punctuation mark.
Context: ...t noexcept { return *this == Point{}; } }; /// ... (Other point types and functi...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~447-~447: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...cept { ProjPoint r; const auto bit_width = sizeof(IntT) * 8 - intx::clz(c)...

(AUTO_HYPHEN)


[style] ~594-~594: Consider using “incapable” to avoid wordiness.
Context: ...dled specifically because AffineG1 is not capable of /// representing such a point. /// I...

(NOT_ABLE_PREMIUM)


[grammar] ~603-~603: The verb ‘assert’ does not usually follow articles like ‘an’. Check that ‘assert’ is spelled correctly; using ‘assert’ as a noun may be non-standard.
Context: ...e G1Affine::new because that triggers an assert if the point is not on the curve. ...

(A_INFINITIVE)


[typographical] ~622-~622: Two consecutive dots
Context: ...leError> { let px = read_fq(&input[0..FQ_LEN])?; let py = read_fq(&input[F...

(DOUBLE_PUNCTUATION)


[typographical] ~623-~623: Two consecutive dots
Context: ...N])?; let py = read_fq(&input[FQ_LEN..2 * FQ_LEN])?; new_g1_point(px, py) ...

(DOUBLE_PUNCTUATION)


[grammar] ~808-~808: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...ormed input (e.g., point not on curve), the precompile should fail, which consumes all provide...

(A_INFINITIVE)


[typographical] ~958-~958: Two consecutive dots
Context: ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~988-~988: Two consecutive dots
Context: ...om ...vm.memory import buffer_read from ..exceptions import InvalidParameter, OutO...

(DOUBLE_PUNCTUATION)


[typographical] ~1107-~1107: Two consecutive dots
Context: ...dresses ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[uncategorized] ~1130-~1130: Did you just mean “,” or “)”?
Context: ...NG_CHECK_ADDRESS", "BLAKE2F_ADDRESS", ) ECRECOVER_ADDRESS = hex_to_address("0x...

(COMMA_PERIOD)


[grammar] ~1639-~1639: The conjunction “if” requires the past participle “contracted”. Or did you mean “you contract”?
Context: ....RequiredGas(input, evm.chainRules) if contract.UseGas(gas) { return runBn256ScalarMu...

(IF_VB_PCT)


[grammar] ~1834-~1834: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...d (i.e., not on the alt_bn128 curve), the precompile should return the point at infinity `(0...

(A_INFINITIVE)


[grammar] ~1835-~1835: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...e call to fail and consumes the gas for the precompile. The Zig implementation should return a...

(A_INFINITIVE)


[uncategorized] ~1939-~1939: Do not mix variants of the same word (‘serialise’ and ‘serialize’) within a single text.
Context: ...Point } // Unmarshal converts a point, serialised by Marshal, into a G1 item. // If the p...

(EN_WORD_COHERENCY)


[grammar] ~2199-~2199: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ....go, this error is propagated, causing the precompile to return nil, err`, which results in ...

(A_INFINITIVE)

src/evm/prompts/fix-wasm-build-integration.md

[uncategorized] ~3-~3: Possible missing preposition found.
Context: ...tegration into Tevm TypeScript ## What Fix the broken WASM build system and integr...

(AI_HYDRA_LEO_MISSING_TO)


[misspelling] ~39-~39: This word is normally spelled as one.
Context: ... like the mounting system that lets our super-fast compiled code work seamlessly with Java...

(EN_COMPOUNDS_SUPER_FAST)

src/evm/prompts/implement-async-database-support.md

[uncategorized] ~4-~4: Possible missing comma found.
Context: ... Implement comprehensive async database support enabling non-blocking database operatio...

(AI_HYDRA_LEO_MISSING_COMMA)

src/evm/prompts/implement-blake2f-precompile.md

[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...ng the BLAKE2b compression function for Ethereum Virtual Machine. This precompile accept...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~5-~5: You might be missing the article “a” here.
Context: ...64 bytes of compressed hash state, with gas cost of 1 per round. ## Why The BLAKE2...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

src/evm/prompts/implement-bls12-381-g1add-precompile.md

[uncategorized] ~8-~8: You might be missing the article “a” here.
Context: ... bytes output (resulting G1 point) with fixed gas cost of 375. ## Why BLS12-381 G1 p...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

src/evm/prompts/implement-bls12-381-g2add-precompile.md

[grammar] ~24-~24: The verb ‘precompile’ does not usually follow articles like ‘The’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...u need to do math with these G2 points. The precompile makes this operation fast and cheap, wh...

(A_INFINITIVE)


[grammar] ~74-~74: After the number ‘800’, use a plural noun. Did you mean “gases”, “gasses”?
Context: ... Gas Accuracy: Consumes exactly 800 gas per operation 5. Edge Cases: Handle...

(CD_NNU)

src/evm/prompts/implement-bls12-381-g2msm-precompile.md

[uncategorized] ~24-~24: Possible missing comma found.
Context: ...nt1 + 7×Point2 + 2×Point3 + ..." all at once instead of doing each multiplication an...

(AI_HYDRA_LEO_MISSING_COMMA)


[grammar] ~24-~24: The verb ‘precompile’ does not usually follow articles like ‘The’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...cess many G2 operations simultaneously. The precompile makes this batch operation much more ef...

(A_INFINITIVE)

src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md

[uncategorized] ~24-~24: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...# ELI5 Imagine you have a random number and you want to convert it into a valid poi...

(COMMA_COMPOUND_SENTENCE)

src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md

[grammar] ~80-~80: After the number ‘110000’, use a plural noun. Did you mean “gases”, “gasses”?
Context: ...Gas Accuracy**: Consumes exactly 110000 gas per operation 6. Integration: Works...

(CD_NNU)

src/evm/prompts/implement-bls12-381-pairing-precompile.md

[grammar] ~24-~24: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...ng something called bilinear maps), but the precompile makes it affordable to run on Ethereum,...

(A_INFINITIVE)

src/evm/prompts/implement-cache-optimization.md

[uncategorized] ~42-~42: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...arm's reach. When data is organized well and we can predict what you'll need next, w...

(COMMA_COMPOUND_SENTENCE)

src/evm/prompts/implement-call-gas-management.md

[duplication] ~28-~28: Possible typo: you repeated a word.
Context: ...# EVM Specification ### Gas Forwarding Rule - Rule: When making a call, forward at most ...

(ENGLISH_WORD_REPEAT_RULE)

src/evm/prompts/implement-cli-tools.md

[uncategorized] ~24-~24: Possible missing comma found.
Context: ...ife for EVM development - they give you different specialized tools you can use from the ...

(AI_HYDRA_LEO_MISSING_COMMA)

src/evm/prompts/implement-comprehensive-tracing.md

[uncategorized] ~24-~24: Use a comma before ‘or’ if it connects two independent clauses (unless they are closely connected and short).
Context: ... at each step. When something goes wrong or you need to understand exactly what hap...

(COMMA_COMPOUND_SENTENCE)

src/evm/prompts/implement-consensus-test-suite.md

[uncategorized] ~24-~24: Possible missing comma found.
Context: ...nal quality inspection process at a car factory where every vehicle must pass thousands...

(AI_HYDRA_LEO_MISSING_COMMA)

src/evm/prompts/implement-custom-chain-framework.md

[style] ~24-~24: ‘pick and choose’ might be wordy. Consider a shorter alternative.
Context: ... modular construction kit where you can pick and choose different components (consensus rules, ...

(EN_WORDINESS_PREMIUM_PICK_AND_CHOOSE)

src/evm/prompts/implement-ecmul-precompile.md

[misspelling] ~24-~24: Did you maybe mean “buy”?
Context: ...al curve, and you want to "multiply" it by a large number. This isn't regular mult...

(BY_BUY)

src/evm/prompts/implement-ecrecover-precompile.md

[uncategorized] ~8-~8: Possible missing comma found.
Context: ...Why ECRECOVER is essential for Ethereum compatibility as it enables signature verification fo...

(AI_HYDRA_LEO_MISSING_COMMA)

🪛 markdownlint-cli2 (0.17.2)
src/evm/prompts/implement-ecmul-precompile-enhanced.md

354-354: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


359-359: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


377-377: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


432-432: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


457-457: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


598-598: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


620-620: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


635-635: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


642-642: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


669-669: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


681-681: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


686-686: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


688-688: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


749-749: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


765-765: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


776-776: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


825-825: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


868-868: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


892-892: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


963-963: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


995-995: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1040-1040: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1065-1065: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1112-1112: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


1121-1121: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


1121-1121: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


1141-1141: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1231-1231: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1232-1232: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1233-1233: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1234-1234: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1235-1235: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1239-1239: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1240-1240: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1242-1242: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1242-1242: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1243-1243: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1244-1244: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1245-1245: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1246-1246: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1247-1247: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1248-1248: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1250-1250: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1251-1251: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1252-1252: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1253-1253: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1254-1254: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1255-1255: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1257-1257: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1262-1262: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1263-1263: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1264-1264: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1265-1265: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1266-1266: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1267-1267: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1269-1269: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1274-1274: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1276-1276: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1277-1277: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1279-1279: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1280-1280: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1282-1282: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1290-1290: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1291-1291: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1292-1292: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1293-1293: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1294-1294: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1295-1295: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1296-1296: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1297-1297: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1298-1298: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1299-1299: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1300-1300: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1301-1301: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1302-1302: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1303-1303: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1304-1304: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1305-1305: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1306-1306: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1315-1315: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1319-1319: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1319-1319: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1320-1320: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1321-1321: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1322-1322: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1323-1323: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1324-1324: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1329-1329: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1330-1330: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1332-1332: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1332-1332: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1333-1333: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1334-1334: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1336-1336: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1337-1337: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1338-1338: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1339-1339: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1340-1340: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1341-1341: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1343-1343: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1344-1344: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1345-1345: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1346-1346: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1348-1348: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1354-1354: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1355-1355: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1356-1356: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1357-1357: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1358-1358: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1359-1359: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1360-1360: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1361-1361: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1362-1362: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1363-1363: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1364-1364: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1365-1365: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1366-1366: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1367-1367: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1368-1368: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1369-1369: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1370-1370: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1371-1371: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1372-1372: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1373-1373: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1374-1374: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1376-1376: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1376-1376: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1377-1377: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1378-1378: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1379-1379: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1380-1380: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1381-1381: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1382-1382: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1383-1383: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1384-1384: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1386-1386: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1387-1387: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1388-1388: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1389-1389: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1390-1390: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1392-1392: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1411-1411: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1412-1412: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1413-1413: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1414-1414: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1415-1415: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1419-1419: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1420-1420: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1421-1421: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1423-1423: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1424-1424: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1425-1425: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1427-1427: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1428-1428: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1429-1429: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1430-1430: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1431-1431: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1432-1432: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1434-1434: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1435-1435: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1436-1436: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1437-1437: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1445-1445: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1449-1449: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1449-1449: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1450-1450: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1451-1451: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1452-1452: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1453-1453: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1454-1454: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1459-1459: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1459-1459: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1459-1459: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1460-1460: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1461-1461: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1462-1462: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1463-1463: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1464-1464: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1465-1465: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1466-1466: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1467-1467: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1468-1468: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1469-1469: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1470-1470: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1471-1471: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1473-1473: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1473-1473: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1474-1474: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1475-1475: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1476-1476: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1477-1477: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1478-1478: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1479-1479: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1480-1480: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1481-1481: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1483-1483: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1484-1484: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1489-1489: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1490-1490: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1491-1491: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1492-1492: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1493-1493: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1494-1494: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1495-1495: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1496-1496: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1497-1497: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1497-1497: Bare URL used
null

(MD034, no-bare-urls)


1498-1498: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1499-1499: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1500-1500: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1501-1501: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1502-1502: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1503-1503: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1504-1504: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1505-1505: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1506-1506: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1507-1507: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1508-1508: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1509-1509: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1510-1510: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1511-1511: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1513-1513: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1513-1513: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1514-1514: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1515-1515: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1516-1516: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1517-1517: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1518-1518: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1519-1519: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1520-1520: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1521-1521: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1522-1522: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1523-1523: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1524-1524: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1526-1526: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1527-1527: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1528-1528: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1529-1529: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1530-1530: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1531-1531: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1532-1532: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1533-1533: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1534-1534: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1535-1535: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1536-1536: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1537-1537: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1538-1538: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1539-1539: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1540-1540: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1541-1541: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1542-1542: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1543-1543: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1544-1544: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1545-1545: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1547-1547: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1549-1549: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1554-1554: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1556-1556: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1557-1557: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1558-1558: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1559-1559: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1560-1560: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1561-1561: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1562-1562: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1563-1563: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1564-1564: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1565-1565: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1566-1566: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1567-1567: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1568-1568: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1569-1569: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1570-1570: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1571-1571: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1572-1572: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1573-1573: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1583-1583: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


1584-1584: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


1615-1615: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1616-1616: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1617-1617: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1618-1618: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1619-1619: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1620-1620: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1621-1621: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1622-1622: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1630-1630: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1631-1631: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1632-1632: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1633-1633: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1634-1634: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1637-1637: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1638-1638: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1639-1639: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1640-1640: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1641-1641: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1642-1642: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1646-1646: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1647-1647: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1648-1648: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1649-1649: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1650-1650: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1651-1651: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1653-1653: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1653-1653: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1654-1654: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1655-1655: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1656-1656: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1657-1657: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1659-1659: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1660-1660: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1661-1661: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1662-1662: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1663-1663: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1664-1664: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1665-1665: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1670-1670: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1671-1671: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1672-1672: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1673-1673: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1674-1674: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1675-1675: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1676-1676: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1677-1677: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1678-1678: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1679-1679: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1680-1680: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1681-1681: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1682-1682: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1684-1684: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1690-1690: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1695-1695: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1700-1700: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1701-1701: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1702-1702: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1703-1703: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1704-1704: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1709-1709: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1710-1710: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1711-1711: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1712-1712: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1713-1713: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1721-1721: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1722-1722: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1723-1723: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1724-1724: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1725-1725: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1726-1726: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1727-1727: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1729-1729: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1729-1729: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1730-1730: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1731-1731: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1732-1732: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1734-1734: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1736-1736: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1737-1737: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1738-1738: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1739-1739: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1740-1740: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1741-1741: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1742-1742: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1743-1743: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1744-1744: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1745-1745: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1746-1746: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1747-1747: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1748-1748: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1749-1749: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1750-1750: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1751-1751: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1752-1752: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1753-1753: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1754-1754: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1755-1755: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1757-1757: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1758-1758: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1759-1759: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1760-1760: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1761-1761: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1762-1762: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1764-1764: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1765-1765: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1766-1766: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1768-1768: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1770-1770: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1778-1778: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1779-1779: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1780-1780: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1781-1781: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1782-1782: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1783-1783: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1784-1784: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1785-1785: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1787-1787: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1788-1788: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1789-1789: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1790-1790: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1792-1792: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1793-1793: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1794-1794: Hard tabs
Column: 1

(MD010, no-hard-tabs)


17 6D40 95-1795: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1796-1796: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1798-1798: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1803-1803: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1804-1804: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1805-1805: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1807-1807: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1808-1808: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1809-1809: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1810-1810: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1821-1821: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1831-1831: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


1848-1848: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1849-1849: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1850-1850: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1851-1851: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1852-1852: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1853-1853: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1854-1854: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1855-1855: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1861-1861: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1862-1862: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1863-1863: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1872-1872: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1876-1876: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1885-1885: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1889-1889: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1895-1895: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1896-1896: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1897-1897: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1898-1898: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1899-1899: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1900-1900: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1901-1901: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1907-1907: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1908-1908: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1909-1909: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1910-1910: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1911-1911: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1913-1913: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1920-1920: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1921-1921: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1922-1922: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1923-1923: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1924-1924: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1925-1925: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1926-1926: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1927-1927: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1928-1928: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1936-1936: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1942-1942: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1943-1943: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1944-1944: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1945-1945: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1946-1946: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1947-1947: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1948-1948: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1949-1949: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1950-1950: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1951-1951: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1953-1953: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1953-1953: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1954-1954: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1955-1955: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1956-1956: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1957-1957: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1958-1958: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1959-1959: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1960-1960: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1961-1961: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1962-1962: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1966-1966: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1966-1966: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1967-1967: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1968-1968: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1969-1969: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1970-1970: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1971-1971: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1975-1975: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1975-1975: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1976-1976: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1980-1980: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1980-1980: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1981-1981: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1982-1982: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1983-1983: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1984-1984: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1985-1985: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1986-1986: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1987-1987: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1988-1988: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1990-1990: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1990-1990: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1992-1992: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1998-1998: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1999-1999: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2000-2000: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2001-2001: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2002-2002: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2003-2003: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2004-2004: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2005-2005: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2006-2006: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2007-2007: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2008-2008: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2009-2009: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2010-2010: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2011-2011: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2012-2012: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2013-2013: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2014-2014: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2020-2020: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


2040-2040: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2041-2041: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2042-2042: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2043-2043: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2044-2044: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2045-2045: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2046-2046: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2047-2047: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2055-2055: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2058-2058: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2059-2059: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2060-2060: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2061-2061: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2062-2062: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2063-2063: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2064-2064: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2065-2065: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2066-2066: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2067-2067: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2068-2068: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2069-2069: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2070-2070: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2071-2071: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2073-2073: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2073-2073: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2074-2074: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2075-2075: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2076-2076: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2077-2077: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2078-2078: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2079-2079: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2081-2081: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2082-2082: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2084-2084: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2089-2089: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2090-2090: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2091-2091: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2099-2099: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2108-2108: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2108-2108: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2109-2109: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2110-2110: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2111-2111: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2112-2112: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2113-2113: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2121-2121: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2122-2122: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2123-2123: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2124-2124: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2125-2125: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2126-2126: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2127-2127: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2132-2132: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2133-2133: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2134-2134: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2136-2136: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2142-2142: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2143-2143: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2144-2144: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2145-2145: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2147-2147: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2148-2148: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2149-2149: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2150-2150: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2151-2151: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2152-2152: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2154-2154: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2159-2159: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2160-2160: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2161-2161: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2163-2163: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2164-2164: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2166-2166: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2167-2167: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2168-2168: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2169-2169: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2170-2170: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2171-2171: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2172-2172: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2173-2173: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2174-2174: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2175-2175: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2176-2176: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2177-2177: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2178-2178: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2179-2179: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2180-2180: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2181-2181: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2186-2186: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2193-2193: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


2210-2210: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2211-2211: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2212-2212: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2213-2213: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2214-2214: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2215-2215: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2216-2216: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2217-2217: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2228-2228: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2229-2229: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2230-2230: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2231-2231: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2235-2235: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2236-2236: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2237-2237: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2239-2239: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2239-2239: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2240-2240: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2241-2241: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2242-2242: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2243-2243: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2244-2244: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2245-2245: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2246-2246: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2248-2248: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2253-2253: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2254-2254: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2256-2256: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2257-2257: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2258-2258: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2259-2259: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2260-2260: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2261-2261: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2262-2262: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2264-2264: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2265-2265: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2266-2266: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2267-2267: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2268-2268: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2269-2269: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2270-2270: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2271-2271: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2272-2272: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2280-2280: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2281-2281: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2282-2282: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2283-2283: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2284-2284: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2285-2285: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2293-2293: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2298-2298: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2299-2299: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2300-2300: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2301-2301: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2302-2302: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2303-2303: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2304-2304: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2305-2305: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2306-2306: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2307-2307: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2308-2308: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2309-2309: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2310-2310: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2310-2310: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2317-2317: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2318-2318: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2319-2319: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2321-2321: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2321-2321: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2322-2322: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2323-2323: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2324-2324: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2325-2325: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2326-2326: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2327-2327: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2328-2328: Hard tabs
Column: 1< 9E88 /p>

(MD010, no-hard-tabs)


2329-2329: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2330-2330: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2332-2332: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2333-2333: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2334-2334: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2335-2335: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2336-2336: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2337-2337: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2338-2338: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2339-2339: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2344-2344: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2345-2345: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2347-2347: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2347-2347: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2348-2348: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2349-2349: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2351-2351: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2352-2352: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2354-2354: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2355-2355: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2356-2356: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2357-2357: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2358-2358: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2362-2362: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2362-2362: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2363-2363: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2364-2364: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2365-2365: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2369-2369: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2369-2369: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2370-2370: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2371-2371: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2372-2372: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2373-2373: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2374-2374: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2375-2375: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2376-2376: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2377-2377: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2378-2378: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2379-2379: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2380-2380: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2382-2382: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2405-2405: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


2455-2455: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2456-2456: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2457-2457: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2458-2458: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2459-2459: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2462-2462: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2463-2463: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2465-2465: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2465-2465: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2466-2466: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2467-2467: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2468-2468: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2469-2469: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2470-2470: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2471-2471: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2473-2473: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2474-2474: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2475-2475: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2477-2477: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2484-2484: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2485-2485: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2486-2486: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2487-2487: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2488-2488: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2489-2489: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2490-2490: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2491-2491: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2497-2497: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2498-2498: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2499-2499: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2500-2500: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2501-2501: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2502-2502: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2503-2503: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2504-2504: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2505-2505: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2510-2510: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2518-2518: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2519-2519: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2520-2520: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2521-2521: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2529-2529: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2537-2537: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2538-2538: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2539-2539: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2540-2540: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2541-2541: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2542-2542: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2543-2543: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2545-2545: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2545-2545: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2546-2546: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2547-2547: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2548-2548: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2549-2549: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2551-2551: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2552-2552: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2553-2553: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2554-2554: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2555-2555: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2556-2556: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2558-2558: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2559-2559: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2560-2560: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2561-2561: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2566-2566: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2567-2567: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2568-2568: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2569-2569: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2570-2570: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2571-2571: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2572-2572: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2573-2573: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2574-2574: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2575-2575: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2579-2579: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2579-2579: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2580-2580: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2581-2581: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2582-2582: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2583-2583: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2584-2584: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2590-2590: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2590-2590: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2591-2591: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2592-2592: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2593-2593: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2594-2594: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2596-2596: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-bls12-381-g2add-precompile.md

36-36: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md

36-36: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


48-48: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-call-gas-management.md

35-35: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: CI Checks
  • GitHub Check: Nx Cloud - Main Job
  • GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (8)
src/evm/prompts/implement-ecrecover-precompile.md (2)

3-6: Great clarification in the “What” section
The added description succinctly outlines the purpose and mechanics of the ECRECOVER precompile. It sets clear expectations for implementers.


37-40: Effective ELI5 analogy
The everyday-language explanation makes ECRECOVER’s function immediately approachable—excellent for onboarding new contributors.

src/evm/prompts/implement-async-database-support.md (1)

37-40: Excellent ELI5 analogy.

This section provides a clear and relatable explanation of async database support. Well done!

src/evm/prompts/implement-ecmul-precompile.md (1)

22-25: Add ELI5 explanation for ECMUL precompile
The new “ELI5” section succinctly demystifies elliptic curve multiplication for readers unfamiliar with the math. It strikes the right balance between simplicity and accuracy, complementing the detailed specification.

🧰 Tools
🪛 LanguageTool

[misspelling] ~24-~24: Did you maybe mean “buy”?
Context: ...al curve, and you want to "multiply" it by a large number. This isn't regular mult...

(BY_BUY)

src/evm/prompts/implement-cli-tools.md (1)

22-25: Add ELI5 section for clarity
Great addition that aligns this prompt with the existing “What,” “Why,” “How,” and “ELI5” pattern, offering a concise, analogy-based explanation for newcomers.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~24-~24: Possible missing comma found.
Context: ...ife for EVM development - they give you different specialized tools you can use from the ...

(AI_HYDRA_LEO_MISSING_COMMA)

src/evm/prompts/implement-custom-chain-framework.md (1)

22-27: Verify that the <eli5> tag renders correctly
The custom <eli5> block may not be supported by our Markdown pipeline. Confirm it appears as intended or switch to a standard admonition/heading (e.g., ### ELI5).

🧰 Tools
🪛 LanguageTool

[style] ~24-~24: ‘pick and choose’ might be wordy. Consider a shorter alternative.
Context: ... modular construction kit where you can pick and choose different components (consensus rules, ...

(EN_WORDINESS_PREMIUM_PICK_AND_CHOOSE)

src/evm/prompts/implement-blake2f-precompile.md (1)

37-40: Great ELI5 analogy.

The “ELI5” section clearly conveys the concept in simple terms and integrates nicely into the prompt.

src/evm/prompts/implement-cache-optimization.md (1)

8-8: Approve summary description

This line provides a clear, concise overview of the cache optimization goals and approach.

Comment on lines +40 to +43
## ELI5

Think of your computer's cache like your desk workspace. Items on your desk (cache) can be grabbed instantly, but items in filing cabinets across the room (main memory) take time to fetch. Cache optimization is like organizing your desk so the things you need most often are within arm's reach. When data is organized well and we can predict what you'll need next, we can pre-fetch it to your desk, making everything much faster.

Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Remove duplicated ELI5 block

The “ELI5” analogy here repeats content already covered in the What section. Consider removing or consolidating this block to avoid redundancy.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~42-~42: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...arm's reach. When data is organized well and we can predict what you'll need next, w...

(COMMA_COMPOUND_SENTENCE)

🤖 Prompt for AI Agents
In src/evm/prompts/implement-cache-optimization.md around lines 40 to 43, the
ELI5 block repeats the same analogy already explained in the What section.
Remove this duplicated ELI5 block to avoid redundancy and keep the content
concise.

Comment on lines +4 to +6
F438
<eli5>
Imagine you have special mathematical points on a curved surface, and you want to "add" two points together to get a third point. This isn't regular addition - it's a special kind of math used in advanced cryptography. BLS12-381 is a specific type of elliptic curve that's really good for creating digital signatures that multiple parties can combine together. The G1 point addition precompile is like having a built-in calculator in Ethereum that can do this special curve math super efficiently. This is essential for things like proof systems and advanced signature schemes that help make blockchain more scalable and private.
</eli5>
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Remove duplicate ELI5 section
The ELI5 explanation appears twice (lines 4–6 and 40–42). Consolidate to a single instance to avoid repetition.

🤖 Prompt for AI Agents
In src/evm/prompts/implement-bls12-381-g1add-precompile.md between lines 4 and
6, there is a duplicate ELI5 explanation also found around lines 40 to 42.
Remove one of these duplicate ELI5 sections to keep only a single instance and
avoid repetition in the document.

Comment on lines +346 to +347
2. **WASM Build Integration** (currently broken) - [Implementation Guide](./prompts/implement-wasm-build-fix.md)
3. **Journaling/State Reverting** (critical for proper execution) - [Implementation Guide](./prompts/implement-journaling-state-reverting.md)
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix broken link path
The link [Implementation Guide](./prompts/implement-wasm-build-fix.md) targets a non-existent file. It should point to fix-wasm-build-integration.md.

🤖 Prompt for AI Agents
In src/evm/checklist.md around lines 346 to 347, the link for the WASM Build
Integration implementation guide points to a non-existent file named
implement-wasm-build-fix.md. Update the link path to
fix-wasm-build-integration.md to correctly reference the existing file.

const PrecompileResult = @import("precompile_result.zig").PrecompileResult;
const PrecompileError = @import("precompile_result.zig").PrecompileError;
const Hardfork = @import("../hardforks/hardfork.zig").Hardfork;
const U256 = @import("../Types/U256.ts").U256;
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Incorrect import path for U256 in Zig snippet
The @import("../Types/U256.ts") reference uses a .ts extension and path that likely does not exist in the Zig codebase. It should import the correct Zig file (e.g., ../Types/U256.zig) or adjust the path accordingly.

🤖 Prompt for AI Agents
In src/evm/prompts/implement-ecmul-precompile-enhanced.md at line 173, the
import statement for U256 incorrectly uses a TypeScript file extension '.ts'
which does not exist in the Zig codebase. Update the import path to reference
the correct Zig source file, such as '../Types/U256.zig', ensuring the path and
extension match the actual Zig file location.

Comment on lines 193 to 197
const point = bn254.G1Point.from_bytes(padded_input[0..64]) catch {
// Invalid point returns zero (point at infinity)
@memset(output[0..64], 0);
return PrecompileResult{ .gas_used = gas_cost, .output_size = 64 };
};
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Update invalid-point logic to match EIP-196
The primary example returns a zeroed output on invalid points, which contradicts the spec’s requirement to fail the call. Incorporate the corrected logic from the “Prompt Corrections” section directly into the example.

🤖 Prompt for AI Agents
In src/evm/prompts/implement-ecmul-precompile-enhanced.md around lines 193 to
197, the current code returns a zeroed output when an invalid point is detected,
which conflicts with EIP-196 that requires the call to fail on invalid points.
Update the logic to detect invalid points and instead of zeroing the output,
make the call fail as specified by the EIP. Replace the existing catch block
with the corrected failure handling logic from the “Prompt Corrections” section
to ensure compliance with the spec.

roninjin10 and others added 3 commits June 11, 2025 11:21
<summary>
<what>
- Updated all 101 EVM prompt files to use new XML-structured commit message format
- Added issue-style summaries with <what>, <why>, <how> sections to key prompt files
- Standardized commit instructions with detailed guidance for condensed prompts
- Moved ELI5 explanations to top of What sections where applicable
</what>

<why>
- Provides consistent, structured approach to commit messages across all EVM development tasks
- Enables better documentation of changes with clear what/why/how breakdown
- Preserves essential context in condensed prompts for task repeatability
- Improves collaboration and code review process with standardized format
</why>

<how>
- Implemented new XML commit message structure with <summary> and <prompt> sections
- Used automated script to update commit instructions in all 101 prompt files
- Added guidance for condensing original prompts while keeping essential technical details
- Integrated Claude Code attribution and conventional commit emoji format
</how>
</summary>

<prompt>
Update all src/evm/prompts/*.md files to use standardized XML commit message format with:
- Structured <summary> section containing <what>, <why>, <how> subsections
- <prompt> section with condensed but complete task context
- Guidance for replacing large code blocks with <docs> or <github> placeholders
- Integration with Claude Code workflows and emoji conventional commits
Also add issue-style summaries to key prompt files with What/Why/How sections and ELI5 explanations moved to top.
</prompt>

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
<summary>
<what>
- Created comprehensive EVM_PROMPT_MAPPING.md linking all prompts to implementation files
- Added "Relevant Implementation Files" sections to 25 key prompt files
- Established consistent format showing primary files, supporting files, new files, test files, and rationale
</what>

<why>
- Developers need clear guidance on which files to modify for each feature
- Mapping between prompt requirements and existing codebase architecture was missing
- Implementation context helps understand dependencies and integration points
</why>

<how>
- Analyzed entire src/evm/ codebase structure and existing test infrastructure
- Created systematic mapping of 61+ prompts to relevant .zig files
- Applied consistent documentation format across all updated prompt files
- Focused on critical features: precompiles, gas management, core infrastructure
</how>
</summary>

<prompt>
Can you go through every issue and add links to relavent files https://github.com/evmts/tevm-monorepo/blob/main/src/evm/vm.zig. You should go through every issue and link to all the .zig files in src/evm/**/*.zig that you believe are relavent as well as test/**/*.zig. Put it in a markdown form and include a small amount of explanation breaking down what the file contains and why it's useful
</prompt>

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
<summary>
<what>
- Consolidated 40+ duplicate file pairs from src/evm/prompts/*.md
- Removed redundant -enhanced and -enhanced-enhanced suffix files
- Retained most comprehensive version of each implementation guide
- Added ELI5 sections to all remaining files for accessibility
- Standardized file naming to clean base names without suffixes
</what>

<why>
- Eliminate maintenance burden of duplicate files with overlapping content
- Reduce repository size and complexity for EVM implementation guides
- Provide single authoritative source for each implementation topic
- Improve developer experience with consistent, accessible documentation
- Prevent content drift between duplicate versions of same guides
</why>

<how>
- Analyzed all prompt files to identify duplicate sets and enhanced variants
- Compared file sizes and content comprehensiveness between versions
- Kept larger enhanced versions which contained 2-7x more detailed content
- Renamed enhanced versions to clean base names for consistency
- Preserved all valuable technical content while eliminating redundancy
- Maintained proper structure with What/Why/How sections and ELI5 explanations
</how>
</summary>

<prompt>
We got a ton of duplicate files in src/evm/prompts/*.md. Please go through all the files combining the duplicate files into a single file. Oftentimes one file will have the correct core content and issue explanation while the other one will have an older version of the core content but has a lot of extra useful context added from ethereum specs evmone geth or revm. When this is the case you should update the larger file (often suffixed with something like -enhanced.md) update it with the new better content from the original that includes things like <what> <why> <eli5> file context and more. Then delete the old file.
</prompt>

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copy link
Contributor
@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🔭 Outside diff range comments (5)
src/evm/prompts/fix-wasm-build-integration.md (5)

162-170: ⚠️ Potential issue

Unclosed code fence
The TypeScript block opened with typescript on line 163 has no closing before the next Markdown section.


215-265: ⚠️ Potential issue

Missing implementation in free export
The WASM free(ptr: u32) export is empty—it should invoke the allocator’s free to prevent memory leaks (e.g., allocator.free(memory)).


286-313: 🛠️ Refactor suggestion

Normalize loader function naming
You define both loadEVM and loadWasm. Unify on a single entry-point name and update all references to avoid confusion.


350-364: ⚠️ Potential issue

Undefined last_error in error handler
The snippet calls @intFromEnum(last_error) but last_error isn’t declared. Introduce a module-level error tracker or clarify its origin.


373-387: ⚠️ Potential issue

Align JS tests with loader API
Tests call WasmEvm.create, but the loader API exposes loadWasm() returning the exports. Update tests to first call loadWasm() and then instantiate via new WasmEvm(exports).

♻️ Duplicate comments (3)
src/evm/prompts/implement-bls12-381-g1add-precompile.md (1)

121-123: Remove duplicate ELI5 section

There are two ELI5 sections (lines 4–6 and lines 121–123). Consolidate to a single instance to avoid redundancy.

src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md (1)

354-405: Duplicate gas-cost discrepancy in REVM context
The REVM context also shows a base gas fee of 23800 (lines 536–540), which duplicates the EVMone mismatch. Consolidate these observations under a single clarification.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~377-~377: Possible missing article found.
Context: ...s interpreted as /// an element of Fp2. Output of this call is 256 bytes and is an enc...

(AI_HYDRA_LEO_MISSING_THE)

🪛 markdownlint-cli2 (0.17.2)

385-385: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


403-403: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-bls12-381-g2add-precompile.md (1)

109-116: Duplicate gas cost error.

The success criteria again reference “Consumes exactly 800 gas per operation.” This should be updated to 600 to match the correction above.

🧰 Tools
🪛 LanguageTool

[grammar] ~114-~114: After the number ‘800’, use a plural noun. Did you mean “gases”, “gasses”?
Context: ... Gas Accuracy: Consumes exactly 800 gas per operation 5. Edge Cases: Handle...

(CD_NNU)

🧹 Nitpick comments (47)
src/evm/prompts/fix-wasm-build-integration.md (11)

3-5: Missing article and clarity in “What” section
The phrase “integration into Tevm's TypeScript codebase” reads more naturally as “integration into the Tevm TypeScript codebase.”

🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: Possible missing preposition found.
Context: ...tegration into Tevm TypeScript ## What Fix the broken WASM build system and integr...

(AI_HYDRA_LEO_MISSING_TO)


6-8: Use colon instead of hyphen for emphasis
In “performance goals of Tevm - delivering…”, replacing the hyphen with a colon will improve readability:
“performance goals of Tevm: delivering 100x faster…”


9-16: Unify bullet list punctuation
The “## How” list mixes items with and without trailing periods. For consistency, either add or remove periods at the end of each list entry.


23-24: Consider offloading prompt details from commit messages
Embedding the full <prompt> section in commit history may clutter git logs. Move detailed prompt-generation instructions into CONTRIBUTING.md and keep commit messages focused on concise change summaries.


25-57: Overly verbose commit template
The XML-based commit template (<summary>, <why>, <how>, <prompt>) is comprehensive but may be too long for daily use. As a best practice, trim commit messages to an imperative summary and place in-depth guidance in a standalone developer guide.


128-136: Consolidate file lists
“Relevant Implementation Files” and “Integration Points” both enumerate primary files. To reduce duplication, merge them into a single “Files to Modify” section.


145-150: Missing article in file rationale
Change “implementations for WASM environment” to “implementations for the WASM environment” for grammatical correctness.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~146-~146: You might be missing the article “the” here.
Context: ...e platform-specific implementations for WASM environment - Root WASM modules define ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


153-161: Inconsistent code formatting for paths
Some file paths (e.g., /packages/*/) aren’t wrapped in backticks. Enclose all paths in code fencing for uniformity.


181-187: Task 1 scope needs detail
“Fix WASM Build System” is high-level—consider specifying which flags or sections in build.zig require updates to speed adoption.


318-326: Missing package.json metadata
Add mandatory fields like repository, license, and peerDependencies to meet npm publication standards.


367-371: Typo in optimization flag name
“ReleaseSmal” should be corrected to “ReleaseSmall” in the Zig build configuration.

src/evm/prompts/implement-ecadd-precompile.md (1)

9-10: Ensure commit message instructions align with repository conventions.

The XML commit template is thorough, but double-check that it matches the project's contributing guidelines and other prompt documents for consistency.

src/evm/prompts/implement-ecrecover-precompile.md (2)

9-10: Align commit message steps with existing documentation style.

The XML commit message format is clear; ensure it remains consistent across all precompile prompt docs and matches the repository's standard workflow.


56-63: Refine ELI5 section for clarity and tone.

Consider removing subjective intensifiers (e.g., “very special pen”) and tightening phrasing to maintain a professional style.

🧰 Tools
🪛 LanguageTool

[style] ~58-~58: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...reum, it's like signing a document with a very special pen that creates a unique mathematical ...

(EN_WEAK_ADJECTIVE)

src/evm/prompts/implement-bls12-381-g1add-precompile.md (1)

29-29: Specify fenced code block language

The commit message snippet fence lacks a language identifier (e.g., ```xml) for proper syntax highlighting.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

29-29: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-blake2f-precompile.md (2)

5-5: Add missing article before "Ethereum Virtual Machine"

The sentence should read “for the Ethereum Virtual Machine” to include the definite article.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...ng the BLAKE2b compression function for Ethereum Virtual Machine. This precompile accept...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~5-~5: You might be missing the article “a” here.
Context: ...64 bytes of compressed hash state, with gas cost of 1 per round. ## Why The BLAKE2...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


26-26: Specify fenced code block language

The commit message snippet fence (```) should include a language identifier, such as xml.

src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md (4)

11-11: Specify fenced code block language

The XML commit message example fence should include a language tag (e.g., ```xml).

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


58-58: Add comma before conjunction

In the ELI5 section, insert a comma before “and”: “…random number, and you want to convert…” for correct comma usage.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~58-~58: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...# ELI5 Imagine you have a random number and you want to convert it into a valid poi...

(COMMA_COMPOUND_SENTENCE)


70-70: Specify fenced code block language

The Input Format code fence is missing a language identifier. Consider marking as text or none.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

70-70: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


80-80: Specify fenced code block language

The Output Format code fence lacks a language tag. Adding one (e.g., ```text) improves readability.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

80-80: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-eip3155-tracing.md (1)

11-11: Specify fenced code block language

The commit message example fence (```) should declare a language, such as xml, for clarity.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-ecmul-precompile.md (2)

9-9: Clarify commit message format alignment with repo conventions
You’ve outlined an XML-based commit message structure with emojis—please confirm it aligns with the monorepo’s existing commit lint rules or update the contributing guide accordingly.


11-12: Example commit message should include XML envelope
The snippet shows only the emoji-prefixed header. Consider illustrating the full XML wrapper (<summary>…</prompt>) in the example to avoid ambiguity for contributors.

EVM_PROMPT_MAPPING.md (3)

23-28: Unify path style
Mapping entries use absolute paths (e.g., /src/evm/...). For consistency and to align with typical Markdown conventions, consider removing the leading slash and using relative paths (src/evm/...).


317-320: Hyphenate modifier "memory-specific"
Grammar nit: “Shared memory specific tests” should be “Shared memory-specific tests.”

- `/test/evm/shared_memory_test.zig` - Shared memory specific tests
+ `/test/evm/shared_memory_test.zig` - Shared memory-specific tests
🧰 Tools
🪛 LanguageTool

[uncategorized] ~319-~319: When ‘memory-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...st/evm/shared_memory_test.zig` - Shared memory specific tests Notes: The current memory.zi...

(SPECIFIC_HYPHEN)


5-865: Consider splitting this mapping into per-section files
At nearly 900 lines, maintaining a single Markdown file for all EVM prompt mappings can become unwieldy. Splitting into modular, per-section documents (e.g., precompiles.md, gas-management.md) will improve navigability, reduce merge conflicts, and streamline future updates.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~319-~319: When ‘memory-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...st/evm/shared_memory_test.zig` - Shared memory specific tests Notes: The current memory.zi...

(SPECIFIC_HYPHEN)

src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md (10)

1-2: Include EIP reference in title
Consider appending “(EIP-2537)” to the main heading for immediate clarity on the specification version.


6-10: Reconsider XML commit template
Using a custom XML format here may confuse contributors used to Conventional Commits. Suggest switching to a well-known format (e.g., <type>(<scope>): <subject>) or clearly documenting this schema in CONTRIBUTING.md.


11-43: Fix code-fence and syntax highlighting
The commit-message example spans multiple fenced blocks but lacks a language tag and appears to have mismatched opening/closing fences.

  • Add a language specifier (e.g., ```xml)
  • Ensure each ``` is balanced
  • Move “🤖 Generated with Claude Code” and the Co-Authored-By line outside the fenced commit snippet
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


31-38: Clarify placeholder tags
The <github>url</github> and <docs>description</docs> tokens are non-standard. Please document or replace them with widely used markdown conventions (e.g., [link](...)).


41-43: Remove auto-generated attribution
The “🤖 Generated with Claude Code” banner and Co-Authored-By line may not be necessary in the final spec. Consider removing or moving to an internal draft notice.


52-64: Refine analogy wording
The phrase “GPS system” is redundant. Replace with “GPS” to avoid tautology.

🧰 Tools
🪛 LanguageTool

[style] ~58-~58: This phrase is redundant (‘S’ stands for ‘system’). Use simply “GPS”.
Context: ...P_FP2_TO_G2 precompile is like having a GPS system that can take any address and give you ...

(ACRONYM_TAUTOLOGY)


[style] ~58-~58: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ess and give you precise coordinates on a very special type of curved surface. Here's the ana...

(EN_WEAK_ADJECTIVE)


[style] ~62-~62: This phrase is redundant (‘S’ stands for ‘system’). Use simply “GPS”.
Context: ...mponents) - Mapping Process: Like a GPS system that converts addresses to coordinates,...

(ACRONYM_TAUTOLOGY)


74-81: Specify hardfork and link EIP
Add “Prague hardfork” after “Post-EIP-2537” and hyperlink to the EIP-2537 URL for direct reference.


83-93: Add code-fence language for Input Format
The fenced block showing the input schema should specify the language (e.g., text or none) and be formatted consistently.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

84-84: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


114-121: Normalize file paths
Remove the leading slash from /src/evm/... paths to make them relative (src/evm/...), matching the repo structure.


348-351: Consolidate Prompt Corrections sections
There are multiple “## Prompt Corrections” blocks with conflicting notes on gas cost. Merge into a single section to avoid confusion.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

349-349: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


350-350: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)

src/evm/prompts/implement-bundle-state-management.md (4)

9-11: Clarify and syntax-highlight the commit-message XML snippet
The triple-backtick fence around the XML commit format isn’t labeled—consider adding “xml” for clarity. Also, ensure the placeholder steps (“✨ feat: …”, <what>, etc.) align with your contributing guide and that any required fields (e.g., ENS 2684 /address) are noted here.


56-57: Refine the ELI5 heading placement and phrasing
The new “ELI5” section is helpful, but the header could be visually separated (e.g. add a blank line before) and the analogy bullets tightened (avoid parentheses and phrase consistently). Consider reflowing to:

  1. Track all edits
  2. Bundle related edits
  3. Experiment without risk
  4. Undo in one step

1627-1628: Standardize the reference link ordering
The single “MEV Bundles” entry is fine, but it’s best to alphabetize or group links by category. Also ensure link text and URL syntax match the other bullets in the “References” section.


1629-1632: Add context intro for the EVMONE section
The “EVMONE Context” header launches straight into a comparison. Consider a brief opening sentence (e.g. “Below is how evmone implements journaling and rollback:”) to frame the code excerpt, matching the style of the REVM and execution-specs contexts.

src/evm/prompts/implement-bls12-381-g2add-precompile.md (6)

11-43: Simplify the commit message template.

Embedding a full XML wrapper with emoji and <prompt> sections is non-standard and verbose. Consider referencing the CONTRIBUTING guide or using a lighter Conventional Commits template instead of inlining this entire block.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


45-51: Add changelog and test coverage steps.

The workflow steps omit updating the changelog and ensuring test coverage. Include explicit instructions to update CHANGELOG.md and add comprehensive tests after running zig build test-all.


52-63: Condense the ELI5 section.

The “ELI5” analogy is overly verbose and less actionable for implementers. Trim or link out to a separate background document, focusing this prompt on the core technical requirements.

🧰 Tools
🪛 LanguageTool

[misspelling] ~58-~58: This word is normally spelled as one.
Context: ...G2 addition precompile is like having a super-fast, built-in function that can add two poi...

(EN_COMPOUNDS_SUPER_FAST)


[uncategorized] ~60-~60: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ke this: if you have two GPS coordinates and you want to find a third coordinate tha...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~60-~60: The verb ‘precompile’ is plural. Did you mean: “precompiles”? Did you use a verb instead of a noun?
Context: ..."sum" in this special math system, this precompile does that calculation instantly. The "G...

(PLURAL_VERB_AFTER_THIS)


101-107: Normalize file paths.

Paths are written with a leading slash (e.g. /src/evm/precompiles/...). Use project-relative paths without the leading slash for consistency (e.g. src/evm/precompiles/bls12_381_g2add.zig).


373-382: Specify fenced code block languages.

Many code blocks (diff, XML, shell, Zig) lack language identifiers. Add annotations like diff, xml, bash, or zig to enable proper syntax highlighting.


3-372: In‐file external code embeds.

This document inlines large code snippets from evmone, revm, execution-specs, and go-ethereum, which risks bitrot and bloats the prompt. Prefer linking to the authoritative sources or using summary extracts instead of full embeds.

🧰 Tools
🪛 LanguageTool

[misspelling] ~58-~58: This word is normally spelled as one.
Context: ...G2 addition precompile is like having a super-fast, built-in function that can add two poi...

(EN_COMPOUNDS_SUPER_FAST)


[uncategorized] ~60-~60: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ke this: if you have two GPS coordinates and you want to find a third coordinate tha...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~60-~60: The verb ‘precompile’ is plural. Did you mean: “precompiles”? Did you use a verb instead of a noun?
Context: ..."sum" in this special math system, this precompile does that calculation instantly. The "G...

(PLURAL_VERB_AFTER_THIS)


[grammar] ~114-~114: After the number ‘800’, use a plural noun. Did you mean “gases”, “gasses”?
Context: ... Gas Accuracy: Consumes exactly 800 gas per operation 5. Edge Cases: Handle...

(CD_NNU)

🪛 markdownlint-cli2 (0.17.2)

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


76-76: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


135-135: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


155-155: Bare URL used
null

(MD034, no-bare-urls)


162-162: Bare URL used
null

(MD034, no-bare-urls)


165-165: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


291-291: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


297-297: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


310-310: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


329-329: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8445cda and 855a384.

📒 Files selected for processing (14)
  • EVM_PROMPT_MAPPING.md (1 hunks)
  • src/evm/prompts/fix-wasm-build-integration.md (8 hunks)
  • src/evm/prompts/implement-blake2f-precompile.md (2 hunks)
  • src/evm/prompts/implement-bls12-381-g1add-precompile.md (2 hunks)
  • src/evm/prompts/implement-bls12-381-g2add-precompile.md (1 hunks)
  • src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md (1 hunks)
  • src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md (1 hunks)
  • src/evm/prompts/implement-bundle-state-management.md (3 hunks)
  • src/evm/prompts/implement-cicd-wasm-size-check.md (2 hunks)
  • src/evm/prompts/implement-ecadd-precompile.md (2 hunks)
  • src/evm/prompts/implement-ecmul-precompile.md (3 hunks)
  • src/evm/prompts/implement-ecrecover-precompile.md (3 hunks)
  • src/evm/prompts/implement-eip3155-tracing.md (1 hunks)
  • src/evm/prompts/implement-eof-support.md (2 hunks) F438
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/evm/prompts/implement-eof-support.md
  • src/evm/prompts/implement-cicd-wasm-size-check.md
🧰 Additional context used
🪛 LanguageTool
src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md

[uncategorized] ~58-~58: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...# ELI5 Imagine you have a random number and you want to convert it into a valid poi...

(COMMA_COMPOUND_SENTENCE)

src/evm/prompts/implement-blake2f-precompile.md

[uncategorized] ~5-~5: You might be missing the article “the” here.
Context: ...ng the BLAKE2b compression function for Ethereum Virtual Machine. This precompile accept...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~5-~5: You might be missing the article “a” here.
Context: ...64 bytes of compressed hash state, with gas cost of 1 per round. ## Why The BLAKE2...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

src/evm/prompts/implement-ecmul-precompile.md

[uncategorized] ~500-~500: Loose punctuation mark.
Context: ...t noexcept { return *this == Point{}; } }; /// ... (Other point types and functi...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~510-~510: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...cept { ProjPoint r; const auto bit_width = sizeof(IntT) * 8 - intx::clz(c)...

(AUTO_HYPHEN)


[style] ~657-~657: Consider using “incapable” to avoid wordiness.
Context: ...dled specifically because AffineG1 is not capable of /// representing such a point. /// I...

(NOT_ABLE_PREMIUM)


[grammar] ~666-~666: The verb ‘assert’ does not usually follow articles like ‘an’. Check that ‘assert’ is spelled correctly; using ‘assert’ as a noun may be non-standard.
Context: ...e G1Affine::new because that triggers an assert if the point is not on the curve. ...

(A_INFINITIVE)


[typographical] ~685-~685: Two consecutive dots
Context: ...leError> { let px = read_fq(&input[0..FQ_LEN])?; let py = read_fq(&input[F...

(DOUBLE_PUNCTUATION)


[typographical] ~686-~686: Two consecutive dots
Context: ...N])?; let py = read_fq(&input[FQ_LEN..2 * FQ_LEN])?; new_g1_point(px, py) ...

(DOUBLE_PUNCTUATION)


[grammar] ~871-~871: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...ormed input (e.g., point not on curve), the precompile should fail, which consumes all provide...

(A_INFINITIVE)


[typographical] ~1021-~1021: Two consecutive dots
Context: ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~1051-~1051: Two consecutive dots
Context: ...om ...vm.memory import buffer_read from ..exceptions import InvalidParameter, OutO...

(DOUBLE_PUNCTUATION)


[typographical] ~1170-~1170: Two consecutive dots
Context: ...dresses ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[uncategorized] ~1193-~1193: Did you just mean “,” or “)”?
Context: ...NG_CHECK_ADDRESS", "BLAKE2F_ADDRESS", ) ECRECOVER_ADDRESS = hex_to_address("0x...

(COMMA_PERIOD)


[grammar] ~1702-~1702: The conjunction “if” requires the past participle “contracted”. Or did you mean “you contract”?
Context: ....RequiredGas(input, evm.chainRules) if contract.UseGas(gas) { return runBn256ScalarMu...

(IF_VB_PCT)


[grammar] ~1897-~1897: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...d (i.e., not on the alt_bn128 curve), the precompile should return the point at infinity `(0...

(A_INFINITIVE)


[grammar] ~1898-~1898: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...e call to fail and consumes the gas for the precompile. The Zig implementation should return a...

(A_INFINITIVE)


[uncategorized] ~2002-~2002: Do not mix variants of the same word (‘serialise’ and ‘serialize’) within a single text.
Context: ...Point } // Unmarshal converts a point, serialised by Marshal, into a G1 item. // If the p...

(EN_WORD_COHERENCY)


[grammar] ~2262-~2262: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ....go, this error is propagated, causing the precompile to return nil, err`, which results in ...

(A_INFINITIVE)


[uncategorized] ~2635-~2635: A punctuation mark might be missing here.
Context: ... p.p.x.Marshal() copy(out[32-len(xBytes):], xBytes) yBytes := p.p.y.Marshal() ...

(AI_EN_LECTOR_MISSING_PUNCTUATION)

src/evm/prompts/implement-bundle-state-management.md

[uncategorized] ~1741-~1741: Loose punctuation mark.
Context: ...count(const address& addr); /// @} }; /// Executes a valid transaction. ///...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~1848-~1848: Loose punctuation mark.
Context: ...tatus access_status = EVMC_ACCESS_COLD; }; /// The state account. struct Account...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~1878-~1878: Loose punctuation mark.
Context: ... bool destructed = false; // ... }; } // namespace evmone::state ``` </fi...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~2429-~2429: ‘In regard to’ might be wordy. Consider using a more concise alternative.
Context: ...to mark account that is warm inside EVM in regard to EIP-2929 AccessList. AccountWarmed ...

(REGARD_TO)


[grammar] ~2551-~2551: If ‘type’ is a classification term, ‘a’ is not necessary. Use “type of”. (The phrases ‘kind of’ and ‘sort of’ are informal if they mean ‘to some extent’.)
Context: ...ghout a block's execution, not just the type of a single change. This allows for more sop...

(KIND_OF_A)


[uncategorized] ~2555-~2555: Possible missing comma found.
Context: ...ngle account. These are not corrections but rather alternative design patterns from...

(AI_HYDRA_LEO_MISSING_COMMA)


[typographical] ~2573-~2573: Two consecutive dots
Context: ...n/state.py"> ```python """ State ^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~2712-~2712: Consider putting a comma before the abbreviation “i.e.”.
Context: ... Get the original value in a storage slot i.e. the value before the current transa...

(IE_COMMA)


[uncategorized] ~2882-~2882: Loose punctuation mark.
Context: ...y more efficient. 5. apply_to_state: The StateBundle.apply_to_state func...

(UNLIKELY_OPENING_PUNCTUATION)

src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md

[style] ~58-~58: This phrase is redundant (‘S’ stands for ‘system’). Use simply “GPS”.
Context: ...P_FP2_TO_G2 precompile is like having a GPS system that can take any address and give you ...

(ACRONYM_TAUTOLOGY)


[style] ~58-~58: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ess and give you precise coordinates on a very special type of curved surface. Here's the ana...

(EN_WEAK_ADJECTIVE)


[style] ~62-~62: This phrase is redundant (‘S’ stands for ‘system’). Use simply “GPS”.
Context: ...mponents) - Mapping Process: Like a GPS system that converts addresses to coordinates,...

(ACRONYM_TAUTOLOGY)


[grammar] ~128-~128: After the number ‘110000’, use a plural noun. Did you mean “gases”, “gasses”?
Context: ...Gas Accuracy**: Consumes exactly 110000 gas per operation 6. Integration: Works...

(CD_NNU)


[uncategorized] ~304-~304: Loose punctuation mark.
Context: ...lable latest = bls12_map_fp2_to_g2 }; /// The total number of known precomp...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~377-~377: Possible missing article found.
Context: ...s interpreted as /// an element of Fp2. Output of this call is 256 bytes and is an enc...

(AI_HYDRA_LEO_MISSING_THE)


[typographical] ~761-~761: Two consecutive dots
Context: ...dresses ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[uncategorized] ~794-~794: Did you just mean “,” or “)”?
Context: ...RESS", "BLS12_MAP_FP2_TO_G2_ADDRESS", ) ECRECOVER_ADDRESS = hex_to_address("0x...

(COMMA_PERIOD)


[typographical] ~905-~905: Two consecutive dots
Context: ...Gas ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~966-~966: Two consecutive dots
Context: ...dresses ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[uncategorized] ~997-~997: Did you just mean “,” or “)”?
Context: ...RESS", "BLS12_MAP_FP2_TO_G2_ADDRESS", ) ECRECOVER_ADDRESS = hex_to_address("0x...

(COMMA_PERIOD)


[typographical] ~1061-~1061: Two consecutive dots
Context: ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~1141-~1141: Two consecutive dots
Context: ...12 381 Precompile ^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[misspelling] ~1216-~1216: This word is normally spelled as one.
Context: ...6 bytes to a G2 point. Does not perform sub-group check. ... """ if len(data)...

(EN_COMPOUNDS_SUB_GROUP)


[grammar] ~1341-~1341: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Gas returns the gas required to execute the precompile. func (p *pointEvaluation) RequiredGas(...

(A_INFINITIVE)


[grammar] ~1352-~1352: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...0, 0x00, 0x00, 0x01, } // Run executes the precompile. func (p *pointEvaluation) Run(input []...

(A_INFINITIVE)


[uncategorized] ~1637-~1637: Loose punctuation mark.
Context: ...github.com/ethereum/go-ethereum/params" ) // PrecompiledContractsBLS contains th...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~1656-~1656: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Gas returns the gas required to execute the precompile. func (p *bls12MapFp2ToG2) RequiredGas(...

(A_INFINITIVE)


[grammar] ~1661-~1661: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...s.Bls12MapFp2ToG2Gas } // Run executes the precompile. func (p *bls12MapFp2ToG2) Run(input []...

(A_INFINITIVE)


[misspelling] ~1664-~1664: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...te, error) { // Input format: // e, an Fp2 element (128 bytes) // Total: 128 ...

(EN_A_VS_AN)


[grammar] ~1814-~1814: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ... provided the go-ethereum context for the precompile at address 0x12. The rest of the prom...

(A_INFINITIVE)


[misspelling] ~2271-~2271: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...ernal/crypto/bls12381" // MapToG2 maps an Fp2 element to a G2 point. func MapToG2...

(EN_A_VS_AN)


[uncategorized] ~2344-~2344: Loose punctuation mark.
Context: ...hub.com/supranational/blst/bindings/go" ) // The gas cost parameters for the BLS...

(UNLIKELY_OPENING_PUNCTUATION)

EVM_PROMPT_MAPPING.md

[uncategorized] ~319-~319: When ‘memory-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...st/evm/shared_memory_test.zig` - Shared memory specific tests Notes: The current memory.zi...

(SPECIFIC_HYPHEN)

src/evm/prompts/fix-wasm-build-integration.md

[uncategorized] ~3-~3: Possible missing preposition found.
Context: ...tegration into Tevm TypeScript ## What Fix the broken WASM build system and integr...

(AI_HYDRA_LEO_MISSING_TO)


[misspelling] ~73-~73: This word is normally spelled as one.
Context: ... like the mounting system that lets our super-fast compiled code work seamlessly with Java...

(EN_COMPOUNDS_SUPER_FAST)


[uncategorized] ~146-~146: You might be missing the article “the” here.
Context: ...e platform-specific implementations for WASM environment - Root WASM modules define ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

src/evm/prompts/implement-bls12-381-g1add-precompile.md

[style] ~79-~79: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... point has x,y coordinates, but they're very large numbers) - Adds them together using...

(EN_WEAK_ADJECTIVE)


[grammar] ~86-~86: The verb ‘precompile’ does not usually follow articles like ‘a’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Efficient Operations*: Having this as a precompile makes it much faster and cheaper than d...

(A_INFINITIVE)


[grammar] ~93-~93: The verb ‘precompile’ is plural. Did you mean: “precompiles”? Did you use a verb instead of a noun?
Context: ...: "add these two points" This specific precompile (G1ADD) is one piece of a larger crypto...

(PLURAL_VERB_AFTER_THIS)


[uncategorized] ~111-~111: When ‘addition-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...s12_381_g1_add_test.zig` - BLS12-381 G1 addition specific tests Why These Files: - The main ...

(SPECIFIC_HYPHEN)

src/evm/prompts/implement-bls12-381-g2add-precompile.md

[misspelling] ~58-~58: This word is normally spelled as one.
Context: ...G2 addition precompile is like having a super-fast, built-in function that can add two poi...

(EN_COMPOUNDS_SUPER_FAST)


[uncategorized] ~60-~60: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ke this: if you have two GPS coordinates and you want to find a third coordinate tha...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~60-~60: The verb ‘precompile’ is plural. Did you mean: “precompiles”? Did you use a verb instead of a noun?
Context: ..."sum" in this special math system, this precompile does that calculation instantly. The "G...

(PLURAL_VERB_AFTER_THIS)


[grammar] ~114-~114: After the number ‘800’, use a plural noun. Did you mean “gases”, “gasses”?
Context: ... Gas Accuracy: Consumes exactly 800 gas per operation 5. Edge Cases: Handle...

(CD_NNU)


[uncategorized] ~964-~964: Loose punctuation mark.
Context: ..... "BLS12_G2ADD_ADDRESS", # ... ) # ... BLS12_G2ADD_ADDRESS = hex_to_add...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~1225-~1225: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Gas returns the gas required to execute the precompile. func (c *blsG2Add) RequiredGas(input [...

(A_INFINITIVE)


[grammar] ~1328-~1328: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Gas returns the gas required to execute the precompile. func (p *bls12G2Add) RequiredGas(input...

(A_INFINITIVE)


[uncategorized] ~1950-~1950: Loose punctuation mark.
Context: ...hub.com/supranational/blst/bindings/go" ) var ( errG2PointNotOnCurve = errors...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~2081-~2081: Loose punctuation mark.
Context: ...ereum/go-ethereum/crypto/bls12381/blst" ) // G2 is a point in G2. type G2 struct...

(UNLIKELY_OPENING_PUNCTUATION)


[formatting] ~2111-~2111: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ... *G2) *G2 { // We use p2 as accumulator, because it is likely to be changed anyways. p2...

(COMMA_BEFORE_BECAUSE)


[style] ~2111-~2111: The word ‘anyways’ is informal American English. Did you mean “anyway”?
Context: ...tor, because it is likely to be changed anyways. p2.p.Add(p1.p) return &G2{p: p2.p} }...

(ANYWAYS)


[uncategorized] ~2249-~2249: Loose punctuation mark.
Context: ...G2 operation // ... (other constants) ) ``` <file path="https://github...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~2324-~2324: Loose punctuation mark.
Context: ...github.com/ethereum/go-ethereum/params" ) // bls12381G2Add implements the BLS12-...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~2381-~2381: Using many exclamation marks might seem excessive (in this case: 39 exclamation marks for a text that’s 26378 characters long)
Context: ...bgroup. if !bls12381.IsG2OnCurve(p) || !bls12381.IsG2InSubgroup(p) { return ni...

(EN_EXCESSIVE_EXCLAMATION)

src/evm/prompts/implement-ecrecover-precompile.md

[style] ~58-~58: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...reum, it's like signing a document with a very special pen that creates a unique mathematical ...

(EN_WEAK_ADJECTIVE)


[grammar] ~953-~953: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...saction-level signature validation, not the precompile itself. The revm code correctly ...

(A_INFINITIVE)


[typographical] ~970-~970: Two consecutive dots
Context: ...zeroing the first 12 bytes of the hash (hash[..12].fill(0)) is a direct way to achieve...

(DOUBLE_PUNCTUATION)


[typographical] ~982-~982: Two consecutive dots
Context: ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~1081-~1081: Two consecutive dots
Context: ...Gas ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~1235-~1235: Two consecutive dots
Context: ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[uncategorized] ~1317-~1317: Did you just mean “,” or “)”?
Context: ...NG_CHECK_ADDRESS", "BLAKE2F_ADDRESS", ) ECRECOVER_ADDRESS = hex_to_address("0x...

(COMMA_PERIOD)


[grammar] ~1759-~1759: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...ead) is explicitly not performed by the precompile, which is a subtle but important detail...

(A_INFINITIVE)

🪛 markdownlint-cli2 (0.17.2)
src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


70-70: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


80-80: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


84-84: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


96-96: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


159-159: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


166-166: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


183-183: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


209-209: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


281-281: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


282-282: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


283-283: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


300-300: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


313-313: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


349-349: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


350-350: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


385-385: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


403-403: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


523-523: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


598-598: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


646-646: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


665-665: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


673-673: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


766-766: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


775-775: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


775-775: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


817-817: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


910-910: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


910-910: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


926-926: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


971-971: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


980-980: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


980-980: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


1017-1017: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1066-1066: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


1066-1066: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


1101-1101: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1126-1126: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1146-1146: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


1181-1181: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1222-1222: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1255-1255: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1258-1258: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1300-1300: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1301-1301: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1302-1302: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1303-1303: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1304-1304: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1305-1305: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1306-1306: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1307-1307: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1308-1308: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1309-1309: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1313-1313: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1314-1314: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1315-1315: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1316-1316: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1317-1317: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1318-1318: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1319-1319: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1320-1320: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1321-1321: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1322-1322: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1323-1323: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1324-1324: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1325-1325: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1326-1326: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1327-1327: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1328-1328: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1329-1329: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1330-1330: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1331-1331: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1332-1332: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1333-1333: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1334-1334: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1335-1335: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1343-1343: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1347-1347: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1348-1348: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1349-1349: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1354-1354: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1355-1355: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1356-1356: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1357-1357: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1358-1358: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1359-1359: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1360-1360: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1362-1362: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1362-1362: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1363-1363: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1364-1364: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1365-1365: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1366-1366: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1367-1367: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1368-1368: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1369-1369: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1370-1370: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1372-1372: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1373-1373: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1374-1374: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1375-1375: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1376-1376: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1377-1377: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1379-1379: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1380-1380: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1381-1381: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1382-1382: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1383-1383: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1384-1384: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1386-1386: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1391-1391: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1393-1393: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1394-1394: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1413-1413: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1414-1414: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1415-1415: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1416-1416: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1417-1417: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1418-1418: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1419-1419: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1420-1420: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1421-1421: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1423-1423: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1444-1444: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1445-1445: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1446-1446: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1447-1447: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1448-1448: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1449-1449: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1450-1450: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1451-1451: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1452-1452: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1453-1453: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1454-1454: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1455-1455: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1463-1463: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1468-1468: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1469-1469: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1470-1470: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1471-1471: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1472-1472: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1473-1473: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1474-1474: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1475-1475: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1486-1486: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1487-1487: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1488-1488: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1489-1489: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1490-1490: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1491-1491: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1492-1492: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1493-1493: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1494-1494: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1495-1495: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1496-1496: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1497-1497: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1498-1498: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1499-1499: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1500-1500: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1501-1501: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1502-1502: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1503-1503: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1504-1504: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1505-1505: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1506-1506: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1513-1513: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1514-1514: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1515-1515: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1516-1516: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1517-1517: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1518-1518: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1519-1519: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1520-1520: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1522-1522: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1528-1528: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1529-1529: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1530-1530: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1531-1531: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1532-1532: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1533-1533: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1534-1534: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1535-1535: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1536-1536: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1537-1537: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1538-1538: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1539-1539: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1540-1540: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1541-1541: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1546-1546: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1547-1547: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1548-1548: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1549-1549: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1550-1550: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1561-1561: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1562-1562: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1563-1563: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1564-1564: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1565-1565: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1566-1566: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1567-1567: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1568-1568: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1573-1573: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1578-1578: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1579-1579: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1580-1580: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1581-1581: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1583-1583: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1589-1589: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1590-1590: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1591-1591: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1592-1592: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1593-1593: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1594-1594: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1595-1595: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1596-1596: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1597-1597: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1633-1633: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1635-1635: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1635-1635: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1636-1636: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1637-1637: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1642-1642: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1643-1643: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1644-1644: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1645-1645: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1646-1646: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1647-1647: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1648-1648: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1649-1649: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1650-1650: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1658-1658: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1663-1663: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1664-1664: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1665-1665: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1666-1666: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1667-1667: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1668-1668: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1669-1669: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1670-1670: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1671-1671: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1672-1672: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1673-1673: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1674-1674: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1675-1675: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1676-1676: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1677-1677: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1678-1678: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1679-1679: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1681-1681: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1707-1707: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1708-1708: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1712-1712: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1713-1713: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1719-1719: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1720-1720: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1721-1721: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1722-1722: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1723-1723: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1724-1724: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1725-1725: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1726-1726: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1727-1727: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1728-1728: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1729-1729: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1730-1730: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1731-1731: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1732-1732: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1739-1739: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1740-1740: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1741-1741: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1742-1742: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1743-1743: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1744-1744: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1745-1745: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1746-1746: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1747-1747: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1748-1748: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1749-1749: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1750-1750: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1755-1755: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1756-1756: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1757-1757: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1758-1758: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1759-1759: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1764-1764: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1765-1765: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1766-1766: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1767-1767: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1768-1768: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1769-1769: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1770-1770: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1771-1771: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1772-1772: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1773-1773: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1774-1774: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1775-1775: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1776-1776: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1777-1777: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1778-1778: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1779-1779: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1780-1780: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1781-1781: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1782-1782: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1792-1792: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1793-1793: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1794-1794: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1795-1795: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1796-1796: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1797-1797: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1798-1798: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1799-1799: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1800-1800: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1801-1801: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1802-1802: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1803-1803: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1824-1824: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1825-1825: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1826-1826: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1827-1827: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1828-1828: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1829-1829: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1830-1830: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1831-1831: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1832-1832: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1833-1833: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1834-1834: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1835-1835: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1836-1836: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1837-1837: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1838-1838: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1839-1839: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1840-1840: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1844-1844: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1845-1845: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1846-1846: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1847-1847: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1848-1848: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1849-1849: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1850-1850: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1851-1851: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1852-1852: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1853-1853: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1854-1854: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1855-1855: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1856-1856: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1857-1857: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1858-1858: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1859-1859: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1860-1860: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1861-1861: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1867-1867: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1868-1868: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1869-1869: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1870-1870: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1878-1878: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1879-1879: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1880-1880: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1881-1881: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1882-1882: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1883-1883: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1884-1884: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1885-1885: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1886-1886: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1887-1887: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1888-1888: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1890-1890: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1890-1890: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1897-1897: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1898-1898: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1899-1899: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1900-1900: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1901-1901: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1902-1902: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1903-1903: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1904-1904: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1914-1914: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1918-1918: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1919-1919: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1920-1920: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1921-1921: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1922-1922: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1923-1923: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1925-1925: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1925-1925: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1926-1926: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1927-1927: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1928-1928: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1929-1929: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1930-1930: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1931-1931: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1932-1932: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1933-1933: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1935-1935: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1936-1936: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1938-1938: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1939-1939: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1941-1941: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1947-1947: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1948-1948: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1949-1949: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1950-1950: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1951-1951: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1952-1952: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1953-1953: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1954-1954: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1976-1976: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1977-1977: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1978-1978: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1979-1979: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1980-1980: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1981-1981: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1982-1982: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1990-1990: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1994-1994: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1995-1995: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1996-1996: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1997-1997: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1998-1998: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1999-1999: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2000-2000: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2001-2001: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2003-2003: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2012-2012: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2013-2013: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2014-2014: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2015-2015: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2016-2016: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2017-2017: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2018-2018: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2019-2019: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2020-2020: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2027-2027: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2028-2028: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2029-2029: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2030-2030: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2031-2031: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2032-2032: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2033-2033: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2034-2034: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2041-2041: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2042-2042: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2043-2043: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2044-2044: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2045-2045: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2046-2046: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2047-2047: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2048-2048: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2049-2049: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2050-2050: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2051-2051: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2052-2052: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2053-2053: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2054-2054: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2055-2055: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2056-2056: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2057-2057: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2058-2058: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2059-2059: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2060-2060: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2065-2065: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2066-2066: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2067-2067: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2068-2068: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2074-2074: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2075-2075: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2086-2086: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2087-2087: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2088-2088: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2089-2089: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2090-2090: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2091-2091: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2092-2092: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2094-2094: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2102-2102: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2103-2103: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2104-2104: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2108-2108: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2109-2109: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2110-2110: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2111-2111: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2112-2112: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2113-2113: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2114-2114: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2115-2115: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2128-2128: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2129-2129: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2130-2130: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2131-2131: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2132-2132: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2133-2133: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2134-2134: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2135-2135: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2136-2136: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2137-2137: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2138-2138: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2139-2139: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2140-2140: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2141-2141: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2142-2142: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2143-2143: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2144-2144: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2145-2145: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2146-2146: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2147-2147: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2157-2157: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2157-2157: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2158-2158: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2159-2159: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2162-2162: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2193-2193: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2197-2197: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2198-2198: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2199-2199: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2200-2200: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2201-2201: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2202-2202: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2203-2203: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2204-2204: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2205-2205: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2206-2206: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2208-2208: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2209-2209: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2210-2210: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2211-2211: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2212-2212: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2213-2213: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2214-2214: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2215-2215: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2216-2216: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2217-2217: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2218-2218: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2226-2226: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2227-2227: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2228-2228: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2229-2229: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2230-2230: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2231-2231: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2232-2232: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2233-2233: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2234-2234: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2235-2235: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2236-2236: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2237-2237: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2238-2238: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2246-2246: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2247-2247: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2248-2248: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2257-2257: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2258-2258: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2259-2259: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2260-2260: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2261-2261: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2262-2262: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2263-2263: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2273-2273: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2274-2274: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2275-2275: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2276-2276: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2277-2277: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2278-2278: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2283-2283: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2285-2285: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2300-2300: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2301-2301: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2302-2302: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2303-2303: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2304-2304: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2305-2305: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2306-2306: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2307-2307: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2308-2308: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2309-2309: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2310-2310: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2311-2311: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2312-2312: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2313-2313: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2314-2314: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2315-2315: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2316-2316: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2317-2317: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2318-2318: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2326-2326: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2330-2330: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2331-2331: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2332-2332: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2333-2333: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2340-2340: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2342-2342: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2342-2342: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2343-2343: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2344-2344: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2349-2349: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2356-2356: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2357-2357: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2358-2358: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2359-2359: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2360-2360: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2361-2361: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2370-2370: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2371-2371: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2372-2372: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2373-2373: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2374-2374: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2375-2375: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2375-2375: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2376-2376: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2376-2376: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2377-2377: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2377-2377: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2378-2378: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2378-2378: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2379-2379: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2379-2379: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2380-2380: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2380-2380: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2381-2381: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2381-2381: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2382-2382: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2382-2382: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2383-2383: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2384-2384: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2385-2385: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2386-2386: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2387-2387: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2388-2388: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2389-2389: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2390-2390: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2391-2391: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2392-2392: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2393-2393: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2394-2394: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2395-2395: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2396-2396: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2397-2397: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2399-2399: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2399-2399: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2400-2400: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2401-2401: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2403-2403: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2404-2404: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2405-2405: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2406-2406: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2407-2407: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2413-2413: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2414-2414: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2415-2415: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2416-2416: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2417-2417: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2418-2418: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2419-2419: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2420-2420: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2421-2421: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2422-2422: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2423-2423: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2424-2424: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2425-2425: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2426-2426: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2427-2427: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2428-2428: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2430-2430: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2430-2430: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2431-2431: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2432-2432: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2434-2434: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2439-2439: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2440-2440: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2441-2441: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2442-2442: Hard tabs
Column: 1

(MD010, no-hard-tabs)

src/evm/prompts/implement-bls12-381-g1add-precompile.md

29-29: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-bls12-381-g2add-precompile.md

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


76-76: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


135-135: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


155-155: Bare URL used
null

(MD034, no-bare-urls)


162-162: Bare URL used
null

(MD034, no-bare-urls)


165-165: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


291-291: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


297-297: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


310-310: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


329-329: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


413-413: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


436-436: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


651-651: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


657-657: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


736-736: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


755-755: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


763-763: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


838-838: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


961-961: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


961-961: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


967-967: Trailing punctuation in heading
Punctuation: '...'

(MD026, no-trailing-punctuation)


969-969: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


969-969: Trailing punctuation in heading
Punctuation: '...'

(MD026, no-trailing-punctuation)


970-970: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1017-1017: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1041-1041: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1227-1227: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1228-1228: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1232-1232: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1233-1233: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1234-1234: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1235-1235: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1236-1236: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1237-1237: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1238-1238: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1239-1239: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1240-1240: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1241-1241: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1242-1242: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1243-1243: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1244-1244: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1245-1245: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1246-1246: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1247-1247: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1248-1248: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1250-1250: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1259-1259: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1267-1267: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1268-1268: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1269-1269: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1270-1270: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1271-1271: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1272-1272: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1273-1273: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1274-1274: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1275-1275: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1276-1276: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1277-1277: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1278-1278: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1279-1279: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1281-1281: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1282-1282: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1283-1283: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1284-1284: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1285-1285: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1286-1286: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1287-1287: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1288-1288: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1289-1289: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1290-1290: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1291-1291: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1292-1292: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1298-1298: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1299-1299: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1300-1300: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1301-1301: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1302-1302: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1303-1303: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1304-1304: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1305-1305: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1306-1306: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1307-1307: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1308-1308: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1309-1309: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1310-1310: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1311-1311: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1330-1330: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1334-1334: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1335-1335: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1336-1336: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1337-1337: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1339-1339: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1339-1339: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1340-1340: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1341-1341: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1342-1342: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1343-1343: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1344-1344: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1345-1345: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1346-1346: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1347-1347: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1348-1348: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1353-1353: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1354-1354: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1355-1355: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1356-1356: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1357-1357: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1359-1359: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1359-1359: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1360-1360: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1361-1361: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1362-1362: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1363-1363: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1364-1364: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1365-1365: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1367-1367: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1368-1368: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1369-1369: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1370-1370: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1371-1371: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1372-1372: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1373-1373: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1374-1374: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1375-1375: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1376-1376: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1377-1377: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1378-1378: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1379-1379: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1384-1384: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1385-1385: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1386-1386: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1388-1388: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1393-1393: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1395-1395: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1396-1396: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1397-1397: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1398-1398: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1399-1399: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1400-1400: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1401-1401: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1402-1402: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1403-1403: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1404-1404: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1405-1405: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1406-1406: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1407-1407: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1416-1416: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1417-1417: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1418-1418: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1419-1419: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1420-1420: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1421-1421: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1422-1422: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1423-1423: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1424-1424: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1430-1430: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1431-1431: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1432-1432: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1433-1433: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1434-1434: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1435-1435: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1436-1436: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1437-1437: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1438-1438: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1439-1439: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1440-1440: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1446-1446: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1447-1447: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1448-1448: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1449-1449: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1450-1450: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1451-1451: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1452-1452: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1453-1453: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1454-1454: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1455-1455: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1457-1457: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1457-1457: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1458-1458: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1459-1459: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1460-1460: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1461-1461: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1462-1462: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1463-1463: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1464-1464: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1465-1465: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1466-1466: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1467-1467: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1473-1473: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1504-1504: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1505-1505: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1506-1506: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1507-1507: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1508-1508: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1509-1509: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1510-1510: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1511-1511: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1512-1512: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1513-1513: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1514-1514: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1515-1515: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1516-1516: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1517-1517: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1518-1518: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1519-1519: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1520-1520: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1531-1531: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1535-1535: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1536-1536: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1537-1537: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1538-1538: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1539-1539: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1540-1540: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1541-1541: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1542-1542: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1543-1543: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1544-1544: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1545-1545: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1546-1546: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1547-1547: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1548-1548: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1549-1549: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1550-1550: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1551-1551: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1552-1552: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1561-1561: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1565-1565: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1566-1566: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1567-1567: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1578-1578: Hard tabs
Column: 3

(MD010, no-hard-tabs)


1583-1583: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1584-1584: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1585-1585: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1586-1586: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1587-1587: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1588-1588: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1589-1589: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1590-1590: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1591-1591: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1592-1592: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1593-1593: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1594-1594: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1595-1595: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1596-1596: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1597-1597: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1598-1598: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1599-1599: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1600-1600: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1602-1602: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1602-1602: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1603-1603: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1604-1604: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1605-1605: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1606-1606: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1607-1607: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1609-1609: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1610-1610: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1611-1611: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1612-1612: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1613-1613: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1614-1614: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1615-1615: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1616-1616: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1617-1617: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1618-1618: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1627-1627: Hard tabs
Column: 3

(MD010, no-hard-tabs)


1632-1632: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1633-1633: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1634-1634: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1635-1635: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1636-1636: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1637-1637: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1638-1638: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1639-1639: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1640-1640: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1641-1641: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1642-1642: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1644-1644: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1651-1651: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1652-1652: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1653-1653: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1654-1654: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1655-1655: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1656-1656: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1657-1657: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1658-1658: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1659-1659: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1660-1660: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1661-1661: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1667-1667: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


1683-1683: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1684-1684: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1685-1685: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1686-1686: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1687-1687: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1688-1688: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1689-1689: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1690-1690: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1691-1691: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1692-1692: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1693-1693: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1694-1694: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1695-1695: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1696-1696: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1697-1697: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1698-1698: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1699-1699: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1709-1709: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1713-1713: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1714-1714: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1715-1715: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1716-1716: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1717-1717: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1718-1718: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1719-1719: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1720-1720: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1720-1720: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1722-1722: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1722-1722: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1723-1723: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1724-1724: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1725-1725: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1726-1726: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1727-1727: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1728-1728: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1729-1729: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1731-1731: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1733-1733: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1734-1734: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1735-1735: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1737-1737: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1738-1738: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1744-1744: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1745-1745: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1746-1746: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1747-1747: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1748-1748: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1749-1749: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1750-1750: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1751-1751: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1752-1752: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1753-1753: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1754-1754: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1755-1755: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1756-1756: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1757-1757: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1758-1758: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1759-1759: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1760-176 10000 0: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1761-1761: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1762-1762: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1764-1764: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1764-1764: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1765-1765: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1766-1766: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1767-1767: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1768-1768: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1775-1775: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1776-1776: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1777-1777: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1778-1778: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1779-1779: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1780-1780: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1781-1781: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1782-1782: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1783-1783: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1784-1784: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1785-1785: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1787-1787: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1787-1787: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1792-1792: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1793-1793: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1794-1794: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1795-1795: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1796-1796: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1797-1797: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1798-1798: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1799-1799: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1801-1801: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1807-1807: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1808-1808: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1809-1809: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1810-1810: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1816-1816: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1817-1817: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1818-1818: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1819-1819: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1820-1820: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1821-1821: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1822-1822: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1823-1823: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1837-1837: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1838-1838: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1839-1839: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1840-1840: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1841-1841: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1842-1842: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1843-1843: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1844-1844: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1845-1845: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1846-1846: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1847-1847: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1848-1848: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1849-1849: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1850-1850: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1851-1851: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1852-1852: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1853-1853: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1854-1854: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1855-1855: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1856-1856: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1857-1857: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1858-1858: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1859-1859: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1860-1860: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1861-1861: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1862-1862: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1863-1863: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1864-1864: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1865-1865: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1866-1866: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1867-1867: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1868-1868: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1869-1869: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1870-1870: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1880-1880: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1884-1884: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1886-1886: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1893-1893: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1895-1895: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1899-1899: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1900-1900: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1905-1905: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1906-1906: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1907-1907: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1908-1908: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1909-1909: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1910-1910: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1911-1911: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1912-1912: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1913-1913: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1914-1914: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1915-1915: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1916-1916: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1917-1917: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1918-1918: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1919-1919: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1920-1920: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1928-1928: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1929-1929: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1930-1930: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1931-1931: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1932-1932: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1933-1933: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1934-1934: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1935-1935: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1936-1936: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1937-1937: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1938-1938: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1948-1948: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1950-1950: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1950-1950: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1954-1954: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1955-1955: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1956-1956: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1957-1957: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1958-1958: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1959-1959: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1960-1960: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1961-1961: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1969-1969: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1973-1973: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1974-1974: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1975-1975: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1976-1976: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1977-1977: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1978-1978: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1989-1989: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1990-1990: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1991-1991: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1992-1992: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1993-1993: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1994-1994: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1995-1995: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1996-1996: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1998-1998: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1998-1998: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1999-1999: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2000-2000: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2001-2001: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2002-2002: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2003-2003: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2004-2004: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2005-2005: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2006-2006: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2007-2007: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2008-2008: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2009-2009: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2010-2010: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2011-2011: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2012-2012: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2013-2013: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2014-2014: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2015-2015: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2016-2016: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2017-2017: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2018-2018: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2019-2019: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2020-2020: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2025-2025: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2027-2027: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2050-2050: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2054-2054: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2055-2055: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2056-2056: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2057-2057: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2058-2058: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2059-2059: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2060-2060: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2061-2061: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2062-2062: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2063-2063: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2064-2064: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2065-2065: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2066-2066: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2067-2067: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2068-2068: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2077-2077: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2078-2078: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2079-2079: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2081-2081: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2081-2081: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2086-2086: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2091-2091: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2099-2099: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2100-2100: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2101-2101: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2102-2102: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2103-2103: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2104-2104: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2105-2105: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2106-2106: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2110-2110: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2111-2111: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2112-2112: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2113-2113: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2118-2118: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2121-2121: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2132-2132: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2133-2133: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2134-2134: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2135-2135: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2136-2136: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2137-2137: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2138-2138: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2139-2139: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2140-2140: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2141-2141: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2147-2147: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2148-2148: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2149-2149: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2150-2150: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2151-2151: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2152-2152: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2153-2153: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2154-2154: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2155-2155: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2156-2156: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2157-2157: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2158-2158: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2159-2159: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2160-2160: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2161-2161: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2162-2162: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2163-2163: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2164-2164: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2165-2165: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2166-2166: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2167-2167: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2168-2168: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2169-2169: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2170-2170: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2171-2171: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2172-2172: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2173-2173: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2177-2177: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2178-2178: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2180-2180: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2181-2181: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2183-2183: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2184-2184: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2186-2186: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2187-2187: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2189-2189: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2190-2190: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2192-2192: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2193-2193: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2197-2197: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2198-2198: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2199-2199: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2200-2200: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2201-2201: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2202-2202: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2203-2203: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2204-2204: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2206-2206: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2207-2207: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2209-2209: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2210-2210: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2211-2211: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2213-2213: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2214-2214: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2215-2215: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2216-2216: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2217-2217: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2218-2218: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2219-2219: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2220-2220: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2221-2221: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2222-2222: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2223-2223: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2224-2224: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2225-2225: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2226-2226: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2227-2227: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2228-2228: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2229-2229: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2230-2230: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2231-2231: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2238-2238: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2240-2240: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2240-2240: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2241-2241: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2242-2242: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2243-2243: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2244-2244: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2245-2245: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2246-2246: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2247-2247: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2249-2249: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2252-2252: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2262-2262: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2264-2264: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2266-2266: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2267-2267: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2269-2269: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2270-2270: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2271-2271: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2272-2272: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2274-2274: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2275-2275: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2276-2276: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2277-2277: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2278-2278: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2279-2279: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2280-2280: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2281-2281: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2282-2282: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2283-2283: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2285-2285: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2287-2287: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2288-2288: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2289-2289: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2290-2290: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2291-2291: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2293-2293: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2300-2300: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2320-2320: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2322-2322: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2322-2322: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2323-2323: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2324-2324: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2332-2332: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2336-2336: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2337-2337: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2338-2338: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2339-2339: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2340-2340: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2341-2341: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2342-2342: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2343-2343: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2344-2344: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2345-2345: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2346-2346: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2347-2347: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2348-2348: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2349-2349: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2350-2350: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2352-2352: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2352-2352: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2353-2353: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2354-2354: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2361-2361: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2362-2362: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2363-2363: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2364-2364: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2365-2365: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2366-2366: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2367-2367: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2368-2368: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2369-2369: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2370-2370: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2371-2371: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2372-2372: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2373-2373: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2374-2374: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2375-2375: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2376-2376: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2377-2377: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2378-2378: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2379-2379: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2380-2380: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2381-2381: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2382-2382: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2383-2383: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2384-2384: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2386-2386: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2393-2393: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2394-2394: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2401-2401: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2402-2402: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2403-2403: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2404-2404: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2409-2409: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2410-2410: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2411-2411: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2412-2412: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2413-2413: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2414-2414: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2415-2415: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2416-2416: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2417-2417: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2418-2418: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2424-2424: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2425-2425: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2426-2426: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2427-2427: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2428-2428: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2429-2429: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2430-2430: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2431-2431: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2432-2432: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2433-2433: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2434-2434: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2435-2435: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2436-2436: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2437-2437: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2438-2438: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2439-2439: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2440-2440: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2441-2441: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2446-2446: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2447-2447: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2448-2448: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2449-2449: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2450-2450: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2451-2451: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2452-2452: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2453-2453: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2454-2454: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2455-2455: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2456-2456: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2457-2457: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2458-2458: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2459-2459: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2460-2460: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2461-2461: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2462-2462: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2471-2471: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2472-2472: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2473-2473: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2474-2474: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2475-2475: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2476-2476: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2477-2477: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2478-2478: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2479-2479: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2481-2481: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-ecadd-precompile.md

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-ecrecover-precompile.md

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


670-670: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


675-675: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


700-700: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


793-793: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


812-812: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


902-902: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


922-922: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


987-987: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


1009-1009: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1042-1042: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1086-1086: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


1086-1086: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


1091-1091: Trailing punctuation in heading
Punctuation: '...'

(MD026, no-trailing-punctuation)


1093-1093: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


1093-1093: Trailing punctuation in heading
Punctuation: '...'

(MD026, no-trailing-punctuation)


1094-1094: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1179-1179: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1196-1196: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1240-1240: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


1262-1262: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1295-1295: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1308-1308: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


1308-1308: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


1329-1329: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1348-1348: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1365-1365: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1398-1398: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1402-1402: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1404-1404: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1404-1404: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1405-1405: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1406-1406: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1408-1408: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1409-1409: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1410-1410: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1412-1412: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1413-1413: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1414-1414: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1415-1415: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1416-1416: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1417-1417: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1418-1418: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1419-1419: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1420-1420: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1422-1422: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1423-1423: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1424-1424: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1425-1425: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1426-1426: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1427-1427: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1428-1428: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1429-1429: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1430-1430: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1431-1431: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1433-1433: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1434-1434: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1435-1435: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1436-1436: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1437-1437: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1438-1438: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1439-1439: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1440-1440: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1442-1442: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1449-1449: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1450-1450: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1451-1451: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1452-1452: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1453-1453: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1454-1454: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1455-1455: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1456-1456: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1457-1457: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1458-1458: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1466-1466: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1493-1493: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1502-1502: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1506-1506: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1508-1508: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1508-1508: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1509-1509: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1510-1510: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1512-1512: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1513-1513: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1514-1514: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1516-1516: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1517-1517: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1518-1518: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1519-1519: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1520-1520: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1521-1521: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1522-1522: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1523-1523: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1524-1524: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1525-1525: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1526-1526: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1527-1527: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1528-1528: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1529-1529: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1530-1530: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1532-1532: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1533-1533: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1535-1535: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1542-1542: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1543-1543: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1544-1544: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1545-1545: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1546-1546: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1547-1547: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1548-1548: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1549-1549: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1550-1550: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1551-1551: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1556-1556: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1583-1583: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1587-1587: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1589-1589: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1589-1589: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1590-1590: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1591-1591: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1593-1593: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1594-1594: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1595-1595: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1597-1597: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1598-1598: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1599-1599: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1600-1600: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1601-1601: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1602-1602: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1603-1603: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1604-1604: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1605-1605: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1606-1606: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1607-1607: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1608-1608: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1609-1609: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1610-1610: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1611-1611: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1613-1613: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1614-1614: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1616-1616: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1622-1622: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1628-1628: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1629-1629: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1630-1630: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1631-1631: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1632-1632: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1633-1633: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1634-1634: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1635-1635: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1636-1636: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1637-1637: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1638-1638: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1639-1639: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1640-1640: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1641-1641: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1642-1642: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1643-1643: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1644-1644: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1645-1645: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1646-1646: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1647-1647: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1648-1648: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1653-1653: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1676-1676: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1680-1680: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1682-1682: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1682-1682: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1683-1683: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1684-1684: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1686-1686: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1687-1687: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1688-1688: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1690-1690: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1691-1691: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1692-1692: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1693-1693: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1694-1694: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1695-1695: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1696-1696: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1697-1697: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1698-1698: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1699-1699: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1700-1700: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1701-1701: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1702-1702: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1703-1703: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1704-1704: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1706-1706: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1707-1707: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1709-1709: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1723-1723: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1724-1724: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1725-1725: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1726-1726: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1727-1727: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1728-1728: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1729-1729: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1730-1730: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1731-1731: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1732-1732: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1733-1733: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1734-1734: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1735-1735: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1736-1736: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1737-1737: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1738-1738: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1739-1739: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1740-1740: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1741-1741: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1749-1749: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1777-1777: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1781-1781: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1783-1783: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1783-1783: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1784-1784: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1785-1785: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1787-1787: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1788-1788: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1789-1789: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1791-1791: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1792-1792: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1793-1793: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1794-1794: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1795-1795: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1796-1796: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1797-1797: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1798-1798: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1799-1799: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1800-1800: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1801-1801: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1802-1802: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1803-1803: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1804-1804: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1805-1805: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1807-1807: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1808-1808: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1810-1810: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1816-1816: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1822-1822: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1823-1823: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1824-1824: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1825-1825: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1826-1826: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1827-1827: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1828-1828: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1829-1829: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1830-1830: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1831-1831: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1832-1832: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1833-1833: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1834-1834: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1835-1835: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1836-1836: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1837-1837: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1838-1838: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1846-1846: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1847-1847: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1848-1848: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1849-1849: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1850-1850: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1851-1851: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1852-1852: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1857-1857: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1859-1859: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1881-1881: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1882-1882: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1883-1883: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1884-1884: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1885-1885: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1886-1886: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1887-1887: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1888-1888: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1898-1898: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1902-1902: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1904-1904: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1904-1904: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1905-1905: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1906-1906: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1908-1908: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1909-1909: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1910-1910: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1912-1912: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1913-1913: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1914-1914: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1915-1915: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1916-1916: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1917-1917: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1918-1918: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1919-1919: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1920-1920: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1921-1921: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1922-1922: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1923-1923: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1924-1924: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1925-1925: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1926-1926: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1928-1928: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1929-1929: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1931-1931: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1939-1939: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1940-1940: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1941-1941: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1942-1942: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1943-1943: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1944-1944: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1945-1945: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1946-1946: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1947-1947: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1948-1948: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1949-1949: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1950-1950: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1955-1955: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1965-1965: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1966-1966: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1967-1967: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1968-1968: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1969-1969: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1970-1970: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1971-1971: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1972-1972: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1973-1973: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1974-1974: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1975-1975: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1976-1976: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1978-1978: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1978-1978: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1979-1979: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1980-1980: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1981-1981: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1982-1982: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1984-1984: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1985-1985: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1986-1986: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1987-1987: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1988-1988: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1989-1989: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1990-1990: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1991-1991: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1992-1992: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1993-1993: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1994-1994: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1995-1995: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1996-1996: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1997-1997: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1998-1998: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1999-1999: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2000-2000: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2001-2001: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2003-2003: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2004-2004: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2005-2005: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2006-2006: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2007-2007: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2008-2008: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2010-2010: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2033-2033: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2037-2037: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2039-2039: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2039-2039: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2040-2040: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2041-2041: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2043-2043: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2044-2044: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2045-2045: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2047-2047: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2048-2048: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2049-2049: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2050-2050: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2051-2051: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2052-2052: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2053-2053: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2054-2054: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2055-2055: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2056-2056: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2057-2057: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2058-2058: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2059-2059: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2060-2060: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2061-2061: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2063-2063: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2064-2064: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2066-2066: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2073-2073: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2074-2074: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2075-2075: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2076-2076: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2077-2077: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2078-2078: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2079-2079: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2080-2080: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2081-2081: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2087-2087: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2092-2092: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2093-2093: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2094-2094: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2095-2095: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2096-2096: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2097-2097: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2105-2105: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2106-2106: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2107-2107: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2108-2108: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2109-2109: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2109-2109: Reversed link syntax
(pubBytes[1:])[12:]

(MD011, no-reversed-links)


2110-2110: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2121-2121: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2122-2122: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2131-2131: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2135-2135: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2137-2137: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2137-2137: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2138-2138: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2139-2139: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2141-2141: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2142-2142: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2143-2143: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2145-2145: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2146-2146: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2147-2147: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2148-2148: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2149-2149: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2150-2150: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2151-2151: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2152-2152: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2153-2153: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2154-2154: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2155-2155: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2156-2156: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2157-2157: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2158-2158: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2159-2159: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2161-2161: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2162-2162: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2167-2167: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2168-2168: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2169-2169: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2170-2170: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2171-2171: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2172-2172: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2174-2174: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2181-2181: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2182-2182: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2183-2183: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2184-2184: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2185-2185: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2186-2186: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2187-2187: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2188-2188: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2189-2189: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2190-2190: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2191-2191: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2192-2192: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2199-2199: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2200-2200: Hard tabs
Column: 1

(MD010, no-hard-tabs)

src/evm/prompts/implement-eip3155-tracing.md

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: CI Checks
  • GitHub Check: Nx Cloud - Main Job
  • GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (13)
src/evm/prompts/fix-wasm-build-integration.md (2)

188-213: Ensure C API error-code alignment
Verify that the C-compatible error codes (EVM_ERROR_*) match the Zig-side enum values. Document the mapping explicitly to avoid mismatches.


336-346: Clarify pointer vs. offset in memory APIs
Returning raw pointers from wasm_allocate may not align with WebAssembly’s linear memory model. Prefer returning u32 offsets relative to memory.buffer and document this clearly.

src/evm/prompts/implement-ecadd-precompile.md (1)

56-59: Great addition: Relevant Implementation Files section.

This clarifies the target files for ECADD implementation and will help developers quickly locate where to apply changes.

src/evm/prompts/implement-bls12-381-g1add-precompile.md (1)

3-8: Approve new "What" section with ELI5

The detailed explanation of the G1ADD precompile’s purpose and usage provides clear context and should aid implementers.

src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md (1)

1-9: Approve initial Git workflow instructions

The branch and worktree steps are clear and consistent with project conventions.

src/evm/prompts/implement-eip3155-tracing.md (1)

1-59: Approve tracing prompt structure

The EIP-3155 description, ELI5 analogy, and specification sections are comprehensive and well-organized.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-ecmul-precompile.md (2)

56-56: Great addition of an ELI5 section
This “ELI5” explanation will aid readers in grasping elliptic curve scalar multiplication at a high level.


405-405: Verify hyperlink anchor
The bullet links to #Montgomery_ladder—please test that this anchor exists on the target page (it may be #Montgomery_ladder_algorithm) and correct it if necessary.

EVM_PROMPT_MAPPING.md (3)

1-4: File header clarity
The header succinctly describes the document’s purpose and context.


5-14: Verify all anchor links
Confirm that each [Section](#anchor) link correctly targets its heading—for example, ensure special characters like & and spaces map to the expected GitHub-style anchors.


857-865: Summary is concise and accurate
The closing summary effectively captures the high-level structure and modularity of the EVM implementation.

src/evm/prompts/implement-bls12-381-g2add-precompile.md (2)

1-2: Title is clear and concise.

Good descriptive title for the implementation prompt.


5-9: Verify branch naming conventions.

The prompt suggests snake_case for branch names, but the repository may use kebab-case or a different convention. Please confirm and align this recommendation with the project’s existing guidelines.

Comment on lines +71 to +74
## ELI5

Imagine we built a rocket engine (our Zig EVM) but can't attach it to our spaceship (TypeScript codebase) because the connection system is broken. WASM is like the mounting system that lets our super-fast compiled code work seamlessly with JavaScript. Without fixing this integration, we're stuck using a bicycle engine when we could have rocket propulsion - we need to repair the build system so our TypeScript code can actually harness the 100x performance boost.

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Truncated sentence in ELI5 section
The sentence ends abruptly: “work seamlessly with Java…”. It should be completed (e.g., “JavaScript”) to avoid confusion.

🧰 Tools
🪛 LanguageTool

[misspelling] ~73-~73: This word is normally spelled as one.
Context: ... like the mounting system that lets our super-fast compiled code work seamlessly with Java...

(EN_COMPOUNDS_SUPER_FAST)

🤖 Prompt for AI Agents
In src/evm/prompts/fix-wasm-build-integration.md around lines 71 to 74, the
sentence in the ELI5 section ends abruptly with "work seamlessly with Java…".
Complete this sentence by adding the missing word "JavaScript" to ensure clarity
and avoid confusion.

Comment on lines +5 to +14
## Table of Contents

- [Precompiles](#precompiles)
- [Gas Management](#gas-management)
- [Memory & Performance](#memory--performance)
- [Tracing & Testing](#tracing--testing)
- [EIP & Hardfork Support](#eip--hardfork-support)
- [Architecture & Infrastructure](#architecture--infrastructure)
- [Build & Optimization](#build--optimization)

Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Add missing "Advanced Features" entry to the Table of Contents
The ToC currently omits the “Advanced Features” section, which appears later in the document. Ensure the ToC is comprehensive.

Apply this diff:

 ## Table of Contents
 ...
 - [Build & Optimization](#build--optimization)
+- [Advanced Features](#advanced-features)
 
 ---
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Table of Contents
- [Precompiles](#precompiles)
- [Gas Management](#gas-management)
- [Memory & Performance](#memory--performance)
- [Tracing & Testing](#tracing--testing)
- [EIP & Hardfork Support](#eip--hardfork-support)
- [Architecture & Infrastructure](#architecture--infrastructure)
- [Build & Optimization](#build--optimization)
## Table of Contents
- [Precompiles](#precompiles)
- [Gas Management](#gas-management)
- [Memory & Performance](#memory--performance)
- [Tracing & Testing](#tracing--testing)
- [EIP & Hardfork Support](#eip--hardfork-support)
- [Architecture & Infrastructure](#architecture--infrastructure)
- [Build & Optimization](#build--optimization)
- [Advanced Features](#advanced-features)
🤖 Prompt for AI Agents
In EVM_PROMPT_MAPPING.md around lines 5 to 14, the Table of Contents is missing
an entry for the "Advanced Features" section that exists later in the document.
Add a new bullet point for "Advanced Features" with the appropriate anchor link
in the ToC to ensure it is comprehensive and all sections are represented.

Comment on lines +139 to +174
## EVMONE Context

An analysis of the `evmone` codebase provides the following snippets to aid in the implementation of the BLS12-381 MAP_FP2_TO_G2 precompile.

<evmone>
<file path="https://github.com/ethereum/evmone/blob/master/lib/evmone/state/precompiles.cpp">
```cpp
#include <evmone_precompiles/bls.hpp>

// ... other precompile analysis functions

PrecompileAnalysis bls12_map_fp2_to_g2_analyze(bytes_view, evmc_revision) noexcept
{
// The gas cost is fixed as per the EIP specification.
static constexpr auto BLS12_MAP_FP2_TO_G2_PRECOMPILE_GAS = 23800;
return {BLS12_MAP_FP2_TO_G2_PRECOMPILE_GAS, BLS12_G2_POINT_SIZE};
}

// ... other precompile execution functions

ExecutionResult bls12_map_fp2_to_g2_execute(const uint8_t* input, size_t input_size,
uint8_t* output, [[maybe_unused]] size_t output_size) noexcept
{
// The input must be exactly 128 bytes (two 64-byte field elements for Fp2).
if (input_size != 2 * BLS12_FIELD_ELEMENT_SIZE)
return {EVMC_PRECOMPILE_FAILURE, 0};

// The output buffer must be able to hold a G2 point (256 bytes).
assert(output_size == BLS12_G2_POINT_SIZE);

// Call the cryptographic implementation.
if (!crypto::bls::map_fp2_to_g2(output, &output[128], input))
return {EVMC_PRECOMPILE_FAILURE, 0};

return {EVMC_SUCCESS, BLS12_G2_POINT_SIZE};
}
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Gas cost mismatch between spec and EVMone
The EIP-2537 section states a fixed cost of 110000, but the evmone snippet at lines 153–155 uses 23800. Please verify the final gas cost and align the prompt accordingly.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

159-159: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


166-166: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)

🤖 Prompt for AI Agents
In src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md around lines
139 to 174, the gas cost constant in the evmone code snippet is set to 23800,
which conflicts with the EIP-2537 specification stating a fixed cost of 110000.
Update the gas cost value in the snippet to 110000 to match the EIP
specification and ensure consistency in the prompt.

Comment on lines +75 to +86
### Input Format
```
Input (512 bytes total):
- Point A (256 bytes): G2 point in uncompressed format
- Point B (256 bytes): G2 point in uncompressed format

G2 Point Format (256 bytes):
- x_c0 (64 bytes): Real part of x coordinate
- x_c1 (64 bytes): Imaginary part of x coordinate
- y_c0 (64 bytes): Real part of y coordinate
- y_c1 (64 bytes): Imaginary part of y coordinate
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Coordinate ordering mismatch.

The EIP spec encodes a point as [x_c1, x_c0, y_c1, y_c0] (imaginary then real), but the prompt lists [x_c0, x_c1, y_c0, y_c1]. Swap those fields to match the standard ordering.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

76-76: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In src/evm/prompts/implement-bls12-381-g2add-precompile.md around lines 75 to
86, the coordinate ordering for the G2 point is incorrect. The current order
lists the real parts before the imaginary parts, but the EIP spec requires the
imaginary parts first. Update the G2 Point Format to list coordinates as [x_c1,
x_c0, y_c1, y_c0], swapping the real and imaginary parts accordingly to match
the standard.

roninjin10 and others added 4 commits June 11, 2025 12:13
<summary>
<what>
- Fixed incorrect BLS12-381 G2ADD gas cost from 800 to 600
- Removed invalid EIP-155 logic from ECRECOVER extract_recovery_id function
- Fixed .ts imports to .zig imports in Zig code blocks
- Updated dotenv imports to use proper dotenv/config format
- Fixed Math.pow to use modern ** operator in GeminiClient
- Stored API key consistently in GeminiClient class property
</what>

<why>
- Gas cost errors would cause incorrect gas consumption in EVM execution
- EIP-155 logic is not supported in ECRECOVER precompile per Ethereum spec
- Incorrect file extensions break Zig module imports and compilation
- Proper dotenv importing prevents potential runtime errors
- Modern operators improve code quality and performance
- Consistent API key storage prevents redundant environment variable access
</why>

<how>
- Updated gas cost constants in BLS12-381 G2ADD precompile documentation
- Modified extract_recovery_id to only accept v values of 27/28 per EVM spec
- Replaced .ts with .zig in Zig import statements across prompt files
- Updated import statements to use dotenv/config pattern
- Replaced Math.pow(2, x) with 2 ** x in exponential backoff calculation
- Added private apiKey property to GeminiClient and used consistently
</how>
</summary>

<prompt>
Please check out review comments in #1828 and address the critical issues mentioned by CodeRabbit AI, specifically:
- Incorrect gas cost in BLS12-381 G2ADD precompile (800 → 600)
- Remove EIP-155 logic from extract_recovery_id function in ECRECOVER
- Fix module import paths in Zig code (.ts → .zig)
- Improve cross-platform file discovery and API key storage in scripts
- Use modern operators and fix dotenv imports
</prompt>

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copy link
Contributor
@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 7

🧹 Nitpick comments (7)
src/evm/prompts/implement-bls12-381-g2add-precompile.md (1)

11-43: Missing fenced code block languages.
Several code fences (e.g., the XML commit template and G2 point format blocks) lack a language identifier. Add appropriate tags (e.g., xml, bash, text) for clarity and lint compliance.

Also applies to: 76-86

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-ecrecover-precompile.md (2)

9-12: Add syntax highlighting to the commit message example
The fenced code block starting at line 11 would render more clearly with a language identifier (e.g., ```xml).


56-58: Tone down intensifier in ELI5 section
Replace “very special pen” with “special pen” to make the explanation more concise.

- When someone signs a transaction in Ethereum, it's like signing a document with a very special pen that creates a unique mathematical signature.
+ When someone signs a transaction in Ethereum, it's like signing a document with a special pen that creates a unique mathematical signature.
🧰 Tools
🪛 LanguageTool

[style] ~58-~58: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...reum, it's like signing a document with a very special pen that creates a unique mathematical ...

(EN_WEAK_ADJECTIVE)

scripts/lib/GeminiClient.ts (1)

29-33: Remove trivially-inferrable type annotations

maxRetries and baseDelay are already inferred as number from their default values, triggering noInferrableTypes. Dropping the explicit annotations keeps the signature concise and silences the linter.

-async function retryWithBackoff<T>(
-  operation: () => Promise<T>,
-  maxRetries: number = 3,
-  baseDelay: number = 1000,
+async function retryWithBackoff<T>(
+  operation: () => Promise<T>,
+  maxRetries = 3,
+  baseDelay = 1000,
 ): Promise<T> {
🧰 Tools
🪛 Biome (1.9.4)

[error] 31-31: This type annotation is trivially inferred from its initialization.

Safe fix: Remove the type annotation.

(lint/style/noInferrableTypes)


[error] 32-32: This type annotation is trivially inferred from its initialization.

Safe fix: Remove the type annotation.

(lint/style/noInferrableTypes)

scripts/gemini.ts (3)

164-166: Hard-coded 10 s delay limits throughput

Serial 10 s sleeps after every resource multiply total run-time by prompts × resources. Consider:

  • Making delay configurable via CLI/env.
  • Parallelising different resources with a rate-limit pool.

Not critical but improves developer experience on large prompt sets.


184-188: readdirSync is non-recursive – nested prompts ignored

If prompt files live in sub-directories (src/evm/prompts/erc/…), they won’t be processed.

Either switch to glob/fast-glob, or a simple recursive helper:

import { readdirSync, statSync } from 'node:fs'

function walk(dir: string): string[] {
  return readdirSync(dir).flatMap((entry) => {
    const full = join(dir, entry)
    return statSync(full).isDirectory() ? walk(full) : [full]
  })
}

const promptFiles = walk(promptsDir).filter((f) => f.endsWith('.md'))

215-218: Sequential processing – consider a concurrency pool

for … of processes prompts one after another. With ~10 s inter-resource delays this scales poorly.

Introduce a bounded concurrency queue (e.g., p-limit) so multiple prompts run in parallel while respecting API QPS caps.

Not mandatory for correctness but yields significant speed-ups on big batches.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 855a384 and aa9e4e2.

📒 Files selected for processing (5)
  • biome.json (1 hunks)
  • scripts/gemini.ts (1 hunks)
  • scripts/lib/GeminiClient.ts (1 hunks)
  • src/evm/prompts/implement-bls12-381-g2add-precompile.md (1 hunks)
  • src/evm/prompts/implement-ecrecover-precompile.md (6 hunks)
✅ Files skipped from review due to trivial changes (1)
  • biome.json
🧰 Additional context used
🪛 LanguageTool
src/evm/prompts/implement-ecrecover-precompile.md

[style] ~58-~58: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...reum, it's like signing a document with a very special pen that creates a unique mathematical ...

(EN_WEAK_ADJECTIVE)


[grammar] ~947-~947: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...saction-level signature validation, not the precompile itself. The revm code correctly ...

(A_INFINITIVE)


[typographical] ~964-~964: Two consecutive dots
Context: ...zeroing the first 12 bytes of the hash (hash[..12].fill(0)) is a direct way to achieve...

(DOUBLE_PUNCTUATION)


[typographical] ~976-~976: Two consecutive dots
Context: ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~1075-~1075: Two consecutive dots
Context: ...Gas ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~1229-~1229: Two consecutive dots
Context: ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[uncategorized] ~1311-~1311: Did you just mean “,” or “)”?
Context: ...NG_CHECK_ADDRESS", "BLAKE2F_ADDRESS", ) ECRECOVER_ADDRESS = hex_to_address("0x...

(COMMA_PERIOD)


[grammar] ~1753-~1753: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...ead) is explicitly not performed by the precompile, which is a subtle but important detail...

(A_INFINITIVE)

src/evm/prompts/implement-bls12-381-g2add-precompile.md

[misspelling] ~58-~58: This word is normally spelled as one.
Context: ...G2 addition precompile is like having a super-fast, built-in function that can add two poi...

(EN_COMPOUNDS_SUPER_FAST)


[uncategorized] ~60-~60: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ke this: if you have two GPS coordinates and you want to find a third coordinate tha...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~60-~60: The verb ‘precompile’ is plural. Did you mean: “precompiles”? Did you use a verb instead of a noun?
Context: ..."sum" in this special math system, this precompile does that calculation instantly. The "G...

(PLURAL_VERB_AFTER_THIS)


[grammar] ~114-~114: After the number ‘800’, use a plural noun. Did you mean “gases”, “gasses”?
Context: ... Gas Accuracy: Consumes exactly 800 gas per operation 5. Edge Cases: Handle...

(CD_NNU)


[uncategorized] ~964-~964: Loose punctuation mark.
Context: ..... "BLS12_G2ADD_ADDRESS", # ... ) # ... BLS12_G2ADD_ADDRESS = hex_to_add...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~1225-~1225: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Gas returns the gas required to execute the precompile. func (c *blsG2Add) RequiredGas(input [...

(A_INFINITIVE)


[grammar] ~1328-~1328: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Gas returns the gas required to execute the precompile. func (p *bls12G2Add) RequiredGas(input...

(A_INFINITIVE)


[uncategorized] ~1564-~1564: You might be missing the article “the” here.
Context: ...points a and b and stores the result in receiver. func (g *G2) Add(a, b *G2) *G2 { g.p....

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~1950-~1950: Loose punctuation mark.
Context: ...hub.com/supranational/blst/bindings/go" ) var ( errG2PointNotOnCurve = errors...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~2081-~2081: Loose punctuation mark.
Context: ...ereum/go-ethereum/crypto/bls12381/blst" ) // G2 is a point in G2. type G2 struct...

(UNLIKELY_OPENING_PUNCTUATION)


[formatting] ~2111-~2111: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ... *G2) *G2 { // We use p2 as accumulator, because it is likely to be changed anyways. p2...

(COMMA_BEFORE_BECAUSE)


[style] ~2111-~2111: The word ‘anyways’ is informal American English. Did you mean “anyway”?
Context: ...tor, because it is likely to be changed anyways. p2.p.Add(p1.p) return &G2{p: p2.p} }...

(ANYWAYS)


[uncategorized] ~2249-~2249: Loose punctuation mark.
Context: ...G2 operation // ... (other constants) ) ``` <file path="https://github...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~2324-~2324: Loose punctuation mark.
Context: ...github.com/ethereum/go-ethereum/params" ) // bls12381G2Add implements the BLS12-...

(UNLIKELY_OPENING_PUNCTUATION)


[style] ~2381-~2381: Using many exclamation marks might seem excessive (in this case: 39 exclamation marks for a text that’s 26378 characters long)
Context: ...bgroup. if !bls12381.IsG2OnCurve(p) || !bls12381.IsG2InSubgroup(p) { return ni...

(EN_EXCESSIVE_EXCLAMATION)

🪛 markdownlint-cli2 (0.17.2)
src/evm/prompts/implement-bls12-381-g2add-precompile.md

11-11: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


76-76: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


135-135: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


155-155: Bare URL used
null

(MD034, no-bare-urls)


162-162: Bare URL used
null

(MD034, no-bare-urls)


165-165: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


291-291: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


297-297: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


310-310: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


329-329: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


413-413: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


436-436: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


651-651: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


657-657: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


736-736: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


755-755: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


763-763: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


838-838: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


961-961: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


961-961: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


967-967: Trailing punctuation in heading
Punctuation: '...'

(MD026, no-trailing-punctuation)


969-969: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


969-969: Trailing punctuation in heading
Punctuation: '...'

(MD026, no-trailing-punctuation)


970-970: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1017-1017: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1041-1041: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1227-1227: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1228-1228: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1232-1232: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1233-1233: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1234-1234: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1235-1235: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1236-1236: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1237-1237: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1238-1238: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1239-1239: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1240-1240: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1241-1241: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1242-1242: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1243-1243: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1244-1244: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1245-1245: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1246-1246: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1247-1247: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1248-1248: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1250-1250: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1259-1259: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1267-1267: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1268-1268: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1269-1269: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1270-1270: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1271-1271: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1272-1272: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1273-1273: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1274-1274: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1275-1275: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1276-1276: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1277-1277: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1278-1278: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1279-1279: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1281-1281: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1282-1282: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1283-1283: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1284-1284: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1285-1285: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1286-1286: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1287-1287: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1288-1288: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1289-1289: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1290-1290: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1291-1291: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1292-1292: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1298-1298: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1299-1299: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1300-1300: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1301-1301: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1302-1302: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1303-1303: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1304-1304: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1305-1305: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1306-1306: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1307-1307: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1308-1308: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1309-1309: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1310-1310: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1311-1311: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1330-1330: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1334-1334: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1335-1335: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1336-1336: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1337-1337: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1339-1339: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1339-1339: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1340-1340: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1341-1341: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1342-1342: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1343-1343: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1344-1344: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1345-1345: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1346-1346: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1347-1347: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1348-1348: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1353-1353: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1354-1354: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1355-1355: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1356-1356: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1357-1357: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1359-1359: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1359-1359: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1360-1360: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1361-1361: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1362-1362: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1363-1363: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1364-1364: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1365-1365: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1367-1367: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1368-1368: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1369-1369: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1370-1370: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1371-1371: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1372-1372: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1373-1373: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1374-1374: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1375-1375: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1376-1376: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1377-1377: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1378-1378: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1379-1379: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1384-1384: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1385-1385: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1386-1386: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1388-1388: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1393-1393: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1395-1395: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1396-1396: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1397-1397: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1398-1398: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1399-1399: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1400-1400: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1401-1401: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1402-1402: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1403-1403: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1404-1404: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1405-1405: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1406-1406: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1407-1407: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1416-1416: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1417-1417: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1418-1418: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1419-1419: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1420-1420: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1421-1421: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1422-1422: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1423-1423: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1424-1424: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1430-1430: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1431-1431: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1432-1432: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1433-1433: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1434-1434: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1435-1435: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1436-1436: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1437-1437: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1438-1438: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1439-1439: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1440-1440: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1446-1446: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1447-1447: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1448-1448: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1449-1449: Hard t 10000 abs
Column: 1

(MD010, no-hard-tabs)


1450-1450: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1451-1451: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1452-1452: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1453-1453: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1454-1454: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1455-1455: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1457-1457: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1457-1457: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1458-1458: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1459-1459: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1460-1460: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1461-1461: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1462-1462: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1463-1463: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1464-1464: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1465-1465: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1466-1466: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1467-1467: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1473-1473: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1504-1504: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1505-1505: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1506-1506: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1507-1507: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1508-1508: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1509-1509: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1510-1510: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1511-1511: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1512-1512: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1513-1513: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1514-1514: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1515-1515: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1516-1516: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1517-1517: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1518-1518: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1519-1519: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1520-1520: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1531-1531: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1535-1535: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1536-1536: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1537-1537: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1538-1538: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1539-1539: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1540-1540: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1541-1541: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1542-1542: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1543-1543: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1544-1544: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1545-1545: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1546-1546: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1547-1547: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1548-1548: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1549-1549: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1550-1550: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1551-1551: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1552-1552: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1561-1561: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1565-1565: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1566-1566: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1567-1567: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1578-1578: Hard tabs
Column: 3

(MD010, no-hard-tabs)


1583-1583: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1584-1584: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1585-1585: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1586-1586: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1587-1587: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1588-1588: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1589-1589: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1590-1590: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1591-1591: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1592-1592: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1593-1593: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1594-1594: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1595-1595: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1596-1596: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1597-1597: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1598-1598: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1599-1599: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1600-1600: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1602-1602: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1602-1602: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1603-1603: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1604-1604: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1605-1605: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1606-1606: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1607-1607: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1609-1609: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1610-1610: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1611-1611: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1612-1612: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1613-1613: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1614-1614: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1615-1615: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1616-1616: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1617-1617: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1618-1618: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1627-1627: Hard tabs
Column: 3

(MD010, no-hard-tabs)


1632-1632: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1633-1633: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1634-1634: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1635-1635: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1636-1636: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1637-1637: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1638-1638: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1639-1639: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1640-1640: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1641-1641: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1642-1642: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1644-1644: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1651-1651: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1652-1652: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1653-1653: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1654-1654: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1655-1655: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1656-1656: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1657-1657: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1658-1658: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1659-1659: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1660-1660: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1661-1661: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1667-1667: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


1683-1683: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1684-1684: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1685-1685: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1686-1686: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1687-1687: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1688-1688: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1689-1689: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1690-1690: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1691-1691: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1692-1692: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1693-1693: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1694-1694: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1695-1695: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1696-1696: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1697-1697: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1698-1698: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1699-1699: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1709-1709: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1713-1713: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1714-1714: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1715-1715: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1716-1716: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1717-1717: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1718-1718: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1719-1719: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1720-1720: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1720-1720: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1722-1722: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1722-1722: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1723-1723: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1724-1724: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1725-1725: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1726-1726: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1727-1727: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1728-1728: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1729-1729: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1731-1731: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1733-1733: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1734-1734: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1735-1735: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1737-1737: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1738-1738: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1744-1744: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1745-1745: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1746-1746: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1747-1747: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1748-1748: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1749-1749: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1750-1750: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1751-1751: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1752-1752: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1753-1753: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1754-1754: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1755-1755: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1756-1756: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1757-1757: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1758-1758: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1759-1759: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1760-1760: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1761-1761: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1762-1762: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1764-1764: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1764-1764: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1765-1765: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1766-1766: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1767-1767: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1768-1768: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1775-1775: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1776-1776: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1777-1777: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1778-1778: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1779-1779: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1780-1780: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1781-1781: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1782-1782: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1783-1783: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1784-1784: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1785-1785: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1787-1787: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1787-1787: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1792-1792: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1793-1793: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1794-1794: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1795-1795: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1796-1796: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1797-1797: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1798-1798: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1799-1799: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1801-1801: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1807-1807: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1808-1808: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1809-1809: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1810-1810: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1816-1816: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1817-1817: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1818-1818: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1819-1819: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1820-1820: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1821-1821: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1822-1822: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1823-1823: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1837-1837: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1838-1838: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1839-1839: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1840-1840: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1841-1841: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1842-1842: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1843-1843: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1844-1844: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1845-1845: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1846-1846: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1847-1847: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1848-1848: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1849-1849: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1850-1850: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1851-1851: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1852-1852: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1853-1853: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1854-1854: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1855-1855: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1856-1856: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1857-1857: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1858-1858: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1859-1859: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1860-1860: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1861-1861: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1862-1862: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1863-1863: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1864-1864: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1865-1865: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1866-1866: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1867-1867: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1868-1868: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1869-1869: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1870-1870: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1880-1880: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1884-1884: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1886-1886: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1893-1893: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1895-1895: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1899-1899: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1900-1900: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1905-1905: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1906-1906: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1907-1907: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1908-1908: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1909-1909: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1910-1910: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1911-1911: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1912-1912: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1913-1913: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1914-1914: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1915-1915: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1916-1916: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1917-1917: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1918-1918: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1919-1919: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1920-1920: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1928-1928: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1929-1929: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1930-1930: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1931-1931: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1932-1932: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1933-1933: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1934-1934: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1935-1935: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1936-1936: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1937-1937: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1938-1938: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1948-1948: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1950-1950: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1950-1950: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1954-1954: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1955-1955: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1956-1956: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1957-1957: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1958-1958: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1959-1959: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1960-1960: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1961-1961: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1969-1969: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1973-1973: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1974-1974: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1975-1975: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1976-1976: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1977-1977: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1978-1978: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1989-1989: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1990-1990: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1991-1991: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1992-1992: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1993-1993: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1994-1994: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1995-1995: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1996-1996: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1998-1998: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1998-1998: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1999-1999: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2000-2000: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2001-2001: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2002-2002: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2003-2003: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2004-2004: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2005-2005: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2006-2006: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2007-2007: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2008-2008: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2009-2009: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2010-2010: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2011-2011: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2012-2012: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2013-2013: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2014-2014: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2015-2015: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2016-2016: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2017-2017: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2018-2018: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2019-2019: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2020-2020: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2025-2025: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2027-2027: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2050-2050: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2054-2054: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2055-2055: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2056-2056: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2057-2057: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2058-2058: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2059-2059: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2060-2060: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2061-2061: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2062-2062: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2063-2063: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2064-2064: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2065-2065: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2066-2066: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2067-2067: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2068-2068: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2077-2077: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2078-2078: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2079-2079: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2081-2081: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2081-2081: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2086-2086: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2091-2091: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2099-2099: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2100-2100: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2101-2101: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2102-2102: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2103-2103: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2104-2104: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2105-2105: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2106-2106: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2110-2110: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2111-2111: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2112-2112: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2113-2113: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2118-2118: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2121-2121: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2132-2132: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2133-2133: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2134-2134: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2135-2135: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2136-2136: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2137-2137: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2138-2138: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2139-2139: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2140-2140: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2141-2141: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2147-2147: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2148-2148: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2149-2149: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2150-2150: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2151-2151: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2152-2152: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2153-2153: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2154-2154: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2155-2155: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2156-2156: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2157-2157: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2158-2158: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2159-2159: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2160-2160: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2161-2161: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2162-2162: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2163-2163: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2164-2164: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2165-2165: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2166-2166: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2167-2167: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2168-2168: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2169-2169: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2170-2170: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2171-2171: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2172-2172: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2173-2173: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2177-2177: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2178-2178: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2180-2180: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2181-2181: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2183-2183: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2184-2184: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2186-2186: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2187-2187: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2189-2189: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2190-2190: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2192-2192: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2193-2193: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2197-2197: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2198-2198: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2199-2199: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2200-2200: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2201-2201: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2202-2202: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2203-2203: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2204-2204: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2206-2206: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2207-2207: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2209-2209: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2210-2210: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2211-2211: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2213-2213: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2214-2214: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2215-2215: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2216-2216: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2217-2217: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2218-2218: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2219-2219: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2220-2220: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2221-2221: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2222-2222: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2223-2223: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2224-2224: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2225-2225: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2226-2226: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2227-2227: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2228-2228: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2229-2229: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2230-2230: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2231-2231: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2238-2238: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2240-2240: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2240-2240: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2241-2241: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2242-2242: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2243-2243: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2244-2244: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2245-2245: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2246-2246: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2247-2247: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2249-2249: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2252-2252: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2262-2262: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2264-2264: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2266-2266: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2267-2267: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2269-2269: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2270-2270: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2271-2271: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2272-2272: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2274-2274: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2275-2275: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2276-2276: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2277-2277: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2278-2278: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2279-2279: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2280-2280: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2281-2281: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2282-2282: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2283-2283: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2285-2285: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2287-2287: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2288-2288: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2289-2289: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2290-2290: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2291-2291: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2293-2293: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2300-2300: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2320-2320: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2322-2322: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2322-2322: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2323-2323: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2324-2324: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2332-2332: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2336-2336: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2337-2337: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2338-2338: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2339-2339: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2340-2340: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2341-2341: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2342-2342: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2343-2343: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2344-2344: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2345-2345: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2346-2346: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2347-2347: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2348-2348: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2349-2349: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2350-2350: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2352-2352: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2352-2352: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2353-2353: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2354-2354: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2361-2361: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2362-2362: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2363-2363: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2364-2364: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2365-2365: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2366-2366: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2367-2367: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2368-2368: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2369-2369: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2370-2370: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2371-2371: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2372-2372: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2373-2373: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2374-2374: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2375-2375: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2376-2376: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2377-2377: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2378-2378: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2379-2379: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2380-2380: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2381-2381: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2382-2382: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2383-2383: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2384-2384: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2386-2386: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2393-2393: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2394-2394: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2401-2401: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2402-2402: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2403-2403: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2404-2404: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2409-2409: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2410-2410: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2411-2411: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2412-2412: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2413-2413: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2414-2414: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2415-2415: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2416-2416: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2417-2417: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2418-2418: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2424-2424: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2425-2425: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2426-2426: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2427-2427: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2428-2428: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2429-2429: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2430-2430: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2431-2431: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2432-2432: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2433-2433: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2434-2434: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2435-2435: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2436-2436: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2437-2437: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2438-2438: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2439-2439: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2440-2440: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2441-2441: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2446-2446: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2447-2447: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2448-2448: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2449-2449: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2450-2450: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2451-2451: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2452-2452: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2453-2453: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2454-2454: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2455-2455: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2456-2456: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2457-2457: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2458-2458: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2459-2459: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2460-2460: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2461-2461: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2462-2462: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2471-2471: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2472-2472: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2473-2473: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2474-2474: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2475-2475: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2476-2476: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2477-2477: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2478-2478: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2479-2479: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2481-2481: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

🪛 Biome (1.9.4)
scripts/lib/GeminiClient.ts

[error] 31-31: This type annotation is trivially inferred from its initialization.

Safe fix: Remove the type annotation.

(lint/style/noInferrableTypes)


[error] 32-32: This type annotation is trivially inferred from its initialization.

Safe fix: Remove the type annotation.

(lint/style/noInferrableTypes)


[error] 65-65: This type annotation is trivially inferred from its initialization.

Safe fix: Remove the type annotation.

(lint/style/noInferrableTypes)

⏰ Context from checks skipped due to timeout of 90000ms (2)
  • GitHub Check: CI Checks
  • GitHub Check: Nx Cloud - Main Job
🔇 Additional comments (4)
src/evm/prompts/implement-ecrecover-precompile.md (3)

218-219: Zig imports follow conventions
The @import statements for U256 and B256 are clear, correctly named, and grouped logically.


193-195: Strict legacy v validation is correct
The snippet now enforces that only v values of 27 or 28 are accepted, rejecting EIP-155 formats at the precompile layer.


294-299: Ensure invalid v fallback aligns with spec
extract_recovery_id returns 255 for any v outside 27/28, which triggers the empty-output path as in reference implementations.

scripts/lib/GeminiClient.ts (1)

74-78: tokenLimit hard-coded to 1 000 000 – verify with Gemini docs

The public preview models currently cap requests around 32k tokens. Using 1_000_000 silently disables chunking and guarantees a 400-range API error once input size crosses the real limit.

Confirm the official limit and either:

-this.tokenLimit = 1_000_000; // 1M tokens for gemini-2.5-pro
+// Gemini 2.5 preview advertises ~32k context window (subject to change)
+this.tokenLimit = 32_768;

or expose it as a constructor param with a sane default.

10000
Comment on lines +380 to +382
- **Gas Cost**: 600 (fixed cost)
+ **Gas Cost**: 600 (fixed cost)
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Redundant diff in Prompt Corrections.
The diff shows identical lines removed and added (**Gas Cost**: 600). Please correct or remove this redundant diff.

🤖 Prompt for AI Agents
In src/evm/prompts/implement-bls12-381-g2add-precompile.md around lines 380 to
382, the diff shows the same line "**Gas Cost**: 600 (fixed cost)" being removed
and added, which is redundant. Remove this unnecessary diff so that the
unchanged line is not included in the changes.

Comment on lines +110 to +117

1. **EIP-2537 Compliance**: Fully implements EIP-2537 G2ADD specification
2. **Point Validation**: Correctly validates G2 points and subgroup membership
3. **Addition Correctness**: Produces correct G2 point addition results
4. **Gas Accuracy**: Consumes exactly 800 gas per operation
5. **Edge Cases**: Handles infinity points and identity operations correctly
6. **Integration**: Works with existing precompile infrastructure

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Incorrect gas in Success Criteria.
The criteria specify 800 gas at line 114, but the prompt earlier and the EIP-2537 spec use 600. Update this to 600 to maintain consistency.

🧰 Tools
🪛 LanguageTool

[grammar] ~114-~114: After the number ‘800’, use a plural noun. Did you mean “gases”, “gasses”?
Context: ... Gas Accuracy: Consumes exactly 800 gas per operation 5. Edge Cases: Handle...

(CD_NNU)

🤖 Prompt for AI Agents
In src/evm/prompts/implement-bls12-381-g2add-precompile.md around lines 110 to
117, the success criteria incorrectly state the gas consumption as 800 gas.
Update this value to 600 gas to match the earlier prompt and the EIP-2537
specification for consistency.

Comment on lines +100 to +108
const response = await fetch(
`https://generativelanguage.googleapis.com/v1beta/models/${this.modelName}:generateContent?key=${this.apiKey}`,
{
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify(requestBody),
},
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

fetch availability & API-key leakage

  1. fetch is only global from Node ≥ 20 and behind the --experimental-fetch flag in LTS 18. Import node-fetch (or enable the lib in tsconfig) to avoid build failures.
  2. Passing the API key as a query string leaks it to proxies and logs. Use an Authorization: Bearer header instead.
-import fetch from 'node-fetch' // at top of file
-
-const response = await fetch(
-  `https://generativelanguage.googleapis.com/v1beta/models/${this.modelName}:generateContent?key=${this.apiKey}`,
+import fetch from 'node-fetch'            // ensure polyfill
+
+const response = await fetch(
+  `https://generativelanguage.googleapis.com/v1beta/models/${this.modelName}:generateContent`,
   {
     method: 'POST',
     headers: {
       'Content-Type': 'application/json',
-      // Prefer header-based auth
+      Authorization: `Bearer ${this.apiKey}`,
     },
     body: JSON.stringify(requestBody),
   },
 )

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In scripts/lib/GeminiClient.ts around lines 100 to 108, the code uses the global
fetch which is not available in Node versions below 20 without flags, causing
build failures. Import the 'node-fetch' package to ensure fetch is available.
Also, the API key is currently passed in the URL query string, risking exposure
in logs and proxies; instead, remove the key from the URL and include it
securely in the request headers as 'Authorization: Bearer <apiKey>'.

Comment on lines +160 to +176
10000
for (const part of parts) {
const partTokens = await this.countTokens([{ parts: [part] }]);

if (currentChunkTokens + partTokens > this.tokenLimit && currentChunk.length > 0) {
// Process current chunk
const chunkParts = [...fixedParts, ...currentChunk];
onChunkStart?.(chunkNumber, chunkParts.length);

const response = await this.generateContent([{ parts: chunkParts }]);
responses.push(response);

onChunkComplete?.(chunkNumber, response);

// Start new chunk
currentChunk = [part];
currentChunkTokens = fixedTokens + partTokens;
chunkNumber++;
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Chunking fails when fixedParts alone exceed the limit

currentChunkTokens is initialised with fixedTokens. If fixedTokens > tokenLimit, the algorithm still builds a request that is guaranteed to fail.

Quick safeguard:

-const fixedTokens = ...
-if (fixedTokens > this.tokenLimit) {
-  throw new Error(
-    `Fixed parts already exceed the token limit (${fixedTokens} > ${this.tokenLimit}). ` +
-    'Reduce static context or split it further.'
-  )
-}

Add this check right after computing fixedTokens and before entering the loop.

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In scripts/lib/GeminiClient.ts around lines 160 to 176, the code does not handle
the case where fixedTokens alone exceed the tokenLimit, causing the chunking to
fail. To fix this, add a check immediately after calculating fixedTokens and
before the loop starts to verify if fixedTokens is greater than tokenLimit. If
it is, handle this scenario appropriately, such as throwing an error or
adjusting the logic to prevent building an invalid request.

Comment on lines +37 to +41
} catch (error) {
console.warn(
` ⚠️ Attempt ${attempt}/${maxRetries} failed: ${error.message}`,
);

Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

error is typed as unknown – accessing .message is unsafe

catch (error) has the unknown type in TS ≥4.4. Accessing error.message without narrowing breaks no-unsafe-any rules and may crash at runtime.

-} catch (error) {
-  console.warn(
-    `    ⚠️  Attempt ${attempt}/${maxRetries} failed: ${error.message}`,
-  );
+} catch (error) {
+  const message =
+    typeof error === 'object' && error && 'message' in error
+      ? (error as { message: string }).message
+      : String(error)
+  console.warn(`    ⚠️  Attempt ${attempt}/${maxRetries} failed: ${message}`)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
} catch (error) {
console.warn(
` ⚠️ Attempt ${attempt}/${maxRetries} failed: ${error.message}`,
);
} catch (error) {
const message =
typeof error === 'object' && error && 'message' in error
? (error as { message: string }).message
: String(error)
console.warn(` ⚠️ Attempt ${attempt}/${maxRetries} failed: ${message}`)
🤖 Prompt for AI Agents
In scripts/lib/GeminiClient.ts around lines 37 to 41, the catch block treats the
error as unknown, but accesses error.message directly, which is unsafe in
TypeScript 4.4 and above. To fix this, add a type guard to check if error is an
object and has a message property before accessing it, or safely convert the
error to a string for logging. This ensures compliance with no-unsafe-any rules
and prevents runtime crashes.

Comment on lines +136 to +146
const taskDescriptionParts = parts.slice(0, 2) // task description + zig header
const zigParts = parts.slice(2, 2 + zigFiles.length) // zig files
const resourceHeaderIndex = 2 + zigFiles.length
const resourceHeader = parts[resourceHeaderIndex] // resource header
const resourceFileParts = parts.slice(resourceHeaderIndex + 1) // resource files

// Fixed parts that should be included in every chunk
const fixedParts = [...taskDescriptionParts, ...zigParts, resourceHeader]

// Generate content with automatic chunking
const allResponses = await gemini.generateContentWithChunking(resourceFileParts, fixedParts, {
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Possible overflow when Zig context exceeds Gemini limit

fixedParts includes the entire Zig EVM plus resource header. If that set alone breaches the token window, generateContentWithChunking inevitably throws (see previous comment).

Before invoking the client:

const { exceeds, tokens } = await gemini.wouldExceedLimit(fixedParts)
if (exceeds) {
  console.error(
    `❌ Fixed context for ${resource.name} is ${tokens} tokens – exceeds model limit. ` +
    'Trim Zig snippets or split them by module.'
  )
  return
}

Fail fast or down-sample the Zig files to avoid wasting API calls.

🤖 Prompt for AI Agents
In scripts/gemini.ts around lines 136 to 146, the fixedParts array may exceed
the token limit for the Gemini model, causing generateContentWithChunking to
throw an error. Before calling generateContentWithChunking, use
gemini.wouldExceedLimit on fixedParts to check if the token count exceeds the
model limit. If it does, log an error indicating the fixed context is too large
and return early to avoid unnecessary API calls. This prevents overflow by
failing fast when the fixed context is too large.

@vercel vercel bot temporarily deployed to Preview – node June 11, 2025 19:31 Inactive
roninjin10 and others added 3 commits June 11, 2025 12:31
<summary>
<what>
- Applied professional prompt engineering principles to all 63 EVM prompt files
- Streamlined git workflow sections from 50+ lines to 4 essential lines
- Added clear objective statements with specific, actionable goals
- Implemented consistent Success Criteria and Critical Constraints sections
- Standardized section headers for better navigation and consistency
- Enhanced some prompts with comprehensive TDD strategy sections
- Removed verbose git workflow templates and redundant content
</what>

<why>
- Improve prompt clarity and effectiveness for AI implementation
- Reduce cognitive load with concise, focused instructions
- Ensure consistent structure across all EVM implementation prompts
- Provide explicit success criteria and constraints for better outcomes
- Follow Anthropic prompt engineering best practices for optimal results
- Make prompts more actionable and less verbose while maintaining technical depth
</why>

<how>
- Replaced verbose "Branch Setup" sections with streamlined 4-line Development Workflow
- Added specific objectives based on each file's technical content instead of placeholders
- Implemented standardized Success Criteria with checkmark format for clear expectations
- Added Critical Constraints sections with explicit do's and don'ts
- Standardized section naming: "Ethereum Specification" → "Specification"
- Enhanced key files with Test-Driven Development strategies and comprehensive testing guidance
- Maintained all technical specifications, code examples, and reference implementations
</how>
</summary>

<prompt>
Can you now go through every src/evm/prompt/*.md and just review the prompt and clean it up. Content should be the same but you should simply think like a prompt engineer and improve the prompt. You can look at our source code in src/evm/**/*.zig or you can look at go-ethereum or revm or evmone which are all in the repo. ethereum-specs is also cloned in root of repo. Go through every prompt just polishing the prompts like a great prompt engineer at anthropic optimizing it to produce the best result. We already did a good job of adding content so this is a polish step.
</prompt>

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
roninjin10 and others added 4 commits June 11, 2025 12:53
…VM, Geth, and EVMOne

Enhanced the inspector framework prompt with comprehensive production-ready implementation patterns:

**REVM Patterns:**
- Trait-based inspector system with optional hooks and compile-time introspection
- Two-phase execution patterns with override capabilities
- Complete inspection loop integration with frame lifecycle management

**Geth Patterns:**
- Comprehensive hook system with granular execution control
- Rich context objects with detailed execution state
- Atomic interrupt handling and configurable tracing detail levels
- Advanced structured logger with memory chunking and legacy JSON compatibility

**EVMOne Patterns:**
- Sophisticated tracer chaining system with notification forwarding
- Stack-based context management for nested calls
- Histogram and instruction tracers with detailed output formatting

**Performance Optimizations:**
- Zero-cost abstractions with compile-time method resolution
- Pre-allocated buffers and configurable detail levels
- Atomic operations for concurrent access and inline hints for hot paths

**Complete Integration:**
- Full execution loop integration with proper opcode handling
- Frame lifecycle management across call boundaries
- System call handling and comprehensive error management

The prompt now provides a complete reference for implementing a high-performance,
flexible inspector framework in Zig, drawing from battle-tested approaches
while leveraging Zig's unique compile-time capabilities.

<prompt>
Analyze prompt files in src/evm/prompts/*.md and enhance them with missing context from available resources (geth, revm, evmone, execution-specs, our source code). Think hard as if you were tasked with doing this prompt if you have enough context. If there is some additional context you wish were added please go ahead and add it. Move on if it has sufficient context already.
</prompt>

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copy link
Contributor
@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🔭 Outside diff range comments (1)
src/evm/prompts/fix-wasm-build-integration.md (1)

122-129: ⚠️ Potential issue

Sync TypeScript interface with WASM exports.
The JS interface omits key methods like evm_set_storage D7AE and evm_get_storage defined in the Zig API section. Update the interface to cover all exported functions.

♻️ Duplicate comments (2)
src/evm/prompts/implement-bls12-381-g1add-precompile.md (1)

4-6: Remove duplicate ELI5 section.
Two ELI5 blocks (around lines 4–6 and 108–110) convey the same content. Keep only one to eliminate repetition.

Also applies to: 108-110

src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md (1)

139-139: Duplicate: gas cost discrepancy
This evmone snippet confirms the gas cost of 23800, reinforcing the need to update the spec at line 67.

🧹 Nitpick comments (50)
src/evm/prompts/implement-bundle-state-management.md (10)

3-3: Clarify the “You are…” directive
The opening sentence succinctly states the goal, but it’s missing motivation. Consider briefly mentioning why native Zig bundle management is preferable to the snapshot–undo-log approaches in other clients.


5-9: Condense the Development Workflow
This section is useful, but embedding every git command may distract from the core spec. Suggest moving detailed worktree and commit conventions to a CONTRIBUTING.md reference, keeping this prompt focused.


16-24: Refine ELI5 analogy for brevity
The “ELI5” section is engaging but quite long. You might trim items 1–4 to two sentences total, since later readers will skip straight to the spec.


26-30: Align terminology with Zig code
You define “Bundle” and “Checkpoint” here, but elsewhere use “bundle” and “checkpoint” inconsistently in camelCase. Recommend standardizing to snake_case (bundle, checkpoint) to match Zig conventions.


32-37: Prioritize key use cases
Listing MEV, batching, and simulation is spot-on. However, consider moving the “enhanced version” comparison into Notes or Examples, as it interrupts the flow into the formal spec.


1573-1579: Avoid imperative “never commit” tone
The critical constraints section is vital, but the ❌/✅ bullets read like enforcement. Rephrase into guidelines (e.g., “Ensure tests pass…” rather than “NEVER commit…”).


1580-1585: Remove duplicate Success Criteria header
You’ve repeated “Success Criteria” at lines 1563 and 1580. Consolidate into one to prevent confusion and maintain brevity.


1589-1593: Elevate TDD Strategy
The TDD philosophy is critical—call it “Test-Driven Development” in full rather than TDD acronym at first mention for clarity. Also consider linking to Zig testing docs.


1604-1609: Format unit test snippets consistently
The sample Zig tests mix inline comments with code. Use a fenced code block with comments above each test or use /// comments to match Zig style.


1611-1618: Group integration and performance tests
Integration and performance test outlines are clear but interleaved. Group all integration tests together, then all performance tests, to improve readability.

src/evm/prompts/fix-wasm-build-integration.md (7)

6-7: Add cross-client benefits in ‘Why’.
The ‘Why’ section highlights performance but omits interoperability advantages across revm, evmone, and geth. Consider adding context on specification alignment with other client implementations.


9-16: Anchor steps to existing specs or docs.
The ‘How’ steps are comprehensive but could reference specific revm, evmone, or geth build/configuration examples to guide developers toward concrete targets and flags.


28-31: Streamline the ELI5 analogy.
The rocket vs. bicycle metaphor is vivid but a bit lengthy. Consider condensing it to focus on WASM as the performance bridge, improving clarity for non-technical readers.

🧰 Tools
🪛 LanguageTool

[misspelling] ~30-~30: This word is normally spelled as one.
Context: ... like the mounting system that lets our super-fast compiled code work seamlessly with Java...

(EN_COMPOUNDS_SUPER_FAST)


37-45: Reference execution-specs in ‘Specification’.
Add a bullet about compliance with the official Ethereum execution-specs to ensure full opcode and hardfork coverage across all clients.


85-92: Disambiguate file paths.
Prefix the listed file paths with the repository root (e.g., src/evm/...) to avoid confusion in a monorepo setup.


93-97: Inconsistent ‘TypeScript’ casing.
Ensure ‘TypeScript’ is capitalized consistently in the supporting files section (currently appears as ‘typescript’ in one bullet).


111-121: Specify actual package targets.
Instead of the generic /packages/*/, list the concrete package names that need WASM integration for clearer guidance.

src/evm/prompts/implement-cicd-wasm-size-check.md (2)

3-4: Add missing article before ‘CI/CD pipeline’.
Change ‘implement CI/CD pipeline’ to ‘implement a CI/CD pipeline’ for grammatical correctness.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: You might be missing the article “a” here.
Context: ...itten in Zig. Your goal is to implement CI/CD pipeline for WASM bundle size monito...

(AI_EN_LECTOR_MISSING_DETERMINER_A)


16-18: Condense the ELI5 explanation.
The analogy is clear but verbose; consider a shorter version that emphasizes auto-enforcing size limits in CI.

src/evm/prompts/implement-ecrecover-precompile.md (4)

3-9: Trim development context details from prompt.

The workflow instructions (branch naming, worktree setup, commit style) distract from the core implementation guidance. Consider relocating these to the PR description or a contributor guide.


12-14: Clarify context vs. ELI5 headings.

The blank line at 13 and the transition between “## Context” and “## ELI5” can be tightened for consistency. Ensure headings and their descriptions flow without extra spacing.


16-22: Reduce informal tone in ELI5 section.

Replace “very special pen” with a more precise term (e.g., “unique mathematical key”) to maintain a professional, instructional style.

🧰 Tools
🪛 LanguageTool

[style] ~16-~16: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...reum, it's like signing a document with a very special pen that creates a unique mathematical ...

(EN_WEAK_ADJECTIVE)


34-38: Condense optimization bullets.

Merge the separate performance, security, and error-handling bullets into a single concise list or sub-list to improve readability.

src/evm/prompts/implement-ecadd-precompile.md (5)

3-9: Remove workflow scaffolding from prompt.

Branching and commit instructions are better suited for contributor documentation or PR descriptions. This prompt should focus solely on the ECADD implementation guidance.


16-33: Consolidate file structure section.

Group related files (dispatcher, constants, math library, tests) under subheadings to reduce visual clutter and improve navigation.


104-109: Streamline core functionality list.

Switch numbered items to bullet points or rename them to avoid confusion in a prompt context.


232-275: Centralize gas accounting.

Per prompt corrections, the dispatcher should handle the gas_cost > gas_limit check. Remove this from execute and let the caller manage gas deductions.


251-259: Review invalid-input handling.

Silently returning a zeroed output on parse errors may obscure implementation bugs. Consider returning a distinct error code or logging invalid inputs for better debuggability.

src/evm/prompts/implement-bls12-381-g1msm-precompile.md (5)

3-3: Add missing comma for clarity.
Insert a comma after “precompile” to separate the introductory clause for better readability.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: Possible missing comma found.
Context: ...LS12-381 G1 multi-scalar multiplication precompile following Ethereum specifications and m...

(AI_HYDRA_LEO_MISSING_COMMA)


18-18: Simplify compound adjective.
Consider replacing “super-fast” with “superfast” to align with common compound-word conventions.

🧰 Tools
🪛 LanguageTool

[misspelling] ~18-~18: This word is normally spelled as one.
Context: ...-scalar multiplication is like having a super-fast calculator that can multiply many diffe...

(EN_COMPOUNDS_SUPER_FAST)


31-32: Use a heading instead of bold text.
Convert the bold warning line (**❌ NEVER IMPLEMENT CRYPTOGRAPHIC ALGORITHMS FROM SCRATCH**) into a proper subheading (e.g., ### NEVER IMPLEMENT CRYPTOGRAPHIC ALGORITHMS FROM SCRATCH) for consistency.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

32-32: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


70-76: Specify fenced code block languages.
Add language identifiers (e.g., text, bash, or json) to the “Input Format” and “Gas Calculation” code fences to enable syntax highlighting.

Also applies to: 79-83


118-118: Remove duplicate heading.
The “## Success Criteria” heading appears twice (lines 101 and 118). Consolidate into a single instance to avoid redundancy.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

118-118: Multiple headings with the same content
null

(MD024, no-duplicate-heading)

src/evm/prompts/implement-bls12-381-g1add-precompile.md (1)

94-100: Hyphenate the compound modifier.
Change “BLS12-381 G1 addition specific tests” to “BLS12-381 G1 addition-specific tests” for correct hyphenation.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~99-~99: When ‘addition-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...s12_381_g1_add_test.zig` - BLS12-381 G1 addition specific tests Why These Files: - The main ...

(SPECIFIC_HYPHEN)

src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md (5)

3-3: Add missing comma for readability.
Insert a comma after “precompile” to clearly separate clauses in the opening sentence.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: Possible missing comma found.
Context: ...ement BLS12-381 map field element to G1 precompile following Ethereum specifications and m...

(AI_HYDRA_LEO_MISSING_COMMA)


18-18: Add comma before conjunction.
Include a comma before “and you want” to correctly join the independent clauses in the ELI5 sentence.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~18-~18: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...# ELI5 Imagine you have a random number and you want to convert it into a valid poi...

(COMMA_COMPOUND_SENTENCE)


22-23: Use a heading instead of bold text.
Convert the bold warning line (**❌ NEVER IMPLEMENT CRYPTOGRAPHIC ALGORITHMS FROM SCRATCH**) into a heading (e.g., ### NEVER IMPLEMENT CRYPTOGRAPHIC ALGORITHMS FROM SCRATCH) for structural consistency.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

22-22: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


59-67: Specify fenced code block languages.
Add explicit language identifiers (e.g., text, bash) to the Input and Output format code fences so they render correctly.

Also applies to: 69-75

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

59-59: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


110-110: Remove duplicate heading.
The “## Success Criteria” heading is duplicated (first at line 93 and again at line 110). Retain only one instance to avoid confusion.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

110-110: Multiple headings with the same content
null

(MD024, no-duplicate-heading)

src/evm/prompts/implement-ecmul-precompile.md (5)

5-9: Clarify and Standardize Workflow Instructions

The Development Workflow section mixes branch naming, emoji commits, and XML summaries without a clear reference. Consider:

  • Pointing to a CONTRIBUTING.md or style guide for branch/commit conventions.
  • Removing or justifying the XML summary requirement if it’s not used elsewhere.
  • Ensuring the git worktree command matches the repo’s established pattern.

16-16: Use Consistent Heading Style

The ## ELI5 heading is terse and deviates from other section titles. Rename to ## Explain Like I’m 5 (ELI5) for clarity and consistency.


18-18: Simplify Analogy Language

The ELI5 analogy is helpful but verbose. You can streamline it:
“Think of elliptic curve multiplication as moving a point on a special curved surface by a given number of steps, following strict geometric rules.”


26-26: Expand Use Cases with Brief Context

The bullets under “This is fundamental for:” could include a short note:

  • zkSNARKs: on-chain zero-knowledge proofs
  • Private Transactions: shielded value transfers
  • Cryptographic Protocols: secure multi-party computations

37-37: Align “Enhanced Version” Bullets with Implementation Details

The “enhanced version includes” list introduces topics (e.g., performance monitoring) that aren’t addressed in later sections. Either:

  • Remove or merge these points into the corresponding Implementation Requirements,
  • Or add a brief note on how to integrate monitoring into the Zig build/test workflow.
src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md (1)

22-22: Simplify acronym usage
Redundant “system” in “GPS system”—consider using “GPS” alone to avoid tautology.

🧰 Tools
🪛 LanguageTool

[style] ~22-~22: This phrase is redundant (‘S’ stands for ‘system’). Use simply “GPS”.
Context: ...mponents) - Mapping Process: Like a GPS system that converts addresses to coordinates,...

(ACRONYM_TAUTOLOGY)

src/evm/prompts/implement-blake2f-precompile.md (1)

49-49: Refine wording
Consider removing “very” in “very specific” to tighten the ELI5 analogy.

src/evm/prompts/implement-bls12-381-g2add-precompile.md (4)

5-10: Ambiguous commit convention
The prompt says “Use emoji conventional commits with XML summary format,” which conflates two styles. Please choose either emoji conventional commits or an XML summary format for commit messages to keep instructions clear and consistent.


58-63: Specify activation hardfork
Rather than the generic “Post-EIP-2537 hardforks,” call out the specific upgrade (e.g. Prague/Pectra) when this precompile becomes available.


115-122: Remove duplicate “Success Criteria” section
There are two “Success Criteria” headings with overlapping content. Consolidate into a single section to avoid confusion.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

115-115: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


65-75: Add language identifier to code fences
Markdown code blocks should specify a language for proper syntax highlighting. For example:

- ```
+ ```text
  Input (512 bytes total):
  - Point A (256 bytes): G2 point in uncompressed format
  ...
- ```
+ ```text
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

65-65: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between aa9e4e2 and 6b7e87d.

📒 Files selected for processing (12)
  • src/evm/prompts/fix-wasm-build-integration.md (8 hunks)
  • src/evm/prompts/implement-blake2f-precompile.md (3 hunks)
  • src/evm/prompts/implement-bls12-381-g1add-precompile.md (2 hunks)
  • src/evm/prompts/implement-bls12-381-g1msm-precompile.md (1 hunks)
  • src/evm/prompts/implement-bls12-381-g2add-precompile.md (1 hunks)
  • src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md (1 hunks)
  • src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md (1 hunks)
  • src/evm/prompts/implement-bundle-state-management.md (2 hunks)
  • src/evm/prompts/implement-cicd-wasm-size-check.md (2 hunks)
  • src/evm/prompts/implement-ecadd-precompile.md (3 hunks)
  • src/evm/prompts/implement-ecmul-precompile.md (3 hunks)
  • src/evm/prompts/implement-ecrecover-precompile.md (7 hunks)
🧰 Additional context used
🪛 LanguageTool
src/evm/prompts/implement-bls12-381-g1add-precompile.md

[style] ~37-~37: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ... point has x,y coordinates, but they're very large numbers) - Adds them together using...

(EN_WEAK_ADJECTIVE)


[grammar] ~44-~44: The verb ‘precompile’ does not usually follow articles like ‘a’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Efficient Operations*: Having this as a precompile makes it much faster and cheaper than d...

(A_INFINITIVE)


[grammar] ~51-~51: The verb ‘precompile’ is plural. Did you mean: “precompiles”? Did you use a verb instead of a noun?
Context: ...: "add these two points" This specific precompile (G1ADD) is one piece of a larger crypto...

(PLURAL_VERB_AFTER_THIS)


[uncategorized] ~99-~99: When ‘addition-specific’ is used as a modifier, it is usually spelled with a hyphen.
Context: ...s12_381_g1_add_test.zig` - BLS12-381 G1 addition specific tests Why These Files: - The main ...

(SPECIFIC_HYPHEN)


[grammar] ~217-~217: With the singular noun ‘compliance’, use the verb inflections “adds” or “added”.
Context: ...sures spec compliance from day one 2. Add cryptographic validation - Critical f...

(SINGULAR_NOUN_VERB_AGREEMENT)

src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md

[uncategorized] ~3-~3: Possible missing comma found.
Context: ...ement BLS12-381 map field element to G1 precompile following Ethereum specifications and m...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~18-~18: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...# ELI5 Imagine you have a random number and you want to convert it into a valid poi...

(COMMA_COMPOUND_SENTENCE)

src/evm/prompts/implement-cicd-wasm-size-check.md

[uncategorized] ~3-~3: You might be missing the article “a” here.
Context: ...itten in Zig. Your goal is to implement CI/CD pipeline for WASM bundle size monito...

(AI_EN_LECTOR_MISSING_DETERMINER_A)

src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md

[uncategorized] ~3-~3: Possible missing comma found.
Context: ...ement BLS12-381 map field element to G2 precompile following Ethereum specifications and m...

(AI_HYDRA_LEO_MISSING_COMMA)


[style] ~18-~18: This phrase is redundant (‘S’ stands for ‘system’). Use simply “GPS”.
Context: ...P_FP2_TO_G2 precompile is like having a GPS system that can take any address and give you ...

(ACRONYM_TAUTOLOGY)


[style] ~18-~18: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...ess and give you precise coordinates on a very special type of curved surface. Here's the ana...

(EN_WEAK_ADJECTIVE)


[style] ~22-~22: This phrase is redundant (‘S’ stands for ‘system’). Use simply “GPS”.
Context: ...mponents) - Mapping Process: Like a GPS system that converts addresses to coordinates,...

(ACRONYM_TAUTOLOGY)


[grammar] ~117-~117: After the number ‘110000’, use a plural noun. Did you mean “gases”, “gasses”?
Context: ...Gas Accuracy**: Consumes exactly 110000 gas per operation 6. Integration: Works...

(CD_NNU)


[uncategorized] ~302-~302: Loose punctuation mark.
Context: ...lable latest = bls12_map_fp2_to_g2 }; /// The total number of known precomp...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~375-~375: A determiner appears to be missing. Consider inserting it.
Context: ...s interpreted as /// an element of Fp2. Output of this call is 256 bytes and is an enc...

(AI_EN_LECTOR_MISSING_DETERMINER)


[typographical] ~759-~759: Two consecutive dots
Context: ...dresses ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[uncategorized] ~792-~792: Did you just mean “,” or “)”?
Context: ...RESS", "BLS12_MAP_FP2_TO_G2_ADDRESS", ) ECRECOVER_ADDRESS = hex_to_address("0x...

(COMMA_PERIOD)


[typographical] ~903-~903: Two consecutive dots
Context: ...Gas ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~964-~964: Two consecutive dots
Context: ...dresses ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[uncategorized] ~995-~995: Did you just mean “,” or “)”?
Context: ...RESS", "BLS12_MAP_FP2_TO_G2_ADDRESS", ) ECRECOVER_ADDRESS = hex_to_address("0x...

(COMMA_PERIOD)


[typographical] ~1059-~1059: Two consecutive dots
Context: ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~1139-~1139: Two consecutive dots
Context: ...12 381 Precompile ^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[misspelling] ~1214-~1214: This word is normally spelled as one.
Context: ...6 bytes to a G2 point. Does not perform sub-group check. ... """ if len(data)...

(EN_COMPOUNDS_SUB_GROUP)


[grammar] ~1339-~1339: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Gas returns the gas required to execute the precompile. func (p *pointEvaluation) RequiredGas(...

(A_INFINITIVE)


[grammar] ~1350-~1350: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...0, 0x00, 0x00, 0x01, } // Run executes the precompile. func (p *pointEvaluation) Run(input []...

(A_INFINITIVE)


[uncategorized] ~1635-~1635: Loose punctuation mark.
Context: ...github.com/ethereum/go-ethereum/params" ) // PrecompiledContractsBLS contains th...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~1654-~1654: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Gas returns the gas required to execute the precompile. func (p *bls12MapFp2ToG2) RequiredGas(...

(A_INFINITIVE)


[grammar] ~1659-~1659: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...s.Bls12MapFp2ToG2Gas } // Run executes the precompile. func (p *bls12MapFp2ToG2) Run(input []...

(A_INFINITIVE)


[misspelling] ~1662-~1662: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...te, error) { // Input format: // e, an Fp2 element (128 bytes) // Total: 128 ...

(EN_A_VS_AN)


[grammar] ~1812-~1812: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ... provided the go-ethereum context for the precompile at address 0x12. The rest of the prom...

(A_INFINITIVE)


[misspelling] ~2269-~2269: Use “a” instead of ‘an’ if the following word doesn’t start with a vowel sound, e.g. ‘a sentence’, ‘a university’.
Context: ...ernal/crypto/bls12381" // MapToG2 maps an Fp2 element to a G2 point. func MapToG2...

(EN_A_VS_AN)


[uncategorized] ~2342-~2342: Loose punctuation mark.
Context: ...hub.com/supranational/blst/bindings/go" ) // The gas cost parameters for the BLS...

(UNLIKELY_OPENING_PUNCTUATION)

src/evm/prompts/implement-ecmul-precompile.md

[uncategorized] ~608-~608: Loose punctuation mark.
Context: ...t noexcept { return *this == Point{}; } }; /// ... (Other point types and functi...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~618-~618: It appears that a hyphen is missing (if ‘auto’ is not used in the context of ‘cars’).
Context: ...cept { ProjPoint r; const auto bit_width = sizeof(IntT) * 8 - intx::clz(c)...

(AUTO_HYPHEN)


[style] ~765-~765: Consider using “incapable” to avoid wordiness.
Context: ...dled specifically because AffineG1 is not capable of /// representing such a point. /// I...

(NOT_ABLE_PREMIUM)


[grammar] ~774-~774: The verb ‘assert’ does not usually follow articles like ‘an’. Check that ‘assert’ is spelled correctly; using ‘assert’ as a noun may be non-standard.
Context: ...e G1Affine::new because that triggers an assert if the point is not on the curve. ...

(A_INFINITIVE)


[typographical] ~793-~793: Two consecutive dots
Context: ...leError> { let px = read_fq(&input[0..FQ_LEN])?; let py = read_fq(&input[F...

(DOUBLE_PUNCTUATION)


[typographical] ~794-~794: Two consecutive dots
Context: ...N])?; let py = read_fq(&input[FQ_LEN..2 * FQ_LEN])?; new_g1_point(px, py) ...

(DOUBLE_PUNCTUATION)


[grammar] ~979-~979: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...ormed input (e.g., point not on curve), the precompile should fail, which consumes all provide...

(A_INFINITIVE)


[typographical] ~1129-~1129: Two consecutive dots
Context: ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~1159-~1159: Two consecutive dots
Context: ...om ...vm.memory import buffer_read from ..exceptions import InvalidParameter, OutO...

(DOUBLE_PUNCTUATION)


[typographical] ~1278-~1278: Two consecutive dots
Context: ...dresses ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[uncategorized] ~1301-~1301: Did you just mean “,” or “)”?
Context: ...NG_CHECK_ADDRESS", "BLAKE2F_ADDRESS", ) ECRECOVER_ADDRESS = hex_to_address("0x...

(COMMA_PERIOD)


[grammar] ~1810-~1810: The conjunction “if” requires the past participle “contracted”. Or did you mean “you contract”?
Context: ....RequiredGas(input, evm.chainRules) if contract.UseGas(gas) { return runBn256ScalarMu...

(IF_VB_PCT)


[grammar] ~2005-~2005: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...d (i.e., not on the alt_bn128 curve), the precompile should return the point at infinity `(0...

(A_INFINITIVE)


[grammar] ~2006-~2006: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...e call to fail and consumes the gas for the precompile. The Zig implementation should return a...

(A_INFINITIVE)


[uncategorized] ~2110-~2110: Do not mix variants of the same word (‘serialise’ and ‘serialize’) within a single text.
Context: ...Point } // Unmarshal converts a point, serialised by Marshal, into a G1 item. // If the p...

(EN_WORD_COHERENCY)


[grammar] ~2370-~2370: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ....go, this error is propagated, causing the precompile to return nil, err`, which results in ...

(A_INFINITIVE)


[uncategorized] ~2743-~2743: A punctuation mark might be missing here.
Context: ... p.p.x.Marshal() copy(out[32-len(xBytes):], xBytes) yBytes := p.p.y.Marshal() ...

(AI_EN_LECTOR_MISSING_PUNCTUATION)

src/evm/prompts/fix-wasm-build-integration.md

[uncategorized] ~3-~3: Possible missing preposition found.
Context: ...tegration into Tevm TypeScript ## What Fix the broken WASM build system and integr...

(AI_HYDRA_LEO_MISSING_TO)


[misspelling] ~30-~30: This word is normally spelled as one.
Context: ... like the mounting system that lets our super-fast compiled code work seamlessly with Java...

(EN_COMPOUNDS_SUPER_FAST)


[uncategorized] ~103-~103: You might be missing the article “the” here.
Context: ...e platform-specific implementations for WASM environment - Root WASM modules define ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

src/evm/prompts/implement-bundle-state-management.md

[uncategorized] ~1833-~1833: Loose punctuation mark.
Context: ...count(const address& addr); /// @} }; /// Executes a valid transaction. ///...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~1940-~1940: Loose punctuation mark.
Context: ...tatus access_status = EVMC_ACCESS_COLD; }; /// The state account. struct Account...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~1970-~1970: Loose punctuation mark.
Context: ... bool destructed = false; // ... }; } // namespace evmone::state ``` </fi...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~2166-~2166: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...st of the module doc) /// Bundle state contain only values that got changed /// /// Fo...

(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)


[uncategorized] ~2168-~2168: You might be missing the article “the” here.
Context: ... /// For every account it contains both original and present state. /// /// This is need...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~2521-~2521: You might be missing the article “an” here.
Context: ...num JournalEntry { /// Used to mark account that is warm inside EVM in regard to EI...

(AI_EN_LECTOR_MISSING_DETERMINER_AN)


[style] ~2521-~2521: ‘In regard to’ might be wordy. Consider using a more concise alternative.
Context: ...to mark account that is warm inside EVM in regard to EIP-2929 AccessList. AccountWarmed ...

(REGARD_TO)


[grammar] ~2643-~2643: If ‘type’ is a classification term, ‘a’ is not necessary. Use “type of”. (The phrases ‘kind of’ and ‘sort of’ are informal if they mean ‘to some extent’.)
Context: ...ghout a block's execution, not just the type of a single change. This allows for more sop...

(KIND_OF_A)


[uncategorized] ~2647-~2647: Possible missing comma found.
Context: ...ngle account. These are not corrections but rather alternative design patterns from...

(AI_HYDRA_LEO_MISSING_COMMA)


[typographical] ~2665-~2665: Two consecutive dots
Context: ...n/state.py"> ```python """ State ^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~2804-~2804: Consider putting a comma before the abbreviation “i.e.”.
Context: ... Get the original value in a storage slot i.e. the value before the current transa...

(IE_COMMA)


[uncategorized] ~2974-~2974: Loose punctuation mark.
Context: ...y more efficient. 5. apply_to_state: The StateBundle.apply_to_state func...

(UNLIKELY_OPENING_PUNCTUATION)

src/evm/prompts/implement-ecrecover-precompile.md

[style] ~16-~16: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase.
Context: ...reum, it's like signing a document with a very special pen that creates a unique mathematical ...

(EN_WEAK_ADJECTIVE)


[uncategorized] ~66-~66: You might be missing the article “the” here.
Context: ...ion Strategy:** 1. ONLY choice: Use libsecp256k1 C library with Zig bindings 2. **Fallba...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~67-~67: You might be missing the article “the” here.
Context: ... with Zig bindings 2. Fallback: Use proven WASM secp256k1 library (noble-secp256k1...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~95-~95: You might be missing the article “the” here.
Context: ...# Validation Rules - r and s must be in range [1, secp256k1_order) - v must be exactl...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[grammar] ~951-~951: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...saction-level signature validation, not the precompile itself. The revm code correctly ...

(A_INFINITIVE)


[typographical] ~968-~968: Two consecutive dots
Context: ...zeroing the first 12 bytes of the hash (hash[..12].fill(0)) is a direct way to achieve...

(DOUBLE_PUNCTUATION)


[typographical] ~980-~980: Two consecutive dots
Context: ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~1079-~1079: Two consecutive dots
Context: ...Gas ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[typographical] ~1233-~1233: Two consecutive dots
Context: ...^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents :backl...

(DOUBLE_PUNCTUATION)


[uncategorized] ~1315-~1315: Did you just mean “,” or “)”?
Context: ...NG_CHECK_ADDRESS", "BLAKE2F_ADDRESS", ) ECRECOVER_ADDRESS = hex_to_address("0x...

(COMMA_PERIOD)


[grammar] ~1757-~1757: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...ead) is explicitly not performed by the precompile, which is a subtle but important detail...

(A_INFINITIVE)


[grammar] ~2254-~2254: The verb form ‘helps’ does not seem to match the subject ‘deps’.
Context: ...l WASM size (estimated, no runtime deps helps) - 🔒 Security Features: Optional r...

(SUBJECT_VERB_AGREEMENT_PLURAL)

src/evm/prompts/implement-bls12-381-g2add-precompile.md

[misspelling] ~18-~18: This word is normally spelled as one.
Context: ...G2 addition precompile is like having a super-fast, built-in function that can add two poi...

(EN_COMPOUNDS_SUPER_FAST)


[uncategorized] ~20-~20: Use a comma before ‘and’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ke this: if you have two GPS coordinates and you want to find a third coordinate tha...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~20-~20: The verb ‘precompile’ is plural. Did you mean: “precompiles”? Did you use a verb instead of a noun?
Context: ..."sum" in this special math system, this precompile does that calculation instantly. The "G...

(PLURAL_VERB_AFTER_THIS)


[grammar] ~103-~103: After the number ‘800’, use a plural noun. Did you mean “gases”, “gasses”?
Context: ... Gas Accuracy: Consumes exactly 800 gas per operation 5. Edge Cases: Handle...

(CD_NNU)


[uncategorized] ~962-~962: Loose punctuation mark.
Context: ..... "BLS12_G2ADD_ADDRESS", # ... ) # ... BLS12_G2ADD_ADDRESS = hex_to_add...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~1223-~1223: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Gas returns the gas required to execute the precompile. func (c *blsG2Add) RequiredGas(input [...

(A_INFINITIVE)


[grammar] ~1326-~1326: The verb ‘precompile’ does not usually follow articles like ‘the’. Check that ‘precompile’ is spelled correctly; using ‘precompile’ as a noun may be non-standard.
Context: ...Gas returns the gas required to execute the precompile. func (p *bls12G2Add) RequiredGas(input...

(A_INFINITIVE)


[uncategorized] ~1562-~1562: You might be missing the article “the” here.
Context: ...points a and b and stores the result in receiver. func (g *G2) Add(a, b *G2) *G2 { g.p....

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~1948-~1948: Loose punctuation mark.
Context: ...hub.com/supranational/blst/bindings/go" ) var ( errG2PointNotOnCurve = errors...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~2079-~2079: Loose punctuation mark.
Context: ...ereum/go-ethereum/crypto/bls12381/blst" ) // G2 is a point in G2. type G2 struct...

(UNLIKELY_OPENING_PUNCTUATION)


[formatting] ~2109-~2109: If the ‘because’ clause is essential to the meaning, do not use a comma before the clause.
Context: ... *G2) *G2 { // We use p2 as accumulator, because it is likely to be changed anyways. p2...

(COMMA_BEFORE_BECAUSE)


[style] ~2109-~2109: The word ‘anyways’ is informal American English. Did you mean “anyway”?
Context: ...tor, because it is likely to be changed anyways. p2.p.Add(p1.p) return &G2{p: p2.p} }...

(ANYWAYS)


[uncategorized] ~2247-~2247: Loose punctuation mark.
Context: ...G2 operation // ... (other constants) ) ``` <file path="https://github...

(UNLIKELY_OPENING_PUNCTUATION)


[uncategorized] ~2322-~2322: Loose punctuation mark.
Context: ...github.com/ethereum/go-ethereum/params" ) // bls12381G2Add implements the BLS12-...

(UNLIKELY_OPENING_PUNCTUATION)


[grammar] ~2570-~2570: With the singular noun ‘compliance’, use the verb inflections “adds” or “added”.
Context: ...sures spec compliance from day one 2. Add cryptographic validation - Critical f...

(SINGULAR_NOUN_VERB_AGREEMENT)

src/evm/prompts/implement-bls12-381-g1msm-precompile.md

[uncategorized] ~3-~3: Possible missing comma found.
Context: ...LS12-381 G1 multi-scalar multiplication precompile following Ethereum specifications and m...

(AI_HYDRA_LEO_MISSING_COMMA)


[misspelling] ~18-~18: This word is normally spelled as one.
Context: ...-scalar multiplication is like having a super-fast calculator that can multiply many diffe...

(EN_COMPOUNDS_SUPER_FAST)


[grammar] ~206-~206: With the singular noun ‘compliance’, use the verb inflections “adds” or “added”.
Context: ...sures spec compliance from day one 2. Add cryptographic validation - Critical f...

(SINGULAR_NOUN_VERB_AGREEMENT)

🪛 markdownlint-cli2 (0.17.2)
src/evm/prompts/implement-ecadd-precompile.md

46-46: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


360-360: Multiple headings with the same content
null

(MD024, no-duplicate-heading)

src/evm/prompts/implement-bls12-381-map-fp-to-g1-precompile.md

22-22: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


59-59: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


69-69: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


110-110: Multiple headings with the same content
null

(MD024, no-duplicate-heading)

src/evm/prompts/implement-ecmul-precompile.md

47-47: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


389-389: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


525-525: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


530-530: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


548-548: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


603-603: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


628-628: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


769-769: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


791-791: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


806-806: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


813-813: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


840-840: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


852-852: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


857-857: Code block 341A style
Expected: fenced; Actual: indented

(MD046, code-block-style)


859-859: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


920-920: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


936-936: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


947-947: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


996-996: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1039-1039: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1063-1063: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1134-1134: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


1166-1166: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1211-1211: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1236-1236: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1283-1283: Heading style
Expected: atx; Actual: setext

(MD003, heading-style)


1292-1292: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


1292-1292: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


1312-1312: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1402-1402: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1403-1403: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1404-1404: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1405-1405: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1406-1406: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1410-1410: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1411-1411: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1413-1413: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1413-1413: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1414-1414: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1415-1415: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1416-1416: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1417-1417: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1418-1418: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1419-1419: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1421-1421: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1422-1422: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1423-1423: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1424-1424: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1425-1425: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1426-1426: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1428-1428: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1433-1433: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1434-1434: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1435-1435: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1436-1436: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1437-1437: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1438-1438: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1440-1440: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1445-1445: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1447-1447: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1448-1448: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1450-1450: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1451-1451: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1453-1453: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1461-1461: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1462-1462: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1463-1463: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1464-1464: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1465-1465: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1466-1466: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1467-1467: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1468-1468: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1469-1469: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1470-1470: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1471-1471: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1472-1472: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1473-1473: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1474-1474: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1475-1475: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1476-1476: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1477-1477: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1486-1486: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1490-1490: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1490-1490: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1491-1491: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1492-1492: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1493-1493: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1494-1494: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1495-1495: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1500-1500: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1501-1501: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1503-1503: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1503-1503: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1504-1504: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1505-1505: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1507-1507: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1508-1508: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1509-1509: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1510-1510: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1511-1511: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1512-1512: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1514-1514: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1515-1515: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1516-1516: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1517-1517: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1519-1519: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1525-1525: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1526-1526: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1527-1527: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1528-1528: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1529-1529: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1530-1530: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1531-1531: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1532-1532: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1533-1533: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1534-1534: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1535-1535: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1536-1536: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1537-1537: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1538-1538: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1539-1539: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1540-1540: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1541-1541: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1542-1542: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1543-1543: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1544-1544: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1545-1545: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1547-1547: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1547-1547: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1548-1548: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1549-1549: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1550-1550: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1551-1551: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1552-1552: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1553-1553: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1554-1554: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1555-1555: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1557-1557: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1558-1558: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1559-1559: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1560-1560: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1561-1561: Hard tabs
Column: 1

F438

(MD010, no-hard-tabs)


1563-1563: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1582-1582: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1583-1583: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1584-1584: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1585-1585: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1586-1586: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1590-1590: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1591-1591: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1592-1592: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1594-1594: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1595-1595: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1596-1596: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1598-1598: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1599-1599: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1600-1600: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1601-1601: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1602-1602: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1603-1603: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1605-1605: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1606-1606: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1607-1607: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1608-1608: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1616-1616: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1620-1620: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1620-1620: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1621-1621: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1622-1622: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1623-1623: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1624-1624: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1625-1625: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1630-1630: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1630-1630: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1630-1630: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1631-1631: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1632-1632: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1633-1633: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1634-1634: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1635-1635: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1636-1636: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1637-1637: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1638-1638: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1639-1639: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1640-1640: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1641-1641: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1642-1642: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1644-1644: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1644-1644: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1645-1645: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1646-1646: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1647-1647: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1648-1648: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1649-1649: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1650-1650: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1651-1651: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1652-1652: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1654-1654: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1655-1655: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1660-1660: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1661-1661: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1662-1662: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1663-1663: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1664-1664: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1665-1665: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1666-1666: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1667-1667: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1668-1668: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1668-1668: Bare URL used
null

(MD034, no-bare-urls)


1669-1669: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1670-1670: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1671-1671: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1672-1672: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1673-1673: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1674-1674: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1675-1675: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1676-1676: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1677-1677: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1678-1678: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1679-1679: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1680-1680: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1681-1681: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1682-1682: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1684-1684: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1684-1684: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1685-1685: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1686-1686: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1687-1687: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1688-1688: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1689-1689: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1690-1690: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1691-1691: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1692-1692: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1693-1693: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1694-1694: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1695-1695: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1697-1697: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1698-1698: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1699-1699: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1700-1700: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1701-1701: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1702-1702: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1703-1703: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1704-1704: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1705-1705: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1706-1706: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1707-1707: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1708-1708: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1709-1709: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1710-1710: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1711-1711: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1712-1712: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1713-1713: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1714-1714: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1715-1715: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1716-1716: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1718-1718: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1720-1720: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1725-1725: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1727-1727: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1728-1728: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1729-1729: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1730-1730: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1731-1731: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1732-1732: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1733-1733: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1734-1734: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1735-1735: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1736-1736: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1737-1737: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1738-1738: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1739-1739: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1740-1740: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1741-1741: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1742-1742: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1743-1743: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1744-1744: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1754-1754: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


1755-1755: Unordered list style
Expected: dash; Actual: asterisk

(MD004, ul-style)


1786-1786: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1787-1787: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1788-1788: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1789-1789: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1790-1790: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1791-1791: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1792-1792: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1793-1793: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1801-1801: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1802-1802: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1803-1803: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1804-1804: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1805-1805: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1808-1808: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1809-1809: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1810-1810: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1811-1811: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1812-1812: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1813-1813: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1817-1817: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1818-1818: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1819-1819: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1820-1820: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1821-1821: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1822-1822: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1824-1824: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1824-1824: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1825-1825: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1826-1826: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1827-1827: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1828-1828: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1830-1830: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1831-1831: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1832-1832: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1833-1833: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1834-1834: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1835-1835: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1836-1836: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1841-1841: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1842-1842: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1843-1843: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1844-1844: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1845-1845: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1846-1846: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1847-1847: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1848-1848: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1849-1849: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1850-1850: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1851-1851: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1852-1852: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1853-1853: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1855-1855: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1861-1861: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1866-1866: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1871-1871: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1872-1872: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1873-1873: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1874-1874: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1875-1875: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1880-1880: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1881-1881: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1882-1882: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1883-1883: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1884-1884: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1892-1892: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1893-1893: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1894-1894: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1895-1895: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1896-1896: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1897-1897: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1898-1898: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1900-1900: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1900-1900: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1901-1901: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1902-1902: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1903-1903: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1905-1905: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1907-1907: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1908-1908: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1909-1909: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1910-1910: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1911-1911: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1912-1912: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1913-1913: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1914-1914: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1915-1915: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1916-1916: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1917-1917: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1918-1918: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1919-1919: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1920-1920: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1921-1921: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1922-1922: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1923-1923: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1924-1924: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1925-1925: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1926-1926: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1928-1928: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1929-1929: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1930-1930: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1931-1931: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1932-1932: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1933-1933: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1935-1935: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1936-1936: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1937-1937: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1939-1939: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1941-1941: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1949-1949: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1950-1950: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1951-1951: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1952-1952: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1953-1953: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1954-1954: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1955-1955: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1956-1956: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1958-1958: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1959-1959: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1960-1960: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1961-1961: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1963-1963: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1964-1964: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1965-1965: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1966-1966: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1967-1967: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1969-1969: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1974-1974: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1975-1975: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1976-1976: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1978-1978: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1979-1979: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1980-1980: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1981-1981: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1992-1992: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2002-2002: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


2019-2019: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2020-2020: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2021-2021: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2022-2022: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2023-2023: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2024-2024: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2025-2025: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2026-2026: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2032-2032: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2033-2033: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2034-2034: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2043-2043: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2047-2047: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2056-2056: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2060-2060: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2066-2066: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2067-2067: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2068-2068: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2069-2069: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2070-2070: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2071-2071: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2072-2072: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2078-2078: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2079-2079: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2080-2080: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2081-2081: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2082-2082: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2084-2084: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2091-2091: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2092-2092: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2093-2093: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2094-2094: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2095-2095: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2096-2096: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2097-2097: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2098-2098: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2099-2099: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2107-2107: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2113-2113: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2114-2114: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2115-2115: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2116-2116: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2117-2117: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2118-2118: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2119-2119: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2120-2120: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2121-2121: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2122-2122: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2124-2124: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2124-2124: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2125-2125: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2126-2126: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2127-2127: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2128-2128: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2129-2129: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2130-2130: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2131-2131: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2132-2132: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2133-2133: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2137-2137: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2137-2137: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2138-2138: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2139-2139: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2140-2140: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2141-2141: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2142-2142: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2146-2146: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2146-2146: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2147-2147: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2151-2151: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2151-2151: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2152-2152: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2153-2153: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2154-2154: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2155-2155: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2156-2156: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2157-2157: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2158-2158: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2159-2159: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2161-2161: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2161-2161: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2163-2163: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2169-2169: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2170-2170: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2171-2171: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2172-2172: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2173-2173: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2174-2174: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2175-2175: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2176-2176: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2177-2177: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2178-2178: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2179-2179: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2180-2180: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2181-2181: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2182-2182: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2183-2183: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2184-2184: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2185-2185: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2191-2191: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


2211-2211: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2212-2212: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2213-2213: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2214-2214: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2215-2215: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2216-2216: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2217-2217: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2218-2218: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2226-2226: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2229-2229: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2230-2230: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2231-2231: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2232-2232: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2233-2233: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2234-2234: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2235-2235: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2236-2236: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2237-2237: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2238-2238: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2239-2239: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2240-2240: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2241-2241: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2242-2242: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2244-2244: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2244-2244: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2245-2245: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2246-2246: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2247-2247: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2248-2248: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2249-2249: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2250-2250: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2252-2252: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2253-2253: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2255-2255: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2260-2260: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2261-2261: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2262-2262: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2270-2270: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2279-2279: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2279-2279: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2280-2280: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2281-2281: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2282-2282: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2283-2283: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2284-2284: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2292-2292: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2293-2293: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2294-2294: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2295-2295: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2296-2296: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2297-2297: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2298-2298: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2303-2303: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2304-2304: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2305-2305: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2307-2307: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2313-2313: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2314-2314: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2315-2315: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2316-2316: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2318-2318: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2319-2319: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2320-2320: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2321-2321: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2322-2322: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2323-2323: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2325-2325: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2330-2330: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2331-2331: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2332-2332: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2334-2334: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2335-2335: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2337-2337: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2338-2338: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2339-2339: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2340-2340: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2341-2341: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2342-2342: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2343-2343: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2344-2344: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2345-2345: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2346-2346: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2347-2347: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2348-2348: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2349-2349: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2350-2350: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2351-2351: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2352-2352: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2357-2357: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2364-2364: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


2381-2381: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2382-2382: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2383-2383: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2384-2384: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2385-2385: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2386-2386: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2387-2387: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2388-2388: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2399-2399: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2400-2400: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2401-2401: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2402-2402: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2406-2406: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2407-2407: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2408-2408: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2410-2410: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2410-2410: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2411-2411: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2412-2412: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2413-2413: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2414-2414: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2415-2415: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2416-2416: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2417-2417: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2419-2419: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2424-2424: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2425-2425: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2427-2427: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2428-2428: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2429-2429: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2430-2430: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2431-2431: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2432-2432: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2433-2433: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2435-2435: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2436-2436: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2437-2437: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2438-2438: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2439-2439: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2440-2440: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2441-2441: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2442-2442: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2443-2443: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2451-2451: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2452-2452: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2453-2453: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2454-2454: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2455-2455: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2456-2456: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2464-2464: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2469-2469: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2470-2470: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2471-2471: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2472-2472: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2473-2473: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2474-2474: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2475-2475: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2476-2476: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2477-2477: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2478-2478: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2479-2479: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2480-2480: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2481-2481: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2481-2481: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2488-2488: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2489-2489: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2490-2490: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2492-2492: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2492-2492: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2493-2493: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2494-2494: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2495-2495: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2496-2496: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2497-2497: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2498-2498: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2499-2499: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2500-2500: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2501-2501: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2503-2503: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2504-2504: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2505-2505: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2506-2506: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2507-2507: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2508-2508: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2509-2509: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2510-2510: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2515-2515: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2516-2516: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2518-2518: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2518-2518: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2519-2519: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2520-2520: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2522-2522: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2523-2523: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2525-2525: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2526-2526: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2527-2527: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2528-2528: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2529-2529: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2533-2533: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2533-2533: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2534-2534: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2535-2535: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2536-2536: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2540-2540: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2540-2540: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2541-2541: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2542-2542: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2543-2543: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2544-2544: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2545-2545: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2546-2546: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2547-2547: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2548-2548: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2549-2549: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2550-2550: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2551-2551: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2553-2553: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2576-2576: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


2626-2626: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2627-2627: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2628-2628: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2629-2629: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2630-2630: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2633-2633: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2634-2634: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2636-2636: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2636-2636: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2637-2637: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2638-2638: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2639-2639: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2640-2640: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2641-2641: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2642-2642: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2644-2644: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2645-2645: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2646-2646: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2648-2648: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2655-2655: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2656-2656: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2657-2657: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2658-2658: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2659-2659: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2660-2660: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2661-2661: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2662-2662: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2668-2668: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2669-2669: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2670-2670: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2671-2671: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2672-2672: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2673-2673: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2674-2674: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2675-2675: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2676-2676: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2681-2681: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2689-2689: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2690-2690: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2691-2691: Har 10000 d tabs
Column: 1

(MD010, no-hard-tabs)


2692-2692: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2700-2700: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2708-2708: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2709-2709: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2710-2710: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2711-2711: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2712-2712: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2713-2713: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2714-2714: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2716-2716: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2716-2716: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2717-2717: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2718-2718: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2719-2719: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2720-2720: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2722-2722: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2723-2723: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2724-2724: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2725-2725: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2726-2726: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2727-2727: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2729-2729: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2730-2730: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2731-2731: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2732-2732: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2737-2737: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2738-2738: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2739-2739: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2740-2740: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2741-2741: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2742-2742: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2743-2743: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2744-2744: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2745-2745: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2746-2746: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2750-2750: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2750-2750: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2751-2751: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2752-2752: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2753-2753: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2754-2754: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2755-2755: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2761-2761: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2761-2761: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2762-2762: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2763-2763: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2764-2764: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2765-2765: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2767-2767: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-bls12-381-g2add-precompile.md

28-28: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


65-65: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


115-115: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


133-133: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


153-153: Bare URL used
null

(MD034, no-bare-urls)


160-160: Bare URL used
null

(MD034, no-bare-urls)


163-163: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


289-289: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


295-295: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


308-308: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


327-327: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


411-411: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


434-434: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


649-649: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


655-655: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


734-734: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


753-753: No space after hash on atx style heading
null

(MD018, no-missing-space-atx)


761-761: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


836-836: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


959-959: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


959-959: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


965-965: Trailing punctuation in heading
Punctuation: '...'

(MD026, no-trailing-punctuation)


967-967: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


967-967: Trailing punctuation in heading
Punctuation: '...'

(MD026, no-trailing-punctuation)


968-968: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1015-1015: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1039-1039: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1225-1225: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1226-1226: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1230-1230: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1231-1231: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1232-1232: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1233-1233: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1234-1234: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1235-1235: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1236-1236: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1237-1237: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1238-1238: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1239-1239: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1240-1240: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1241-1241: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1242-1242: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1243-1243: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1244-1244: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1245-1245: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1246-1246: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1248-1248: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1257-1257: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1265-1265: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1266-1266: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1267-1267: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1268-1268: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1269-1269: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1270-1270: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1271-1271: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1272-1272: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1273-1273: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1274-1274: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1275-1275: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1276-1276: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1277-1277: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1279-1279: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1280-1280: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1281-1281: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1282-1282: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1283-1283: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1284-1284: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1285-1285: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1286-1286: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1287-1287: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1288-1288: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1289-1289: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1290-1290: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1296-1296: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1297-1297: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1298-1298: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1299-1299: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1300-1300: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1301-1301: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1302-1302: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1303-1303: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1304-1304: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1305-1305: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1306-1306: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1307-1307: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1308-1308: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1309-1309: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1328-1328: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1332-1332: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1333-1333: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1334-1334: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1335-1335: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1337-1337: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1337-1337: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1338-1338: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1339-1339: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1340-1340: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1341-1341: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1342-1342: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1343-1343: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1344-1344: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1345-1345: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1346-1346: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1351-1351: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1352-1352: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1353-1353: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1354-1354: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1355-1355: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1357-1357: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1357-1357: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1358-1358: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1359-1359: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1360-1360: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1361-1361: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1362-1362: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1363-1363: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1365-1365: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1366-1366: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1367-1367: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1368-1368: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1369-1369: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1370-1370: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1371-1371: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1372-1372: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1373-1373: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1374-1374: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1375-1375: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1376-1376: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1377-1377: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1382-1382: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1383-1383: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1384-1384: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1386-1386: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1391-1391: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1393-1393: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1394-1394: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1395-1395: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1396-1396: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1397-1397: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1398-1398: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1399-1399: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1400-1400: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1401-1401: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1402-1402: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1403-1403: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1404-1404: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1405-1405: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1414-1414: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1415-1415: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1416-1416: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1417-1417: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1418-1418: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1419-1419: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1420-1420: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1421-1421: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1422-1422: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1428-1428: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1429-1429: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1430-1430: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1431-1431: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1432-1432: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1433-1433: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1434-1434: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1435-1435: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1436-1436: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1437-1437: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1438-1438: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1444-1444: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1445-1445: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1446-1446: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1447-1447: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1448-1448: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1449-1449: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1450-1450: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1451-1451: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1452-1452: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1453-1453: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1455-1455: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1455-1455: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1456-1456: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1457-1457: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1458-1458: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1459-1459: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1460-1460: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1461-1461: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1462-1462: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1463-1463: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1464-1464: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1465-1465: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1471-1471: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1502-1502: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1503-1503: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1504-1504: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1505-1505: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1506-1506: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1507-1507: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1508-1508: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1509-1509: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1510-1510: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1511-1511: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1512-1512: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1513-1513: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1514-1514: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1515-1515: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1516-1516: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1517-1517: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1518-1518: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1529-1529: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1533-1533: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1534-1534: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1535-1535: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1536-1536: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1537-1537: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1538-1538: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1539-1539: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1540-1540: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1541-1541: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1542-1542: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1543-1543: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1544-1544: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1545-1545: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1546-1546: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1547-1547: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1548-1548: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1549-1549: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1550-1550: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1559-1559: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1563-1563: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1564-1564: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1565-1565: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1576-1576: Hard tabs
Column: 3

(MD010, no-hard-tabs)


1581-1581: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1582-1582: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1583-1583: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1584-1584: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1585-1585: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1586-1586: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1587-1587: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1588-1588: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1589-1589: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1590-1590: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1591-1591: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1592-1592: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1593-1593: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1594-1594: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1595-1595: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1596-1596: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1597-1597: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1598-1598: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1600-1600: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1600-1600: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1601-1601: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1602-1602: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1603-1603: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1604-1604: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1605-1605: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1607-1607: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1608-1608: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1609-1609: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1610-1610: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1611-1611: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1612-1612: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1613-1613: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1614-1614: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1615-1615: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1616-1616: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1625-1625: Hard tabs
Column: 3

(MD010, no-hard-tabs)


1630-1630: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1631-1631: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1632-1632: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1633-1633: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1634-1634: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1635-1635: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1636-1636: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1637-1637: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1638-1638: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1639-1639: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1640-1640: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1642-1642: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1649-1649: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1650-1650: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1651-1651: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1652-1652: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1653-1653: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1654-1654: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1655-1655: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1656-1656: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1657-1657: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1658-1658: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1659-1659: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1665-1665: Multiple headings with the same content
null

(MD024, no-duplicate-heading)


1681-1681: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1682-1682: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1683-1683: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1684-1684: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1685-1685: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1686-1686: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1687-1687: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1688-1688: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1689-1689: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1690-1690: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1691-1691: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1692-1692: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1693-1693: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1694-1694: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1695-1695: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1696-1696: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1697-1697: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1707-1707: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1711-1711: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1712-1712: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1713-1713: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1714-1714: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1715-1715: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1716-1716: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1717-1717: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1718-1718: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1718-1718: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1720-1720: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1720-1720: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1721-1721: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1722-1722: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1723-1723: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1724-1724: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1725-1725: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1726-1726: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1727-1727: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1729-1729: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1731-1731: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1732-1732: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1733-1733: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1735-1735: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1736-1736: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1742-1742: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1743-1743: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1744-1744: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1745-1745: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1746-1746: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1747-1747: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1748-1748: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1749-1749: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1750-1750: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1751-1751: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1752-1752: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1753-1753: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1754-1754: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1755-1755: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1756-1756: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1757-1757: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1758-1758: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1759-1759: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1760-1760: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1762-1762: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1762-1762: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1763-1763: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1764-1764: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1765-1765: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1766-1766: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1773-1773: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1774-1774: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1775-1775: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1776-1776: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1777-1777: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1778-1778: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1779-1779: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1780-1780: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1781-1781: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1782-1782: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1783-1783: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1785-1785: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1785-1785: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1790-1790: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1791-1791: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1792-1792: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1793-1793: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1794-1794: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1795-1795: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1796-1796: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1797-1797: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1799-1799: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1805-1805: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1806-1806: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1807-1807: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1808-1808: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1814-1814: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1815-1815: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1816-1816: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1817-1817: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1818-1818: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1819-1819: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1820-1820: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1821-1821: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1835-1835: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1836-1836: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1837-1837: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1838-1838: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1839-1839: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1840-1840: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1841-1841: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1842-1842: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1843-1843: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1844-1844: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1845-1845: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1846-1846: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1847-1847: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1848-1848: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1849-1849: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1850-1850: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1851-1851: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1852-1852: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1853-1853: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1854-1854: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1855-1855: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1856-1856: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1857-1857: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1858-1858: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1859-1859: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1860-1860: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1861-1861: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1862-1862: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1863-1863: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1864-1864: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1865-1865: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1866-1866: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1867-1867: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1868-1868: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1878-1878: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1882-1882: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1884-1884: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


1891-1891: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1893-1893: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1897-1897: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1898-1898: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1903-1903: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1904-1904: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1905-1905: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1906-1906: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1907-1907: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1908-1908: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1909-1909: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1910-1910: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1911-1911: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1912-1912: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1913-1913: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1914-1914: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1915-1915: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1916-1916: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1917-1917: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1918-1918: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1926-1926: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1927-1927: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1928-1928: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1929-1929: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1930-1930: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1931-1931: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1932-1932: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1933-1933: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1934-1934: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1935-1935: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1936-1936: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1946-1946: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1948-1948: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1948-1948: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1952-1952: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1953-1953: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1954-1954: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1955-1955: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1956-1956: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1957-1957: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1958-1958: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1959-1959: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1967-1967: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1971-1971: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


1972-1972: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1973-1973: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1974-1974: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1975-1975: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1976-1976: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1987-1987: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1988-1988: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1989-1989: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1990-1990: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1991-1991: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1992-1992: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1993-1993: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1994-1994: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1996-1996: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1996-1996: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


1997-1997: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1998-1998: Hard tabs
Column: 1

(MD010, no-hard-tabs)


1999-1999: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2000-2000: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2001-2001: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2002-2002: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2003-2003: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2004-2004: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2005-2005: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2006-2006: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2007-2007: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2008-2008: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2009-2009: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2010-2010: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2011-2011: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2012-2012: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2013-2013: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2014-2014: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2015-2015: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2016-2016: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2017-2017: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2018-2018: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2023-2023: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2025-2025: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2048-2048: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2052-2052: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2053-2053: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2054-2054: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2055-2055: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2056-2056: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2057-2057: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2058-2058: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2059-2059: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2060-2060: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2061-2061: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2062-2062: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2063-2063: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2064-2064: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2065-2065: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2066-2066: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2075-2075: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2076-2076: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2077-2077: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2079-2079: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2079-2079: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2084-2084: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2089-2089: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2097-2097: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2098-2098: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2099-2099: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2100-2100: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2101-2101: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2102-2102: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2103-2103: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2104-2104: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2108-2108: Spaces inside emphasis markers
null

(MD037, no-space-in-emphasis)


2109-2109: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2110-2110: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2111-2111: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2116-2116: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2119-2119: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2130-2130: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2131-2131: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2132-2132: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2133-2133: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2134-2134: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2135-2135: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2136-2136: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2137-2137: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2138-2138: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2139-2139: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2145-2145: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2146-2146: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2147-2147: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2148-2148: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2149-2149: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2150-2150: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2151-2151: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2152-2152: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2153-2153: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2154-2154: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2155-2155: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2156-2156: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2157-2157: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2158-2158: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2159-2159: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2160-2160: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2161-2161: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2162-2162: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2163-2163: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2164-2164: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2165-2165: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2166-2166: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2167-2167: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2168-2168: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2169-2169: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2170-2170: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2171-2171: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2175-2175: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2176-2176: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2178-2178: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2179-2179: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2181-2181: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2182-2182: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2184-2184: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2185-2185: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2187-2187: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2188-2188: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2190-2190: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2191-2191: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2195-2195: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2196-2196: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2197-2197: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2198-2198: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2199-2199: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2200-2200: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2201-2201: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2202-2202: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2204-2204: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2205-2205: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2207-2207: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2208-2208: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2209-2209: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2211-2211: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2212-2212: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2213-2213: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2214-2214: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2215-2215: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2216-2216: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2217-2217: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2218-2218: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2219-2219: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2220-2220: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2221-2221: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2222-2222: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2223-2223: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2224-2224: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2225-2225: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2226-2226: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2227-2227: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2228-2228: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2229-2229: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2236-2236: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2238-2238: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2238-2238: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2239-2239: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2240-2240: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2241-2241: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2242-2242: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2243-2243: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2244-2244: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2245-2245: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2247-2247: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2250-2250: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2260-2260: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2262-2262: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2264-2264: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2265-2265: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2267-2267: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2268-2268: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2269-2269: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2270-2270: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2272-2272: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2273-2273: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2274-2274: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2275-2275: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2276-2276: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2277-2277: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2278-2278: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2279-2279: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2280-2280: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2281-2281: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2283-2283: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2285-2285: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2286-2286: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2287-2287: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2288-2288: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2289-2289: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2291-2291: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2298-2298: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2318-2318: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2320-2320: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2320-2320: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2321-2321: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2322-2322: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2330-2330: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2334-2334: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2335-2335: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2336-2336: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2337-2337: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2338-2338: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2339-2339: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2340-2340: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2341-2341: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2342-2342: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2343-2343: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2344-2344: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2345-2345: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2346-2346: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2347-2347: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2348-2348: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2350-2350: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2350-2350: Code block style
Expected: fenced; Actual: indented

(MD046, code-block-style)


2351-2351: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2352-2352: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2359-2359: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2360-2360: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2361-2361: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2362-2362: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2363-2363: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2364-2364: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2365-2365: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2366-2366: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2367-2367: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2368-2368: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2369-2369: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2370-2370: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2371-2371: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2372-2372: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2373-2373: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2374-2374: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2375-2375: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2376-2376: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2377-2377: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2378-2378: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2379-2379: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2380-2380: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2381-2381: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2382-2382: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2384-2384: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


2391-2391: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2392-2392: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2399-2399: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2400-2400: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2401-2401: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2402-2402: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2407-2407: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2408-2408: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2409-2409: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2410-2410: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2411-2411: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2412-2412: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2413-2413: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2414-2414: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2415-2415: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2416-2416: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2422-2422: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2423-2423: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2424-2424: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2425-2425: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2426-2426: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2427-2427: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2428-2428: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2429-2429: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2430-2430: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2431-2431: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2432-2432: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2433-2433: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2434-2434: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2435-2435: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2436-2436: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2437-2437: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2438-2438: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2439-2439: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2444-2444: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2445-2445: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2446-2446: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2447-2447: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2448-2448: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2449-2449: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2450-2450: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2451-2451: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2452-2452: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2453-2453: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2454-2454: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2455-2455: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2456-2456: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2457-2457: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2458-2458: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2459-2459: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2460-2460: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2469-2469: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2470-2470: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2471-2471: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2472-2472: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2473-2473: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2474-2474: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2475-2475: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2476-2476: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2477-2477: Hard tabs
Column: 1

(MD010, no-hard-tabs)


2479-2479: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

src/evm/prompts/implement-bls12-381-g1msm-precompile.md

32-32: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


69-69: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


78-78: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)


118-118: Multiple headings with the same content
null

(MD024, no-duplicate-heading)

⏰ Context from checks skipped due to timeout of 90000ms (3)
  • GitHub Check: Nx Cloud - Main Job
  • GitHub Check: CI Checks
  • GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (41)
src/evm/prompts/fix-wasm-build-integration.md (2)

3-4: Align prompt with multi-client context.
The ‘What’ section currently targets only the Zig EVM; incorporate references to revm, evmone, geth, or execution-specs to meet the PR objective of multi-implementation context.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: Possible missing preposition found.
Context: ...tegration into Tevm TypeScript ## What Fix the broken WASM build system and integr...

(AI_HYDRA_LEO_MISSING_TO)


17-22: Verify workflow conventions.
The branch naming uses snake_case as stated, but confirm that the XML-summary commit style aligns with the repository’s contributing guidelines.

src/evm/prompts/implement-ecrecover-precompile.md (9)

43-48: Security warnings are appropriately strong and align with best practices.


49-55: The “✅ DO THIS” checklist is clear and comprehensive.


57-63: The “❌ NEVER DO THIS” section effectively warns against risky approaches.


66-71: Implementation strategy prioritizes secure and proven libraries correctly.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~66-~66: You might be missing the article “the” here.
Context: ...ion Strategy:** 1. ONLY choice: Use libsecp256k1 C library with Zig bindings 2. **Fallba...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


[uncategorized] ~67-~67: You might be missing the article “the” here.
Context: ... with Zig bindings 2. Fallback: Use proven WASM secp256k1 library (noble-secp256k1...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


76-80: Basic operation details (address, gas cost, input/output) accurately match the specification.


84-88: Input format section correctly defines the 128-byte layout.


95-100: Validation rules align with the EVM execution-specs and client implementations.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~95-~95: You might be missing the article “the” here.
Context: ...# Validation Rules - r and s must be in range [1, secp256k1_order) - v must be exactl...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


214-215: Verify import paths.

Confirm that the modules Types/U256.zig and Types/B256.zig exist under the repository’s directory structure and follow naming conventions.


290-292: The extraction logic and comments correctly enforce strict v parameter validation for the precompile.

src/evm/prompts/implement-ecadd-precompile.md (10)

42-47: The security warning section is well-focused and aligns with cryptographic best practices.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

46-46: Emphasis used instead of a heading
null

(MD036, no-emphasis-as-heading)


49-55: “DO THIS” guidelines accurately enforce use of audited libraries and validation.


57-65: The “NEVER DO THIS” list effectively calls out insecure shortcuts.


66-70: Implementation strategy correctly prioritizes secure options.


76-83: The basic operation and gas cost details match EIP-196 and hardfork history.


84-88: Curve parameters and equation description are precise and reference the correct field prime.


90-97: References to revm, EIP-196, and Rust libraries give solid implementation guidance.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~93-~93: You might be missing the article “the” here.
Context: ...entation Search for bn and ecadd in revm codebase for elliptic curve implementat...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)


133-140: Gas constants tasks are clearly stated and align with the Istanbul/Byzantium gas cost changes.


143-227: Confirm large literal parsing.

The decimal FIELD_PRIME literal may exceed U256 literal parsing bounds. Consider using a hexadecimal literal or splitting initialization to avoid parser errors.


269-272: Result serialization logic (writing the 64-byte output) is correct and adheres to the spec.

src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md (3)

3-3: Clear and concise description
The opening description accurately sets the context and objectives of the prompt.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~3-~3: Possible missing comma found.
Context: ...ement BLS12-381 map field element to G2 precompile following Ethereum specifications and m...

(AI_HYDRA_LEO_MISSING_COMMA)


29-30: High-level feature summary is solid
The added bullet points on constant-time operations and optimized field operations clearly highlight security and performance goals.


203-203: Dispatcher registration looks correct
The new precompile analyze/execute traits are added at the proper index, matching address 0x11.

src/evm/prompts/implement-blake2f-precompile.md (17)

3-3: Prompt objective is clear
The opening sentence clearly states the goal, address, and reference spec (EIP-152).


5-6: Context section is appropriate
The rationale for the BLAKE2F precompile is well explained.


8-12: Workflow details are thorough
Branch naming, testing, and commit conventions are all clearly specified.


14-15: Specification header is good
The “Basic Operation” block under the Specification section is correctly placed.


16-20: Basic operation parameters are accurate
Address, gas cost model, input/output byte sizes, and activation fork are all correctly described.


24-31: Input format is well defined
Byte offsets, endianness, and field breakdown adhere to EIP-152.


35-43: File structure guidance is complete
Primary files to modify, new files to create, and tests are all clearly listed.


45-46: Test file reference is clear
Test file path and purpose align with test-driven development goals.


51-54: Security warning is appropriately highlighted
The “DO NOT IMPLEMENT CUSTOM CRYPTO” admonition is clear and prominent.


72-75: Implementation strategy is well prioritized
The tiered choice of crypto libraries is logical and follows best practices.


91-98: Requirements are comprehensive
Core functionality points cover validation, gas, endianness, performance, and error handling.


100-107: Constraints are clear and enforceable
Critical “never merge until tests pass” and style rules are explicit.


109-115: Success criteria are measurable
Test pass, gas accuracy, and performance benchmarks are defined in concrete terms.


118-123: Reference snippet introduction
Contextualizing the go-ethereum example is helpful, but no action needed here.


124-131: Constants & errors snippet
The sample constant definitions are accurate; no further refinements.


139-147: Gas calculation snippet is correct
The go-ethereum gas model aligns with EIP-152 and is well presented.


152-159: Full implementation example is solid
The code walkthrough for input validation, parsing, and compression clearly reflects reference behavior.

Comment on lines +102 to +107
**Why These Files:**
- WASM stubs provide platform-specific implementations for WASM environment
- Root WASM modules define the entry points and exports for JavaScript
- Build system needs proper WASM target configuration
- VM implementation must be compatible with WASM constraints

Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Remove duplicate bullets.
The rationale repeats the ‘WASM stubs provide platform-specific implementations…’ bullet. Deduplicate to streamline the ‘Why These Files’ section.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~103-~103: You might be missing the article “the” here.
Context: ...e platform-specific implementations for WASM environment - Root WASM modules define ...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

🤖 Prompt for AI Agents
In src/evm/prompts/fix-wasm-build-integration.md around lines 102 to 107, the
'Why These Files' section contains duplicate bullet points mentioning that WASM
stubs provide platform-specific implementations. Remove the repeated bullet so
each point is unique, ensuring the section is concise and clear without
redundancy.

Comment on lines +6 to +9
- **Branch**: `feat_implement_implement_ci_cd_wasm_size_check` (snake_case)
- **Worktree**: `git worktree add g/feat_implement_implement_ci_cd_wasm_size_check feat_implement_implement_ci_cd_wasm_size_check`
- **Testing**: Run `zig build test-all` before committing
- **Commit**: Use emoji conventional commits with XML summary format
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix duplicate ‘implement’ in branch name.
The branch is named feat_implement_implement_ci_cd_wasm_size_check; remove the extra ‘implement’ to match naming conventions.

🤖 Prompt for AI Agents
In src/evm/prompts/implement-cicd-wasm-size-check.md around lines 6 to 9, the
branch name contains a duplicate word ‘implement’ as
`feat_implement_implement_ci_cd_wasm_size_check`. Rename the branch to remove
the extra ‘implement’, resulting in `feat_implement_ci_cd_wasm_size_check`, and
update all references to this branch name accordingly to maintain consistency.

Comment on lines +189 to +191
// v must be exactly 27 or 28 (EIP-155 format NOT supported in precompile)
const recovery_id = extract_recovery_id(v);
if (recovery_id != 0 and recovery_id != 1) return false;
if (recovery_id == 255) return false; // Invalid v value
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Resolve EIP-155 inconsistency.

The comment at line 189 correctly disallows EIP-155 v values, but earlier the prompt instructs to handle them. Harmonize both sections by removing any EIP-155 handling requirement from the core functionality list.

🤖 Prompt for AI Agents
In src/evm/prompts/implement-ecrecover-precompile.md around lines 189 to 191,
the comment disallows EIP-155 v values while earlier instructions require
handling them. To fix this inconsistency, remove any mention or requirement of
handling EIP-155 v values from the core functionality list earlier in the prompt
so it aligns with the disallowance stated here.

@@ -1,25 +1,78 @@
# Implement ECMUL Precompile

## Git Workflow Instructions
You are implementing ECMUL Precompile for the Tevm EVM written in Zig. Your goal is to implement elliptic curve multiplication precompile for secp256k1 following Ethereum specifications and maintaining compatibility with existing implementations.
Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Curve Type Mismatch in Prompt Introduction

The opening line references secp256k1, but the ECMUL precompile operates on the alt_bn128 (BN254) curve. Update the description to accurately reflect the target curve.

🤖 Prompt for AI Agents
In src/evm/prompts/implement-ecmul-precompile.md at line 3, the prompt
introduction incorrectly states that the ECMUL precompile is for the secp256k1
curve, but it should reference the alt_bn128 (BN254) curve. Update the
description to specify that the elliptic curve multiplication precompile is for
the alt_bn128 (BN254) curve to align with Ethereum specifications and existing
implementations.


### Basic Operation
- **Address**: `0x0000000000000000000000000000000000000011`
- **Gas Cost**: 110000 (fixed cost)
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Update fixed gas cost to match implementation
The spec line still shows 110000 gas, but the evmone and revm contexts use 23800. The prompt should reflect 23800 for the SSWU mapping to align with EIP-2537 final values.

🤖 Prompt for AI Agents
In src/evm/prompts/implement-bls12-381-map-fp2-to-g2-precompile.md at line 67,
update the fixed gas cost value from 110000 to 23800 to match the actual gas
cost used in evmone and revm contexts and align with the final EIP-2537
specification.

Comment on lines +99 to +105

1. **EIP-2537 Compliance**: Fully implements EIP-2537 G2ADD specification
2. **Point Validation**: Correctly validates G2 points and subgroup membership
3. **Addition Correctness**: Produces correct G2 point addition results
4. **Gas Accuracy**: Consumes exactly 800 gas per operation
5. **Edge Cases**: Handles infinity points and identity operations correctly
6. **Integration**: Works with existing precompile infrastructure
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Gas cost mismatch in Success Criteria
The EIP-2537 spec and the Basic Operation section list a fixed gas cost of 600, but item 4 still references 800 gas. Update it to 600 to match the specification.

🧰 Tools
🪛 LanguageTool

[grammar] ~103-~103: After the number ‘800’, use a plural noun. Did you mean “gases”, “gasses”?
Context: ... Gas Accuracy: Consumes exactly 800 gas per operation 5. Edge Cases: Handle...

(CD_NNU)

🤖 Prompt for AI Agents
In src/evm/prompts/implement-bls12-381-g2add-precompile.md around lines 99 to
105, the gas cost mentioned in item 4 of the success criteria is incorrectly
stated as 800 gas. Update this value to 600 gas to align with the EIP-2537
specification and the Basic Operation section.

@vercel vercel bot temporarily deployed to Preview – node June 11, 2025 20:42 Inactive
@vercel vercel bot temporarily deployed to Preview – tevm-monorepo-app June 11, 2025 20:44 Inactive
@roninjin10 roninjin10 merged commit 17d8bb5 into main Jun 11, 2025
9 of 10 checks passed
@roninjin10 roninjin10 deleted the 06-11-feat_update_all_prompts_with_context_from_revm_evmone_geth_and_execution-specs branch June 11, 2025 22:34
roninjin10 added a commit that referenced this pull request Jun 11, 2025
…tion-specs (#1828) (#1843)

## Description

_Concise description of proposed changes_

## Testing

Explain the quality checks that have been done on the code changes

## Additional Information

- [ ] I read the [contributing docs](../docs/contributing.md) (if this
is your first contribution)

Your ENS/address:

---------

Co-authored-by: Claude <noreply@anthropic.com>
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.

1 participant
0