git-span 1.0.136 → 1.0.137

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # git span
2
2
 
3
- `git span` tracks implicit semantic dependencies in a git repository — line-range or whole-file anchors that participate in a coupling no schema, type, or test enforces. Each span names its anchors, optionally carries a `why` sentence defining the subsystem they collectively form (recommended on every span), and surfaces drift via `git span stale` when those anchors diverge from their anchored state.
3
+ `git span` tracks implicit semantic dependencies in a git repository — line-range or whole-file anchors that participate in a coupling no schema, type, or test enforces. Each span names its anchors, optionally carries a `why` — one present-tense sentence defining the subsystem they form together (recommended on every span), and surfaces drift via `git span stale` when those anchors diverge from their anchored state.
4
4
 
5
5
  The primary CLI surface lives in `src/cli/mod.rs`. Run `git span --help` or `git span stale --help` for flag reference.
6
6
 
package/man/git-span.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH git-span 1 "git-span 1.0.136"
3
+ .TH git-span 1 "git-span 1.0.137"
4
4
  .ie \n(.g .ds Aq \(aq
5
5
  .el .ds Aq '
6
6
  .SH NAME
@@ -18,32 +18,38 @@ Each
18
18
  .B span
19
19
  anchors the participating anchors and carries a durable
20
20
  .I why
21
- \[em] one prose sentence that names the relationship the anchored set holds
22
- and survives a rewrite of either side.
21
+ \[em] one present-tense sentence that defines the subsystem the anchored set
22
+ forms together and stays true across a rewrite of either side.
23
23
  .PP
24
24
  The standing question at commit time: did this change create or rely on a
25
25
  coupling that is not visible from the lines themselves?
26
26
  .PP
27
27
  .B Writing the why.
28
- Name the relationship the anchors hold in one prose sentence, written so it
29
- survives a rewrite of either side.
30
- Describe the relationship in role\-words (\(lqthe doc,\(rq \(lqthe parser,\(rq
28
+ Write one complete sentence, in the present tense, that defines the subsystem
29
+ the anchors form together: name the thing, then say what it does across the
30
+ anchors.
31
+ Give it a subject and a verb \[em] never a label followed by a colon \[em] and
32
+ name the thing in role\-words (\(lqthe doc,\(rq \(lqthe parser,\(rq
31
33
  \(lqthe runbook,\(rq \(lqthe migration\(rq) rather than repeating filenames.
32
- For asymmetric relationships, name which side is normative:
33
- \(lqthe doc is the source of truth when they disagree.\(rq
34
- Do not restate the span name, embed incidental implementation details, or
35
- bundle ownership and review triggers in the why.
34
+ A why is read when a hook surfaces it mid\-task, so make it specific enough
35
+ that a reader who just edited one anchor can tell from the sentence alone
36
+ whether their change lands inside the thing it names.
37
+ Do not restate the span name or embed incidental implementation details, and
38
+ keep invariants, caveats, ownership, and review triggers out of the why \[em]
39
+ those belong in comments at the anchor sites, in commit messages, CODEOWNERS,
40
+ and PR descriptions.
36
41
  .PP
37
42
  .B Re\-anchoring on drift.
38
43
  When
39
44
  .B git span stale
40
45
  reports drift, review the change at each anchor.
41
- If the relationship still holds, re-anchor with
46
+ Because a why only defines, it is inherited across routine re-anchors: if the
47
+ subsystem still holds, re-anchor with
42
48
  .B git span add
43
- and commit.
44
- If the relationship has changed, update the why with
49
+ and commit, leaving the why alone.
50
+ Rewrite it with
45
51
  .B git span why
46
- before re-anchoring.
52
+ only when the subsystem itself has changed.
47
53
  .PP
48
54
  Each span is an ordinary tracked file under the span root (default
49
55
  .IR .span ,
@@ -101,7 +107,7 @@ git\-span\-remove(1)
101
107
  Remove anchors from a span, editing the span file under the span root. Stage and commit the change with `git add .span && git commit`
102
108
  .TP
103
109
  git\-span\-why(1)
104
- Read or stage the span\*(Aqs why — a one\-sentence definition of the subsystem, flow, or concern the anchors collectively form
110
+ Read or stage the span\*(Aqs why — one complete present\-tense sentence defining the subsystem the anchors form together
105
111
  .TP
106
112
  git\-span\-delete(1)
107
113
  Delete a span
@@ -123,7 +129,7 @@ Print this message or the help of the given subcommand(s)
123
129
  .ie \n(.g .ds Aq \(aq
124
130
  .el .ds Aq '
125
131
  .SH VERSION
126
- v1.0.136
132
+ v1.0.137
127
133
  .SH EXAMPLES
128
134
  Anchor a new span alongside a code change:
129
135
  .PP
@@ -132,8 +138,8 @@ Anchor a new span alongside a code change:
132
138
  git span add billing/charge-request-contract \e
133
139
  docs/api/charge.md#L40-L88 api/charge.ts#L30-L76
134
140
  git span why billing/charge-request-contract \e
135
- -m "The doc states the request body shape the parser honors; \e
136
- the doc is the source of truth when they disagree."
141
+ -m "The charge request body shape is stated by the doc \e
142
+ and honored by the parser that reads it."
137
143
  git add .span
138
144
  git commit -m "Wire checkout to charge API"
139
145
  .fi
@@ -147,7 +153,8 @@ git span add auth/token-contract --at HEAD \e
147
153
  packages/auth/token.ts#L88-L104 \e
148
154
  packages/auth/crypto.ts#L12-L40
149
155
  git span why auth/token-contract \e
150
- -m "Token verification depends on signature verification."
156
+ -m "Session token verification checks signatures with the \e
157
+ algorithm and key encoding the crypto helper defines."
151
158
  git add .span && git commit -m "Document token/crypto coupling"
152
159
  .fi
153
160
  .RE
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "git-span",
3
- "version": "1.0.136",
3
+ "version": "1.0.137",
4
4
  "bin": "bin/git-span.exe",
5
5
  "man": [
6
6
  "man/git-span.1"
@@ -24,11 +24,11 @@
24
24
  "scripts/postinstall.js"
25
25
  ],
26
26
  "optionalDependencies": {
27
- "git-span-darwin-arm64": "1.0.136",
28
- "git-span-darwin-x64": "1.0.136",
29
- "git-span-linux-arm64": "1.0.136",
30
- "git-span-linux-x64": "1.0.136",
31
- "git-span-win32-x64": "1.0.136"
27
+ "git-span-darwin-arm64": "1.0.137",
28
+ "git-span-darwin-x64": "1.0.137",
29
+ "git-span-linux-arm64": "1.0.137",
30
+ "git-span-linux-x64": "1.0.137",
31
+ "git-span-win32-x64": "1.0.137"
32
32
  },
33
33
  "repository": {
34
34
  "type": "git",