From 6b4d8f16cd2be0ba5027c59092ec8ffa2b7408e8 Mon Sep 17 00:00:00 2001 From: Thomas Walker Lynch Date: Sat, 7 Dec 2024 16:45:49 +0000 Subject: [PATCH] edits to pencil_suffix.html aks About_the_pencil_Suffix.html --- .../About_the_Pencil_Suffix.html" | 158 ------------------ "document\360\237\226\211/pencil_suffix.html" | 126 ++++++++++++++ 2 files changed, 126 insertions(+), 158 deletions(-) delete mode 100644 "document\360\237\226\211/About_the_Pencil_Suffix.html" create mode 100644 "document\360\237\226\211/pencil_suffix.html" diff --git "a/document\360\237\226\211/About_the_Pencil_Suffix.html" "b/document\360\237\226\211/About_the_Pencil_Suffix.html" deleted file mode 100644 index 1e55c36..0000000 --- "a/document\360\237\226\211/About_the_Pencil_Suffix.html" +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - Pencil Attribute in Directory Structure - - - -
-

About The Pencil Suffix

- -

The 🖉 (pencil) symbol suffix indicates directories or files containing authored content—material that has been uniquely created, whether by human or AI, and cannot be regenerated or replaced by running project build scripts. -Such files are called authored files. -

- -

How to Use the Pencil Suffix

- - - -

Nuances with Links

- - - -

rm_na: Command to Prevent Deletion of Authored Content

- - -

The Pencil Suffix and Editing: A Subtle but Important Distinction

- -

The pencil suffix is often intuitively associated with "editability" because of the pencil’s traditional connotation with writing or modification. However, while related, the pencil suffix has a more nuanced and specific role in the context of our projects.

- -

The pencil suffix indicates that a file or directory is authored content, created by a person (human or AI) and intended to be retained as part of the project. It signals that the file should not be deleted by build scripts, clean scripts, or accidental invocations of rm commands. In this way, the pencil suffix protects the content from being overwritten or discarded during routine project workflows.

- -

The pencil suffix does not inherently restrict or permit editing. A file with the suffix can still be edited, just like any other file, as long as the operating system permissions allow it. Conversely, a file without the pencil suffix can also be edited, but its contents may be at risk of being overwritten or lost during builds or cleans.

- -

For teams, the pencil suffix serves as a communication tool. It helps team members recognize files that are authored and can not be replaced by auto generation."

- -

In the future, the pencil suffix could potentially evolve into a broader indicator encompassing editability or additional permissions. For now, its purpose remains focused on deletion protection and signaling authored content.

- -

Goals

- -
    -
  • - Visual Clarity: The pencil suffix provides an immediately recognizable visual cue, assisting in the organization and protection of authored content. -
  • -
  • - Team Collaboration: The pencil suffix is a communication device that expresses to other team members that a file is intended to be respected as authored contents. -
  • -
- - - diff --git "a/document\360\237\226\211/pencil_suffix.html" "b/document\360\237\226\211/pencil_suffix.html" new file mode 100644 index 0000000..08c270b --- /dev/null +++ "b/document\360\237\226\211/pencil_suffix.html" @@ -0,0 +1,126 @@ + + + + + + + Pencil Attribute in Directory Structure + + + +
+

The Pencil Suffix and Authored Files

+ +

How to Use the Pencil Suffix

+ +

The pencil suffix is a Unicode character, 🖉, that is placed as the last character of a filename or directory name. It signifies that the file, or contents of a so named directory, are uniquely authored and should not be deleted or rebuilt by clean scripts or build scripts. The pencil suffix also serves as a communication tool among team members.

+ + Two methods for marking a file as authored: +
    +
  • Directory with Pencil Suffix: This method marks all contents within the directory sub-tree as being authored.
  • +
  • File Name Last Character as Pencil: This directly marks the file itself as authored and protected.
  • +
+ + +

The recommended method to mark files as authored is to place them in a directory, where the name of said directory ends with the pencil symbol. Directly marked files will then be exceptional cases.

+ +

Replace rm with rm_na in scripts

+

The rm_na command is a modified version of the standard rm command that refuses to delete files marked as being authored. + This is true whether the file is marked as authored with a pencil + suffix or is found in a directory tree marked as such. + + +

Use rm_na in place of rm in scripts that clean, build, or otherwise manipulate project files.

+ +

While rm_na offers a safeguard, the pencil suffix itself does not enforce permissions. Users can still manually delete 🖉-marked files using rm, and roqque builds can overwrite them. Therefore, programmers should remain cautious.

+ +

Pencil suffix and editablity

+ +

The pencil suffix does not inherently restrict or permit editing. A file without the pencil suffix that has write permissions can also be edited; however, such edits are at risk of being overwritten or lost during builds or cleans. While lack of a pencil suffix on a file, or inclusion in such a directory, does not prevent a file from being edited - it does mean that it might not be advisable to edit such a file. Conversely, it is intended that a file marked as authored can be edited without fear of + the edits being overwritten. Hence these are the appropriate places to insert edits into a project. In this sense the pencil suffix does indicate a file is 'editable'.

+ +

Symbolic Links

+ +

A symbolic link can facilitate access to authored files; however, the link itself is independently created or deleted. Hence, a pencil suffix on a target file or directory does not reflect through to the name given to the link. The pencil suffix is about protecting authored content from deletion, but the link can be deleted without losing the authored content. Consequently, a symbolic link name will never have a pencil suffix.

+ +

Symbolic links not carrying pencil suffixes suggests that a distinction be made between the pencil suffix indicating authored material that should not be deleted by project scripts, and that of the pencil indicating where edits should be inserted into the project. This is because dropping the pencil on the link name weakens the interpretation of the pencil suffix as indicting points in the project where edits should be made. The target files still indicate this, but a user might only see the symbolic links in the directory listing.

+ +

Hard Links

+ +

Among multiple hard links, none is distinguished as being the primary file link. Hence, should a hard link point at an authored file, and that hardlink is not in a directory that already identifies it as an authored file, it should have the pencil suffix. It is the only option available, because in general we can not know the order of deletion of the hard links, and thus do not know which will be the last one that should not be deleted. Hard links are strange beasts that should be avoided for many other reasons as well.

+ + +

Future direction

+ +

In the future we hope for tighter integration with the OS, perhaps through use of sub-users (see the subu project), or through a property based file system. For now it is a communication tool, one which is strengthened through use of the rm_na command.

+ + + + -- 2.20.1