You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude/skills/gov/SKILL.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,12 +94,12 @@ The active work item is durable outcome context. Read it with `govctl work show
94
94
95
95
### Loop usage
96
96
97
-
Use a loop only when a task has multiple independently meaningful work items. A loop coordinates durable work; it is not permission to split one cleanup/refactor into mechanical work-item fragments.
97
+
Use a loop for non-trivial governed execution that needs local execution memory. This includes single-Work-Item work now that transient journal-style execution trace belongs in loop state and round artifacts. Multi-Work-Item loops add dependency and batch coordination; they are not permission to split one cleanup/refactor into mechanical work-item fragments.
98
98
99
99
1. Create or activate only the work items that represent durable outcomes a future reader should see.
100
100
2. Add `depends_on` edges for hard execution ordering.
101
101
3. Run `govctl check` so dependency cycles or missing work item IDs are caught before the loop starts.
102
-
4. Start one loop for the batch root set with `govctl loop start <ROOT-WI-ID> [<ROOT-WI-ID>...]`; let govctl generate the `LOOP-YYYY-MM-DD-NNN` ID.
102
+
4. Start one loop for the root set with `govctl loop start <ROOT-WI-ID> [<ROOT-WI-ID>...]`; let govctl generate the `LOOP-YYYY-MM-DD-NNN` ID.
103
103
5. Run `govctl loop run <LOOP-ID>` to open a local round for ready work.
104
104
6. Perform implementation, verification, and any explicit `govctl work move` commands yourself.
105
105
7. Fill the opened `.govctl/loops/<LOOP-ID>/rounds/round-NNN.toml` summary evidence.
@@ -117,7 +117,7 @@ If the scope changes during execution, keep the same loop identity:
117
117
118
118
`work` is the editable loop work-item field. `wi` is accepted as a short alias, but examples should prefer `work`.
119
119
120
-
Do not create scattered single-item loops for work that is part of one coherent batch.
120
+
Do not create multiple scattered loops for work that belongs in one coherent execution session.
121
121
122
122
Do not create separate work items for low-level implementation slices such as helper moves, test fixture sharing, module normalization, comment cleanup, snapshot reshaping, or other changes whose only durable record should be the commit diff or one higher-level work item.
123
123
@@ -145,7 +145,7 @@ govctl work list pending
145
145
146
146
- Matching active item: use it
147
147
- Matching queued item: `govctl work move <WI-ID> active`
148
-
- No match and the task has one durable outcome: `govctl work new --active "<concise-title>"`
148
+
- No match and the task has one durable outcome: `govctl work new --active "<concise-title>"`, then start a loop if the work is non-trivial
149
149
- No match and the task has multiple independently reviewable durable outcomes: create that small batch first, wire only hard `depends_on` edges, then start one generated-ID loop for the batch.
150
150
- No match and the apparent split is only mechanical implementation steps: create at most one coarse work item, or route trivial cleanup to `/quick`.
Copy file name to clipboardExpand all lines: .claude/skills/wi-writer/SKILL.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -126,7 +126,8 @@ Create multiple work items only when each item is independently meaningful to fu
126
126
- For trivial cleanup or docs-only edits, no work item may be the right answer; follow the invoking workflow instead of inventing tracking.
127
127
- For one coherent cleanup/refactor, prefer one coarse work item over many narrow slices.
128
128
- Use `depends_on` only for hard execution ordering; keep `refs` for informational links.
129
-
- Use one batch loop only when there are multiple durable work items; do not use loops to justify creating mechanical work-item fragments.
129
+
- Use a loop for non-trivial governed execution that needs local execution memory, including single-work-item execution after journal-style trace moved out of Work Item fields.
130
+
- Use one multi-work-item loop only when there are multiple durable work items; do not use loops to justify creating mechanical work-item fragments.
130
131
- Let govctl generate the loop ID with `govctl loop start <ROOT-WI-ID> [<ROOT-WI-ID>...]`; use the returned `LOOP-YYYY-MM-DD-NNN` ID for later loop commands.
131
132
- Use `govctl loop list open` to discover existing non-terminal loops before resuming interrupted batch work.
Copy file name to clipboardExpand all lines: Cargo.toml
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -99,6 +99,7 @@ insta = { version = "1", features = ["yaml"] }
99
99
regex = "1"
100
100
chrono = "0.4"
101
101
102
+
# [[ADR-0041]] governs package.metadata.binstall archive naming, including the Windows override in package.metadata.binstall.overrides.x86_64-pc-windows-msvc.
102
103
[package.metadata.binstall]
103
104
pkg-url = "{ repo }/releases/download/v{ version }/govctl-v{ version }-{ target }.tar.gz"
104
105
bin-dir = "govctl-v{ version }-{ target }/{ bin }{ binary-ext }"
description = "Detect when persisted loop execution plans no longer match the current Work Item dependency closure, and guide users to replan without binding loops to VCS revisions."
14
+
15
+
[[content.acceptance_criteria]]
16
+
text = "loop run rejects stale stored dependency closures before opening new work"
17
+
status = "done"
18
+
category = "fixed"
19
+
20
+
[[content.acceptance_criteria]]
21
+
text = "loop list and show expose stale loop plans without mutating local state"
22
+
status = "done"
23
+
category = "added"
24
+
25
+
[[content.acceptance_criteria]]
26
+
text = "regression tests cover stale dependency closure detection and replan repair"
0 commit comments