This was in my drafts folder from the last time I was playing, back when there were dozens of contracts floating around. The intent here was to allow a contract to transclude sections of other contracts, thus allowing the elimination of mot of the boilerplate that was in even trivial contracts. Just thought I'd post it in case anyone was interested in having a look:
This is a public pledge named "Router" governed by the rules of Agora. The System Administrator (syn. SA) is responsible for maintaining this contract. The System Administrator is BobTHJ. An entity can send a notice to the SA by e-mailing [email protected]. The Network is a list of all Clients, plus all other entities which request to be part of the Network and provide a valid e-mail address for notification. The System Administrator SHALL regularly report a list of all published methods, their text, and all known subscribers to those methods to the Network. For the purposes of this contract a Binding Document is a document to which one or more persons (its parties) have agreed to abide by. This includes (but is not limited to) the rules of a nomic or a legally binding contract governed by an outside agency. A Method is a block of text. Each method has a type and a unique name - both alphanumeric strings of characters. Methods may be defined in any Binding Document (hereafter known as a Server). A Server (or its agent) CAN (through the document's internal mechanisms) publish a method by sending notice of that method's type, name, and text to the SA clearly indicating that the method should be published. If that method's name is unique among all published method names (past and present) the method becomes published upon the reciept of such a message. A Server (or its agent) CAN (through the document's internal mechanisms) revise a method that has previously been published by that Server by sending notice to the SA clearly indicating the unique name of that method and specifying the new text for that method. Upon the reciept of such a message that method becomes "CHANGE PENDING" and BobTHJ SHALL as soon as possible issue a report to the Network clearly indicating the CHANGE PENDING state of the method and the new text. Exactly one week following the issuance of such a report the text of the published method is changed to reflect the new text and the method ceases to be CHANGE PENDING. A Server (or its agent) CAN (through the document's internal mechanisms) terminate a method that has previously been published by that Server by sending notice to the SA clearly indicating the unique name of that method and indicating that it should be terminated. Upon the reciept of such a message the method in question ceases to be published, and the SA SHALL report the terminated state of this method to the Network as soon as possible. Any Binding Document may become a Client by specifying its agreement to this contract in its text in such a way that all members of that document are bound by this contract as well. A Client can become a Public Client by sending (possibly through its agent, as permitted by its internal mechanisms) notice to the SA requesting to become a Public Client. Upon the reciept of such a message the Client becomes a Public Client. A Client which no longer specifies agreement to this contract in its text ceases to be a Client. A Client CAN specify a list of Subscriptions (either in its text or through a mechanism described in that document). Each Subscription contains a Method type followed by an ordered list of zero or more names. These names SHOULD correspond to published methods of the specified type. A Client may not have more than one Subscription for each Method type. At any given time at most one published Method corresponding to a name in the Subscription's ordered list and corresponding to the type of the Subscription is the Provider. A Client may define its own guidelines for determining which Published Method from among those named in the Subscription is the Provider, but in the absence of such a definition the first listed name in the ordered list which corresponds to a Published Method of the appropriate type is the Provider. The Client transcludes the text of all Provider methods, and parties who have agreed to the Client agree to the text of all Provider methods as well. A Client CAN modify its list of subscriptions, or the ordered list of names in any subscription through its own internal mechanisms. METHODS ------- This contract defines the following Methods. Creating, amending, or deleting a method definition here is equivalent to the SA being notified of that creation, amendment, or termination of the method as described above. AGORAN ANNOUNCEMENT Type: Performance Text: { A public message is a message sent via an Agoran public forum, or sent to all players and containing a clear designation of intent to be public. A person "publishes" or "announces" something by sending a public message. Where this document defines an action that CAN be performed "by announcement", a person performs that action by unambiguously and clearly specifying the action and announcing that e performs it. Any action performed by sending a message is performed at the time date-stamped on that message. } OPEN MEMBERSHIP Type: Joining Text: { Any person CAN agree to and become bound by this document by announcement } UNRESTRICTED DEPARTURE Type: Leaving Text: { Any party CAN cease to be bound by this document by announcement. } AGORAN EQUITY Type: Arbitrarion Text: { Should the spirit and intent of this contract be violated, any party CAN notify the SA of the Router contract of the nature of the violation. Upon the reciept of such a message the SA shall initiate an Agoran equity case for the Router contract, and indicate this Client and the nature of the violation. } Note: The intention here it to provide a means for non-Agoran contracts to use the Agoran equity courts for dispute resolution.

