<?xml version="1.0" encoding="utf-8"?>
<!-- 
     draft-rfcxml-general-template-standard-00
  
     This template includes examples of the most commonly used features of RFCXML with comments 
     explaining how to customise them. This template can be quickly turned into an I-D by editing 
     the examples provided. Look for [REPLACE], [REPLACE/DELETE], [CHECK] and edit accordingly.
     Note - 'DELETE' means delete the element or attribute, not just the contents.
     
     Documentation is at https://authors.ietf.org/en/templates-and-schemas
-->
<?xml-model href="rfc7991bis.rnc"?>  <!-- Required for schema validation and schema-aware editing -->
<!-- <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> -->
<!-- This third-party XSLT can be enabled for direct transformations in XML processors, including most browsers -->


<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<!-- If further character entities are required then they should be added to the DOCTYPE above.
     Use of an external entity file is not recommended. -->

<rfc
  xmlns:xi="http://www.w3.org/2001/XInclude"
  category="info"
  docName="draft-kerrison-representation-intricate-comms-00"
  ipr="trust200902"
  obsoletes=""
  updates=""
  submissionType="IETF"
  xml:lang="en"
  version="3">
<!-- [REPLACE] 
       * docName with name of your draft
     [CHECK] 
       * category should be one of std, bcp, info, exp, historic
       * ipr should be one of trust200902, noModificationTrust200902, noDerivativesTrust200902, pre5378Trust200902
       * updates can be an RFC number as NNNN
       * obsoletes can be an RFC number as NNNN 
-->

  <front>
    <title abbrev="Representation of Intricate Comms">Representation of Intricate Communications</title>
    <!--  [REPLACE/DELETE] abbrev. The abbreviated title is required if the full title is longer than 39 characters -->

    <seriesInfo name="Internet-Draft" value="draft-kerrison-representation-intricate-comms-00"/>
   
    <author fullname="Clinton Kerrison" initials="C" role="editor" surname="Kerrison">
      <!-- [CHECK]
             * initials should not include an initial for the surname
             * role="editor" is optional -->
    <!-- Can have more than one author -->
      
    <!-- all of the following elements are optional -->
      <address>
        <email>aussieklutz@gmail.com</email>  
      </address>
    </author>
   
    <date day="1" month="April" year="2026"/>
    <!-- On draft submission:
         * If only the current year is specified, the current day and month will be used.
         * If the month and year are both specified and are the current ones, the current day will
           be used
         * If the year is not the current one, it is necessary to specify at least a month and day="1" will be used.
    -->

    <area>General</area>
    <workgroup>Network Working Group</workgroup>
    <!-- "Internet Engineering Task Force" is fine for individual submissions.  If this element is 
          not present, the default is "Network Working Group", which is used by the RFC Editor as 
          a nod to the history of the RFC Series. -->

    <!-- <keyword>keyword</keyword> -->
    <!-- [REPLACE/DELETE]. Multiple allowed.  Keywords are incorporated into HTML output files for 
         use by search engines. -->

    <abstract>
      <t>Complex inter-party communication or relationship dynamics can be implied within the use of more structured protocols. This document proposes a compact binary representation for describing these dynamics in a non-protocol-binding manner that can be readily converted back to a readable format and provide additional context for implementers.</t>
    </abstract>
 
  </front>

  <middle>
    
    <section>
      <name>Introduction</name>
      <t>The role of this document is to address complex inter-party communication or relationship dynamics in systems, where there may be compliance with a technical specification or protocol but where there are additional conventions or semantics which fall outside of the scope of application layer protocols.</t>
      <t>This document proposes a common lexicon and compact binary representation for describing these dynamics in a non-protocol-binding manner that can be readily converted back to a readable format and provide additional context for implementers.</t>

      <section numbered="false">
        <name>Distribution</name>
        <t>This memo is submitted for informational purposes within the IETF community. Distribution of this memo is unlimited.</t>
      </section>
      
      <!-- [CHECK] The 'Requirements Language' section is optional -->

    </section>

    <section>
      <name>Relationship Representation and Bitstream Encoding</name>
      <t>A series of high-level statements about the relationship maintained between the two parties will first be created using a limited lexicon. While this may reduce the apparent flexibility of the model, an example will be provided later to demonstrate the flexibility of this approach. Through a reversible mapping of this lexicon to known length bit patterns, a continuous high-density bitstream can be used to represent these complex relationships in a manner that reduces overhead. In all following examples, bit patterns should be read left to right.</t>
    </section>
    
    <section>
      <name>Lexicon</name>
      <t>These terms allow a flexible representation of the relationship between parties, and were selected to allow encoding of complex relationships. The lexicon is divided into four categories: Separators, Nouns, Verbs, and Adjectives.</t>
      
      <section>
        <name>Separator</name>
        <t>The separator token is encoded using the bit pattern <tt>00</tt>. Separators may be used to terminate statements, provide structural boundaries, or introduce intentional pauses. When multiple separators appear consecutively, the first is interpreted as a statement boundary, while subsequent occurrences are treated as placeholders or extended pauses for emphasis.</t>

        <ul>
          <li><tt>00</tt> — Separator</li>
        </ul>
      </section>

      <section>
        <name>Nouns</name>
        <t>Nouns are encoded using the bit prefix <tt>01</tt> followed by four additional bits that identify the specific semantic token.</t>

        <ul>
          <li><tt>01 0000</tt> — Transmitting Party</li>
          <li><tt>01 0001</tt> — Receiving Party</li>
          <li><tt>01 0010</tt> — Both Parties</li>
          <li><tt>01 0011</tt> — Internal State</li>
          <li><tt>01 0100</tt> — Connection/Communication</li>
          <li><tt>01 0101</tt> — Protocol Specification</li>
          <li><tt>01 0110</tt> — Malintent</li>
          <li><tt>01 0111</tt> — Sequence/History</li>
          <li><tt>01 1000</tt> — Application</li>
          <li><tt>01 1001</tt> — Operation</li>
          <li><tt>01 1010</tt> — Heuristic</li>
          <li><tt>01 1011</tt> — Reserved</li>
          <li><tt>01 11xx</tt> — Illegal or malformed noun</li>
        </ul>
      </section>

      <section>
        <name>Verbs</name>
        <t>Verbs are encoded using the bit prefix <tt>10</tt>. These tokens describe actions, intentions, or operational semantics between the parties.</t>

        <ul>
          <li><tt>10 0000</tt> — Connect/Transmit</li>
          <li><tt>10 0001</tt> — Disconnect</li>
          <li><tt>10 0010</tt> — Propose/Consider</li>
          <li><tt>10 0011</tt> — Know/Comprehend/Agree</li>
          <li><tt>10 0100</tt> — Option/Choice</li>
          <li><tt>10 0101</tt> — Must</li>
          <li><tt>10 0110</tt> — Will Not</li>
          <li><tt>10 0111</tt> — Drop</li>
          <li><tt>10 1000</tt> — Iterate</li>
          <li><tt>10 1001</tt> — Ignore</li>
          <li><tt>10 1010</tt> — Intend</li>
          <li><tt>10 1011</tt> — Fabricate</li>
          <li><tt>10 1100</tt> — Damage/Impact</li>
          <li><tt>10 1101</tt> — Execute</li>
          <li><tt>10 1110</tt> — Also (Adverb)</li>
          <li><tt>10 1111</tt> — Receive</li>
        </ul>
      </section>

      <section>
        <name>Adjectives</name>
        <t>Adjectives are encoded using the bit prefix <tt>11</tt>. These tokens modify or qualify nouns or verbs within the relationship description.</t>

        <ul>
          <li><tt>11 0000</tt> — Established</li>
          <li><tt>11 0001</tt> — Complete</li>
          <li><tt>11 0010</tt> — Not Available</li>
          <li><tt>11 0011</tt> — Other</li>
          <li><tt>11 0100</tt> — No Time</li>
          <li><tt>11 0101</tt> — Short Time</li>
          <li><tt>11 0110</tt> — Moderate Time</li>
          <li><tt>11 0111</tt> — Long Time</li>
          <li><tt>11 1000</tt> — Reluctant</li>
          <li><tt>11 1001</tt> — Unable</li>
          <li><tt>11 1010</tt> — Obscured</li>
          <li><tt>11 1011</tt> — Previous Object</li>
          <li><tt>11 11xx</tt> — Illegal or malformed adjective</li>
        </ul>
      </section>

    </section>

    <section>
      <name>Encoding and Decoding</name>
      <t>Encoding is performed as an append operation, adding the bit pattern for the new token to the end of the stream.</t>
      <t>Decoding is performed by taking the preamble of each new token, a 2-bit pattern, to classify which portion of the lexicon is being used. The token is either handled as a separator or the next 4 bits are read to index into the lexicon subset. Overall only a pointer into the bytestream and a count of recently decoded separators are required state to cleanly decode a well-formed bitstream.</t>

      <section>
        <name>Example Statement</name>
        <t>The following shows a statement about the relationship between both parties encoded into a bitstream.</t>
        <t>Whitespace in the encoded form is for readability only and does not appear in the actual bitstream.</t>

        <t>Example (human‑readable form):</t>
        <t>[Both Parties] [Must] [Know/Comprehend/Agree] [Protocol Specification] [Separator]</t>

        <t>Encoded bitstream:</t>
        <artwork><![CDATA[
01 0010 10 0101 10 0011 01 0101 00
]]></artwork>
      </section>
    </section>

    <section>
      <name>Extended Example</name>

      <t>Much longer descriptions of the dynamic between two nodes expected to communicate can be represented in hexadecimal form. The following example shows a complete encoded relationship description, with four additional separators appended to ensure byte alignment.</t>

      <artwork><![CDATA[
    4a35d5118d5b90318d088466bfbcd010aa04c96d4630d11461344519cd11a2944d1146db0d1182134460aec444a3cf7114ec466804d28c4a3612b7b244609104c9918119a3d1181184d118119cd11a2944d1146db0d1182134460aec44d11461344519cd11a2944d1146db0d1182134460aec4408118408118434460d1180811840d1183446020461128f3dc453b119a0134a3128d84adec42a81325b518c3445184d1146734468a5134451b6c3446084d1182bb11
    ]]></artwork>

    </section>

    <section>
      <name>Conclusion</name>

      <t>The sample generated above demonstrates a description of communication dynamics first translated from plain English into lexicon tokens then into bitstream representation. The original representation consisted of 2106 bytes of Unicode text. In this compact representation, only 182 bytes were needed to represent the communication. Further, this improved even on the deflated size for the English/Unicode representation of 397 bytes. These results highlight the efficiency of the encoding model, particularly for verbose descriptions of inter‑party dynamics.</t>

      <t>While the lexicon is intentionally limited, the examples illustrate that it is expressive enough to capture a wide range of relationship semantics. The reversible mapping to fixed‑length bit patterns ensures that encoded streams remain compact, unambiguous, and straightforward to decode. This approach may be applicable to systems where communication patterns, expectations, or behavioral conventions must be conveyed alongside or outside of traditional protocol structures.</t>

    </section>
    
    <section anchor="IANA">
    <!-- All drafts are required to have an IANA considerations section. See RFC 8126 for a guide.-->
      <name>IANA Considerations</name>
      <t>This memo includes no request to IANA.</t>
    </section>
    
    <section anchor="Security">
      <!-- All drafts are required to have a security considerations section. See RFC 3552 for a guide. -->
      <name>Security Considerations</name>
      <t>This document should not affect the security of the Internet.</t>
    </section>
    
    <!-- NOTE: The Acknowledgements and Contributors sections are at the end of this template -->
  </middle>

  <back>
    
    <section anchor="IndirectContributors" numbered="false">
      <!-- [REPLACE/DELETE] a Contributors section is optional -->
      <name>Indirect Contributors</name>
      <t>The author acknowledges the indirect influence of works created by M. Stock, M. Aitken, and P. Waterman, which informed aspects of the extended example. These individuals did not participate in the preparation or submission of this document.</t>
      <!-- [CHECK] it is optional to add a <contact> record for some or all contributors -->
    </section>
    
 </back>
</rfc>
