gentle-pi 1.2.0 → 2.1.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.
- package/README.md +32 -10
- package/assets/agents/review-readability.md +0 -1
- package/assets/agents/review-reliability.md +0 -1
- package/assets/agents/review-resilience.md +0 -1
- package/assets/agents/review-risk.md +0 -1
- package/contracts/review-integration/v1/fixtures/binding-revision-conflict.fixture.json +25 -0
- package/contracts/review-integration/v1/fixtures/capabilities-v1.2.fixture.json +263 -0
- package/contracts/review-integration/v1/fixtures/capabilities-v1.3.fixture.json +301 -0
- package/contracts/review-integration/v1/fixtures/capabilities-v1.4.fixture.json +312 -0
- package/contracts/review-integration/v1/fixtures/capabilities-v1.5.fixture.json +321 -0
- package/contracts/review-integration/v1/fixtures/consent.fixture.json +36 -0
- package/contracts/review-integration/v1/fixtures/final-verification-incident.fixture.json +1 -0
- package/contracts/review-integration/v1/fixtures/operation.fixture.json +4 -0
- package/contracts/review-integration/v1/fixtures/repair-preflight.fixture.json +54 -0
- package/contracts/review-integration/v1/fixtures/start-v2.fixture.json +97 -0
- package/contracts/review-integration/v1/fixtures/start.fixture.json +25 -1
- package/contracts/review-integration/v1/fixtures/status-ambiguous.fixture.json +4 -0
- package/contracts/review-integration/v1/fixtures/status-corrupted.fixture.json +4 -0
- package/contracts/review-integration/v1/fixtures/status-recover.fixture.json +4 -0
- package/contracts/review-integration/v1/fixtures/status-unrelated.fixture.json +4 -0
- package/contracts/review-integration/v1/fixtures/status-v2-ambiguous.fixture.json +110 -0
- package/contracts/review-integration/v1/fixtures/status-v2-corrupted.fixture.json +107 -0
- package/contracts/review-integration/v1/fixtures/status-v2-final-verification-retry.fixture.json +192 -0
- package/contracts/review-integration/v1/fixtures/status-v2-recover.fixture.json +130 -0
- package/contracts/review-integration/v1/fixtures/status-v2-repair.fixture.json +161 -0
- package/contracts/review-integration/v1/fixtures/status-v2-unrelated.fixture.json +103 -0
- package/contracts/review-integration/v1/fixtures/status-v2.fixture.json +193 -0
- package/contracts/review-integration/v1/fixtures/status.fixture.json +19 -5
- package/contracts/review-integration/v1/fixtures/verification-evidence.fixture.json +1 -0
- package/contracts/review-integration/v1/schemas/admitted-result.schema.json +35 -0
- package/contracts/review-integration/v1/schemas/artifact-subject.schema.json +33 -0
- package/contracts/review-integration/v1/schemas/authority-repair-assessment.schema.json +247 -0
- package/contracts/review-integration/v1/schemas/capabilities-v1.2.schema.json +249 -0
- package/contracts/review-integration/v1/schemas/capabilities-v1.3.schema.json +429 -0
- package/contracts/review-integration/v1/schemas/capabilities-v1.4.schema.json +432 -0
- package/contracts/review-integration/v1/schemas/capabilities-v1.5.schema.json +154 -0
- package/contracts/review-integration/v1/schemas/consent.schema.json +86 -0
- package/contracts/review-integration/v1/schemas/failure.schema.json +54 -8
- package/contracts/review-integration/v1/schemas/final-verification-incident.schema.json +51 -0
- package/contracts/review-integration/v1/schemas/operation.schema.json +204 -31
- package/contracts/review-integration/v1/schemas/repair.schema.json +251 -0
- package/contracts/review-integration/v1/schemas/result-artifact-v2.schema.json +38 -0
- package/contracts/review-integration/v1/schemas/start-v2.schema.json +216 -0
- package/contracts/review-integration/v1/schemas/start.schema.json +79 -3
- package/contracts/review-integration/v1/schemas/status-v2.schema.json +313 -0
- package/contracts/review-integration/v1/schemas/status.schema.json +37 -10
- package/contracts/review-integration/v1/schemas/targeted-validation-request.schema.json +46 -0
- package/contracts/review-integration/v1/schemas/verification-evidence.schema.json +64 -0
- package/contracts/review-integration/v2/fixtures/capabilities.fixture.json +111 -0
- package/contracts/review-integration/v2/fixtures/consent.fixture.json +36 -0
- package/contracts/review-integration/v2/fixtures/start.fixture.json +93 -0
- package/contracts/review-integration/v2/fixtures/status.fixture.json +113 -0
- package/contracts/review-integration/v2/schemas/admitted-result.schema.json +14 -0
- package/contracts/review-integration/v2/schemas/artifact-subject.schema.json +36 -0
- package/contracts/review-integration/v2/schemas/capabilities.schema.json +111 -0
- package/contracts/review-integration/v2/schemas/consent.schema.json +70 -0
- package/contracts/review-integration/v2/schemas/failure.schema.json +35 -0
- package/contracts/review-integration/v2/schemas/operation.schema.json +46 -0
- package/contracts/review-integration/v2/schemas/repair.schema.json +22 -0
- package/contracts/review-integration/v2/schemas/start.schema.json +106 -0
- package/contracts/review-integration/v2/schemas/status.schema.json +104 -0
- package/docs/native-authority-architecture.md +18 -3
- package/docs/review-integration.md +175 -27
- package/extensions/gentle-ai.ts +647 -58
- package/lib/gentle-ai-binary.ts +65 -18
- package/lib/native-review-cli.ts +824 -56
- package/lib/review-candidate-view.ts +135 -1
- package/lib/review-compact-contract.ts +12 -3
- package/lib/review-consent-latch.ts +51 -0
- package/lib/review-correction-lifecycle.ts +170 -0
- package/lib/review-integration-v2.ts +1567 -0
- package/package.json +15 -11
- package/runtime/gentle-ai-binary.mjs +65 -18
- package/runtime/native-review-cli.mjs +808 -40
- package/runtime/review-integration-v2.mjs +1568 -0
- package/scripts/build-git-commit-transaction-runner.mjs +1 -1
- package/scripts/gentle-ai-installer.mjs +464 -76
- package/scripts/install-gentle-ai.mjs +7 -3
- package/scripts/test-packed-runner.mjs +3 -3
- package/scripts/verify-package-files.mjs +216 -64
- package/skills/_shared/review-ledger-contract.md +3 -1
- package/skills/release/SKILL.md +38 -11
- package/tests/devbinary/native-review-parity.devtest.ts +348 -0
- package/tests/gentle-ai-binary.test.ts +77 -3
- package/tests/gentle-ai-installer.test.ts +561 -22
- package/tests/gentle-ai.test.ts +2 -2
- package/tests/native-binary-gate.test.ts +145 -0
- package/tests/native-review-capability-contract.test.ts +87 -0
- package/tests/native-review-cli.test.ts +44 -1
- package/tests/native-review-consent.test.ts +128 -0
- package/tests/native-review-parity-runtime.test.ts +85 -29
- package/tests/native-review-parity.test.ts +782 -0
- package/tests/native-risk-evidence-parity.test.ts +91 -0
- package/tests/package-manifest.test.ts +80 -8
- package/tests/review-actor-tool-deny.test.ts +20 -5
- package/tests/review-candidate-view.test.ts +374 -1
- package/tests/review-compact-contract.test.ts +5 -0
- package/tests/review-consent-latch.test.ts +67 -0
- package/tests/review-controller-native-recovery.test.ts +180 -5
- package/tests/review-controller-native-routing.test.ts +632 -18
- package/tests/review-controller-workspace-root.test.ts +26 -6
- package/tests/review-controller.test.ts +1 -1
- package/tests/review-correction-lifecycle.test.ts +174 -0
- package/tests/review-integration-v2.test.ts +548 -0
- package/tests/runtime-harness.mjs +211 -12
- package/tests/support/native-binary-gate.ts +86 -0
- package/tests/verify-package-files.test.ts +119 -0
- package/lib/review-integration-v1.ts +0 -795
- package/runtime/review-integration-v1.mjs +0 -796
- package/tests/native-review-integration-v1.test.ts +0 -102
- package/tests/review-integration-v1.test.ts +0 -530
package/README.md
CHANGED
|
@@ -58,16 +58,28 @@ Most coding-agent sessions fail for operational reasons, not model reasons:
|
|
|
58
58
|
| **Skill creation workflow** | Provides the `gentle-ai-skill-creator`/`gentle-ai-skill-improver` skills, `/skill-creation` prompt, and packaged style guide for LLM-first skills. |
|
|
59
59
|
| **Delivery skills** | Includes issue-first PRs, chained PRs, work-unit commits, cognitive docs, comment writing, and Judgment Day review. |
|
|
60
60
|
| **Bounded native review** | Freezes one candidate, dispatches only controller-selected lenses, records native authority, and reuses the same content-bound receipt at delivery gates. |
|
|
61
|
-
| **Verified native runtime** | Provisions the exact package-local Gentle AI v2.
|
|
61
|
+
| **Verified native runtime** | Provisions the exact package-local Gentle AI v2.2.2 runtime: signed archives on Darwin/Linux and a Go SumDB-verified source build on Windows x64/arm64. It validates package-local integrity and rejects PATH, global, sibling, symlink, and mode fallbacks. |
|
|
62
62
|
| **Runtime safety** | Blocks destructive shell commands, asks for confirmation for sensitive operations, and blocks direct read/write/edit access to sensitive paths. |
|
|
63
63
|
|
|
64
64
|
## Install
|
|
65
65
|
|
|
66
66
|
```bash
|
|
67
|
-
pi install npm:gentle-pi
|
|
67
|
+
pi install npm:gentle-pi@0.14.0
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
### RDD version policy
|
|
71
|
+
|
|
72
|
+
Native RDD started in `gentle-pi` `v0.15.0` on 2026-07-10 with bounded review transactions. Every release from `v0.15.0` onward is part of the unstable RDD development line. New releases will continue improving RDD until the project declares the line stable. The stable version for normal use without native RDD is the last preceding release, `v0.14.0`.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Stable version without native RDD
|
|
76
|
+
pi install npm:gentle-pi@0.14.0
|
|
77
|
+
|
|
78
|
+
# Latest released RDD build (unstable)
|
|
79
|
+
pi install npm:gentle-pi@latest
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
The latest RDD package installs Gentle AI only into its private `.gentle-ai/` directory. Darwin and Linux use pinned signed archives with archive and executable SHA-256 verification. Windows x64 and arm64 build the exact `v2.2.2` source tag with a local Go 1.25.10+ toolchain, a sealed Go environment, `GOTOOLCHAIN=local`, and `GOSUMDB=sum.golang.org`; it does not download Go automatically. Windows provenance is Go-toolchain plus SumDB evidence and postinstall tamper detection, **not** Authenticode or protection against a malicious joint binary-and-manifest replacement. Package-private locks coordinate cooperative concurrent or crashed installers; their tombstones fail closed. A malicious same-user process with write access to package-private `node_modules` is outside that protocol because it can already replace package code, binary, or manifest, and portable Node has no pathname-delete CAS. It never uses `PATH` or a global `gentle-ai` installation. For development or offline installs only, set `GENTLE_PI_SKIP_GENTLE_AI_INSTALL=1`; native review operations then fail closed with an actionable `package-local-binary-missing` error until the package is reinstalled normally.
|
|
71
83
|
|
|
72
84
|
Recommended companion packages:
|
|
73
85
|
|
|
@@ -243,11 +255,13 @@ Lifecycle gates never launch review actors. They rederive Git and publication ta
|
|
|
243
255
|
|
|
244
256
|
Native contract pairing is exact: this adapter resolves only the integrity-verified package-local Gentle AI v2.1.11 executable, independently hashes it, then negotiates `gentle-ai.review-integration/v1` outside the repository. Capabilities are cached by that executable digest. Every START, target status, FINALIZE, validate, and BIND-SDD request passes the same contract identifier. Current protocol 1.0 envelopes decode exactly against the vendored schemas; `recover` routes only the provider-selected `action_disposition`, and optional additions require a future compatible schema/minor that the provider explicitly advertises and the consumer negotiates.
|
|
245
257
|
|
|
258
|
+
Gentle AI also publishes a second negotiated contract, `gentle-ai.review-integration/v2`, which replaces the Base64 `candidate_diff` reviewer transport with immutable `base_tree`/`candidate_tree` plus an ordered `changed_path_manifest` and never an inline patch. `gentle-pi` is migrating to `/v2` only, with no dual-lane fallback; the cutover is release-gated on the pinned runtime confirming it serves contract v2 (already true for the currently pinned v2.2.1) and lands as one atomic commit, tracked by the `migrate-review-integration-v2` change. This provider contract version is unrelated to Pi's own internal "compact-v2" review-authority naming used below — the shared digit is coincidental, not a version pairing.
|
|
259
|
+
|
|
246
260
|
Target status owns `current_target`, `unrelated`, `ambiguous`, and `corrupted` applicability and returns one native action. Pi does not reconstruct ordinary authority from provider-private files or choose a lineage from repository-wide history. Restart recovery rebuilds only the derived candidate view from the native Git/content projection, including intended-untracked paths, symlinks, and immutable gitlink identities. Native failure envelopes retain their exact mutation outcome, replayability, required inputs, request digest, and next action. After an unknown or lost mutating result, Pi calls target status before any replay decision and returns only the provider-declared action.
|
|
247
261
|
|
|
248
262
|
Direct authorized `git commit` commands use a durable recovery record under the Git common directory. The package runs the effective pre-commit hook once, captures the post-hook index, performs final native validation against that tree, suppresses only the already-completed pre-commit hook while preserving message/post hooks through proxies, and proves `HEAD^{tree}` before the tool result succeeds. Any unresolved, interrupted, failed, or mismatched transaction blocks push, PR, and release. Recovery never resets HEAD or the index automatically.
|
|
249
263
|
|
|
250
|
-
Once v2.1
|
|
264
|
+
Once the pinned gentle-ai runtime (currently v2.2.1) has written review authority, rollback MUST preserve every native store and receipt and MUST NOT run a downgraded binary against that repository. Disable the Pi route or roll forward to a compatible authority-aware release instead; deleting authority data or reinstalling an older binary is not a rollback path.
|
|
251
265
|
|
|
252
266
|
### FINALIZE wrapper input
|
|
253
267
|
|
|
@@ -640,14 +654,15 @@ Memory contract for SDD delegation:
|
|
|
640
654
|
| ------------------------------ | ---------------------------------------------------------------------------------------------------------- |
|
|
641
655
|
| `extensions/gentle-ai.ts` | Injects identity, orchestrates native review authority and lifecycle gates, refreshes global SDD assets, registers commands, applies model/persona config, and enforces runtime safety. |
|
|
642
656
|
| `lib/native-review-cli.ts` | Strict package-local adapter for Gentle AI START, FINALIZE, VALIDATE, SDD binding, and status contracts. |
|
|
643
|
-
| `lib/review-integration-
|
|
657
|
+
| `lib/review-integration-v2.ts` | Strict consumer decoder for negotiated capabilities, operations, target status, projections, repair, and failures against contract `review-integration/v2` (active today). |
|
|
644
658
|
| `lib/git-commit-transaction.ts` | Durable hook/native-validation/commit/recovery transaction with publication blocking and HEAD proof. |
|
|
645
659
|
| `lib/review-candidate-view.ts` | Builds immutable changed-scope actor views while preserving full-tree, path, mode, symlink, and index integrity. |
|
|
646
660
|
| `lib/review-canonical.ts` | Permanent Pi-owned canonical JSON and domain-hash primitives for consumer-side identities. |
|
|
647
661
|
| `lib/review-repository.ts` | Permanent Pi-owned Git common-directory identity, safe Git environment, and authority-root binding. |
|
|
648
662
|
| `lib/gentle-ai-binary.ts` | Resolves and verifies the confined package-local Gentle AI runtime without global or PATH fallback. |
|
|
649
|
-
| `scripts/gentle-ai-installer.mjs` |
|
|
650
|
-
| `contracts/review-integration/v1/` | Byte-identical
|
|
663
|
+
| `scripts/gentle-ai-installer.mjs` | Installs signed Darwin/Linux archives or exact Go SumDB-verified Windows source builds into the package-local runtime. |
|
|
664
|
+
| `contracts/review-integration/v1/` | Byte-identical provider schemas and conformance fixtures for contract `review-integration/v1`, hash-checked before packaging; retained on disk permanently because `/v2`'s schemas `$ref` into these fragments. |
|
|
665
|
+
| `contracts/review-integration/v2/` | Byte-identical provider schemas and conformance fixtures for contract `review-integration/v2` (immutable `base_tree`/`candidate_tree`, ordered `changed_path_manifest`, no inline candidate diff), hash-checked before packaging. |
|
|
651
666
|
| `extensions/startup-banner.ts` | Shows and configures the startup intro, color presets, compact runtime panel, and collaboration credit. |
|
|
652
667
|
| `extensions/sdd-init.ts` | Registers `/sdd-init` for OpenSpec initialization. |
|
|
653
668
|
| `extensions/skill-registry.ts` | Maintains `.atl/skill-registry.md` from project/user skills and closes file watchers on shutdown. |
|
|
@@ -658,7 +673,7 @@ Memory contract for SDD delegation:
|
|
|
658
673
|
| `skills/` | Gentle AI delivery and collaboration skills. |
|
|
659
674
|
| `prompts/` | Gentle-prefixed prompt templates, including `/skill-creation`. |
|
|
660
675
|
| `docs/skill-style-guide.md` | Normative style guide used by the packaged skill creation/improvement skills. |
|
|
661
|
-
| `docs/native-authority-architecture.md` | Post-U8 ownership boundary, reproducible slimming metrics, Windows evidence,
|
|
676
|
+
| `docs/native-authority-architecture.md` | Post-U8 ownership boundary, reproducible slimming metrics, Windows evidence, exact #191 seam, and the `review-integration/v1`→`v2` migration status, including the "compact-v2" naming disambiguation. |
|
|
662
677
|
| `docs/review-integration.md` | Negotiated provider/consumer contract and the current Gentle Pi adoption boundary. |
|
|
663
678
|
|
|
664
679
|
## Development
|
|
@@ -683,13 +698,20 @@ npm pack --dry-run
|
|
|
683
698
|
Publish npm through GitHub Actions only:
|
|
684
699
|
|
|
685
700
|
```bash
|
|
686
|
-
|
|
701
|
+
version="$(node -p "require('./package.json').version")"
|
|
702
|
+
tag="v${version}"
|
|
703
|
+
git fetch --no-tags origin "refs/tags/${tag}"
|
|
704
|
+
test "$(git rev-parse 'FETCH_HEAD^{commit}')" = "$(git rev-parse "${tag}^{commit}")"
|
|
705
|
+
gh workflow run publish.yml \
|
|
706
|
+
--repo Gentleman-Programming/gentle-pi \
|
|
707
|
+
--ref main \
|
|
708
|
+
-f tag="${tag}"
|
|
687
709
|
gh run watch <run-id> --repo Gentleman-Programming/gentle-pi --exit-status
|
|
688
710
|
npm view gentle-pi@<version> version --registry=https://registry.npmjs.org/
|
|
689
711
|
npm dist-tag ls gentle-pi --registry=https://registry.npmjs.org/
|
|
690
712
|
```
|
|
691
713
|
|
|
692
|
-
Do not run `npm publish` locally for `gentle-pi
|
|
714
|
+
Do not run `npm publish` locally for `gentle-pi`. Dispatch the trusted workflow definition only from protected default `main` and provide its sole `tag` input. The workflow requires an exact annotated `vSemVer` tag whose peeled commit, current remote `main`, dispatch/main workflow commit, checkout, and `package.json` version are identical. It rechecks remote tag and `main` immediately before publishing through OIDC with provenance and environment protection; an advanced `main` requires a new release version, never a moved tag.
|
|
693
715
|
|
|
694
716
|
## Principles
|
|
695
717
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "gentle-ai.review-integration.failure/v1",
|
|
3
|
+
"contract": "gentle-ai.review-integration/v1",
|
|
4
|
+
"operation": "review.bind_sdd",
|
|
5
|
+
"phase": "pre_native",
|
|
6
|
+
"code": "binding_revision_conflict",
|
|
7
|
+
"message": "The expected SDD review binding revision does not match the current native binding.",
|
|
8
|
+
"mutation_outcome": "not_started",
|
|
9
|
+
"authority_applicability": "current_target",
|
|
10
|
+
"retry_safe": true,
|
|
11
|
+
"replayability": "not_replayable",
|
|
12
|
+
"lineage_id": "review-binding-conflict-fixture",
|
|
13
|
+
"required_inputs": [
|
|
14
|
+
"change",
|
|
15
|
+
"lineage_id",
|
|
16
|
+
"expected_binding_revision"
|
|
17
|
+
],
|
|
18
|
+
"next_action": "review.bind_sdd",
|
|
19
|
+
"context": {
|
|
20
|
+
"binding_revision": {
|
|
21
|
+
"expected": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
22
|
+
"current": ""
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "gentle-ai.review-integration.capabilities/v1.2",
|
|
3
|
+
"contract": "gentle-ai.review-integration/v1",
|
|
4
|
+
"protocol": {
|
|
5
|
+
"major": 1,
|
|
6
|
+
"minor": 2
|
|
7
|
+
},
|
|
8
|
+
"package": {
|
|
9
|
+
"name": "gentle-ai",
|
|
10
|
+
"version": "2.1.7-test",
|
|
11
|
+
"release_channel": "prerelease"
|
|
12
|
+
},
|
|
13
|
+
"build": {
|
|
14
|
+
"id": "sha256:444a9f0608eb22c4697fd2092f3afcfab040c0918343e7e04087730fd33fd5e1",
|
|
15
|
+
"go_version": "go1.25.10",
|
|
16
|
+
"module_version": "v2.1.7",
|
|
17
|
+
"vcs": "git",
|
|
18
|
+
"vcs_revision": "0123456789abcdef0123456789abcdef01234567",
|
|
19
|
+
"vcs_time": "2026-07-15T18:00:00Z",
|
|
20
|
+
"vcs_modified": "false"
|
|
21
|
+
},
|
|
22
|
+
"executable": {
|
|
23
|
+
"sha256": "sha256:dcc846103b16d365eaeeb9d7f289c23fc4f2897f23def1cb3fe7f05557b64705",
|
|
24
|
+
"evidence": "self-reported",
|
|
25
|
+
"verification": "compare-with-published-manifest"
|
|
26
|
+
},
|
|
27
|
+
"operations": [
|
|
28
|
+
"review.bind_sdd",
|
|
29
|
+
"review.capabilities",
|
|
30
|
+
"review.finalize",
|
|
31
|
+
"review.start",
|
|
32
|
+
"review.status",
|
|
33
|
+
"review.validate"
|
|
34
|
+
],
|
|
35
|
+
"gates": [
|
|
36
|
+
"post-apply",
|
|
37
|
+
"pre-commit",
|
|
38
|
+
"pre-push",
|
|
39
|
+
"pre-pr",
|
|
40
|
+
"release"
|
|
41
|
+
],
|
|
42
|
+
"projections": [
|
|
43
|
+
"staged",
|
|
44
|
+
"workspace"
|
|
45
|
+
],
|
|
46
|
+
"schemas": [
|
|
47
|
+
"gentle-ai.review-authority-status/v1",
|
|
48
|
+
"gentle-ai.review-gate-request/v1",
|
|
49
|
+
"gentle-ai.review-integration.capabilities/v1.2",
|
|
50
|
+
"gentle-ai.review-integration.failure/v1",
|
|
51
|
+
"gentle-ai.review-integration.operation/v1",
|
|
52
|
+
"gentle-ai.review-integration.projection/v1",
|
|
53
|
+
"gentle-ai.review-integration.start/v1",
|
|
54
|
+
"gentle-ai.review-integration.status/v1",
|
|
55
|
+
"gentle-ai.review-receipt/v1",
|
|
56
|
+
"gentle-ai.review-receipt/v2",
|
|
57
|
+
"gentle-ai.review-result-artifact/v1",
|
|
58
|
+
"gentle-ai.review-targeted-validation-request/v1",
|
|
59
|
+
"https://gentle-ai.dev/schema/review/refuter/v1",
|
|
60
|
+
"https://gentle-ai.dev/schema/review/reviewer/v1",
|
|
61
|
+
"https://gentle-ai.dev/schema/review/validator/v1"
|
|
62
|
+
],
|
|
63
|
+
"features": {
|
|
64
|
+
"mandatory": [
|
|
65
|
+
{
|
|
66
|
+
"name": "compact_v2_authority",
|
|
67
|
+
"supported": true,
|
|
68
|
+
"requires": []
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "exact_receipt_replay",
|
|
72
|
+
"supported": true,
|
|
73
|
+
"requires": [
|
|
74
|
+
"compact_v2_authority"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "five_delivery_gates",
|
|
79
|
+
"supported": true,
|
|
80
|
+
"requires": [
|
|
81
|
+
"compact_v2_authority"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "immutable_snapshot",
|
|
86
|
+
"supported": true,
|
|
87
|
+
"requires": []
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "legacy_v1_target_scoped_read_only",
|
|
91
|
+
"supported": true,
|
|
92
|
+
"requires": [
|
|
93
|
+
"target_scoped_status"
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "repository_independent_capabilities",
|
|
98
|
+
"supported": true,
|
|
99
|
+
"requires": []
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "restart_safe_projection",
|
|
103
|
+
"supported": true,
|
|
104
|
+
"requires": [
|
|
105
|
+
"target_scoped_status"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"name": "sdd_receipt_binding",
|
|
110
|
+
"supported": true,
|
|
111
|
+
"requires": [
|
|
112
|
+
"compact_v2_authority"
|
|
113
|
+
]
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"name": "target_scoped_status",
|
|
117
|
+
"supported": true,
|
|
118
|
+
"requires": [
|
|
119
|
+
"repository_independent_capabilities"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "uniform_failure_envelope",
|
|
124
|
+
"supported": true,
|
|
125
|
+
"requires": [
|
|
126
|
+
"repository_independent_capabilities"
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"optional": [
|
|
131
|
+
{
|
|
132
|
+
"name": "base_ref_workspace_overlay",
|
|
133
|
+
"supported": true,
|
|
134
|
+
"requires": [
|
|
135
|
+
"immutable_snapshot",
|
|
136
|
+
"restart_safe_projection"
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "bounded_process_waits",
|
|
141
|
+
"supported": true,
|
|
142
|
+
"requires": [
|
|
143
|
+
"uniform_failure_envelope"
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "exact_gate_receipt_discovery",
|
|
148
|
+
"supported": true,
|
|
149
|
+
"requires": [
|
|
150
|
+
"five_delivery_gates"
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "native_frozen_candidate_context",
|
|
155
|
+
"supported": true,
|
|
156
|
+
"requires": [
|
|
157
|
+
"immutable_snapshot"
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "native_low_risk_verification",
|
|
162
|
+
"supported": true,
|
|
163
|
+
"requires": [
|
|
164
|
+
"compact_v2_authority"
|
|
165
|
+
]
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "native_next_transition",
|
|
169
|
+
"supported": true,
|
|
170
|
+
"requires": [
|
|
171
|
+
"target_scoped_status"
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"name": "opaque_repository_context",
|
|
176
|
+
"supported": true,
|
|
177
|
+
"requires": [
|
|
178
|
+
"compact_v2_authority",
|
|
179
|
+
"native_next_transition"
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"name": "provider_targeted_validation_request",
|
|
184
|
+
"supported": true,
|
|
185
|
+
"requires": [
|
|
186
|
+
"compact_v2_authority",
|
|
187
|
+
"native_next_transition"
|
|
188
|
+
]
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "risk_reasons",
|
|
192
|
+
"supported": true,
|
|
193
|
+
"requires": [
|
|
194
|
+
"repository_independent_capabilities"
|
|
195
|
+
]
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"name": "scope_change_diagnostics",
|
|
199
|
+
"supported": true,
|
|
200
|
+
"requires": [
|
|
201
|
+
"uniform_failure_envelope"
|
|
202
|
+
]
|
|
203
|
+
}
|
|
204
|
+
]
|
|
205
|
+
},
|
|
206
|
+
"bootstrap": {
|
|
207
|
+
"command": "gentle-ai review status --cwd \u003crepo\u003e --contract gentle-ai.review-integration/v1 --next-transition",
|
|
208
|
+
"target_selector_variants": [
|
|
209
|
+
{
|
|
210
|
+
"target_type": "staged",
|
|
211
|
+
"arguments": [
|
|
212
|
+
"--projection",
|
|
213
|
+
"staged"
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"target_type": "base_ref",
|
|
218
|
+
"arguments": [
|
|
219
|
+
"--base-ref",
|
|
220
|
+
"\u003cref\u003e"
|
|
221
|
+
]
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"target_type": "workspace_overlay_base_ref",
|
|
225
|
+
"arguments": [
|
|
226
|
+
"--workspace-overlay",
|
|
227
|
+
"--base-ref",
|
|
228
|
+
"\u003cref\u003e"
|
|
229
|
+
]
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"target_type": "workspace_overlay_base_tree",
|
|
233
|
+
"arguments": [
|
|
234
|
+
"--workspace-overlay",
|
|
235
|
+
"--base-tree",
|
|
236
|
+
"\u003ctree\u003e"
|
|
237
|
+
]
|
|
238
|
+
}
|
|
239
|
+
],
|
|
240
|
+
"required_feature": "native_next_transition",
|
|
241
|
+
"unsupported_outcome": "unsupported-capability",
|
|
242
|
+
"parent_only": true
|
|
243
|
+
},
|
|
244
|
+
"compatibility": {
|
|
245
|
+
"minimum_protocol_major": 1,
|
|
246
|
+
"maximum_protocol_major": 1,
|
|
247
|
+
"additive_minor_policy": "optional-fields-only",
|
|
248
|
+
"unknown_mandatory": "reject",
|
|
249
|
+
"unknown_optional": "ignore",
|
|
250
|
+
"modes": [
|
|
251
|
+
"compact-v2",
|
|
252
|
+
"legacy-v1"
|
|
253
|
+
],
|
|
254
|
+
"legacy_window": {
|
|
255
|
+
"mode": "legacy-v1",
|
|
256
|
+
"state": "active",
|
|
257
|
+
"read_only": true,
|
|
258
|
+
"deprecation_started": true,
|
|
259
|
+
"removal": "not-scheduled",
|
|
260
|
+
"minimum_compatibility_releases": 1
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|