Hello everyone! Here is the latest draft of my contracts proposal. I plan to submit it this weekend, so I would appreciate it if people would try to stick to small fixes. If anyone wants to help look it over, prevent exploitable bugs, list problems, or tell me that they're planing to vote AGAINST and why, I'd appreciate it.
For those who weren't around or want to see it again, here is my statement from the first draft: {{ I'm going to preface this by saying that my contracts proposal is kind of long. It may take a few days for everyone to read through it and stuff. It's long for several reasons. For one thing, it repeals about as many rules as it creates. As I suggested, this is a consolidation of the existing Agency and Organization mechanics, which means it should be a net simplification, even though it doesn't feel like it. It also adds in the whole new element that the thing is binding. At some point we may be able to repeal pledges too, once everyone's used to the new mechanics. Another reason is that I've littered the thing with safety features. They're probably unnecessary, but better safe than sorry. A few design principles: 1. Contracts should be easy to use. The primary cause for the failure of organizations was their complexity. You had to come up with a name. You had to deal with member's budgets. You had to specify whether things were "appropriate", without the ease of CANs and CANNOTs. You couldn't specify SHALLs and SHALL NOTs. 2. Contracts should be powerful, but not too powerful. The primary cause for the limited adoption of agencies was that you couldn't do much with them. Yeah, sure, you can do CANs and CANNOTs now. That's great, but the agency can't own assets, or create obligations, or even have more than one "Director". There was only one agency (the PDA, which I created to let someone else run Promotor temporarily) before Free Agency passed, greatly expanding what you could do with agencies. Now there are many of them, but they're still not as versatile as they could be. It goes without saying that we would like to avoid mousetraps or other scams too, so some limitations are necessary. 3. Reuse what worked. A lot of my new contract rules is drawn from the successful parts of the existing organization system. My proposal has three parts. Part 1 cleans up (tweaks and repeals) existing rules. A lot of it is drawn from o's organization repeal proposal, which I borrowed and then edited. Thank you, o. The second part consists of new rules to create contracts. The third part modifies the assets rule, both to conform with contracts and for some general minor fixes of ambiguities that have been pointed out. Each part has subheadings, which should hopefully make it easier to read/not get lost in. Without further ado, here is my draft proposal. Comments and concerns appreciated, though please try not to complain about the length :). }} Here's a change-log, which may be somewhat incomplete: - Extricability is defined in this proposal, but is only a definition with no intrinsic effect. - Various contract operations are constrained by sanity checks. - Regulations are made binding on their promulgators so that they work with the assets "bound by" restriction for recordkeeping, and because it seems like a good idea. - The Notary is given various throttling powers, to stop players from making eir life hell. These have been chosen such that they shouldn't interfere with the activities of the average player. - Clearer guidelines are laid down for contract interpretation. - Creating a contract is made restricted to stop the "agencies that create agencies" thing. I'm getting bored of that pseudo-scam. - The Notary is required to post eir full report weekly, as e probably produces it from same source and differential reports aren't very useful. - Changes are made to the spending definition, see the a-d thread Affixed is the actual proposal text. -Aris --- Title: Contracts v3 Adoption index: 3.0 Author: Aris Co-author(s): o, G., ais523, Gaelan, 天火狐, CuddleBeam Lines beginning with hashmarks ("#") and comments in square brackets ("[]") have no effect on the behavior of this proposal. They are not part of any rules created or amended herein, and may be considered for all game purposes to have been removed before its resolution. # 1 Cleanup & Miscellaneous # 1.1 Gamestate Cleanup Destroy each organization. Destroy each agency. Destroy each contract. [Just in case.] # 1.2 Organization, Secretary, and Economic Cleanup # 1.2.1 Repeal Organizations Repeal rule 2459 ("Organizations"). Repeal rule 2461 ("Death and Birth of Organizations"). Repeal rule 2460 ("Organizational Restructuring"). Repeal rule 2457 ("Lockout"). Repeal rule 2458 ("Invoking Lockout"). Repeal rule 2462 ("Bankruptcy"). # 1.2.2 Change Secretary to Treasuror Amend rule 2456 ("The Secretary") by * Changing its title to "The Treasuror", then by * Replacing its text, entirely, with: {{{ The Treasuror is an office, and the recordkeepor of Shinies. The Treasuror's weekly report also includes: 1. the current Floating Value, and all derived values defined by the Rules. 2. the list of all public classes of assets. }}} Make o the Treasuror. Amend the following rules, in order, by replacing the word "Secretary" with the word "Treasuror" wherever it appears: * Rule 2487 ("Shiny Supply Level") * Rule 2498 ("Economic Wins") * Rule 2497 ("Floating Value") # 1.2.3 General Economy Fixes/Cleanup Amend rule 2489 ("Estates") by replacing the first sentence with: {{{ An Estate is a type of indestructible liquid asset. }}} Amend rule 2491 ("Estate Auctions") by replacing its text, entirely, with: {{{ At the start of each month, if Agora owns at least one Estate, the Surveyor CAN and SHALL put one Estate which is owned by Agora up for auction by announcement. Each auction ends seven days after it begins. During an auction, any player or contract may bid a number of Shinies by announcement, provided that the bid is higher than all previously-placed bids in the same auction. If, at the end of the auction, there is a single highest bid, then the player or contract who placed that bid wins the auction. The winner CAN cause Agora to transfer the auctioned Estate to emself by announcement, if e pays Agora the amount of the bid. The person who placed the bid SHALL see to it that this is done in a timely fashion. }}} Amend rule 2483 ("Economics") by replacing its text, entirely, with: {{{ Shinies (singular "shiny", abbreviated "sh.") are an indestructible liquid currency, and the official currency of Agora. The Treasuror is the recordkeepor for shinies. The Treasuror CAN cause Agora to pay any player or contract by announcement if doing so is specified by a another rule. }}} Repeal Rule 2485 ("You can't take it with you"). # 1.3 Agency Cleanup Repeal Rule 2467 ("Agencies") Repeal Rule 2468 ("Superintendent") # 1.4 Define Extricability [Note that I do not believe this section makes any substantive changes on its own. Because of the volume of concerns raised about restricting by announcement conditionals, this section only contains definitions.] Create a new power 3.0 rule entitled "Conditionals and Extricability", with the following text: A conditional is any textual structure that attempts to make a statement affecting any part or aspect of the gamestate (the substrate), or the permissibility or possibility of any action affecting such a part or aspect, dependent on the truth value or other state of a textual structure (the condition). The condition is said to be "affixed" to the substrate (inverse "to be conditional upon"). A condition is inextricable if it is unclear, ambiguous, circular, inconsistent, paradoxical, depends on information that is impossible or unreasonably difficult to determine, or otherwise requires an unreasonable effort resolve; otherwise it is extricable. A conditional is inextricable if its condition is inextricable; otherwise it is extricable. A player SHOULD NOT use an inextricable conditional for any purpose. An action said to be "subject to" a conditional if the possibility, permissibility, or effect (depending on context) is determined by the conditional. A value is said to be subject to a conditional of the the state of the value is determined by the conditional. Create a new power 3.0 rule entitled "Determinacy", with the following text: If a value CANNOT be reasonably determined (without circularity or paradox) from information reasonably available, or if it alternates indefinitely between values, then the value is considered to be indeterminate, otherwise it is determinate. Amend Rule 1023, "Common Definitions", by (please note that these actions are severable): * removing the third item of the top level list; and * renumbering appropriately. # 1.5 Random Amendments Amend Rule 869, "How to Join and Leave Agora", by changing its last paragraph to read: The Rules CANNOT compel non-players to act without their express or reasonably implied consent. The rules CANNOT compel players to unduly harass non-players. A non-person CANNOT be a player, rules to the contrary notwithstanding. Amend Rule 2139, "The Registrar", by changing the sentence "The Registrar is also responsible for tracking any switches that would otherwise lack an officer to track them, unless the switch is defined as untracked." to read "The Registrar is also responsible for tracking any switches, defined in a rule, that would otherwise lack an officer to track them, unless the switch is defined as untracked." Amend Rule 2466, "Acting on Behalf", by changing it to read in full: When a rule allows one person (the agent) to act on behalf of another (the principal) to perform an action, that agent CAN perform the action if it is POSSIBLE for the principal to do so, taking into account any prerequisites for the action. If the enabling rule does not specify the mechanism by which the agent may do so, then the agent CAN perform the action in the same manner in which the principal CAN do so, with the additional requirement that the agent must, in the message in which the action is performed, uniquely identify the principal and that the action is being taken on behalf of that person. A person SHALL not act on behalf of another person if doing so causes the second person to violate the rules. A person CANNOT act on behalf of another person to do anything except perform a game action; in particular, a person CANNOT act on behalf of another person to send a message, only to perform specific actions that might be taken within a message. When an action is performed on behalf of a principal, then the action is considered for all game purposes to have been performed by the principal, unless a rule specifically states that it is treated differently for some purpose, in which case it is treated as described by that rule. Allowing a person to act on behalf of another person is secured at power 2.0. This rule takes precedence over any rule which would prohibit a person from taking an action, except that it defers to any rule that imposes limitations specifically on actions taken on behalf of another person. Amend Rule 2350, "Proposals", by appending the sentence "However, if a proposal is submitted as an action on the behalf of a player, then the agent is the author." to the paragraph beginning "Creating a proposal..." [The below is needed to make regulations play well with the recordkeeping restrictions of assets.] Amend Rule 2493, "Regulations", by appending the following as a new paragraph to the end of the rule: A regulation's promulgator SHALL generally obey eir own regulations as long as they are acting reasonably within their rule defined scope. E NEED NOT follow any regulation constraining em to take or not to take some action with to eir regulations, or any regulation constraining em to violate a rule. # 2 Contracts # 2.1 Core Contract Features Create a new power 2.5 rule, entitled "Contracts", with the following text: A contract is a textual entity, and the ruleset described entity embodied therein. A document can only become a contract through the appropriate ruleset defined procedures. Changes to the contracts text by rule defined mechanisms (including those delegated to the contract itself) do not change the identity of the contract. If any change to a contract's text, internal state, or other properties would cause them to be indeterminate, it is canceled and does not occur. The following changes are secured at power 2.1: creating or modifying a contract or causing an entity to become a contract. [Note that, as a precaution, causing an entity to cease being a contract is not secured.] The properties of contracts, as defined by other rules, include the following: - Parties, persons who agree to be bound by and assume powers under the contract. - The ability to be amended or destroyed. - The ability to compel actions by their parties. - The ability to allow persons to take actions on the part of their parties. - The ability to define arbitrary classes of asset. - The ability to possess and control assets. Create a new power 2.5 rule, entitled "Parties to Contracts", with the following text: Contracts have parties, who are persons. The person(s) who create(s) a contract is/are automatically a party/parties. Other persons CAN become parties by announcement if the contract permits them do so. Parties can leave a contract by announcement, ceasing being parties, if the contract permits the to do so. A contract CAN expel a party or group of parties by announcement, causing them to cease being parties. It is IMPOSSIBLE, by any means, for a person to become a party to a contract, for an contract to be created with a person as a party, or for an entity to become a contract with a person as a party, without that person's clear, willful consent. This rule takes precedence over any rule that might make such a change possible. A person CANNOT act on behalf of a person to give consent for the purposes of this rule. Create a power 2.5 rule entitled "Birth and Death of Contracts", with the following text: A person CAN create a contract by announcement by spending 1 shiny, specifying the contract's text. A person SHALL NOT create more than 3 contracts per week by this method, and the Notary CAN destroy any excess (i.e. beyond the 3 permitted) contracts by announcement within 7 days of the contracts' formation. The Notary CAN by regulation increase this limit up to a maximum of 7; e CANNOT decrease it. The person or persons who create a contract CAN and SHOULD also specify a name for the contract; if e/they do/does not do so, the Notary CAN and SHALL assign a name in a timely fashion. A contract CAN amend, destroy, or retitle itself by announcement. A player CAN amend, destroy, or retitle a contract without objection, even if its text denies em the ability to do so. Players SHOULD only use this mechanism to recover from situations where the contract is underspecified or has unintended effects. The Notary CAN by regulation stop the same contract from amending or retitling itself more than 5 combined times per Agoran day (or any number higher than that); e CANNOT stop a contract from being destroyed, or from being retitled or amended by any other means. If a contract has fulfilled its purpose, does not specify any gamestate affecting statements, or otherwise seems unlikely to be used, the Notary CAN and SHOULD destroy it Without 2 Objections or with Agoran Consent. Any player may destroy a contract with 2 Agoran Consent. Players SHOULD NOT use the methods in this paragraph to further their private interests. If the possibility of any action defined by this rule is indeterminate, or is subject to a inextricable conditional, it is presumptively impossible. # 2.2 Powers of Contracts Create a new power 2.4 rule, entitled "Contracts as Agreements", with the following text: The text of a contract CAN specify obligations upon its parties. Parties to a contract SHALL abide by its terms and SHALL NOT deliberately or negligently breach them. The fact that the action described by the contract is in violation of the rules is not a defense if the violative nature is reasonably clear from its text. If whether an action is permitted or forbidden by a contract is indeterminate or subject to an inextricable conditional, it is presumptively permitted. As an exception to the provisions of the previous paragraph and the circumstances in which cards would ordinarily be appropriate, a person awarding a card under this rule MAY and CAN validly consider the equitable interests of justice and interests of the game, including the importance of the observation of contracts, as a mitigating or aggravating circumstances when awarding a card. Such a person MAY, CAN validly, and SHOULD also consider the instructions of the contract or contracts in question when issuing a card. Create a new power 2.4 rule, entitled "Acting on Behalf via Contract", with the following text: If a rule says that a contract CAN do something by announcement, it is equivalent to saying that that any person CAN take that action by announcement if the contract permits em to do so. A person SHALL NOT cause a contract to violate a rule using this method. If a rule specifies that a contract SHALL or SHALL NOT do something, each party to the contract SHALL ensure that the contract respectively does or does not do that thing. The text of a contract CAN permit persons to act on behalf of a party or group of parties. To do so, it must specify: a. Which of its parties can be acted on behalf of; b. What actions can be taken; c. Who can take the actions; and d. Any conditions or limitations upon the actions. Such limitations and conditions CANNOT be inextricable, and if they are, the actions CANNOT be used. # 2.3 Contract Interpretation and Maintenance Create a new power 2.6 rule, entitled "Interpreting Contracts", with the following text: A contract should generally be interpreted according to its text, including any clauses giving directions for its interpretation or construction. Additionally, justice, the intent of the contract's parties, and the factors laid down in the first paragraph of Rule 217 should be reasonably applied when interpreting a contract. A contract is subservient to the rules. Although a contract may specify obligations or powers beyond those created by the rules, a contract may not override the rules: in particular, any provision of a contract that would unreasonably violate an inalienable right of players and/or persons or cause any rule defined statement about the gamestate or the possibility of an action to become false is void and without effect insofar as it does so. The following are protected actions: 1. Registering and deregistering; 2. Submitting, pending, or voting freely on a proposal, but only if the sole effect the proposal would have if adopted is to create, modify, or destroy a contract or group of contracts, or to cause an entity or group of entities to become or cease to be a contract or group of contracts; 3. Destroying or amending a contract, intending to do so, and supporting, objecting to, or resolving such an intent, except where the mechanism for such destruction or amendment is created by the contract itself, and creating a contract; 4. Making true statements about a contract; 5. Calling, judging, assigning, or freely discussing a CFJ; 6. Lawfully performing an official duty; 7. Objecting to or supporting an intent to perform an action while speaker; 8. Using an executive order; and 9. Making, amending, revoking or calling in a pledge. Rules to the contrary notwithstanding, a contract CANNOT compel, forbid, or in any significant way alter, tamper with, or modify the performance of a protected action. A contract CANNOT punish a player for performing or failing protected action, or for doing so in a particular manner, except where it would otherwise be ILEGAL. A contract also CANNOT enable a person to do any of the things prohibited to the contract by this paragraph. Insofar as a contract or a provision or clause of a contract contravenes the letter or spirit of this rule, it is void and without effect. Create a new power 2.4 rule, entitled "Sustenance Payments", with following text: The Notary CAN, once a month, cause each contract that owns at least one shiny to transfer one shiny to Agora. E SHALL do so in the first week of every month. If a contract does not own at least one shiny, and is thus unable to make said payment, the Notary CAN and SHALL destroy it With Notice. If a contract becomes and remains able to pay before its destruction, the Notary CANNOT destroy it, and CAN and SHALL instead collect the shiny. The Notary CAN, by regulation, exempt a contract from the preceding paragraph. E SHALL NOT do so unless the contract seems to be in the public interest of Agora. Create a new power 1.0 rule, entitled "The Notary", with the following text: The Notary is an office, and the recordkeepor of contracts. The Notary tracks contracts, including their name, text, and parties. The Notary also tracks the list of private classes of asset. The Notary's weekly report includes all information which e tracks as a part of eir official duties. The Notary is ENCOURAGED to list changes to the information e tracks in eir report. Make o the Notary. # 3.0 Asset Changes Amend Rule 2166, "Assets", by changing it to read in full: An asset is an entity defined as such by a (a) rule, (b) authorized regulation, (c) group of rules/authorized regulations, or (d) contract (hereafter its backing document), and existing solely because its backing document defines its existence. Each asset has exactly one owner. If an asset would otherwise lack an owner, it is owned by Agora. If an asset's backing document restricts its ownership to a class of entities, then that asset CANNOT be gained by or transferred to an entity outside that class, and is destroyed if it is owned by an entity outside that class (except if it is owned by Agora, in which case any player CAN transfer or destroy it without objection). The restrictions in the previous sentence are subject to modification by its backing document. Unless modified by an asset's backing document, ownership of an asset is restricted to Agora, players, and contracts. As an exception to the last sentence, non-player persons are generally able to own assets defined by a contract they are a party to, subject to modification by the contract in question. A contract's text can specify whether or not that contract is willing receive assets or a class of assets. Generally, a contract CANNOT be given assets it is unwilling to receive. If the contract is silent on the matter, or if its willingness is indeterminate or the subject of a inextricable conditional, the procedure to determine its willingness is as follows: 1. If the contract appears to anticipate being given assets (e.g. by authorizing parties to spend the contract's assets), then the contract is willing to receive all assets. 2. Otherwise, it is unwilling to receive all assets. The previous paragraph (including the list) notwithstanding, a contract CAN be given 1 shiny a month for its sustenance payment, so long as it never has more than 1 shiny at a time. The recordkeepor of a class of assets is the entity (if any) defined as such by, and bound by, its backing document. That entity's report includes a list of all instances of that class and their owners. This portion of that entity's report is self-ratifying. Rules to the contrary notwithstanding, a contract CANNOT oblige a person who isn't a member to record its internal state. An asset generally CAN be destroyed by its owner by announcement, subject to modification by its backing document. An indestructible asset is one defined as such by it backing document, and CANNOT be destroyed except by a rule, other than this one, specifically addressing the destruction of indestructible assets or that asset in particular; any other asset is destructible. In circumstances where another asset would be destroyed, an indestructible asset is generally transferred to Agora, subject to modification by its backing document and the intervention of other rules. To "lose" an asset is to have it destroyed from one's possession; to "revoke" an asset from an entity is to destroy it from that entity's possession. An asset generally CAN be transferred (syn. payed, given) by announcement by its owner to another entity, subject to modification by its backing document. A fixed asset is one defined as such by its backing document, and CANNOT be transferred; any other asset is liquid. To spend an asset is to pay or destroy it for the purpose of doing some other action or fulfilling an obligation by announcement; if the action would not be completed, the obligation would not be at least partially fulfilled, or more of the asset would be spent than is needed to perform the action/fulfill the obligation, then the attempt to spend fails. Whether the asset must be spent or payed is determined by what is needed to perform the action. If the entity defining or enabling the action does not specify which is necessary, but merely that the asset must be spent, then it is transferred (to Agora unless otherwise specified). When a rule indicates transferring an amount that is not a natural number, the specified amount is rounded up to the nearest natural number. A currency is a class of asset defined as such by its backing document. Instances of a currency with the same owner are fungible. The "x balance of an entity", where x is a currency, is the number of x that entity possesses. If a rule, proposal, or other competent authority attempts to increase or decrease the balance of an entity without specifying a source or destination, then the currency is created or destroyed. When a player causes one or more balances to change, e is ENCOURAGED to specify the resulting balance(s). Players SHOULD NOT specify inaccurate balances. Where it resolves ambiguity, the asset or currency being referred to is the currency designated as "Agora's official currency", if there is one. Amendments to a backing document shall not be construed to alter, transfer, destroy, or otherwise effect any assets defined by that document, unless that is their clear intent. An asset or class of assets is private, rather than public, if it's backing document is a contract.