gentle-pi 2.2.0 → 2.3.0

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.
Files changed (130) hide show
  1. package/README.md +51 -80
  2. package/assets/agents/review-readability.md +0 -2
  3. package/assets/agents/review-reliability.md +0 -2
  4. package/assets/agents/review-resilience.md +0 -2
  5. package/assets/agents/review-risk.md +0 -2
  6. package/assets/agents/sdd-apply.md +5 -3
  7. package/assets/agents/sdd-proposal.md +2 -0
  8. package/assets/agents/sdd-research.md +54 -0
  9. package/assets/agents/sdd-status.md +4 -4
  10. package/assets/agents/sdd-tasks.md +2 -3
  11. package/assets/agents/sdd-verify.md +21 -1
  12. package/assets/chains/sdd-full.chain.md +1 -1
  13. package/assets/chains/sdd-verify.chain.md +1 -1
  14. package/assets/orchestrator-delegation.md +54 -248
  15. package/assets/orchestrator-memory.md +2 -0
  16. package/assets/orchestrator.md +22 -38
  17. package/assets/sdd-orchestrator-workflow.md +30 -37
  18. package/assets/support/sdd-status-contract.md +7 -7
  19. package/contracts/review-integration/v1/schemas/transition-execution.schema.json +42 -0
  20. package/contracts/review-integration/v2/schemas/last-event-closure.schema.json +66 -0
  21. package/contracts/review-integration/v2/schemas/opencode-provider-role.schema.json +14 -0
  22. package/docs/native-authority-architecture.md +9 -11
  23. package/docs/review-integration.md +27 -373
  24. package/extensions/ask-user-choice.ts +151 -0
  25. package/extensions/gentle-ai.ts +1778 -3673
  26. package/extensions/quiet-tools.ts +515 -32
  27. package/extensions/sdd-init.ts +4 -8
  28. package/lib/gentle-ai-renderer.ts +70 -0
  29. package/lib/model-routing-authority.ts +133 -0
  30. package/lib/native-review-cli.ts +372 -940
  31. package/lib/opaque-pi-reviewer-adapter.ts +284 -0
  32. package/lib/review-candidate-view.ts +341 -132
  33. package/lib/review-host-relay.ts +210 -68
  34. package/lib/review-integration-v2.ts +839 -307
  35. package/lib/review-last-event-controller.ts +35 -0
  36. package/lib/sdd-preflight.ts +177 -66
  37. package/lib/sdd-status.ts +66 -111
  38. package/lib/terminal-theme.ts +1 -1
  39. package/package.json +83 -82
  40. package/runtime/gentle-ai-binary.mjs +1 -1
  41. package/runtime/native-review-cli.mjs +322 -890
  42. package/runtime/review-integration-v2.mjs +789 -257
  43. package/runtime/review-relay-contract.mjs +1 -1
  44. package/scripts/{build-git-commit-transaction-runner.mjs → build-runtime-modules.mjs} +4 -5
  45. package/scripts/gentle-ai-installer.mjs +75 -22
  46. package/scripts/maintainer/provider-relay-matrix.mjs +195 -11
  47. package/scripts/test-packed-runner.mjs +4 -7
  48. package/scripts/verify-package-files.mjs +12 -13
  49. package/skills/_shared/review-ledger-contract.md +8 -14
  50. package/skills/chained-pr/SKILL.md +3 -0
  51. package/skills/cognitive-doc-design/SKILL.md +1 -1
  52. package/skills/comment-writer/SKILL.md +1 -1
  53. package/skills/gentle-ai/SKILL.md +7 -74
  54. package/skills/judgment-day/SKILL.md +5 -7
  55. package/skills/rdd-defect-workflow/SKILL.md +3 -3
  56. package/skills/release/SKILL.md +3 -3
  57. package/skills/skill-registry/SKILL.md +1 -1
  58. package/skills/work-unit-commits/SKILL.md +3 -1
  59. package/tests/artifact-language.test.ts +24 -11
  60. package/tests/ask-user-choice.test.ts +264 -0
  61. package/tests/codegraph-tools.test.ts +3 -3
  62. package/tests/crosslane/cross-lane.mjs +15 -1168
  63. package/tests/delegated-key-learnings-contract.test.ts +8 -6
  64. package/tests/devbinary/native-review-parity.devtest.ts +167 -250
  65. package/tests/devbinary/pi-host-relay.devtest.ts +867 -0
  66. package/tests/fixtures/devbinary/last-event-capture-correction-plan.captured.json +10 -0
  67. package/tests/fixtures/devbinary/last-event-capture-refuter-approved.captured.json +20 -0
  68. package/tests/fixtures/devbinary/last-event-capture-refuter-correction-required.captured.json +26 -0
  69. package/tests/fixtures/devbinary/last-event-capture-result-approved.captured.json +8 -0
  70. package/tests/fixtures/devbinary/last-event-capture-result-correction-required.captured.json +26 -0
  71. package/tests/fixtures/devbinary/last-event-capture-validation-approved.captured.json +8 -0
  72. package/tests/fixtures/devbinary/last-event-closure.provenance.md +13 -0
  73. package/tests/fixtures/devbinary/review-acknowledged-v1.captured.json +9 -0
  74. package/tests/fixtures/devbinary/review-acknowledged.provenance.md +31 -0
  75. package/tests/fixtures/devbinary/start-v3-zero-lens-closed.captured.json +21 -0
  76. package/tests/fixtures/native-review-cli/v2.5.0-rc.1/PROVENANCE.txt +15 -0
  77. package/tests/gentle-ai-binary.test.ts +83 -13
  78. package/tests/gentle-ai-dev-binary.test.ts +51 -228
  79. package/tests/gentle-ai-installer.test.ts +137 -47
  80. package/tests/gentle-ai.test.ts +820 -131
  81. package/tests/gentle-theme.test.ts +133 -0
  82. package/tests/maintainer/provider-relay.maintest.ts +340 -4
  83. package/tests/model-routing-authority.test.ts +257 -0
  84. package/tests/native-review-capability-contract.test.ts +28 -1
  85. package/tests/native-review-cli.test.ts +586 -962
  86. package/tests/native-review-consent.test.ts +150 -66
  87. package/tests/native-review-parity-runtime.test.ts +80 -359
  88. package/tests/native-review-parity.test.ts +674 -925
  89. package/tests/opaque-pi-reviewer-adapter.test.ts +266 -0
  90. package/tests/orchestrator-budget.test.ts +132 -88
  91. package/tests/orchestrator-rdd-ownership.test.ts +103 -0
  92. package/tests/package-manifest.test.ts +37 -35
  93. package/tests/provider-defect-handoff.test.ts +15 -118
  94. package/tests/quiet-tool-rendering.test.ts +1055 -28
  95. package/tests/review-authority-recovery-docs.test.ts +1 -2
  96. package/tests/review-candidate-view.test.ts +409 -3
  97. package/tests/review-compact-contract.test.ts +4 -30
  98. package/tests/review-controller-lock-status.test.ts +2 -2
  99. package/tests/review-controller-native-recovery.test.ts +363 -1450
  100. package/tests/review-controller-native-routing.test.ts +1251 -5642
  101. package/tests/review-controller-retired-ops.test.ts +1 -1
  102. package/tests/review-controller-workspace-root.test.ts +222 -71
  103. package/tests/review-controller.test.ts +26 -816
  104. package/tests/review-corrected-finalize-binding.test.ts +112 -153
  105. package/tests/review-dispatch-hydration-gap.test.ts +1 -53
  106. package/tests/review-gate.test.ts +0 -45
  107. package/tests/review-host-relay-restart-parity.test.ts +360 -0
  108. package/tests/review-host-relay-routing.test.ts +117 -82
  109. package/tests/review-host-relay.test.ts +242 -8
  110. package/tests/review-integration-v2-forward.test.ts +576 -553
  111. package/tests/review-integration-v2.test.ts +239 -165
  112. package/tests/review-last-event-closure.test.ts +408 -0
  113. package/tests/review-ledger-contract.test.ts +97 -35
  114. package/tests/review-recovered-lineage-routing.test.ts +0 -47
  115. package/tests/review-relay-transport-agent.test.ts +119 -46
  116. package/tests/review-snapshot.test.ts +3 -2
  117. package/tests/runtime-harness.mjs +361 -196
  118. package/tests/sdd-agent-tools.test.ts +36 -0
  119. package/tests/sdd-preflight.test.ts +81 -15
  120. package/tests/sdd-status.test.ts +109 -110
  121. package/tests/skill-collision-prefixes.test.ts +5 -8
  122. package/tests/writer-edit-surface-scope.test.ts +230 -0
  123. package/themes/Gentleman-Cute.json +94 -0
  124. package/themes/Gentleman-Sexy.json +92 -0
  125. package/lib/git-commit-transaction.ts +0 -861
  126. package/runtime/git-commit-transaction.mjs +0 -862
  127. package/scripts/run-git-commit-transaction.mjs +0 -35
  128. package/tests/fixtures/native-review-cli/v2.1.3/sdd-status-engram.json +0 -139
  129. package/tests/fixtures/native-review-cli/v2.1.3/sdd-status.json +0 -200
  130. package/tests/git-commit-transaction.test.ts +0 -530
@@ -1,35 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- import {
4
- assertCommitTransactionIndex,
5
- captureCommitTransactionHead,
6
- COMMIT_TRANSACTION_STATE,
7
- decodeCommitTransactionInvocation,
8
- runGitCommitTransaction,
9
- } from "../runtime/git-commit-transaction.mjs";
10
-
11
- async function main() {
12
- const [operation, payload, ...extra] = process.argv.slice(2);
13
- if (operation === "self-test") {
14
- if (payload !== undefined || extra.length > 0) throw new Error("commit transaction runner self-test takes no payload");
15
- process.stdout.write(`${JSON.stringify({ schema: "gentle-pi.git-commit-transaction-runner-self-test/v1", states: Object.values(COMMIT_TRANSACTION_STATE) })}\n`);
16
- return;
17
- }
18
- if (extra.length > 0 || !payload) throw new Error("commit transaction runner requires one encoded payload");
19
- if (operation === "assert-index") {
20
- assertCommitTransactionIndex(payload);
21
- return;
22
- }
23
- if (operation === "capture-commit") {
24
- captureCommitTransactionHead(payload);
25
- return;
26
- }
27
- if (operation !== "run") throw new Error("commit transaction runner operation is unsupported");
28
- const result = await runGitCommitTransaction(decodeCommitTransactionInvocation(payload));
29
- process.stdout.write(`${JSON.stringify(result)}\n`);
30
- }
31
-
32
- main().catch((error) => {
33
- process.stderr.write(`gentle-pi commit transaction failed: ${error instanceof Error ? error.message : String(error)}\n`);
34
- process.exitCode = 1;
35
- });
@@ -1,139 +0,0 @@
1
- {
2
- "schemaName": "gentle-ai.sdd-status",
3
- "schemaVersion": 1,
4
- "changeName": "native-review-authority-parity",
5
- "artifactStore": "engram",
6
- "planningHome": {
7
- "mode": "repo-local",
8
- "path": "engram:sdd"
9
- },
10
- "changeRoot": "engram:sdd/native-review-authority-parity",
11
- "artifactPaths": {
12
- "proposal": [
13
- "sdd/native-review-authority-parity/proposal"
14
- ],
15
- "specs": [
16
- "sdd/native-review-authority-parity/spec"
17
- ],
18
- "design": [
19
- "sdd/native-review-authority-parity/design"
20
- ],
21
- "tasks": [
22
- "sdd/native-review-authority-parity/tasks"
23
- ],
24
- "applyProgress": [],
25
- "verifyReport": [],
26
- "reviewPolicy": [
27
- "sdd/native-review-authority-parity/review/policy"
28
- ],
29
- "reviewLedger": [],
30
- "reviewReceipt": [],
31
- "reviewBundle": [],
32
- "reviewContext": [],
33
- "reviewState": []
34
- },
35
- "contextFiles": {
36
- "proposal": [
37
- "sdd/native-review-authority-parity/proposal"
38
- ],
39
- "specs": [
40
- "sdd/native-review-authority-parity/spec"
41
- ],
42
- "design": [
43
- "sdd/native-review-authority-parity/design"
44
- ],
45
- "tasks": [
46
- "sdd/native-review-authority-parity/tasks"
47
- ],
48
- "applyProgress": [],
49
- "verifyReport": [],
50
- "reviewPolicy": [
51
- "sdd/native-review-authority-parity/review/policy"
52
- ],
53
- "reviewLedger": [],
54
- "reviewReceipt": [],
55
- "reviewBundle": [],
56
- "reviewContext": [],
57
- "reviewState": []
58
- },
59
- "artifacts": {
60
- "applyProgress": "missing",
61
- "design": "done",
62
- "proposal": "done",
63
- "reviewBundle": "missing",
64
- "reviewContext": "missing",
65
- "reviewLedger": "missing",
66
- "reviewPolicy": "done",
67
- "reviewReceipt": "missing",
68
- "reviewState": "missing",
69
- "specs": "done",
70
- "tasks": "done",
71
- "verifyReport": "missing"
72
- },
73
- "taskProgress": {
74
- "total": 1,
75
- "completed": 0,
76
- "pending": 1,
77
- "allComplete": false
78
- },
79
- "dependencies": {
80
- "proposal": "all_done",
81
- "specs": "all_done",
82
- "design": "all_done",
83
- "tasks": "all_done",
84
- "apply": "ready",
85
- "verify": "blocked",
86
- "archive": "blocked"
87
- },
88
- "applyState": "ready",
89
- "actionContext": {
90
- "mode": "repo-local",
91
- "workspaceRoot": "/tmp/gentle-ai-v212-engram-1f17zo",
92
- "allowedEditRoots": [
93
- "/tmp/gentle-ai-v212-engram-1f17zo"
94
- ]
95
- },
96
- "relationships": {
97
- "dependsOn": [],
98
- "supersedes": [],
99
- "amends": [],
100
- "conflictsWith": [],
101
- "sameDomainActiveChanges": []
102
- },
103
- "remediationState": {
104
- "required": false,
105
- "complete": false,
106
- "failedEvidenceRevision": "",
107
- "lineageId": "",
108
- "generation": 0,
109
- "fixBatch": 0,
110
- "reason": ""
111
- },
112
- "phaseInstructions": {
113
- "apply": [
114
- "Change: native-review-authority-parity",
115
- "State: ready",
116
- "Read proposal, specs, design, and tasks before editing.",
117
- "Implement only unchecked tasks and update tasks.md checkboxes as work completes."
118
- ],
119
- "verify": [
120
- "Change: native-review-authority-parity",
121
- "State: blocked",
122
- "Verify implementation against proposal, specs, design, and task completion.",
123
- "Run final verification only after every task is complete; apply-progress never makes final verification ready."
124
- ],
125
- "remediate": [
126
- "Change: native-review-authority-parity",
127
- "Remediation is allowed only when the persisted review transaction has remaining mode-specific budget.",
128
- "Bind focused tests, runtime harness evidence, and rollback evidence to the exact failed evidence revision.",
129
- "A bare remediation envelope or stale failed revision never completes remediation."
130
- ],
131
- "archive": [
132
- "Change: native-review-authority-parity",
133
- "State: blocked",
134
- "Archive only when verify-report.md exists and every task checkbox is complete."
135
- ]
136
- },
137
- "nextRecommended": "apply",
138
- "blockedReasons": []
139
- }
@@ -1,200 +0,0 @@
1
- {
2
- "schemaName": "gentle-ai.sdd-status",
3
- "schemaVersion": 1,
4
- "changeName": "native-review-authority-parity",
5
- "artifactStore": "openspec",
6
- "planningHome": {
7
- "mode": "repo-local",
8
- "path": "/tmp/gentle-ai-v212-contract-9XGIB4/openspec"
9
- },
10
- "changeRoot": "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity",
11
- "artifactPaths": {
12
- "proposal": [
13
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/proposal.md"
14
- ],
15
- "specs": [
16
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/specs/review/spec.md"
17
- ],
18
- "design": [
19
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/design.md"
20
- ],
21
- "tasks": [
22
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/tasks.md"
23
- ],
24
- "applyProgress": [],
25
- "verifyReport": [
26
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/verify-report.md"
27
- ],
28
- "reviewPolicy": [],
29
- "reviewLedger": [],
30
- "reviewReceipt": [],
31
- "reviewBundle": [],
32
- "reviewContext": [],
33
- "reviewState": [
34
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/reviews/transaction.json"
35
- ]
36
- },
37
- "contextFiles": {
38
- "proposal": [
39
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/proposal.md"
40
- ],
41
- "specs": [
42
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/specs/review/spec.md"
43
- ],
44
- "design": [
45
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/design.md"
46
- ],
47
- "tasks": [
48
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/tasks.md"
49
- ],
50
- "applyProgress": [],
51
- "verifyReport": [
52
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/verify-report.md"
53
- ],
54
- "reviewPolicy": [],
55
- "reviewLedger": [],
56
- "reviewReceipt": [],
57
- "reviewBundle": [],
58
- "reviewContext": [],
59
- "reviewState": [
60
- "/tmp/gentle-ai-v212-contract-9XGIB4/openspec/changes/native-review-authority-parity/reviews/transaction.json"
61
- ]
62
- },
63
- "artifacts": {
64
- "applyProgress": "missing",
65
- "design": "done",
66
- "proposal": "done",
67
- "reviewBundle": "missing",
68
- "reviewContext": "missing",
69
- "reviewLedger": "missing",
70
- "reviewReceipt": "missing",
71
- "reviewState": "done",
72
- "specs": "done",
73
- "tasks": "done",
74
- "verifyReport": "done"
75
- },
76
- "taskProgress": {
77
- "total": 1,
78
- "completed": 1,
79
- "pending": 0,
80
- "allComplete": true
81
- },
82
- "dependencies": {
83
- "proposal": "all_done",
84
- "specs": "all_done",
85
- "design": "all_done",
86
- "tasks": "all_done",
87
- "apply": "all_done",
88
- "verify": "all_done",
89
- "archive": "ready"
90
- },
91
- "applyState": "all_done",
92
- "actionContext": {
93
- "mode": "repo-local",
94
- "workspaceRoot": "/tmp/gentle-ai-v212-contract-9XGIB4",
95
- "allowedEditRoots": [
96
- "/tmp/gentle-ai-v212-contract-9XGIB4"
97
- ]
98
- },
99
- "relationships": {
100
- "dependsOn": [],
101
- "supersedes": [],
102
- "amends": [],
103
- "conflictsWith": [],
104
- "sameDomainActiveChanges": []
105
- },
106
- "remediationState": {
107
- "required": false,
108
- "complete": false,
109
- "failedEvidenceRevision": "",
110
- "lineageId": "",
111
- "generation": 0,
112
- "fixBatch": 0,
113
- "reason": ""
114
- },
115
- "reviewGate": {
116
- "result": "allow",
117
- "reason": "explicit bound compact authority exactly matches the current repository"
118
- },
119
- "reviewTransaction": {
120
- "schema": "gentle-ai.review-transaction/v1",
121
- "lineage_id": "issue-1099-corrected-candidate-review-20260710",
122
- "mode": "ordinary_4r",
123
- "generation": 1,
124
- "state": "reviewing",
125
- "snapshot": {
126
- "kind": "current-changes",
127
- "base_tree": "ba040f17cdcd2a5960361971eaff79684c48847a",
128
- "candidate_tree": "5bc2f4bdd086d064bc3ada255f16c631facc6839",
129
- "paths_digest": "sha256:4a52771035fe6ef25f0155b11c052a661879b1cd1af4bbe5cd337118a9dd29dd",
130
- "intended_untracked": [
131
- "assets/agents/gentle-ai-explore.md",
132
- "assets/agents/gentle-ai-verify.md"
133
- ],
134
- "intended_untracked_proof": "sha256:ea65650186e3d14ed53ae4912a2a30127863fe9aec0e4c14050e4fa154b0bfa3",
135
- "paths": [
136
- "assets/agents/gentle-ai-explore.md",
137
- "assets/agents/gentle-ai-verify.md",
138
- "assets/orchestrator-delegation.md",
139
- "assets/orchestrator.md",
140
- "tests/package-manifest.test.ts",
141
- "tests/sdd-agent-tools.test.ts"
142
- ],
143
- "identity": "sha256:d88627d276b790d1ed58abc44118d1d95a9620d9755d5e61c8fbda0f97cea53c"
144
- },
145
- "base_tree": "ba040f17cdcd2a5960361971eaff79684c48847a",
146
- "paths_digest": "sha256:4a52771035fe6ef25f0155b11c052a661879b1cd1af4bbe5cd337118a9dd29dd",
147
- "initial_review_tree": "5bc2f4bdd086d064bc3ada255f16c631facc6839",
148
- "final_candidate_tree": "5bc2f4bdd086d064bc3ada255f16c631facc6839",
149
- "fix_delta_hash": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
150
- "policy_hash": "sha256:9197a98b8c5ceac34da4e8d213908d68023f215e891ecb85dfe9fb0b355f9482",
151
- "ledger_hash": "",
152
- "ledger_findings_hash": "",
153
- "evidence_hash": "",
154
- "judge_proofs": [],
155
- "counters": {
156
- "full_reviews": 1,
157
- "refuter_batches": 0,
158
- "fix_batches": 0,
159
- "scoped_fix_validations": 0,
160
- "final_verifications": 0,
161
- "fix_rounds": 0,
162
- "scoped_rejudgments": 0,
163
- "judge_executions": 0
164
- },
165
- "findings": [],
166
- "classifications": {},
167
- "outcomes": {},
168
- "fix_finding_ids": [],
169
- "pending_refuter_ids": [],
170
- "fix_caused_findings": [],
171
- "follow_ups": []
172
- },
173
- "phaseInstructions": {
174
- "apply": [
175
- "Change: native-review-authority-parity",
176
- "State: all_done",
177
- "Read proposal, specs, design, and tasks before editing.",
178
- "Implement only unchecked tasks and update tasks.md checkboxes as work completes."
179
- ],
180
- "verify": [
181
- "Change: native-review-authority-parity",
182
- "State: all_done",
183
- "Verify implementation against proposal, specs, design, and task completion.",
184
- "Run final verification only after every task is complete; apply-progress never makes final verification ready."
185
- ],
186
- "remediate": [
187
- "Change: native-review-authority-parity",
188
- "Remediation is allowed only when the persisted review transaction has remaining mode-specific budget.",
189
- "Bind focused tests, runtime harness evidence, and rollback evidence to the exact failed evidence revision.",
190
- "A bare remediation envelope or stale failed revision never completes remediation."
191
- ],
192
- "archive": [
193
- "Change: native-review-authority-parity",
194
- "State: ready",
195
- "Archive only when verify-report.md exists and every task checkbox is complete."
196
- ]
197
- },
198
- "nextRecommended": "archive",
199
- "blockedReasons": []
200
- }