@nimiplatform/nimi-coding 0.4.0 → 0.5.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/CHANGELOG.md +9 -0
- package/README.md +47 -35
- package/README.zh-CN.md +48 -36
- package/cli/commands/authority.mjs +80 -125
- package/cli/constants.mjs +1 -1
- package/cli/dev/check-authority-surface.mjs +17 -8
- package/cli/dev/check-product-conformance.mjs +4 -32
- package/cli/lib/authority/audit.mjs +262 -185
- package/cli/lib/authority/change-candidates.mjs +807 -0
- package/cli/lib/authority/closed-sets.mjs +7 -8
- package/cli/lib/authority/compile.mjs +6 -24
- package/cli/lib/authority/compiled-snapshot.mjs +143 -0
- package/cli/lib/authority/consumers.mjs +69 -19
- package/cli/lib/authority/diagnostics.mjs +7 -1
- package/cli/lib/authority/diff.mjs +77 -54
- package/cli/lib/authority/format.mjs +4 -32
- package/cli/lib/authority/git-snapshot.mjs +34 -379
- package/cli/lib/authority/graph.mjs +10 -10
- package/cli/lib/authority/impact.mjs +17 -144
- package/cli/lib/authority/review.mjs +33 -43
- package/cli/lib/authority/sarif.mjs +1 -8
- package/cli/lib/authority/source-yaml.mjs +0 -4
- package/cli/lib/authority/surface.mjs +19 -1
- package/cli/lib/authority/terms.mjs +10 -9
- package/cli/lib/authority/validate.mjs +6 -14
- package/cli/lib/entrypoints.mjs +2 -1
- package/contracts/authority-source.schema.yaml +0 -6
- package/contracts/authority-verifier-bindings.schema.yaml +21 -10
- package/methodology/authority-authoring.yaml +9 -26
- package/methodology/core.yaml +5 -3
- package/package.json +1 -1
- package/spec/authority-audit.yaml +56 -52
- package/spec/authority-authoring.yaml +3 -16
- package/spec/authority-change-candidates.yaml +146 -0
- package/spec/authority-consumers.yaml +7 -0
- package/spec/authority-discovery.yaml +2 -2
- package/spec/authority-graph.yaml +1 -1
- package/spec/authority-impact.yaml +16 -39
- package/spec/authority-review.yaml +29 -47
- package/spec/authority-terms.yaml +5 -1
- package/spec/product-scope.yaml +8 -7
- package/cli/lib/authority/evidence-snapshot.mjs +0 -1
- package/cli/lib/authority/evidence.mjs +0 -1432
- package/contracts/authority-evidence-bindings.schema.yaml +0 -53
- package/contracts/authority-evidence-probe-results.schema.yaml +0 -38
- package/contracts/authority-impact-dispositions.schema.yaml +0 -13
- package/spec/authority-evidence.yaml +0 -200
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 0.5.0
|
|
6
|
+
|
|
7
|
+
- Hard-cut canonical source admission to `nimicoding.authority/v2`; removed `fmt --upgrade`, `check --require-format`, and all v1 migration/history compatibility paths.
|
|
8
|
+
- Hard-cut the public `authority evidence` surface and impact-disposition contract; implementation/test/gate execution and conformance remain host-project responsibilities.
|
|
9
|
+
- Revised `authority audit`, `authority impact`, and `authority review` to v2 contracts: audit evaluates explicit graph and exact lexical-invariant bindings without positive proof packets, impact is pure before/after analysis, and review reports narrow assurance dimensions with business semantics and implementation conformance explicitly not evaluated.
|
|
10
|
+
- Added explicit-channel `authority change-candidates`, immutable per-invocation compiler snapshots with transient indexes, acronym-bearing term support, and focused source-string escape handling for authority consumer paths; no SQLite, cache, ranking, inferred relation, or semantic judgment is introduced.
|
|
11
|
+
- Reused one immutable snapshot pair across diff and change-derived recall, made audit consume the same read model, normalized fail-closed `partial: false` envelopes, hardened segment-aware path containment, and added corpus-bound audit surface consistency checks.
|
|
12
|
+
- Renamed graph and audit traversal accounting away from proof terminology while preserving complete fail-closed budget enforcement.
|
|
13
|
+
|
|
5
14
|
## 0.4.0
|
|
6
15
|
|
|
7
16
|
- Added bounded fail-closed `authority anchors` validation for closed lexical file/script anchors and optional tracked-file scope globs against an exact Git repository root.
|
package/README.md
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
**Deterministic authority for AI coding systems and third-party extensions.**
|
|
6
6
|
|
|
7
|
-
Nimi Coding turns project-owned normative specifications into stable identities, exact source locations, authored relations, and bounded fail-closed machine products. AI hosts, agent frameworks, CI systems, editor tooling, and third-party extensions can use those products to discover authority,
|
|
7
|
+
Nimi Coding turns project-owned normative specifications into stable identities, exact source locations, authored relations, and bounded fail-closed machine products. AI hosts, agent frameworks, CI systems, editor tooling, and third-party extensions can use those products to discover authority, navigate relationships, and review exact changes without treating model inference as repository truth.
|
|
8
8
|
|
|
9
9
|
Most end users should not need to invoke `nimicoding` directly. The primary integration surface is the documented CLI and its purpose-specific JSON products. Nimi Coding is not an AI agent, planner, code generator, approval workflow, or universal specification language.
|
|
10
10
|
|
|
11
11
|
## Why it exists
|
|
12
12
|
|
|
13
|
-
AI models are good at generating code. They are less reliable at determining which document is authoritative, whether a search result is complete, how a rule moved across files, which declared relationships a change affects, or
|
|
13
|
+
AI models are good at generating code. They are less reliable at determining which document is authoritative, whether a search result is complete, how a rule moved across files, which declared relationships a change affects, or what a deterministic check actually evaluated.
|
|
14
14
|
|
|
15
15
|
Nimi Coding makes those questions explicit:
|
|
16
16
|
|
|
@@ -19,11 +19,12 @@ Nimi Coding makes those questions explicit:
|
|
|
19
19
|
| Several documents appear authoritative | One closed canonical authority boundary |
|
|
20
20
|
| Paths and headings change | Stable logical unit IDs independent of files and order |
|
|
21
21
|
| Search returns noisy or truncated context | Bounded discovery, exact query, declared context, and graph products |
|
|
22
|
+
| A semantic cut leaves unchanged survivors outside declared relations | Change-derived recall over caller-selected exact owner/scope/term/relation/Definition channels |
|
|
22
23
|
| A model cannot cite the exact source | Portable field- and relation-level SourceMap locations |
|
|
23
24
|
| Textual diffs obscure semantic change | Stable-ID semantic diff and declared impact obligations |
|
|
24
|
-
| “No result” is presented as “clean” | Explicit budgets,
|
|
25
|
+
| “No result” is presented as “clean” | Explicit budgets, scoped statuses, refusal, and failure semantics |
|
|
25
26
|
| A Git review may mix moving inputs | Immutable base OID plus race-checked complete worktree capture |
|
|
26
|
-
|
|
|
27
|
+
| Structural checks are read as product conformance | Business semantics and implementation conformance remain explicitly `not_evaluated` |
|
|
27
28
|
|
|
28
29
|
## Product model
|
|
29
30
|
|
|
@@ -38,7 +39,7 @@ Authority Foundation
|
|
|
38
39
|
▼
|
|
39
40
|
Spec Intelligence Plane
|
|
40
41
|
discover · query · context · refs/path/subgraph
|
|
41
|
-
diff · impact · audit · review
|
|
42
|
+
diff · change-candidates · impact · audit · review
|
|
42
43
|
│
|
|
43
44
|
▼
|
|
44
45
|
Purpose-specific JSON / human output / SARIF (audit only)
|
|
@@ -56,12 +57,11 @@ Projects own all product meaning. Nimi Coding admits, locates, relates, and deri
|
|
|
56
57
|
| Authority Foundation | Canonical YAML/Markdown, formatter, complete-root check, private deterministic compiler and SourceMap | Unknown or unsupported canonical input is rejected, not ignored |
|
|
57
58
|
| Discovery and exact reads | Exact kind/owner/scope/lifecycle filters, normalized lexical snippets, optional direct relation preview, exact query, bounded declared context | No semantic search, automatic authority selection, or absence proof |
|
|
58
59
|
| Graph navigation | Incoming/outgoing refs, deterministic paths, bounded subgraphs over `applies_to` and `supersedes` | Only authored relations; no inferred semantic graph |
|
|
59
|
-
| Change intelligence | Stable-ID semantic diff and relation-derived impact obligations |
|
|
60
|
-
| Deterministic audit | Project-owned verifier
|
|
61
|
-
| Git-aware review | Immutable base commit plus exact, race-checked current worktree snapshot composed through compile/diff/impact/audit | Read-only;
|
|
62
|
-
| Authority-to-code evidence | Exact authority/scope to declared package-script command/test target reachability | Static narrow slice only; commands/tests are not executed and completed evidence leaves conformance `not_evaluated` |
|
|
60
|
+
| Change intelligence | Stable-ID semantic diff, change-derived active-survivor recall, and relation-derived impact obligations | Candidate completeness is scoped to explicit channels; impact accepts no disposition or completion state |
|
|
61
|
+
| Deterministic audit | Project-owned bindings for the graph verifier and exact lexical invariants, with JSON and SARIF 2.1.0 | Exact case-sensitive token/phrase checks only; no synonym, embedding, or natural-language contradiction inference |
|
|
62
|
+
| Git-aware review | Immutable base commit plus exact, race-checked current worktree snapshot composed through compile/diff/impact/audit | Read-only; business semantics and implementation conformance are explicitly `not_evaluated` |
|
|
63
63
|
|
|
64
|
-
The current Nimi-realm validation corpus contains
|
|
64
|
+
The current Nimi-realm validation corpus contains 33 canonical containers, 2,212 authority units, and 2,159 authored relations. Those figures demonstrate a real large-corpus replay; they are not package limits or a claim that the grammar covers every possible domain.
|
|
65
65
|
|
|
66
66
|
## Five-minute adoption path
|
|
67
67
|
|
|
@@ -97,7 +97,7 @@ units:
|
|
|
97
97
|
target: definition.checkout-session
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
>
|
|
100
|
+
> `nimicoding.authority/v2` is the only admitted source format. The container carries `owner` and a single `scope`, and units may omit `lifecycle` and empty `relations`. Older source formats fail closed in formatting, admission, compilation, and history-facing analysis; Git history remains the recovery record rather than a compatibility input.
|
|
101
101
|
|
|
102
102
|
Format changed files, admit the complete root, and query one exact unit:
|
|
103
103
|
|
|
@@ -132,7 +132,7 @@ Only active-unit `meaning`, `statement`, `condition`, and `failure` fields are s
|
|
|
132
132
|
|
|
133
133
|
Canonical YAML is a closed `format` plus non-empty `units` container. Canonical Markdown is a strict single-unit profile. The model is intentionally compact: `Rule` and `Definition`, `active` and `removed`, `must` and `must_not`, plus authored `applies_to` and linear `supersedes` relations.
|
|
134
134
|
|
|
135
|
-
If a domain needs member-level API, schema, enum, state-machine, formula, or catalog structure that this grammar does not support, keep that precision in a specialized artifact outside the canonical grammar. Connect it
|
|
135
|
+
If a domain needs member-level API, schema, enum, state-machine, formula, or catalog structure that this grammar does not support, keep that precision in a specialized artifact outside the canonical grammar. Connect it through a project-owned adapter when a real integration requires it. Do not add arbitrary canonical fields: unknown fields fail closed so that no consumer can silently ignore intended authority.
|
|
136
136
|
|
|
137
137
|
## AI host and extension journey
|
|
138
138
|
|
|
@@ -145,12 +145,11 @@ Task has no exact authority ID
|
|
|
145
145
|
→ fmt changed sources + check the complete root
|
|
146
146
|
→ review immutable base versus exact worktree
|
|
147
147
|
(semantic diff + declared impact + current audit)
|
|
148
|
-
→ separately, if configured, inspect current-worktree evidence
|
|
149
148
|
```
|
|
150
149
|
|
|
151
150
|
The host owns authority selection, planning, editing, retries, remediation, review state, and completion. Nimi Coding owns request validation, deterministic computation, explicit budgets, exact locations, and honest result boundaries.
|
|
152
151
|
|
|
153
|
-
For machine integration, invoke the CLI with an argument array and consume both its exit status and JSON envelope. Read product
|
|
152
|
+
For machine integration, invoke the CLI with an argument array and consume both its exit status and JSON envelope. Read each product's scoped operation, analysis, and blocking status; never infer business or implementation conformance from an empty candidate/finding array. Invalid usage or internal failure and a completed-but-blocked product have distinct command-specific exits.
|
|
154
153
|
|
|
155
154
|
In a configured Git project, use exact Git-aware review for one composed authority change product:
|
|
156
155
|
|
|
@@ -158,16 +157,30 @@ In a configured Git project, use exact Git-aware review for one composed authori
|
|
|
158
157
|
pnpm exec nimicoding authority review . \
|
|
159
158
|
--base origin/main \
|
|
160
159
|
--bindings .nimi/config/authority-verifiers.yaml \
|
|
161
|
-
--dispositions .nimi/local/authority-impact-dispositions.yaml \
|
|
162
160
|
--max-units 1024 \
|
|
163
161
|
--max-edges 4096 \
|
|
164
162
|
--max-bytes 2097152 \
|
|
165
163
|
--json
|
|
166
164
|
```
|
|
167
165
|
|
|
168
|
-
This example assumes that the repository already owns valid verifier bindings and
|
|
166
|
+
This example assumes that the repository already owns valid verifier bindings and that `origin/main` resolves to a commit containing `.nimi/spec`. `start` intentionally creates none of those project semantics or governance files.
|
|
169
167
|
|
|
170
|
-
The base ref is resolved once to a full commit OID. The base `.nimi/spec` tree is read from Git objects; the complete current `.nimi/spec` filesystem tree includes tracked unchanged files, edits, deletions, untracked files, and unsupported entries. Capture races, missing objects, invalid corpora, malformed bindings
|
|
168
|
+
The base ref is resolved once to a full commit OID. The base `.nimi/spec` tree is read from Git objects; the complete current `.nimi/spec` filesystem tree includes tracked unchanged files, edits, deletions, untracked files, and unsupported entries. Capture races, missing objects, invalid corpora, malformed bindings, and insufficient budgets refuse the result instead of publishing mixed analysis. The command never checks out, stashes, resets, stages, commits, or manages a PR.
|
|
169
|
+
|
|
170
|
+
For a redesign or rename that can leave unchanged active survivors outside the declared graph, run change-derived recall over an explicit channel set:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
pnpm exec nimicoding authority change-candidates path/to/before-spec .nimi/spec \
|
|
174
|
+
--channels direct_relation,definition_identity,definition_title \
|
|
175
|
+
--max-candidates 2048 \
|
|
176
|
+
--max-reasons 20000 \
|
|
177
|
+
--max-bytes 33554432 \
|
|
178
|
+
--json
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
The result contains each recalled active non-root unit, its raw normative fields and modality, and exact side-qualified reasons. `complete: true` means the full union and all reasons for the caller-requested channels—not semantic relevance, conflict, retirement, authority validity, or implementation conformance. Owner, scope, and changed-term channels are available when the host explicitly wants their broader recall. Source-container proximity is excluded because regrouping is non-semantic and a complete annotation would grow as the root/candidate Cartesian product.
|
|
182
|
+
|
|
183
|
+
Diff, review, and change-derived recall reuse immutable per-invocation compiler snapshots with transient `byId`, owner, scope, container, incoming, and outgoing indexes. Nothing is persisted: SQLite, cache invalidation, incremental compilation, embeddings, and cleanup state remain outside the product until a measured workload justifies them.
|
|
171
184
|
|
|
172
185
|
## Comparison: old Nimi, current Nimi Coding, and a mature conventional spec stack
|
|
173
186
|
|
|
@@ -176,7 +189,7 @@ The base ref is resolved once to a full commit OID. The base `.nimi/spec` tree i
|
|
|
176
189
|
| Dimension | Pre-refactor Nimi spec system | Current Nimi Coding | Mature conventional spec stack |
|
|
177
190
|
| --- | --- | --- | --- |
|
|
178
191
|
| Authority boundary | Human contracts, tables, generated views, maps, and profile rules required precedence conventions | One closed canonical authority root | Several specialized sources of truth, usually without one cross-format boundary |
|
|
179
|
-
| Reference corpus shape | 144 mixed files: 101 Markdown, 43 YAML, including 33 generated views and 42 tables |
|
|
192
|
+
| Reference corpus shape | 144 mixed files: 101 Markdown, 43 YAML, including 33 generated views and 42 tables | 33 canonical containers compiling to 2,212 stable units | Project-specific and heterogeneous |
|
|
180
193
|
| Identity | Contract IDs, `R-*` anchors, paths, and table rows were not universal | One stable ID per unit, independent of file, order, move, or regroup | Strong inside some formats, inconsistent across formats |
|
|
181
194
|
| Domain-internal precision | Some tables modeled entities, required fields, API operations, Prisma/OpenAPI/service locators directly | Many enum/schema/state/catalog details remain atomic prose inside a Definition | OpenAPI, Schema, Protobuf, and dedicated DSLs are strongest in their domains |
|
|
182
195
|
| Human rationale | Rich contracts and generated guides | Deliberately compact; long rationale belongs outside canonical authority | ADRs and design documents are strongest |
|
|
@@ -188,10 +201,10 @@ The base ref is resolved once to a full commit OID. The base `.nimi/spec` tree i
|
|
|
188
201
|
| Relationship graph | Links, maps, custom fields, and Atlas-like projections | One authored, bounded `applies_to`/`supersedes` graph | `$ref`, links, imports, and conventions remain format-specific |
|
|
189
202
|
| Conflict discovery | Custom checks could find project-specific drift | Structural conflicts are deterministic; prose contradictions still require AI/human analysis | Format-local conflicts can be strong; cross-format conflict remains difficult |
|
|
190
203
|
| Semantic change | File diff and generated drift dominated | Stable-ID semantic diff; rename/regroup/format-only changes can be semantic zero | Prose is line-diffed; specialized formats may have excellent domain diff tools |
|
|
191
|
-
| Impact and audit | Project scripts, maps, and team knowledge | Declared relation impact plus
|
|
204
|
+
| Impact and audit | Project scripts, maps, and team knowledge | Declared relation impact plus configured graph and exact lexical findings | Build graphs, CODEOWNERS, linters, and tests are strong but fragmented |
|
|
192
205
|
| Git review | No unified exact authority snapshot product | Immutable-base, race-checked worktree review | Usually Git diff plus independent format-specific checks |
|
|
193
|
-
| Spec-to-code relationship | Direct paths were detailed but could become stale |
|
|
194
|
-
| Executable conformance | Some custom scripts checked specific project facts |
|
|
206
|
+
| Spec-to-code relationship | Direct paths were detailed but could become stale | Not currently modeled by the authority core | Codegen, type checking, and contract tests can be substantially stronger |
|
|
207
|
+
| Executable conformance | Some custom scripts checked specific project facts | Explicitly `not_evaluated` by review | High-quality tests and executable contracts are strongest |
|
|
195
208
|
| Ecosystem | Highly project-specific | Stable CLI/JSON products, but no public JS SDK or model/tool standard yet | OpenAPI/Schema/test ecosystems and third-party interoperability are mature |
|
|
196
209
|
| Authoring cost | Multiple representations and generators were expensive | IDs, owners, scopes, lifecycles, and relations require discipline | Lowest during exploration; governance cost rises with corpus size |
|
|
197
210
|
| Best fit | A project-specific integrated spec system | Stable normative authority control alongside a large, AI-consumed estate of specialized specs | Exploration and specialized API/data/behavior contracts |
|
|
@@ -208,21 +221,21 @@ Three levels of product truth should remain distinct:
|
|
|
208
221
|
2. **Improved but incomplete:** locating and tracing the exact inputs for human/AI conflict review, task-context assembly, owner/scope accountability, and spec-to-code traceability. Contradiction judgment itself is not a deterministic product.
|
|
209
222
|
3. **Intentionally not solved:** universal business-semantic completeness, automatic authority selection, executable code conformance, model reasoning, and AI workflow orchestration.
|
|
210
223
|
|
|
211
|
-
The long-term ceiling is high if Nimi Coding standardizes the authority protocol rather than attempting to absorb every domain language. A model-native ecosystem could train AI systems to discover before guessing, resolve exact IDs, distinguish authored facts from inference, honor
|
|
224
|
+
The long-term ceiling is high if Nimi Coding standardizes the authority protocol rather than attempting to absorb every domain language. A model-native ecosystem could train AI systems to discover before guessing, resolve exact IDs, distinguish authored facts from inference, honor refusal and scoped status, and request bounded analysis after edits. Deterministic runtime products must remain the oracle; model familiarity must never replace admission or the project's real tests and gates.
|
|
212
225
|
|
|
213
226
|
## Safety and truth boundaries
|
|
214
227
|
|
|
215
228
|
- Only `*.authority.yaml` and `*.authority.md` under `.nimi/spec/**` are canonical product authority.
|
|
216
229
|
- IDs, relations, owners, and scopes are declared facts. Nimi Coding does not infer relations or organizational truth from prose.
|
|
217
230
|
- `discover` is deterministic lexical candidate retrieval, not semantic search, selection, context assembly, or absence proof.
|
|
231
|
+
- `change-candidates` returns the complete union only for explicitly requested deterministic channels. It does not rank, infer conflict, choose retirement, or prove absence outside those channels.
|
|
218
232
|
- `context` is a complete bounded outgoing interpretation closure, not complete task context.
|
|
219
233
|
- `audit` evaluates explicitly bound deterministic governance checks; it does not prove that all business rules are non-contradictory.
|
|
220
|
-
- `impact`
|
|
221
|
-
- `review` audits the captured current snapshot and does not attribute a current finding to the change
|
|
234
|
+
- `impact` reports declared relation impact and host-owned consumer/test follow-up targets. It accepts no disposition or completion state.
|
|
235
|
+
- `review` audits the captured current snapshot and reports `businessSemanticStatus` and `implementationConformanceStatus` as `not_evaluated`; it does not attribute a current finding to the change.
|
|
222
236
|
- Snapshot no-follow hardening is platform-dependent. On `win32`, Node.js does not expose `O_NOFOLLOW`/`O_DIRECTORY`, so snapshot capture uses surrounding `lstat`/`realpath` validation without descriptor-level no-follow guarantees.
|
|
223
|
-
- `evidence` currently proves only declared package-script target reachability. It executes no command or test; every completed evidence product reports `conformanceStatus: not_evaluated`, while refused input returns no evidence product.
|
|
224
237
|
- Raw AuthorityIR, SourceMap internals, and compiler implementation are package-private. There is currently no public JavaScript API (`exports` is empty).
|
|
225
|
-
- `.nimi/local/**` is derived or local
|
|
238
|
+
- `.nimi/local/**` is derived or local output, never product authority.
|
|
226
239
|
|
|
227
240
|
## Future roadmap
|
|
228
241
|
|
|
@@ -231,9 +244,9 @@ The roadmap is paused at the current validated baseline. The entries below are c
|
|
|
231
244
|
| Candidate lane | Intended product | Entry condition |
|
|
232
245
|
| --- | --- | --- |
|
|
233
246
|
| Stateless AI tool adapter | Typed tools over current bounded JSON products, potentially via MCP or an extension API | A real host integration demonstrates that direct CLI invocation is insufficient |
|
|
234
|
-
|
|
|
247
|
+
| Read-only unit/code locator | Exact project-declared unit → declaration/test/gate bindings and reverse lookup | A real implementation-alignment journey demonstrates stable explicit bindings; no execution or conformance status is added |
|
|
235
248
|
| D2 IDE/LSP | Live diagnostics, exact-ID navigation/completion, full-snapshot unsaved-buffer overlays | A sustained editor journey justifies a separate delivery unit |
|
|
236
|
-
| D3 local Studio | Read-only unit/graph/diff/impact/audit
|
|
249
|
+
| D3 local Studio | Read-only unit/graph/diff/impact/audit exploration | Several real review/exploration journeys are validated first |
|
|
237
250
|
| D4 external semantic candidates | Model/embedding/reranking candidates with provenance and abstention | Lexical/graph shortcomings are measured on an owner-approved task corpus |
|
|
238
251
|
| E1 multi-repository Atlas | Visibility-filtered composition of canonical repository snapshots | Ecosystem repositories, identity, visibility, ownership, and workspace membership are explicit |
|
|
239
252
|
|
|
@@ -253,9 +266,8 @@ The current public integration surface is the CLI. All budgets are explicit posi
|
|
|
253
266
|
| Author and admit | `authority fmt`, `authority check`, `authority compile` |
|
|
254
267
|
| Find and read | `authority discover`, `authority query`, `authority context` |
|
|
255
268
|
| Navigate | `authority refs`, `authority path`, `authority subgraph` |
|
|
256
|
-
| Analyze and review | `authority audit`, `authority diff`, `authority impact`, `authority review` |
|
|
269
|
+
| Analyze and review | `authority audit`, `authority diff`, `authority change-candidates`, `authority impact`, `authority review` |
|
|
257
270
|
| Validate lexical anchors | `authority anchors` |
|
|
258
|
-
| Connect bounded evidence | `authority evidence` |
|
|
259
271
|
| Project lifecycle | `start`, `sync`, `doctor`, `clear` |
|
|
260
272
|
| Optional L3 repository governance | `validate-ai-governance` |
|
|
261
273
|
|
|
@@ -263,8 +275,8 @@ The current public integration surface is the CLI. All budgets are explicit posi
|
|
|
263
275
|
<summary>Complete authority command syntax</summary>
|
|
264
276
|
|
|
265
277
|
```text
|
|
266
|
-
nimicoding authority fmt <file> [--check] [--
|
|
267
|
-
nimicoding authority check <path> [--scope-bindings <file>] [--
|
|
278
|
+
nimicoding authority fmt <file> [--check] [--json]
|
|
279
|
+
nimicoding authority check <path> [--scope-bindings <file>] [--json]
|
|
268
280
|
nimicoding authority compile <path> [--json]
|
|
269
281
|
nimicoding authority anchors <repository-path> --spec <corpus-path> [--scope-bindings <file>] [--embedded-paths] --max-units <n> --max-anchors <n> --max-bytes <n> [--json]
|
|
270
282
|
nimicoding authority consumers <repository-path> --spec <corpus-path> [--external-root <scheme>=<path>]... --max-files <n> --max-refs <n> --max-bytes <n> [--json]
|
|
@@ -278,9 +290,9 @@ nimicoding authority path <path> <from-id> <to-id> --traversal <directed|inciden
|
|
|
278
290
|
nimicoding authority subgraph <path> <id> --direction <incoming|outgoing|both> --relations <comma-separated-relation-types> --depth <n> --max-units <n> --max-edges <n> --max-bytes <n> [--json]
|
|
279
291
|
nimicoding authority audit <path> --bindings <file> --max-units <n> --max-edges <n> --max-bytes <n> [--json|--sarif]
|
|
280
292
|
nimicoding authority diff <before-path> <after-path> --max-bytes <n> [--json]
|
|
281
|
-
nimicoding authority
|
|
282
|
-
nimicoding authority
|
|
283
|
-
nimicoding authority
|
|
293
|
+
nimicoding authority change-candidates <before-path> <after-path> --channels <comma-separated-closed-set> --max-candidates <n> --max-reasons <n> --max-bytes <n> [--json]
|
|
294
|
+
nimicoding authority impact <before-path> <after-path> --max-bytes <n> [--json]
|
|
295
|
+
nimicoding authority review <repository-path> --base <git-ref> --bindings <file> --max-units <n> --max-edges <n> --max-bytes <n> [--json]
|
|
284
296
|
```
|
|
285
297
|
|
|
286
298
|
</details>
|
package/README.zh-CN.md
CHANGED
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
**面向 AI Coding 系统和第三方扩展的确定性 authority 控制层。**
|
|
6
6
|
|
|
7
|
-
Nimi Coding 将项目自行拥有的规范性规则转化为稳定身份、精确源码位置、显式关系和有界、fail-closed 的机器产品。AI host、agent framework、CI、编辑器工具和第三方扩展可以据此发现 authority
|
|
7
|
+
Nimi Coding 将项目自行拥有的规范性规则转化为稳定身份、精确源码位置、显式关系和有界、fail-closed 的机器产品。AI host、agent framework、CI、编辑器工具和第三方扩展可以据此发现 authority、导航关系并审查精确变更,而不把模型推断当作 repository truth。
|
|
8
8
|
|
|
9
9
|
大多数最终用户不需要直接调用 `nimicoding`。当前主要 integration surface 是已文档化的 CLI 及其 purpose-specific JSON 产品。Nimi Coding 不是 AI agent、planner、代码生成器、审批 workflow 或万能规范语言。
|
|
10
10
|
|
|
11
11
|
## 为什么需要 Nimi Coding
|
|
12
12
|
|
|
13
|
-
AI
|
|
13
|
+
AI 模型擅长生成代码,却不总能可靠判断:哪份文档真正权威、搜索结果是否完整、规则移动文件后是否还是同一规则、一次修改影响哪些显式关系,以及某个确定性检查究竟评价了什么。
|
|
14
14
|
|
|
15
15
|
Nimi Coding 把这些问题变成显式产品语义:
|
|
16
16
|
|
|
@@ -19,11 +19,12 @@ Nimi Coding 把这些问题变成显式产品语义:
|
|
|
19
19
|
| 多份文档看起来都像 authority | 一个封闭的 canonical authority 边界 |
|
|
20
20
|
| 路径和 heading 发生变化 | 与文件和顺序无关的稳定 logical unit ID |
|
|
21
21
|
| 搜索产生噪声或被截断的上下文 | 有界 discovery、exact query、declared context 和 graph 产品 |
|
|
22
|
+
| Semantic hard cut 在 declared relations 之外留下 unchanged survivors | 基于 caller-selected exact owner/scope/term/relation/Definition channels 的 change-derived recall |
|
|
22
23
|
| 模型无法精确引用规则来源 | 字段级和关系级的 portable SourceMap location |
|
|
23
24
|
| 文本 diff 掩盖真实语义变化 | Stable-ID semantic diff 和 declared impact obligations |
|
|
24
|
-
| “没有结果”被展示为“clean” | 显式 budget、
|
|
25
|
+
| “没有结果”被展示为“clean” | 显式 budget、窄作用域 status、refusal 和 failure 语义 |
|
|
25
26
|
| Git review 可能混入移动中的输入 | Immutable base OID 加完整 worktree race revalidation |
|
|
26
|
-
|
|
|
27
|
+
| 结构检查被扩大解释为产品 conformance | Business semantics 与 implementation conformance 固定显式为 `not_evaluated` |
|
|
27
28
|
|
|
28
29
|
## 产品模型
|
|
29
30
|
|
|
@@ -38,7 +39,7 @@ Authority Foundation
|
|
|
38
39
|
▼
|
|
39
40
|
Spec Intelligence Plane
|
|
40
41
|
discover · query · context · refs/path/subgraph
|
|
41
|
-
diff · impact · audit · review
|
|
42
|
+
diff · change-candidates · impact · audit · review
|
|
42
43
|
│
|
|
43
44
|
▼
|
|
44
45
|
Purpose-specific JSON / human output / SARIF(仅 audit)
|
|
@@ -51,17 +52,16 @@ AI host · 第三方扩展 · CI · future editor/UI surfaces
|
|
|
51
52
|
|
|
52
53
|
## 当前已经可用的能力
|
|
53
54
|
|
|
54
|
-
| 层 | 当前能力 |
|
|
55
|
+
| 层 | 当前能力 | 事实边界 |
|
|
55
56
|
| --- | --- | --- |
|
|
56
57
|
| Authority Foundation | Canonical YAML/Markdown、formatter、完整 root check、private deterministic compiler 和 SourceMap | 未知或 unsupported canonical input 会被拒绝,不会被忽略 |
|
|
57
58
|
| Discovery 和 exact read | Exact kind/owner/scope/lifecycle filters、normalized lexical snippets、可选 direct relation preview、exact query、bounded declared context | 不提供 semantic search、自动 authority selection 或 absence proof |
|
|
58
59
|
| Graph navigation | `applies_to`/`supersedes` 上的 incoming/outgoing refs、deterministic path 和 bounded subgraph | 只使用 authored relations,不生成 inferred semantic graph |
|
|
59
|
-
| Change intelligence | Stable-ID semantic diff 和 relation-derived impact obligations |
|
|
60
|
-
| Deterministic audit | Project-owned verifier bindings
|
|
61
|
-
| Git-aware review | Immutable base commit 加 exact、race-checked current worktree snapshot,并复用 compile/diff/impact/audit |
|
|
62
|
-
| Authority-to-code evidence | Exact authority/scope 到 declared package-script command/test target reachability | 只是静态窄 slice;不执行 command/test,completed evidence 的 conformance 保持 `not_evaluated` |
|
|
60
|
+
| Change intelligence | Stable-ID semantic diff、change-derived active-survivor recall 和 relation-derived impact obligations | Candidate completeness 只覆盖显式 channels;impact 不接受 disposition 或 completion state |
|
|
61
|
+
| Deterministic audit | Project-owned graph verifier 与 exact lexical invariant bindings,输出 JSON 和 SARIF 2.1.0 | 只做大小写敏感的 exact token/phrase 检查;不做 synonym、embedding 或自然语言矛盾推断 |
|
|
62
|
+
| Git-aware review | Immutable base commit 加 exact、race-checked current worktree snapshot,并复用 compile/diff/impact/audit | 只读;business semantics 与 implementation conformance 固定为 `not_evaluated` |
|
|
63
63
|
|
|
64
|
-
当前 Nimi-realm 验证 corpus 包含
|
|
64
|
+
当前 Nimi-realm 验证 corpus 包含 33 个 canonical containers、2,212 个 authority units 和 2,159 条 authored relations。这些数字证明了真实大型 corpus replay,不是 package 上限,也不代表 grammar 已覆盖所有领域。
|
|
65
65
|
|
|
66
66
|
## 五分钟接入
|
|
67
67
|
|
|
@@ -97,7 +97,7 @@ units:
|
|
|
97
97
|
target: definition.checkout-session
|
|
98
98
|
```
|
|
99
99
|
|
|
100
|
-
>
|
|
100
|
+
> `nimicoding.authority/v2` 是唯一 admitted source format。容器承载 `owner` 与单值 `scope`,unit 可以省略 `lifecycle` 与空 `relations`。旧 source format 在格式化、admission、compile 和 history-facing analysis 中一律 fail closed;恢复依据是 Git history,而不是 compatibility input。
|
|
101
101
|
|
|
102
102
|
格式化变更文件、admit 完整 root,并查询一个 exact unit:
|
|
103
103
|
|
|
@@ -132,7 +132,7 @@ pnpm exec nimicoding authority anchors . \
|
|
|
132
132
|
|
|
133
133
|
Canonical YAML 是封闭的 `format` 加非空 `units` container;Canonical Markdown 是严格的 single-unit profile。当前模型刻意保持紧凑:`Rule` 和 `Definition`、`active` 和 `removed`、`must` 和 `must_not`,以及 authored `applies_to` 和线性 `supersedes` 关系。
|
|
134
134
|
|
|
135
|
-
如果某个领域需要 grammar 尚不支持的 API、schema、enum、state machine、formula 或 catalog 成员级结构,应把精度保留在 canonical grammar 之外的专业 artifact
|
|
135
|
+
如果某个领域需要 grammar 尚不支持的 API、schema、enum、state machine、formula 或 catalog 成员级结构,应把精度保留在 canonical grammar 之外的专业 artifact 中;真实 integration 有需要时由项目自己的 adapter 显式连接。不要向 canonical authority 随意添加字段:unknown field 必须 fail closed,才能避免 consumer 静默忽略原本想表达的 authority。
|
|
136
136
|
|
|
137
137
|
## AI host 和第三方扩展的调用旅程
|
|
138
138
|
|
|
@@ -145,12 +145,11 @@ Canonical YAML 是封闭的 `format` 加非空 `units` container;Canonical Mar
|
|
|
145
145
|
→ fmt 变更 sources + check 完整 root
|
|
146
146
|
→ review immutable base 与 exact worktree
|
|
147
147
|
(semantic diff + declared impact + current audit)
|
|
148
|
-
→ 如果已配置,再独立检查 current-worktree evidence
|
|
149
148
|
```
|
|
150
149
|
|
|
151
150
|
Host 负责 authority selection、planning、editing、retry、remediation、review state 和 completion。Nimi Coding 负责 request validation、deterministic computation、explicit budgets、exact locations 和诚实的结果边界。
|
|
152
151
|
|
|
153
|
-
Machine integration 应使用 argument array 调用 CLI,并同时消费 exit status 和 JSON envelope
|
|
152
|
+
Machine integration 应使用 argument array 调用 CLI,并同时消费 exit status 和 JSON envelope。必须读取各产品窄作用域的 operation、analysis 与 blocking status,不能从空 candidate/finding array 推断业务或实现 conformance。Invalid usage/internal failure 与 completed 但 blocked 的产品具有不同的 command-specific exit。
|
|
154
153
|
|
|
155
154
|
在已经配置好的 Git 项目中,可以使用 Git-aware exact review 获得一份组合后的 authority change product:
|
|
156
155
|
|
|
@@ -158,16 +157,30 @@ Machine integration 应使用 argument array 调用 CLI,并同时消费 exit s
|
|
|
158
157
|
pnpm exec nimicoding authority review . \
|
|
159
158
|
--base origin/main \
|
|
160
159
|
--bindings .nimi/config/authority-verifiers.yaml \
|
|
161
|
-
--dispositions .nimi/local/authority-impact-dispositions.yaml \
|
|
162
160
|
--max-units 1024 \
|
|
163
161
|
--max-edges 4096 \
|
|
164
162
|
--max-bytes 2097152 \
|
|
165
163
|
--json
|
|
166
164
|
```
|
|
167
165
|
|
|
168
|
-
这个例子假设 repository 已经拥有合法 verifier bindings
|
|
166
|
+
这个例子假设 repository 已经拥有合法 verifier bindings,并且 `origin/main` 能解析到包含 `.nimi/spec` 的 commit。`start` 刻意不会创建这些项目语义或 governance files。
|
|
169
167
|
|
|
170
|
-
Base ref 在开始时只解析一次并固定为 full commit OID。Base `.nimi/spec` tree 从 Git objects 读取;完整 current `.nimi/spec` filesystem tree 包含 tracked unchanged files、edits、deletions、untracked files 和 unsupported entries。Capture race、missing object、invalid corpus、malformed binding
|
|
168
|
+
Base ref 在开始时只解析一次并固定为 full commit OID。Base `.nimi/spec` tree 从 Git objects 读取;完整 current `.nimi/spec` filesystem tree 包含 tracked unchanged files、edits、deletions、untracked files 和 unsupported entries。Capture race、missing object、invalid corpus、malformed binding 或 budget 不足都会拒绝结果,而不是发布混合分析。该命令不会 checkout、stash、reset、stage、commit,也不管理 PR。
|
|
169
|
+
|
|
170
|
+
Redesign 或 rename 可能在 declared graph 之外留下 unchanged active survivors 时,应对显式 channel set 执行 change-derived recall:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
pnpm exec nimicoding authority change-candidates path/to/before-spec .nimi/spec \
|
|
174
|
+
--channels direct_relation,definition_identity,definition_title \
|
|
175
|
+
--max-candidates 2048 \
|
|
176
|
+
--max-reasons 20000 \
|
|
177
|
+
--max-bytes 33554432 \
|
|
178
|
+
--json
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
结果包含每个被召回的 active non-root unit、原始 normative fields、modality,以及 side-qualified exact reasons。`complete: true` 只表示 caller-requested channels 的完整 union 和全部 reasons,不表示 semantic relevance、conflict、retirement、authority validity 或 implementation conformance。Host 明确需要更宽召回时可选择 owner、scope 和 changed-term channels。Source-container proximity 不进入产品:regrouping 是 non-semantic change,而完整 annotation 会形成 roots 与 candidates 的笛卡尔积。
|
|
182
|
+
|
|
183
|
+
Diff、review 与 change-derived recall 复用 per-invocation immutable compiler snapshots,并构建 transient `byId`、owner、scope、container、incoming 和 outgoing indexes。所有数据都不持久化:SQLite、cache invalidation、incremental compilation、embedding 和 cleanup state 继续在产品边界之外,直到真实 workload 与 profiling 证明其必要性。
|
|
171
184
|
|
|
172
185
|
## 多维比较:旧 Nimi、当前 Nimi Coding 与成熟普通 spec
|
|
173
186
|
|
|
@@ -176,7 +189,7 @@ Base ref 在开始时只解析一次并固定为 full commit OID。Base `.nimi/s
|
|
|
176
189
|
| 维度 | 重构前 Nimi spec 系统 | 当前 Nimi Coding | 成熟普通 spec 组合 |
|
|
177
190
|
| --- | --- | --- | --- |
|
|
178
191
|
| Authority 边界 | Human contracts、tables、generated views、maps 和 profile rules 依赖 precedence 约定 | 一个封闭 canonical authority root | 多个专业 source of truth,通常没有跨格式统一边界 |
|
|
179
|
-
| Reference corpus 形态 | 144 个混合文件:101 Markdown、43 YAML,其中包括 33 generated views 和 42 tables |
|
|
192
|
+
| Reference corpus 形态 | 144 个混合文件:101 Markdown、43 YAML,其中包括 33 generated views 和 42 tables | 33 canonical containers 编译为 2,212 个稳定 units | 由项目决定,通常高度异构 |
|
|
180
193
|
| 身份 | Contract ID、`R-*` anchor、路径和 table row 没有统一覆盖所有对象 | 每个 unit 一个 stable ID,不依赖文件、顺序、移动或 regroup | 部分格式内部很强,跨格式不统一 |
|
|
181
194
|
| 领域内部精度 | 部分 tables 能直接建模 entity、required field、API operation、Prisma/OpenAPI/service locator | 很多 enum/schema/state/catalog 细节仍是 Definition 内的原子 prose | OpenAPI、Schema、Protobuf 和专业 DSL 在各自领域最强 |
|
|
182
195
|
| 人类 rationale | Rich contracts 和 generated guides | 刻意紧凑;长篇理由应放在 canonical authority 之外 | ADR 和 design docs 最强 |
|
|
@@ -188,10 +201,10 @@ Base ref 在开始时只解析一次并固定为 full commit OID。Base `.nimi/s
|
|
|
188
201
|
| Relationship graph | Links、maps、custom fields 和 Atlas-like projections 共同表达 | 一个 authored、有界的 `applies_to`/`supersedes` graph | `$ref`、links、imports 和 conventions 仍按格式分散 |
|
|
189
202
|
| 冲突发现 | Custom checks 能发现项目特定 drift | 结构冲突可确定发现;prose 矛盾仍需 AI/人判断 | 格式内可很强,跨格式冲突仍困难 |
|
|
190
203
|
| Semantic change | File diff 和 generated drift 占主导 | Stable-ID semantic diff;rename/regroup/format-only 可为 semantic zero | Prose 多为 line diff;专业格式可能有优秀 domain diff |
|
|
191
|
-
| Impact 与 audit | Project scripts、maps 和团队知识共同决定 | Declared relation impact 加
|
|
204
|
+
| Impact 与 audit | Project scripts、maps 和团队知识共同决定 | Declared relation impact 加 configured graph 与 exact lexical findings | Build graph、CODEOWNERS、linters 和 tests 很强但分散 |
|
|
192
205
|
| Git review | 没有统一 exact authority snapshot product | Immutable-base、race-checked worktree review | 通常是 Git diff 加多个独立 format-specific checks |
|
|
193
|
-
| Spec-to-code | Direct paths 很细,但可能 stale |
|
|
194
|
-
| Executable conformance | 部分 custom scripts 验证具体项目事实 |
|
|
206
|
+
| Spec-to-code | Direct paths 很细,但可能 stale | Authority core 当前不建模这一关系 | Codegen、type checking 和 contract tests 可能明显更强 |
|
|
207
|
+
| Executable conformance | 部分 custom scripts 验证具体项目事实 | Review 显式固定为 `not_evaluated` | 高质量 tests 和 executable contracts 最强 |
|
|
195
208
|
| 生态 | 高度 project-specific | 有稳定 CLI/JSON products,但还没有 public JS SDK 或模型/tool 标准 | OpenAPI/Schema/test 生态与第三方互操作最成熟 |
|
|
196
209
|
| Authoring 成本 | 多种表示和 generators 成本高 | 必须维护 ID、owner、scope、lifecycle 和 relation | 探索期最低;corpus 扩大后治理成本上升 |
|
|
197
210
|
| 最佳适用场景 | 项目专用的一体化 spec 系统 | 与大型、主要由 AI 消费的专业 spec estate 并行工作的稳定 normative authority control | 探索期和专业 API/data/behavior contracts |
|
|
@@ -208,21 +221,21 @@ Base ref 在开始时只解析一次并固定为 full commit OID。Base `.nimi/s
|
|
|
208
221
|
2. **已经改善但仍不完整:** 为人/AI conflict review 定位和追踪 exact inputs、task-context assembly、owner/scope accountability 和 spec-to-code traceability;矛盾判定本身不是 deterministic product。
|
|
209
222
|
3. **刻意没有解决:** 通用业务语义完备性、自动 authority selection、可执行 code conformance、模型推理和 AI workflow orchestration。
|
|
210
223
|
|
|
211
|
-
如果 Nimi Coding 标准化的是 authority protocol,而不是试图吞并所有领域语言,它的长期上限很高。Model-native 生态可以训练 AI:先 discover 再猜测、解析 exact ID、区分 authored fact 与 inference、尊重
|
|
224
|
+
如果 Nimi Coding 标准化的是 authority protocol,而不是试图吞并所有领域语言,它的长期上限很高。Model-native 生态可以训练 AI:先 discover 再猜测、解析 exact ID、区分 authored fact 与 inference、尊重 refusal 与窄作用域 status,并在编辑后主动请求有界分析。但 deterministic runtime product 必须继续作为 oracle;模型熟悉 Nimi Coding 不能替代 admission 或项目真实的 tests 和 gates。
|
|
212
225
|
|
|
213
226
|
## 安全与 truth 边界
|
|
214
227
|
|
|
215
228
|
- 只有 `.nimi/spec/**` 下的 `*.authority.yaml` 和 `*.authority.md` 是 canonical product authority。
|
|
216
229
|
- ID、relation、owner 和 scope 都是 declared facts。Nimi Coding 不从 prose 推断关系或现实组织责任。
|
|
217
230
|
- `discover` 是 deterministic lexical candidate retrieval,不是 semantic search、selection、context assembly 或 absence proof。
|
|
231
|
+
- `change-candidates` 只对显式请求的 deterministic channels 返回完整 union;它不 ranking、不推断 conflict、不选择 retirement,也不证明这些 channels 之外不存在候选。
|
|
218
232
|
- `context` 是 complete bounded outgoing interpretation closure,不是 complete task context。
|
|
219
233
|
- `audit` 执行显式绑定的 deterministic governance check,不证明全部业务规则不存在矛盾。
|
|
220
|
-
- `impact`
|
|
221
|
-
- `review` 评价 captured current snapshot
|
|
234
|
+
- `impact` 报告 declared relation impact 和 host-owned consumer/test follow-up targets;它不接受 disposition 或 completion state。
|
|
235
|
+
- `review` 评价 captured current snapshot,并把 `businessSemanticStatus` 与 `implementationConformanceStatus` 固定报告为 `not_evaluated`;它不把 current finding 归因为本次 change。
|
|
222
236
|
- Snapshot no-follow 加固受平台能力限制。在 `win32` 上,Node.js 不提供 `O_NOFOLLOW`/`O_DIRECTORY`,因此 snapshot capture 仅使用外围 `lstat`/`realpath` 校验,不具备 descriptor-level no-follow 保证。
|
|
223
|
-
- `evidence` 当前只证明 declared package-script target reachability。它不执行 command/test;每个 completed evidence product 都报告 `conformanceStatus: not_evaluated`,refused input 则不返回 evidence product。
|
|
224
237
|
- Raw AuthorityIR、SourceMap internals 和 compiler implementation 都是 package-private。当前没有 public JavaScript API(`exports` 为空)。
|
|
225
|
-
- `.nimi/local/**` 是 derived/local
|
|
238
|
+
- `.nimi/local/**` 是 derived/local output,永远不是 product authority。
|
|
226
239
|
|
|
227
240
|
## Future roadmap
|
|
228
241
|
|
|
@@ -231,9 +244,9 @@ Roadmap 当前暂停在已经验证的 baseline。以下是 future candidate lan
|
|
|
231
244
|
| Candidate lane | 目标产品 | Entry condition |
|
|
232
245
|
| --- | --- | --- |
|
|
233
246
|
| Stateless AI tool adapter | 在现有 bounded JSON products 上提供 typed tools,可采用 MCP 或 extension API | 真实 host integration 证明直接调用 CLI 不足 |
|
|
234
|
-
|
|
|
247
|
+
| Read-only unit/code locator | 精确的 project-declared unit → declaration/test/gate binding 和反向查询 | 真实 implementation-alignment journey 证明 binding 稳定;不加入执行或 conformance status |
|
|
235
248
|
| D2 IDE/LSP | Live diagnostics、exact-ID navigation/completion、full-snapshot unsaved-buffer overlay | 持续 editor journey 足以支持独立 delivery unit |
|
|
236
|
-
| D3 local Studio | Read-only unit/graph/diff/impact/audit
|
|
249
|
+
| D3 local Studio | Read-only unit/graph/diff/impact/audit exploration | 先验证多个真实 review/exploration journeys |
|
|
237
250
|
| D4 external semantic candidates | 带 provenance 和 abstention 的 model/embedding/reranking candidates | 在 owner-approved task corpus 上量化 lexical/graph 不足 |
|
|
238
251
|
| E1 multi-repository Atlas | Visibility-filtered canonical repository snapshot composition | Ecosystem repositories、identity、visibility、ownership 和 workspace membership 都已明确 |
|
|
239
252
|
|
|
@@ -253,9 +266,8 @@ Roadmap 当前暂停在已经验证的 baseline。以下是 future candidate lan
|
|
|
253
266
|
| Author 和 admit | `authority fmt`、`authority check`、`authority compile` |
|
|
254
267
|
| Find 和 read | `authority discover`、`authority query`、`authority context` |
|
|
255
268
|
| Navigate | `authority refs`、`authority path`、`authority subgraph` |
|
|
256
|
-
| Analyze 和 review | `authority audit`、`authority diff`、`authority impact`、`authority review` |
|
|
269
|
+
| Analyze 和 review | `authority audit`、`authority diff`、`authority change-candidates`、`authority impact`、`authority review` |
|
|
257
270
|
| 校验词法 anchors | `authority anchors` |
|
|
258
|
-
| 连接 bounded evidence | `authority evidence` |
|
|
259
271
|
| Project lifecycle | `start`、`sync`、`doctor`、`clear` |
|
|
260
272
|
| 可选 L3 repository governance | `validate-ai-governance` |
|
|
261
273
|
|
|
@@ -263,8 +275,8 @@ Roadmap 当前暂停在已经验证的 baseline。以下是 future candidate lan
|
|
|
263
275
|
<summary>完整 authority command syntax</summary>
|
|
264
276
|
|
|
265
277
|
```text
|
|
266
|
-
nimicoding authority fmt <file> [--check] [--
|
|
267
|
-
nimicoding authority check <path> [--scope-bindings <file>] [--
|
|
278
|
+
nimicoding authority fmt <file> [--check] [--json]
|
|
279
|
+
nimicoding authority check <path> [--scope-bindings <file>] [--json]
|
|
268
280
|
nimicoding authority compile <path> [--json]
|
|
269
281
|
nimicoding authority anchors <repository-path> --spec <corpus-path> [--scope-bindings <file>] [--embedded-paths] --max-units <n> --max-anchors <n> --max-bytes <n> [--json]
|
|
270
282
|
nimicoding authority consumers <repository-path> --spec <corpus-path> [--external-root <scheme>=<path>]... --max-files <n> --max-refs <n> --max-bytes <n> [--json]
|
|
@@ -278,9 +290,9 @@ nimicoding authority path <path> <from-id> <to-id> --traversal <directed|inciden
|
|
|
278
290
|
nimicoding authority subgraph <path> <id> --direction <incoming|outgoing|both> --relations <comma-separated-relation-types> --depth <n> --max-units <n> --max-edges <n> --max-bytes <n> [--json]
|
|
279
291
|
nimicoding authority audit <path> --bindings <file> --max-units <n> --max-edges <n> --max-bytes <n> [--json|--sarif]
|
|
280
292
|
nimicoding authority diff <before-path> <after-path> --max-bytes <n> [--json]
|
|
281
|
-
nimicoding authority
|
|
282
|
-
nimicoding authority
|
|
283
|
-
nimicoding authority
|
|
293
|
+
nimicoding authority change-candidates <before-path> <after-path> --channels <comma-separated-closed-set> --max-candidates <n> --max-reasons <n> --max-bytes <n> [--json]
|
|
294
|
+
nimicoding authority impact <before-path> <after-path> --max-bytes <n> [--json]
|
|
295
|
+
nimicoding authority review <repository-path> --base <git-ref> --bindings <file> --max-units <n> --max-edges <n> --max-bytes <n> [--json]
|
|
284
296
|
```
|
|
285
297
|
|
|
286
298
|
</details>
|