create-agent-rig 0.6.2 → 0.7.1
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/CHANGELOG.md +180 -0
- package/package.json +1 -1
- package/templates/agent-os/stack/node-ts/.claude/rules/node-ts.md +2 -3
- package/templates/agent-os/universal/.agents/skills/loop/SKILL.md +117 -80
- package/templates/agent-os/universal/.agents/skills/pr-ship/SKILL.md +84 -16
- package/templates/agent-os/universal/.claude/hooks/block-no-verify.mjs +23 -3
- package/templates/agent-os/universal/.claude/hooks/guard-bash.mjs +65 -7
- package/templates/agent-os/universal/.claude/hooks/guard-core-purity.mjs +2 -2
- package/templates/agent-os/universal/.claude/hooks/guard-web-boundary.mjs +2 -2
- package/templates/agent-os/universal/.claude/hooks/lib/hook-input.mjs +109 -0
- package/templates/agent-os/universal/.claude/rules/invariants.md +19 -0
- package/templates/agent-os/universal/.claude/scripts/lib/claim-records.mjs +800 -0
- package/templates/agent-os/universal/.claude/scripts/lib/revalidation-evidence.mjs +56 -0
- package/templates/agent-os/universal/.claude/scripts/lib/shell-tools.mjs +81 -0
- package/templates/agent-os/universal/.claude/scripts/preflight.mjs +19 -1
- package/templates/agent-os/universal/.claude/scripts/queue/core.mjs +17 -66
- package/templates/agent-os/universal/.claude/scripts/queue/github-issues.mjs +29 -7
- package/templates/agent-os/universal/.claude/scripts/queue/index.mjs +159 -23
- package/templates/agent-os/universal/.claude/scripts/queue/jira.mjs +41 -19
- package/templates/agent-os/universal/.claude/scripts/queue/plan-md.mjs +4 -2
- package/templates/agent-os/universal/.claude/scripts/revalidate.mjs +640 -59
- package/templates/agent-os/universal/.claude/scripts/revalidation-report.mjs +32 -15
- package/templates/agent-os/universal/.claude/scripts/run-state.mjs +180 -37
- package/templates/agent-os/universal/.claude/settings.json +1 -1
- package/templates/agent-os/universal/.claude/skills/loop/SKILL.md +117 -80
- package/templates/agent-os/universal/.claude/skills/pr-ship/SKILL.md +84 -16
- package/templates/agent-os/universal/.codex/hooks.json +1 -1
- package/templates/agent-os/universal/.rig/revalidation.json +10 -0
- package/templates/agent-os/universal/docs/decisions/codex-adapter.md +3 -2
- package/templates/agent-os/universal/docs/decisions/content-blind-revalidation.md +144 -0
- package/templates/agent-os/universal/layers.json +5 -0
- package/templates/hash-history.json +104 -29
- package/templates/release-ledger.json +3 -1
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Content-blind revalidation claims
|
|
2
|
+
|
|
3
|
+
Status: accepted
|
|
4
|
+
|
|
5
|
+
## Decision
|
|
6
|
+
|
|
7
|
+
SELECT, BEFORE_PR and BEFORE_CLOSE remain the only revalidation checkpoints.
|
|
8
|
+
They share one implementation and one durable baseline: a versioned JSON record
|
|
9
|
+
at `.rig/claims/<ticket>.json`.
|
|
10
|
+
|
|
11
|
+
The first successful SELECT creates the record and reports
|
|
12
|
+
`BASELINE_CREATED`. The task branch must add it to Git. An existing but
|
|
13
|
+
untracked record, or an absent tracked record, is `UNVERIFIABLE`; so is an
|
|
14
|
+
absent record on a resumed SELECT, BEFORE_PR or BEFORE_CLOSE. Each case stops
|
|
15
|
+
automatic progress. Pinned in the generator's
|
|
16
|
+
`test/template/content-blind-revalidation.test.ts` (absent in a generated rig)
|
|
17
|
+
› "creates a versioned content-blind claim and returns BASELINE_CREATED" and ›
|
|
18
|
+
"refuses to resume from an existing claim until Git tracks it", › "refuses a
|
|
19
|
+
deleted tracked claim in a fresh run without take-up markers", and › "refuses
|
|
20
|
+
to recreate a deleted untracked baseline with a %s" (parameterized over a
|
|
21
|
+
readable and a corrupt prior journal), plus
|
|
22
|
+
`test/template/queue-revalidation.test.ts` (absent in a generated rig) ›
|
|
23
|
+
"without a run directory it creates the durable baseline but no run evidence".
|
|
24
|
+
|
|
25
|
+
The record contains SHA-256 fingerprint sets, not source content:
|
|
26
|
+
|
|
27
|
+
- `scope` covers stable ticket scope, workflow state, dependency links and
|
|
28
|
+
configured paired repository facts. Workflow state is fingerprinted against
|
|
29
|
+
the state expected at each checkpoint. The first SELECT expects `open`.
|
|
30
|
+
A successful Jira or GitHub adapter `claim` then writes its observable state
|
|
31
|
+
(`in-progress`) into the same durable claim record as `workflowClaim`; only
|
|
32
|
+
that acknowledgement authorises the state at a resumed SELECT, BEFORE_PR or
|
|
33
|
+
BEFORE_CLOSE. The same state reached without the acknowledgement is external
|
|
34
|
+
drift and moves `scope`. PLAN.md remains `open` because its claim has no
|
|
35
|
+
observable workflow transition. A rollback or any other state also moves it.
|
|
36
|
+
- `commentary` covers comment identifiers and count. It is observed at SELECT
|
|
37
|
+
and BEFORE_PR and becomes hold-authoritative only at BEFORE_CLOSE.
|
|
38
|
+
|
|
39
|
+
Pinned in the generator suite (absent in a generated rig),
|
|
40
|
+
`test/template/content-blind-revalidation.test.ts` › "stays CURRENT
|
|
41
|
+
for marker-only movement and holds on changed scope", › "holds when the target
|
|
42
|
+
branch SHA moves without a tracker edit", › "adapters declare their observable
|
|
43
|
+
claimed workflow state", › "keeps a resumed SELECT current after the Jira
|
|
44
|
+
adapter records its own claim transition", › "GitHub claim records the durable
|
|
45
|
+
transition that makes in-progress CURRENT", › "holds claim:scope at resumed
|
|
46
|
+
SELECT for the same transition made outside the adapter", › "accepts an
|
|
47
|
+
in-progress transition performed by the Jira adapter claim operation", ›
|
|
48
|
+
"holds claim:scope when an external actor moves the item to the expected
|
|
49
|
+
claimed state", › "holds claim:scope when workflow state returns to open after
|
|
50
|
+
the Rig claim transition", and › "defers an added comment through SELECT and
|
|
51
|
+
BEFORE_PR, then holds at BEFORE_CLOSE".
|
|
52
|
+
|
|
53
|
+
`.rig/revalidation.json` is the versioned detection contract. Version 1 is a
|
|
54
|
+
pull model over run-state and journal evidence, with 24-hour accepted latency,
|
|
55
|
+
no push channel, and an explicit list of paired facts. Preflight stops when the
|
|
56
|
+
contract is absent or unsupported. Pinned in the generator suite (absent in a
|
|
57
|
+
generated rig),
|
|
58
|
+
`test/template/content-blind-revalidation.test.ts` › "preflight hard-refuses a
|
|
59
|
+
%s contract as no-detection-contract" and › "accepts the default
|
|
60
|
+
pull/run-state+journal/24h/no-push contract".
|
|
61
|
+
|
|
62
|
+
`updatedAt` take-up markers remain in run state and revalidation events for
|
|
63
|
+
compatibility and attribution. They do not decide drift, baseline creation or
|
|
64
|
+
checkpoint action. `.claude/runs/<run-id>/decisions.jsonl` and `events.jsonl`
|
|
65
|
+
remain append-only evidence for a particular run; the sibling `state.json` is a
|
|
66
|
+
mutable stop-state cache, and none of them is the cross-harness claim store.
|
|
67
|
+
Pinned in the generator suite (absent in a generated rig),
|
|
68
|
+
`test/template/queue-revalidation.test.ts` › "a moved marker stays
|
|
69
|
+
evidence-only while the tracked claim remains CURRENT". First sight versus
|
|
70
|
+
resume is reconstructed from SELECT events in the current and bounded sibling
|
|
71
|
+
run journals. An unreadable bounded journal cannot prove first sight and
|
|
72
|
+
therefore cannot authorise recreation of a missing claim. Neither can a scan
|
|
73
|
+
truncated by its entry or candidate cap: incompleteness is explicit and fails
|
|
74
|
+
closed rather than turning subset absence into first sight.
|
|
75
|
+
|
|
76
|
+
Every blocking detection has a stable content-blind id. A typed outcome names
|
|
77
|
+
that id, records whether action was required and clears only its matching
|
|
78
|
+
run-level hold. An outcome without a boolean `actionRequired` or legacy
|
|
79
|
+
`actionChanged` verdict is malformed and resolves nothing. Filesystem failures
|
|
80
|
+
are reduced to stable logical evidence before they enter a detection id, so
|
|
81
|
+
identical failures have identical ids across harness
|
|
82
|
+
checkouts. The report joins by detection id across runs and retains the
|
|
83
|
+
legacy same-run sequence join for older evidence. Pinned in the generator suite
|
|
84
|
+
(absent in a generated rig),
|
|
85
|
+
`test/template/content-blind-revalidation.test.ts` › "reuses a stable detection
|
|
86
|
+
id for the same drift at the same checkpoint", › "journals a typed resolution
|
|
87
|
+
through the existing outcome command", › "derives false-HOLD from result !=
|
|
88
|
+
CURRENT and actionRequired false, only after resolution", and › "joins a typed
|
|
89
|
+
resolution to its detection across run directories".
|
|
90
|
+
|
|
91
|
+
The run-state hold is a cache of that append-only evidence, not a deletion
|
|
92
|
+
escape hatch. Before selection, the same temporal resolver used by the report
|
|
93
|
+
reconstructs the newest unresolved blocking detection from the current run
|
|
94
|
+
journal when `state.json` has no hold. Revalidation-hold writers use the same
|
|
95
|
+
fail-closed state reader as selection, so a corrupt, symlinked or oversized
|
|
96
|
+
state file cannot be replaced while it may conceal another stop input. Contract
|
|
97
|
+
and paired-fact reads classify a pathname before opening it, stay anchored to
|
|
98
|
+
the opened file descriptor, and reject identity changes during validation.
|
|
99
|
+
Existing claim bytes are read through a bounded no-follow
|
|
100
|
+
descriptor and compared with the tracked Git object; first-baseline creation is
|
|
101
|
+
anchored to the validated claim-directory working directory so a pathname swap
|
|
102
|
+
cannot redirect the write outside the repository.
|
|
103
|
+
The directory's real path and filesystem identity are carried into the writer
|
|
104
|
+
and checked again with the persisted bytes before SELECT reports
|
|
105
|
+
`BASELINE_CREATED`; redirecting it elsewhere inside the repository is refused
|
|
106
|
+
too. Jira commentary declares whether its returned IDs cover `comment.total`;
|
|
107
|
+
an incomplete set is `UNVERIFIABLE`, never a hash of unseen IDs. GitHub CLI's
|
|
108
|
+
unpaginated `comments(first: 100)` window has no total beside it, so exactly 100
|
|
109
|
+
returned comments is also `UNVERIFIABLE`; fewer than the cap proves completion.
|
|
110
|
+
Pinned in the generator's
|
|
111
|
+
`test/template/content-blind-revalidation.test.ts` (absent in a generated rig)
|
|
112
|
+
› "stops with %s when the unresolved journal result is %s", › "%s refuses a
|
|
113
|
+
present %s state instead of replacing unknown stop inputs", › "does not accept
|
|
114
|
+
an external contract swapped in after containment validation", › "classifies a
|
|
115
|
+
contract symlink before attempting to open it", › "rejects a tracked claim %s
|
|
116
|
+
only in the worktree", and › "does not write a baseline outside
|
|
117
|
+
after the claim directory passes containment", plus › "keeps a detection
|
|
118
|
+
unresolved with %s state when its typed outcome has no boolean verdict", › "uses
|
|
119
|
+
the same id for the same missing-contract condition in two absolute roots", ›
|
|
120
|
+
"returns UNVERIFIABLE when the %s truncates prior SELECT evidence", › "refuses
|
|
121
|
+
SELECT when comment.total exceeds the returned comment ids", › "refuses SELECT
|
|
122
|
+
when the transport returns exactly its 100-comment window without a total", and
|
|
123
|
+
› "does not write through an in-repository claim-directory symlink swapped after
|
|
124
|
+
validation".
|
|
125
|
+
|
|
126
|
+
BEFORE_CLOSE proves the tracker state it observed; the later tracker transition
|
|
127
|
+
is a separate API operation. Without a tracker-supplied conditional transition
|
|
128
|
+
or transaction token, this mechanism cannot make those two remote operations
|
|
129
|
+
atomic. A future adapter may consume such a native primitive, but this decision
|
|
130
|
+
does not invent one or treat `updatedAt` as a substitute authority.
|
|
131
|
+
|
|
132
|
+
## Why
|
|
133
|
+
|
|
134
|
+
Tracker timestamps conflate scope edits, comments and workflow transitions.
|
|
135
|
+
They caused false holds on the rig's own writes and cannot survive a harness or
|
|
136
|
+
run boundary as a durable semantic claim. Content-blind sets preserve privacy,
|
|
137
|
+
make each kind of drift explicit and keep the existing checkpoint chain as the
|
|
138
|
+
single authority.
|
|
139
|
+
|
|
140
|
+
## Rollback
|
|
141
|
+
|
|
142
|
+
Revert the mechanism, contract and claim records together. Do not restore
|
|
143
|
+
`updatedAt` as a second authority beside claims: two engines can disagree at a
|
|
144
|
+
checkpoint, which makes neither result safe to automate.
|
|
@@ -47,9 +47,12 @@
|
|
|
47
47
|
".claude/scripts/revalidate.mjs",
|
|
48
48
|
".claude/scripts/revalidation-report.mjs",
|
|
49
49
|
".claude/scripts/lib/gate-coverage.mjs",
|
|
50
|
+
".claude/scripts/lib/claim-records.mjs",
|
|
51
|
+
".claude/scripts/lib/revalidation-evidence.mjs",
|
|
50
52
|
".claude/scripts/lib/revalidation-points.mjs",
|
|
51
53
|
".claude/scripts/lib/verdict.mjs",
|
|
52
54
|
".claude/scripts/lib/secrets.mjs",
|
|
55
|
+
".claude/scripts/lib/shell-tools.mjs",
|
|
53
56
|
".claude/scripts/queue/core.mjs",
|
|
54
57
|
".claude/scripts/queue/plan-md.mjs",
|
|
55
58
|
".claude/scripts/queue/github-issues.mjs",
|
|
@@ -60,12 +63,14 @@
|
|
|
60
63
|
".claude/scripts/queue/state.mjs",
|
|
61
64
|
".claude/scripts/queue/gate-rounds.mjs",
|
|
62
65
|
".claude/queue.json",
|
|
66
|
+
".rig/revalidation.json",
|
|
63
67
|
"PLAN.md",
|
|
64
68
|
"journal/README.md",
|
|
65
69
|
"docs/decisions/gate-coverage.md",
|
|
66
70
|
"docs/decisions/fail-open-guards.md",
|
|
67
71
|
"docs/decisions/codex-adapter.md",
|
|
68
72
|
"docs/decisions/closing-a-task.md",
|
|
73
|
+
"docs/decisions/content-blind-revalidation.md",
|
|
69
74
|
"docs/decisions/review-lanes.md",
|
|
70
75
|
"docs/decisions/run-directory.md",
|
|
71
76
|
"docs/decisions/spacing-rations-mechanisms.md",
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
"0.4.0",
|
|
8
8
|
"0.5.0",
|
|
9
9
|
"0.6.0",
|
|
10
|
-
"0.6.1"
|
|
10
|
+
"0.6.1",
|
|
11
|
+
"0.6.2",
|
|
12
|
+
"0.7.0"
|
|
11
13
|
],
|
|
12
14
|
"files": {
|
|
13
15
|
".agents/skills/check-premises/SKILL.md": {
|
|
@@ -22,7 +24,9 @@
|
|
|
22
24
|
"hashes": [
|
|
23
25
|
"eb52ef41269018107534d8dc2f552c57698e1677a1e76b5e666b5d09c007cac0",
|
|
24
26
|
"47922b182915cb92696f851174f2e88c4ae8c67dc119ef39a3a597ef1300fab5",
|
|
25
|
-
"57f6add0504db45e7577474f97705fe474310e4cd3310cdb348a2c64eabe88cd"
|
|
27
|
+
"57f6add0504db45e7577474f97705fe474310e4cd3310cdb348a2c64eabe88cd",
|
|
28
|
+
"18f4300de4c4c7ea380d726fb109fa224da950ef0a4cea5015ab1d408b823be5",
|
|
29
|
+
"0a1b6575f6df8139766c8e71ba7320e14d2a5a5ed8ab26b6b43f7a006153d37d"
|
|
26
30
|
]
|
|
27
31
|
},
|
|
28
32
|
".agents/skills/new-invariant/SKILL.md": {
|
|
@@ -54,7 +58,8 @@
|
|
|
54
58
|
"since": "0.5.0",
|
|
55
59
|
"hashes": [
|
|
56
60
|
"a2fb0d03c65701af9d2d69cbcb2582ae573f097b1e1071eb2916e5e4f7832b37",
|
|
57
|
-
"9616e4767942b2021e34ab7bb76eec9a5c280cc608a0756abb02743741d5fc8a"
|
|
61
|
+
"9616e4767942b2021e34ab7bb76eec9a5c280cc608a0756abb02743741d5fc8a",
|
|
62
|
+
"a6340b95a03000b89fb27f5357cdd9c7ec12b714054b5334b61a30da600405e8"
|
|
58
63
|
]
|
|
59
64
|
},
|
|
60
65
|
".agents/skills/ro-debug/SKILL.md": {
|
|
@@ -114,7 +119,9 @@
|
|
|
114
119
|
"since": "0.2.0",
|
|
115
120
|
"hashes": [
|
|
116
121
|
"c7c86de47b601dcb594ba8d8e23b5624ef8d47dafeddbc1aadd351c72e051d83",
|
|
117
|
-
"ece5a81db41bd48695a1a009239837b682d247baf6d19214eaa859a7519ab246"
|
|
122
|
+
"ece5a81db41bd48695a1a009239837b682d247baf6d19214eaa859a7519ab246",
|
|
123
|
+
"1646ed80de5268a886a2e861124cb3b871fa46df1857991a645667601f52253b",
|
|
124
|
+
"3d7bcbccd9a163f076bd1d8cc63021b7c8605d1cb1df24a3536db3e57c1d7630"
|
|
118
125
|
]
|
|
119
126
|
},
|
|
120
127
|
".claude/hooks/dod-checks.json": {
|
|
@@ -130,7 +137,8 @@
|
|
|
130
137
|
"9fb8fad4d95756fb2424a97550aa85dfab0ca8dbcf91e6d0385263ba3b929135",
|
|
131
138
|
"7852205961cb1647b49de5f7e79820c1735b4be897adcf8f5bc3eeb49318ff78",
|
|
132
139
|
"33edb11904e5c4f88626b41c7e649b85d20957a11ff7e1062538917647c3e7f0",
|
|
133
|
-
"19202a28355dac1d7a95d29411668cf970006b3044d89a772768ce21793931aa"
|
|
140
|
+
"19202a28355dac1d7a95d29411668cf970006b3044d89a772768ce21793931aa",
|
|
141
|
+
"d2af03ed141fadd0b1e69b230b9277e8f03169757a8e2a679767653ab7828d9a"
|
|
134
142
|
]
|
|
135
143
|
},
|
|
136
144
|
".claude/hooks/guard-bash.mjs": {
|
|
@@ -138,42 +146,51 @@
|
|
|
138
146
|
"hashes": [
|
|
139
147
|
"4d396f412fc53094188b14348c5af4e79c7542a182630c20c4687d79899c5b0e",
|
|
140
148
|
"e7a513216ebbceaa7f11ec8fb611de8bb5d5925dfdfd75b779dcb7c0ee6e83cc",
|
|
141
|
-
"78047f42dda65076dd2cdb73ad530553db3d4a6f3ea7f0729590ac7286323cb1"
|
|
149
|
+
"78047f42dda65076dd2cdb73ad530553db3d4a6f3ea7f0729590ac7286323cb1",
|
|
150
|
+
"5782d91c6c54155ad8bf3e107b6574b3ad4c97baa7be673a5ed252c70b387300",
|
|
151
|
+
"5ffaba69ffc9b6c39cd3c97c4f29b44627416d55793b50aa1a26ffe5efc45497"
|
|
142
152
|
]
|
|
143
153
|
},
|
|
144
154
|
".claude/hooks/guard-core-purity.mjs": {
|
|
145
155
|
"since": "0.2.0",
|
|
146
156
|
"hashes": [
|
|
147
157
|
"e36fbb92ee8395c6686fef582f29f2701747074b3b781bed42fe068f5c000bd7",
|
|
148
|
-
"282faa364c2d152808cd92ff7e39da26fd0549a5b2d0af9711d3453be2c666eb"
|
|
158
|
+
"282faa364c2d152808cd92ff7e39da26fd0549a5b2d0af9711d3453be2c666eb",
|
|
159
|
+
"4bdd9a38b1aa4050c109f7809ef924be4d411f5720b6030d57c5264ce3df556d",
|
|
160
|
+
"15de3ae9a6007270f7b10d71ff9940160aadabd8f5b0995662fc324c483807e5"
|
|
149
161
|
]
|
|
150
162
|
},
|
|
151
163
|
".claude/hooks/guard-rulebook.mjs": {
|
|
152
164
|
"since": "0.6.0",
|
|
153
165
|
"hashes": [
|
|
154
166
|
"4524d715f2e41f4cfdd3d0f9c858817f913aaca5192bda97dff876b4d8c51f19",
|
|
155
|
-
"f9e3e4b7c22c4a64f521402419707ff382b05c8deb6310f62e5545db87f7cb4f"
|
|
167
|
+
"f9e3e4b7c22c4a64f521402419707ff382b05c8deb6310f62e5545db87f7cb4f",
|
|
168
|
+
"493ae58e54b055bd13ba992ee0dbfa2cb9ce9a3637ec345ab8d7cfff95831c60"
|
|
156
169
|
]
|
|
157
170
|
},
|
|
158
171
|
".claude/hooks/guard-secret-file.mjs": {
|
|
159
172
|
"since": "0.5.0",
|
|
160
173
|
"hashes": [
|
|
161
174
|
"f6b81cb7640924d2e56aced58e6b48f65df6638fb5a9099985fe5d673245c3ad",
|
|
162
|
-
"8c333879dba1f2bf87bbb8e7b257ac51315a74a4cb45252408ca615e2a42d7b5"
|
|
175
|
+
"8c333879dba1f2bf87bbb8e7b257ac51315a74a4cb45252408ca615e2a42d7b5",
|
|
176
|
+
"5bf2896ec5e5f94fab20b52cd22418a4392778b40744602a087e320eeca3f688"
|
|
163
177
|
]
|
|
164
178
|
},
|
|
165
179
|
".claude/hooks/guard-web-boundary.mjs": {
|
|
166
180
|
"since": "0.2.0",
|
|
167
181
|
"hashes": [
|
|
168
182
|
"93d4fa0fd1c18261cc8ef2b1ae2abe3a0200cc4b5a7b1d1d4ae433ca92c514b1",
|
|
169
|
-
"8deda7061122b69d72e708222ef2d38a971bb713269ec7fd1ca3440fe0a1150f"
|
|
183
|
+
"8deda7061122b69d72e708222ef2d38a971bb713269ec7fd1ca3440fe0a1150f",
|
|
184
|
+
"df325e672793e06b8315e64b59a329775d110fc166176074ff3bb8dea557c561",
|
|
185
|
+
"60959520dbe326880d284c9e2b76a2a89f72b981ea6a2cb76e2a252b1233bdfc"
|
|
170
186
|
]
|
|
171
187
|
},
|
|
172
188
|
".claude/hooks/inject-rules.mjs": {
|
|
173
189
|
"since": "0.2.0",
|
|
174
190
|
"hashes": [
|
|
175
191
|
"c472419f1076ea3707d640cd5246c0e69a94c55455f6648e2cbaf300a382c8df",
|
|
176
|
-
"17c299ea4c6202745a3f8813aaef7711eb9030bf0a220cca77b58cac98c95940"
|
|
192
|
+
"17c299ea4c6202745a3f8813aaef7711eb9030bf0a220cca77b58cac98c95940",
|
|
193
|
+
"860a5d4ba02b59971f80bf79a9081f48f11022d46fe66b0470f0abc4ed9633e4"
|
|
177
194
|
]
|
|
178
195
|
},
|
|
179
196
|
".claude/hooks/lib/edit-input.mjs": {
|
|
@@ -184,6 +201,13 @@
|
|
|
184
201
|
"572c671f8f2cad190fe2f144071954ac4d3b1357cab80a19bad584dd3b3768c8"
|
|
185
202
|
]
|
|
186
203
|
},
|
|
204
|
+
".claude/hooks/lib/hook-input.mjs": {
|
|
205
|
+
"since": "0.6.2",
|
|
206
|
+
"hashes": [
|
|
207
|
+
"c40320d90e9585a52026e074e399b6883a0dfed704115b28e8da4dea284cf85f",
|
|
208
|
+
"3be3d4af4a25536d2a2bac0441a1370be7efafb5f8aa737b195bdce77db0091b"
|
|
209
|
+
]
|
|
210
|
+
},
|
|
187
211
|
".claude/queue.json": {
|
|
188
212
|
"since": "0.3.0",
|
|
189
213
|
"hashes": [
|
|
@@ -221,14 +245,16 @@
|
|
|
221
245
|
"518d9b3d7cbae50f30c86d33b2b4bbea11ab3ba6cfef270876e92604b2af5f50",
|
|
222
246
|
"389484f0846c3dd8207c0f41bd56409103fbcc7f58b94b1bf4bd1d81b5af0e87",
|
|
223
247
|
"a2e10499a0bcd2cdc32f3986d27b59077c86e524d40323faabb2e5d78afc002c",
|
|
224
|
-
"c94c33d7ccbd46f191948325dfc7f68ce13b0d3a9470215de1de3f06b1499111"
|
|
248
|
+
"c94c33d7ccbd46f191948325dfc7f68ce13b0d3a9470215de1de3f06b1499111",
|
|
249
|
+
"ce90c1e697fdd444ca3fe2203d7991645f2c284c413ae187e4d6d6c618af52c9"
|
|
225
250
|
]
|
|
226
251
|
},
|
|
227
252
|
".claude/rules/node-ts.md": {
|
|
228
253
|
"since": "0.2.0",
|
|
229
254
|
"hashes": [
|
|
230
255
|
"3db68a4280cc30655be56fed9385179c378f560f3df55e21952a24066427e845",
|
|
231
|
-
"be3b7bf901ef250b5957a37815b9a339083f7a8c4ecc866aeb12e3a0797c3c09"
|
|
256
|
+
"be3b7bf901ef250b5957a37815b9a339083f7a8c4ecc866aeb12e3a0797c3c09",
|
|
257
|
+
"b74979a3a1e57b69a6e1b3ee2d0cf9fc671d4487c411dc947e9ad0a47ac56dd1"
|
|
232
258
|
]
|
|
233
259
|
},
|
|
234
260
|
".claude/rules/workflow.md": {
|
|
@@ -269,12 +295,24 @@
|
|
|
269
295
|
"b022399f287cdce1bcb07329c0aab44bf99714b5f0515f274c962f41ea072b86"
|
|
270
296
|
]
|
|
271
297
|
},
|
|
298
|
+
".claude/scripts/lib/claim-records.mjs": {
|
|
299
|
+
"since": "0.7.0",
|
|
300
|
+
"hashes": [
|
|
301
|
+
"acb1d5702a826832977e7eb01b76c50cab19292528901f1b33693e561dbb0a24"
|
|
302
|
+
]
|
|
303
|
+
},
|
|
272
304
|
".claude/scripts/lib/gate-coverage.mjs": {
|
|
273
305
|
"since": "0.6.0",
|
|
274
306
|
"hashes": [
|
|
275
307
|
"1ef7f355071a747d8a8d9cd5e2072a19fe3d8c11a0e2a5f884d95a33fb95f12d"
|
|
276
308
|
]
|
|
277
309
|
},
|
|
310
|
+
".claude/scripts/lib/revalidation-evidence.mjs": {
|
|
311
|
+
"since": "0.7.0",
|
|
312
|
+
"hashes": [
|
|
313
|
+
"513369213374cf2c5415c7d5ea1f6d5c67300c77cec7af3e9190e710b156969f"
|
|
314
|
+
]
|
|
315
|
+
},
|
|
278
316
|
".claude/scripts/lib/revalidation-points.mjs": {
|
|
279
317
|
"since": "0.6.0",
|
|
280
318
|
"hashes": [
|
|
@@ -289,6 +327,12 @@
|
|
|
289
327
|
"60fab2cc9f2028bccf6139e6a744406b4a86a9039d1367f3cef409902e9b327d"
|
|
290
328
|
]
|
|
291
329
|
},
|
|
330
|
+
".claude/scripts/lib/shell-tools.mjs": {
|
|
331
|
+
"since": "0.7.0",
|
|
332
|
+
"hashes": [
|
|
333
|
+
"402428f4b2c4e507652d775e43b26c1e0a74aadb2cedec3156ac186af17d667a"
|
|
334
|
+
]
|
|
335
|
+
},
|
|
292
336
|
".claude/scripts/lib/verdict.mjs": {
|
|
293
337
|
"since": "0.5.0",
|
|
294
338
|
"hashes": [
|
|
@@ -302,7 +346,8 @@
|
|
|
302
346
|
"21083ff7baeebf8aedbdf85679a353f671276a9e0201a58a8235ae63f55f081c",
|
|
303
347
|
"ceb6d35fa028f9c5e5e2d5965c627095d5ba80c37191a584627b4bc645b6be15",
|
|
304
348
|
"efa193dc543237d82dcb371fa1df6483ccd43c1db88d0e218f5d89769564974c",
|
|
305
|
-
"bed44df40412a7edac96914de21edc796df604ddc275ff1a02764dfcc4d4ede7"
|
|
349
|
+
"bed44df40412a7edac96914de21edc796df604ddc275ff1a02764dfcc4d4ede7",
|
|
350
|
+
"b3893c365de37ef6d9d04ab933296b9fcf09a0886197d7e12313fa63eacdbd89"
|
|
306
351
|
]
|
|
307
352
|
},
|
|
308
353
|
".claude/scripts/queue/as-of.mjs": {
|
|
@@ -324,7 +369,8 @@
|
|
|
324
369
|
"214f36e39f3809da5a121f404005d16a694280ca672ed10150b1b07d47912f6a",
|
|
325
370
|
"d8a5916bae71efcc6a21978af713112c9ec33a7554fd07f5978bdf2c3633b560",
|
|
326
371
|
"1804c2351a4f3042dc6a3fb4203f96e98ae12bec32569b99bda77d002d6ba5f2",
|
|
327
|
-
"b81ae3181e02b9c1c3f0e954688490ab3db3961381c2dc397c47c651c9d07f88"
|
|
372
|
+
"b81ae3181e02b9c1c3f0e954688490ab3db3961381c2dc397c47c651c9d07f88",
|
|
373
|
+
"c9902da15d06de3e952352115db0288433520eae2caac1f70ee6e06753d1f444"
|
|
328
374
|
]
|
|
329
375
|
},
|
|
330
376
|
".claude/scripts/queue/gate-rounds.mjs": {
|
|
@@ -339,7 +385,8 @@
|
|
|
339
385
|
"f473f0ee5fc469f47b2b21ee601310944faa1abed21942e97ed251aba826cd5d",
|
|
340
386
|
"86489ac7fcd06e43e31fb3d0ac9ab23174ef9c95196b08f127f1ae74da620c0c",
|
|
341
387
|
"f84148fee47109a388a248c51d3eb40919ce341785b561dd4135b69c6fedabf3",
|
|
342
|
-
"5ab8f741f17efb935b11caf245edf2b562cb887020c2a43d45464158342c933a"
|
|
388
|
+
"5ab8f741f17efb935b11caf245edf2b562cb887020c2a43d45464158342c933a",
|
|
389
|
+
"b5349837d16de0966139f5b65e2800486592f1b24d7e87087c2b7212cead479d"
|
|
343
390
|
]
|
|
344
391
|
},
|
|
345
392
|
".claude/scripts/queue/index.mjs": {
|
|
@@ -348,7 +395,8 @@
|
|
|
348
395
|
"cd149245dc29ef7489ae0e5394fa5a063dea2cc017bd3cbbface1ace6f8d7b46",
|
|
349
396
|
"7db3c17b781e6876b4822afd09e6affa97e46607b63d443975d987daf1f14464",
|
|
350
397
|
"9edd70b5960f367958e8e7500150b4edd285c99869cca803e40e0537d2d347b0",
|
|
351
|
-
"4cf917ac06708e1068dfe9f8bbebc9376c4748526bd669b9bea32929ba996d0a"
|
|
398
|
+
"4cf917ac06708e1068dfe9f8bbebc9376c4748526bd669b9bea32929ba996d0a",
|
|
399
|
+
"b4a0789be7ad4b401de872edb06665bca349048178b4dd6c5db848ca44f7c977"
|
|
352
400
|
]
|
|
353
401
|
},
|
|
354
402
|
".claude/scripts/queue/jira.mjs": {
|
|
@@ -358,7 +406,9 @@
|
|
|
358
406
|
"86591a48b9264d641c2530238ea3720705f12e17af2ec8dccecabfa3a742a2e7",
|
|
359
407
|
"13c301f828d4402fcf81e7e0b2b1d22472cbdb50f6fd606770056af4ec215e51",
|
|
360
408
|
"b8be5855809c0d44ece94858456098663296c17c5ad9abb1ea2cf1a8f48ca491",
|
|
361
|
-
"3fc8ff9a06a2e22355a660a31e2943a97f50869f7e5726f768a7931d17b64b5b"
|
|
409
|
+
"3fc8ff9a06a2e22355a660a31e2943a97f50869f7e5726f768a7931d17b64b5b",
|
|
410
|
+
"f44203af187e855b9f738f8dbedfd313abf9d6a5cc29182fb46cd58d70698d7a",
|
|
411
|
+
"c2f2af8ac5eadd8d35a15bcdeffe585e32c6f99b4e6ab9ace0f9d7fd9d694943"
|
|
362
412
|
]
|
|
363
413
|
},
|
|
364
414
|
".claude/scripts/queue/plan-md.mjs": {
|
|
@@ -367,7 +417,8 @@
|
|
|
367
417
|
"d137dad23f263b1a12b04b46625247fea648ded36d0fea7c5b4e4f2211a142eb",
|
|
368
418
|
"07eab69bd86b19b7a1f01eb14efe4f8c007481806cbe029d4014fe9bf0703000",
|
|
369
419
|
"27d7ae3832a32219d5c0ab136bc542388eb686e9f34053c3058104cdeea1574d",
|
|
370
|
-
"1320909605824b2cd1ff57878e463ef360463b2b175d2152638eda2dff72f5ea"
|
|
420
|
+
"1320909605824b2cd1ff57878e463ef360463b2b175d2152638eda2dff72f5ea",
|
|
421
|
+
"816aec4cb84492370972f71813a9fec7c0309e5f501951a93620a37cb318ac39"
|
|
371
422
|
]
|
|
372
423
|
},
|
|
373
424
|
".claude/scripts/queue/state.mjs": {
|
|
@@ -386,14 +437,16 @@
|
|
|
386
437
|
"since": "0.6.0",
|
|
387
438
|
"hashes": [
|
|
388
439
|
"32f847a2a3a5136cabcb42f6447da9f8cf98e2d20512212ee5201461128d7798",
|
|
389
|
-
"b62348a27bcaa1d62a0e4ddd53873fab6cb75f9af8e8c69d24f6ce81c592c4e3"
|
|
440
|
+
"b62348a27bcaa1d62a0e4ddd53873fab6cb75f9af8e8c69d24f6ce81c592c4e3",
|
|
441
|
+
"b151045e8083c398e94571b35dc9568dfa0102abcb847cdf764f6f694914d53e"
|
|
390
442
|
]
|
|
391
443
|
},
|
|
392
444
|
".claude/scripts/revalidation-report.mjs": {
|
|
393
445
|
"since": "0.6.0",
|
|
394
446
|
"hashes": [
|
|
395
447
|
"b99a3537158c2851698bfac027f7061811d7d428c3eea57f3ce0f58ea75dc249",
|
|
396
|
-
"78adac5c8f696f2c9cc86f404abf1d55604ccb10f11dd612501c14d4cf5935b1"
|
|
448
|
+
"78adac5c8f696f2c9cc86f404abf1d55604ccb10f11dd612501c14d4cf5935b1",
|
|
449
|
+
"fed627d2c8f0f5e6a4524b7015ac7a1cb5051a8c316ff4544af18be9c61eb163"
|
|
397
450
|
]
|
|
398
451
|
},
|
|
399
452
|
".claude/scripts/run-journal.mjs": {
|
|
@@ -406,7 +459,8 @@
|
|
|
406
459
|
"since": "0.5.0",
|
|
407
460
|
"hashes": [
|
|
408
461
|
"5682b4ef1e63b83e1398da4959d8b34f52aede38f896557c041687d101df015f",
|
|
409
|
-
"82c83fe9a66ff1a48c9e23fdfe84eef7da0de337c420e8d870085e7078d6f5e2"
|
|
462
|
+
"82c83fe9a66ff1a48c9e23fdfe84eef7da0de337c420e8d870085e7078d6f5e2",
|
|
463
|
+
"c502cefafdc720d178de685e8372d2c140cb2663517c9d88b5345a9f0c50d0de"
|
|
410
464
|
]
|
|
411
465
|
},
|
|
412
466
|
".claude/scripts/stop-flag.mjs": {
|
|
@@ -420,7 +474,8 @@
|
|
|
420
474
|
"since": "0.6.0",
|
|
421
475
|
"hashes": [
|
|
422
476
|
"060b001927d8b471f1c1a8c8851fbb4266d3b2edd674cccbd6c16c44b57b91dd",
|
|
423
|
-
"7721ee19fd1bcf6902be3d359def40742d79b88f5d83e7e3ca22ba45ca3211aa"
|
|
477
|
+
"7721ee19fd1bcf6902be3d359def40742d79b88f5d83e7e3ca22ba45ca3211aa",
|
|
478
|
+
"250292c9959916240bfc0fdf5987a864f6d54799de3d932dc6b85b776e62eaa9"
|
|
424
479
|
]
|
|
425
480
|
},
|
|
426
481
|
".claude/scripts/verdict.mjs": {
|
|
@@ -436,7 +491,8 @@
|
|
|
436
491
|
"48212660b2823725c2c9ee785ad739701e4c0e4733b275201a544df1abba28d0",
|
|
437
492
|
"55a6938b4d9967291a26e93301e34e5ffdef74a88f8c773a4d11b5d87d864fff",
|
|
438
493
|
"713718fbb2cda132f05665b29b8f1108a6305729b5e7c789d2053d117c13e08e",
|
|
439
|
-
"e588ab05bee707a099c80c9ea399008be31488e616f3db3c0598f66f3d1b3a52"
|
|
494
|
+
"e588ab05bee707a099c80c9ea399008be31488e616f3db3c0598f66f3d1b3a52",
|
|
495
|
+
"a180578d6e6de6a21900ff2f8a8ade2242170d16d2dd95574e5004435d870b9b"
|
|
440
496
|
]
|
|
441
497
|
},
|
|
442
498
|
".claude/skills/check-premises/SKILL.md": {
|
|
@@ -456,7 +512,9 @@
|
|
|
456
512
|
"e442ca58c4249ac10d5759bba2d8360544642e03b2b158e6253e71f5be3767fb",
|
|
457
513
|
"eb52ef41269018107534d8dc2f552c57698e1677a1e76b5e666b5d09c007cac0",
|
|
458
514
|
"47922b182915cb92696f851174f2e88c4ae8c67dc119ef39a3a597ef1300fab5",
|
|
459
|
-
"57f6add0504db45e7577474f97705fe474310e4cd3310cdb348a2c64eabe88cd"
|
|
515
|
+
"57f6add0504db45e7577474f97705fe474310e4cd3310cdb348a2c64eabe88cd",
|
|
516
|
+
"18f4300de4c4c7ea380d726fb109fa224da950ef0a4cea5015ab1d408b823be5",
|
|
517
|
+
"0a1b6575f6df8139766c8e71ba7320e14d2a5a5ed8ab26b6b43f7a006153d37d"
|
|
460
518
|
]
|
|
461
519
|
},
|
|
462
520
|
".claude/skills/new-invariant/SKILL.md": {
|
|
@@ -491,7 +549,8 @@
|
|
|
491
549
|
"368a50be809f7be865d6d29ab3e54b9d69acd2ea3ba7929c0edeef161c2521b7",
|
|
492
550
|
"75adb84414a330db621ff4f1363b3926f537133199236a9e25bb9880b935e02e",
|
|
493
551
|
"a2fb0d03c65701af9d2d69cbcb2582ae573f097b1e1071eb2916e5e4f7832b37",
|
|
494
|
-
"9616e4767942b2021e34ab7bb76eec9a5c280cc608a0756abb02743741d5fc8a"
|
|
552
|
+
"9616e4767942b2021e34ab7bb76eec9a5c280cc608a0756abb02743741d5fc8a",
|
|
553
|
+
"a6340b95a03000b89fb27f5357cdd9c7ec12b714054b5334b61a30da600405e8"
|
|
495
554
|
]
|
|
496
555
|
},
|
|
497
556
|
".claude/skills/ro-debug/SKILL.md": {
|
|
@@ -545,7 +604,15 @@
|
|
|
545
604
|
"since": "0.5.0",
|
|
546
605
|
"hashes": [
|
|
547
606
|
"c676647d585ec87427545a391598706ecaa74dfe413a7e05877e336bf8942874",
|
|
548
|
-
"89d999c068ef5b6e48913c15a165359e66b1f505b9f97c145d8c730cbf42d09a"
|
|
607
|
+
"89d999c068ef5b6e48913c15a165359e66b1f505b9f97c145d8c730cbf42d09a",
|
|
608
|
+
"1fc2fc35b04fa4ad0859841af72f45695bc346d1a1a9b20ba5d971d48888a910",
|
|
609
|
+
"fa9a34eb9f889910e55269b76172608b989d553583de38af34316a31f4ad570b"
|
|
610
|
+
]
|
|
611
|
+
},
|
|
612
|
+
".rig/revalidation.json": {
|
|
613
|
+
"since": "0.7.0",
|
|
614
|
+
"hashes": [
|
|
615
|
+
"312b59f80fcbcf2897ef80fb54be236fb6b2b1745f705dae8e66c58f0bbd3099"
|
|
549
616
|
]
|
|
550
617
|
},
|
|
551
618
|
"AGENTS.md": {
|
|
@@ -583,7 +650,14 @@
|
|
|
583
650
|
"docs/decisions/codex-adapter.md": {
|
|
584
651
|
"since": "0.5.0",
|
|
585
652
|
"hashes": [
|
|
586
|
-
"30e55d866d9a2c7359e594181070c63b1974d9df36e000caf419229284303a2e"
|
|
653
|
+
"30e55d866d9a2c7359e594181070c63b1974d9df36e000caf419229284303a2e",
|
|
654
|
+
"ebf0ef61407944373c862d37e6a80d4965ece72304b931428c6b3fcc5d9527c4"
|
|
655
|
+
]
|
|
656
|
+
},
|
|
657
|
+
"docs/decisions/content-blind-revalidation.md": {
|
|
658
|
+
"since": "0.7.0",
|
|
659
|
+
"hashes": [
|
|
660
|
+
"d640a152428ea4cc6a5f0a19be58e0d23f3a99c44b0ad0b72152ec7b48fe5bfd"
|
|
587
661
|
]
|
|
588
662
|
},
|
|
589
663
|
"docs/decisions/fail-open-guards.md": {
|
|
@@ -613,7 +687,8 @@
|
|
|
613
687
|
"docs/decisions/spacing-rations-mechanisms.md": {
|
|
614
688
|
"since": "0.5.0",
|
|
615
689
|
"hashes": [
|
|
616
|
-
"883852ffc14b9f0b6101f67b7045567056d2c5630e79391a6e542d6d3854095a"
|
|
690
|
+
"883852ffc14b9f0b6101f67b7045567056d2c5630e79391a6e542d6d3854095a",
|
|
691
|
+
"5894f8aa613fbbba0f125c871b2a91d9cc5bd9dd6a3fe4c8fd9d8a06aa8839b8"
|
|
617
692
|
]
|
|
618
693
|
},
|
|
619
694
|
"docs/decisions/stop-conditions-in-a-file.md": {
|
|
@@ -7,5 +7,7 @@
|
|
|
7
7
|
"0.4.0": "c77c6c3e5d991a55b733a05a3b5ae01e2a55e578",
|
|
8
8
|
"0.5.0": "d78d0e77307a2be128de46ff4f64e3c146b5df2b",
|
|
9
9
|
"0.6.0": "29ca0543368e922349945e52541a92b46ddcc5bd",
|
|
10
|
-
"0.6.1": "f1d1e3dbd2161545d77ee5e7f90fa8e74b8a9f3e"
|
|
10
|
+
"0.6.1": "f1d1e3dbd2161545d77ee5e7f90fa8e74b8a9f3e",
|
|
11
|
+
"0.6.2": "2a1fc8e10cd2b65deb5c95d937fd7de39f2c92a2",
|
|
12
|
+
"0.7.0": "6589db36e1daa63a99ec595191db1cccf7373196"
|
|
11
13
|
}
|