@afokapu/atdd-bun 0.10.64 → 0.10.66

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
@@ -165,7 +165,7 @@ When an existing exact main has debt under a smaller explicit profile list, a se
165
165
  bun run atdd-bun --profile flow,traceability --ratchet --ratchet-activate-profiles --base <40-character-reviewed-main-sha>
166
166
  ```
167
167
 
168
- This is an activation-only exception to the ordinary equal-context rule, not a baseline migration. It requires an explicit candidate `profiles:` list, an explicit base list that is a strict subset of it, and identical non-profile policy/configuration. A removal, implicit/default-list adoption, unrelated configuration change, dirty tree, unavailable/non-ancestor base, or omission of `--ratchet-activate-profiles` fails closed. The command stores no activation state or accepted findings; after the governed expansion lands, use ordinary `--ratchet` with exact matching context. Strict non-ratchet enforcement remains unchanged.
168
+ This is an activation-only exception to the ordinary equal-context rule, not a baseline migration. It requires an explicit candidate `profiles:` list, a base whose effective profile set (its explicit list, or the implicit default set when it has none) is a strict subset of it, and identical non-profile policy/configuration. A removal, implicit/default-list candidate adoption, unrelated configuration change, dirty tree, unavailable/non-ancestor base, or omission of `--ratchet-activate-profiles` fails closed. The command stores no activation state or accepted findings; after the governed expansion lands, use ordinary `--ratchet` with exact matching context. Strict non-ratchet enforcement remains unchanged.
169
169
 
170
170
  ### Generated exact-base commit gate
171
171
 
package/integrity.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
- "version": "0.10.64",
2
+ "version": "0.10.66",
3
3
  "files": {
4
4
  "HOOK_AUDIT.md": "5329d840db37671b1918f688ead26865473b87db73dbc75f7c8b2a8bbe8d6d43",
5
5
  "PLANNER_PORT.md": "fb5935bac8b7ac18994de21e43ace3a5ef8cd55f85b0e3349fca261280054f11",
6
- "README.md": "207414ffc3947dcdc5fc778df63f3e870a5b6cca283e68751e439eed2c03fb0a",
6
+ "README.md": "573f4373f3d6fa4c76e6ec5b593792e56a9c73e853e9990c53567292003b5250",
7
7
  "bunfig.toml": "b9fc65eca9014c5179380259d70e76385a6a80788fa9a2df5fb3eaa5554fd2fe",
8
8
  "conventions/_profiles/architecture.yaml": "f1808768b720a4e476047e4a0912002ca673946562cea9aeef5d0c214828d93a",
9
9
  "conventions/_profiles/coder.yaml": "3fb191556a64c9ebcf249516afa189afca24da9b22fd40b2fc66908196cdfb78",
@@ -1269,7 +1269,7 @@
1269
1269
  "src/planner-schema-validator.ts": "ce529c0936171075e93c7539b3655fe895a98dd2973ebda5775958e6ebc316d9",
1270
1270
  "src/planner-validators.ts": "99adeb65f579af923c11f21a8f55cfb9993b007fd8df59c5f764696b55379cfc",
1271
1271
  "src/profile-registry.ts": "5a7761d324181ae27deb51f198d63648a4c99e858b4de98b54d35e6cf8a39fe7",
1272
- "src/ratchet.ts": "801038b182615ed883197e0e29c98da9ac5f81bf4db4eb36b989065e32c99b6b",
1272
+ "src/ratchet.ts": "909b47124863287cbf6b02237b70fd50d82522d5029b2ae900c371d2ea2287a2",
1273
1273
  "src/register.ts": "6a2f1c6b8df0dc9c8f45df8ec9fac2be29044e048b08c8ffe423410e94dadedd",
1274
1274
  "src/release.ts": "7b0fe444ee81f476f53b9c21b6c347ef588ee616c60211419cf984132be768ba",
1275
1275
  "src/setup.ts": "c6804f699808c01a849ea46489b0e9feab7991da4cb62a29edd439423e0a88c0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@afokapu/atdd-bun",
3
- "version": "0.10.64",
3
+ "version": "0.10.66",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/afokapu/atdd-bun.git"
package/src/ratchet.ts CHANGED
@@ -41,15 +41,17 @@ export function findingFingerprint(finding: FindingIdentity): string {
41
41
  return sha256({ format: "atdd-bun.finding-fingerprint/v1", rule_id: finding.rule_id, path, subject });
42
42
  }
43
43
 
44
- /** The selected profiles and every policy key except ratchet itself must agree across exact base and candidate. */
44
+ /** The selected profiles and every policy key except ratchet itself must agree across exact base and candidate.
45
+ * `worktrees` is finding-inert (read only by the hook worktree gate and worktree commands) and is omitted; configs
46
+ * without it keep byte-identical v1 digests. Integrity still reports its loosening. */
45
47
  export function contextDigest(config: Record<string, unknown>, profiles: string[]): string {
46
- const { ratchet: _ratchet, ...policy } = config;
48
+ const { ratchet: _ratchet, worktrees: _worktrees, ...policy } = config;
47
49
  return sha256({ format: "atdd-bun.ratchet-context/v1", profiles: [...profiles].sort(), policy });
48
50
  }
49
51
 
50
52
  /** Activation is a one-time, explicitly requested profile-list expansion; every other policy input remains identical. */
51
53
  export function activationContextDigest(config: Record<string, unknown>): string {
52
- const { ratchet: _ratchet, profiles: _profiles, ...policy } = config;
54
+ const { ratchet: _ratchet, profiles: _profiles, worktrees: _worktrees, ...policy } = config;
53
55
  return sha256({ format: "atdd-bun.ratchet-activation-context/v1", policy });
54
56
  }
55
57