gh-inari 0.17.1 → 0.19.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/.codex-plugin/plugin.json +1 -1
- package/README.md +128 -137
- package/dist/admission/authorization.d.ts +9 -1
- package/dist/admission/authorization.js +179 -33
- package/dist/admission/authorization.js.map +1 -1
- package/dist/admission/server.js +20 -7
- package/dist/admission/server.js.map +1 -1
- package/dist/agent-authority/capability-admission.js +17 -1
- package/dist/agent-authority/capability-admission.js.map +1 -1
- package/dist/agent-authority/session-certificate.js +35 -3
- package/dist/agent-authority/session-certificate.js.map +1 -1
- package/dist/artifact-contract-governance.d.ts +4 -2
- package/dist/artifact-contract-governance.js +82 -14
- package/dist/artifact-contract-governance.js.map +1 -1
- package/dist/artifact-observation-identity.d.ts +25 -0
- package/dist/artifact-observation-identity.js +65 -0
- package/dist/artifact-observation-identity.js.map +1 -0
- package/dist/artifact-reconciliation-executor.d.ts +40 -0
- package/dist/artifact-reconciliation-executor.js +281 -0
- package/dist/artifact-reconciliation-executor.js.map +1 -0
- package/dist/artifact.d.ts +14 -5
- package/dist/artifact.js +978 -152
- package/dist/artifact.js.map +1 -1
- package/dist/cli/runtime/admission-client.d.ts +2 -0
- package/dist/cli/runtime/admission-client.js +65 -21
- package/dist/cli/runtime/admission-client.js.map +1 -1
- package/dist/cli/runtime/branch-observation.d.ts +14 -2
- package/dist/cli/runtime/branch-observation.js +56 -1
- package/dist/cli/runtime/branch-observation.js.map +1 -1
- package/dist/cli/runtime/session-launcher.d.ts +9 -3
- package/dist/cli/runtime/session-launcher.js +146 -40
- package/dist/cli/runtime/session-launcher.js.map +1 -1
- package/dist/cli-composition.d.ts +98 -0
- package/dist/cli-composition.js +242 -0
- package/dist/cli-composition.js.map +1 -0
- package/dist/cli-core.d.ts +15 -0
- package/dist/cli-core.js +81 -30
- package/dist/cli-core.js.map +1 -1
- package/dist/cli.d.ts +4 -5
- package/dist/cli.js +220 -20
- package/dist/cli.js.map +1 -1
- package/dist/command-contract.d.ts +55 -0
- package/dist/command-contract.js +144 -10
- package/dist/command-contract.js.map +1 -1
- package/dist/contract/artifact-contract.d.ts +44 -6
- package/dist/contract/artifact-contract.js +352 -0
- package/dist/contract/artifact-contract.js.map +1 -1
- package/dist/contract/effective-artifact-contract.d.ts +2 -1
- package/dist/contract/effective-artifact-contract.js +89 -10
- package/dist/contract/effective-artifact-contract.js.map +1 -1
- package/dist/contract/index.d.ts +1 -0
- package/dist/contract/index.js +1 -0
- package/dist/contract/index.js.map +1 -1
- package/dist/contract/json-schema-runtime.d.ts +24 -0
- package/dist/contract/json-schema-runtime.js +172 -0
- package/dist/contract/json-schema-runtime.js.map +1 -0
- package/dist/contract/native-template-projection.d.ts +7 -1
- package/dist/contract/native-template-projection.js +294 -0
- package/dist/contract/native-template-projection.js.map +1 -1
- package/dist/contract/semantic-artifact.js +298 -20
- package/dist/contract/semantic-artifact.js.map +1 -1
- package/dist/executor/execution.d.ts +10 -0
- package/dist/executor/execution.js +90 -22
- package/dist/executor/execution.js.map +1 -1
- package/dist/executor/task-termination.d.ts +11 -0
- package/dist/executor/task-termination.js +64 -0
- package/dist/executor/task-termination.js.map +1 -0
- package/dist/github/adapter-core.d.ts +3 -2
- package/dist/github/adapter-core.js +7 -3
- package/dist/github/adapter-core.js.map +1 -1
- package/dist/github/adapter.d.ts +1 -0
- package/dist/github/adapter.js +1 -0
- package/dist/github/adapter.js.map +1 -1
- package/dist/github/effect-authorizer.d.ts +1 -1
- package/dist/github/pr-publication-provider.js +11 -1
- package/dist/github/pr-publication-provider.js.map +1 -1
- package/dist/github/source-acceptance-review.d.ts +31 -0
- package/dist/github/source-acceptance-review.js +144 -0
- package/dist/github/source-acceptance-review.js.map +1 -0
- package/dist/github/task-termination-record.d.ts +19 -0
- package/dist/github/task-termination-record.js +174 -0
- package/dist/github/task-termination-record.js.map +1 -0
- package/dist/governance.d.ts +3 -2
- package/dist/governance.js +4 -4
- package/dist/governance.js.map +1 -1
- package/dist/implementation-contract.js +26 -26
- package/dist/implementation-contract.js.map +1 -1
- package/dist/implementation-lifecycle.d.ts +11 -1
- package/dist/implementation-lifecycle.js +54 -10
- package/dist/implementation-lifecycle.js.map +1 -1
- package/dist/implementation-session-binding.d.ts +9 -0
- package/dist/implementation-session-binding.js +36 -2
- package/dist/implementation-session-binding.js.map +1 -1
- package/dist/implementation-task-termination.d.ts +86 -0
- package/dist/implementation-task-termination.js +346 -0
- package/dist/implementation-task-termination.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/integration-publication-plan.d.ts +63 -0
- package/dist/integration-publication-plan.js +207 -0
- package/dist/integration-publication-plan.js.map +1 -0
- package/dist/integration-routing.js +69 -29
- package/dist/integration-routing.js.map +1 -1
- package/dist/local-control/config.js +74 -41
- package/dist/local-control/config.js.map +1 -1
- package/dist/local-control/executor-client.js +56 -0
- package/dist/local-control/executor-client.js.map +1 -1
- package/dist/local-control/executor-http.d.ts +3 -0
- package/dist/local-control/executor-http.js +85 -5
- package/dist/local-control/executor-http.js.map +1 -1
- package/dist/local-control/operator-key-registry.d.ts +34 -0
- package/dist/local-control/operator-key-registry.js +192 -0
- package/dist/local-control/operator-key-registry.js.map +1 -0
- package/dist/local-control/runtime-log.d.ts +29 -0
- package/dist/local-control/runtime-log.js +198 -0
- package/dist/local-control/runtime-log.js.map +1 -0
- package/dist/local-control/session-binding.d.ts +7 -0
- package/dist/local-control/session-binding.js +10 -0
- package/dist/local-control/session-binding.js.map +1 -1
- package/dist/local-control/supervisor.js +44 -2
- package/dist/local-control/supervisor.js.map +1 -1
- package/dist/mcp/tools.d.ts +2 -2
- package/dist/pr-publication.d.ts +26 -3
- package/dist/pr-publication.js +321 -52
- package/dist/pr-publication.js.map +1 -1
- package/dist/reconciliation.d.ts +4 -1
- package/dist/reconciliation.js +17 -6
- package/dist/reconciliation.js.map +1 -1
- package/dist/remote/repository-access-assertion.d.ts +146 -0
- package/dist/remote/repository-access-assertion.js +624 -0
- package/dist/remote/repository-access-assertion.js.map +1 -0
- package/dist/semantic-issue-closure.d.ts +2 -0
- package/dist/semantic-issue-closure.js +52 -10
- package/dist/semantic-issue-closure.js.map +1 -1
- package/dist/semantic-template.d.ts +10 -0
- package/dist/semantic-template.js +165 -2
- package/dist/semantic-template.js.map +1 -1
- package/dist/source-acceptance-policy.d.ts +65 -0
- package/dist/source-acceptance-policy.js +250 -0
- package/dist/source-acceptance-policy.js.map +1 -0
- package/dist/source-acceptance-reviewer.d.ts +96 -0
- package/dist/source-acceptance-reviewer.js +410 -0
- package/dist/source-acceptance-reviewer.js.map +1 -0
- package/dist/source-acceptance.d.ts +115 -0
- package/dist/source-acceptance.js +485 -0
- package/dist/source-acceptance.js.map +1 -0
- package/package.json +4 -3
- package/skills/inari/SKILL.md +38 -82
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "inari",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.19.0",
|
|
4
4
|
"description": "Governed GitHub Issue/PR/template workflows via the inari CLI. Prefer inari over raw gh for operations it owns; use inari skill for operational playbooks.",
|
|
5
5
|
"skills": "skills/inari"
|
|
6
6
|
}
|
package/README.md
CHANGED
|
@@ -2,26 +2,28 @@
|
|
|
2
2
|
<img src="./docs/assets/readme/inari-hero.webp" alt="Inari — GitHub Governance CLI. Standardize your workflow. Keep your project healthy." width="100%">
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<p align="center">
|
|
6
|
-
<a href="https://github.com/yohn-jp/gh-inari/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/yohn-jp/gh-inari/actions/workflows/ci.yml/badge.svg"></a>
|
|
7
|
-
<a href="https://www.npmjs.com/package/gh-inari"><img alt="npm" src="https://img.shields.io/npm/v/gh-inari"></a>
|
|
8
|
-
<a href="https://www.npmjs.com/package/gh-inari"><img alt="Node" src="https://img.shields.io/node/v/gh-inari"></a>
|
|
9
|
-
<a href="./LICENSE"><img alt="License" src="https://img.shields.io/npm/l/gh-inari"></a>
|
|
10
|
-
</p>
|
|
11
|
-
|
|
12
5
|
# Inari
|
|
13
6
|
|
|
14
7
|
**Deterministic GitHub Governance**
|
|
15
8
|
|
|
16
|
-
Inari (`inari`, published as `gh-inari`) turns repository-governed GitHub
|
|
9
|
+
Inari (`inari`, published as `gh-inari`) turns repository-governed GitHub work
|
|
10
|
+
into typed, deterministic contracts. It resolves repository policy, validates
|
|
11
|
+
semantic intent, renders canonical artifacts, admits bounded operations, and
|
|
12
|
+
verifies their actual outcomes.
|
|
13
|
+
|
|
14
|
+
The short lifecycle is **Issue → Change → PR → Merge**. A Source outcome,
|
|
15
|
+
Implementation task, Session, leaf PR, and integration PR remain distinct
|
|
16
|
+
identities within that workflow.
|
|
17
17
|
|
|
18
|
-
Inari is
|
|
18
|
+
Inari is not a general `gh` wrapper, arbitrary remote shell, credential
|
|
19
|
+
sharing service, or agent scheduler. Unsupported or ambiguous authority fails
|
|
20
|
+
closed rather than falling back to a broader credential.
|
|
19
21
|
|
|
20
22
|
## Quick start
|
|
21
23
|
|
|
22
24
|
Requires Node.js 24 or newer.
|
|
23
25
|
|
|
24
|
-
```
|
|
26
|
+
```sh
|
|
25
27
|
npm install --global gh-inari
|
|
26
28
|
|
|
27
29
|
inari --version --json
|
|
@@ -29,186 +31,175 @@ inari template list
|
|
|
29
31
|
inari issue schema feature --json
|
|
30
32
|
```
|
|
31
33
|
|
|
32
|
-
|
|
34
|
+
An ephemeral invocation is also available:
|
|
33
35
|
|
|
34
|
-
```
|
|
36
|
+
```sh
|
|
35
37
|
npx --yes gh-inari --version --json
|
|
36
38
|
```
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
```bash
|
|
44
|
-
inari setup
|
|
45
|
-
# If setup reports trust-pending, open the printed Runtime Authority record
|
|
46
|
-
# in a governed trust PR and merge it on the protected default branch.
|
|
47
|
-
inari setup
|
|
48
|
-
inari runtime connect
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Setup stores only a repository-scoped, secret-free Runtime profile. It never
|
|
52
|
-
commits, pushes, approves, or merges Runtime Authority trust; `ready` is
|
|
53
|
-
reported only after canonical protected-ref readiness succeeds.
|
|
54
|
-
|
|
55
|
-
The local setup state is shared by the CLI and a loopback browser console:
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
inari setup status # canonical state and the one next action
|
|
59
|
-
inari setup next # perform exactly that action through its owner
|
|
60
|
-
inari setup console # owned loopback setup host; works before any key or trust
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## The governed path
|
|
64
|
-
|
|
65
|
-
```text
|
|
66
|
-
Issue → Change → PR → Merge
|
|
67
|
-
intent governed review explicit
|
|
68
|
-
execution outcome
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
A repository defines the contracts. Inari resolves those authorities, validates structured intent, produces canonical GitHub artifacts, and keeps lifecycle transitions bounded by explicit semantics rather than free-form CLI mutation.
|
|
72
|
-
|
|
73
|
-
The Change surface exposes bounded lifecycle operations:
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
inari change issue <number> --json
|
|
77
|
-
inari change show <number> --json
|
|
78
|
-
inari change ready <number> --json
|
|
79
|
-
inari change abort <number> --json
|
|
80
|
-
```
|
|
40
|
+
`inari` is the canonical executable; `gh-inari` is its npm binary alias.
|
|
41
|
+
Use installed Help for the exact versioned command contract and explicit
|
|
42
|
+
repository selection. Common shell behavior is being converged to CLI Canon;
|
|
43
|
+
that migration does not change repository authorization.
|
|
81
44
|
|
|
82
|
-
|
|
45
|
+
## Architecture status
|
|
83
46
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
```text
|
|
89
|
-
Epic (epic/<number>-<slug>)
|
|
90
|
-
<- source Issue (issue/<number>-<slug>)
|
|
91
|
-
<- Implementation (feat|fix|refactor|test|docs|chore/<number>-<slug>)
|
|
92
|
-
```
|
|
47
|
+
The [Product Architecture Canon](./docs/ARCHITECTURE.md) records the approved
|
|
48
|
+
2026-09-27 target. The [convergence ledger](./docs/ARCHITECTURE_CONVERGENCE.md)
|
|
49
|
+
distinguishes current implementation, accepted changes, remaining integration,
|
|
50
|
+
and required certification.
|
|
93
51
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
may proceed concurrently; merge order is not a dependency DAG. Standalone
|
|
99
|
-
Issues and explicitly legacy in-flight Epic routes remain compatible.
|
|
52
|
+
Documentation of a target is not a claim that every advertised interface or
|
|
53
|
+
live deployment already implements it. In particular, the new Hosted
|
|
54
|
+
assertion/Relay profile and retirement of independent Direct App execution
|
|
55
|
+
require their governed implementation and public-path proof.
|
|
100
56
|
|
|
101
57
|
## Design principles
|
|
102
58
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
| **Canonical** | One governed semantic input produces one canonical projection. Native GitHub artifacts remain interoperable, while ambiguity fails closed. |
|
|
106
|
-
| **Deterministic** | Resolution, validation, rendering, reconciliation, and lifecycle decisions are explicit and reproducible. |
|
|
107
|
-
| **Machine-verifiable** | Schemas, structured diagnostics, bounded JSON projections, and lifecycle evidence are designed for both humans and agents. |
|
|
59
|
+
**Canonical:** each semantic fact has one owner; native GitHub artifacts and
|
|
60
|
+
client interfaces are projections, not competing policy.
|
|
108
61
|
|
|
109
|
-
|
|
62
|
+
**Deterministic:** the same admitted contract/input/evidence yields the same
|
|
63
|
+
projection and plan. Unavailable evidence is not treated as absence.
|
|
110
64
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
| Issues | Schema, validate, render, create, read, observe, and reconcile governed Issues | `inari issue --help` |
|
|
115
|
-
| Pull requests | Apply the same semantic pipeline to governed PRs | `inari pr --help` |
|
|
116
|
-
| Change | Enter and inspect the governed execution lifecycle | `inari change --help` |
|
|
117
|
-
| Diagnostics | Verify the installed runtime and required capabilities | `inari --diagnose --json` |
|
|
65
|
+
**Machine-verifiable:** typed schemas, bounded diagnostics, current identity,
|
|
66
|
+
and execution evidence support both humans and agents without exposing
|
|
67
|
+
provider credentials.
|
|
118
68
|
|
|
119
|
-
|
|
69
|
+
## Templates and semantic artifacts
|
|
120
70
|
|
|
121
|
-
|
|
71
|
+
Repositories define authoring contracts under `.github/inari/` or use the
|
|
72
|
+
supported native-template compatibility path. Semantic source owns meaning;
|
|
73
|
+
GitHub Issue Forms and PR Markdown are generated projections.
|
|
74
|
+
|
|
75
|
+
```sh
|
|
122
76
|
inari issue schema feature --json
|
|
123
77
|
inari issue validate --template feature --from issue.json
|
|
124
78
|
inari issue render --template feature --from issue.json
|
|
125
79
|
inari issue create --template feature --from issue.json
|
|
126
80
|
```
|
|
127
81
|
|
|
128
|
-
|
|
82
|
+
`--from -` selects stdin where supported. Pure schema/validation/rendering is
|
|
83
|
+
not implicit provider mutation. Creation follows semantic validation,
|
|
84
|
+
canonical rendering, freshness, and the admitted provider boundary.
|
|
129
85
|
|
|
130
|
-
|
|
86
|
+
See [Semantic Templates](./docs/SEMANTIC_TEMPLATES.md) for exact discovery
|
|
87
|
+
paths, native synchronization, import, and current compatibility. The
|
|
88
|
+
schema-native target makes JSON Schema the generic data-shape authority while
|
|
89
|
+
Inari retains value authority, relations, derivation, and provenance.
|
|
131
90
|
|
|
132
|
-
|
|
91
|
+
Existing artifact observation and reconciliation preserve human intent and
|
|
92
|
+
free text. Automatic convergence may only perform proven semantics-preserving
|
|
93
|
+
repair; missing intent or ambiguous template selection remains explicit.
|
|
133
94
|
|
|
134
|
-
|
|
135
|
-
inari template sync
|
|
136
|
-
```
|
|
95
|
+
## Source and Implementation
|
|
137
96
|
|
|
138
|
-
|
|
97
|
+
A Source Issue defines the desired outcome and acceptance. An Implementation
|
|
98
|
+
is the separate bounded task contract with scope, constraints, base/branch,
|
|
99
|
+
dependencies, tests, and postconditions.
|
|
139
100
|
|
|
140
|
-
|
|
101
|
+
Session task and leaf publication bind the Implementation. Source Change
|
|
102
|
+
operations select a canonical Source in both the signed and current
|
|
103
|
+
Implementation Source sets. Multiple Sources do not imply a primary Source
|
|
104
|
+
or multiple implicit PR bases.
|
|
141
105
|
|
|
142
|
-
|
|
106
|
+
WRITE never implies CREATE or DELETE. DENY and protected paths remain
|
|
107
|
+
additional restrictions. Completion of one task/PR is not completion of its
|
|
108
|
+
Source or Epic.
|
|
143
109
|
|
|
144
|
-
|
|
110
|
+
See [Implementation Contract](./docs/IMPLEMENTATION_CONTRACT.md) and
|
|
111
|
+
[Golden Path Composition](./docs/GOLDEN_PATH_ARCHITECTURE.md).
|
|
145
112
|
|
|
146
|
-
|
|
113
|
+
## Runtime and operator experience
|
|
147
114
|
|
|
148
|
-
|
|
115
|
+
Admission authenticates and authorizes. Executor owns Inari Access App custody,
|
|
116
|
+
repository/installation binding, provider reads, and admitted effects.
|
|
117
|
+
Authority owns delegation-signing keys. Setup and Console consume public owner
|
|
118
|
+
ports and retain secret-free repository references.
|
|
149
119
|
|
|
150
|
-
|
|
120
|
+
The current local Setup entrypoints include:
|
|
151
121
|
|
|
152
|
-
|
|
122
|
+
```sh
|
|
123
|
+
inari setup status
|
|
124
|
+
inari setup next
|
|
125
|
+
inari setup console
|
|
126
|
+
```
|
|
153
127
|
|
|
154
|
-
|
|
128
|
+
These expose canonical state and next action. Configuration, health, provider
|
|
129
|
+
binding, repository trust, and Session readiness are not one ready flag.
|
|
130
|
+
A trust PR must receive independent human approval/merge and protected-ref
|
|
131
|
+
reread before trust is established.
|
|
155
132
|
|
|
156
|
-
|
|
133
|
+
The target unified machine Console serves multiple isolated repository
|
|
134
|
+
contexts. Connect, Disconnect, and rotation are recoverable owner operations,
|
|
135
|
+
not implicit directory deletion or silent key regeneration.
|
|
157
136
|
|
|
158
|
-
|
|
137
|
+
Detailed key/bootstrap/recovery procedures are in
|
|
138
|
+
[Delegator Operations](./docs/DELEGATOR_OPERATIONS.md). Explicit non-loopback
|
|
139
|
+
transport is described in [Remote Runtime Transport](./docs/LOCAL_RUNTIME_NON_LOOPBACK.md).
|
|
159
140
|
|
|
160
|
-
|
|
141
|
+
## Remote access target
|
|
161
142
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
| [Architecture Vocabulary](./docs/ARCHITECTURE.md) | Canonical provider, credential, principal, and observation vocabulary |
|
|
166
|
-
| [Semantic Templates](./docs/SEMANTIC_TEMPLATES.md) | Semantic template authority and GitHub-native projections |
|
|
167
|
-
| [Implementation Contract](./docs/IMPLEMENTATION_CONTRACT.md) | Bounded implementation-session contract and scope model |
|
|
143
|
+
Hosted authenticates through Inari Access user OAuth, verifies caller and
|
|
144
|
+
repository eligibility, and relays a short-lived signed request-bound
|
|
145
|
+
assertion. It does not persist or forward the user's GitHub token.
|
|
168
146
|
|
|
169
|
-
|
|
147
|
+
A stable public Relay locator is derived from a separate user-owned transport
|
|
148
|
+
key and bound to an authenticated live connection. The locator grants no
|
|
149
|
+
repository permission. Private repositories do not require public discovery.
|
|
170
150
|
|
|
171
|
-
|
|
151
|
+
All repository semantics and subject/operation admission terminate on the
|
|
152
|
+
user-owned Runtime. Normal provider effects use Executor-owned installation
|
|
153
|
+
credentials. Hosted has no repository work database or alternate executor.
|
|
172
154
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
→ validate semantic input
|
|
177
|
-
→ render canonical artifact
|
|
178
|
-
→ verify round-trip
|
|
179
|
-
→ perform the governed provider operation
|
|
180
|
-
```
|
|
155
|
+
See [Hosted Relay](./docs/HOSTED_RELAY_DEPLOYMENT.md) and
|
|
156
|
+
[Repository Access Assertion](./docs/REPOSITORY_ACCESS_ASSERTION.md) for the
|
|
157
|
+
approved boundaries and remaining implementation/certification gates.
|
|
181
158
|
|
|
182
|
-
|
|
159
|
+
## Agents, MCP, and packaged Skill
|
|
183
160
|
|
|
184
|
-
|
|
161
|
+
The published package contains the Codex Plugin manifest and bundled Inari
|
|
162
|
+
Skill; activation is explicit. An npm installation does not silently activate
|
|
163
|
+
an agent plugin.
|
|
185
164
|
|
|
186
|
-
|
|
165
|
+
The Skill is a thin router to canonical playbooks, Help, and repository
|
|
166
|
+
execution governance. It does not override a repository's active restrictions
|
|
167
|
+
or maintain a second command/permission catalog.
|
|
187
168
|
|
|
188
|
-
|
|
169
|
+
MCP exposes the same typed operation contracts. Hosted MCP relays rather than
|
|
170
|
+
running a second semantic backend. Protocol access grants no shell, raw GitHub
|
|
171
|
+
proxy, review, merge, or operator-enrollment authority.
|
|
189
172
|
|
|
190
|
-
|
|
191
|
-
npm install --global gh-inari@latest
|
|
192
|
-
npm uninstall --global gh-inari
|
|
193
|
-
```
|
|
173
|
+
## Security boundaries
|
|
194
174
|
|
|
195
|
-
|
|
175
|
+
Caller identity is not provider execution identity. App credentials remain
|
|
176
|
+
inside Executor, delegation keys at Authority, and Relay transport keys at
|
|
177
|
+
the user-owned client. Admission receives validated evidence, not provider
|
|
178
|
+
credentials.
|
|
196
179
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
```
|
|
180
|
+
A successful provider response is not enough: execution rereads authoritative
|
|
181
|
+
state and verifies the planned postcondition. Timeouts after possible effects
|
|
182
|
+
retain uncertainty and require safe reconciliation, not blind replay.
|
|
201
183
|
|
|
202
|
-
|
|
184
|
+
See [Security Policy](./SECURITY.md),
|
|
185
|
+
[Caller Authentication](./docs/AGENT_CAPABILITY_AUTHORIZATION.md), and
|
|
186
|
+
[Inari Access](./docs/INARI_ISSUER_APP.md).
|
|
203
187
|
|
|
204
|
-
## Development
|
|
188
|
+
## Development and verification
|
|
205
189
|
|
|
206
|
-
```
|
|
190
|
+
```sh
|
|
207
191
|
pnpm install --frozen-lockfile
|
|
208
192
|
pnpm run verify
|
|
209
193
|
```
|
|
210
194
|
|
|
211
|
-
`pnpm run verify`
|
|
195
|
+
`pnpm run verify` remains the authoritative local entrypoint. Source, built,
|
|
196
|
+
installed-package, process, browser, and live-provider evidence are different
|
|
197
|
+
proof classes. The target removes duplicate execution at the same boundary
|
|
198
|
+
and separates routine verification from release-preparation certification.
|
|
199
|
+
|
|
200
|
+
Read [Verification Architecture](./docs/VERIFICATION_ARCHITECTURE.md) and
|
|
201
|
+
[Contributing](./CONTRIBUTING.md). A pending, environment-blocked, or unexecuted
|
|
202
|
+
check is never reported as passed.
|
|
212
203
|
|
|
213
204
|
## License
|
|
214
205
|
|
|
@@ -28,7 +28,15 @@ export interface AdmissionAuthorizationOptions {
|
|
|
28
28
|
*/
|
|
29
29
|
readonly readBranchPolicy?: (request: LocalExecutorBranchPolicyRequest) => Promise<unknown>;
|
|
30
30
|
}
|
|
31
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Current, owner-acquired branch-policy input for one governed Implementation.
|
|
33
|
+
*
|
|
34
|
+
* #1213: when the owner projects the Implementation's canonical Source set,
|
|
35
|
+
* Admission attaches the certificate-safe projection of the current authorized
|
|
36
|
+
* Implementation carrying that set. The Session launcher signs it as the upper
|
|
37
|
+
* bound of Source-rooted change.* capabilities; the Session task stays the
|
|
38
|
+
* Implementation. The projected set must equal the owner's parsed set.
|
|
39
|
+
*/
|
|
32
40
|
export declare function currentBranchPolicyInput(repository: SessionCertificateRepository, implementation: number, options: AdmissionAuthorizationOptions, stage: RuntimeFailureStage): Promise<LocalBranchPolicyInput>;
|
|
33
41
|
export interface AdmittedSession {
|
|
34
42
|
readonly id: string;
|