Skip to content
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

🦫 Add Go target #27

Merged
merged 11 commits into from
Jun 18, 2024
Merged

🦫 Add Go target #27

merged 11 commits into from
Jun 18, 2024

Conversation

bdeneux
Copy link
Contributor

@bdeneux bdeneux commented Jun 14, 2024

📝 Purpose

This PR bring the schema generation type for Go. Like typescript, each contract has it's own separate module and independent from other.

🔎 Exemple

import (
    lawstone "github.com/axone-protocol/axone-contract-schema/go/law-stone-schema/v5"
)
msg := &lawstone.InstantiateMsg{
	Program:        "<Program>",
	StorageAddress: "<Addr>",
}
lawStoneMsg, err := msg.Marshal()

📋 Next step

Summary by CodeRabbit

  • New Features

    • Introduced parsing and marshaling functionalities for various schemas: cognitarium, dataverse, law-stone, and objectarium. This includes new message types and response structures.
    • Added README.md files for generated Go types in the Axone protocol, detailing schema usage and contract interactions.
  • Refactor

    • Renamed build jobs in workflows to accommodate Go targets.
    • Updated schema-related TypeScript module names from okp4 to axone.
  • Documentation

    • Enhanced comments and documentation for better readability and consistency.
    • Added comprehensive Readme files for several Axone schemas, detailing their structure and usage.

Copy link

coderabbitai bot commented Jun 14, 2024

Warning

Rate limit exceeded

@bdeneux has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 37 minutes and 21 seconds before requesting another review.

How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

Commits

Files that changed from the base of the PR and between 848aebd and 70a9c64.

Walkthrough

The most recent update introduces extensive enhancements across multiple files. A key focus has been on improving schema handling mechanisms, which includes adding and modifying methods to parse and marshal JSON data in various Go and TypeScript schemas. The CI/CD pipeline has also been optimized to support Go-based builds. Documentation updates reflect the rebranding from OKP4 to the Axone protocol and new functionality.

Changes

File(s) Changes Summary
.github/workflows/build.yml Renamed job and added Go target to build matrix.
go/cognitarium-schema/schema.go Added fields for various message structs and retained existing methods for JSON parsing and marshaling.
go/dataverse-schema/schema.go Introduced new unmarshalling/marshalling functions and relevant message structs.
go/law-stone-schema/schema.go Introduced new functionality for handling JSON data with various message types and structs for the law-stone context.
go/objectarium-schema/schema.go Added new structs and functions for handling JSON data related to executing, instantiating, and querying in a bucket system.
magefiles/build.go Added Go type generation functionality via new Go method and updated logging in existing Ts method.
magefiles/magefile.go Introduced new constant GO_DIR for Go-related directory path configuration.
magefiles/readme.go, magefiles/schema.go Added punctuation for comments, renamed functions for consistency and readability.
.coderabbit.yaml Specified path filters to exclude go directory files from the review process.
go/README.md.template, go/dataverse-schema/README.md, go/law-stone-schema/README.md, go/objectarium-schema/README.md Introduced files outlining Go type generation and Axone protocol schema details.
ts/cognitarium-schema/README.md, ts/dataverse-schema/README.md, ts/law-stone-schema/README.md Updated all references from okp4 to axone, reflecting the rebranding.

Poem

In the realm of code, changes anew,
From OKP4 to Axone, a fresh view.
Parsing JSON, new structs arise,
Go and TypeScript reaching the skies.
CI/CD with newfound grace,
Build your projects, at a rapid pace.
Celebrate the shift, with joy profound,
For in this update, elegance is found. 🌟

                         __     
                        / .\    
                       / _  `.  
                      |  \  / _ 
                      \__\/.-.-.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

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>.
    • Generate unit testing code for this file.
    • 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 generate unit testing code for this file.
    • @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 generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @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.

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 as 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 resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration 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.

@bdeneux bdeneux force-pushed the feat/go-generation branch from d4a7927 to 7c5dbd1 Compare June 14, 2024 12:45
@bdeneux bdeneux linked an issue Jun 17, 2024 that may be closed by this pull request
@bdeneux bdeneux marked this pull request as ready for review June 17, 2024 07:33
Copy link

@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

Outside diff range and nitpick comments (1)
go/cognitarium-schema/schema.go (1)

123-137: Add comprehensive documentation for ExecuteMsg struct.

The ExecuteMsg struct could benefit from more detailed documentation, especially explaining the purpose and usage of InsertData and DeleteData. This will enhance understandability and maintainability of the code.

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 2f0a2db and b243e6d.

Files ignored due to path filters (4)
  • go/cognitarium-schema/go.mod is excluded by !**/*.mod
  • go/dataverse-schema/go.mod is excluded by !**/*.mod
  • go/law-stone-schema/go.mod is excluded by !**/*.mod
  • go/objectarium-schema/go.mod is excluded by !**/*.mod
Files selected for processing (9)
  • .github/workflows/build.yml (2 hunks)
  • go/cognitarium-schema/schema.go (1 hunks)
  • go/dataverse-schema/schema.go (1 hunks)
  • go/law-stone-schema/schema.go (1 hunks)
  • go/objectarium-schema/schema.go (1 hunks)
  • magefiles/build.go (2 hunks)
  • magefiles/magefile.go (1 hunks)
  • magefiles/readme.go (2 hunks)
  • magefiles/schema.go (2 hunks)
Files skipped from review due to trivial changes (3)
  • magefiles/magefile.go
  • magefiles/readme.go
  • magefiles/schema.go
Additional context used
Learnings (1)
magefiles/build.go (1)
User: bdeneux
PR: axone-protocol/axone-contract-schema#25
File: magefiles/build.go:0-0
Timestamp: 2024-06-13T15:00:12.817Z
Learning: User bdeneux has implemented enhanced error handling in the `Ts` function of `magefiles/build.go`, providing more specific error messages for better troubleshooting.
Additional comments not posted (14)
.github/workflows/build.yml (1)

Line range hint 26-61: The workflow configuration for building TypeScript and Go targets looks correct and well-structured. However, ensure that the matrix.schema variable is correctly populated and used in the build step.

magefiles/build.go (1)

Line range hint 20-39: The TypeScript build function has been updated to include detailed logging and directory creation. Ensure the directory creation handles existing directories gracefully to avoid potential errors.

go/dataverse-schema/schema.go (1)

60-228: The definitions for ExecuteMsg, RevokeClaims, SubmitClaims, InstantiateMsg, TripleStoreConfig, TripleStoreLimitsInput, QueryMsg, Dataverse, DataverseResponse, and RDFXML are well-documented and structured. Ensure these are consistently used throughout the application, particularly in API endpoints and database interactions.

go/objectarium-schema/schema.go (9)

1-6: The file header comments are clear and instructive, providing guidance on how to use the generated code for marshalling and unmarshalling JSON data.


32-36: All JSON marshalling and unmarshalling functions are consistent and correctly implemented using the standard encoding/json package. This ensures that the data types are correctly parsed and serialized back to JSON.

Also applies to: 38-40, 42-46, 48-50, 52-56, 58-60, 62-66, 68-70, 72-76, 78-80, 84-88, 90-92, 94-98, 100-102, 104-108, 110-112


142-147: The ExecuteMsg struct is well-defined with appropriate JSON tags and omitempty options. This will correctly handle optional fields in JSON data, which is crucial for robust API design.


173-183: The InstantiateMsg struct is comprehensive, covering various aspects of a bucket's instantiation. The use of pointers for optional fields is a good practice in Go, allowing for nil checks.


193-209: The InstantiateMsgConfig struct provides detailed control over the bucket's configuration. The comments are informative and guide the user on how the fields affect the bucket's behavior.


218-226: The InstantiateMsgLimits struct is well-structured to define limits on various aspects of the bucket. Using pointers for these fields allows for optional specification, which adds flexibility to the configuration.


234-242: The InstantiateMsgPagination struct defines pagination settings. The use of pointers for optional fields is consistent and appropriate. However, ensure that the backend correctly handles these settings to prevent potential misuse or errors in pagination.


257-262: The QueryMsg struct allows for querying various aspects of the bucket and its contents. The use of pointers for optional fields is consistent with other parts of the schema, which is good for API consistency.


527-535: The HashAlgorithm type defines various cryptographic hash functions. The definitions are clear, and the comments provide good context about each algorithm's use case and characteristics.

go/cognitarium-schema/schema.go (2)

139-147: Validate the structure and naming of DeleteElement.

The structure and naming conventions of the DeleteElement struct are clear and align well with the domain model of RDF triples.


691-727: Check error handling in UnmarshalJSON and MarshalJSON methods.

These methods involve complex logic for handling JSON data. Verify that all potential error paths are correctly handled and that the methods behave as expected with various input scenarios.

go/cognitarium-schema/schema.go Show resolved Hide resolved
go/cognitarium-schema/schema.go Show resolved Hide resolved
go/objectarium-schema/schema.go Show resolved Hide resolved
go/objectarium-schema/schema.go Show resolved Hide resolved
magefiles/build.go Show resolved Hide resolved
go/law-stone-schema/schema.go Show resolved Hide resolved
go/dataverse-schema/schema.go Show resolved Hide resolved
Copy link

@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: 34

Outside diff range and nitpick comments (14)
ts/law-stone-schema/README.md (1)

1-1: Update document title for consistency
The document title uses "AXONE law-stone schema". For consistency with other documents and to enhance clarity, consider specifying that this is for TypeScript.

# AXONE Law-Stone Schema (TypeScript)
go/law-stone-schema/README.md (1)

1-1: Update document title for consistency
The document title uses "AXONE law-stone schema". For consistency with other documents and to enhance clarity, consider specifying that this is for Go.

# AXONE Law-Stone Schema (Go)
ts/dataverse-schema/README.md (2)

1-1: Update document title for consistency
The document title uses "AXONE dataverse schema". For consistency with other documents and to enhance clarity, consider specifying that this is for TypeScript.

# AXONE Dataverse Schema (TypeScript)

Line range hint 57-57: Simplify language for better readability
The phrase "in conjunction with" could be simplified to improve readability.

Digital Resources are identified by a URI along with the Service responsible for their provision.
Tools
Markdownlint

23-23: null (MD031, blanks-around-fences)
Fenced code blocks should be surrounded by blank lines

ts/objectarium-schema/README.md (4)

1-1: Update the document title for clarity.

Consider revising the document title to include more specific details about its content, such as "AXONE Objectarium Schema Documentation" to enhance clarity and searchability.


16-16: Clarify installation instructions.

Consider adding a brief explanation about what the module does before the installation command to help users understand why they might want to install it.


27-27: Improve the import instruction clarity.

Consider expanding on what types are available for import and how they might be used within a project. This could be particularly helpful for new users.


564-564: Multiple consecutive blank lines.

Consider removing extra blank lines to comply with best practices in markdown formatting.

Also applies to: 565-565

Tools
Markdownlint

564-564: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines

go/objectarium-schema/README.md (1)

169-169: Spaces inside emphasis markers.

There are spaces inside emphasis markers throughout the document which can cause rendering issues in some Markdown parsers. It's recommended to remove these spaces to ensure consistent formatting.

Also applies to: 196-196, 198-198, 199-199, 207-207, 208-208, 216-216, 217-217, 225-225, 226-226, 238-238, 246-246, 247-247, 255-255, 266-266, 267-267, 275-275, 278-278, 288-288, 291-291, 296-296, 297-297, 300-300, 311-311, 312-312, 313-313, 314-314, 315-315, 316-316, 334-334, 335-335, 345-345, 346-346, 390-390, 391-391, 392-392, 446-446, 447-447, 448-448, 449-449, 450-450, 451-451, 459-459, 460-460

Tools
Markdownlint

169-169: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers

go/cognitarium-schema/README.md (5)

24-24: Consider adding a brief description of what a "CosmWasm Smart Contract" is for readers unfamiliar with this term.


33-33: The descriptions of the functionalities are clear and concise. Consider adding examples to illustrate how these functionalities can be utilized in practice.

Also applies to: 35-35, 38-38


51-53: The rationale is well-explained. It might be beneficial to link to external resources that further explain the value of data on the blockchain.


59-63: The explanation of RDF and its components is very educational. Consider providing a link to a more comprehensive guide or tutorial on RDF for readers who wish to learn more.

Also applies to: 65-65


67-67: The description of Turtle syntax is clear. Adding a link to the official Turtle syntax specification could provide additional value.

Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

Commits

Files that changed from the base of the PR and between b243e6d and 848aebd.

Files selected for processing (12)
  • .coderabbit.yaml (1 hunks)
  • go/README.md.template (1 hunks)
  • go/cognitarium-schema/README.md (1 hunks)
  • go/dataverse-schema/README.md (1 hunks)
  • go/law-stone-schema/README.md (1 hunks)
  • go/objectarium-schema/README.md (1 hunks)
  • magefiles/readme.go (2 hunks)
  • magefiles/schema.go (3 hunks)
  • ts/cognitarium-schema/README.md (7 hunks)
  • ts/dataverse-schema/README.md (7 hunks)
  • ts/law-stone-schema/README.md (5 hunks)
  • ts/objectarium-schema/README.md (11 hunks)
Files not summarized due to errors (1)
  • go/cognitarium-schema/README.md: Error: Message exceeds token limit
Files not reviewed due to errors (1)
  • magefiles/readme.go (no review received)
Files skipped from review due to trivial changes (2)
  • .coderabbit.yaml
  • go/README.md.template
Files skipped from review as they are similar to previous changes (1)
  • magefiles/schema.go
Additional context used
LanguageTool
ts/law-stone-schema/README.md

[style] ~43-~43: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...guarantee the availability of its rules in order to question them, but not to ensure the ru...


[uncategorized] ~82-~82: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...ith this contract. If the law stone is broken the query returns a response with the e...

go/law-stone-schema/README.md

[style] ~30-~30: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...guarantee the availability of its rules in order to question them, but not to ensure the ru...


[uncategorized] ~69-~69: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...ith this contract. If the law stone is broken the query returns a response with the e...

ts/dataverse-schema/README.md

[style] ~57-~57: ‘in conjunction with’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)
Context: ...gital Resources are identified by a URI in conjunction with the Service responsible for their provi...


[misspelling] ~63-~63: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. (EN_A_VS_AN)
Context: ...ould be an individual, organization, or a any kind of resource (dataset, algorith...


[style] ~71-~71: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... about a Resource identified by a DID. Claims play a pivotal role in the governance f...


[misspelling] ~181-~181: This word is normally spelled with a hyphen. (EN_COMPOUNDS_HUMAN_READABLE)
Context: ...address. | ## Definitions ### Addr A human readable address. In Cosmos, this is typically ...


[misspelling] ~183-~183: This word is normally spelled as one. (EN_COMPOUNDS_MULTI_CHAIN)
Context: ...is is typically bech32 encoded. But for multi-chain smart contracts no assumptions should b...


[uncategorized] ~185-~185: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...ess. It can be created in the following ways 1. Use Addr::unchecked(input) 2. Use ...


[style] ~185-~185: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...dr = deps.api.addr_validate(input)?3. Uselet checked: Addr = deps.api.addr_huma...


[typographical] ~187-~187: Should there be a question mark at the end of this sentence? (MISSING_QUESTION_MARK2)
Context: ...)and operate on thatString` instance. | type | | ----------- | | **st...


[style] ~232-~232: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. Default t...


[style] ~246-~246: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. Default t...


[uncategorized] ~263-~263: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...ples Use from to create instances of this and u64 to get the value out: ````# ...

go/dataverse-schema/README.md

[style] ~44-~44: ‘in conjunction with’ might be wordy. Consider a shorter alternative. (EN_WORDINESS_PREMIUM_IN_CONJUNCTION_WITH)
Context: ...gital Resources are identified by a URI in conjunction with the Service responsible for their provi...


[misspelling] ~50-~50: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. (EN_A_VS_AN)
Context: ...ould be an individual, organization, or a any kind of resource (dataset, algorith...


[style] ~58-~58: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ... about a Resource identified by a DID. Claims play a pivotal role in the governance f...


[misspelling] ~168-~168: This word is normally spelled with a hyphen. (EN_COMPOUNDS_HUMAN_READABLE)
Context: ...address. | ## Definitions ### Addr A human readable address. In Cosmos, this is typically ...


[misspelling] ~170-~170: This word is normally spelled as one. (EN_COMPOUNDS_MULTI_CHAIN)
Context: ...is is typically bech32 encoded. But for multi-chain smart contracts no assumptions should b...


[uncategorized] ~172-~172: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...ess. It can be created in the following ways 1. Use Addr::unchecked(input) 2. Use ...


[style] ~172-~172: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...dr = deps.api.addr_validate(input)?3. Uselet checked: Addr = deps.api.addr_huma...


[uncategorized] ~172-~172: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...ly be done from JSON that was validated before such as a contract's state. Addr must...


[typographical] ~174-~174: Should there be a question mark at the end of this sentence? (MISSING_QUESTION_MARK2)
Context: ...)and operate on thatString` instance. | type | | ----------- | | **st...


[style] ~219-~219: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. Default t...


[style] ~233-~233: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. Default t...


[uncategorized] ~250-~250: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...ples Use from to create instances of this and u64 to get the value out: ````# ...

ts/cognitarium-schema/README.md

[style] ~95-~95: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...he predicate. - "30"^^xsd:integer is the object, a literal of datatype integ...


[grammar] ~112-~112: 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’.) (KIND_OF_A)
Context: ...type>`**, and it's used to indicate the type of a resource. ::: The same RDF triple can ...


[uncategorized] ~204-~204: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ... '\n\r')"}}" ``` With the transaction hash we can query the number of triples inse...


[style] ~222-~222: To form a complete sentence, be sure to include a subject or ‘there’. (MISSING_IT_THERE)
Context: ...red in where you want to get where should be an array of elements specifying trip...


[style] ~224-~224: To form a complete sentence, be sure to include a subject or ‘there’. (MISSING_IT_THERE)
Context: ...ixedorfull named_node. objectcan also be asimple literal`. The foll...


[style] ~425-~425: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. Default t...


[uncategorized] ~434-~434: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ...ples in the store. For already existing triples it acts as no-op. Only the smart contr...


[style] ~543-~543: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. | | `limi...


[uncategorized] ~546-~546: “The” seems less likely than “they”. (AI_HYDRA_LEO_CP_THE_THEY)
Context: ...quired.) _ StoreStat. The store current usage. ...


[style] ~757-~757: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. | | `max_...


[style] ~771-~771: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. Default t...

go/cognitarium-schema/README.md

[style] ~82-~82: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...he predicate. - "30"^^xsd:integer is the object, a literal of datatype integ...


[grammar] ~99-~99: 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’.) (KIND_OF_A)
Context: ...type>`**, and it's used to indicate the type of a resource. ::: The same RDF triple can ...


[style] ~209-~209: To form a complete sentence, be sure to include a subject or ‘there’. (MISSING_IT_THERE)
Context: ...red in where you want to get where should be an array of elements specifying trip...


[style] ~211-~211: To form a complete sentence, be sure to include a subject or ‘there’. (MISSING_IT_THERE)
Context: ...ixedorfull named_node. objectcan also be asimple literal`. The foll...


[style] ~412-~412: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. Default t...


[style] ~530-~530: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. | | `limi...


[style] ~744-~744: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. | | `max_...


[style] ~758-~758: As an alternative to the over-used intensifier ‘very’, consider replacing this phrase. (EN_WEAK_ADJECTIVE)
Context: ...y. The limit is used to prevent storing very large triples, especially literals. Default t...

Markdownlint
ts/law-stone-schema/README.md

175-175: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


176-176: Expected: 1; Actual: 3 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


35-35: null (MD025, single-title, single-h1)
Multiple top-level headings in the same document


23-23: null (MD031, blanks-around-fences)
Fenced code blocks should be surrounded by blank lines


133-133: null (MD034, no-bare-urls)
Bare URL used


57-57: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


58-58: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


72-72: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


86-86: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


87-87: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


97-97: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


107-107: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


116-116: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


117-117: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


126-126: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


127-127: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


145-145: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


146-146: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


147-147: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


162-162: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


168-168: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


169-169: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers

go/law-stone-schema/README.md

162-162: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


163-163: Expected: 1; Actual: 3 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


22-22: null (MD025, single-title, single-h1)
Multiple top-level headings in the same document


120-120: null (MD034, no-bare-urls)
Bare URL used


44-44: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


45-45: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


59-59: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


73-73: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


74-74: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


84-84: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


94-94: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


103-103: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


104-104: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


113-113: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


114-114: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


132-132: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


133-133: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


134-134: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


149-149: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


155-155: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


156-156: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers

ts/dataverse-schema/README.md

278-278: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


279-279: Expected: 1; Actual: 3 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


41-41: null (MD024, no-duplicate-heading)
Multiple headings with the same content


35-35: null (MD025, single-title, single-h1)
Multiple top-level headings in the same document


261-261: null (MD025, single-title, single-h1)
Multiple top-level headings in the same document


143-143: Punctuation: ':' (MD026, no-trailing-punctuation)
Trailing punctuation in heading


23-23: null (MD031, blanks-around-fences)
Fenced code blocks should be surrounded by blank lines


217-217: Element: br (MD033, no-inline-html)
Inline HTML


217-217: Element: br (MD033, no-inline-html)
Inline HTML


86-86: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


87-87: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


135-135: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


137-137: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


149-149: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


150-150: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


164-164: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


174-174: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


175-175: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


225-225: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


226-226: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers

go/dataverse-schema/README.md

265-265: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


266-266: Expected: 1; Actual: 3 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


28-28: null (MD024, no-duplicate-heading)
Multiple headings with the same content


22-22: null (MD025, single-title, single-h1)
Multiple top-level headings in the same document


248-248: null (MD025, single-title, single-h1)
Multiple top-level headings in the same document


130-130: Punctuation: ':' (MD026, no-trailing-punctuation)
Trailing punctuation in heading


204-204: Element: br (MD033, no-inline-html)
Inline HTML


204-204: Element: br (MD033, no-inline-html)
Inline HTML


73-73: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


74-74: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


122-122: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


124-124: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


136-136: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


137-137: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


151-151: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


161-161: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


162-162: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


212-212: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


213-213: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers

ts/objectarium-schema/README.md

564-564: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


565-565: Expected: 1; Actual: 3 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


76-76: null (MD024, no-duplicate-heading)
Multiple headings with the same content


35-35: null (MD025, single-title, single-h1)
Multiple top-level headings in the same document


23-23: null (MD031, blanks-around-fences)
Fenced code blocks should be surrounded by blank lines


184-184: Element: br (MD033, no-inline-html)
Inline HTML


184-184: Element: br (MD033, no-inline-html)
Inline HTML


184-184: Element: br (MD033, no-inline-html)
Inline HTML


184-184: Element: br (MD033, no-inline-html)
Inline HTML


184-184: Element: br (MD033, no-inline-html)
Inline HTML


185-185: Element: br (MD033, no-inline-html)
Inline HTML


185-185: Element: br (MD033, no-inline-html)
Inline HTML


185-185: Element: br (MD033, no-inline-html)
Inline HTML


192-192: Element: br (MD033, no-inline-html)
Inline HTML


192-192: Element: br (MD033, no-inline-html)
Inline HTML


192-192: Element: br (MD033, no-inline-html)
Inline HTML


193-193: Element: br (MD033, no-inline-html)
Inline HTML


193-193: Element: br (MD033, no-inline-html)
Inline HTML


193-193: Element: br (MD033, no-inline-html)
Inline HTML


302-302: Element: br (MD033, no-inline-html)
Inline HTML


302-302: Element: br (MD033, no-inline-html)
Inline HTML


302-302: Element: br (MD033, no-inline-html)
Inline HTML


302-302: Element: br (MD033, no-inline-html)
Inline HTML


302-302: Element: br (MD033, no-inline-html)
Inline HTML


303-303: Element: br (MD033, no-inline-html)
Inline HTML


303-303: Element: br (MD033, no-inline-html)
Inline HTML


303-303: Element: br (MD033, no-inline-html)
Inline HTML


311-311: Element: br (MD033, no-inline-html)
Inline HTML


311-311: Element: br (MD033, no-inline-html)
Inline HTML


311-311: Element: br (MD033, no-inline-html)
Inline HTML


312-312: Element: br (MD033, no-inline-html)
Inline HTML


312-312: Element: br (MD033, no-inline-html)
Inline HTML


312-312: Element: br (MD033, no-inline-html)
Inline HTML


381-381: Element: br (MD033, no-inline-html)
Inline HTML


381-381: Element: br (MD033, no-inline-html)
Inline HTML


381-381: Element: br (MD033, no-inline-html)
Inline HTML


381-381: Element: br (MD033, no-inline-html)
Inline HTML


382-382: Element: br (MD033, no-inline-html)
Inline HTML


382-382: Element: br (MD033, no-inline-html)
Inline HTML


416-416: Element: br (MD033, no-inline-html)
Inline HTML


416-416: Element: br (MD033, no-inline-html)
Inline HTML


417-417: Element: br (MD033, no-inline-html)
Inline HTML


417-417: Element: br (MD033, no-inline-html)
Inline HTML


425-425: Element: br (MD033, no-inline-html)
Inline HTML


425-425: Element: br (MD033, no-inline-html)
Inline HTML


425-425: Element: br (MD033, no-inline-html)
Inline HTML


425-425: Element: br (MD033, no-inline-html)
Inline HTML


426-426: Element: br (MD033, no-inline-html)
Inline HTML


426-426: Element: br (MD033, no-inline-html)
Inline HTML


426-426: Element: br (MD033, no-inline-html)
Inline HTML


426-426: Element: br (MD033, no-inline-html)
Inline HTML


427-427: Element: br (MD033, no-inline-html)
Inline HTML


427-427: Element: br (MD033, no-inline-html)
Inline HTML


427-427: Element: br (MD033, no-inline-html)
Inline HTML


427-427: Element: br (MD033, no-inline-html)
Inline HTML


428-428: Element: br (MD033, no-inline-html)
Inline HTML


428-428: Element: br (MD033, no-inline-html)
Inline HTML


428-428: Element: br (MD033, no-inline-html)
Inline HTML


428-428: Element: br (MD033, no-inline-html)
Inline HTML


429-429: Element: br (MD033, no-inline-html)
Inline HTML


429-429: Element: br (MD033, no-inline-html)
Inline HTML


429-429: Element: br (MD033, no-inline-html)
Inline HTML


429-429: Element: br (MD033, no-inline-html)
Inline HTML


483-483: Element: br (MD033, no-inline-html)
Inline HTML


483-483: Element: br (MD033, no-inline-html)
Inline HTML


484-484: Element: br (MD033, no-inline-html)
Inline HTML


484-484: Element: br (MD033, no-inline-html)
Inline HTML


335-335: null (MD034, no-bare-urls)
Bare URL used


182-182: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


209-209: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


211-211: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


212-212: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


220-220: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


221-221: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


229-229: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


230-230: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


238-238: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


239-239: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


251-251: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


259-259: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


260-260: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


268-268: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


279-279: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


280-280: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


288-288: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


291-291: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


301-301: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


304-304: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


309-309: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


310-310: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


313-313: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


324-324: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


325-325: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


326-326: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


327-327: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


328-328: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


329-329: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


347-347: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


348-348: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


358-358: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


359-359: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


403-403: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


404-404: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


405-405: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


459-459: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


460-460: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


461-461: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


462-462: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


463-463: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


464-464: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


472-472: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


473-473: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers

ts/cognitarium-schema/README.md

915-915: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


916-916: Expected: 1; Actual: 3 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


35-35: null (MD025, single-title, single-h1)
Multiple top-level headings in the same document


23-23: null (MD031, blanks-around-fences)
Fenced code blocks should be surrounded by blank lines


420-420: Element: br (MD033, no-inline-html)
Inline HTML


421-421: Element: br (MD033, no-inline-html)
Inline HTML


422-422: Element: br (MD033, no-inline-html)
Inline HTML


423-423: Element: br (MD033, no-inline-html)
Inline HTML


424-424: Element: br (MD033, no-inline-html)
Inline HTML


425-425: Element: br (MD033, no-inline-html)
Inline HTML


426-426: Element: br (MD033, no-inline-html)
Inline HTML


440-440: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


441-441: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


454-454: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


455-455: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


456-456: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


457-457: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


469-469: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


477-477: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


478-478: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


486-486: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


488-488: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


496-496: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


498-498: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


508-508: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


509-509: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


517-517: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


518-518: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


526-526: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


528-528: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


537-537: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


545-545: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


546-546: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


567-567: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


575-575: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


576-576: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


577-577: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


596-596: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


597-597: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


598-598: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


606-606: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


614-614: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


631-631: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


632-632: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


633-633: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


667-667: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


684-684: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


685-685: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


693-693: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


709-709: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


726-726: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


727-727: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


728-728: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


736-736: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


752-752: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


753-753: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


754-754: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


755-755: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


756-756: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


757-757: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


758-758: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


780-780: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


781-781: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


782-782: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


790-790: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


791-791: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


792-792: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


800-800: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


801-801: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


802-802: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


810-810: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


811-811: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


812-812: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


828-828: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


829-829: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


830-830: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


838-838: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


839-839: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


901-901: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


448-448: null (MD038, no-space-in-code)
Spaces inside code span elements

go/objectarium-schema/README.md

551-551: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


552-552: Expected: 1; Actual: 3 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


22-22: null (MD025, single-title, single-h1)
Multiple top-level headings in the same document


171-171: Element: br (MD033, no-inline-html)
Inline HTML


171-171: Element: br (MD033, no-inline-html)
Inline HTML


171-171: Element: br (MD033, no-inline-html)
Inline HTML


171-171: Element: br (MD033, no-inline-html)
Inline HTML


171-171: Element: br (MD033, no-inline-html)
Inline HTML


172-172: Element: br (MD033, no-inline-html)
Inline HTML


172-172: Element: br (MD033, no-inline-html)
Inline HTML


172-172: Element: br (MD033, no-inline-html)
Inline HTML


179-179: Element: br (MD033, no-inline-html)
Inline HTML


179-179: Element: br (MD033, no-inline-html)
Inline HTML


179-179: Element: br (MD033, no-inline-html)
Inline HTML


180-180: Element: br (MD033, no-inline-html)
Inline HTML


180-180: Element: br (MD033, no-inline-html)
Inline HTML


180-180: Element: br (MD033, no-inline-html)
Inline HTML


289-289: Element: br (MD033, no-inline-html)
Inline HTML


289-289: Element: br (MD033, no-inline-html)
Inline HTML


289-289: Element: br (MD033, no-inline-html)
Inline HTML


289-289: Element: br (MD033, no-inline-html)
Inline HTML


289-289: Element: br (MD033, no-inline-html)
Inline HTML


290-290: Element: br (MD033, no-inline-html)
Inline HTML


290-290: Element: br (MD033, no-inline-html)
Inline HTML


290-290: Element: br (MD033, no-inline-html)
Inline HTML


298-298: Element: br (MD033, no-inline-html)
Inline HTML


298-298: Element: br (MD033, no-inline-html)
Inline HTML


298-298: Element: br (MD033, no-inline-html)
Inline HTML


299-299: Element: br (MD033, no-inline-html)
Inline HTML


299-299: Element: br (MD033, no-inline-html)
Inline HTML


299-299: Element: br (MD033, no-inline-html)
Inline HTML


368-368: Element: br (MD033, no-inline-html)
Inline HTML


368-368: Element: br (MD033, no-inline-html)
Inline HTML


368-368: Element: br (MD033, no-inline-html)
Inline HTML


368-368: Element: br (MD033, no-inline-html)
Inline HTML


369-369: Element: br (MD033, no-inline-html)
Inline HTML


369-369: Element: br (MD033, no-inline-html)
Inline HTML


403-403: Element: br (MD033, no-inline-html)
Inline HTML


403-403: Element: br (MD033, no-inline-html)
Inline HTML


404-404: Element: br (MD033, no-inline-html)
Inline HTML


404-404: Element: br (MD033, no-inline-html)
Inline HTML


412-412: Element: br (MD033, no-inline-html)
Inline HTML


412-412: Element: br (MD033, no-inline-html)
Inline HTML


412-412: Element: br (MD033, no-inline-html)
Inline HTML


412-412: Element: br (MD033, no-inline-html)
Inline HTML


413-413: Element: br (MD033, no-inline-html)
Inline HTML


413-413: Element: br (MD033, no-inline-html)
Inline HTML


413-413: Element: br (MD033, no-inline-html)
Inline HTML


413-413: Element: br (MD033, no-inline-html)
Inline HTML


414-414: Element: br (MD033, no-inline-html)
Inline HTML


414-414: Element: br (MD033, no-inline-html)
Inline HTML


414-414: Element: br (MD033, no-inline-html)
Inline HTML


414-414: Element: br (MD033, no-inline-html)
Inline HTML


415-415: Element: br (MD033, no-inline-html)
Inline HTML


415-415: Element: br (MD033, no-inline-html)
Inline HTML


415-415: Element: br (MD033, no-inline-html)
Inline HTML


415-415: Element: br (MD033, no-inline-html)
Inline HTML


416-416: Element: br (MD033, no-inline-html)
Inline HTML


416-416: Element: br (MD033, no-inline-html)
Inline HTML


416-416: Element: br (MD033, no-inline-html)
Inline HTML


416-416: Element: br (MD033, no-inline-html)
Inline HTML


470-470: Element: br (MD033, no-inline-html)
Inline HTML


470-470: Element: br (MD033, no-inline-html)
Inline HTML


471-471: Element: br (MD033, no-inline-html)
Inline HTML


471-471: Element: br (MD033, no-inline-html)
Inline HTML


322-322: null (MD034, no-bare-urls)
Bare URL used


169-169: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


196-196: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


198-198: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


199-199: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


207-207: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


208-208: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


216-216: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


217-217: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


225-225: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


226-226: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


238-238: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


246-246: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


247-247: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


255-255: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


266-266: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


267-267: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


275-275: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


278-278: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


288-288: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


291-291: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


296-296: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


297-297: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


300-300: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


311-311: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


312-312: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


313-313: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


314-314: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


315-315: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


316-316: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


334-334: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


335-335: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


345-345: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


346-346: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


390-390: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


391-391: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


392-392: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


446-446: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


447-447: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


448-448: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


449-449: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


450-450: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


451-451: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


459-459: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


460-460: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers

go/cognitarium-schema/README.md

902-902: Expected: 1; Actual: 2 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


903-903: Expected: 1; Actual: 3 (MD012, no-multiple-blanks)
Multiple consecutive blank lines


22-22: null (MD025, single-title, single-h1)
Multiple top-level headings in the same document


407-407: Element: br (MD033, no-inline-html)
Inline HTML


408-408: Element: br (MD033, no-inline-html)
Inline HTML


409-409: Element: br (MD033, no-inline-html)
Inline HTML


410-410: Element: br (MD033, no-inline-html)
Inline HTML


411-411: Element: br (MD033, no-inline-html)
Inline HTML


412-412: Element: br (MD033, no-inline-html)
Inline HTML


413-413: Element: br (MD033, no-inline-html)
Inline HTML


427-427: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


428-428: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


441-441: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


442-442: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


443-443: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


444-444: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


456-456: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


464-464: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


465-465: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


473-473: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


475-475: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


483-483: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


485-485: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


495-495: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


496-496: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


504-504: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


505-505: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


513-513: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


515-515: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


524-524: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


532-532: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


533-533: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


554-554: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


562-562: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


563-563: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


564-564: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


583-583: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


584-584: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


585-585: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


593-593: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


601-601: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


618-618: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


619-619: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


620-620: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


654-654: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


671-671: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


672-672: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


680-680: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


696-696: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


713-713: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


714-714: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


715-715: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


723-723: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


739-739: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


740-740: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


741-741: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


742-742: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


743-743: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


744-744: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


745-745: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


767-767: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


768-768: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


769-769: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


777-777: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


778-778: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


779-779: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


787-787: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


788-788: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


789-789: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


797-797: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


798-798: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


799-799: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


815-815: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


816-816: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


817-817: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


825-825: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


826-826: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


888-888: null (MD037, no-space-in-emphasis)
Spaces inside emphasis markers


435-435: null (MD038, no-space-in-code)
Spaces inside code span elements

Additional comments not posted (36)
ts/law-stone-schema/README.md (1)

3-3: Clarify contract version in generated types
The link to the axone-law-stone contract includes a specific version. It would be beneficial to clarify whether this version is dynamically generated or if it needs to be updated manually during each release to avoid confusion.

Verification successful

The investigation reveals multiple instances of the specific contract version across various README files in the repository. However, there is no clear indication from the search results that the version is dynamically generated or updated by any script. The presence of references to README.md in .github/workflows/update-schema.yml and magefiles/readme.go suggests there might be some automation involved, but it is not conclusive without deeper inspection.

To definitively determine if the contract version is dynamically generated or manually updated, further examination of the mentioned files (.github/workflows/update-schema.yml and magefiles/readme.go) is necessary.


The contents of .github/workflows/update-schema.yml and magefiles/readme.go indicate that the contract version in the README files is dynamically generated. The workflow file includes a step to generate the schema and readme using the mage tool, which utilizes the generateReadmes function in readme.go. This function assigns the contract version dynamically using the tag() function.

  • .github/workflows/update-schema.yml: Contains a workflow that updates the schema and README files based on a specified contract version.
  • magefiles/readme.go: Implements the logic to generate README files using templates and parameters, including the contract version.

This confirms that the contract version in the README files is dynamically generated during the update process.

  • : The contract version in the README files is dynamically generated during the update process using the specified version in the workflow inputs.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify if the contract version is dynamically linked or manually updated.
cat ts/law-stone-schema/README.md | grep "axone-law-stone contract"

Length of output: 225



Script:

#!/bin/bash
# Search for any scripts or tools that might update the contract version in the README file.
# Check for any package.json scripts
grep -r "README.md" .

# Check for any references to the contract version in the codebase
grep -r "v3.0.0-54-gb243e6d" .

Length of output: 1934



Script:

#!/bin/bash
# Display the contents of .github/workflows/update-schema.yml and magefiles/readme.go to check for automation details.
cat .github/workflows/update-schema.yml
cat magefiles/readme.go

Length of output: 5061

go/law-stone-schema/README.md (1)

30-30: Simplify language to enhance clarity
The sentence structure in the description is somewhat complex. Simplifying it could enhance clarity and readability.

[REFACTOR_Suggestion]

The `axone-law-stone` is responsible for ensuring the availability of its rules for querying, although it does not enforce their application.
Tools
LanguageTool

[style] ~30-~30: Consider a shorter alternative to avoid wordiness. (IN_ORDER_TO_PREMIUM)
Context: ...guarantee the availability of its rules in order to question them, but not to ensure the ru...

go/dataverse-schema/README.md (1)

174-174: Consider adding a question mark at the end of this sentence.

- If you really need to mutate it (Really? Are you sure?), create a mutable copy using...
+ If you really need to mutate it (Really? Are you sure?), create a mutable copy using...

Likely invalid or redundant comment.

Tools
LanguageTool

[typographical] ~174-~174: Should there be a question mark at the end of this sentence? (MISSING_QUESTION_MARK2)
Context: ...)and operate on thatString` instance. | type | | ----------- | | **st...

ts/cognitarium-schema/README.md (29)

1-1: Ensure the document title is consistent and properly represents the content.


5-8: Badges are correctly linked and provide quick status checks for the project.


11-11: The inclusion of a code of conduct and license badge enhances the project's professionalism and openness.


19-19: Ensure correct package names in installation commands to avoid confusion.

Also applies to: 24-24


37-37: The description of the contract's functionality is clear and informative.


45-45: The detailed explanation of features such as RDF triple insertion, removal, and querying enhances understanding.

Also applies to: 48-48, 51-51, 54-54


64-66: The rationale behind the data representation model is well-explained, promoting the understanding of the contract's benefits.


78-79: The use of prefixes in RDF is well-explained, aiding in readability and understanding.


80-80: The description of Turtle syntax is concise and informative, providing a good foundation for understanding RDF data serialization.


82-89: This example is clear and effectively demonstrates the use of Turtle syntax in defining RDF triples.


91-95: The explanation of Turtle syntax elements like semicolon and comma is helpful for understanding RDF serialization shorthand.

Tools
LanguageTool

[style] ~95-~95: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym. (ENGLISH_WORD_REPEAT_BEGINNING_RULE)
Context: ...he predicate. - "30"^^xsd:integer is the object, a literal of datatype integ...


100-108: This extended example is practical and enhances understanding of how to model complex data with RDF and Turtle.


165-171: The options for data formats are well-presented, offering flexibility for different use cases.


173-192: The example of inserting data is clear and provides a good demonstration of interacting with the smart contract.


213-213: The introduction to querying RDF triples sets the stage for detailed examples that follow.


225-225: The explanation of the object as a simple literal is succinct and aids in understanding RDF data structures.


227-265: This JSON representation of a query is well-formed and demonstrates the flexibility of the query structure.


267-274: The SPARQL query example is correct and aligns well with the JSON query shown earlier.


283-283: The introduction to a more complex query scenario is engaging and sets expectations for the detailed example that follows.


285-389: The detailed JSON query example is comprehensive and demonstrates advanced usage of the query structure.


391-404: The SPARQL query example complements the JSON query well, providing an alternative view of the same query.


129-129: The section on instantiating the smart contract is crucial; ensure all parameters and their effects are clearly described.


204-209: The command to query the number of triples inserted should be tested to ensure it returns accurate results.

Tools
LanguageTool

[uncategorized] ~204-~204: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA)
Context: ... '\n\r')"}}" ``` With the transaction hash we can query the number of triples inse...


276-281: Ensure the command for executing the query is correct and functional.


406-411: Ensure the command for executing the complex query is correct and functional.


195-202: Ensure the command for inserting data is correct and functional, especially the base64 encoding part.


70-70: Ensure that the RDF basics are accurate and up-to-date with current standards.


131-140: The command example for contract instantiation is practical. Ensure it is tested and works as expected.


115-127: Ensure the RDF/XML example is correct and aligns with the latest standards in RDF serialization.

go/cognitarium-schema/README.md (4)

42-47: Ensure that the policies described are implemented in the smart contract code and are not just theoretical.


71-76: The example is well-presented. Ensure that the example is valid and correctly demonstrates the Turtle syntax.


3-3: Ensure the referenced contract version aligns with the current project requirements.

Verification successful

The contract version v3.0.0-54-gb243e6d in the URL aligns with the current project requirements, as evidenced by its consistent usage across multiple schema-related README files in the repository.

  • go/objectarium-schema/README.md
  • go/law-stone-schema/README.md
  • ts/law-stone-schema/README.md
  • go/cognitarium-schema/README.md
  • ts/objectarium-schema/README.md
  • go/dataverse-schema/README.md
  • ts/cognitarium-schema/README.md
  • ts/dataverse-schema/README.md
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the contract version in the provided URL matches the project requirements.

# Test: Check the contract version in the URL.
echo "https://github.com/axone-protocol/contracts/tree/v3.0.0-54-gb243e6d/contracts/axone-cognitarium" | grep 'v3.0.0-54-gb243e6d'

Length of output: 224



Script:

#!/bin/bash
# Search for any references to the required contract version within the repository
rg 'v3\.0\.0-54-gb243e6d' 

Length of output: 1507


116-126: Ensure the instantiation command is correct and the parameters ($CODE_ID, $ADDR, $ADMIN_ADDR) are properly explained or linked to their definitions.

ts/objectarium-schema/README.md Show resolved Hide resolved
ts/objectarium-schema/README.md Show resolved Hide resolved
ts/objectarium-schema/README.md Show resolved Hide resolved
ts/objectarium-schema/README.md Show resolved Hide resolved
go/objectarium-schema/README.md Show resolved Hide resolved
ts/cognitarium-schema/README.md Show resolved Hide resolved
ts/cognitarium-schema/README.md Show resolved Hide resolved
ts/cognitarium-schema/README.md Show resolved Hide resolved
ts/cognitarium-schema/README.md Show resolved Hide resolved
ts/cognitarium-schema/README.md Show resolved Hide resolved
Copy link
Member

@ccamel ccamel left a comment

Choose a reason for hiding this comment

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

Awesome! 🤩

Copy link
Member

@amimart amimart left a comment

Choose a reason for hiding this comment

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

Looks good to me, thanks :)

@bdeneux bdeneux merged commit e5b2af0 into main Jun 18, 2024
16 checks passed
@bdeneux bdeneux deleted the feat/go-generation branch June 18, 2024 08:58
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.

🦫 Add Golang target schema generation
3 participants