From: Thomas Walker Lynch Date: Fri, 6 Mar 2026 14:22:34 +0000 (+0000) Subject: docs to new convention for style X-Git-Url: https://git.reasoningtechnology.com/setup.js?a=commitdiff_plain;h=79f9d52104b69f91a40fc4855c7989a5f337a421;p=Harmony docs to new convention for style --- diff --git a/administrator/document/00_Project_Structure.html b/administrator/document/00_Project_Structure.html index 61fcd33..b087d29 100644 --- a/administrator/document/00_Project_Structure.html +++ b/administrator/document/00_Project_Structure.html @@ -3,9 +3,7 @@ Project Structure and Ontology - - - + + @@ -33,13 +35,13 @@
  • Write and modify authored/ source.
  • Run builds and stage artifacts in scratchpad/stage.
  • Spot test in experiment/.
  • -
  • Execute the release write script to copy artifacts to user/release for consumption/testing.
  • +
  • Execute the release write script to copy artifacts to consumer/release for consumption/testing.
  • Tester Role

    Responsibilities:

      -
    1. Validate candidates under user/release/.
    2. +
    3. Validate candidates under consumer/release/.
    4. Run regression suites.
    5. Approve for quality and completeness, and create release branches.
    @@ -52,7 +54,7 @@ . setup administrator . setup developer . setup tester -. setup user +. setup consumer

    It is common to have multiple terminal sessions or IDEs open, each running under a different role environment. @@ -60,13 +62,11 @@

    Release Promotion

    - Building and promotion are separate activities. The developer compiles and stages files in developer/scratchpad/stage. The developer then runs release write to transfer those files to user/release. + Building and promotion are separate activities. The developer compiles and stages files in developer/scratchpad/stage. The developer then runs release write to transfer those files to consumer/release.

    - The user/release directory is strictly an untracked deployment target. No tools may rebuild during promotion, and no builds are run directly inside the release directory. + The consumer/release directory is strictly an untracked deployment target. No tools may rebuild during promotion, and no builds are run directly inside the release directory.

    - -
    diff --git a/administrator/document/setup.js b/administrator/document/setup.js index 264e6d6..bffdab2 100644 --- a/administrator/document/setup.js +++ b/administrator/document/setup.js @@ -1,5 +1,4 @@ window.RT_REPO_ROOT = "../../"; - document.write(''); document.write(''); document.write(''); diff --git a/developer/document/00_RT_Code_Format.html b/developer/document/00_RT_Code_Format.html index 5813499..1b41ddf 100644 --- a/developer/document/00_RT_Code_Format.html +++ b/developer/document/00_RT_Code_Format.html @@ -3,9 +3,11 @@ RT Prescriptive Code Format Guide - - - + + @@ -90,8 +92,6 @@ if(x == 0) return;
  • Never use tabs.
  • Nest lines under the syntactic element that opened them.
  • - -
    diff --git a/developer/document/02_RT_Code_Format.html b/developer/document/02_RT_Code_Format.html index 81e891d..ad5ef8b 100644 --- a/developer/document/02_RT_Code_Format.html +++ b/developer/document/02_RT_Code_Format.html @@ -3,9 +3,11 @@ RT Prescriptive Code Format Guide - - - + + @@ -92,8 +94,6 @@ if(x == 0) return;
  • Never use tabs.
  • Nest lines under the syntactic element that opened them.
  • - -
    diff --git a/developer/document/03_Naming_and_Directory_Conventions.html b/developer/document/03_Naming_and_Directory_Conventions.html index a490d83..d34a287 100644 --- a/developer/document/03_Naming_and_Directory_Conventions.html +++ b/developer/document/03_Naming_and_Directory_Conventions.html @@ -3,9 +3,11 @@ Naming and Directory Conventions - - - + + @@ -42,8 +44,6 @@

    The RT C coding environment does not use separate source and header files. Instead, a variable is set that gates off the implementation if the source code is to be used as a header. Hence, all of our C source fits fine within an authored directory.

    - -
    diff --git a/developer/document/04_Language_Addenda.html b/developer/document/04_Language_Addenda.html index 4ab0352..d33208e 100644 --- a/developer/document/04_Language_Addenda.html +++ b/developer/document/04_Language_Addenda.html @@ -3,9 +3,11 @@ Language Addenda (C, Python, Bash, Lisp) - - - + + @@ -89,8 +91,6 @@ set -euo pipefail

    When in doubt, start with 02_RT_Code_Format.html for the core rules, then apply the relevant language section here. If a language requires deviation from the generic rules, document that deviation in this file instead of ad-hoc decisions.

    - -
    diff --git a/developer/document/setup.js b/developer/document/setup.js new file mode 100644 index 0000000..bffdab2 --- /dev/null +++ b/developer/document/setup.js @@ -0,0 +1,4 @@ +window.RT_REPO_ROOT = "../../"; +document.write(''); +document.write(''); +document.write(''); diff --git a/developer/tool/do_all b/developer/tool/do_all index 2495705..2350fd8 100755 --- a/developer/tool/do_all +++ b/developer/tool/do_all @@ -4,8 +4,8 @@ script_afp=$(realpath "${BASH_SOURCE[0]}") # input guards setup_must_be="developer/tool/setup" - if [ "$ENV" != "$env_must_be" ]; then - echo "$(script_fp):: error: must be run in the $env_must_be environment" + if [ "$SETUP" != "$setup_must_be" ]; then + echo "$(script_fp):: error: must be run in the $setup_must_be environment" exit 1 fi diff --git a/developer/tool/make b/developer/tool/make index 58636de..7adb889 100755 --- a/developer/tool/make +++ b/developer/tool/make @@ -4,8 +4,8 @@ script_afp=$(realpath "${BASH_SOURCE[0]}") # input guards setup_must_be="developer/tool/setup" - if [ "$ENV" != "$env_must_be" ]; then - echo "$(script_fp):: error: must be run in the $env_must_be environment" + if [ "$SETUP" != "$setup_must_be" ]; then + echo "$(script_fp):: error: must be run in the $setup_must_be environment" exit 1 fi diff --git a/developer/tool/release b/developer/tool/release index 2b1027a..24f260c 100755 --- a/developer/tool/release +++ b/developer/tool/release @@ -4,10 +4,10 @@ import os ,sys ,shutil ,stat ,pwd ,grp ,glob ,tempfile HELP = """usage: release {write|clean|ls|diff|help|dry write} - write Writes promoted files from scratchpad/stage into user/release. Only updates newer files. - clean Remove all contents of the user/release directory. - ls List user/release as an indented tree: PERMS OWNER NAME. - diff List files in user/release that are not in scratchpad/stage, or are newer. + write Writes promoted files from scratchpad/stage into consumer/release. Only updates newer files. + clean Remove all contents of the consumer/release directory. + ls List consumer/release as an indented tree: PERMS OWNER NAME. + diff List files in consumer/release that are not in scratchpad/stage, or are newer. help Show this message. dry write Preview what write would do without modifying the filesystem. """ @@ -20,15 +20,15 @@ def exit_with_status(msg ,code=1): print(f"release: {msg}" ,file=sys.stderr) sys.exit(code) -def assert_env(): - env = os.environ.get("ENV" ,"") - if(env != ENV_MUST_BE): +def assert_setup(): + setup_val = os.environ.get("SETUP" ,"") + if(setup_val != SETUP_MUST_BE): hint = ( "SETUP is not 'developer/tool/setup'.\n" "Enter the project with: . setup developer\n" "That script exports: ROLE=developer; SETUP=$ROLE/tool/setup" ) - exit_with_status(f"bad environment: ENV='{env}'. {hint}") + exit_with_status(f"bad environment: SETUP='{setup_val}'. {hint}") def repo_home(): rh = os.environ.get("REPO_HOME") @@ -43,10 +43,10 @@ def dpath(*parts): ,*parts ) -def upath(*parts): +def cpath(*parts): return os.path.join( repo_home() - ,"user" + ,"consumer" ,"release" ,*parts ) @@ -54,8 +54,8 @@ def upath(*parts): def dev_root(): return dpath() -def user_root(): - return upath() +def consumer_root(): + return cpath() def _display_src(p_abs: str) -> str: try: @@ -69,10 +69,10 @@ def _display_dst(p_abs: str) -> str: try: rel = os.path.relpath( p_abs - ,user_root() + ,consumer_root() ) rel = "" if rel == "." else rel - return "$REPO_HOME/user/release" + ("/" + rel if rel else "") + return "$REPO_HOME/consumer/release" + ("/" + rel if rel else "") except Exception: return p_abs @@ -83,7 +83,7 @@ def ensure_mode(path_str ,mode): def ensure_dir(path_str ,mode=DEFAULT_DIR_MODE ,dry=False): if(dry): if( not os.path.isdir(path_str) ): - shown = _display_dst(path_str) if path_str.startswith(user_root()) else ( + shown = _display_dst(path_str) if path_str.startswith(consumer_root()) else ( os.path.relpath(path_str ,dev_root()) if path_str.startswith(dev_root()) else path_str ) print(f"(dry) mkdir -m {oct(mode)[2:]} '{shown}'") @@ -141,7 +141,7 @@ def list_tree(root_dp): if( len(ownergrp) > ogw ): ogw = len(ownergrp) - print("user/release/") + print("consumer/release/") for isdir ,depth ,perms ,ownergrp ,name in entries: indent = " " * depth print(f"{perms} {ownergrp:<{ogw}} {indent}{name}") @@ -175,8 +175,8 @@ def copy_one(src_abs ,dst_abs ,mode ,dry=False): print(f"+ install -m {oct(mode)[2:]} '{src_show}' '{dst_show}'") def cmd_write(dry=False): - assert_env() - ensure_dir(upath() ,DEFAULT_DIR_MODE ,dry=dry) + assert_setup() + ensure_dir(cpath() ,DEFAULT_DIR_MODE ,dry=dry) src_root = dpath( "scratchpad" @@ -192,7 +192,7 @@ def cmd_write(dry=False): for fn in files: src_abs = os.path.join(root ,fn) rel = os.path.relpath(src_abs ,src_root) - dst_abs = os.path.join(upath() ,rel) + dst_abs = os.path.join(cpath() ,rel) if( os.path.exists(dst_abs) ): src_mtime = os.stat(src_abs).st_mtime @@ -216,8 +216,8 @@ def cmd_write(dry=False): print(f"(info) nothing new to promote from {_display_src(src_root)}") def cmd_diff(): - assert_env() - dst_root = upath() + assert_setup() + dst_root = cpath() src_root = dpath( "scratchpad" ,"stage" @@ -250,12 +250,12 @@ def cmd_diff(): print("No differences found. Release matches stage.") def cmd_clean(): - assert_env() - user_root_dir = upath() - if( not os.path.isdir(user_root_dir) ): + assert_setup() + consumer_root_dir = cpath() + if( not os.path.isdir(consumer_root_dir) ): return - for name in os.listdir(user_root_dir): - p = os.path.join(user_root_dir ,name) + for name in os.listdir(consumer_root_dir): + p = os.path.join(consumer_root_dir ,name) if( os.path.isdir(p) and not os.path.islink(p) ): shutil.rmtree(p ,ignore_errors=True) else: @@ -272,7 +272,7 @@ def CLI(): elif(cmd == "clean"): cmd_clean() elif(cmd == "ls"): - list_tree(upath()) + list_tree(cpath()) elif(cmd == "diff"): cmd_diff() elif(cmd == "help"): diff --git a/document/setup.js b/document/setup.js new file mode 100644 index 0000000..ca24761 --- /dev/null +++ b/document/setup.js @@ -0,0 +1,4 @@ +window.RT_REPO_ROOT = "../"; +document.write(''); +document.write(''); +document.write(''); diff --git a/shared/document/setup.js b/shared/document/setup.js new file mode 100644 index 0000000..bffdab2 --- /dev/null +++ b/shared/document/setup.js @@ -0,0 +1,4 @@ +window.RT_REPO_ROOT = "../../"; +document.write(''); +document.write(''); +document.write('');