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

feat(docs): proposal template drafting #1330

Draft
wants to merge 23 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
4343c76
docs(cat-gateway): Proposal schema templates WIP
stevenj Dec 4, 2024
9afefdf
Merge branch 'main' into feat/proposal-template-drafting
stevenj Dec 4, 2024
0b44704
feat(cat-gateway): wip f14 templates
stevenj Dec 4, 2024
bb6d8a9
feat(cat-gateway): initialization of f14 templates
nathanbogale Dec 4, 2024
0496a04
feat(cat-gateway: added proposal schema and example of f14 templates
nathanbogale Dec 4, 2024
057ec96
fix(cat-gateway): added better pattern per schema section of f14 temp…
nathanbogale Dec 4, 2024
68cb23b
fix(cat-gateway): json types and syntax update
nathanbogale Dec 4, 2024
4efb65c
docs(cat-gateway): add example of common field types to help UI render
stevenj Dec 5, 2024
4f617e3
Merge branch 'feat/proposal-template-drafting' of github.com:input-ou…
stevenj Dec 5, 2024
e89574f
docs(cat-gateway): Suggested restructuring
stevenj Dec 5, 2024
d4b99de
fix: added all guidance as html, added additional sub fields fields
nathanbogale Dec 5, 2024
9422df0
fix: captured all new fields added in this file
nathanbogale Dec 5, 2024
3fe083f
fix: updated example proposal
nathanbogale Dec 5, 2024
a07f3bc
fix(cat-gateway): rename section breaks to align with design
stevenj Dec 6, 2024
5a1a6dd
Merge branch 'feat/proposal-template-drafting' of github.com:input-ou…
stevenj Dec 6, 2024
5eee04d
docs(cat-gateway): Finish the template as at F13 state
stevenj Dec 6, 2024
5fbec5f
Merge branch 'main' into feat/proposal-template-drafting
stevenj Dec 8, 2024
428885d
fix: CI check failure, over spelling and markdown
nathanbogale Dec 8, 2024
59e8a99
fix: added first wave of x-orders to ssegments and sections
nathanbogale Dec 9, 2024
3cc0b7f
fix: Translation: added originalDocumentLink, if/then condition modified
nathanbogale Dec 12, 2024
9a02d58
fix: milestones updated, added x-note to definitions, minor structure…
nathanbogale Dec 15, 2024
3d81d9a
fix: updated the example, translation example failing
nathanbogale Dec 16, 2024
21f366b
fix: horizons grouping issue fixed
nathanbogale Dec 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .config/dictionaries/project.dic
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,14 @@ chrono
ciphertext
ciphertexts
CIPs
CNFT
COCOAPODS
codegen
codepoints
collabs
commitlog
concatcp
coproposers
coti
coverallsapp
CQLSH
Expand Down Expand Up @@ -109,6 +111,7 @@ gethostname
Gitbook
gmtime
gradlew
Hackathons
headful
headlessui
HIDPI
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,274 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Catalyst Fund 14 Base Proposal Template",
"description": "A structured template for creating Fund 14 proposals",
"definitions": {

Choose a reason for hiding this comment

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

JsonSchema has structuring tags one of which is $def, should that be used instead of "definitions" for the purpose of defining reusable structures
https://json-schema.org/understanding-json-schema/structuring#defs

"singleLineTextEntry": {
"type": "string",
"contentMediaType": "text/plain",
"pattern": "^.*$"
},
"multiLineTextEntry": {
"type": "string",
"contentMediaType": "text/plain",
"pattern": "^[\\S\\s]$"
},
"dropDownSingleSelect": {
"type": "string",
"contentMediaType": "text/plain",
"pattern": "^.*$",
"format": "dropDownSingleSelect"
},
"tokenValueCardanoADA": {
"type": "integer",
"format": "token:cardano:ada"
},
"durationInMonths": {
"type": "integer",
"format": "datetime:duration:months"
},
"agreementConfirmation": {
"type": "boolean",
"format": "checkbox",
"default": false,
"const": true
},
"yesNoChoice": {
"type": "boolean",
"format": "yes/no",
"default": false
},
"uri": {
"type": "string",
"format": "uri",
"contentMediaType": "text/plain",
"maxLength": 1024
},
"uriList": {
"type": "array",
"format": "uriList",
"uniqueItems": true,
"default": [],
"items": {
"$ref": "#/definitions/uri"
}
}
},
"type": "object",
"properties": {
"$schema": {
"type": "string",
"format": "path",
"const": "./0ce8ab38-9258-4fbc-a62e-7faa6e58318f.schema.json",
"readOnly": true
},
"general": {
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/singleLineTextEntry",
"title": "Proposal title",
"description": "<p><strong>Please note</strong> we suggest you use no more than 60 characters for your proposal title so that it can be easily viewed in the voting app.</p><p><br></p><p>The title should clearly express what the proposal is about. Voters can see the title in the voting app, even without opening the proposal, so a clear, unambiguous, and concise title is very important.</p>",
"maxLength": 80,
"minLength": 0
},
"applicant": {
"$ref": "#/definitions/singleLineTextEntry",
"title": "Name and surname of main applicant",
"description": "<p>Please provide the name and surname of the main applicant. The main applicant is considered as the individual responsible for the project and the person authorized to act on behalf of other applicants (where applicable).</p>",
"maxLength": 80,
"minLength": 0
},
"applicant_type": {
"$ref": "#/definitions/dropDownSingleSelect",
"title": "Are you delivering this project as an individual or as an entity (whether formally incorporated or not)",
"description": "<p>Please select from one of the following:</p>",
"enum": [
"Individual",
"Entity (Incorporated)",
"Entity (Not Incorporated)"
],
"default": "Individual"
},
"co-proposers": {
"$ref": "#/definitions/multiLineTextEntry",
"title": "Co-proposers and additional applicants",
"description": "<p>List any persons who are submitting the proposal jointly with the main applicant. Make sure you have confirmed approval/awareness with these individuals / accounts before adding them. If there is more than one proposer, identify the lead person who is authorized to act on behalf of other co-proposers.</p><p><br></p><p><strong>IMPORTANT - A maximum of 6 (six) proposals can be led or co-proposed by the same applicant or enterprise. Please, </strong><a href=\"https://docs.projectcatalyst.io/current-fund/fund-basics/fund-rules\"><strong>reference Fund13 rules</strong></a><strong> for added detail.</strong></p>",
"maxLength": 1024,
"minLength": 0
},
"requested_funds": {
"$ref": "#/definitions/tokenValueCardanoADA",
"title": "Requested funds in ada",
"description": "<p>There is a minimum and a maximum amount of funding that can be requested in a single Catalyst proposal. These are outlined below per each category:</p><p><br></p><p>Minimum Funding Amount per proposal:</p><ul><li>Cardano Open: <strong>₳15,000</strong></li><li>Cardano Uses Cases: <strong>₳15,000</strong></li><li>Cardano Partners: <strong>₳500,000</strong></li></ul><p><br></p><p>Maximum Funding Amount per proposal:</p><ul><li>Cardano Open:&nbsp;</li><li>Developers (technical): <strong>₳200,000</strong></li><li>Ecosystem (non-technical): <strong>₳100,000</strong></li><li>Cardano Uses Cases:</li><li>Concept: <strong>₳150,000</strong></li><li>Product: <strong>₳500,000</strong></li><li>Cardano Partners:</li><li>Enterprise R&amp;D: <strong>₳2,000,000&nbsp;</strong></li><li>Growth &amp; Acceleration: <strong>₳2,000,000 </strong></li></ul>",
"minimum": 1,
"maximum": 18446744073709551615
},
"duration": {
"$ref": "#/definitions/durationInMonths",
"title": "Please specify how many months you expect your project to last (from 2-12 months)",
"description": "<p>Minimum 2 months - Maximum 12 months.</p><p><br></p><p>The scope of your funding request and this project is expected to produce the deliverables you specify in the proposal within 2-12 months.</p><p><br></p><p>If you believe your project will take longer than 12 months, consider reducing the project’s scope so that it becomes achievable within 12 months.</p><p><br></p><p>If your project completes earlier than scheduled so long as you have submitted your PoAs and Project Close-out report and video then your project can be closed out.</p>",
"minimum": 2,
"maximum": 12
},
"translated": {
"$ref": "#/definitions/yesNoChoice",
"title": "Please indicate if your proposal has been auto-translated into English from another language",
"description": "<p>YES/NO - Tick YES so readers are reminded that your proposal has been translated, and that they should be tolerant of any language imperfections.</p><p><br></p><p>You can either link a document with your proposal in its original language OR provide your response in your native language after the English language in each question if you wish.</p><p><br></p><p>Tick NO if your proposal has not been auto-translated into English from another language.</p>"
},
"problem": {
"$ref": "#/definitions/multiLineTextEntry",
"title": "What is the problem you want to solve? (200-character limit including spaces)",
"description": "<p>Ensure you present a well-defined problem. What is the core issue that you hope to fix? Remember: the reader might not recognize the problem unless you state it clearly.</p><p><br></p><p>This answer will be displayed on the Catalyst voting app, so voters will see it even if they don't open your proposal to read it in detail.</p>",
"maxLength": 200,
"minLength": 1
},
"solution": {
"$ref": "#/definitions/multiLineTextEntry",
"title": "Summarize your solution to the problem (200-character limit including spaces)",
"description": "<p>Focus on what you are going to do, or make, or change, to solve the problem. So not 'There should be a way to....' but 'We will make a...'</p><p><br></p><p>Clearly state how the solution addresses the specific problem you have identified - connect the 'why' and the 'how'.</p><p><br></p><p>This answer will be displayed on the Catalyst voting app, so voters will see it even if they do not open your proposal and read it in detail.</p>",
"maxLength": 200,
"minLength": 1
},
"links": {
"$ref": "#/definitions/uriList",
"title": "Website / GitHub repository, White paper, Marketing or any other relevant link",
"description": "<p>Here, provide links to yours or your partner organization’s website, repository, or marketing. Alternatively, provide links to any whitepaper or other publication relevant to your proposal.</p><p><br></p><p>Note however that this is extra information that voters and Community Reviewers might choose not to read. You should not fail to include any of the questions in this form because you feel the answers can be found elsewhere.</p><p><br></p><p>If any links are specified make sure these are added in good order (first link must be present before specifying second). Also ensure all links include ‘https’. Without these steps, the form will not be submittable and show errors.</p>",
"minItems": 0,
"maxItems": 3
},
"dependencies": {
"$ref": "#/definitions/multiLineTextEntry",
"title": "If you have any dependencies then, please describe what the dependency is and why you believe it is essential for your project’s delivery. If NO, please write “No dependencies.”",
"description": "<p>Here you should list any dependencies and prerequisites for your project’s success. These are usually external factors (such as third-party suppliers, external resources, third-party software, etc.) that may cause a delay, since a project has less control over them. In case of third party software, indicate whether you have the necessary licenses and permission to use such software.</p>",
"maxLength": 1024,
"minLength": 0
},
"open_source": {
"$ref": "#/definitions/yesNoChoice",
"title": "Will your project’s output/s be fully open source?",
"description": "<p><a href=\"https://docs.projectcatalyst.io/current-fund/proposal-submission/additional-guidance\">Open source</a> refers to something people can modify and share because its design is publicly accessible.&nbsp;</p><p><br></p><p>Open source software is software with source code that anyone can inspect, modify, and enhance. Conversely, only the original authors of proprietary software can legally copy, inspect, and alter that software.</p>"
},
"license_info": {
"$ref": "#/definitions/multiLineTextEntry",
"title": "[GENERAL] Please provide here more information on the open source status of your project outputs",
"description": "<p>If you answered YES to the above question:</p><p><br></p><p>If declaring the project is open source in the application form, the project should be open source-available throughout the entire lifecycle of the project with a declared open-source repository.</p><p><br></p><p>Please indicate here the type of license you intend to use for open source and provide any further information you feel is relevant to the open source status of your project outputs.&nbsp;</p><p><br></p><p>If only certain elements of your code will be open source please clarify which elements will be open source here.&nbsp;</p><p><br></p><p>If you answered NO to the above question, please give further details as to why your projects outputs will not be open source.</p>",
"maxLength": 1024,
"minLength": 0
}
},
"required": [
"title",
"applicant",
"applicant_type",
"requested_funds",
"duration",
"translated",
"problem",
"solution",
"open_source",
"license_info"
]
},
"metadata": {
"title": "Horizons",
"description": "<p>Please choose the most relevant category group and tag related to the outcomes of your proposal. Can select only one group and one tag.</p>",
"format": "nested-tag-selector",
"oneOf": [
{
"type": "object",
"properties": {
"group": {
"type": "string",
"const": "Governance"
},
"tag": {
"type": "string",
"enum": [
"Governance",
"DAO"
]
}
}
},
{
"type": "object",
"properties": {
"group": {
"type": "string",
"const": "Education"
},
"tag": {
"type": "string",
"enum": [
"Education",
"Learn to Earn",
"Training",
"Translation"
]
}
}
},
{
"group": {
"type": "string",
"const": "Community & Outreach"
},
"tag": {
"type": "string",
"enum": [
"Connected Community",
"Community",
"Community Outreach",
"Social Media"
]
}
},
{
"group": {
"type": "string",
"const": "Development & Tools"
},
"tag": {
"type": "string",
"enum": [
"Developer Tools",
"L2",
"Infrastructure",
"Analytics",
"AI",
"Research",
"UTXO",
"P2P"
]
}
}
]
},
"agreements": {
"type": "object",
"properties": {
"fund_rules": {
"$ref": "#/definitions/agreementConfirmation",
"title": "Fund Rules:",
"description": "<p>By submitting a proposal to Project Catalyst Fund13, I confirm that I have read and agree to be bound by the<a href=\"https://docs.projectcatalyst.io/current-fund/fund-basics/fund-rules\"> Fund Rules</a>.</p>"
},
"terms_and_conditions": {
"$ref": "#/definitions/agreementConfirmation",
"title": "Terms and Conditions:",
"description": "<p>By submitting a proposal to Project Catalyst Fund13, I confirm that I have read and agree to be bound by the<a href=\"https://docs.projectcatalyst.io/current-fund/fund-basics/project-catalyst-terms-and-conditions\"> Project Catalyst Terms and Conditions</a>.</p>"
},
"privacy_policy": {
"$ref": "#/definitions/agreementConfirmation",
"title": "Privacy Policy: ",
"description": "<p>I acknowledge and agree that any data I share in connection with my participation in Project Catalyst Fund13 will be collected, stored, used and processed in accordance with the Catalyst FC’s <a href=\"https://docs.projectcatalyst.io/current-fund/fund-basics/project-catalyst-terms-and-conditions/catalyst-fc-privacy-policy\">Privacy Policy</a>.</p>"
}
},
"required": [
"fund_rules",
"terms_and_conditions",
"privacy_policy"
]
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "./0ce8ab38-9258-4fbc-a62e-7faa6e58318f.schema.json",
"general": {
"title": "Single line plain text .....",
"links": [
"http://notauri",
"ftp://some_old_site",
"cardano://some-block"
],
"applicant_type": "Individual",
},
"metadata": {
"group": "Education",
"tag": "Learn to Earn"
},
"agreements": {
"fund_rules": true,
"terms_and_conditions": true,
"privacy_policy": true
}
}
Loading
Loading