Skip to content

Commit 814035a

Browse files
committed
. e Improvements to acn process
1 parent 414d172 commit 814035a

File tree

3 files changed

+272
-4
lines changed

3 files changed

+272
-4
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Arlo Commit Notation Process (Draft)
2+
3+
Arlo Commit Notation is a system for prefixing commit messages with a short code that encodes the intent and risk of the commit. This system helps reviewers and maintainers quickly understand the nature of each change.
4+
5+
## Commit Message Structure
6+
7+
```
8+
[hash] [prefix] [commit message]
9+
```
10+
11+
- **hash**: The git commit hash.
12+
- **prefix**: A short code, typically two characters (sometimes more), that encodes information about the commit.
13+
- **commit message**: Description of the change.
14+
15+
## Prefix Format
16+
17+
The prefix generally follows this pattern:
18+
19+
```
20+
[symbol][space][letter(s)]
21+
```
22+
23+
- **symbol**: One of `.`, `-`, `!`, `@`, `***`, `v`, or none.
24+
- **letter(s)**: One or more letters, usually a single uppercase or lowercase letter, sometimes two (`dt`).
25+
26+
### Observed Prefixes and Likely Meanings
27+
28+
| Prefix | Meaning (Inferred) |
29+
|-----------|---------------------------------------|
30+
| `. e` | Enhancement, engineering, or edit (not shipped to user, e.g., scripts, infra) |
31+
| `. d` | Documentation (not shipped to user) |
32+
| `. t` | Test (not shipped to user) |
33+
| `. r` | Refactor (not shipped to user, or tooling-safe refactor) |
34+
| `. C` | Release/Changelog |
35+
| `- r` | Refactor (possibly higher risk) |
36+
| `- F` | Feature (possibly higher risk) |
37+
| `! r` | Risky refactor |
38+
| `! F` | Risky feature |
39+
| `@ r` | Refactor (special context) |
40+
| `@ F` | Feature (special context) |
41+
| `***` | Major/experimental/unknown |
42+
| `v` | Version bump/release |
43+
| `a` | Automated/formatting |
44+
| `. dt` | Documentation for DynamicTest |
45+
| (none) | Merge, bump, or update (auto/merge) |
46+
47+
> **Note:** The exact meaning of each prefix may depend on team conventions. The above are inferred from commit messages and may need confirmation.
48+
49+
## Guidelines for Use
50+
51+
- Always use a prefix unless the commit is a merge, bump, or automated update.
52+
- Choose the symbol and letter(s) that best match the intent and risk of the commit.
53+
- Use uppercase letters for features, releases, or high-impact changes.
54+
- Use special symbols (`-`, `!`, `@`, `***`) to indicate increased risk, automation, or special cases.
55+
- For version bumps, use `v` followed by the version number.
56+
57+
## Next Steps
58+
59+
- Review all commit prefixes to ensure they match the inferred rules.
60+
- Check commits outside the 200-sample set for consistency.
61+
- If any rules are unclear, clarify with the team or ask the user.
62+
63+
---
64+
**This is a first draft based on observed commit history. Please refine as needed.**

.windsurf/CurrentTask.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,14 @@ The document we are building is `.windsurf/ArloCommitNotation.process.md`.
66
## Interacting with Git
77
Two mechanisms in which to interact with our Git repo. One is the Git command line and the other is the GitHub CLI. You are welcome to use either.
88

9-
## Current feature we are implementing
10-
119
## To Do
12-
- [ ] Gather data
10+
- [x] Gather data
11+
- [ ] Infer the rules
1312

1413
## Gathering Data
15-
Using the CLI, get 50 recent examples from this repo of the commit notation and hashes and put them into a file. Add the data you need about the commit that you think is relevant. Put all of this into a file called `example_commits.txt` in the `.windsurf` directory.
14+
Using the CLI, get 200 recent examples from this repo of the commit notation and hashes and put them into a file. Add the data you need about the commit that you think is relevant. Put all of this into a file called `example_commits.txt` in the `.windsurf` directory.
15+
16+
## Infer the rules
17+
Using the data you have collected, infer the rules of the Arlo Commit Notation. Put all of this into a file called `ArloCommitNotation.process.md` in the `.windsurf` directory.
18+
After you have inferred the rules, check the commits to see if they match your expectations. Then check the commits other than the 200 in the example_commits.txt file to see if they still match expectations.
19+
Afterwards, if there are any rules you are uncertain about, ask the user questions. You can ask as many questions as you want but ask one question at a time.

.windsurf/example_commits.txt

Lines changed: 200 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
414d1722 . e Creating process files
2+
0e401d9b . e Edited process files and rules for windsurf
3+
d28f3132 . e add Bash script style guide and simplify github_issue.sh
4+
1b7a777c . d updated markdown snippets
5+
4b359cb8 - F DateUtils.toString, EndOfTime, QuartzUtils.toString, Timestamp date format scrubber
6+
2bc7ee06 . e scrubbers
7+
18a0e7db . e Refactoring tests
8+
70251725 . e scrubbers
9+
904e5dd6 *** better tests
10+
d4f6f595 *** moving to quartz
11+
86d7dc84 ! r upgrade quartz
12+
00cc8e59 . t upgrade to org.junit.support.testng.engine
13+
82b31364 . r upgrade junit5\nUpgraded junit-jupiter-api and junit-jupiter-engine to 5.12.2 as per PR #647. Also removed the unused and problematic testng-junit5 dependency.\n\nCo-authored-by: Jay <JayBazuzi@users.noreply.github.com>\nCo-authored-by: Scott <ScottBob@users.noreply.github.com>
14+
61e2ae97 . e gh cli
15+
c0e5ffdd Update running_scripts.md
16+
a2e8e7f6 . e Upgrading Depedencies process
17+
8e7ab2ed Merge branch 'master' of https://github.com/approvals/ApprovalTests.Java
18+
e4544d1c . e Populate FixingIssues.process.md
19+
bb46cf90 . e Add FixingIssues.process.md
20+
faf8e887 . e Update Arlo Commit Notation documentation
21+
b74c5740 . C Release v24.21.1
22+
3c5a9e42 . d updated markdown snippets
23+
ee8873e2 - B Sort map keys by toString if not Comparable
24+
5c50f273 . e Updated commit script
25+
ddfd4769 . e Added Windsurf configuration and scripts
26+
28d52011 . e Added Windsurf configuration and scripts
27+
6ee1416e - r Bump the jackson group with 3 updates
28+
1fdb8922 - r Bump com.google.code.gson:gson from 2.13.0 to 2.13.1
29+
35d5a7b9 . e add all-important `call` to ensure errors are propagated correctly
30+
d6232c42 Merge branch 'temp'
31+
b49393ab . C Release v24.21.0
32+
f1d8218b . e use commit action
33+
8f4212bf - r update junit-jupiter to 5.12.2
34+
e4818ad9 . d updated markdown snippets
35+
2ae7a5bb - r Replaced all calls to getAbsolutePath() with FileUtils.getResolvedPath(file)
36+
eac96aa3 - F Added FileUtils.getResolvedPath
37+
160a1d47 . e Remove unsupported Java versions
38+
34d78d21 - r Bump com.google.code.gson:gson from 2.12.1 to 2.13.0
39+
8642c3d4 . e build_and_test.cmd
40+
2f38f605 . C Release v24.20.0
41+
f41b4a63 - B Fix how path is created for temp folder
42+
de6167b8 . d updated markdown snippets
43+
f5bc266a . d Fix scrubber snippet
44+
4f3384fb . t Remove abandoned files
45+
c445dc4e . t Remove abandoned files
46+
f473dd99 ! F Use remove_abandoned_files.py and approve_all.py
47+
3dc55118 . r Removed unused library reference from Maven pom files
48+
c4a1cdbb . e Removed unnecessary line from gitignore
49+
18eef2f8 - r Bump com.github.javaparser:javaparser-core from 3.26.3 to 3.26.4
50+
eda5bd3c - r Bump org.apache.maven.plugins:maven-surefire-plugin
51+
06f7048c . e always use unix-style line endings
52+
22f8eb50 . e update install to use openjdk and maven
53+
841fb808 . e apply ACN to version updates
54+
18d6592a v 24.19.0
55+
a8f9f01a - B ReadBuffer input no longer modifies newlines or adds them at the end Added StringUtils.ensureEnding Added FileUtils.readFile(file, ensureTrailingNewline = true)
56+
de2dd215 - r Bump net.revelc.code.formatter:formatter-maven-plugin
57+
e9e02f91 . e fix dependabot commit notations
58+
f1fbde34 Bump actions/cache from 4.2.2 to 4.2.3
59+
368c63f5 . e add Java 24 to CI
60+
7c5f79e2 . e Bump the jackson group with 2 updates
61+
f63a55b3 . e Fix yaml so that dependabot makes 1 PR when updating junit or jackson
62+
76f73207 v 24.18.0
63+
f951d26f . t use junit5 assertions and use them with static import for consistency
64+
e084ec15 - F Automatically git-ignore our temp folder
65+
e634f04e Bump org.junit.jupiter:junit-jupiter from 5.12.0 to 5.12.1
66+
c9d081ba ! B removing the stacking of checks
67+
00389ef0 a reformat code
68+
9cc8bcd4 . t Add logging to test
69+
f24b2687 . d updated markdown snippets
70+
10fcce58 . t Cleaner tests
71+
e285b2fa . r Change if to switch
72+
613b1afc - r Cleaned up naming and parameters
73+
52ceebf5 - F Added safety check capability plus check for dynamic tests
74+
646bc2a8 . t Change to remove flakey test if httpbin is down
75+
a780cac0 . d Add Discord badge to Readme
76+
6c739809 Bump org.apache.camel:camel-xstream from 3.22.3 to 3.22.4
77+
db3dd86a - r use querable
78+
9f8b9b67 - r moving to querable
79+
21eecfbb a reformat code
80+
e8eaaaac . r refactor loop to Queryable
81+
382d5e18 . d updated markdown snippets
82+
25605be0 - F improvements to header of MarkdownTables
83+
21e9f3d9 - F auto-escape content in tabledown tables
84+
1438acf3 - F MarkdownColumn.RIGHT_JUSTIFIED
85+
91b4f720 . d updated markdown snippets
86+
879c939b - F better help messages
87+
805c273f . r extract variable
88+
ea515934 Bump com.fasterxml.jackson.core:jackson-databind from 2.18.2 to 2.18.3
89+
1e0d9d3d . d updated markdown snippets
90+
b0cde6eb . d Correct snippet tag
91+
b721f2dc . dt Adding documentation for DynamicTest
92+
ea1fcf4a . dt Adding documentation for DynamicTest
93+
5ecb9b4e a reformat code
94+
0253dcd9 . dt Adding documentation for DynamicTest
95+
7676a2bd Bump actions/cache from 4.2.1 to 4.2.2
96+
76808c1e Bump org.apache.maven.plugins:maven-project-info-reports-plugin
97+
42b319aa Bump org.junit.jupiter:junit-jupiter from 5.11.3 to 5.12.0
98+
01a79b10 Bump org.apache.maven.plugins:maven-compiler-plugin
99+
6700f05e Bump actions/cache from 4.2.0 to 4.2.1
100+
07f519ae Bump net.revelc.code.formatter:formatter-maven-plugin
101+
923a53f6 v 24.17.0
102+
0333c12d - t reduce likelihood of flaky test
103+
7266c0b8 - F downloading scripts is now fire and forget
104+
0765812f - r remove duplication
105+
d6f917e9 - F Once.runAsync
106+
c2374764 v 24.16.1
107+
624f90f2 a reformat code
108+
8c0ab212 - B FirstWorkingReporter does not swallow reporters with approval power
109+
88a0295c Bump commons-logging:commons-logging from 1.3.4 to 1.3.5
110+
9ecdffdb - B Set timeout for both connection and read timer
111+
dff34d3c a reformat code
112+
d2e20be0 - B Set DownloadScripts timer to three seconds
113+
21e66238 - r Add a timeout parameter to the loadWebPage method.
114+
9dcab999 . e reformat arrays
115+
f999e9ee v 24.16.0
116+
35fe4a13 . d updated markdown snippets
117+
8ad16525 ! F allow configuration of project base directory
118+
870a0f28 ! B catch exception on DNS error, closes #612
119+
dc488f49 Bump com.google.code.gson:gson from 2.12.0 to 2.12.1
120+
4302db12 v 24.15.0
121+
404823a9 - r Refactor to use Once
122+
06870d1f . B Remove bug where Once would fire multiple times if the lambda had fields
123+
5a4a01c3 . F Create Once like in Golang
124+
159cd2aa . r Moving internal .logging
125+
2ee60771 Bump com.google.code.gson:gson from 2.11.0 to 2.12.0
126+
e1e2ddb1 . e abandoned file scripts
127+
2b209577 . e Testing Mac: no spaces around =
128+
f435eec8 . e Testing Mac more
129+
6c959506 . e Testing Mac
130+
09b81bbd . d updated markdown snippets
131+
9b5375ee . t Escape `|` in markdown approved file
132+
5479ff1e v 24.14.2
133+
3e33e2e0 a reformat code
134+
808f4cee - r Replaced deprecated method calls
135+
a3f9a280 - r Deprecated unfortunately named function
136+
5e242fec - r Replaced URL with URI.create(url)
137+
b38d2d50 - r Removed duplicate functionality
138+
6c831f66 - B Fixed bug with the way we were processing BufferedStreams
139+
80fd2c1d v 24.14.1
140+
92592fdc a reformat code
141+
3e5db394 ! r Use java's built in UrlConnection instead of apache http client
142+
d8e742be . t Tests for NetUtils
143+
68233fa1 v 24.14.0
144+
8f673b33 @ r remove duplication. Lazy download the approve-all script
145+
e21060cf @ F add approval-all script to temp directory
146+
bc2c99ba . d updated markdown snippets
147+
955d5ffd - F added even more dates that ChatGPT gave us examples for
148+
ccf3c9db - F support for Date format reported by helgewessels, Jan 2025
149+
f7c5699d - F Created approve_all.sh
150+
0ecf28d7 - F Created approve_all.bat
151+
6b446dde a reformat code
152+
cb76ba6d - F Added FailedFileLog
153+
8bfb04ca v 24.13.0
154+
ad8091af . d updated markdown snippets
155+
3205e149 - F support for Date format reported by helgewessels, Dec 2024
156+
f8ea8927 - F support for Date format reported by mkurtz, Dec 2024
157+
c49aa380 Bump org.apache.camel:camel-xstream from 3.22.2 to 3.22.3
158+
c3bd405b Bump com.github.javaparser:javaparser-core from 3.26.2 to 3.26.3
159+
0b74b827 Bump org.junit.jupiter:junit-jupiter-engine from 5.11.3 to 5.11.4
160+
02467d79 Bump org.junit.jupiter:junit-jupiter-api from 5.11.3 to 5.11.4
161+
718d713c v 24.12.0
162+
299d82a2 a reformat code
163+
59493782 - F ReporterThatCreatesAnApprovalScript for Linux
164+
a65f3520 - F ReporterThatCreatesAnApprovalScript for Windows
165+
a53cea91 Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.1 to 3.11.2
166+
eb4b0322 v 24.11.0
167+
5fd3802f . d updated markdown snippets
168+
64ac582c Merge branch 'applesauce'
169+
547c0eb8 - F Seam for what error is thrown from Approvals
170+
90e25395 . r extract method
171+
d7f717e5 Bump actions/cache from 4.1.2 to 4.2.0
172+
8dcd1dd3 Bump net.jqwik:jqwik from 1.9.1 to 1.9.2
173+
15b5c345 Bump com.fasterxml.jackson.core:jackson-databind from 2.18.1 to 2.18.2
174+
5aa9049a Bump com.fasterxml.jackson.core:jackson-annotations
175+
24037c2f . t better tests
176+
3b26f5e0 Merge branch 'master' of https://github.com/approvals/ApprovalTests.Java
177+
f22a3375 . t fixed test docs
178+
711baa28 a reformat code
179+
4aa3a529 - B parity of Lists an Arrays
180+
948311f6 . d updated markdown snippets
181+
c07a3431 - F Queryable.firstOrThrow
182+
50153dbe Bump org.easymock:easymock from 5.4.0 to 5.5.0
183+
40730500 Bump com.thoughtworks.xstream:xstream from 1.4.20 to 1.4.21
184+
8866e933 Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.1 to 3.5.2
185+
b31d6f6e Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.10.1 to 3.11.1
186+
e42a0d51 Bump mikepenz/action-junit-report from 4 to 5
187+
6654cda7 . t cleanup tests we dont need anymore
188+
f257fdc3 . e configure test reporting for gh action
189+
045686f8 a reformat code
190+
554e5a37 *** failing on purpose
191+
53d47888 . e junit test report to other builds
192+
f29932ae . e added test report to github action
193+
a2b1bf3a v 24.9.0
194+
1a9f7339 a reformat code
195+
b23c767a - F Add logger of approved files
196+
cc292a17 Bump com.fasterxml.jackson.core:jackson-databind from 2.18.0 to 2.18.1
197+
969aef33 Bump com.fasterxml.jackson.core:jackson-annotations
198+
53f776c0 . d updated markdown snippets
199+
402c45d6 . F Queryable.as accepting a Set, fixes #372
200+
4ac45c97 Merge pull request #577 from approvals/dependabot/maven/org.apache.maven.plugins-maven-project-info-reports-plugin-3.8.0

0 commit comments

Comments
 (0)